123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- /*
- * usbrpmif.h
- *
- * This file is part of the ReactOS PSDK package.
- *
- * Contributors:
- * Created by Amine Khaldi <amine.khaldi@reactos.org>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
- #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(
- PDRIVER_OBJECT DriverObject,
- LPCWSTR CompatibleId,
- PHANDLE RegisteredDriver);
- USBRPMAPI
- NTSTATUS
- NTAPI
- RPMUnregisterAlternateDriver(
- HANDLE RegisteredDriver);
- USBRPMAPI
- NTSTATUS
- RPMGetAvailableDevices(
- HANDLE RegisteredDriver,
- USHORT Locale,
- PUSBRPM_DEVICE_LIST *DeviceList);
- USBRPMAPI
- NTSTATUS
- NTAPI
- RPMLoadAlternateDriverForDevice(
- HANDLE RegisteredDriver,
- ULONG64 HubID,
- ULONG ConnectionIndex,
- REFGUID OwnerGuid);
- USBRPMAPI
- NTSTATUS
- NTAPI
- RPMUnloadAlternateDriverForDevice(
- HANDLE RegisteredDriver,
- ULONG64 HubID,
- ULONG ConnectionIndex);
|