Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenswenum.h
Go to the documentation of this file.
00001 #ifndef _SWENUM_ 00002 #define _SWENUM_ 00003 00004 #define IOCTL_SWENUM_INSTALL_INTERFACE CTL_CODE(FILE_DEVICE_BUS_EXTENDER, 0x000, METHOD_BUFFERED, FILE_ANY_ACCESS) 00005 #define IOCTL_SWENUM_REMOVE_INTERFACE CTL_CODE(FILE_DEVICE_BUS_EXTENDER, 0x001, METHOD_BUFFERED, FILE_ANY_ACCESS) 00006 #define IOCTL_SWENUM_GET_BUS_ID CTL_CODE(FILE_DEVICE_BUS_EXTENDER, 0x002, METHOD_NEITHER, FILE_READ_ACCESS) 00007 00008 typedef struct _SWENUM_INSTALL_INTERFACE { 00009 GUID DeviceId; 00010 GUID InterfaceId; 00011 WCHAR ReferenceString[1]; 00012 } SWENUM_INSTALL_INTERFACE, *PSWENUM_INSTALL_INTERFACE; 00013 00014 #if defined(_KS_) 00015 #define STATIC_BUSID_SoftwareDeviceEnumerator STATIC_KSMEDIUMSETID_Standard 00016 #define BUSID_SoftwareDeviceEnumerator KSMEDIUMSETID_Standard 00017 #else 00018 #define STATIC_BUSID_SoftwareDeviceEnumerator \ 00019 0x4747B320L, 0x62CE, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00 00020 #endif /* _KS_ */ 00021 00022 #if defined(_NTDDK_) 00023 00024 #if !defined(_KS_) 00025 typedef VOID (NTAPI *PFNREFERENCEDEVICEOBJECT)(PVOID Context); 00026 typedef VOID (NTAPI *PFNDEREFERENCEDEVICEOBJECT)(PVOID Context); 00027 typedef NTSTATUS (NTAPI *PFNQUERYREFERENCESTRING)(PVOID Context, PWCHAR *String); 00028 #endif /* _KS_ */ 00029 00030 #define BUS_INTERFACE_SWENUM_VERSION 0x100 00031 00032 typedef struct _BUS_INTERFACE_SWENUM { 00033 INTERFACE Interface; 00034 PFNREFERENCEDEVICEOBJECT ReferenceDeviceObject; 00035 PFNDEREFERENCEDEVICEOBJECT DereferenceDeviceObject; 00036 PFNQUERYREFERENCESTRING QueryReferenceString; 00037 } BUS_INTERFACE_SWENUM, *PBUS_INTERFACE_SWENUM; 00038 00039 #if defined(__cplusplus) 00040 extern "C" { 00041 #endif 00042 00043 #if defined(_KS_) 00044 00045 KSDDKAPI 00046 NTSTATUS 00047 NTAPI 00048 KsQuerySoftwareBusInterface( 00049 IN PDEVICE_OBJECT PnpDeviceObject, 00050 OUT PBUS_INTERFACE_SWENUM BusInterface); 00051 00052 KSDDKAPI 00053 NTSTATUS 00054 NTAPI 00055 KsReferenceSoftwareBusObject( 00056 IN KSDEVICE_HEADER Header); 00057 00058 KSDDKAPI 00059 VOID 00060 NTAPI 00061 KsDereferenceSoftwareBusObject( 00062 IN KSDEVICE_HEADER Header); 00063 00064 KSDDKAPI 00065 NTSTATUS 00066 NTAPI 00067 KsCreateBusEnumObject( 00068 IN PWSTR BusIdentifier, 00069 IN PDEVICE_OBJECT BusDeviceObject, 00070 IN PDEVICE_OBJECT PhysicalDeviceObject, 00071 IN PDEVICE_OBJECT PnpDeviceObject, 00072 IN REFGUID InterfaceGuid, 00073 IN PWSTR ServiceRelativePath); 00074 00075 KSDDKAPI 00076 NTSTATUS 00077 NTAPI 00078 KsGetBusEnumIdentifier( 00079 IN OUT PIRP Irp); 00080 00081 KSDDKAPI 00082 NTSTATUS 00083 NTAPI 00084 KsGetBusEnumPnpDeviceObject( 00085 IN PDEVICE_OBJECT DeviceObject, 00086 OUT PDEVICE_OBJECT *PnpDeviceObject); 00087 00088 KSDDKAPI 00089 NTSTATUS 00090 NTAPI 00091 KsInstallBusEnumInterface( 00092 IN PIRP Irp); 00093 00094 KSDDKAPI 00095 NTSTATUS 00096 NTAPI 00097 KsIsBusEnumChildDevice( 00098 IN PDEVICE_OBJECT DeviceObject, 00099 OUT PBOOLEAN ChildDevice); 00100 00101 KSDDKAPI 00102 NTSTATUS 00103 NTAPI 00104 KsRemoveBusEnumInterface( 00105 IN PIRP Irp); 00106 00107 KSDDKAPI 00108 NTSTATUS 00109 NTAPI 00110 KsServiceBusEnumPnpRequest( 00111 IN PDEVICE_OBJECT DeviceObject, 00112 IN OUT PIRP Irp); 00113 00114 KSDDKAPI 00115 NTSTATUS 00116 NTAPI 00117 KsServiceBusEnumCreateRequest( 00118 IN PDEVICE_OBJECT DeviceObject, 00119 IN OUT PIRP Irp); 00120 00121 KSDDKAPI 00122 NTSTATUS 00123 NTAPI 00124 KsGetBusEnumParentFDOFromChildPDO( 00125 IN PDEVICE_OBJECT DeviceObject, 00126 OUT PDEVICE_OBJECT *FunctionalDeviceObject); 00127 00128 #endif /* _KS_ */ 00129 00130 #if defined(__cplusplus) 00131 } 00132 #endif 00133 00134 #endif /* _NTDDK_ */ 00135 00136 #endif /* _SWENUM_ */ Generated on Sat May 26 2012 04:28:57 for ReactOS by
1.7.6.1
|