ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/usbrpmif.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 1841 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
1 /*
2 * usbrpmif.h
3 *
4 * This file is part of the ReactOS PSDK package.
5 *
6 * Contributors:
7 * Created by Amine Khaldi <amine.khaldi@reactos.org>
8 *
9 * THIS SOFTWARE IS NOT COPYRIGHTED
10 *
11 * This source code is offered for use in the public domain. You may
12 * use, modify or distribute it freely.
13 *
14 * This code is distributed in the hope that it will be useful but
15 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
16 * DISCLAIMED. This includes but is not limited to warranties of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 *
19 */
20
21 #pragma once
22
23 #include "windef.h"
24 #include "usb100.h"
25
26 #if !defined(_USBRPM_DRIVER_)
27 #define USBRPMAPI DECLSPEC_IMPORT
28 #else
29 #define USBRPMAPI
30 #endif
31
32 typedef struct _USBRPM_DEVICE_INFORMATION {
33 ULONG64 HubId;
34 ULONG ConnectionIndex;
35 UCHAR DeviceClass;
36 USHORT VendorId;
37 USHORT ProductId;
38 WCHAR ManufacturerString[MAXIMUM_USB_STRING_LENGTH];
39 WCHAR ProductString[MAXIMUM_USB_STRING_LENGTH];
40 WCHAR HubSymbolicLinkName[MAX_PATH];
41 } USBRPM_DEVICE_INFORMATION, *PUSBRPM_DEVICE_INFORMATION;
42
43 typedef struct _USBRPM_DEVICE_LIST {
44 ULONG NumberOfDevices;
45 USBRPM_DEVICE_INFORMATION Device[0];
46 } USBRPM_DEVICE_LIST, *PUSBRPM_DEVICE_LIST;
47
48 USBRPMAPI
49 NTSTATUS
50 NTAPI
51 RPMRegisterAlternateDriver(
52 PDRIVER_OBJECT DriverObject,
53 LPCWSTR CompatibleId,
54 PHANDLE RegisteredDriver);
55
56 USBRPMAPI
57 NTSTATUS
58 NTAPI
59 RPMUnregisterAlternateDriver(
60 HANDLE RegisteredDriver);
61
62 USBRPMAPI
63 NTSTATUS
64 RPMGetAvailableDevices(
65 HANDLE RegisteredDriver,
66 USHORT Locale,
67 PUSBRPM_DEVICE_LIST *DeviceList);
68
69 USBRPMAPI
70 NTSTATUS
71 NTAPI
72 RPMLoadAlternateDriverForDevice(
73 HANDLE RegisteredDriver,
74 ULONG64 HubID,
75 ULONG ConnectionIndex,
76 REFGUID OwnerGuid);
77
78 USBRPMAPI
79 NTSTATUS
80 NTAPI
81 RPMUnloadAlternateDriverForDevice(
82 HANDLE RegisteredDriver,
83 ULONG64 HubID,
84 ULONG ConnectionIndex);