00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
#ifndef _PCIINTRF_
00022
#define _PCIINTRF_
00023
00024
00025
00026
00027
00028
00029
DEFINE_GUID(GUID_PCI_CARDBUS_INTERFACE_PRIVATE, 0xcca82f31, 0x54d6, 0x11d1, 0x82, 0x24, 0x00, 0xa0, 0xc9, 0x32, 0x43, 0x85);
00030
DEFINE_GUID(GUID_PCI_PME_INTERFACE, 0xaac7e6ac, 0xbb0b, 0x11d2, 0xb4, 0x84, 0x00, 0xc0, 0x4f, 0x72, 0xde, 0x8b);
00031 #define PCI_CB_INTRF_VERSION 1
00032
00033
typedef
00034
NTSTATUS
00035 (*PCARDBUSADD)(
00036 IN
PDEVICE_OBJECT DeviceObject,
00037 IN OUT PVOID * DeviceContext
00038 );
00039
00040
typedef
00041
NTSTATUS
00042 (*PCARDBUSDELETE)(
00043 IN PVOID DeviceContext
00044 );
00045
00046
typedef
00047
NTSTATUS
00048 (*PCARDBUSPCIDISPATCH)(
00049 IN PVOID DeviceContext,
00050 IN
PIRP Irp
00051 );
00052
00053
00054 typedef struct _PCI_CARDBUS_INTERFACE_PRIVATE {
00055
00056
00057
00058
00059
00060 USHORT Size;
00061 USHORT Version;
00062 PVOID
Context;
00063 PINTERFACE_REFERENCE
InterfaceReference;
00064 PINTERFACE_DEREFERENCE
InterfaceDereference;
00065
00066
00067
00068
00069
00070 PDRIVER_OBJECT DriverObject;
00071
00072
00073
00074
00075
00076 PCARDBUSADD AddCardBus;
00077 PCARDBUSDELETE DeleteCardBus;
00078 PCARDBUSPCIDISPATCH DispatchPnp;
00079
00080
00081 }
PCI_CARDBUS_INTERFACE_PRIVATE, *
PPCI_CARDBUS_INTERFACE_PRIVATE;
00082
00083
typedef
00084
VOID
00085 (*PPME_GET_INFORMATION) (
00086 IN
PDEVICE_OBJECT Pdo,
00087 OUT PBOOLEAN PmeCapable,
00088 OUT PBOOLEAN PmeStatus,
00089 OUT PBOOLEAN PmeEnable
00090 );
00091
00092
typedef
00093
VOID
00094 (*PPME_CLEAR_PME_STATUS) (
00095 IN
PDEVICE_OBJECT Pdo
00096 );
00097
00098
typedef
00099
VOID
00100 (*PPME_SET_PME_ENABLE) (
00101 IN
PDEVICE_OBJECT Pdo,
00102 IN BOOLEAN PmeEnable
00103 );
00104
00105 typedef struct _PCI_PME_INTERFACE {
00106
00107
00108
00109
00110 USHORT Size;
00111 USHORT Version;
00112 PVOID
Context;
00113 PINTERFACE_REFERENCE
InterfaceReference;
00114 PINTERFACE_DEREFERENCE
InterfaceDereference;
00115
00116
00117
00118
00119 PPME_GET_INFORMATION GetPmeInformation;
00120 PPME_CLEAR_PME_STATUS ClearPmeStatus;
00121 PPME_SET_PME_ENABLE UpdateEnable;
00122
00123 }
PCI_PME_INTERFACE, *
PPCI_PME_INTERFACE;
00124
00125
00126
00127 #define PCI_PME_INTRF_STANDARD_VER 1
00128
00129
00130
#endif // _PCIINTRF_