ReactOS  0.4.15-dev-3187-ge372f2b
usbrpmif.h
Go to the documentation of this file.
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 
42 
43 typedef struct _USBRPM_DEVICE_LIST {
47 
50 NTAPI
53  IN LPCWSTR CompatibleId,
54  OUT PHANDLE RegisteredDriver);
55 
58 NTAPI
60  IN HANDLE RegisteredDriver);
61 
65  IN HANDLE RegisteredDriver,
66  IN USHORT Locale,
68 
71 NTAPI
73  IN HANDLE RegisteredDriver,
74  IN ULONG64 HubID,
75  IN ULONG ConnectionIndex,
76  IN OPTIONAL REFGUID OwnerGuid);
77 
80 NTAPI
82  IN HANDLE RegisteredDriver,
83  IN ULONG64 HubID,
84  IN ULONG ConnectionIndex);
#define IN
Definition: typedefs.h:39
Definition: scsiwmi.h:51
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
USBRPMAPI NTSTATUS NTAPI RPMUnregisterAlternateDriver(IN HANDLE RegisteredDriver)
USBRPMAPI NTSTATUS NTAPI RPMUnloadAlternateDriverForDevice(IN HANDLE RegisteredDriver, IN ULONG64 HubID, IN ULONG ConnectionIndex)
USBRPMAPI NTSTATUS NTAPI RPMLoadAlternateDriverForDevice(IN HANDLE RegisteredDriver, IN ULONG64 HubID, IN ULONG ConnectionIndex, IN OPTIONAL REFGUID OwnerGuid)
USBRPMAPI NTSTATUS NTAPI RPMRegisterAlternateDriver(IN PDRIVER_OBJECT DriverObject, IN LPCWSTR CompatibleId, OUT PHANDLE RegisteredDriver)
LONG NTSTATUS
Definition: precomp.h:26
#define USBRPMAPI
Definition: usbrpmif.h:27
PDEVICE_LIST DeviceList
Definition: utils.c:27
WCHAR HubSymbolicLinkName[MAX_PATH]
Definition: usbrpmif.h:40
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
USBRPMAPI NTSTATUS RPMGetAvailableDevices(IN HANDLE RegisteredDriver, IN USHORT Locale, OUT PUSBRPM_DEVICE_LIST *DeviceList)
ULONG NumberOfDevices
Definition: usbrpmif.h:44
struct _USBRPM_DEVICE_INFORMATION * PUSBRPM_DEVICE_INFORMATION
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
Definition: wdfdriver.h:213
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define MAX_PATH
Definition: compat.h:34
WCHAR ProductString[MAXIMUM_USB_STRING_LENGTH]
Definition: usbrpmif.h:39
#define MAXIMUM_USB_STRING_LENGTH
Definition: usb100.h:43
struct _USBRPM_DEVICE_INFORMATION USBRPM_DEVICE_INFORMATION
unsigned __int64 ULONG64
Definition: imports.h:198
unsigned char UCHAR
Definition: xmlstorage.h:181
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:454
_Must_inspect_result_ _In_ WDFDEVICE Device
Definition: wdfchildlist.h:474
struct _USBRPM_DEVICE_LIST * PUSBRPM_DEVICE_LIST
unsigned short USHORT
Definition: pedump.c:61
#define OUT
Definition: typedefs.h:40
unsigned int ULONG
Definition: retypes.h:1
struct _USBRPM_DEVICE_LIST USBRPM_DEVICE_LIST
WCHAR ManufacturerString[MAXIMUM_USB_STRING_LENGTH]
Definition: usbrpmif.h:38
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68