ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

usbrpmif.h
Go to the documentation of this file.
00001 /*
00002  * usbrpmif.h
00003  *
00004  * This file is part of the ReactOS PSDK package.
00005  *
00006  * Contributors:
00007  *   Created by Amine Khaldi <amine.khaldi@reactos.org>
00008  *
00009  * THIS SOFTWARE IS NOT COPYRIGHTED
00010  *
00011  * This source code is offered for use in the public domain. You may
00012  * use, modify or distribute it freely.
00013  *
00014  * This code is distributed in the hope that it will be useful but
00015  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
00016  * DISCLAIMED. This includes but is not limited to warranties of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00018  *
00019  */
00020 
00021 #pragma once
00022 
00023 #include "windef.h"
00024 #include "usb100.h"
00025 
00026 #if !defined(_USBRPM_DRIVER_)
00027 #define USBRPMAPI DECLSPEC_IMPORT
00028 #else
00029 #define USBRPMAPI
00030 #endif
00031 
00032 typedef struct _USBRPM_DEVICE_INFORMATION {
00033   ULONG64 HubId;
00034   ULONG ConnectionIndex;
00035   UCHAR DeviceClass;
00036   USHORT VendorId;
00037   USHORT ProductId;
00038   WCHAR ManufacturerString[MAXIMUM_USB_STRING_LENGTH];
00039   WCHAR ProductString[MAXIMUM_USB_STRING_LENGTH];
00040   WCHAR HubSymbolicLinkName[MAX_PATH];
00041 } USBRPM_DEVICE_INFORMATION, *PUSBRPM_DEVICE_INFORMATION;
00042 
00043 typedef struct _USBRPM_DEVICE_LIST {
00044   ULONG NumberOfDevices;
00045   USBRPM_DEVICE_INFORMATION Device[0];
00046 } USBRPM_DEVICE_LIST, *PUSBRPM_DEVICE_LIST;
00047 
00048 USBRPMAPI
00049 NTSTATUS
00050 NTAPI
00051 RPMRegisterAlternateDriver(
00052   IN PDRIVER_OBJECT  DriverObject,
00053   IN LPCWSTR CompatibleId, 
00054   OUT PHANDLE RegisteredDriver);
00055 
00056 USBRPMAPI
00057 NTSTATUS
00058 NTAPI
00059 RPMUnregisterAlternateDriver(
00060   IN HANDLE RegisteredDriver);
00061 
00062 USBRPMAPI
00063 NTSTATUS
00064 RPMGetAvailableDevices(
00065   IN HANDLE RegisteredDriver,
00066   IN USHORT Locale,
00067   OUT PUSBRPM_DEVICE_LIST *DeviceList);
00068 
00069 USBRPMAPI
00070 NTSTATUS
00071 NTAPI
00072 RPMLoadAlternateDriverForDevice(
00073   IN HANDLE RegisteredDriver,
00074   IN ULONG64 HubID,
00075   IN ULONG ConnectionIndex,
00076   IN OPTIONAL REFGUID OwnerGuid);
00077 
00078 USBRPMAPI
00079 NTSTATUS
00080 NTAPI
00081 RPMUnloadAlternateDriverForDevice(
00082   IN HANDLE RegisteredDriver,
00083   IN ULONG64 HubID,
00084   IN ULONG ConnectionIndex);

Generated on Sun May 27 2012 04:32:32 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.