blob: b53ced5c36c5ca34294a149ba6d8a70785191250 [file] [log] [blame]
/**
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
#ifndef DO_NO_IMPORTS
import "oaidl.idl";
import "unknwn.idl";
import "wtypes.idl";
#endif
cpp_quote("#include <winapifamily.h>")
cpp_quote("")
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
interface IDot11AdHocManager;
interface IDot11AdHocManagerNotificationSink;
interface IDot11AdHocNetwork;
interface IDot11AdHocNetworkNotificationSink;
interface IDot11AdHocInterface;
interface IDot11AdHocInterfaceNotificationSink;
interface IDot11AdHocSecuritySettings;
interface IEnumDot11AdHocInterfaces;
interface IEnumDot11AdHocNetworks;
interface IEnumDot11AdHocSecuritySettings;
typedef [v1_enum] enum tagDOT11_ADHOC_CIPHER_ALGORITHM {
DOT11_ADHOC_CIPHER_ALGO_INVALID = -1,
DOT11_ADHOC_CIPHER_ALGO_NONE = 0x00,
DOT11_ADHOC_CIPHER_ALGO_CCMP = 0x04,
DOT11_ADHOC_CIPHER_ALGO_WEP = 0x101,
} DOT11_ADHOC_CIPHER_ALGORITHM;
typedef [v1_enum] enum tagDOT11_ADHOC_AUTH_ALGORITHM {
DOT11_ADHOC_AUTH_ALGO_INVALID = -1,
DOT11_ADHOC_AUTH_ALGO_80211_OPEN = 1,
DOT11_ADHOC_AUTH_ALGO_RSNA_PSK = 7
} DOT11_ADHOC_AUTH_ALGORITHM;
typedef [v1_enum] enum tagDOT11_ADHOC_NETWORK_CONNECTION_STATUS {
DOT11_ADHOC_NETWORK_CONNECTION_STATUS_INVALID = 0,
DOT11_ADHOC_NETWORK_CONNECTION_STATUS_DISCONNECTED = 11,
DOT11_ADHOC_NETWORK_CONNECTION_STATUS_CONNECTING = 12,
DOT11_ADHOC_NETWORK_CONNECTION_STATUS_CONNECTED = 13,
DOT11_ADHOC_NETWORK_CONNECTION_STATUS_FORMED = 14
} DOT11_ADHOC_NETWORK_CONNECTION_STATUS;
typedef [v1_enum] enum tagDOT11_ADHOC_CONNECT_FAIL_REASON {
DOT11_ADHOC_CONNECT_FAIL_DOMAIN_MISMATCH = 0,
DOT11_ADHOC_CONNECT_FAIL_PASSPHRASE_MISMATCH = 1,
DOT11_ADHOC_CONNECT_FAIL_OTHER = 2
} DOT11_ADHOC_CONNECT_FAIL_REASON;
cpp_quote("EXTERN_C const CLSID CLSID_AdHocManager;")
[object, local, uuid (8f10cc26-cf0d-42a0-acbe-e2de7007384d), pointer_default (unique)]
interface IDot11AdHocManager : IUnknown {
HRESULT CreateNetwork ([in, string] LPCWSTR Name,[in, string] LPCWSTR Password,[in] LONG GeographicalId,[in] IDot11AdHocInterface *pInterface,[in] IDot11AdHocSecuritySettings *pSecurity,[in] GUID *pContextGuid,[out] IDot11AdHocNetwork **pIAdHoc);
HRESULT CommitCreatedNetwork ([in] IDot11AdHocNetwork *pIAdHoc,[in] BOOLEAN fSaveProfile,[in] BOOLEAN fMakeSavedProfileUserSpecific);
HRESULT GetIEnumDot11AdHocNetworks ([in] GUID *pContextGuid,[out] IEnumDot11AdHocNetworks **ppEnum);
HRESULT GetIEnumDot11AdHocInterfaces ([out] IEnumDot11AdHocInterfaces **ppEnum);
HRESULT GetNetwork ([in] GUID *NetworkSignature,[out] IDot11AdHocNetwork **pNetwork);
};
[object, local, uuid (8f10cc27-cf0d-42a0-acbe-e2de7007384d), pointer_default (unique)]
interface IDot11AdHocManagerNotificationSink : IUnknown {
HRESULT OnNetworkAdd ([in] IDot11AdHocNetwork *pIAdHocNetwork);
HRESULT OnNetworkRemove ([in] GUID *Signature);
HRESULT OnInterfaceAdd ([in] IDot11AdHocInterface *pIAdHocInterface);
HRESULT OnInterfaceRemove ([in] GUID *Signature);
}
[object, local, uuid (8f10cc28-cf0d-42a0-acbe-e2de7007384d), pointer_default (unique)]
interface IEnumDot11AdHocNetworks : IUnknown {
HRESULT Next ([in] ULONG cElt,[out, size_is (cElt), length_is (*pcEltFetched)]IDot11AdHocNetwork **rgElt,[out] ULONG *pcEltFetched);
HRESULT Skip ([in] ULONG cElt);
HRESULT Reset ();
HRESULT Clone ([out] IEnumDot11AdHocNetworks **ppEnum);
};
[object, local, uuid (8f10cc29-cf0d-42a0-acbe-e2de7007384d), pointer_default (unique)]
interface IDot11AdHocNetwork : IUnknown {
HRESULT GetStatus ([in, out] DOT11_ADHOC_NETWORK_CONNECTION_STATUS *eStatus);
HRESULT GetSSID ([out, string] LPWSTR *ppszwSSID);
HRESULT HasProfile ([in, out] BOOLEAN *pf11d);
HRESULT GetProfileName ([out, string] LPWSTR *ppszwProfileName);
HRESULT DeleteProfile ();
HRESULT GetSignalQuality ([out] ULONG *puStrengthValue,[out] ULONG *puStrengthMax);
HRESULT GetSecuritySetting ([out] IDot11AdHocSecuritySettings **pAdHocSecuritySetting);
HRESULT GetContextGuid ([in, out] GUID *pContextGuid);
HRESULT GetSignature ([in, out] GUID *pSignature);
HRESULT GetInterface ([out] IDot11AdHocInterface **pAdHocInterface);
HRESULT Connect ([in, string] LPCWSTR Passphrase,[in] LONG GeographicalId,[in] BOOLEAN fSaveProfile,[in] BOOLEAN fMakeSavedProfileUserSpecific);
HRESULT Disconnect ();
};
[object, local, uuid (8f10cc2a-cf0d-42a0-acbe-e2de7007384d), pointer_default (unique)]
interface IDot11AdHocNetworkNotificationSink : IUnknown {
HRESULT OnStatusChange (DOT11_ADHOC_NETWORK_CONNECTION_STATUS eStatus);
HRESULT OnConnectFail (DOT11_ADHOC_CONNECT_FAIL_REASON eFailReason);
}
[object, local, uuid (8f10cc2b-cf0d-42a0-acbe-e2de7007384d), pointer_default (unique)]
interface IDot11AdHocInterface : IUnknown {
HRESULT GetDeviceSignature ([in, out] GUID *pSignature);
HRESULT GetFriendlyName ([out, string] LPWSTR *ppszName);
HRESULT IsDot11d ([in, out] BOOLEAN *pf11d);
HRESULT IsAdHocCapable ([in, out] BOOLEAN *pfAdHocCapable);
HRESULT IsRadioOn ([in, out] BOOLEAN *pfIsRadioOn);
HRESULT GetActiveNetwork ([out] IDot11AdHocNetwork **ppNetwork);
HRESULT GetIEnumSecuritySettings ([out] IEnumDot11AdHocSecuritySettings **ppEnum);
HRESULT GetIEnumDot11AdHocNetworks ([in] GUID *pFilterGuid,[out] IEnumDot11AdHocNetworks **ppEnum);
HRESULT GetStatus ([in, out] DOT11_ADHOC_NETWORK_CONNECTION_STATUS *pState);
}
[object, local, uuid (8f10cc2c-cf0d-42a0-acbe-e2de7007384d), pointer_default (unique)]
interface IEnumDot11AdHocInterfaces : IUnknown {
HRESULT Next ([in] ULONG cElt,[out, size_is (cElt), length_is (*pcEltFetched)]IDot11AdHocInterface **rgElt,[out] ULONG *pcEltFetched);
HRESULT Skip ([in] ULONG cElt);
HRESULT Reset ();
HRESULT Clone ([out] IEnumDot11AdHocInterfaces **ppEnum);
}
[object, local, uuid (8f10cc2d-cf0d-42a0-acbe-e2de7007384d), pointer_default (unique)]
interface IEnumDot11AdHocSecuritySettings : IUnknown {
HRESULT Next ([in] ULONG cElt,[out, size_is (cElt), length_is (*pcEltFetched)]IDot11AdHocSecuritySettings **rgElt,[out] ULONG *pcEltFetched);
HRESULT Skip ([in] ULONG cElt);
HRESULT Reset ();
HRESULT Clone ([out] IEnumDot11AdHocSecuritySettings **ppEnum);
}
[object, local, uuid (8f10cc2e-cf0d-42a0-acbe-e2de7007384d), pointer_default (unique)]
interface IDot11AdHocSecuritySettings : IUnknown {
HRESULT GetDot11AuthAlgorithm ([in, out] DOT11_ADHOC_AUTH_ALGORITHM *pAuth);
HRESULT GetDot11CipherAlgorithm ([in, out] DOT11_ADHOC_CIPHER_ALGORITHM *pCipher);
}
[object, local, uuid (8f10cc2f-cf0d-42a0-acbe-e2de7007384d), pointer_default (unique)]
interface IDot11AdHocInterfaceNotificationSink : IUnknown {
HRESULT OnConnectionStatusChange (DOT11_ADHOC_NETWORK_CONNECTION_STATUS eStatus);
}
[uuid (45357166-ff38-4302-8f5c-df5b703a6e3d), version (1.0)]
library ADHOCLib {
importlib ("stdole2.tlb");
[uuid (dd06a84f-83bd-4d01-8ab9-2389fea0869e)]
coclass Dot11AdHocManager {
[default] interface IDot11AdHocManager;
};
};
cpp_quote("#endif")