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)

See also

GUID_NDIS_GEN_PCI_DEVICE_CUSTOM_PROPERTIES

NDIS_MINIPORT_INIT_PARAMETERS

NDIS_OBJECT_HEADER

OID_GEN_PCI_DEVICE_CUSTOM_PROPERTIES