IDE_CHANNEL_CONFIGURATION structure (irb.h)

The IDE_CHANNEL_CONFIGURATION structure contains configuration information for the indicated channel.

Note

The ATA port driver and ATA miniport driver models may be altered or unavailable in the future. Instead, we recommend using the Storport driver and Storport miniport driver models.

Syntax

typedef struct _IDE_CHANNEL_CONFIGURATION {
  USHORT                              Version;
  UCHAR                               ChannelNumber;
  SUPPORTED_ADVANCES                  SupportedAdvances;
  IDE_OPERATION_MODE                  ChannelMode;
  PIDE_MINIPORT_RESOURCES             ChannelResources;
  UCHAR                               NumberOfOverlappedRequests;
  UCHAR                               MaxTargetId;
  BOOLEAN                             SyncWithIsr;
  BOOLEAN                             SupportsWmi;
  PIDE_ADVANCED_CHANNEL_CONFIGURATION AdvancedChannelConfiguration;
} IDE_CHANNEL_CONFIGURATION, *PIDE_CHANNEL_CONFIGURATION;

Members

Version

The port driver sets this member to sizeof(IDE_CHANNEL_CONFIGURATION). The miniport driver should verify that the version is greater than or equal to the one it is using.

ChannelNumber

The port driver sets this field to the number assigned for this channel. For non-native mode controllers, the primary channel will always be assigned 0 and the secondary channel will always be assigned 1.

SupportedAdvances

Reserved; do not use.

ChannelMode

The port driver sets this field to inform the ATA miniport which mode it is running at. There are three possible modes:

Mode Description
IdeModeNormal This is the standard full capabilities mode where the ATA miniport may operate normally.
IdeModeDump This is the limited no memory mode that an ATA miniport operates in during hibernate or crashdump. Callback routines and registry access routines cannot be used when in this mode.
IdeModeRemovableBay Similar to the IdeModeNormal, this indicates the ATA miniport must take extra steps to enable enumeration of devices that may have just been hotplugged onto a Parallel ATA bus.

ChannelResources

The port driver uses this pointer to pass miniport hardware resources to be used to access the HBA on a PCI bus.

NumberOfOverlappedRequests

The miniport driver should set this field to the number of requests the channel can handle at a time. By default, the port driver sets this to 1.

MaxTargetId

The miniport should set this member to the maximum target ID supported on this channel. Typically, this is 1 less than the maximum number of devices supported on the channel. By default, the port driver sets this is set to 1 to indicate that 2 devices are supported on a channel.

SyncWithIsr

Indicates support for unsynchronized I/O processing in the miniport driver. The miniport driver must set this member to TRUE.

SupportsWmi

Indicates support for WMI. The miniport driver must set this member to TRUE.

AdvancedChannelConfiguration

Reserved for system use; do not use.

Requirements

Requirement Value
Header irb.h (include Irb.h)