如何将Windows结构传递给IDL文件接口中定义的方法?

时间:2010-02-12 09:25:11

标签: idl

如果我想将windows.h中定义的结构传递给给定接口的方法之一,那么我该如何在IDL中执行此操作?

假设结构是在Winnt.h中声明的SECURITY_DESCRIPTOR;包括Windows.h 我的界面是

接口虚拟 { [helpstring(“方法ManageSecurity”)] HRESULT ManageSecurity([in] SECURITY_DESCRIPTOR secDesc); }

先谢谢。

1 个答案:

答案 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;

你必须以同样的方式重新定义自己需要的结构。