Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 #ifndef _INC_ADHOC
      7 #define _INC_ADHOC
      8 
      9 #if (_WIN32_WINNT >= 0x0600)
     10 
     11 typedef enum tagDOT11_ADHOC_AUTH_ALGORITHM {
     12   DOT11_ADHOC_AUTH_ALGO_INVALID      = -1,
     13   DOT11_ADHOC_AUTH_ALGO_80211_OPEN   = 1,
     14   DOT11_ADHOC_AUTH_ALGO_RSNA_PSK     = 7
     15 } DOT11_ADHOC_AUTH_ALGORITHM;
     16 
     17 typedef enum tagDOT11_ADHOC_CIPHER_ALGORITHM {
     18   DOT11_ADHOC_CIPHER_ALGO_INVALID   = -1,
     19   DOT11_ADHOC_CIPHER_ALGO_NONE      = 0x00,
     20   DOT11_ADHOC_CIPHER_ALGO_CCMP      = 0x04,
     21   DOT11_ADHOC_CIPHER_ALGO_WEP       = 0x101
     22 } DOT11_ADHOC_CIPHER_ALGORITHM;
     23 
     24 typedef enum tagDOT11_ADHOC_CONNECT_FAIL_REASON {
     25   DOT11_ADHOC_CONNECT_FAIL_DOMAIN_MISMATCH       = 0,
     26   DOT11_ADHOC_CONNECT_FAIL_PASSPHRASE_MISMATCH   = 1,
     27   DOT11_ADHOC_CONNECT_FAIL_OTHER                 = 2
     28 } DOT11_ADHOC_CONNECT_FAIL_REASON;
     29 
     30 typedef enum tagDOT11_ADHOC_NETWORK_CONNECTION_STATUS {
     31   DOT11_ADHOC_NETWORK_CONNECTION_STATUS_INVALID        = 0,
     32   DOT11_ADHOC_NETWORK_CONNECTION_STATUS_DISCONNECTED   = 11,
     33   DOT11_ADHOC_NETWORK_CONNECTION_STATUS_CONNECTING     = 12,
     34   DOT11_ADHOC_NETWORK_CONNECTION_STATUS_CONNECTED      = 13,
     35   DOT11_ADHOC_NETWORK_CONNECTION_STATUS_FORMED         = 14
     36 } DOT11_ADHOC_NETWORK_CONNECTION_STATUS;
     37 
     38 typedef struct IDot11AdHocInterfaceNotificationSink IDot11AdHocInterfaceNotificationSink;
     39 typedef struct IDot11AdHocInterface IDot11AdHocInterface;
     40 typedef struct IDot11AdHocManager IDot11AdHocManager;
     41 typedef struct IDot11AdHocManagerNotificationSink IDot11AdHocManagerNotificationSink;
     42 typedef struct IDot11AdHocNetwork IDot11AdHocNetwork;
     43 typedef struct IEnumDot11AdHocSecuritySettings IEnumDot11AdHocSecuritySettings;
     44 typedef struct IEnumDot11AdHocNetworks IEnumDot11AdHocNetworks;
     45 typedef struct IDot11AdHocSecuritySettings IDot11AdHocSecuritySettings;
     46 typedef struct IEnumDot11AdHocNetworks IEnumDot11AdHocNetworks;
     47 typedef struct IEnumDot11AdHocInterfaces IEnumDot11AdHocInterfaces;
     48 
     49 #undef  INTERFACE
     50 #define INTERFACE IDot11AdHocInterfaceNotificationSink
     51 DECLARE_INTERFACE_(IDot11AdHocInterfaceNotificationSink,IUnknown)
     52 {
     53     BEGIN_INTERFACE
     54 
     55     /* IUnknown methods */
     56     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
     57     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
     58     STDMETHOD_(ULONG, Release)(THIS) PURE;
     59 
     60     /* IDot11AdHocInterfaceNotificationSink methods */
     61     STDMETHOD_(HRESULT,OnConnectionStatusChange)(THIS_ DOT11_ADHOC_NETWORK_CONNECTION_STATUS eStatus) PURE;
     62 
     63     END_INTERFACE
     64 };
     65 #ifdef COBJMACROS
     66 #define IDot11AdHocInterfaceNotificationSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
     67 #define IDot11AdHocInterfaceNotificationSink_AddRef(This) (This)->lpVtbl->AddRef(This)
     68 #define IDot11AdHocInterfaceNotificationSink_Release(This) (This)->lpVtbl->Release(This)
     69 #define IDot11AdHocInterfaceNotificationSink_OnConnectionStatusChange(This,eStatus) (This)->lpVtbl->OnConnectionStatusChange(This,eStatus)
     70 #endif /*COBJMACROS*/
     71 
     72 #undef  INTERFACE
     73 #define INTERFACE IDot11AdHocInterface
     74 #ifdef __GNUC__
     75 #warning COM interfaces layout in this header has not been verified.
     76 #warning COM interfaces with incorrect layout may not work at all.
     77 __MINGW_BROKEN_INTERFACE(INTERFACE)
     78 #endif
     79 DECLARE_INTERFACE_(IDot11AdHocInterface,IUnknown)
     80 {
     81     BEGIN_INTERFACE
     82 
     83     /* IUnknown methods */
     84     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
     85     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
     86     STDMETHOD_(ULONG, Release)(THIS) PURE;
     87 
     88     /* IDot11AdHocInterface methods */
     89     STDMETHOD_(HRESULT,GetDeviceSignature)(THIS_ GUID *pSignature) PURE;
     90     STDMETHOD_(HRESULT,GetFriendlyName)(THIS_ LPWSTR *ppszName) PURE;
     91     STDMETHOD_(HRESULT,IsDot11d)(THIS_ BOOLEAN *pf11d) PURE;
     92     STDMETHOD_(HRESULT,IsAdHocCapable)(THIS_ BOOLEAN *pfAdHocCapable) PURE;
     93     STDMETHOD_(HRESULT,IsRadioOn)(THIS_ BOOLEAN *pfIsRadioOn) PURE;
     94     STDMETHOD_(HRESULT,GetActiveNetwork)(THIS_ IDot11AdHocNetwork **ppNetwork) PURE;
     95     STDMETHOD_(HRESULT,GetIEnumSecuritySettings)(THIS_ IEnumDot11AdHocSecuritySettings **ppEnum) PURE;
     96     STDMETHOD_(HRESULT,GetIEnumDot11AdHocNetworks)(THIS_ GUID *pFilterGuid,IEnumDot11AdHocNetworks **ppEnum) PURE;
     97     STDMETHOD_(HRESULT,GetStatus)(THIS_ DOT11_ADHOC_NETWORK_CONNECTION_STATUS *pState) PURE;
     98 
     99     END_INTERFACE
    100 };
    101 #ifdef COBJMACROS
    102 #define IDot11AdHocInterface_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    103 #define IDot11AdHocInterface_AddRef(This) (This)->lpVtbl->AddRef(This)
    104 #define IDot11AdHocInterface_Release(This) (This)->lpVtbl->Release(This)
    105 #define IDot11AdHocInterface_GetDeviceSignature(This,pSignature) (This)->lpVtbl->GetDeviceSignature(This,pSignature)
    106 #define IDot11AdHocInterface_GetFriendlyName(This,ppszName) (This)->lpVtbl->GetFriendlyName(This,ppszName)
    107 #define IDot11AdHocInterface_IsDot11d(This,pf11d) (This)->lpVtbl->IsDot11d(This,pf11d)
    108 #define IDot11AdHocInterface_IsAdHocCapable(This,pfAdHocCapable) (This)->lpVtbl->IsAdHocCapable(This,pfAdHocCapable)
    109 #define IDot11AdHocInterface_IsRadioOn(This,pfIsRadioOn) (This)->lpVtbl->IsRadioOn(This,pfIsRadioOn)
    110 #define IDot11AdHocInterface_GetActiveNetwork(This,ppNetwork) (This)->lpVtbl->GetActiveNetwork(This,ppNetwork)
    111 #define IDot11AdHocInterface_GetIEnumSecuritySettings(This,ppEnum) (This)->lpVtbl->GetIEnumSecuritySettings(This,ppEnum)
    112 #define IDot11AdHocInterface_GetIEnumDot11AdHocNetworks(This,pFilterGuid,ppEnum) (This)->lpVtbl->GetIEnumDot11AdHocNetworks(This,pFilterGuid,ppEnum)
    113 #define IDot11AdHocInterface_GetStatus(This,pState) (This)->lpVtbl->GetStatus(This,pState)
    114 #endif /*COBJMACROS*/
    115 
    116 #undef  INTERFACE
    117 #define INTERFACE IDot11AdHocManager
    118 #ifdef __GNUC__
    119 #warning COM interfaces layout in this header has not been verified.
    120 #warning COM interfaces with incorrect layout may not work at all.
    121 __MINGW_BROKEN_INTERFACE(INTERFACE)
    122 #endif
    123 DECLARE_INTERFACE_(IDot11AdHocManager,IUnknown)
    124 {
    125     BEGIN_INTERFACE
    126 
    127     /* IUnknown methods */
    128     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
    129     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
    130     STDMETHOD_(ULONG, Release)(THIS) PURE;
    131 
    132     /* IDot11AdHocManager methods */
    133     STDMETHOD_(HRESULT,CreateNetwork)(THIS_ LPCWSTR Name,LPCWSTR Password,LONG GeographicalId,IDot11AdHocInterface *pInterface,IDot11AdHocSecuritySettings *pSecurity,GUID *pContextGuid,IDot11AdHocNetwork **pIAdHoc) PURE;
    134     STDMETHOD_(HRESULT,CommitCreatedNetwork)(THIS_ IDot11AdHocNetwork *pIAdHoc,BOOLEAN fSaveProfile,BOOLEAN fMakeSavedProfileUserSpecific) PURE;
    135     STDMETHOD_(HRESULT,GetIEnumDot11AdHocNetworks)(THIS_ GUID *pContextGuid,IEnumDot11AdHocNetworks **ppEnum) PURE;
    136     STDMETHOD_(HRESULT,GetIEnumDot11AdHocInterfaces)(THIS_ IEnumDot11AdHocInterfaces **ppEnum) PURE;
    137     STDMETHOD_(HRESULT,GetNetwork)(THIS_ GUID *NetworkSignature,IDot11AdHocNetwork **pNetwork) PURE;
    138 
    139     END_INTERFACE
    140 };
    141 #ifdef COBJMACROS
    142 #define IDot11AdHocManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    143 #define IDot11AdHocManager_AddRef(This) (This)->lpVtbl->AddRef(This)
    144 #define IDot11AdHocManager_Release(This) (This)->lpVtbl->Release(This)
    145 #define IDot11AdHocManager_CreateNetwork(This,Name,Password,GeographicalId,pInterface,pSecurity,pContextGuid,pIAdHoc) (This)->lpVtbl->CreateNetwork(This,Name,Password,GeographicalId,pInterface,pSecurity,pContextGuid,pIAdHoc)
    146 #define IDot11AdHocManager_CommitCreatedNetwork(This,pIAdHoc,fSaveProfile,fMakeSavedProfileUserSpecific) (This)->lpVtbl->CommitCreatedNetwork(This,pIAdHoc,fSaveProfile,fMakeSavedProfileUserSpecific)
    147 #define IDot11AdHocManager_GetIEnumDot11AdHocNetworks(This,pContextGuid,ppEnum) (This)->lpVtbl->GetIEnumDot11AdHocNetworks(This,pContextGuid,ppEnum)
    148 #define IDot11AdHocManager_GetIEnumDot11AdHocInterfaces(This,ppEnum) (This)->lpVtbl->GetIEnumDot11AdHocInterfaces(This,ppEnum)
    149 #define IDot11AdHocManager_GetNetwork(This,NetworkSignature,pNetwork) (This)->lpVtbl->GetNetwork(This,NetworkSignature,pNetwork)
    150 #endif /*COBJMACROS*/
    151 
    152 #undef  INTERFACE
    153 #define INTERFACE IDot11AdHocManagerNotificationSink
    154 #ifdef __GNUC__
    155 #warning COM interfaces layout in this header has not been verified.
    156 #warning COM interfaces with incorrect layout may not work at all.
    157 __MINGW_BROKEN_INTERFACE(INTERFACE)
    158 #endif
    159 DECLARE_INTERFACE_(IDot11AdHocManagerNotificationSink,IUnknown)
    160 {
    161     BEGIN_INTERFACE
    162 
    163     /* IUnknown methods */
    164     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
    165     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
    166     STDMETHOD_(ULONG, Release)(THIS) PURE;
    167 
    168     /* IDot11AdHocManagerNotificationSink methods */
    169     STDMETHOD_(HRESULT,OnNetworkAdd)(THIS_ IDot11AdHocNetwork *pIAdHocNetwork) PURE;
    170     STDMETHOD_(HRESULT,OnNetworkRemove)(THIS_ GUID *Signature) PURE;
    171     STDMETHOD_(HRESULT,OnInterfaceAdd)(THIS_ IDot11AdHocInterface *pIAdHocInterface) PURE;
    172     STDMETHOD_(HRESULT,OnInterfaceRemove)(THIS_ GUID *Signature) PURE;
    173 
    174     END_INTERFACE
    175 };
    176 #ifdef COBJMACROS
    177 #define IDot11AdHocManagerNotificationSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    178 #define IDot11AdHocManagerNotificationSink_AddRef(This) (This)->lpVtbl->AddRef(This)
    179 #define IDot11AdHocManagerNotificationSink_Release(This) (This)->lpVtbl->Release(This)
    180 #define IDot11AdHocManagerNotificationSink_OnNetworkAdd(This,pIAdHocNetwork) (This)->lpVtbl->OnNetworkAdd(This,pIAdHocNetwork)
    181 #define IDot11AdHocManagerNotificationSink_OnNetworkRemove(This,Signature) (This)->lpVtbl->OnNetworkRemove(This,Signature)
    182 #define IDot11AdHocManagerNotificationSink_OnInterfaceAdd(This,pIAdHocInterface) (This)->lpVtbl->OnInterfaceAdd(This,pIAdHocInterface)
    183 #define IDot11AdHocManagerNotificationSink_OnInterfaceRemove(This,Signature) (This)->lpVtbl->OnInterfaceRemove(This,Signature)
    184 #endif /*COBJMACROS*/
    185 
    186 #undef  INTERFACE
    187 #define INTERFACE IDot11AdHocNetwork
    188 #ifdef __GNUC__
    189 #warning COM interfaces layout in this header has not been verified.
    190 #warning COM interfaces with incorrect layout may not work at all.
    191 __MINGW_BROKEN_INTERFACE(INTERFACE)
    192 #endif
    193 DECLARE_INTERFACE_(IDot11AdHocNetwork,IUnknown)
    194 {
    195     BEGIN_INTERFACE
    196 
    197     /* IUnknown methods */
    198     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
    199     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
    200     STDMETHOD_(ULONG, Release)(THIS) PURE;
    201 
    202     /* IDot11AdHocNetwork methods */
    203     STDMETHOD_(HRESULT,GetStatus)(THIS_ DOT11_ADHOC_NETWORK_CONNECTION_STATUS *eStatus) PURE;
    204     STDMETHOD_(HRESULT,GetSSID)(THIS_ LPWSTR *ppszwSSID) PURE;
    205     STDMETHOD_(HRESULT,HasProfile)(THIS_ BOOLEAN *pf11d) PURE;
    206     STDMETHOD_(HRESULT,GetProfileName)(THIS_ LPWSTR *ppszwProfileName) PURE;
    207     STDMETHOD_(HRESULT,DeleteProfile)(THIS) PURE;
    208     STDMETHOD_(HRESULT,GetSignalQuality)(THIS_ ULONG *puStrengthValue,ULONG *puStrengthMax) PURE;
    209     STDMETHOD_(HRESULT,GetSecuritySetting)(THIS_ IDot11AdHocSecuritySettings **pAdHocSecuritySetting) PURE;
    210     STDMETHOD_(HRESULT,GetContextGuid)(THIS_ GUID *pContextGuid) PURE;
    211     STDMETHOD_(HRESULT,GetSignature)(THIS_ GUID *pSignature) PURE;
    212     STDMETHOD_(HRESULT,GetInterface)(THIS_ IDot11AdHocInterface **pAdHocInterface) PURE;
    213     STDMETHOD_(HRESULT,Connect)(THIS_ LPCWSTR Passphrase,LONG GeographicalId,BOOLEAN fSaveProfile,BOOLEAN fMakeSavedProfileUserSpecific) PURE;
    214     STDMETHOD_(HRESULT,Disconnect)(THIS) PURE;
    215 
    216     END_INTERFACE
    217 };
    218 #ifdef COBJMACROS
    219 #define IDot11AdHocNetwork_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    220 #define IDot11AdHocNetwork_AddRef(This) (This)->lpVtbl->AddRef(This)
    221 #define IDot11AdHocNetwork_Release(This) (This)->lpVtbl->Release(This)
    222 #define IDot11AdHocNetwork_GetStatus(This,eStatus) (This)->lpVtbl->GetStatus(This,eStatus)
    223 #define IDot11AdHocNetwork_GetSSID(This,ppszwSSID) (This)->lpVtbl->GetSSID(This,ppszwSSID)
    224 #define IDot11AdHocNetwork_HasProfile(This,pf11d) (This)->lpVtbl->HasProfile(This,pf11d)
    225 #define IDot11AdHocNetwork_GetProfileName(This,ppszwProfileName) (This)->lpVtbl->GetProfileName(This,ppszwProfileName)
    226 #define IDot11AdHocNetwork_DeleteProfile() (This)->lpVtbl->DeleteProfile(This)
    227 #define IDot11AdHocNetwork_GetSignalQuality(This,puStrengthValue,puStrengthMax) (This)->lpVtbl->GetSignalQuality(This,puStrengthValue,puStrengthMax)
    228 #define IDot11AdHocNetwork_GetSecuritySetting(This,pAdHocSecuritySetting) (This)->lpVtbl->GetSecuritySetting(This,pAdHocSecuritySetting)
    229 #define IDot11AdHocNetwork_GetContextGuid(This,pContextGuid) (This)->lpVtbl->GetContextGuid(This,pContextGuid)
    230 #define IDot11AdHocNetwork_GetSignature(This,pSignature) (This)->lpVtbl->GetSignature(This,pSignature)
    231 #define IDot11AdHocNetwork_GetInterface(This,pAdHocInterface) (This)->lpVtbl->GetInterface(This,pAdHocInterface)
    232 #define IDot11AdHocNetwork_Connect(This,Passphrase,GeographicalId,fSaveProfile,fMakeSavedProfileUserSpecific) (This)->lpVtbl->Connect(This,Passphrase,GeographicalId,fSaveProfile,fMakeSavedProfileUserSpecific)
    233 #define IDot11AdHocNetwork_Disconnect() (This)->lpVtbl->Disconnect(This)
    234 #endif /*COBJMACROS*/
    235 
    236 #undef  INTERFACE
    237 #define INTERFACE IDot11AdHocNetworkNotificationSink
    238 #ifdef __GNUC__
    239 #warning COM interfaces layout in this header has not been verified.
    240 #warning COM interfaces with incorrect layout may not work at all.
    241 __MINGW_BROKEN_INTERFACE(INTERFACE)
    242 #endif
    243 DECLARE_INTERFACE_(IDot11AdHocNetworkNotificationSink,IUnknown)
    244 {
    245     BEGIN_INTERFACE
    246 
    247     /* IUnknown methods */
    248     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
    249     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
    250     STDMETHOD_(ULONG, Release)(THIS) PURE;
    251 
    252     /* IDot11AdHocNetworkNotificationSink methods */
    253     STDMETHOD_(HRESULT,OnStatusChange)(THIS_ DOT11_ADHOC_NETWORK_CONNECTION_STATUS eStatus) PURE;
    254     STDMETHOD_(HRESULT,OnConnectFail)(THIS_ DOT11_ADHOC_CONNECT_FAIL_REASON eFailReason) PURE;
    255 
    256     END_INTERFACE
    257 };
    258 #ifdef COBJMACROS
    259 #define IDot11AdHocNetworkNotificationSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    260 #define IDot11AdHocNetworkNotificationSink_AddRef(This) (This)->lpVtbl->AddRef(This)
    261 #define IDot11AdHocNetworkNotificationSink_Release(This) (This)->lpVtbl->Release(This)
    262 #define IDot11AdHocNetworkNotificationSink_OnStatusChange(This,eStatus) (This)->lpVtbl->OnStatusChange(This,eStatus)
    263 #define IDot11AdHocNetworkNotificationSink_OnConnectFail(This,eFailReason) (This)->lpVtbl->OnConnectFail(This,eFailReason)
    264 #endif /*COBJMACROS*/
    265 
    266 #undef  INTERFACE
    267 #define INTERFACE IDot11AdHocSecuritySettings
    268 #ifdef __GNUC__
    269 #warning COM interfaces layout in this header has not been verified.
    270 #warning COM interfaces with incorrect layout may not work at all.
    271 __MINGW_BROKEN_INTERFACE(INTERFACE)
    272 #endif
    273 DECLARE_INTERFACE_(IDot11AdHocSecuritySettings,IUnknown)
    274 {
    275     BEGIN_INTERFACE
    276 
    277     /* IUnknown methods */
    278     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
    279     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
    280     STDMETHOD_(ULONG, Release)(THIS) PURE;
    281 
    282     /* IDot11AdHocSecuritySettings methods */
    283     STDMETHOD_(HRESULT,GetDot11AuthAlgorithm)(THIS_ DOT11_ADHOC_AUTH_ALGORITHM *pAuth) PURE;
    284     STDMETHOD_(HRESULT,GetDot11CipherAlgorithm)(THIS_ DOT11_ADHOC_CIPHER_ALGORITHM *pCipher) PURE;
    285 
    286     END_INTERFACE
    287 };
    288 #ifdef COBJMACROS
    289 #define IDot11AdHocSecuritySettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    290 #define IDot11AdHocSecuritySettings_AddRef(This) (This)->lpVtbl->AddRef(This)
    291 #define IDot11AdHocSecuritySettings_Release(This) (This)->lpVtbl->Release(This)
    292 #define IDot11AdHocSecuritySettings_GetDot11AuthAlgorithm(This,pAuth) (This)->lpVtbl->GetDot11AuthAlgorithm(This,pAuth)
    293 #define IDot11AdHocSecuritySettings_GetDot11CipherAlgorithm(This,pCipher) (This)->lpVtbl->GetDot11CipherAlgorithm(This,pCipher)
    294 #endif /*COBJMACROS*/
    295 
    296 #undef  INTERFACE
    297 #define INTERFACE IEnumDot11AdHocInterfaces
    298 #ifdef __GNUC__
    299 #warning COM interfaces layout in this header has not been verified.
    300 #warning COM interfaces with incorrect layout may not work at all.
    301 __MINGW_BROKEN_INTERFACE(INTERFACE)
    302 #endif
    303 DECLARE_INTERFACE_(IEnumDot11AdHocInterfaces,IUnknown)
    304 {
    305     BEGIN_INTERFACE
    306 
    307     /* IUnknown methods */
    308     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
    309     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
    310     STDMETHOD_(ULONG, Release)(THIS) PURE;
    311 
    312     /* IEnumDot11AdHocInterfaces methods */
    313     STDMETHOD_(HRESULT,Next)(THIS_ ULONG cElt,IDot11AdHocInterface **rgElt,ULONG *pcEltFetched) PURE;
    314     STDMETHOD_(HRESULT,Skip)(THIS_ ULONG cElt) PURE;
    315     STDMETHOD_(HRESULT,Reset)(THIS) PURE;
    316     STDMETHOD_(HRESULT,Clone)(THIS_ IEnumDot11AdHocInterfaces **ppEnum) PURE;
    317 
    318     END_INTERFACE
    319 };
    320 #ifdef COBJMACROS
    321 #define IEnumDot11AdHocInterfaces_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    322 #define IEnumDot11AdHocInterfaces_AddRef(This) (This)->lpVtbl->AddRef(This)
    323 #define IEnumDot11AdHocInterfaces_Release(This) (This)->lpVtbl->Release(This)
    324 #define IEnumDot11AdHocInterfaces_Next(This,cElt,rgElt,pcEltFetched) (This)->lpVtbl->Next(This,cElt,rgElt,pcEltFetched)
    325 #define IEnumDot11AdHocInterfaces_Skip(This,cElt) (This)->lpVtbl->Skip(This,cElt)
    326 #define IEnumDot11AdHocInterfaces_Reset() (This)->lpVtbl->Reset(This)
    327 #define IEnumDot11AdHocInterfaces_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
    328 #endif /*COBJMACROS*/
    329 
    330 #undef  INTERFACE
    331 #define INTERFACE IEnumDot11AdHocNetworks
    332 #ifdef __GNUC__
    333 #warning COM interfaces layout in this header has not been verified.
    334 #warning COM interfaces with incorrect layout may not work at all.
    335 __MINGW_BROKEN_INTERFACE(INTERFACE)
    336 #endif
    337 DECLARE_INTERFACE_(IEnumDot11AdHocNetworks,IUnknown)
    338 {
    339     BEGIN_INTERFACE
    340 
    341     /* IUnknown methods */
    342     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
    343     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
    344     STDMETHOD_(ULONG, Release)(THIS) PURE;
    345 
    346     /* IEnumDot11AdHocNetworks methods */
    347     STDMETHOD_(HRESULT,Next)(THIS_ ULONG cElt,IDot11AdHocNetwork **rgElt,ULONG *pcEltFetched) PURE;
    348     STDMETHOD_(HRESULT,Skip)(THIS_ ULONG cElt) PURE;
    349     STDMETHOD_(HRESULT,Reset)(THIS) PURE;
    350     STDMETHOD_(HRESULT,Clone)(THIS_ IEnumDot11AdHocNetworks **ppEnum) PURE;
    351 
    352     END_INTERFACE
    353 };
    354 #ifdef COBJMACROS
    355 #define IEnumDot11AdHocNetworks_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    356 #define IEnumDot11AdHocNetworks_AddRef(This) (This)->lpVtbl->AddRef(This)
    357 #define IEnumDot11AdHocNetworks_Release(This) (This)->lpVtbl->Release(This)
    358 #define IEnumDot11AdHocNetworks_Next(This,cElt,rgElt,pcEltFetched) (This)->lpVtbl->Next(This,cElt,rgElt,pcEltFetched)
    359 #define IEnumDot11AdHocNetworks_Skip(This,cElt) (This)->lpVtbl->Skip(This,cElt)
    360 #define IEnumDot11AdHocNetworks_Reset() (This)->lpVtbl->Reset(This)
    361 #define IEnumDot11AdHocNetworks_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
    362 #endif /*COBJMACROS*/
    363 
    364 #undef  INTERFACE
    365 #define INTERFACE IEnumDot11AdHocSecuritySettings
    366 #ifdef __GNUC__
    367 #warning COM interfaces layout in this header has not been verified.
    368 #warning COM interfaces with incorrect layout may not work at all.
    369 __MINGW_BROKEN_INTERFACE(INTERFACE)
    370 #endif
    371 DECLARE_INTERFACE_(IEnumDot11AdHocSecuritySettings,IUnknown)
    372 {
    373     BEGIN_INTERFACE
    374 
    375     /* IUnknown methods */
    376     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
    377     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
    378     STDMETHOD_(ULONG, Release)(THIS) PURE;
    379 
    380     /* IEnumDot11AdHocSecuritySettings methods */
    381     STDMETHOD_(HRESULT,Next)(THIS_ ULONG cElt,IDot11AdHocSecuritySettings **rgElt,ULONG *pcEltFetched) PURE;
    382     STDMETHOD_(HRESULT,Skip)(THIS_ ULONG cElt) PURE;
    383     STDMETHOD_(HRESULT,Reset)(THIS) PURE;
    384     STDMETHOD_(HRESULT,Clone)(THIS_ IEnumDot11AdHocSecuritySettings **ppEnum) PURE;
    385 
    386     END_INTERFACE
    387 };
    388 #ifdef COBJMACROS
    389 #define IEnumDot11AdHocSecuritySettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    390 #define IEnumDot11AdHocSecuritySettings_AddRef(This) (This)->lpVtbl->AddRef(This)
    391 #define IEnumDot11AdHocSecuritySettings_Release(This) (This)->lpVtbl->Release(This)
    392 #define IEnumDot11AdHocSecuritySettings_Next(This,cElt,rgElt,pcEltFetched) (This)->lpVtbl->Next(This,cElt,rgElt,pcEltFetched)
    393 #define IEnumDot11AdHocSecuritySettings_Skip(This,cElt) (This)->lpVtbl->Skip(This,cElt)
    394 #define IEnumDot11AdHocSecuritySettings_Reset() (This)->lpVtbl->Reset(This)
    395 #define IEnumDot11AdHocSecuritySettings_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
    396 #endif /*COBJMACROS*/
    397 
    398 #endif /*(_WIN32_WINNT >= 0x0600)*/
    399 #endif /*_INC_ADHOC*/
    400