From 84e8d18902a6dbff11c9e89c13d2be305376e80d Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Wed, 19 Mar 2014 14:01:38 +1100 Subject: [PATCH] include: Add netcfgx.idl. --- dlls/uuid/uuid.c | 1 + include/Makefile.in | 1 + include/netcfgx.idl | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 117 insertions(+) create mode 100644 include/netcfgx.idl diff --git a/dlls/uuid/uuid.c b/dlls/uuid/uuid.c index fb06f2d3b37..af96221400b 100644 --- a/dlls/uuid/uuid.c +++ b/dlls/uuid/uuid.c @@ -86,6 +86,7 @@ DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0); #include "commdlg.h" #include "tlogstg.h" #include "msdasc.h" +#include "netcfgx.h" /* FIXME: cguids declares GUIDs but does not define their values */ diff --git a/include/Makefile.in b/include/Makefile.in index de0e5630650..525e4eb9564 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -74,6 +74,7 @@ PUBLIC_IDL_H_SRCS = \ msxml.idl \ msxml2.idl \ msxml6.idl \ + netcfgx.idl \ netcon.idl \ netfw.idl \ oaidl.idl \ diff --git a/include/netcfgx.idl b/include/netcfgx.idl new file mode 100644 index 00000000000..c465410d261 --- /dev/null +++ b/include/netcfgx.idl @@ -0,0 +1,115 @@ +/* + * + * Copyright 2014 Alistair Leslie-Hughes + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "unknwn.idl"; +import "wtypes.idl"; + +#ifndef __WIDL__ +#define threading(model) +#define progid(str) +#define vi_progid(str) +#endif + +[ + local, + object, + uuid(c0e8ae99-306e-11d1-aacf-00805fc1270e), + pointer_default(unique) +] +interface INetCfgComponent : IUnknown +{ + typedef enum tagCOMPONENT_CHARACTERISTICS + { + NCF_VIRTUAL = 0x00000001, + NCF_SOFTWARE_ENUMERATED = 0x00000002, + NCF_PHYSICAL = 0x00000004, + NCF_HIDDEN = 0x00000008, + NCF_NO_SERVICE = 0x00000010, + NCF_NOT_USER_REMOVABLE = 0x00000020, + NCF_MULTIPORT_INSTANCED_ADAPTER = 0x00000040, + NCF_HAS_UI = 0x00000080, + NCF_SINGLE_INSTANCE = 0x00000100, + NCF_FILTER = 0x00000400, + NCF_DONTEXPOSELOWER = 0x00001000, + NCF_HIDE_BINDING = 0x00002000, + NCF_NDIS_PROTOCOL = 0x00004000, + NCF_FIXED_BINDING = 0x00020000, + NCF_LW_FILTER = 0x00040000 + } COMPONENT_CHARACTERISTICS; + + typedef enum tagNCRP_FLAGS + { + NCRP_QUERY_PROPERTY_UI = 0x00000001, + NCRP_SHOW_PROPERTY_UI = 0x00000002 + } NCRP_FLAGS; + + HRESULT GetDisplayName ([out] LPWSTR* ppszwDisplayName); + HRESULT SetDisplayName ([in] LPCWSTR pszwDisplayName); + HRESULT GetHelpText ([out] LPWSTR* pszwHelpText); + HRESULT GetId ([out] LPWSTR* ppszwId); + HRESULT GetCharacteristics ([out] LPDWORD pdwCharacteristics); + HRESULT GetInstanceGuid ([out] GUID* pGuid); + HRESULT GetPnpDevNodeId ([out] LPWSTR* ppszwDevNodeId); + HRESULT GetClassGuid ([out] GUID* pGuid); + HRESULT GetBindName ([out] LPWSTR* ppszwBindName); + HRESULT GetDeviceStatus ([out] ULONG* pulStatus); + HRESULT OpenParamKey ([out] HKEY* phkey); + HRESULT RaisePropertyUi ([in] HWND hwndParent, [in] DWORD dwFlags, [in] IUnknown* punkContext); +}; + + +[ + local, + object, + uuid(c0e8ae92-306e-11d1-aacf-00805fc1270e), + pointer_default(unique) +] +interface IEnumNetCfgComponent : IUnknown +{ + HRESULT Next ([in] ULONG celt, [out] INetCfgComponent** rgelt, [out] ULONG *pceltFetched); + HRESULT Skip ([in] ULONG celt); + HRESULT Reset (); + HRESULT Clone ([out] IEnumNetCfgComponent** ppenum); +}; + +[ + local, + object, + uuid(c0e8ae93-306e-11d1-aacf-00805fc1270e), + pointer_default(unique) +] +interface INetCfg : IUnknown +{ + HRESULT Initialize ([in] PVOID pvReserved); + HRESULT Uninitialize (); + HRESULT Apply (); + HRESULT Cancel (); + HRESULT EnumComponents ([in] const GUID* pguidClass, [out] IEnumNetCfgComponent** ppenumComponent); + HRESULT FindComponent ([in] LPCWSTR pszwInfId, [out] INetCfgComponent** pComponent); + HRESULT QueryNetCfgClass ([in] const GUID* pguidClass, [in] REFIID riid,[out] void** ppvObject); +}; + +[ + threading(both), + uuid(5b035261-40f9-11d1-aaec-00805fc1270e) +] +coclass CNetCfg +{ + [default] interface INetCfg; +} -- 2.11.4.GIT