[1166] | 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 |
|
---|
| 7 | cpp_quote("#include <winapifamily.h>")
|
---|
| 8 |
|
---|
| 9 | cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
|
---|
| 10 |
|
---|
| 11 | #ifndef DO_NO_IMPORTS
|
---|
| 12 | import "unknwn.idl";
|
---|
| 13 | import "wtypes.idl";
|
---|
| 14 | import "prsht.idl";
|
---|
| 15 | #endif
|
---|
| 16 |
|
---|
| 17 | cpp_quote("")
|
---|
| 18 | cpp_quote("#define NETCFG_E_ALREADY_INITIALIZED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xa020)")
|
---|
| 19 | cpp_quote("#define NETCFG_E_NOT_INITIALIZED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xa021)")
|
---|
| 20 | cpp_quote("#define NETCFG_E_IN_USE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xa022)")
|
---|
| 21 | cpp_quote("#define NETCFG_E_NO_WRITE_LOCK MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xa024)")
|
---|
| 22 | cpp_quote("#define NETCFG_E_NEED_REBOOT MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xa025)")
|
---|
| 23 | cpp_quote("#define NETCFG_E_ACTIVE_RAS_CONNECTIONS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xa026)")
|
---|
| 24 | cpp_quote("#define NETCFG_E_ADAPTER_NOT_FOUND MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xa027)")
|
---|
| 25 | cpp_quote("#define NETCFG_E_COMPONENT_REMOVED_PENDING_REBOOT MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xa028)")
|
---|
| 26 | cpp_quote("#define NETCFG_E_MAX_FILTER_LIMIT MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xa029)")
|
---|
| 27 | cpp_quote("#define NETCFG_E_VMSWITCH_ACTIVE_OVER_ADAPTER MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xa02a)")
|
---|
| 28 | cpp_quote("#define NETCFG_E_DUPLICATE_INSTANCEID MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xa02b)")
|
---|
| 29 |
|
---|
| 30 | cpp_quote("")
|
---|
| 31 | cpp_quote("#define NETCFG_S_REBOOT MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 0xa020)")
|
---|
| 32 | cpp_quote("#define NETCFG_S_DISABLE_QUERY MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 0xa022)")
|
---|
| 33 | cpp_quote("#define NETCFG_S_STILL_REFERENCED MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 0xa023)")
|
---|
| 34 | cpp_quote("#define NETCFG_S_CAUSED_SETUP_CHANGE MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 0xa024)")
|
---|
| 35 | cpp_quote("#define NETCFG_S_COMMIT_NOW MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 0xa025)")
|
---|
| 36 |
|
---|
| 37 | cpp_quote("")
|
---|
| 38 | cpp_quote("#define NETCFG_CLIENT_CID_MS_MSClient TEXT(\"ms_msclient\")")
|
---|
| 39 | cpp_quote("#define NETCFG_SERVICE_CID_MS_SERVER TEXT(\"ms_server\")")
|
---|
| 40 | cpp_quote("#define NETCFG_SERVICE_CID_MS_NETBIOS TEXT(\"ms_netbios\")")
|
---|
| 41 | cpp_quote("#define NETCFG_SERVICE_CID_MS_PSCHED TEXT(\"ms_pschedpc\")")
|
---|
| 42 | cpp_quote("#define NETCFG_SERVICE_CID_MS_WLBS TEXT(\"ms_wlbs\")")
|
---|
| 43 | cpp_quote("#define NETCFG_TRANS_CID_MS_APPLETALK TEXT(\"ms_appletalk\")")
|
---|
| 44 | cpp_quote("#define NETCFG_TRANS_CID_MS_NETBEUI TEXT(\"ms_netbeui\")")
|
---|
| 45 | cpp_quote("#define NETCFG_TRANS_CID_MS_NETMON TEXT(\"ms_netmon\")")
|
---|
| 46 | cpp_quote("#define NETCFG_TRANS_CID_MS_NWIPX TEXT(\"ms_nwipx\")")
|
---|
| 47 | cpp_quote("#define NETCFG_TRANS_CID_MS_NWSPX TEXT(\"ms_nwspx\")")
|
---|
| 48 | cpp_quote("#define NETCFG_TRANS_CID_MS_TCPIP TEXT(\"ms_tcpip\")")
|
---|
| 49 |
|
---|
| 50 | cpp_quote("")
|
---|
| 51 | interface IEnumNetCfgBindingInterface;
|
---|
| 52 | interface IEnumNetCfgBindingPath;
|
---|
| 53 | interface IEnumNetCfgComponent;
|
---|
| 54 | interface INetCfg;
|
---|
| 55 | interface INetCfgProperties;
|
---|
| 56 | interface INetCfgLock;
|
---|
| 57 | interface INetCfgBindingInterface;
|
---|
| 58 | interface INetCfgBindingPath;
|
---|
| 59 | interface INetCfgComponentBindings;
|
---|
| 60 | interface INetCfgBindingPath;
|
---|
| 61 | interface INetCfgClass;
|
---|
| 62 | interface INetCfgComponent;
|
---|
| 63 | interface INetCfgIdentification;
|
---|
| 64 | interface INetCfgClassSetup;
|
---|
| 65 | interface INetCfgClassSetup2;
|
---|
| 66 |
|
---|
| 67 | cpp_quote("")
|
---|
| 68 | [local, object, uuid(c0e8ae90-306e-11d1-aacf-00805fc1270e), pointer_default(unique)]
|
---|
| 69 | interface IEnumNetCfgBindingInterface : IUnknown {
|
---|
| 70 | HRESULT Next ([in] ULONG celt, [out, size_is(celt), length_is(*pceltFetched)] INetCfgBindingInterface **rgelt, [out] ULONG *pceltFetched);
|
---|
| 71 | HRESULT Skip ([in] ULONG celt);
|
---|
| 72 | HRESULT Reset ();
|
---|
| 73 | HRESULT Clone ([out] IEnumNetCfgBindingInterface **ppenum);
|
---|
| 74 | };
|
---|
| 75 |
|
---|
| 76 | cpp_quote("")
|
---|
| 77 | [local, object, uuid(c0e8ae91-306e-11d1-aacf-00805fc1270e), pointer_default(unique)]
|
---|
| 78 | interface IEnumNetCfgBindingPath : IUnknown {
|
---|
| 79 | HRESULT Next ([in] ULONG celt, [out, size_is(celt), length_is(*pceltFetched)] INetCfgBindingPath **rgelt, [out] ULONG *pceltFetched);
|
---|
| 80 | HRESULT Skip ([in] ULONG celt);
|
---|
| 81 | HRESULT Reset ();
|
---|
| 82 | HRESULT Clone ([out] IEnumNetCfgBindingPath **ppenum);
|
---|
| 83 | };
|
---|
| 84 |
|
---|
| 85 | cpp_quote("")
|
---|
| 86 | [local, object, uuid(c0e8ae92-306e-11d1-aacf-00805fc1270e), pointer_default(unique)]
|
---|
| 87 | interface IEnumNetCfgComponent : IUnknown {
|
---|
| 88 | HRESULT Next ([in] ULONG celt, [out, size_is(celt), length_is(*pceltFetched)] INetCfgComponent **rgelt, [out] ULONG *pceltFetched);
|
---|
| 89 | HRESULT Skip ([in] ULONG celt);
|
---|
| 90 | HRESULT Reset ();
|
---|
| 91 | HRESULT Clone ([out] IEnumNetCfgComponent **ppenum);
|
---|
| 92 | };
|
---|
| 93 |
|
---|
| 94 | cpp_quote("")
|
---|
| 95 | [local, object, uuid(c0e8ae93-306e-11d1-aacf-00805fc1270e), pointer_default(unique)]
|
---|
| 96 | interface INetCfg : IUnknown {
|
---|
| 97 | HRESULT Initialize ([in] PVOID pvReserved);
|
---|
| 98 | HRESULT Uninitialize ();
|
---|
| 99 | HRESULT Apply ();
|
---|
| 100 | HRESULT Cancel ();
|
---|
| 101 | HRESULT EnumComponents ([in] const GUID *pguidClass, [out] IEnumNetCfgComponent **ppenumComponent);
|
---|
| 102 | HRESULT FindComponent ([in, string] LPCWSTR pszwInfId, [out] INetCfgComponent **pComponent);
|
---|
| 103 | HRESULT QueryNetCfgClass ([in] const GUID *pguidClass, [in] REFIID riid, [out, iid_is(riid)] void **ppvObject);
|
---|
| 104 | };
|
---|
| 105 |
|
---|
| 106 | cpp_quote("")
|
---|
| 107 | [threading(both), uuid(5b035261-40f9-11d1-aaec-00805fc1270e)]
|
---|
| 108 | coclass CNetCfg {
|
---|
| 109 | [default] interface INetCfg;
|
---|
| 110 | }
|
---|
| 111 |
|
---|
| 112 | cpp_quote("")
|
---|
| 113 | [local, object, uuid(c0e8ae9f-306e-11d1-aacf-00805fc1270e), pointer_default(unique)]
|
---|
| 114 | interface INetCfgLock : IUnknown {
|
---|
| 115 | HRESULT AcquireWriteLock ([in] DWORD cmsTimeout, [in, string] LPCWSTR pszwClientDescription, [out, string] LPWSTR *ppszwClientDescription);
|
---|
| 116 | HRESULT ReleaseWriteLock ();
|
---|
| 117 | HRESULT IsWriteLocked ([out, string] LPWSTR *ppszwClientDescription);
|
---|
| 118 | };
|
---|
| 119 |
|
---|
| 120 | cpp_quote("")
|
---|
| 121 | [local, object, uuid(c0e8ae94-306e-11d1-aacf-00805fc1270e), pointer_default(unique)]
|
---|
| 122 | interface INetCfgBindingInterface : IUnknown {
|
---|
| 123 | HRESULT GetName ([out, string] LPWSTR *ppszwInterfaceName);
|
---|
| 124 | HRESULT GetUpperComponent ([out] INetCfgComponent **ppnccItem);
|
---|
| 125 | HRESULT GetLowerComponent ([out] INetCfgComponent **ppnccItem);
|
---|
| 126 | };
|
---|
| 127 |
|
---|
| 128 | cpp_quote("")
|
---|
| 129 | [local, object, uuid(c0e8ae96-306e-11d1-aacf-00805fc1270e), pointer_default(unique)]
|
---|
| 130 | interface INetCfgBindingPath : IUnknown {
|
---|
| 131 | HRESULT IsSamePathAs ([in] INetCfgBindingPath *pPath);
|
---|
| 132 | HRESULT IsSubPathOf ([in] INetCfgBindingPath *pPath);
|
---|
| 133 | HRESULT IsEnabled ();
|
---|
| 134 | HRESULT Enable ([in] WINBOOL fEnable);
|
---|
| 135 | HRESULT GetPathToken([out, string] LPWSTR *ppszwPathToken);
|
---|
| 136 | HRESULT GetOwner ([out] INetCfgComponent **ppComponent);
|
---|
| 137 | HRESULT GetDepth ([out] ULONG *pcInterfaces);
|
---|
| 138 | HRESULT EnumBindingInterfaces ([out] IEnumNetCfgBindingInterface **ppenumInterface);
|
---|
| 139 | };
|
---|
| 140 |
|
---|
| 141 | cpp_quote("")
|
---|
| 142 | [local, object, uuid(c0e8ae97-306e-11d1-aacf-00805fc1270e), pointer_default(unique)]
|
---|
| 143 | interface INetCfgClass : IUnknown {
|
---|
| 144 | HRESULT FindComponent ([in, string] LPCWSTR pszwInfId, [out] INetCfgComponent **ppnccItem);
|
---|
| 145 | HRESULT EnumComponents ([out] IEnumNetCfgComponent **ppenumComponent);
|
---|
| 146 | };
|
---|
| 147 |
|
---|
| 148 | cpp_quote("")
|
---|
| 149 | [local, object, uuid(c0e8ae9d-306e-11d1-aacf-00805fc1270e), pointer_default(unique)]
|
---|
| 150 | interface INetCfgClassSetup : IUnknown {
|
---|
| 151 | typedef enum tagOBO_TOKEN_TYPE {
|
---|
| 152 | OBO_USER = 1,
|
---|
| 153 | OBO_COMPONENT = 2,
|
---|
| 154 | OBO_SOFTWARE = 3
|
---|
| 155 | } OBO_TOKEN_TYPE;
|
---|
| 156 |
|
---|
| 157 | typedef struct tagOBO_TOKEN {
|
---|
| 158 | OBO_TOKEN_TYPE Type;
|
---|
| 159 | INetCfgComponent *pncc;
|
---|
| 160 | LPCWSTR pszwManufacturer;
|
---|
| 161 | LPCWSTR pszwProduct;
|
---|
| 162 | LPCWSTR pszwDisplayName;
|
---|
| 163 | WINBOOL fRegistered;
|
---|
| 164 | } OBO_TOKEN;
|
---|
| 165 |
|
---|
| 166 | HRESULT SelectAndInstall ([in] HWND hwndParent, [in] OBO_TOKEN *pOboToken, [out] INetCfgComponent **ppnccItem);
|
---|
| 167 | HRESULT Install ([in, string] LPCWSTR pszwInfId, [in] OBO_TOKEN *pOboToken, [in] DWORD dwSetupFlags, [in] DWORD dwUpgradeFromBuildNo, [in, string] LPCWSTR pszwAnswerFile, [in, string] LPCWSTR pszwAnswerSections, [out] INetCfgComponent **ppnccItem);
|
---|
| 168 | HRESULT DeInstall ([in] INetCfgComponent *pComponent, [in] OBO_TOKEN *pOboToken, [out] LPWSTR *pmszwRefs);
|
---|
| 169 | };
|
---|
| 170 |
|
---|
| 171 | cpp_quote("")
|
---|
| 172 | [local, object, uuid(c0e8aea0-306e-11d1-aacf-00805fc1270e), pointer_default(unique)]
|
---|
| 173 | interface INetCfgClassSetup2: INetCfgClassSetup {
|
---|
| 174 | HRESULT UpdateNonEnumeratedComponent ([in] INetCfgComponent *pIComp, [in] DWORD dwSetupFlags, [in] DWORD dwUpgradeFromBuildNo);
|
---|
| 175 | };
|
---|
| 176 |
|
---|
| 177 | cpp_quote("")
|
---|
| 178 | [local, object, uuid(c0e8ae99-306e-11d1-aacf-00805fc1270e), pointer_default(unique)]
|
---|
| 179 | interface INetCfgComponent : IUnknown {
|
---|
| 180 | typedef enum tagCOMPONENT_CHARACTERISTICS {
|
---|
| 181 | NCF_VIRTUAL = 0x00000001,
|
---|
| 182 | NCF_SOFTWARE_ENUMERATED = 0x00000002,
|
---|
| 183 | NCF_PHYSICAL = 0x00000004,
|
---|
| 184 | NCF_HIDDEN = 0x00000008,
|
---|
| 185 | NCF_NO_SERVICE = 0x00000010,
|
---|
| 186 | NCF_NOT_USER_REMOVABLE = 0x00000020,
|
---|
| 187 | NCF_MULTIPORT_INSTANCED_ADAPTER = 0x00000040,
|
---|
| 188 | NCF_HAS_UI = 0x00000080,
|
---|
| 189 | NCF_SINGLE_INSTANCE = 0x00000100,
|
---|
| 190 | NCF_FILTER = 0x00000400,
|
---|
| 191 | NCF_DONTEXPOSELOWER = 0x00001000,
|
---|
| 192 | NCF_HIDE_BINDING = 0x00002000,
|
---|
| 193 | NCF_NDIS_PROTOCOL = 0x00004000,
|
---|
| 194 | NCF_FIXED_BINDING = 0x00020000,
|
---|
| 195 | NCF_LW_FILTER = 0x00040000
|
---|
| 196 | } COMPONENT_CHARACTERISTICS;
|
---|
| 197 |
|
---|
| 198 | typedef enum tagNCRP_FLAGS {
|
---|
| 199 | NCRP_QUERY_PROPERTY_UI = 0x00000001,
|
---|
| 200 | NCRP_SHOW_PROPERTY_UI = 0x00000002
|
---|
| 201 | } NCRP_FLAGS;
|
---|
| 202 |
|
---|
| 203 | HRESULT GetDisplayName ([out, string] LPWSTR *ppszwDisplayName);
|
---|
| 204 | HRESULT SetDisplayName ([in, string] LPCWSTR pszwDisplayName);
|
---|
| 205 | HRESULT GetHelpText ([out, string] LPWSTR *pszwHelpText);
|
---|
| 206 | HRESULT GetId ([out, string] LPWSTR *ppszwId);
|
---|
| 207 | HRESULT GetCharacteristics ([out] LPDWORD pdwCharacteristics);
|
---|
| 208 | HRESULT GetInstanceGuid ([out] GUID *pGuid);
|
---|
| 209 | HRESULT GetPnpDevNodeId ([out, string] LPWSTR *ppszwDevNodeId);
|
---|
| 210 | HRESULT GetClassGuid ([out] GUID *pGuid);
|
---|
| 211 | HRESULT GetBindName ([out, string] LPWSTR *ppszwBindName);
|
---|
| 212 | HRESULT GetDeviceStatus ([out] ULONG *pulStatus);
|
---|
| 213 | HRESULT OpenParamKey ([out] HKEY *phkey);
|
---|
| 214 | HRESULT RaisePropertyUi ([in] HWND hwndParent, [in] DWORD dwFlags, [in] IUnknown *punkContext);
|
---|
| 215 | };
|
---|
| 216 |
|
---|
| 217 | cpp_quote("")
|
---|
| 218 | [local, object, uuid(c0e8ae9e-306e-11d1-aacf-00805fc1270e), pointer_default(unique)]
|
---|
| 219 | interface INetCfgComponentBindings : IUnknown {
|
---|
| 220 | typedef enum tagSUPPORTS_BINDING_INTERFACE_FLAGS {
|
---|
| 221 | NCF_LOWER = 0x01,
|
---|
| 222 | NCF_UPPER = 0x02
|
---|
| 223 | } SUPPORTS_BINDING_INTERFACE_FLAGS;
|
---|
| 224 |
|
---|
| 225 | typedef enum tagENUM_BINDING_PATHS_FLAGS {
|
---|
| 226 | EBP_ABOVE = 0x01,
|
---|
| 227 | EBP_BELOW = 0x02
|
---|
| 228 | } ENUM_BINDING_PATHS_FLAGS;
|
---|
| 229 |
|
---|
| 230 | HRESULT BindTo ([in] INetCfgComponent *pnccItem);
|
---|
| 231 | HRESULT UnbindFrom ([in] INetCfgComponent *pnccItem);
|
---|
| 232 | HRESULT SupportsBindingInterface ([in] DWORD dwFlags, [in] LPCWSTR pszwInterfaceName);
|
---|
| 233 | HRESULT IsBoundTo ([in] INetCfgComponent *pnccItem);
|
---|
| 234 | HRESULT IsBindableTo ([in] INetCfgComponent *pnccItem);
|
---|
| 235 | HRESULT EnumBindingPaths ([in] DWORD dwFlags, [out] IEnumNetCfgBindingPath **ppIEnum);
|
---|
| 236 | HRESULT MoveBefore ([in] INetCfgBindingPath *pncbItemSrc, [in] INetCfgBindingPath *pncbItemDest);
|
---|
| 237 | HRESULT MoveAfter ([in] INetCfgBindingPath *pncbItemSrc, [in] INetCfgBindingPath *pncbItemDest);
|
---|
| 238 | };
|
---|
| 239 |
|
---|
| 240 | cpp_quote("")
|
---|
| 241 | [local, object, uuid(c0e8ae98-306e-11d1-aacf-00805fc1270e), pointer_default(unique)]
|
---|
| 242 | interface INetCfgSysPrep : IUnknown {
|
---|
| 243 | HRESULT HrSetupSetFirstDword([in, string] LPCWSTR pwszSection, [in, string] LPCWSTR pwszKey, [in] DWORD dwValue);
|
---|
| 244 | HRESULT HrSetupSetFirstString([in, string] LPCWSTR pwszSection, [in, string] LPCWSTR pwszKey, [in, string] LPCWSTR pwszValue);
|
---|
| 245 | HRESULT HrSetupSetFirstStringAsBool([in, string] LPCWSTR pwszSection, [in, string] LPCWSTR pwszKey, [in] WINBOOL fValue);
|
---|
| 246 | HRESULT HrSetupSetFirstMultiSzField([in, string] LPCWSTR pwszSection, [in, string] LPCWSTR pwszKey, [in, string] LPCWSTR pmszValue);
|
---|
| 247 | };
|
---|
| 248 |
|
---|
| 249 | cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */")
|
---|