@msdn=http://search.microsoft.com/search/results.aspx?qu=$$$ @pinvoke=http://pinvoke.net/$$$.htm Summary: TODO - a short description !!!!C# Definition: public struct PCI_COMMON_CONFIG { public ushort VendorID; public ushort DeviceID; public ushort Command; public ushort Status; public byte RevisionID; public byte ProgIf; public byte SubClass; public byte BaseClass; public byte CacheLineSize; public byte LatencyTimer; public byte HeaderType; public byte BIST; public u u; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 192)] public byte DeviceSpecific; } [StructLayout(LayoutKind.Explicit)] public struct u { [FieldOffset(0)] public PCI_HEADER_TYPE_0 type0; [FieldOffset(0)] public PCI_HEADER_TYPE_1 type1; [FieldOffset(0)] public PCI_HEADER_TYPE_2 type2; } const int PCI_TYPE0_ADDRESSES = 6; public struct PCI_HEADER_TYPE_0 { [MarshalAs(UnmanagedType.ByValArray, SizeConst = PCI_TYPE0_ADDRESSES)] public uint[] BaseAddresses; public uint CIS; // scum public ushort SubVendorID; public ushort SubSystemID; public uint RomBaseAddress; public byte CapabilitiesPtr; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] public byte[] Reserved1; public uint Reserved2; public byte InterruptLine; public byte InterruptPin; public byte MinimumGrant; public byte MaximumLatency; } const int PCI_TYPE1_ADDRESSES = 2; // PCI to PCI Bridge public struct PCI_HEADER_TYPE_1 { [MarshalAs(UnmanagedType.ByValArray, SizeConst = PCI_TYPE1_ADDRESSES)] public uint[] BaseAddresses; public byte PrimaryBus; public byte SecondaryBus; public byte SubordinateBus; public byte SecondaryLatency; public byte IOBase; public byte IOLimit; public ushort SecondaryStatus; public ushort MemoryBase; public ushort MemoryLimit; public ushort PrefetchBase; public ushort PrefetchLimit; public uint PrefetchBaseUpper32; public uint PrefetchLimitUpper32; public ushort IOBaseUpper16; public ushort IOLimitUpper16; public byte CapabilitiesPtr; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] public byte[] Reserved1; public uint ROMBaseAddress; public byte InterruptLine; public byte InterruptPin; public ushort BridgeControl; } const int PCI_TYPE2_ADDRESSES = 5; // PCI to CARDBUS Bridge public struct PCI_HEADER_TYPE_2 { public uint SocketRegistersBaseAddress; public byte CapabilitiesPtr; public byte Reserved; public ushort SecondaryStatus; public byte PrimaryBus; public byte SecondaryBus; public byte SubordinateBus; public byte SecondaryLatency; [MarshalAs(UnmanagedType.ByValArray, SizeConst = PCI_TYPE2_ADDRESSES - 1)] RANGE[] Range; public byte InterruptLine; public byte InterruptPin; public ushort BridgeControl; } public struct RANGE { public uint Base; public uint Limit; } !!!!VB Definition: Structure PCI_COMMON_CONFIG Public TODO End Structure !!!!User-Defined Field Types: None. !!!!Notes: Untested code, just a straight conversion from the header in the DDK Documentation: PCI_COMMON_CONFIG@msdn on MSDN
Edit Structures.PCI_CO...
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.