NDIS_PCI_DEVICE_CUSTOM_PROPERTIES structure (ntddndis.h)
The NDIS_PCI_DEVICE_CUSTOM_PROPERTIES structure defines the type and speed of the PCI bus that a NIC is running on.
Syntax
typedef struct _NDIS_PCI_DEVICE_CUSTOM_PROPERTIES {
NDIS_OBJECT_HEADER Header;
UINT32 DeviceType;
UINT32 CurrentSpeedAndMode;
UINT32 CurrentPayloadSize;
UINT32 MaxPayloadSize;
UINT32 MaxReadRequestSize;
UINT32 CurrentLinkSpeed;
UINT32 CurrentLinkWidth;
UINT32 MaxLinkSpeed;
UINT32 MaxLinkWidth;
UINT32 PciExpressVersion;
UINT32 InterruptType;
UINT32 MaxInterruptMessages;
} NDIS_PCI_DEVICE_CUSTOM_PROPERTIES, *PNDIS_PCI_DEVICE_CUSTOM_PROPERTIES;
Members
Header
The NDIS_OBJECT_HEADER structure for the NDIS_PCI_DEVICE_CUSTOM_PROPERTIES structure. NDIS sets the Type member of the structure that Header specifies to NDIS_OBJECT_TYPE_DEFAULT, the Revision member to NDIS_OBJECT_TYPE_PCI_DEVICE_CUSTOM_PROPERTIES_REVISION_1, and the Size member to sizeof(NDIS_PCI_DEVICE_CUSTOM_PROPERTIES).
DeviceType
The PCI device type. For example, conventional, PCI-X, PCI-E, and so on. See the definitions for DevProp_PciDevice_DeviceType_xxx in pciprop.h.
CurrentSpeedAndMode
The speed and mode of conventional PCI or PCI-X devices. For conventional PCI devices, see the definitions for DevProp_PciDevice_CurrentSpeedAndMode_Pci_Conventional_xxx. For PCI-X devices, see the definitions for DevProp_PciDevice_CurrentSpeedAndMode_Pci_X_xxx. This property is valid only for conventional PCI and PCI-X devices.
CurrentPayloadSize
The current payload size in the transaction layer for a PCI Express device. See definitions for DevProp_PciExpressDevice_PayloadOrRequestSize_xxx. This property is valid only for PCI Express devices.
MaxPayloadSize
The maximum payload size in the transaction layer that is supported by a PCI Express device. See definitions for DevProp_PciExpressDevice_PayloadOrRequestSize_xxx. This property is valid only for PCI Express devices.
MaxReadRequestSize
The maximum read request size for a PCI Express device. See definitions for DevProp_PciExpressDevice_PayloadOrRequestSize_xxx. This property is valid only for PCI Express devices..
CurrentLinkSpeed
The current link speed for the device. This property is applicable to a PCI Express device. See the definitions for DevProp_PciExpressDevice_LinkSpeed_xxx. This property is valid only for PCI Express devices.
CurrentLinkWidth
The current link width of the device. This property is applicable to a PCI express device. See the definitions for DevProp_PciExpressDevice_LinkWidth_xxx. This property is valid only for PCI Express devices.
MaxLinkSpeed
The maximum link speed of an express link for a PCI Express device. See the definitions for DevProp_PciExpressDevice_LinkSpeed_xxx. This property is valid only for PCI Express devices..
MaxLinkWidth
The maximum link width that is implemented by an express link for a PCI Express device. See the definitions for DevProp_PciExpressDevice_LinkWidth_xxx. This property is valid only for PCI Express devices.
PciExpressVersion
The specification version to which an PCI Express device was built. See the definitions for DevProp_PciExpressDevice_Spec_Version_xxx. This property is valid only for PCI Express devices.
InterruptType
The hardware support for interrupts on the PCI Express device. See the definitions for DevProp_PciDevice_InterruptType_xxx. This property is valid only for PCI Express devices.
MaxInterruptMessages
The number of message interrupts that a PCI Express device supports in hardware. See the definition for DevProp_PciDevice_InterruptMessageMaximum. This property is valid only for PCI Express devices that support message interrupts.
Remarks
Some high performance miniport adapters can adjust the hardware configuration and resource allocation based on the type and speed of the PCI bus that the NIC is running on. To provide miniport drivers with this information during initialization, NDIS queries the custom PCI properties of PCI adapters and provides the results in PciDeviceCustomProperties member of the NDIS_MINIPORT_INIT_PARAMETERS structure. The type and speed of the PCI bus is also available through the OID_GEN_PCI_DEVICE_CUSTOM_PROPERTIES OID request and the GUID_NDIS_GEN_PCI_DEVICE_CUSTOM_PROPERTIES WMI GUID.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Supported in NDIS 6.0 and later. |
Header | ntddndis.h (include Ndis.h) |