include: Added netcfgx.idl (try 2)

Alistair Leslie-Hughes leslie_alistair at hotmail.com
Wed Mar 19 00:13:33 CDT 2014


Hi,
Also updates uuid.lib, so that CLSID_CNetCfg is available.

Changelog:
      include: Added netcfgx.idl


Best Regards
   Alistair Leslie-Hughes

-------------- next part --------------
>From 26cb3d14ace6550d29bf5d92742f161cf2b3aa54 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date: Wed, 19 Mar 2014 14:01:38 +1100
Subject: [PATCH] Added netcfgx.idl
To: wine-patches <wine-patches at winehq.org>

---
 dlls/uuid/uuid.c    |   1 +
 include/Makefile.in |   1 +
 include/netcfgx.idl | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 114 insertions(+)
 create mode 100644 include/netcfgx.idl

diff --git a/dlls/uuid/uuid.c b/dlls/uuid/uuid.c
index fb06f2d..af96221 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 7153467..ccfff68 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 0000000..073f91c
--- /dev/null
+++ b/include/netcfgx.idl
@@ -0,0 +1,112 @@
+/*
+ *
+ * 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";
+
+interface IEnumNetCfgComponent;
+interface INetCfg;
+interface INetCfgComponent;
+
+[
+    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;
+}
-- 
1.8.3.2



More information about the wine-patches mailing list