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_