我正在使用 Win32::API 调用在接受 C++ 结构指针的 DLL 中导出的任意函数。
struct PluginInfo {
int nStructSize;
int nType;
int nVersion;
int nIDCode;
char szName[ 64 ];
char szVendor[ 64 ];
int nCertificate;
int nMinAmiVersion;
};
因为我们需要使用“pack”函数来构造结构并且需要传递一个参数
my $name = " " x 64;
my $vendor = " " x 64;
my $pluginInfo = pack('IIIIC64C64II',0,0,0,0,$name,$vendor,0,0);
它没有正确构建结构。
似乎应用于 C 的长度参数会吞噬那些许多参数。
有人可以建议从 Perl 和 passon 到 dll 调用中构建这种结构的最佳方法。
在此先感谢
Naga Kiran