8 uuid("8d9f4e40-a03d-11ce-8f69-08003e30051b"),
10 endpoint("ncacn_np:[\\pipe\\ntsvcs]","ncacn_np:[\\pipe\\plugplay]"),
11 helpstring("Plug and Play services")
18 [todo] WERROR PNP_Disconnect();
23 [todo] WERROR PNP_Connect();
28 WERROR PNP_GetVersion(
29 [out,ref] uint16 *version
35 [todo] WERROR PNP_GetGlobalState();
40 [todo] WERROR PNP_InitDetection();
45 [todo] WERROR PNP_ReportLogOn();
50 WERROR PNP_ValidateDeviceInstance(
51 [in,ref] [string,charset(UTF16)] uint16 *devicepath,
58 [todo] WERROR PNP_GetRootDeviceInstance();
63 [todo] WERROR PNP_GetRelatedDeviceInstance();
68 [todo] WERROR PNP_EnumerateSubKeys();
73 const int CM_GETIDLIST_FILTER_NONE = 0x00000000;
75 typedef [bitmap32bit] bitmap {
76 CM_GETIDLIST_FILTER_ENUMERATOR = 0x00000001,
77 CM_GETIDLIST_FILTER_SERVICE = 0x00000002,
78 CM_GETIDLIST_FILTER_EJECTRELATIONS = 0x00000004,
79 CM_GETIDLIST_FILTER_REMOVALRELATIONS = 0x00000008,
80 CM_GETIDLIST_FILTER_POWERRELATIONS = 0x00000010,
81 CM_GETIDLIST_FILTER_BUSRELATIONS = 0x00000020,
82 CM_GETIDLIST_DONOTGENERATE = 0x10000040,
83 CM_GETIDLIST_FILTER_TRANSPORTRELATIONS = 0x00000080,
84 CM_GETIDLIST_FILTER_PRESENT = 0x00000100,
85 CM_GETIDLIST_FILTER_CLASS = 0x00000200
88 WERROR PNP_GetDeviceList(
89 [in,unique] [string,charset(UTF16)] uint16 *filter,
90 [out,ref] [size_is(*length),length_is(*length)] uint16 *buffer,
91 [in,out,ref] uint32 *length,
92 [in] PNP_GetIdListFlags flags
98 WERROR PNP_GetDeviceListSize(
99 [in,unique] [string,charset(UTF16)] uint16 *devicename,
100 [out,ref] uint32 *size,
101 [in] PNP_GetIdListFlags flags
107 [todo] WERROR PNP_GetDepth();
112 const int DEV_REGPROP_DESC = 1;
114 WERROR PNP_GetDeviceRegProp(
115 [in,ref] [string,charset(UTF16)] uint16 *devicepath,
116 [in] uint32 property,
117 [in,out,ref] winreg_Type *reg_data_type,
118 [out,ref] [size_is(*buffer_size)] [length_is(*buffer_size)] uint8 *buffer,
119 [in,out,ref] uint32 *buffer_size,
120 [in,out,ref] uint32 *needed,
127 [todo] WERROR PNP_SetDeviceRegProp();
132 [todo] WERROR PNP_GetClassInstance();
137 [todo] WERROR PNP_CreateKey();
142 [todo] WERROR PNP_DeleteRegistryKey();
147 [todo] WERROR PNP_GetClassCount();
152 [todo] WERROR PNP_GetClassName();
157 [todo] WERROR PNP_DeleteClassKey();
162 [todo] WERROR PNP_GetInterfaceDeviceAlias();
167 [todo] WERROR PNP_GetInterfaceDeviceList();
172 [todo] WERROR PNP_GetInterfaceDeviceListSize();
177 [todo] WERROR PNP_RegisterDeviceClassAssociation();
182 [todo] WERROR PNP_UnregisterDeviceClassAssociation();
187 [todo] WERROR PNP_GetClassRegProp();
192 [todo] WERROR PNP_SetClassRegProp();
197 [todo] WERROR PNP_CreateDevInst();
202 [todo] WERROR PNP_DeviceInstanceAction();
207 [todo] WERROR PNP_GetDeviceStatus();
212 [todo] WERROR PNP_SetDeviceProblem();
217 [todo] WERROR PNP_DisableDevInst();
222 [todo] WERROR PNP_UninstallDevInst();
227 [todo] WERROR PNP_AddID();
232 [todo] WERROR PNP_RegisterDriver();
237 [todo] WERROR PNP_QueryRemove();
242 [todo] WERROR PNP_RequestDeviceEject();
247 [todo] WERROR PNP_IsDockStationPresent();
252 [todo] WERROR PNP_RequestEjectPC();
257 WERROR PNP_HwProfFlags(
259 [in,ref] [string,charset(UTF16)] uint16 *devicepath,
261 [in,out,ref] uint32 *profile_flags,
262 [in,out,unique] uint16 *veto_type,
263 [in,unique] [string,charset(UTF16)] uint16 *unknown5,
264 [out,unique] [string,charset(UTF16)] uint16 **unknown5a,
265 [in] uint32 name_length,
273 uint32 profile_handle;
274 uint16 friendly_name[80];
278 WERROR PNP_GetHwProfInfo(
280 [in,out,ref] PNP_HwProfInfo *info,
288 [todo] WERROR PNP_AddEmptyLogConf();
293 [todo] WERROR PNP_FreeLogConf();
298 [todo] WERROR PNP_GetFirstLogConf();
303 [todo] WERROR PNP_GetNextLogConf();
308 [todo] WERROR PNP_GetLogConfPriority();
313 [todo] WERROR PNP_AddResDes();
318 [todo] WERROR PNP_FreeResDes();
323 [todo] WERROR PNP_GetNextResDes();
328 [todo] WERROR PNP_GetResDesData();
333 [todo] WERROR PNP_GetResDesDataSize();
338 [todo] WERROR PNP_ModifyResDes();
343 [todo] WERROR PNP_DetectResourceLimit();
348 [todo] WERROR PNP_QueryResConfList();
353 [todo] WERROR PNP_SetHwProf();
358 [todo] WERROR PNP_QueryArbitratorFreeData();
363 [todo] WERROR PNP_QueryArbitratorFreeSize();
368 [todo] WERROR PNP_RunDetection();
373 [todo] WERROR PNP_RegisterNotification();
378 [todo] WERROR PNP_UnregisterNotification();
383 [todo] WERROR PNP_GetCustomDevProp();
388 [todo] WERROR PNP_GetVersionInternal();
393 [todo] WERROR PNP_GetBlockedDriverInfo();
398 [todo] WERROR PNP_GetServerSideDeviceInstallFlags();