Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenpnp.idl
Go to the documentation of this file.
00001 /* 00002 * Plug and Play Manager RPC interface definition 00003 */ 00004 00005 #include <ms-dtyp.idl> 00006 00007 const unsigned long PNP_MAX_STRING_LEN = 32767; 00008 const unsigned long PNP_MAX_DEVICE_ID_LEN = 200; 00009 const unsigned long PNP_MAX_GUID_STRING_LEN = 39; 00010 const unsigned long PNP_MAX_DEVINTERFACE_LEN = PNP_MAX_STRING_LEN; 00011 const unsigned long PNP_MAX_CULTURE_NAME_LEN = 85; 00012 const unsigned long PNP_MAX_CM_PATH = 360; 00013 const unsigned long PNP_MAX_PROP_SIZE = 65534; 00014 const unsigned long PNP_MAX_PROP_COUNT = 32767; 00015 const unsigned long PNP_MAX_BUFFER_SIZE = 16000000; 00016 00017 cpp_quote("#ifndef _CFGMGR32_H_") 00018 typedef unsigned long RESOURCEID; 00019 00020 typedef struct _HWPROFILEINFO { 00021 DWORD HWPI_ulHWProfile; 00022 WCHAR HWPI_szFriendlyName[80]; 00023 DWORD HWPI_dwFlags; 00024 } HWPROFILEINFO; 00025 00026 cpp_quote("#endif") 00027 typedef unsigned long DEVPROPTYPE; 00028 typedef [range(0, PNP_MAX_PROP_SIZE)] unsigned long PNP_PROP_SIZE; 00029 typedef [range(0, PNP_MAX_PROP_COUNT)] unsigned long PNP_PROP_COUNT; 00030 typedef [range(0, PNP_MAX_STRING_LEN)] unsigned long PNP_RPC_STRING_LEN; 00031 typedef [range(0, PNP_MAX_BUFFER_SIZE)] unsigned long PNP_RPC_BUFFER_SIZE; 00032 typedef PNP_PROP_SIZE *PPNP_PROP_SIZE; 00033 typedef PNP_PROP_COUNT *PPNP_PROP_COUNT; 00034 typedef PNP_RPC_STRING_LEN *PPNP_RPC_STRING_LEN; 00035 typedef PNP_RPC_BUFFER_SIZE *PPNP_RPC_BUFFER_SIZE; 00036 00037 cpp_quote("#ifndef _CFG_INCLUDED_") 00038 00039 typedef enum _PNP_VETO_TYPE { 00040 PNP_VetoTypeUnknown = 0, 00041 PNP_VetoLegacyDevice = 1, 00042 PNP_VetoPendingClose = 2, 00043 PNP_VetoWindowsApp = 3, 00044 PNP_VetoWindowsService = 4, 00045 PNP_VetoOutstandingOpen = 5, 00046 PNP_VetoDevice = 6, 00047 PNP_VetoDriver = 7, 00048 PNP_VetoIllegalDeviceRequest = 8, 00049 PNP_VetoInsufficientPower = 9, 00050 PNP_VetoNonDisableable = 10, 00051 PNP_VetoLegacyDriver = 11, 00052 PNP_VetoInsufficientRights = 12, 00053 } *PPNP_VETO_TYPE; 00054 00055 cpp_quote("#endif") 00056 00057 cpp_quote("#if 0") 00058 00059 typedef struct _BUSNUMBER_DES { 00060 DWORD BUSD_Count; 00061 DWORD BUSD_Type; 00062 DWORD BUSD_Flags; 00063 DWORD BUSD_Alloc_Base; 00064 DWORD BUSD_Alloc_End; 00065 } BUSNUMBER_DES, *PBUSNUMBER_DES; 00066 00067 typedef struct _BUSNUMBER_RANGE { 00068 DWORD BUSR_Min; 00069 DWORD BUSR_Max; 00070 DWORD BUSR_nBusNumbers; 00071 DWORD BUSR_Flags; 00072 } BUSNUMBER_RANGE, *PBUSNUMBER_RANGE; 00073 00074 typedef struct _BUSNUMBER_RESOURCE { 00075 BUSNUMBER_DES BusNumber_Header; 00076 BUSNUMBER_RANGE BusNumber_Data[1]; 00077 } BUSNUMBER_RESOURCE, *PBUSNUMBER_RESOURCE; 00078 00079 typedef struct _CS_DES { 00080 DWORD CSD_SignatureLength; 00081 DWORD CSD_LegacyDataOffset; 00082 DWORD CSD_LegacyDataSize; 00083 DWORD CSD_Flags; 00084 GUID CSD_ClassGuid; 00085 BYTE CSD_Signature[1]; 00086 } CS_DES, *PCS_DES; 00087 00088 typedef struct _CS_RESOURCE { 00089 CS_DES CS_Header; 00090 } CS_RESOURCE, *PCS_RESOURCE; 00091 00092 typedef struct _DEVPRIVATE_DES { 00093 DWORD PD_Count; 00094 DWORD PD_Type; 00095 DWORD PD_Data1; 00096 DWORD PD_Data2; 00097 DWORD PD_Data3; 00098 DWORD PD_Flags; 00099 } DEVPRIVATE_DES, *PDEVPRIVATE_DES; 00100 00101 typedef struct _DEVPRIVATE_RANGE { 00102 DWORD PR_Data1; 00103 DWORD PR_Data2; 00104 DWORD PR_Data3; 00105 } DEVPRIVATE_RANGE, *PDEVPRIVATE_RANGE; 00106 00107 typedef struct _DEVPRIVATE_RESOURCE { 00108 DEVPRIVATE_DES PRV_Header; 00109 DEVPRIVATE_RANGE PRV_Data[1]; 00110 } DEVPRIVATE_RESOURCE, *PDEVPRIVATE_RESOURCE; 00111 00112 typedef struct _DMA_DES { 00113 DWORD DD_Count; 00114 DWORD DD_Type; 00115 DWORD DD_Flags; 00116 unsigned long DD_Alloc_Chan; 00117 } DMA_DES, *PDMA_DES; 00118 00119 typedef struct _DMA_RANGE { 00120 DWORD DR_Min; 00121 DWORD DR_Max; 00122 DWORD DR_Flags; 00123 } DMA_RANGE, *PDMA_RANGE; 00124 00125 typedef struct _DMA_RESOURCE { 00126 DMA_DES DMA_Header; 00127 DMA_RANGE DMA_Data[1]; 00128 } DMA_RESOURCE, *PDMA_RESOURCE; 00129 00130 typedef struct _IO_DES { 00131 DWORD IOD_Count; 00132 DWORD IOD_Type; 00133 unsigned __int64 IOD_AllocBase; 00134 unsigned __int64 IOD_AllocEnd; 00135 DWORD IOD_DesFlags; 00136 } IO_DES, *PIO_DES; 00137 00138 typedef struct _IO_RANGE { 00139 unsigned __int64 IOR_Align; 00140 DWORD IOR_nPorts; 00141 unsigned __int64 IOR_Min; 00142 unsigned __int64 IOR_Max; 00143 DWORD IOR_RangeFlags; 00144 unsigned __int64 IOR_Alias; 00145 } IO_RANGE, *PIO_RANGE; 00146 00147 typedef struct _IO_RESOURCE { 00148 IO_DES IO_Header; 00149 IO_RANGE IO_Data[1]; 00150 } IO_RESOURCE, *PIO_RESOURCE; 00151 00152 typedef struct _IRQ_DES { 00153 DWORD IRQD_Count; 00154 DWORD IRQD_Type; 00155 DWORD IRQD_Flags; 00156 DWORD IRQD_Alloc_Num; 00157 DWORD IRQD_Affinity; 00158 } IRQ_DES, *PIRQ_DES; 00159 00160 typedef struct _IRQ_RANGE { 00161 DWORD IRQR_Min; 00162 DWORD IRQR_Max; 00163 DWORD IRQR_Flags; 00164 } IRQ_RANGE, *PIRQ_RANGE; 00165 00166 typedef struct _IRQ_RESOURCE { 00167 IRQ_DES IO_Header; 00168 IRQ_RANGE IO_Data[1]; 00169 } IRQ_RESOURCE, *PIRQ_RESOURCE; 00170 00171 typedef struct _MEM_DES { 00172 DWORD MD_Count; 00173 DWORD MD_Type; 00174 unsigned __int64 MD_Alloc_Base; 00175 unsigned __int64 MD_Alloc_End; 00176 DWORD MD_Flags; 00177 DWORD Reserved; 00178 } MEM_DES, *PMEM_DES; 00179 00180 typedef struct _MEM_RANGE { 00181 __int64 MR_Align; 00182 DWORD MR_nBytes; 00183 __int64 MR_Min; 00184 __int64 MR_Max; 00185 DWORD MR_Flags; 00186 DWORD MR_Reserved; 00187 } MEM_RANGE, *PMEM_RANGE; 00188 00189 typedef struct _MEM_RESOURCE { 00190 MEM_DES MEM_Header; 00191 MEM_RANGE MEM_Data[1]; 00192 } MEM_RESOURCE, *PMEM_RESOURCE; 00193 00194 typedef struct _MFCARD_DES { 00195 DWORD PMF_Count; 00196 DWORD PMF_Type; 00197 DWORD PMF_Flags; 00198 BYTE PMF_ConfigOptions; 00199 BYTE PMF_IoResourceIndex; 00200 BYTE PMF_Reserved[2]; 00201 DWORD PMF_ConfigRegisterBase; 00202 } MFCARD_DES, *PMFCARD_DES; 00203 00204 typedef struct _MFCARD_RESOURCE { 00205 MFCARD_DES MfCard_Header; 00206 } MFCARD_RESOURCE, *PMFCARD_RESOURCE; 00207 00208 typedef struct _PCCARD_DES { 00209 DWORD PCD_Count; 00210 DWORD PCD_Type; 00211 DWORD PCD_Flags; 00212 BYTE PCD_ConfigIndex; 00213 BYTE PCD_Reserved[3]; 00214 DWORD PCD_MemoryCardBase1; 00215 DWORD PCD_MemoryCardBase2; 00216 } PCCARD_DES, *PPCCARD_DES; 00217 00218 typedef struct _PCCARD_RESOURCE { 00219 PCCARD_DES PcCard_Header; 00220 } PCCARD_RESOURCE, *PPCARD_RESOURCE; 00221 00222 cpp_quote("#endif") 00223 00224 typedef struct _PNP_CONFLICT_ENTRY { 00225 DWORD DeviceInstance; 00226 DWORD DeviceFlags; 00227 DWORD ResourceType; 00228 __int64 ResourceStart; 00229 __int64 ResourceEnd; 00230 DWORD ResourceFlags; 00231 } PNP_CONFLICT_ENTRY, *PPNP_CONFLICT_ENTRY; 00232 00233 typedef struct _PNP_CONFLICT_LIST { 00234 DWORD Reserved1; 00235 DWORD Reserved2; 00236 DWORD ConflictsCounted; 00237 DWORD ConflictsListed; 00238 DWORD RequiredBufferSize; 00239 PNP_CONFLICT_ENTRY ConflictEntry[1]; 00240 } PNP_CONFLICT_LIST, *PPNP_CONFLICT_LIST; 00241 00242 typedef struct _PNP_CONFLICT_STRINGS { 00243 DWORD NullDeviceInstance; 00244 WCHAR DeviceInstanceStrings[1]; 00245 } PNP_CONFLICT_STRINGS, *PPNP_CONFLICT_STRINGS; 00246 00247 typedef struct _DEVPROPKEY { 00248 GUID fmtid; 00249 DWORD pid; 00250 } DEVPROPKEY; 00251 00252 [ 00253 uuid (8D9F4E40-A03D-11CE-8F69-08003E30051B), 00254 version(1.0), 00255 pointer_default(unique), 00256 endpoint("ncacn_np:[\\pipe\\plugplay]") 00257 #ifndef __midl 00258 ,explicit_handle 00259 #endif 00260 ] 00261 interface pnp 00262 { 00263 /* Function 0 */ 00264 DWORD PNP_Disconnect( 00265 [in] handle_t hBinding); /* FIXME */ 00266 00267 /* Function 1 */ 00268 DWORD PNP_Connect( 00269 [in] handle_t hBinding); /* FIXME */ 00270 00271 /* Function 2 */ 00272 DWORD PNP_GetVersion( 00273 [in] handle_t hBinding, 00274 [out] WORD *pVersion); 00275 00276 /* Function 3 */ 00277 DWORD PNP_GetGlobalState( 00278 [in] handle_t hBinding, 00279 [out] DWORD *pulState, 00280 [in] DWORD ulFlags); 00281 00282 /* Function 4 */ 00283 DWORD PNP_InitDetection( 00284 [in] handle_t hBinding); 00285 00286 /* Function 5 */ 00287 DWORD PNP_ReportLogOn( 00288 [in] handle_t hBinding, 00289 [in] BOOL Admin, 00290 [in] DWORD ProcessId); 00291 00292 /* Function 6 */ 00293 DWORD PNP_ValidateDeviceInstance( 00294 [in] handle_t hBinding, 00295 [in, string, ref] LPWSTR pDeviceID, 00296 [in] DWORD ulFlags); 00297 00298 /* Function 7 */ 00299 DWORD PNP_GetRootDeviceInstance( 00300 [in] handle_t hBinding, 00301 [out, string, size_is(ulLength)] LPWSTR pDeviceID, 00302 [in] PNP_RPC_STRING_LEN ulLength); 00303 00304 /* Function 8 */ 00305 cpp_quote("#define PNP_GET_PARENT_DEVICE_INSTANCE 0x1") 00306 cpp_quote("#define PNP_GET_CHILD_DEVICE_INSTANCE 0x2") 00307 cpp_quote("#define PNP_GET_SIBLING_DEVICE_INSTANCE 0x3") 00308 DWORD PNP_GetRelatedDeviceInstance( 00309 [in] handle_t hBinding, 00310 [in] DWORD ulRelationship, 00311 [in, string, ref] LPWSTR pDeviceID, 00312 [out, string, size_is(*pulLength)] LPWSTR pRelatedDeviceId, 00313 [in, out] PNP_RPC_STRING_LEN *pulLength, 00314 [in] DWORD ulFlags); 00315 00316 /* Function 9 */ 00317 cpp_quote("#define PNP_ENUMERATOR_SUBKEYS 0x1") 00318 cpp_quote("#define PNP_CLASS_SUBKEYS 0x2") 00319 DWORD PNP_EnumerateSubKeys( 00320 [in] handle_t hBinding, 00321 [in] DWORD ulBranch, 00322 [in] DWORD ulIndex, 00323 [out, string, size_is(ulLength)] LPWSTR Buffer, 00324 [in] PNP_RPC_STRING_LEN ulLength, 00325 [out] PNP_RPC_STRING_LEN *pulRequiredLen, 00326 [in] DWORD ulFlags); 00327 00328 /* Function 10 */ 00329 DWORD PNP_GetDeviceList( 00330 [in] handle_t hBinding, 00331 [in, string, unique] LPWSTR pszFilter, 00332 [out, size_is(*pulLength), length_is(*pulLength)] LPWSTR Buffer, 00333 [in, out] PNP_RPC_STRING_LEN *pulLength, 00334 [in] DWORD ulFlags); 00335 00336 /* Function 11 */ 00337 DWORD PNP_GetDeviceListSize( 00338 [in] handle_t hBinding, 00339 [in, string, unique] LPWSTR pszFilter, 00340 [out] PNP_RPC_BUFFER_SIZE *pulLen, 00341 [in] DWORD ulFlags); 00342 00343 /* Function 12 */ 00344 DWORD PNP_GetDepth( 00345 [in] handle_t hBinding, 00346 [in, string, ref] LPWSTR pszDeviceID, 00347 [out] DWORD *pulDepth, 00348 [in] DWORD ulFlags); 00349 00350 /* Function 13 */ 00351 DWORD PNP_GetDeviceRegProp( 00352 [in] handle_t hBinding, 00353 [in, string, ref] LPWSTR pDeviceID, 00354 [in] DWORD ulProperty, 00355 [in, out] DWORD *pulRegDataType, 00356 [out, size_is(*pulTransferLen), length_is(*pulTransferLen)] BYTE *Buffer, 00357 [in, out] PNP_PROP_SIZE *pulTransferLen, 00358 [in, out] PNP_PROP_SIZE *pulLength, 00359 [in] DWORD ulFlags); 00360 00361 /* Function 14 */ 00362 DWORD PNP_SetDeviceRegProp( 00363 [in] handle_t hBinding, 00364 [in, string, ref] LPWSTR pDeviceId, 00365 [in] DWORD ulProperty, 00366 [in] DWORD ulDataType, 00367 [in, size_is(ulLength)] BYTE *Buffer, 00368 [in] PNP_PROP_SIZE ulLength, 00369 [in] DWORD ulFlags); 00370 00371 /* Function 15 */ 00372 DWORD PNP_GetClassInstance( 00373 [in] handle_t hBinding, 00374 [in, string, ref] LPWSTR pDeviceId, 00375 [out, string, size_is(ulLength)] LPWSTR pszClassInstance, 00376 [in] PNP_RPC_STRING_LEN ulLength); 00377 00378 /* Function 16 */ 00379 DWORD PNP_CreateKey( 00380 [in] handle_t hBinding, 00381 [in, string, ref] LPWSTR pszSubKey, 00382 [in] DWORD samDesired, 00383 [in] DWORD ulFlags); 00384 00385 /* Function 17 */ 00386 DWORD PNP_DeleteRegistryKey( 00387 [in] handle_t hBinding, 00388 [in, string, ref] LPWSTR pszDeviceID, 00389 [in, string, ref] LPWSTR pszParentKey, 00390 [in, string, ref] LPWSTR pszChildKey, 00391 [in] DWORD ulFlags); 00392 00393 /* Function 18 */ 00394 DWORD PNP_GetClassCount( 00395 [in] handle_t hBinding, 00396 [out] DWORD *pulClassCount, 00397 [in] DWORD ulFlags); 00398 00399 /* Function 19 */ 00400 DWORD PNP_GetClassName( 00401 [in] handle_t hBinding, 00402 [in, string, ref] LPWSTR pszClassGuid, 00403 [out, string, size_is(*pulLength)] LPWSTR Buffer, 00404 [in, out] PNP_RPC_STRING_LEN *pulLength, 00405 [in] DWORD ulFlags); 00406 00407 /* Function 20 */ 00408 DWORD PNP_DeleteClassKey( 00409 [in] handle_t hBinding, 00410 [in, string, ref] LPWSTR pszClassGuid, 00411 [in] DWORD ulFlags); 00412 00413 /* Function 21 */ 00414 DWORD PNP_GetInterfaceDeviceAlias( 00415 [in] handle_t hBinding, 00416 [in, string, ref] LPWSTR pszInterfaceDevice, 00417 [in] GUID *AliasInterfaceGuid, 00418 [out, string, size_is(*pulTransferLen)] LPWSTR pszAliasInterfaceDevice, 00419 [in, out] PNP_RPC_STRING_LEN *pulLength, 00420 [in, out] PNP_RPC_STRING_LEN *pulTransferLen, 00421 [in] DWORD ulFlags); 00422 00423 /* Function 22 */ 00424 DWORD PNP_GetInterfaceDeviceList( 00425 [in] handle_t hBinding, 00426 [in] GUID *InterfaceGuid, 00427 [in, string, unique] LPWSTR pszDeviceID, 00428 [out, size_is(*pulLength), length_is(*pulLength)] BYTE *Buffer, 00429 [in, out] PNP_RPC_BUFFER_SIZE *pulLength, 00430 [in] DWORD ulFlags); 00431 00432 /* Function 23 */ 00433 DWORD PNP_GetInterfaceDeviceListSize( 00434 [in] handle_t hBinding, 00435 [out] PNP_RPC_BUFFER_SIZE *pulLen, 00436 [in] GUID *InterfaceGuid, 00437 [in, string, unique] LPWSTR pszDeviceID, 00438 [in] DWORD ulFlags); 00439 00440 /* Function 24 */ 00441 DWORD PNP_RegisterDeviceClassAssociation( 00442 [in] handle_t hBinding, 00443 [in, string, unique] LPWSTR pszDeviceID, 00444 [in] GUID *InterfaceGuid, 00445 [in, string, unique] LPWSTR pszReference, 00446 [out, string, size_is(*pulTransferLen)] LPWSTR pszSymLink, 00447 [in, out] PNP_RPC_STRING_LEN *pulLength, 00448 [in, out] PNP_RPC_STRING_LEN *pulTransferLen, 00449 [in] DWORD ulFlags); 00450 00451 /* Function 25 */ 00452 DWORD PNP_UnregisterDeviceClassAssociation( 00453 [in] handle_t hBinding, 00454 [in, string, unique] LPWSTR pszInterfaceDevice, 00455 [in] DWORD ulFlags); 00456 00457 /* Function 26 */ 00458 DWORD PNP_GetClassRegProp( 00459 [in] handle_t hBinding, 00460 [in, string, ref] LPWSTR pszClassGuid, 00461 [in] DWORD ulProperty, 00462 [in, out] DWORD *pulRegDataType, 00463 [out, size_is(*pulTransferLen), length_is(*pulTransferLen)] BYTE *Buffer, 00464 [in, out] PNP_RPC_STRING_LEN *pulTransferLen, 00465 [in, out] PNP_RPC_STRING_LEN *pulLength, 00466 [in] DWORD ulFlags); 00467 00468 /* Function 27 */ 00469 DWORD PNP_SetClassRegProp( 00470 [in] handle_t hBinding, 00471 [in, string, ref] LPWSTR pszClassGuid, 00472 [in] DWORD ulProperty, 00473 [in] DWORD ulDataType, 00474 [in, size_is(ulLength)] BYTE *Buffer, 00475 [in] PNP_PROP_SIZE ulLength, 00476 [in] DWORD ulFlags); 00477 00478 /* Function 28 */ 00479 DWORD PNP_CreateDevInst( 00480 [in] handle_t hBinding, 00481 [in, out, string, size_is(ulLength)] LPWSTR pszDeviceID, 00482 [in, string, ref] LPWSTR pszParentDeviceID, 00483 [in] PNP_RPC_STRING_LEN ulLength, 00484 [in] DWORD ulFlags); 00485 00486 /* Function 29 */ 00487 cpp_quote("#define PNP_DEVINST_MOVE 0x2") 00488 cpp_quote("#define PNP_DEVINST_SETUP 0x3") 00489 cpp_quote("#define PNP_DEVINST_ENABLE 0x4") 00490 cpp_quote("#define PNP_DEVINST_DISABLE 0x5") 00491 cpp_quote("#define PNP_DEVINST_REENUMERATE 0x7") 00492 DWORD PNP_DeviceInstanceAction( 00493 [in] handle_t hBinding, 00494 [in] DWORD ulAction, 00495 [in] DWORD ulFlags, 00496 [in, string, unique] LPWSTR pszDeviceInstance1, 00497 [in, string, unique] LPWSTR pszDeviceInstance2); 00498 00499 /* Function 30 */ 00500 DWORD PNP_GetDeviceStatus( 00501 [in] handle_t hBinding, 00502 [in, string, unique] LPWSTR pDeviceID, 00503 [out] DWORD *pulStatus, 00504 [out] DWORD *pulProblem, 00505 [in] DWORD ulFlags); 00506 00507 /* Function 31 */ 00508 DWORD PNP_SetDeviceProblem( 00509 [in] handle_t hBinding, 00510 [in, string, unique] LPWSTR pDeviceID, 00511 [in] DWORD ulProblem, 00512 [in] DWORD ulFlags); 00513 00514 /* Function 32 */ 00515 DWORD PNP_DisableDevInst( 00516 [in] handle_t hBinding, 00517 [in, string, unique] LPWSTR pDeviceID, 00518 [in, out, unique] PPNP_VETO_TYPE pVetoType, 00519 [in, out, string, unique, size_is(ulNameLength)] LPWSTR pszVetoName, 00520 [in] DWORD ulNameLength, 00521 [in] DWORD ulFlags); 00522 00523 /* Function 33 */ 00524 DWORD PNP_UninstallDevInst( 00525 [in] handle_t hBinding, 00526 [in, string, unique] LPWSTR pDeviceID, 00527 [in] DWORD ulFlags); 00528 00529 /* Function 34 */ 00530 DWORD PNP_AddID( 00531 [in] handle_t hBinding, 00532 [in, string, unique] LPWSTR pszDeviceID, 00533 [in, string, ref] LPWSTR pszID, 00534 [in] DWORD ulFlags); 00535 00536 /* Function 35 */ 00537 DWORD PNP_RegisterDriver( 00538 [in] handle_t hBinding, 00539 [in, string, ref] LPWSTR pszDeviceID, 00540 [in] DWORD ulFlags); 00541 00542 /* Function 36 */ 00543 DWORD PNP_QueryRemove( 00544 [in] handle_t hBinding, 00545 [in, string, ref] LPWSTR pszDeviceID, 00546 [in, out, unique] PPNP_VETO_TYPE pVetoType, 00547 [in, out, string, unique, size_is(ulNameLength)] LPWSTR pszVetoName, 00548 [in] DWORD ulNameLength, 00549 [in] DWORD ulFlags); 00550 00551 /* Function 37 */ 00552 DWORD PNP_RequestDeviceEject( 00553 [in] handle_t hBinding, 00554 [in, string, ref] LPWSTR pszDeviceID, 00555 [in, out, unique] PPNP_VETO_TYPE pVetoType, 00556 [in, out, string, unique, size_is(ulNameLength)] LPWSTR pszVetoName, 00557 [in] DWORD ulNameLength, 00558 [in] DWORD ulFlags); 00559 00560 /* Function 38 */ 00561 DWORD PNP_IsDockStationPresent( 00562 [in] handle_t hBinding, 00563 [in, out, unique] BOOL *Present); 00564 00565 /* Function 39 */ 00566 DWORD PNP_RequestEjectPC( 00567 [in] handle_t hBinding); 00568 00569 /* Function 40 */ 00570 cpp_quote("#define PNP_GET_HWPROFFLAGS 0x1") 00571 cpp_quote("#define PNP_SET_HWPROFFLAGS 0x2") 00572 DWORD PNP_HwProfFlags( 00573 [in] handle_t hBinding, 00574 [in] DWORD ulAction, 00575 [in, string, ref] LPWSTR pDeviceID, 00576 [in] DWORD ulConfig, 00577 [in, out] DWORD *pulValue, 00578 [in, out, unique] PPNP_VETO_TYPE pVetoType, 00579 [in, out, string, unique, size_is(ulNameLength)] LPWSTR pszVetoName, 00580 [in] DWORD ulNameLength, 00581 [in] DWORD ulFlags); 00582 00583 /* Function 41 */ 00584 DWORD PNP_GetHwProfInfo( 00585 [in] handle_t hBinding, 00586 [in] DWORD ulIndex, 00587 [in, out, ref] HWPROFILEINFO *pHWProfileInfo, 00588 [in, range(0, 168)] DWORD ulProfileInfoSize, 00589 /* FIXME: should be [in, range(0, sizeof(HWPROFILEINFO))] DWORD ulProfileInfoSize, */ 00590 [in] DWORD ulFlags); 00591 00592 /* Function 42 */ 00593 DWORD PNP_AddEmptyLogConf( 00594 [in] handle_t hBinding, 00595 [in, string, ref] LPWSTR pDeviceID, 00596 [in] DWORD ulPriority, 00597 [out] DWORD *pulLogConfTag, 00598 [in] DWORD ulFlags); 00599 00600 /* Function 43 */ 00601 DWORD PNP_FreeLogConf( 00602 [in] handle_t hBinding, 00603 [in, string, ref] LPWSTR pDeviceID, 00604 [in] DWORD ulLogConfType, 00605 [in] DWORD ulLogConfTag, 00606 [in] DWORD ulFlags); 00607 00608 /* Function 44 */ 00609 DWORD PNP_GetFirstLogConf( 00610 [in] handle_t hBinding, 00611 [in, string, ref] LPWSTR pDeviceID, 00612 [in] DWORD ulLogConfType, 00613 [out] DWORD *pulLogConfTag, 00614 [in] DWORD ulFlags); 00615 00616 /* Function 45 */ 00617 DWORD PNP_GetNextLogConf( 00618 [in] handle_t hBinding, 00619 [in, string, ref] LPWSTR pDeviceID, 00620 [in] DWORD ulLogConfType, 00621 [in] DWORD ulCurrentTag, 00622 [out] DWORD *pulNextTag, 00623 [in] DWORD ulFlags); 00624 00625 /* Function 46 */ 00626 DWORD PNP_GetLogConfPriority( 00627 [in] handle_t hBinding, 00628 [in, string, ref] LPWSTR pDeviceID, 00629 [in] DWORD ulType, 00630 [in] DWORD ulTag, 00631 [out] DWORD *pPriority, 00632 [in] DWORD ulFlags); 00633 00634 /* Function 47 */ 00635 DWORD PNP_AddResDes( 00636 [in] handle_t hBinding, 00637 [in, string, ref] LPWSTR pDeviceID, 00638 [in] DWORD ulLogConfTag, 00639 [in] DWORD ulLogConfType, 00640 [in] RESOURCEID ResourceID, 00641 [out] DWORD *pulResourceTag, 00642 [in, size_is(ResourceLen)] BYTE *ResourceData, 00643 [in] PNP_RPC_BUFFER_SIZE ResourceLen, 00644 [in] DWORD ulFlags); 00645 00646 /* Function 48 */ 00647 DWORD PNP_FreeResDes( 00648 [in] handle_t hBinding, 00649 [in, string, ref] LPWSTR pDeviceID, 00650 [in] DWORD ulLogConfTag, 00651 [in] DWORD ulLogConfType, 00652 [in] RESOURCEID ResourceID, 00653 [in] DWORD ulResourceTag, 00654 [out] DWORD *pulPreviousResType, 00655 [out] DWORD *pulPreviousResTag, 00656 [in] DWORD ulFlags); 00657 00658 /* Function 49 */ 00659 DWORD PNP_GetNextResDes( 00660 [in] handle_t hBinding, 00661 [in, string, ref] LPWSTR pDeviceID, 00662 [in] DWORD ulLogConfTag, 00663 [in] DWORD ulLogConfType, 00664 [in] RESOURCEID ResourceID, 00665 [in] DWORD ulResourceTag, 00666 [out] DWORD *pulNextResType, 00667 [out] DWORD *pulNextResTag, 00668 [in] DWORD ulFlags); 00669 00670 /* Function 50 */ 00671 DWORD PNP_GetResDesData( 00672 [in] handle_t hBinding, 00673 [in, string, ref] LPWSTR pDeviceID, 00674 [in] DWORD ulLogConfTag, 00675 [in] DWORD ulLogConfType, 00676 [in] RESOURCEID ResourceID, 00677 [in] DWORD ulResourceTag, 00678 [out, size_is(BufferLen)] BYTE *Buffer, 00679 [in] PNP_RPC_BUFFER_SIZE BufferLen, 00680 [in] DWORD ulFlags); 00681 00682 /* Function 51 */ 00683 DWORD PNP_GetResDesDataSize( 00684 [in] handle_t hBinding, 00685 [in, string, ref] LPWSTR pDeviceID, 00686 [in] DWORD ulLogConfTag, 00687 [in] DWORD ulLogConfType, 00688 [in] RESOURCEID ResourceID, 00689 [in] DWORD ulResourceTag, 00690 [out] DWORD *pulSize, 00691 [in] DWORD ulFlags); 00692 00693 /* Function 52 */ 00694 DWORD PNP_ModifyResDes( 00695 [in] handle_t hBinding, 00696 [in, string, ref] LPWSTR pDeviceID, 00697 [in] DWORD ulLogConfTag, 00698 [in] DWORD ulLogConfType, 00699 [in] RESOURCEID CurrentResourceID, 00700 [in] RESOURCEID NewResourceID, 00701 [in] DWORD ulResourceTag, 00702 [in, size_is(ResourceLen)] BYTE *ResourceData, 00703 [in] PNP_RPC_BUFFER_SIZE ResourceLen, 00704 [in] DWORD ulFlags); 00705 00706 /* Function 53 */ 00707 DWORD PNP_DetectResourceConflict( 00708 [in] handle_t hBinding, 00709 [in, string, ref] LPWSTR pDeviceID, 00710 [in] RESOURCEID ResourceID, 00711 [in, size_is(ResourceLen)] BYTE *ResourceData, 00712 [in] PNP_RPC_BUFFER_SIZE ResourceLen, 00713 [out] BOOL *pbConflictDetected, 00714 [in] DWORD ulFlags); 00715 00716 /* Function 54 */ 00717 DWORD PNP_QueryResConfList( 00718 [in] handle_t hBinding, 00719 [in, string, ref] LPWSTR pDeviceID, 00720 [in] RESOURCEID ResourceID, 00721 [in, size_is(ResourceLen)] BYTE *ResourceData, 00722 [in] PNP_RPC_BUFFER_SIZE ResourceLen, 00723 [out, size_is(BufferLen)] BYTE *Buffer, 00724 [in] PNP_RPC_BUFFER_SIZE BufferLen, 00725 [in] DWORD ulFlags); 00726 00727 /* Function 55 */ 00728 DWORD PNP_SetHwProf( 00729 [in] handle_t hBinding, 00730 [in] DWORD ulHardwareProfile, 00731 [in] DWORD ulFlags); 00732 00733 /* Function 56 */ 00734 DWORD PNP_QueryArbitratorFreeData( 00735 [in] handle_t hBinding, 00736 [out,size_is(DataLen)] BYTE *pData, 00737 [in] DWORD DataLen, 00738 [in, string, ref] LPWSTR pDeviceID, 00739 [in] RESOURCEID ResourceID, 00740 [in] DWORD ulFlags); 00741 00742 /* Function 57 */ 00743 DWORD PNP_QueryArbitratorFreeSize( 00744 [in] handle_t hBinding, 00745 [out] DWORD *pulSize, 00746 [in, string, ref] LPWSTR pDeviceID, 00747 [in] RESOURCEID ResourceID, 00748 [in] DWORD ulFlags); 00749 00750 /* Function 58 */ 00751 DWORD PNP_RunDetection( 00752 [in] handle_t hBinding, 00753 [in] DWORD ulFlags); 00754 00755 /* Function 59 */ 00756 DWORD PNP_RegisterNotification( 00757 [in] handle_t hBinding); 00758 00759 /* Function 60 */ 00760 DWORD PNP_UnregisterNotification( 00761 [in] handle_t hBinding); 00762 00763 cpp_quote("#if _WIN32_WINNT >= 0x0501") 00764 00765 /* Function 61 */ 00766 DWORD PNP_GetCustomDevProp( 00767 [in] handle_t hBinding, 00768 [in, string, ref] LPWSTR pDeviceID, 00769 [in, string, ref] LPWSTR CustomPropName, 00770 [out] DWORD *pulRegDataType, 00771 [out, size_is(*pulLength), length_is(*pulTransferLen)] BYTE *Buffer, 00772 [out] PNP_RPC_STRING_LEN *pulTransferLen, 00773 [in, out] PNP_RPC_STRING_LEN *pulLength, 00774 [in] DWORD ulFlags); 00775 00776 /* Function 62 */ 00777 DWORD PNP_GetVersionInternal( 00778 [in] handle_t hBinding, 00779 [in, out] WORD *pwVersion); 00780 00781 /* Function 63 */ 00782 DWORD PNP_GetBlockedDriverInfo( 00783 [in] handle_t hBinding, 00784 [out, size_is(*pulLength), length_is(*pulTransferLen)] BYTE *Buffer, 00785 [out] PNP_RPC_BUFFER_SIZE *pulTransferLen, 00786 [in, out] PNP_RPC_BUFFER_SIZE *pulLength, 00787 [in] DWORD ulFlags); 00788 00789 /* Function 64 */ 00790 DWORD PNP_GetServerSideDeviceInstallFlags( 00791 [in] handle_t hBinding, 00792 [out] DWORD *pulSSDIFlags, 00793 [in] DWORD ulFlags); 00794 00795 cpp_quote("#if _WIN32_WINNT >= 0x0600") 00796 00797 /* Function 65 */ 00798 DWORD PNP_GetObjectPropKeys( 00799 [in] handle_t hBinding, 00800 [in, string, ref] LPWSTR ObjectName, 00801 [in] DWORD ObjectType, 00802 [in, string, unique] LPWSTR PropertyCultureName, 00803 [in, out] PNP_PROP_COUNT *PropertyCount, 00804 [out] PNP_PROP_COUNT *TransferLen, 00805 [out, size_is(*PropertyCount), length_is(*TransferLen)] DEVPROPKEY *PropertyKeys, 00806 [in] DWORD Flags); 00807 00808 /* Function 66 */ 00809 DWORD PNP_GetObjectProp( 00810 [in] handle_t hBinding, 00811 [in, string, ref] LPWSTR ObjectName, 00812 [in] DWORD ObjectType, 00813 [in, string, unique] LPWSTR PropertyCultureName, 00814 [in] const DEVPROPKEY *PropertyKey, 00815 [out] DEVPROPTYPE *PropertyType, 00816 [in, out] PNP_PROP_SIZE *PropertySize, 00817 [out] PNP_PROP_SIZE *TransferLen, 00818 [out, size_is(*PropertySize), length_is(*TransferLen)] BYTE *PropertyBuffer, 00819 [in] DWORD Flags); 00820 00821 /* Function 67 */ 00822 DWORD PNP_SetObjectProp( 00823 [in] handle_t hBinding, 00824 [in, string, ref] LPWSTR ObjectName, 00825 [in] DWORD ObjectType, 00826 [in, string, unique] LPWSTR PropertyCultureName, 00827 [in] const DEVPROPKEY *PropertyKey, 00828 [in] DEVPROPTYPE PropertyType, 00829 [in] PNP_PROP_SIZE PropertySize, 00830 [in, unique, size_is(PropertySize)] BYTE *PropertyBuffer, 00831 [in] DWORD Flags); 00832 00833 /* Function 68 */ 00834 DWORD PNP_InstallDevInst( 00835 [in] handle_t hBinding); /* FIXME */ 00836 00837 /* Function 69 */ 00838 DWORD PNP_ApplyPowerSettings( 00839 [in] handle_t hBinding); /* FIXME */ 00840 00841 /* Function 70 */ 00842 DWORD PNP_DriverStoreAddDriverPackage( 00843 [in] handle_t hBinding); /* FIXME */ 00844 00845 /* Function 71 */ 00846 DWORD PNP_DriverStoreDeleteDriverPackage( 00847 [in] handle_t hBinding); /* FIXME */ 00848 00849 /* Function 72 */ 00850 DWORD PNP_RegisterServiceNotification( 00851 [in] handle_t hBinding); /* FIXME */ 00852 00853 /* Function 73 */ 00854 DWORD PNP_SetActiveService( 00855 [in] handle_t hBinding); /* FIXME */ 00856 00857 /* Function 74 */ 00858 DWORD PNP_DeleteServiceDevices( 00859 [in] handle_t hBinding); /* FIXME */ 00860 00861 cpp_quote("#endif /* WIN32_WINNT >= 0x0600 */") 00862 cpp_quote("#endif /* WIN32_WINNT >= 0x0501 */") 00863 00864 } Generated on Sat May 26 2012 04:31:55 for ReactOS by
1.7.6.1
|