| 1 | /*
|
|---|
| 2 | plug and play services
|
|---|
| 3 | */
|
|---|
| 4 | [
|
|---|
| 5 | uuid("8d9f4e40-a03d-11ce-8f69-08003e30051b"),
|
|---|
| 6 | version(1.0),
|
|---|
| 7 | helpstring("Plug and Play services")
|
|---|
| 8 | ]
|
|---|
| 9 | interface ntsvcs
|
|---|
| 10 | {
|
|---|
| 11 | /******************/
|
|---|
| 12 | /* Function: 0x00 */
|
|---|
| 13 |
|
|---|
| 14 | WERROR PNP_Disconnect();
|
|---|
| 15 |
|
|---|
| 16 | /******************/
|
|---|
| 17 | /* Function: 0x01 */
|
|---|
| 18 |
|
|---|
| 19 | WERROR PNP_Connect();
|
|---|
| 20 |
|
|---|
| 21 | /******************/
|
|---|
| 22 | /* Function: 0x02 */
|
|---|
| 23 |
|
|---|
| 24 | WERROR PNP_GetVersion(
|
|---|
| 25 | [out,ref] uint16 *version
|
|---|
| 26 | );
|
|---|
| 27 |
|
|---|
| 28 | /******************/
|
|---|
| 29 | /* Function: 0x03 */
|
|---|
| 30 |
|
|---|
| 31 | WERROR PNP_GetGlobalState();
|
|---|
| 32 |
|
|---|
| 33 | /******************/
|
|---|
| 34 | /* Function: 0x04 */
|
|---|
| 35 |
|
|---|
| 36 | WERROR PNP_InitDetection();
|
|---|
| 37 |
|
|---|
| 38 | /******************/
|
|---|
| 39 | /* Function: 0x05 */
|
|---|
| 40 |
|
|---|
| 41 | WERROR PNP_ReportLogOn();
|
|---|
| 42 |
|
|---|
| 43 | /******************/
|
|---|
| 44 | /* Function: 0x06 */
|
|---|
| 45 |
|
|---|
| 46 | WERROR PNP_ValidateDeviceInstance(
|
|---|
| 47 | [in,ref] [string,charset(UTF16)] uint16 *devicepath,
|
|---|
| 48 | [in] uint32 flags
|
|---|
| 49 | );
|
|---|
| 50 |
|
|---|
| 51 | /******************/
|
|---|
| 52 | /* Function: 0x07 */
|
|---|
| 53 |
|
|---|
| 54 | WERROR PNP_GetRootDeviceInstance();
|
|---|
| 55 |
|
|---|
| 56 | /******************/
|
|---|
| 57 | /* Function: 0x08 */
|
|---|
| 58 |
|
|---|
| 59 | WERROR PNP_GetRelatedDeviceInstance();
|
|---|
| 60 |
|
|---|
| 61 | /******************/
|
|---|
| 62 | /* Function: 0x09 */
|
|---|
| 63 |
|
|---|
| 64 | WERROR PNP_EnumerateSubKeys();
|
|---|
| 65 |
|
|---|
| 66 | /******************/
|
|---|
| 67 | /* Function: 0x0a */
|
|---|
| 68 |
|
|---|
| 69 | WERROR PNP_GetDeviceList();
|
|---|
| 70 |
|
|---|
| 71 | /******************/
|
|---|
| 72 | /* Function: 0x0b */
|
|---|
| 73 |
|
|---|
| 74 | WERROR PNP_GetDeviceListSize(
|
|---|
| 75 | [in,unique] [string,charset(UTF16)] uint16 *devicename,
|
|---|
| 76 | [out,ref] uint32 *size,
|
|---|
| 77 | [in] uint32 flags
|
|---|
| 78 | );
|
|---|
| 79 |
|
|---|
| 80 | /******************/
|
|---|
| 81 | /* Function: 0x0c */
|
|---|
| 82 |
|
|---|
| 83 | WERROR PNP_GetDepth();
|
|---|
| 84 |
|
|---|
| 85 | /******************/
|
|---|
| 86 | /* Function: 0x0d */
|
|---|
| 87 |
|
|---|
| 88 | const int DEV_REGPROP_DESC = 1;
|
|---|
| 89 |
|
|---|
| 90 | WERROR PNP_GetDeviceRegProp(
|
|---|
| 91 | [in,ref] [string,charset(UTF16)] uint16 *devicepath,
|
|---|
| 92 | [in] uint32 property,
|
|---|
| 93 | [in,out,ref] uint32 *unknown1,
|
|---|
| 94 | [out,ref] [size_is(*buffer_size)] [length_is(*buffer_size)] uint8 *buffer,
|
|---|
| 95 | [in,out,ref] uint32 *buffer_size,
|
|---|
| 96 | [in,out,ref] uint32 *needed,
|
|---|
| 97 | [in] uint32 unknown3
|
|---|
| 98 | );
|
|---|
| 99 |
|
|---|
| 100 | /******************/
|
|---|
| 101 | /* Function: 0x0e */
|
|---|
| 102 |
|
|---|
| 103 | WERROR PNP_SetDeviceRegProp();
|
|---|
| 104 |
|
|---|
| 105 | /******************/
|
|---|
| 106 | /* Function: 0x0f */
|
|---|
| 107 |
|
|---|
| 108 | WERROR PNP_GetClassInstance();
|
|---|
| 109 |
|
|---|
| 110 | /******************/
|
|---|
| 111 | /* Function: 0x10 */
|
|---|
| 112 |
|
|---|
| 113 | WERROR PNP_CreateKey();
|
|---|
| 114 |
|
|---|
| 115 | /******************/
|
|---|
| 116 | /* Function: 0x11 */
|
|---|
| 117 |
|
|---|
| 118 | WERROR PNP_DeleteRegistryKey();
|
|---|
| 119 |
|
|---|
| 120 | /******************/
|
|---|
| 121 | /* Function: 0x12 */
|
|---|
| 122 |
|
|---|
| 123 | WERROR PNP_GetClassCount();
|
|---|
| 124 |
|
|---|
| 125 | /******************/
|
|---|
| 126 | /* Function: 0x13 */
|
|---|
| 127 |
|
|---|
| 128 | WERROR PNP_GetClassName();
|
|---|
| 129 |
|
|---|
| 130 | /******************/
|
|---|
| 131 | /* Function: 0x14 */
|
|---|
| 132 |
|
|---|
| 133 | WERROR PNP_DeleteClassKey();
|
|---|
| 134 |
|
|---|
| 135 | /******************/
|
|---|
| 136 | /* Function: 0x15 */
|
|---|
| 137 |
|
|---|
| 138 | WERROR PNP_GetInterfaceDeviceAlias();
|
|---|
| 139 |
|
|---|
| 140 | /******************/
|
|---|
| 141 | /* Function: 0x16 */
|
|---|
| 142 |
|
|---|
| 143 | WERROR PNP_GetInterfaceDeviceList();
|
|---|
| 144 |
|
|---|
| 145 | /******************/
|
|---|
| 146 | /* Function: 0x17 */
|
|---|
| 147 |
|
|---|
| 148 | WERROR PNP_GetInterfaceDeviceListSize();
|
|---|
| 149 |
|
|---|
| 150 | /******************/
|
|---|
| 151 | /* Function: 0x18 */
|
|---|
| 152 |
|
|---|
| 153 | WERROR PNP_RegisterDeviceClassAssociation();
|
|---|
| 154 |
|
|---|
| 155 | /******************/
|
|---|
| 156 | /* Function: 0x19 */
|
|---|
| 157 |
|
|---|
| 158 | WERROR PNP_UnregisterDeviceClassAssociation();
|
|---|
| 159 |
|
|---|
| 160 | /******************/
|
|---|
| 161 | /* Function: 0x1a */
|
|---|
| 162 |
|
|---|
| 163 | WERROR PNP_GetClassRegProp();
|
|---|
| 164 |
|
|---|
| 165 | /******************/
|
|---|
| 166 | /* Function: 0x1b */
|
|---|
| 167 |
|
|---|
| 168 | WERROR PNP_SetClassRegProp();
|
|---|
| 169 |
|
|---|
| 170 | /******************/
|
|---|
| 171 | /* Function: 0x1c */
|
|---|
| 172 |
|
|---|
| 173 | WERROR PNP_CreateDevInst();
|
|---|
| 174 |
|
|---|
| 175 | /******************/
|
|---|
| 176 | /* Function: 0x1d */
|
|---|
| 177 |
|
|---|
| 178 | WERROR PNP_DeviceInstanceAction();
|
|---|
| 179 |
|
|---|
| 180 | /******************/
|
|---|
| 181 | /* Function: 0x1e */
|
|---|
| 182 |
|
|---|
| 183 | WERROR PNP_GetDeviceStatus();
|
|---|
| 184 |
|
|---|
| 185 | /******************/
|
|---|
| 186 | /* Function: 0x1f */
|
|---|
| 187 |
|
|---|
| 188 | WERROR PNP_SetDeviceProblem();
|
|---|
| 189 |
|
|---|
| 190 | /******************/
|
|---|
| 191 | /* Function: 0x20 */
|
|---|
| 192 |
|
|---|
| 193 | WERROR PNP_DisableDevInst();
|
|---|
| 194 |
|
|---|
| 195 | /******************/
|
|---|
| 196 | /* Function: 0x21 */
|
|---|
| 197 |
|
|---|
| 198 | WERROR PNP_UninstallDevInst();
|
|---|
| 199 |
|
|---|
| 200 | /******************/
|
|---|
| 201 | /* Function: 0x22 */
|
|---|
| 202 |
|
|---|
| 203 | WERROR PNP_AddID();
|
|---|
| 204 |
|
|---|
| 205 | /******************/
|
|---|
| 206 | /* Function: 0x23 */
|
|---|
| 207 |
|
|---|
| 208 | WERROR PNP_RegisterDriver();
|
|---|
| 209 |
|
|---|
| 210 | /******************/
|
|---|
| 211 | /* Function: 0x24 */
|
|---|
| 212 |
|
|---|
| 213 | WERROR PNP_QueryRemove();
|
|---|
| 214 |
|
|---|
| 215 | /******************/
|
|---|
| 216 | /* Function: 0x25 */
|
|---|
| 217 |
|
|---|
| 218 | WERROR PNP_RequestDeviceEject();
|
|---|
| 219 |
|
|---|
| 220 | /******************/
|
|---|
| 221 | /* Function: 0x26 */
|
|---|
| 222 |
|
|---|
| 223 | WERROR PNP_IsDockStationPresent();
|
|---|
| 224 |
|
|---|
| 225 | /******************/
|
|---|
| 226 | /* Function: 0x27 */
|
|---|
| 227 |
|
|---|
| 228 | WERROR PNP_RequestEjectPC();
|
|---|
| 229 |
|
|---|
| 230 | /******************/
|
|---|
| 231 | /* Function: 0x28 */
|
|---|
| 232 |
|
|---|
| 233 | WERROR PNP_HwProfFlags(
|
|---|
| 234 | [in] uint32 unknown1,
|
|---|
| 235 | [in,ref] [string,charset(UTF16)] uint16 *devicepath,
|
|---|
| 236 | [in] uint32 unknown2,
|
|---|
| 237 | [in,out,ref] uint32 *unknown3,
|
|---|
| 238 | [in,out,unique] uint16 *unknown4,
|
|---|
| 239 | [in,unique] [string,charset(UTF16)] uint16 *unknown5,
|
|---|
| 240 | [out,unique] [string,charset(UTF16)] uint16 **unknown5a,
|
|---|
| 241 | [in] uint32 unknown6,
|
|---|
| 242 | [in] uint32 unknown7
|
|---|
| 243 | );
|
|---|
| 244 |
|
|---|
| 245 | /******************/
|
|---|
| 246 | /* Function: 0x29 */
|
|---|
| 247 |
|
|---|
| 248 | typedef struct {
|
|---|
| 249 | uint32 profile_handle;
|
|---|
| 250 | uint16 friendly_name[80];
|
|---|
| 251 | uint32 flags;
|
|---|
| 252 | } PNP_HwProfInfo;
|
|---|
| 253 |
|
|---|
| 254 | WERROR PNP_GetHwProfInfo(
|
|---|
| 255 | [in] uint32 idx,
|
|---|
| 256 | [in,out,ref] PNP_HwProfInfo *info,
|
|---|
| 257 | [in] uint32 size,
|
|---|
| 258 | [in] uint32 flags
|
|---|
| 259 | );
|
|---|
| 260 |
|
|---|
| 261 | /******************/
|
|---|
| 262 | /* Function: 0x2a */
|
|---|
| 263 |
|
|---|
| 264 | WERROR PNP_AddEmptyLogConf();
|
|---|
| 265 |
|
|---|
| 266 | /******************/
|
|---|
| 267 | /* Function: 0x2b */
|
|---|
| 268 |
|
|---|
| 269 | WERROR PNP_FreeLogConf();
|
|---|
| 270 |
|
|---|
| 271 | /******************/
|
|---|
| 272 | /* Function: 0x2c */
|
|---|
| 273 |
|
|---|
| 274 | WERROR PNP_GetFirstLogConf();
|
|---|
| 275 |
|
|---|
| 276 | /******************/
|
|---|
| 277 | /* Function: 0x2d */
|
|---|
| 278 |
|
|---|
| 279 | WERROR PNP_GetNextLogConf();
|
|---|
| 280 |
|
|---|
| 281 | /******************/
|
|---|
| 282 | /* Function: 0x2e */
|
|---|
| 283 |
|
|---|
| 284 | WERROR PNP_GetLogConfPriority();
|
|---|
| 285 |
|
|---|
| 286 | /******************/
|
|---|
| 287 | /* Function: 0x2f */
|
|---|
| 288 |
|
|---|
| 289 | WERROR PNP_AddResDes();
|
|---|
| 290 |
|
|---|
| 291 | /******************/
|
|---|
| 292 | /* Function: 0x30 */
|
|---|
| 293 |
|
|---|
| 294 | WERROR PNP_FreeResDes();
|
|---|
| 295 |
|
|---|
| 296 | /******************/
|
|---|
| 297 | /* Function: 0x31 */
|
|---|
| 298 |
|
|---|
| 299 | WERROR PNP_GetNextResDes();
|
|---|
| 300 |
|
|---|
| 301 | /******************/
|
|---|
| 302 | /* Function: 0x32 */
|
|---|
| 303 |
|
|---|
| 304 | WERROR PNP_GetResDesData();
|
|---|
| 305 |
|
|---|
| 306 | /******************/
|
|---|
| 307 | /* Function: 0x33 */
|
|---|
| 308 |
|
|---|
| 309 | WERROR PNP_GetResDesDataSize();
|
|---|
| 310 |
|
|---|
| 311 | /******************/
|
|---|
| 312 | /* Function: 0x34 */
|
|---|
| 313 |
|
|---|
| 314 | WERROR PNP_ModifyResDes();
|
|---|
| 315 |
|
|---|
| 316 | /******************/
|
|---|
| 317 | /* Function: 0x35 */
|
|---|
| 318 |
|
|---|
| 319 | WERROR PNP_DetectResourceLimit();
|
|---|
| 320 |
|
|---|
| 321 | /******************/
|
|---|
| 322 | /* Function: 0x36 */
|
|---|
| 323 |
|
|---|
| 324 | WERROR PNP_QueryResConfList();
|
|---|
| 325 |
|
|---|
| 326 | /******************/
|
|---|
| 327 | /* Function: 0x37 */
|
|---|
| 328 |
|
|---|
| 329 | WERROR PNP_SetHwProf();
|
|---|
| 330 |
|
|---|
| 331 | /******************/
|
|---|
| 332 | /* Function: 0x38 */
|
|---|
| 333 |
|
|---|
| 334 | WERROR PNP_QueryArbitratorFreeData();
|
|---|
| 335 |
|
|---|
| 336 | /******************/
|
|---|
| 337 | /* Function: 0x39 */
|
|---|
| 338 |
|
|---|
| 339 | WERROR PNP_QueryArbitratorFreeSize();
|
|---|
| 340 |
|
|---|
| 341 | /******************/
|
|---|
| 342 | /* Function: 0x3a */
|
|---|
| 343 |
|
|---|
| 344 | WERROR PNP_RunDetection();
|
|---|
| 345 |
|
|---|
| 346 | /******************/
|
|---|
| 347 | /* Function: 0x3b */
|
|---|
| 348 |
|
|---|
| 349 | WERROR PNP_RegisterNotification();
|
|---|
| 350 |
|
|---|
| 351 | /******************/
|
|---|
| 352 | /* Function: 0x3c */
|
|---|
| 353 |
|
|---|
| 354 | WERROR PNP_UnregisterNotification();
|
|---|
| 355 |
|
|---|
| 356 | /******************/
|
|---|
| 357 | /* Function: 0x3d */
|
|---|
| 358 |
|
|---|
| 359 | WERROR PNP_GetCustomDevProp();
|
|---|
| 360 |
|
|---|
| 361 | /******************/
|
|---|
| 362 | /* Function: 0x3e */
|
|---|
| 363 |
|
|---|
| 364 | WERROR PNP_GetVersionInternal();
|
|---|
| 365 |
|
|---|
| 366 | /******************/
|
|---|
| 367 | /* Function: 0x3f */
|
|---|
| 368 |
|
|---|
| 369 | WERROR PNP_GetBlockedDriverInfo();
|
|---|
| 370 |
|
|---|
| 371 | /******************/
|
|---|
| 372 | /* Function: 0x40 */
|
|---|
| 373 |
|
|---|
| 374 | WERROR PNP_GetServerSideDeviceInstallFlags();
|
|---|
| 375 | }
|
|---|