26#if !defined(_USBRPM_DRIVER_)
27#define USBRPMAPI DECLSPEC_IMPORT
PULONG MinorVersion OPTIONAL
#define MAXIMUM_USB_STRING_LENGTH
USBRPMAPI NTSTATUS RPMGetAvailableDevices(IN HANDLE RegisteredDriver, IN USHORT Locale, OUT PUSBRPM_DEVICE_LIST *DeviceList)
struct _USBRPM_DEVICE_LIST * PUSBRPM_DEVICE_LIST
USBRPMAPI NTSTATUS NTAPI RPMLoadAlternateDriverForDevice(IN HANDLE RegisteredDriver, IN ULONG64 HubID, IN ULONG ConnectionIndex, IN OPTIONAL REFGUID OwnerGuid)
struct _USBRPM_DEVICE_INFORMATION USBRPM_DEVICE_INFORMATION
struct _USBRPM_DEVICE_LIST USBRPM_DEVICE_LIST
USBRPMAPI NTSTATUS NTAPI RPMRegisterAlternateDriver(IN PDRIVER_OBJECT DriverObject, IN LPCWSTR CompatibleId, OUT PHANDLE RegisteredDriver)
struct _USBRPM_DEVICE_INFORMATION * PUSBRPM_DEVICE_INFORMATION
USBRPMAPI NTSTATUS NTAPI RPMUnregisterAlternateDriver(IN HANDLE RegisteredDriver)
USBRPMAPI NTSTATUS NTAPI RPMUnloadAlternateDriverForDevice(IN HANDLE RegisteredDriver, IN ULONG64 HubID, IN ULONG ConnectionIndex)
_Must_inspect_result_ _In_ WDFDEVICE Device
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject