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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
/*
plug and play services
*/
[
uuid("8d9f4e40-a03d-11ce-8f69-08003e30051b"),
version(1.0),
helpstring("Plug and Play services")
]
interface ntsvcs
{
[todo] void PNP_Disconnect();
[todo] void PNP_Connect();
[todo] void PNP_GetVersion();
[todo] void PNP_GetGlobalState();
[todo] void PNP_InitDetection();
[todo] void PNP_ReportLogOn();
[todo] void PNP_ValidateDeviceInstance();
[todo] void PNP_GetRootDeviceInstance();
[todo] void PNP_GetRelatedDeviceInstance();
[todo] void PNP_EnumerateSubKeys();
[todo] void PNP_GetDeviceList();
/******************/
/* Function: 0x0b */
WERROR PNP_GetDeviceListSize(
[in,unique] [string,charset(UTF16)] uint16 *devicename,
[out,ref] uint32 *size,
[in] uint32 flags
);
[todo] void PNP_GetDepth();
/******************/
/* Function: 0x0d */
const int DEV_REGPROP_DESC = 1;
WERROR PNP_GetDeviceRegProp(
[in,ref] [string,charset(UTF16)] uint16 *devicepath,
[in] uint32 property,
[in,out,ref] uint32 *unknown1,
[out,ref] [size_is(*buffer_size)] [length_is(*buffer_size)] uint8 *buffer,
[in,out,ref] uint32 *buffer_size,
[in,out,ref] uint32 *needed,
[in] uint32 unknown3
);
[todo] void PNP_SetDeviceRegProp();
[todo] void PNP_GetClassInstance();
[todo] void PNP_CreateKey();
[todo] void PNP_DeleteRegistryKey();
[todo] void PNP_GetClassCount();
[todo] void PNP_GetClassName();
[todo] void PNP_DeleteClassKey();
[todo] void PNP_GetInterfaceDeviceAlias();
[todo] void PNP_GetInterfaceDeviceList();
[todo] void PNP_GetInterfaceDeviceListSize();
[todo] void PNP_RegisterDeviceClassAssociation();
[todo] void PNP_UnregisterDeviceClassAssociation();
[todo] void PNP_GetClassRegProp();
[todo] void PNP_SetClassRegProp();
[todo] void PNP_CreateDevInst();
[todo] void PNP_DeviceInstanceAction();
[todo] void PNP_GetDeviceStatus();
[todo] void PNP_SetDeviceProblem();
[todo] void PNP_DisableDevInst();
[todo] void PNP_UninstallDevInst();
[todo] void PNP_AddID();
[todo] void PNP_RegisterDriver();
[todo] void PNP_QueryRemove();
[todo] void PNP_RequestDeviceEject();
[todo] void PNP_IsDockStationPresent();
[todo] void PNP_RequestEjectPC();
/******************/
/* Function: 0x28 */
WERROR PNP_HwProfFlags(
[in] uint32 unknown1,
[in,ref] [string,charset(UTF16)] uint16 *devicepath,
[in] uint32 unknown2,
[in,out,ref] uint32 *unknown3,
[in,out,unique] uint16 *unknown4,
[in,unique] [string,charset(UTF16)] uint16 *unknown5,
[out,unique] [string,charset(UTF16)] uint16 **unknown5a,
[in] uint32 unknown6,
[in] uint32 unknown7
);
/******************/
/* Function: 0x29 */
typedef struct {
uint32 unknown1;
uint16 unknown2[160];
uint32 unknown3;
} PNP_HwProfInfo;
WERROR PNP_GetHwProfInfo(
[in] uint32 idx,
[in,out,ref] PNP_HwProfInfo *info,
[in] uint32 unknown1,
[in] uint32 unknown2
);
[todo] void PNP_AddEmptyLogConf();
[todo] void PNP_FreeLogConf();
[todo] void PNP_GetFirstLogConf();
[todo] void PNP_GetNextLogConf();
[todo] void PNP_GetLogConfPriority();
[todo] void PNP_AddResDes();
[todo] void PNP_FreeResDes();
[todo] void PNP_GetNextResDes();
[todo] void PNP_GetResDesData();
[todo] void PNP_GetResDesDataSize();
[todo] void PNP_ModifyResDes();
[todo] void PNP_DetectResourceLimit();
[todo] void PNP_QueryResConfList();
[todo] void PNP_SetHwProf();
[todo] void PNP_QueryArbitratorFreeData();
[todo] void PNP_QueryArbitratorFreeSize();
[todo] void PNP_RunDetection();
[todo] void PNP_RegisterNotification();
[todo] void PNP_UnregisterNotification();
[todo] void PNP_GetCustomDevProp();
[todo] void PNP_GetVersionInternal();
[todo] void PNP_GetBlockedDriverInfo();
[todo] void PNP_GetServerSideDeviceInstallFlags();
}
|