From 7ff52a15bf73b06c810077499ced2cb95070d44e Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Fri, 5 Mar 2010 01:12:11 +0000 Subject: [PATCH] More work on USB related definitions svn path=/branches/header-work/; revision=45856 --- include/psdk/usbrpmif.h | 64 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 include/psdk/usbrpmif.h diff --git a/include/psdk/usbrpmif.h b/include/psdk/usbrpmif.h new file mode 100644 index 00000000000..c6ee0c4a6a0 --- /dev/null +++ b/include/psdk/usbrpmif.h @@ -0,0 +1,64 @@ +#pragma once + +#include "windef.h" +#include "usb100.h" + +#if !defined(_USBRPM_DRIVER_) +#define USBRPMAPI DECLSPEC_IMPORT +#else +#define USBRPMAPI +#endif + +typedef struct _USBRPM_DEVICE_INFORMATION { + ULONG64 HubId; + ULONG ConnectionIndex; + UCHAR DeviceClass; + USHORT VendorId; + USHORT ProductId; + WCHAR ManufacturerString[MAXIMUM_USB_STRING_LENGTH]; + WCHAR ProductString[MAXIMUM_USB_STRING_LENGTH]; + WCHAR HubSymbolicLinkName[MAX_PATH]; +} USBRPM_DEVICE_INFORMATION, *PUSBRPM_DEVICE_INFORMATION; + +typedef struct _USBRPM_DEVICE_LIST { + ULONG NumberOfDevices; + USBRPM_DEVICE_INFORMATION Device[0]; +} USBRPM_DEVICE_LIST, *PUSBRPM_DEVICE_LIST; + +USBRPMAPI +NTSTATUS +NTAPI +RPMRegisterAlternateDriver( + IN PDRIVER_OBJECT DriverObject, + IN LPCWSTR CompatibleId, + OUT PHANDLE RegisteredDriver); + +USBRPMAPI +NTSTATUS +NTAPI +RPMUnregisterAlternateDriver( + IN HANDLE RegisteredDriver); + +USBRPMAPI +NTSTATUS +RPMGetAvailableDevices( + IN HANDLE RegisteredDriver, + IN USHORT Locale, + OUT PUSBRPM_DEVICE_LIST *DeviceList); + +USBRPMAPI +NTSTATUS +NTAPI +RPMLoadAlternateDriverForDevice( + IN HANDLE RegisteredDriver, + IN ULONG64 HubID, + IN ULONG ConnectionIndex, + IN OPTIONAL REFGUID OwnerGuid); + +USBRPMAPI +NTSTATUS +NTAPI +RPMUnloadAlternateDriverForDevice( + IN HANDLE RegisteredDriver, + IN ULONG64 HubID, + IN ULONG ConnectionIndex); -- 2.17.1