1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 2001.
//
// File: N E T C F G A P I . H
//
// Contents: Functions Prototypes
//
// Notes:
//
// Author: Alok Sinha 15-May-01
//
//----------------------------------------------------------------------------
#ifndef _NETCFGAPI_H_INCLUDED
#define _NETCFGAPI_H_INCLUDED
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <wchar.h>
#include <netcfgx.h>
#include <netcfgn.h>
#include <setupapi.h>
#include <devguid.h>
#include <objbase.h>
#include <strsafe.h>
#define celems(_x) (sizeof(_x) / sizeof(_x[0]))
#define LOCK_TIME_OUT 5000
HRESULT HrGetINetCfg (IN BOOL fGetWriteLock,
IN LPCWSTR lpszAppName,
OUT INetCfg** ppnc,
_Outptr_opt_result_maybenull_ LPWSTR *lpszLockedBy);
HRESULT HrReleaseINetCfg (INetCfg* pnc,
BOOL fHasWriteLock);
HRESULT HrInstallNetComponent (IN INetCfg *pnc,
IN LPCWSTR szComponentId,
IN const GUID *pguildClass,
IN LPCWSTR lpszInfFullPath);
HRESULT HrInstallComponent(IN INetCfg* pnc,
IN LPCWSTR szComponentId,
IN const GUID* pguidClass);
HRESULT HrUninstallNetComponent(IN INetCfg* pnc,
IN LPCWSTR szComponentId);
HRESULT HrGetComponentEnum (INetCfg* pnc,
IN const GUID* pguidClass,
IEnumNetCfgComponent **ppencc);
HRESULT HrGetFirstComponent (IEnumNetCfgComponent* pencc,
INetCfgComponent **ppncc);
HRESULT HrGetNextComponent (IEnumNetCfgComponent* pencc,
INetCfgComponent **ppncc);
HRESULT HrFindNetComponentByPnpId (IN INetCfg *pnc,
IN _In_ LPWSTR lpszPnpDevNodeId,
OUT INetCfgComponent **ppncc);
HRESULT HrGetBindingPathEnum (INetCfgComponent *pncc,
DWORD dwBindingType,
IEnumNetCfgBindingPath **ppencbp);
HRESULT HrGetFirstBindingPath (IEnumNetCfgBindingPath *pencbp,
INetCfgBindingPath **ppncbp);
HRESULT HrGetNextBindingPath (IEnumNetCfgBindingPath *pencbp,
INetCfgBindingPath **ppncbp);
HRESULT HrGetBindingInterfaceEnum (INetCfgBindingPath *pncbp,
IEnumNetCfgBindingInterface **ppencbi);
HRESULT HrGetFirstBindingInterface (IEnumNetCfgBindingInterface *pencbi,
INetCfgBindingInterface **ppncbi);
HRESULT HrGetNextBindingInterface (IEnumNetCfgBindingInterface *pencbi,
INetCfgBindingInterface **ppncbi);
VOID ReleaseRef (IUnknown* punk);
#endif
|