2010-02-12 4 views
1

Si je veux passer une structure définie dans windows.h à l'une des méthodes d'une interface donnée, comment puis-je faire cela dans un IDL?comment passer une structure de fenêtres à une méthode définie dans une interface d'un fichier IDL?

Supposons que la structure soit SECURITY_DESCRIPTOR qui est déclaré dans Winnt.h; comprennent Windows.h et mon interface être

Interface mannequin { [helpstring ("méthode ManageSecurity")] HRESULT ManageSecurity ([en] SECURITY_DESCRIPTOR secDesc); }

Merci à l'avance.

Répondre

1

J'ai arraché les éléments suivants d'un de nos fichiers IDL, il vous suffit de faire le même genre de chose.

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; 

Vous devrez simplement redéfinir les structures dont vous avez besoin de la même manière.

Questions connexes