include: Add netcfgx.idl.

This commit is contained in:
Alistair Leslie-Hughes 2014-03-19 14:01:38 +11:00 committed by Alexandre Julliard
parent d8c6a11971
commit 84e8d18902
3 changed files with 117 additions and 0 deletions

View File

@ -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 */

View File

@ -74,6 +74,7 @@ PUBLIC_IDL_H_SRCS = \
msxml.idl \
msxml2.idl \
msxml6.idl \
netcfgx.idl \
netcon.idl \
netfw.idl \
oaidl.idl \

115
include/netcfgx.idl Normal file
View File

@ -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;
}