[UMPNPMGR]

Use the stdcall calling convention for the PNP_* functions and export the missing functions.

svn path=/trunk/; revision=64304
This commit is contained in:
Eric Kohl 2014-09-26 09:47:02 +00:00
parent b809b0c635
commit cd97d921f9
3 changed files with 425 additions and 150 deletions

View file

@ -179,7 +179,9 @@ NtStatusToCrError(NTSTATUS Status)
/* Function 0 */
DWORD PNP_Disconnect(
DWORD
WINAPI
PNP_Disconnect(
handle_t hBinding)
{
UNREFERENCED_PARAMETER(hBinding);
@ -188,7 +190,9 @@ DWORD PNP_Disconnect(
/* Function 1 */
DWORD PNP_Connect(
DWORD
WINAPI
PNP_Connect(
handle_t hBinding)
{
UNREFERENCED_PARAMETER(hBinding);
@ -197,7 +201,9 @@ DWORD PNP_Connect(
/* Function 2 */
DWORD PNP_GetVersion(
DWORD
WINAPI
PNP_GetVersion(
handle_t hBinding,
WORD *pVersion)
{
@ -209,7 +215,9 @@ DWORD PNP_GetVersion(
/* Function 3 */
DWORD PNP_GetGlobalState(
DWORD
WINAPI
PNP_GetGlobalState(
handle_t hBinding,
DWORD *pulState,
DWORD ulFlags)
@ -223,7 +231,9 @@ DWORD PNP_GetGlobalState(
/* Function 4 */
DWORD PNP_InitDetection(
DWORD
WINAPI
PNP_InitDetection(
handle_t hBinding)
{
UNREFERENCED_PARAMETER(hBinding);
@ -234,7 +244,9 @@ DWORD PNP_InitDetection(
/* Function 5 */
DWORD PNP_ReportLogOn(
DWORD
WINAPI
PNP_ReportLogOn(
handle_t hBinding,
BOOL Admin,
DWORD ProcessId)
@ -283,7 +295,9 @@ cleanup:
/* Function 6 */
DWORD PNP_ValidateDeviceInstance(
DWORD
WINAPI
PNP_ValidateDeviceInstance(
handle_t hBinding,
LPWSTR pDeviceID,
DWORD ulFlags)
@ -321,7 +335,9 @@ Done:
/* Function 7 */
DWORD PNP_GetRootDeviceInstance(
DWORD
WINAPI
PNP_GetRootDeviceInstance(
handle_t hBinding,
LPWSTR pDeviceID,
PNP_RPC_STRING_LEN ulLength)
@ -354,7 +370,9 @@ Done:
/* Function 8 */
DWORD PNP_GetRelatedDeviceInstance(
DWORD
WINAPI
PNP_GetRelatedDeviceInstance(
handle_t hBinding,
DWORD ulRelationship,
LPWSTR pDeviceID,
@ -400,7 +418,9 @@ DWORD PNP_GetRelatedDeviceInstance(
/* Function 9 */
DWORD PNP_EnumerateSubKeys(
DWORD
WINAPI
PNP_EnumerateSubKeys(
handle_t hBinding,
DWORD ulBranch,
DWORD ulIndex,
@ -457,7 +477,9 @@ DWORD PNP_EnumerateSubKeys(
/* Function 10 */
DWORD PNP_GetDeviceList(
DWORD
WINAPI
PNP_GetDeviceList(
handle_t hBinding,
LPWSTR pszFilter,
LPWSTR Buffer,
@ -470,7 +492,9 @@ DWORD PNP_GetDeviceList(
/* Function 11 */
DWORD PNP_GetDeviceListSize(
DWORD
WINAPI
PNP_GetDeviceListSize(
handle_t hBinding,
LPWSTR pszFilter,
PNP_RPC_BUFFER_SIZE *pulLen,
@ -482,7 +506,9 @@ DWORD PNP_GetDeviceListSize(
/* Function 12 */
DWORD PNP_GetDepth(
DWORD
WINAPI
PNP_GetDepth(
handle_t hBinding,
LPWSTR pszDeviceID,
DWORD *pulDepth,
@ -519,7 +545,9 @@ DWORD PNP_GetDepth(
/* Function 13 */
DWORD PNP_GetDeviceRegProp(
DWORD
WINAPI
PNP_GetDeviceRegProp(
handle_t hBinding,
LPWSTR pDeviceID,
DWORD ulProperty,
@ -838,7 +866,9 @@ done:
/* Function 14 */
DWORD PNP_SetDeviceRegProp(
DWORD
WINAPI
PNP_SetDeviceRegProp(
handle_t hBinding,
LPWSTR pDeviceId,
DWORD ulProperty,
@ -978,7 +1008,9 @@ DWORD PNP_SetDeviceRegProp(
/* Function 15 */
DWORD PNP_GetClassInstance(
DWORD
WINAPI
PNP_GetClassInstance(
handle_t hBinding,
LPWSTR pDeviceId,
LPWSTR pszClassInstance,
@ -990,7 +1022,9 @@ DWORD PNP_GetClassInstance(
/* Function 16 */
DWORD PNP_CreateKey(
DWORD
WINAPI
PNP_CreateKey(
handle_t hBinding,
LPWSTR pszSubKey,
DWORD samDesired,
@ -1018,7 +1052,9 @@ DWORD PNP_CreateKey(
/* Function 17 */
DWORD PNP_DeleteRegistryKey(
DWORD
WINAPI
PNP_DeleteRegistryKey(
handle_t hBinding,
LPWSTR pszDeviceID,
LPWSTR pszParentKey,
@ -1031,7 +1067,9 @@ DWORD PNP_DeleteRegistryKey(
/* Function 18 */
DWORD PNP_GetClassCount(
DWORD
WINAPI
PNP_GetClassCount(
handle_t hBinding,
DWORD *pulClassCount,
DWORD ulFlags)
@ -1071,7 +1109,9 @@ DWORD PNP_GetClassCount(
/* Function 19 */
DWORD PNP_GetClassName(
DWORD
WINAPI
PNP_GetClassName(
handle_t hBinding,
LPWSTR pszClassGuid,
LPWSTR Buffer,
@ -1125,7 +1165,9 @@ DWORD PNP_GetClassName(
/* Function 20 */
DWORD PNP_DeleteClassKey(
DWORD
WINAPI
PNP_DeleteClassKey(
handle_t hBinding,
LPWSTR pszClassGuid,
DWORD ulFlags)
@ -1154,7 +1196,9 @@ DWORD PNP_DeleteClassKey(
/* Function 21 */
DWORD PNP_GetInterfaceDeviceAlias(
DWORD
WINAPI
PNP_GetInterfaceDeviceAlias(
handle_t hBinding,
LPWSTR pszInterfaceDevice,
GUID *AliasInterfaceGuid,
@ -1169,7 +1213,9 @@ DWORD PNP_GetInterfaceDeviceAlias(
/* Function 22 */
DWORD PNP_GetInterfaceDeviceList(
DWORD
WINAPI
PNP_GetInterfaceDeviceList(
handle_t hBinding,
GUID *InterfaceGuid,
LPWSTR pszDeviceID,
@ -1183,7 +1229,9 @@ DWORD PNP_GetInterfaceDeviceList(
/* Function 23 */
DWORD PNP_GetInterfaceDeviceListSize(
DWORD
WINAPI
PNP_GetInterfaceDeviceListSize(
handle_t hBinding,
PNP_RPC_BUFFER_SIZE *pulLen,
GUID *InterfaceGuid,
@ -1196,7 +1244,9 @@ DWORD PNP_GetInterfaceDeviceListSize(
/* Function 24 */
DWORD PNP_RegisterDeviceClassAssociation(
DWORD
WINAPI
PNP_RegisterDeviceClassAssociation(
handle_t hBinding,
LPWSTR pszDeviceID,
GUID *InterfaceGuid,
@ -1212,7 +1262,9 @@ DWORD PNP_RegisterDeviceClassAssociation(
/* Function 25 */
DWORD PNP_UnregisterDeviceClassAssociation(
DWORD
WINAPI
PNP_UnregisterDeviceClassAssociation(
handle_t hBinding,
LPWSTR pszInterfaceDevice,
DWORD ulFlags)
@ -1223,7 +1275,9 @@ DWORD PNP_UnregisterDeviceClassAssociation(
/* Function 26 */
DWORD PNP_GetClassRegProp(
DWORD
WINAPI
PNP_GetClassRegProp(
handle_t hBinding,
LPWSTR pszClassGuid,
DWORD ulProperty,
@ -1345,7 +1399,9 @@ done:
/* Function 27 */
DWORD PNP_SetClassRegProp(
DWORD
WINAPI
PNP_SetClassRegProp(
handle_t hBinding,
LPWSTR pszClassGuid,
DWORD ulProperty,
@ -1596,7 +1652,9 @@ CreateDeviceInstance(LPWSTR pszDeviceID)
/* Function 28 */
DWORD PNP_CreateDevInst(
DWORD
WINAPI
PNP_CreateDevInst(
handle_t hBinding,
LPWSTR pszDeviceID,
LPWSTR pszParentDeviceID,
@ -1708,7 +1766,9 @@ ReenumerateDeviceInstance(LPWSTR pszDeviceInstance)
/* Function 29 */
DWORD PNP_DeviceInstanceAction(
DWORD
WINAPI
PNP_DeviceInstanceAction(
handle_t hBinding,
DWORD ulAction,
DWORD ulFlags,
@ -1757,7 +1817,9 @@ DWORD PNP_DeviceInstanceAction(
/* Function 30 */
DWORD PNP_GetDeviceStatus(
DWORD
WINAPI
PNP_GetDeviceStatus(
handle_t hBinding,
LPWSTR pDeviceID,
DWORD *pulStatus,
@ -1797,7 +1859,9 @@ DWORD PNP_GetDeviceStatus(
/* Function 31 */
DWORD PNP_SetDeviceProblem(
DWORD
WINAPI
PNP_SetDeviceProblem(
handle_t hBinding,
LPWSTR pDeviceID,
DWORD ulProblem,
@ -1809,7 +1873,9 @@ DWORD PNP_SetDeviceProblem(
/* Function 32 */
DWORD PNP_DisableDevInst(
DWORD
WINAPI
PNP_DisableDevInst(
handle_t hBinding,
LPWSTR pDeviceID,
PPNP_VETO_TYPE pVetoType,
@ -1822,7 +1888,9 @@ DWORD PNP_DisableDevInst(
}
/* Function 33 */
DWORD PNP_UninstallDevInst(
DWORD
WINAPI
PNP_UninstallDevInst(
handle_t hBinding,
LPWSTR pDeviceID,
DWORD ulFlags)
@ -1875,7 +1943,9 @@ AppendDeviceId(LPWSTR lpDeviceIdList,
/* Function 34 */
DWORD PNP_AddID(
DWORD
WINAPI
PNP_AddID(
handle_t hBinding,
LPWSTR pszDeviceID,
LPWSTR pszID,
@ -1982,7 +2052,9 @@ Done:
/* Function 35 */
DWORD PNP_RegisterDriver(
DWORD
WINAPI
PNP_RegisterDriver(
handle_t hBinding,
LPWSTR pszDeviceID,
DWORD ulFlags)
@ -1993,7 +2065,9 @@ DWORD PNP_RegisterDriver(
/* Function 36 */
DWORD PNP_QueryRemove(
DWORD
WINAPI
PNP_QueryRemove(
handle_t hBinding,
LPWSTR pszDeviceID,
PPNP_VETO_TYPE pVetoType,
@ -2007,7 +2081,9 @@ DWORD PNP_QueryRemove(
/* Function 37 */
DWORD PNP_RequestDeviceEject(
DWORD
WINAPI
PNP_RequestDeviceEject(
handle_t hBinding,
LPWSTR pszDeviceID,
PPNP_VETO_TYPE pVetoType,
@ -2019,10 +2095,13 @@ DWORD PNP_RequestDeviceEject(
return CR_CALL_NOT_IMPLEMENTED;
}
/* Function 38 */
CONFIGRET
PNP_IsDockStationPresent(handle_t hBinding,
BOOL *Present)
WINAPI
PNP_IsDockStationPresent(
handle_t hBinding,
BOOL *Present)
{
HKEY hKey;
DWORD dwType;
@ -2073,7 +2152,9 @@ PNP_IsDockStationPresent(handle_t hBinding,
/* Function 39 */
DWORD PNP_RequestEjectPC(
DWORD
WINAPI
PNP_RequestEjectPC(
handle_t hBinding)
{
UNIMPLEMENTED;
@ -2082,7 +2163,9 @@ DWORD PNP_RequestEjectPC(
/* Function 40 */
DWORD PNP_HwProfFlags(
DWORD
WINAPI
PNP_HwProfFlags(
handle_t hBinding,
DWORD ulAction,
LPWSTR pDeviceID,
@ -2161,7 +2244,9 @@ DWORD PNP_HwProfFlags(
/* Function 41 */
DWORD PNP_GetHwProfInfo(
DWORD
WINAPI
PNP_GetHwProfInfo(
handle_t hBinding,
DWORD ulIndex,
HWPROFILEINFO *pHWProfileInfo,
@ -2294,7 +2379,9 @@ done:
/* Function 42 */
DWORD PNP_AddEmptyLogConf(
DWORD
WINAPI
PNP_AddEmptyLogConf(
handle_t hBinding,
LPWSTR pDeviceID,
DWORD ulPriority,
@ -2307,7 +2394,9 @@ DWORD PNP_AddEmptyLogConf(
/* Function 43 */
DWORD PNP_FreeLogConf(
DWORD
WINAPI
PNP_FreeLogConf(
handle_t hBinding,
LPWSTR pDeviceID,
DWORD ulLogConfType,
@ -2320,7 +2409,9 @@ DWORD PNP_FreeLogConf(
/* Function 44 */
DWORD PNP_GetFirstLogConf(
DWORD
WINAPI
PNP_GetFirstLogConf(
handle_t hBinding,
LPWSTR pDeviceID,
DWORD ulLogConfType,
@ -2333,7 +2424,9 @@ DWORD PNP_GetFirstLogConf(
/* Function 45 */
DWORD PNP_GetNextLogConf(
DWORD
WINAPI
PNP_GetNextLogConf(
handle_t hBinding,
LPWSTR pDeviceID,
DWORD ulLogConfType,
@ -2347,7 +2440,9 @@ DWORD PNP_GetNextLogConf(
/* Function 46 */
DWORD PNP_GetLogConfPriority(
DWORD
WINAPI
PNP_GetLogConfPriority(
handle_t hBinding,
LPWSTR pDeviceID,
DWORD ulType,
@ -2361,7 +2456,9 @@ DWORD PNP_GetLogConfPriority(
/* Function 47 */
DWORD PNP_AddResDes(
DWORD
WINAPI
PNP_AddResDes(
handle_t hBinding,
LPWSTR pDeviceID,
DWORD ulLogConfTag,
@ -2378,7 +2475,9 @@ DWORD PNP_AddResDes(
/* Function 48 */
DWORD PNP_FreeResDes(
DWORD
WINAPI
PNP_FreeResDes(
handle_t hBinding,
LPWSTR pDeviceID,
DWORD ulLogConfTag,
@ -2395,7 +2494,9 @@ DWORD PNP_FreeResDes(
/* Function 49 */
DWORD PNP_GetNextResDes(
DWORD
WINAPI
PNP_GetNextResDes(
handle_t hBinding,
LPWSTR pDeviceID,
DWORD ulLogConfTag,
@ -2412,7 +2513,9 @@ DWORD PNP_GetNextResDes(
/* Function 50 */
DWORD PNP_GetResDesData(
DWORD
WINAPI
PNP_GetResDesData(
handle_t hBinding,
LPWSTR pDeviceID,
DWORD ulLogConfTag,
@ -2429,7 +2532,9 @@ DWORD PNP_GetResDesData(
/* Function 51 */
DWORD PNP_GetResDesDataSize(
DWORD
WINAPI
PNP_GetResDesDataSize(
handle_t hBinding,
LPWSTR pDeviceID,
DWORD ulLogConfTag,
@ -2445,7 +2550,9 @@ DWORD PNP_GetResDesDataSize(
/* Function 52 */
DWORD PNP_ModifyResDes(
DWORD
WINAPI
PNP_ModifyResDes(
handle_t hBinding,
LPWSTR pDeviceID,
DWORD ulLogConfTag,
@ -2463,7 +2570,9 @@ DWORD PNP_ModifyResDes(
/* Function 53 */
DWORD PNP_DetectResourceConflict(
DWORD
WINAPI
PNP_DetectResourceConflict(
handle_t hBinding,
LPWSTR pDeviceID,
RESOURCEID ResourceID,
@ -2478,7 +2587,9 @@ DWORD PNP_DetectResourceConflict(
/* Function 54 */
DWORD PNP_QueryResConfList(
DWORD
WINAPI
PNP_QueryResConfList(
handle_t hBinding,
LPWSTR pDeviceID,
RESOURCEID ResourceID,
@ -2494,7 +2605,9 @@ DWORD PNP_QueryResConfList(
/* Function 55 */
DWORD PNP_SetHwProf(
DWORD
WINAPI
PNP_SetHwProf(
handle_t hBinding,
DWORD ulHardwareProfile,
DWORD ulFlags)
@ -2505,7 +2618,9 @@ DWORD PNP_SetHwProf(
/* Function 56 */
DWORD PNP_QueryArbitratorFreeData(
DWORD
WINAPI
PNP_QueryArbitratorFreeData(
handle_t hBinding,
BYTE *pData,
DWORD DataLen,
@ -2519,7 +2634,9 @@ DWORD PNP_QueryArbitratorFreeData(
/* Function 57 */
DWORD PNP_QueryArbitratorFreeSize(
DWORD
WINAPI
PNP_QueryArbitratorFreeSize(
handle_t hBinding,
DWORD *pulSize,
LPWSTR pDeviceID,
@ -2533,6 +2650,7 @@ DWORD PNP_QueryArbitratorFreeSize(
/* Function 58 */
CONFIGRET
WINAPI
PNP_RunDetection(
handle_t hBinding,
DWORD ulFlags)
@ -2542,7 +2660,9 @@ PNP_RunDetection(
/* Function 59 */
DWORD PNP_RegisterNotification(
DWORD
WINAPI
PNP_RegisterNotification(
handle_t hBinding)
{
UNIMPLEMENTED;
@ -2551,7 +2671,9 @@ DWORD PNP_RegisterNotification(
/* Function 60 */
DWORD PNP_UnregisterNotification(
DWORD
WINAPI
PNP_UnregisterNotification(
handle_t hBinding)
{
UNIMPLEMENTED;
@ -2560,7 +2682,9 @@ DWORD PNP_UnregisterNotification(
/* Function 61 */
DWORD PNP_GetCustomDevProp(
DWORD
WINAPI
PNP_GetCustomDevProp(
handle_t hBinding,
LPWSTR pDeviceID,
LPWSTR CustomPropName,
@ -2654,19 +2778,21 @@ done:
/* Function 62 */
DWORD PNP_GetVersionInternal(
DWORD
WINAPI
PNP_GetVersionInternal(
handle_t hBinding,
WORD *pwVersion)
{
*pwVersion = 0x501;
return CR_SUCCESS;
UNIMPLEMENTED;
return CR_CALL_NOT_IMPLEMENTED;
}
/* Function 63 */
DWORD PNP_GetBlockedDriverInfo(
DWORD
WINAPI
PNP_GetBlockedDriverInfo(
handle_t hBinding,
BYTE *Buffer,
PNP_RPC_BUFFER_SIZE *pulTransferLen,
@ -2679,7 +2805,9 @@ DWORD PNP_GetBlockedDriverInfo(
/* Function 64 */
DWORD PNP_GetServerSideDeviceInstallFlags(
DWORD
WINAPI
PNP_GetServerSideDeviceInstallFlags(
handle_t hBinding,
DWORD *pulSSDIFlags,
DWORD ulFlags)
@ -2690,7 +2818,9 @@ DWORD PNP_GetServerSideDeviceInstallFlags(
/* Function 65 */
DWORD PNP_GetObjectPropKeys(
DWORD
WINAPI
PNP_GetObjectPropKeys(
handle_t hBinding,
LPWSTR ObjectName,
DWORD ObjectType,
@ -2706,7 +2836,9 @@ DWORD PNP_GetObjectPropKeys(
/* Function 66 */
DWORD PNP_GetObjectProp(
DWORD
WINAPI
PNP_GetObjectProp(
handle_t hBinding,
LPWSTR ObjectName,
DWORD ObjectType,
@ -2724,7 +2856,9 @@ DWORD PNP_GetObjectProp(
/* Function 67 */
DWORD PNP_SetObjectProp(
DWORD
WINAPI
PNP_SetObjectProp(
handle_t hBinding,
LPWSTR ObjectName,
DWORD ObjectType,
@ -2741,7 +2875,9 @@ DWORD PNP_SetObjectProp(
/* Function 68 */
DWORD PNP_InstallDevInst(
DWORD
WINAPI
PNP_InstallDevInst(
handle_t hBinding)
{
UNIMPLEMENTED;
@ -2750,7 +2886,9 @@ DWORD PNP_InstallDevInst(
/* Function 69 */
DWORD PNP_ApplyPowerSettings(
DWORD
WINAPI
PNP_ApplyPowerSettings(
handle_t hBinding)
{
UNIMPLEMENTED;
@ -2759,7 +2897,9 @@ DWORD PNP_ApplyPowerSettings(
/* Function 70 */
DWORD PNP_DriverStoreAddDriverPackage(
DWORD
WINAPI
PNP_DriverStoreAddDriverPackage(
handle_t hBinding)
{
UNIMPLEMENTED;
@ -2768,7 +2908,9 @@ DWORD PNP_DriverStoreAddDriverPackage(
/* Function 71 */
DWORD PNP_DriverStoreDeleteDriverPackage(
DWORD
WINAPI
PNP_DriverStoreDeleteDriverPackage(
handle_t hBinding)
{
UNIMPLEMENTED;
@ -2777,7 +2919,9 @@ DWORD PNP_DriverStoreDeleteDriverPackage(
/* Function 72 */
DWORD PNP_RegisterServiceNotification(
DWORD
WINAPI
PNP_RegisterServiceNotification(
handle_t hBinding)
{
UNIMPLEMENTED;
@ -2786,7 +2930,9 @@ DWORD PNP_RegisterServiceNotification(
/* Function 73 */
DWORD PNP_SetActiveService(
DWORD
WINAPI
PNP_SetActiveService(
handle_t hBinding,
LPWSTR pszFilter,
DWORD ulFlags)
@ -2797,7 +2943,9 @@ DWORD PNP_SetActiveService(
/* Function 74 */
DWORD PNP_DeleteServiceDevices(
DWORD
WINAPI
PNP_DeleteServiceDevices(
handle_t hBinding)
{
UNIMPLEMENTED;

View file

@ -1,13 +1,10 @@
@ stub DeleteServicePlugPlayRegKeys
;;; FIXME: Windows UMPNPMGR exports those APIs.
;;; Fix their calling convention before enabling these exports!!
;@ stdcall PNP_GetDeviceList(long ptr ptr ptr long)
;@ stdcall PNP_GetDeviceListSize(long ptr ptr long)
;@ stdcall PNP_GetDeviceRegProp(long ptr long ptr ptr ptr ptr long)
;@ stdcall PNP_HwProfFlags(long long ptr long ptr ptr ptr long long)
;@ stdcall PNP_SetActiveService(long ptr long)
@ stdcall PNP_GetDeviceList(long ptr ptr ptr long)
@ stdcall PNP_GetDeviceListSize(long ptr ptr long)
@ stdcall PNP_GetDeviceRegProp(long ptr long ptr ptr ptr ptr long)
@ stdcall PNP_HwProfFlags(long long ptr long ptr ptr ptr long long)
@ stdcall PNP_SetActiveService(long ptr long)
@ stub RegisterScmCallback
@ stub RegisterServiceNotification

View file

@ -261,42 +261,58 @@ typedef struct _DEVPROPKEY {
interface pnp
{
/* Function 0 */
DWORD PNP_Disconnect(
DWORD
__stdcall
PNP_Disconnect(
[in] handle_t hBinding); /* FIXME */
/* Function 1 */
DWORD PNP_Connect(
DWORD
__stdcall
PNP_Connect(
[in] handle_t hBinding); /* FIXME */
/* Function 2 */
DWORD PNP_GetVersion(
DWORD
__stdcall
PNP_GetVersion(
[in] handle_t hBinding,
[out] WORD *pVersion);
/* Function 3 */
DWORD PNP_GetGlobalState(
DWORD
__stdcall
PNP_GetGlobalState(
[in] handle_t hBinding,
[out] DWORD *pulState,
[in] DWORD ulFlags);
/* Function 4 */
DWORD PNP_InitDetection(
DWORD
__stdcall
PNP_InitDetection(
[in] handle_t hBinding);
/* Function 5 */
DWORD PNP_ReportLogOn(
DWORD
__stdcall
PNP_ReportLogOn(
[in] handle_t hBinding,
[in] BOOL Admin,
[in] DWORD ProcessId);
/* Function 6 */
DWORD PNP_ValidateDeviceInstance(
DWORD
__stdcall
PNP_ValidateDeviceInstance(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pDeviceID,
[in] DWORD ulFlags);
/* Function 7 */
DWORD PNP_GetRootDeviceInstance(
DWORD
__stdcall
PNP_GetRootDeviceInstance(
[in] handle_t hBinding,
[out, string, size_is(ulLength)] LPWSTR pDeviceID,
[in] PNP_RPC_STRING_LEN ulLength);
@ -305,7 +321,9 @@ interface pnp
cpp_quote("#define PNP_GET_PARENT_DEVICE_INSTANCE 0x1")
cpp_quote("#define PNP_GET_CHILD_DEVICE_INSTANCE 0x2")
cpp_quote("#define PNP_GET_SIBLING_DEVICE_INSTANCE 0x3")
DWORD PNP_GetRelatedDeviceInstance(
DWORD
__stdcall
PNP_GetRelatedDeviceInstance(
[in] handle_t hBinding,
[in] DWORD ulRelationship,
[in, string, ref] LPWSTR pDeviceID,
@ -316,7 +334,9 @@ interface pnp
/* Function 9 */
cpp_quote("#define PNP_ENUMERATOR_SUBKEYS 0x1")
cpp_quote("#define PNP_CLASS_SUBKEYS 0x2")
DWORD PNP_EnumerateSubKeys(
DWORD
__stdcall
PNP_EnumerateSubKeys(
[in] handle_t hBinding,
[in] DWORD ulBranch,
[in] DWORD ulIndex,
@ -326,7 +346,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 10 */
DWORD PNP_GetDeviceList(
DWORD
__stdcall
PNP_GetDeviceList(
[in] handle_t hBinding,
[in, string, unique] LPWSTR pszFilter,
[out, size_is(*pulLength), length_is(*pulLength)] LPWSTR Buffer,
@ -334,21 +356,27 @@ interface pnp
[in] DWORD ulFlags);
/* Function 11 */
DWORD PNP_GetDeviceListSize(
DWORD
__stdcall
PNP_GetDeviceListSize(
[in] handle_t hBinding,
[in, string, unique] LPWSTR pszFilter,
[out] PNP_RPC_BUFFER_SIZE *pulLen,
[in] DWORD ulFlags);
/* Function 12 */
DWORD PNP_GetDepth(
DWORD
__stdcall
PNP_GetDepth(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pszDeviceID,
[out] DWORD *pulDepth,
[in] DWORD ulFlags);
/* Function 13 */
DWORD PNP_GetDeviceRegProp(
DWORD
__stdcall
PNP_GetDeviceRegProp(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pDeviceID,
[in] DWORD ulProperty,
@ -359,7 +387,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 14 */
DWORD PNP_SetDeviceRegProp(
DWORD
__stdcall
PNP_SetDeviceRegProp(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pDeviceId,
[in] DWORD ulProperty,
@ -369,21 +399,27 @@ interface pnp
[in] DWORD ulFlags);
/* Function 15 */
DWORD PNP_GetClassInstance(
DWORD
__stdcall
PNP_GetClassInstance(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pDeviceId,
[out, string, size_is(ulLength)] LPWSTR pszClassInstance,
[in] PNP_RPC_STRING_LEN ulLength);
/* Function 16 */
DWORD PNP_CreateKey(
DWORD
__stdcall
PNP_CreateKey(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pszSubKey,
[in] DWORD samDesired,
[in] DWORD ulFlags);
/* Function 17 */
DWORD PNP_DeleteRegistryKey(
DWORD
__stdcall
PNP_DeleteRegistryKey(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pszDeviceID,
[in, string, ref] LPWSTR pszParentKey,
@ -391,13 +427,17 @@ interface pnp
[in] DWORD ulFlags);
/* Function 18 */
DWORD PNP_GetClassCount(
DWORD
__stdcall
PNP_GetClassCount(
[in] handle_t hBinding,
[out] DWORD *pulClassCount,
[in] DWORD ulFlags);
/* Function 19 */
DWORD PNP_GetClassName(
DWORD
__stdcall
PNP_GetClassName(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pszClassGuid,
[out, string, size_is(*pulLength)] LPWSTR Buffer,
@ -405,13 +445,17 @@ interface pnp
[in] DWORD ulFlags);
/* Function 20 */
DWORD PNP_DeleteClassKey(
DWORD
__stdcall
PNP_DeleteClassKey(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pszClassGuid,
[in] DWORD ulFlags);
/* Function 21 */
DWORD PNP_GetInterfaceDeviceAlias(
DWORD
__stdcall
PNP_GetInterfaceDeviceAlias(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pszInterfaceDevice,
[in] GUID *AliasInterfaceGuid,
@ -421,7 +465,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 22 */
DWORD PNP_GetInterfaceDeviceList(
DWORD
__stdcall
PNP_GetInterfaceDeviceList(
[in] handle_t hBinding,
[in] GUID *InterfaceGuid,
[in, string, unique] LPWSTR pszDeviceID,
@ -430,7 +476,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 23 */
DWORD PNP_GetInterfaceDeviceListSize(
DWORD
__stdcall
PNP_GetInterfaceDeviceListSize(
[in] handle_t hBinding,
[out] PNP_RPC_BUFFER_SIZE *pulLen,
[in] GUID *InterfaceGuid,
@ -438,7 +486,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 24 */
DWORD PNP_RegisterDeviceClassAssociation(
DWORD
__stdcall
PNP_RegisterDeviceClassAssociation(
[in] handle_t hBinding,
[in, string, unique] LPWSTR pszDeviceID,
[in] GUID *InterfaceGuid,
@ -449,13 +499,17 @@ interface pnp
[in] DWORD ulFlags);
/* Function 25 */
DWORD PNP_UnregisterDeviceClassAssociation(
DWORD
__stdcall
PNP_UnregisterDeviceClassAssociation(
[in] handle_t hBinding,
[in, string, unique] LPWSTR pszInterfaceDevice,
[in] DWORD ulFlags);
/* Function 26 */
DWORD PNP_GetClassRegProp(
DWORD
__stdcall
PNP_GetClassRegProp(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pszClassGuid,
[in] DWORD ulProperty,
@ -466,7 +520,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 27 */
DWORD PNP_SetClassRegProp(
DWORD
__stdcall
PNP_SetClassRegProp(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pszClassGuid,
[in] DWORD ulProperty,
@ -476,7 +532,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 28 */
DWORD PNP_CreateDevInst(
DWORD
__stdcall
PNP_CreateDevInst(
[in] handle_t hBinding,
[in, out, string, size_is(ulLength)] LPWSTR pszDeviceID,
[in, string, ref] LPWSTR pszParentDeviceID,
@ -489,7 +547,9 @@ interface pnp
cpp_quote("#define PNP_DEVINST_ENABLE 0x4")
cpp_quote("#define PNP_DEVINST_DISABLE 0x5")
cpp_quote("#define PNP_DEVINST_REENUMERATE 0x7")
DWORD PNP_DeviceInstanceAction(
DWORD
__stdcall
PNP_DeviceInstanceAction(
[in] handle_t hBinding,
[in] DWORD ulAction,
[in] DWORD ulFlags,
@ -497,7 +557,9 @@ interface pnp
[in, string, unique] LPWSTR pszDeviceInstance2);
/* Function 30 */
DWORD PNP_GetDeviceStatus(
DWORD
__stdcall
PNP_GetDeviceStatus(
[in] handle_t hBinding,
[in, string, unique] LPWSTR pDeviceID,
[out] DWORD *pulStatus,
@ -505,14 +567,18 @@ interface pnp
[in] DWORD ulFlags);
/* Function 31 */
DWORD PNP_SetDeviceProblem(
DWORD
__stdcall
PNP_SetDeviceProblem(
[in] handle_t hBinding,
[in, string, unique] LPWSTR pDeviceID,
[in] DWORD ulProblem,
[in] DWORD ulFlags);
/* Function 32 */
DWORD PNP_DisableDevInst(
DWORD
__stdcall
PNP_DisableDevInst(
[in] handle_t hBinding,
[in, string, unique] LPWSTR pDeviceID,
[in, out, unique] PPNP_VETO_TYPE pVetoType,
@ -521,26 +587,34 @@ interface pnp
[in] DWORD ulFlags);
/* Function 33 */
DWORD PNP_UninstallDevInst(
DWORD
__stdcall
PNP_UninstallDevInst(
[in] handle_t hBinding,
[in, string, unique] LPWSTR pDeviceID,
[in] DWORD ulFlags);
/* Function 34 */
DWORD PNP_AddID(
DWORD
__stdcall
PNP_AddID(
[in] handle_t hBinding,
[in, string, unique] LPWSTR pszDeviceID,
[in, string, ref] LPWSTR pszID,
[in] DWORD ulFlags);
/* Function 35 */
DWORD PNP_RegisterDriver(
DWORD
__stdcall
PNP_RegisterDriver(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pszDeviceID,
[in] DWORD ulFlags);
/* Function 36 */
DWORD PNP_QueryRemove(
DWORD
__stdcall
PNP_QueryRemove(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pszDeviceID,
[in, out, unique] PPNP_VETO_TYPE pVetoType,
@ -549,7 +623,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 37 */
DWORD PNP_RequestDeviceEject(
DWORD
__stdcall
PNP_RequestDeviceEject(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pszDeviceID,
[in, out, unique] PPNP_VETO_TYPE pVetoType,
@ -558,18 +634,24 @@ interface pnp
[in] DWORD ulFlags);
/* Function 38 */
DWORD PNP_IsDockStationPresent(
DWORD
__stdcall
PNP_IsDockStationPresent(
[in] handle_t hBinding,
[in, out, unique] BOOL *Present);
/* Function 39 */
DWORD PNP_RequestEjectPC(
DWORD
__stdcall
PNP_RequestEjectPC(
[in] handle_t hBinding);
/* Function 40 */
cpp_quote("#define PNP_GET_HWPROFFLAGS 0x1")
cpp_quote("#define PNP_SET_HWPROFFLAGS 0x2")
DWORD PNP_HwProfFlags(
DWORD
__stdcall
PNP_HwProfFlags(
[in] handle_t hBinding,
[in] DWORD ulAction,
[in, string, ref] LPWSTR pDeviceID,
@ -581,7 +663,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 41 */
DWORD PNP_GetHwProfInfo(
DWORD
__stdcall
PNP_GetHwProfInfo(
[in] handle_t hBinding,
[in] DWORD ulIndex,
[in, out, ref] HWPROFILEINFO *pHWProfileInfo,
@ -590,7 +674,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 42 */
DWORD PNP_AddEmptyLogConf(
DWORD
__stdcall
PNP_AddEmptyLogConf(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pDeviceID,
[in] DWORD ulPriority,
@ -598,7 +684,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 43 */
DWORD PNP_FreeLogConf(
DWORD
__stdcall
PNP_FreeLogConf(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pDeviceID,
[in] DWORD ulLogConfType,
@ -606,7 +694,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 44 */
DWORD PNP_GetFirstLogConf(
DWORD
__stdcall
PNP_GetFirstLogConf(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pDeviceID,
[in] DWORD ulLogConfType,
@ -614,7 +704,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 45 */
DWORD PNP_GetNextLogConf(
DWORD
__stdcall
PNP_GetNextLogConf(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pDeviceID,
[in] DWORD ulLogConfType,
@ -623,7 +715,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 46 */
DWORD PNP_GetLogConfPriority(
DWORD
__stdcall
PNP_GetLogConfPriority(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pDeviceID,
[in] DWORD ulType,
@ -632,7 +726,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 47 */
DWORD PNP_AddResDes(
DWORD
__stdcall
PNP_AddResDes(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pDeviceID,
[in] DWORD ulLogConfTag,
@ -644,7 +740,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 48 */
DWORD PNP_FreeResDes(
DWORD
__stdcall
PNP_FreeResDes(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pDeviceID,
[in] DWORD ulLogConfTag,
@ -656,7 +754,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 49 */
DWORD PNP_GetNextResDes(
DWORD
__stdcall
PNP_GetNextResDes(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pDeviceID,
[in] DWORD ulLogConfTag,
@ -668,7 +768,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 50 */
DWORD PNP_GetResDesData(
DWORD
__stdcall
PNP_GetResDesData(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pDeviceID,
[in] DWORD ulLogConfTag,
@ -680,7 +782,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 51 */
DWORD PNP_GetResDesDataSize(
DWORD
__stdcall
PNP_GetResDesDataSize(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pDeviceID,
[in] DWORD ulLogConfTag,
@ -691,7 +795,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 52 */
DWORD PNP_ModifyResDes(
DWORD
__stdcall
PNP_ModifyResDes(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pDeviceID,
[in] DWORD ulLogConfTag,
@ -704,7 +810,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 53 */
DWORD PNP_DetectResourceConflict(
DWORD
__stdcall
PNP_DetectResourceConflict(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pDeviceID,
[in] RESOURCEID ResourceID,
@ -714,7 +822,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 54 */
DWORD PNP_QueryResConfList(
DWORD
__stdcall
PNP_QueryResConfList(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pDeviceID,
[in] RESOURCEID ResourceID,
@ -725,13 +835,17 @@ interface pnp
[in] DWORD ulFlags);
/* Function 55 */
DWORD PNP_SetHwProf(
DWORD
__stdcall
PNP_SetHwProf(
[in] handle_t hBinding,
[in] DWORD ulHardwareProfile,
[in] DWORD ulFlags);
/* Function 56 */
DWORD PNP_QueryArbitratorFreeData(
DWORD
__stdcall
PNP_QueryArbitratorFreeData(
[in] handle_t hBinding,
[out,size_is(DataLen)] BYTE *pData,
[in] DWORD DataLen,
@ -740,7 +854,9 @@ interface pnp
[in] DWORD ulFlags);
/* Function 57 */
DWORD PNP_QueryArbitratorFreeSize(
DWORD
__stdcall
PNP_QueryArbitratorFreeSize(
[in] handle_t hBinding,
[out] DWORD *pulSize,
[in, string, ref] LPWSTR pDeviceID,
@ -748,22 +864,30 @@ interface pnp
[in] DWORD ulFlags);
/* Function 58 */
DWORD PNP_RunDetection(
DWORD
__stdcall
PNP_RunDetection(
[in] handle_t hBinding,
[in] DWORD ulFlags);
/* Function 59 */
DWORD PNP_RegisterNotification(
DWORD
__stdcall
PNP_RegisterNotification(
[in] handle_t hBinding);
/* Function 60 */
DWORD PNP_UnregisterNotification(
DWORD
__stdcall
PNP_UnregisterNotification(
[in] handle_t hBinding);
cpp_quote("#if _WIN32_WINNT >= 0x0501")
/* Function 61 */
DWORD PNP_GetCustomDevProp(
DWORD
__stdcall
PNP_GetCustomDevProp(
[in] handle_t hBinding,
[in, string, ref] LPWSTR pDeviceID,
[in, string, ref] LPWSTR CustomPropName,
@ -774,12 +898,16 @@ cpp_quote("#if _WIN32_WINNT >= 0x0501")
[in] DWORD ulFlags);
/* Function 62 */
DWORD PNP_GetVersionInternal(
DWORD
__stdcall
PNP_GetVersionInternal(
[in] handle_t hBinding,
[in, out] WORD *pwVersion);
/* Function 63 */
DWORD PNP_GetBlockedDriverInfo(
DWORD
__stdcall
PNP_GetBlockedDriverInfo(
[in] handle_t hBinding,
[out, size_is(*pulLength), length_is(*pulTransferLen)] BYTE *Buffer,
[out] PNP_RPC_BUFFER_SIZE *pulTransferLen,
@ -787,7 +915,9 @@ cpp_quote("#if _WIN32_WINNT >= 0x0501")
[in] DWORD ulFlags);
/* Function 64 */
DWORD PNP_GetServerSideDeviceInstallFlags(
DWORD
__stdcall
PNP_GetServerSideDeviceInstallFlags(
[in] handle_t hBinding,
[out] DWORD *pulSSDIFlags,
[in] DWORD ulFlags);