如果我想将windows.h中定义的结构传递给给定接口的方法之一,那么我该如何在IDL中执行此操作?
假设结构是在Winnt.h中声明的SECURITY_DESCRIPTOR;包括Windows.h 我的界面是
接口虚拟 { [helpstring(“方法ManageSecurity”)] HRESULT ManageSecurity([in] SECURITY_DESCRIPTOR secDesc); }
先谢谢。
答案 0 :(得分:1)
我从我们的一个IDL文件中删除了以下内容,您只需要做同样的事情。
typedef [helpstring ("64 bit large integer")] struct {
long dwLowDateTime;
long dwHighDateTime;
} FILETIME;
typedef [helpstring("WIN32_FIND_DATA structure")] struct {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwReserved0;
DWORD dwReserved1;
unsigned char cFileName[_MAX_PATH];
unsigned char cAlternateFileName[ 14 ];
} WIN32_FIND_DATA;
你必须以同样的方式重新定义自己需要的结构。