Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

pciintrf.h

Go to the documentation of this file.
00001 /*++ 00002 00003 Module Name: 00004 00005 pciintrf.h 00006 00007 Abstract: 00008 00009 Contains interface GUIDs and structures for non-wdm modules that 00010 interface directly with the PCI driver via the PNP QUERY_INTERFACE 00011 mechanism. 00012 00013 Author: 00014 00015 Peter Johnston (peterj) November 1997 00016 00017 Revision History: 00018 00019 --*/ 00020 00021 #ifndef _PCIINTRF_ 00022 #define _PCIINTRF_ 00023 00024 00025 // 00026 // CardBus 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 // generic interface header 00058 // 00059 00060 USHORT Size; 00061 USHORT Version; 00062 PVOID Context; // not actually used in this interface 00063 PINTERFACE_REFERENCE InterfaceReference; 00064 PINTERFACE_DEREFERENCE InterfaceDereference; 00065 00066 // 00067 // Pci data. 00068 // 00069 00070 PDRIVER_OBJECT DriverObject; // returned ptr to PCI driver 00071 00072 // 00073 // Pci-Cardbus private interfaces 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 // generic interface header 00109 // 00110 USHORT Size; 00111 USHORT Version; 00112 PVOID Context; 00113 PINTERFACE_REFERENCE InterfaceReference; 00114 PINTERFACE_DEREFERENCE InterfaceDereference; 00115 00116 // 00117 // PME Signal interfaces 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 // Some well-known interface versions supported by the PCI Bus Driver 00126 00127 #define PCI_PME_INTRF_STANDARD_VER 1 00128 00129 00130 #endif // _PCIINTRF_

Generated on Sat May 15 19:41:08 2004 for test by doxygen 1.3.7