AtaControllerChannelEnabled 微型端口驱动程序例程指示是否启用了指定的通道。
注意
ATA 端口驱动程序和 ATA 微型端口驱动程序模型将来可能会更改或不可用。 相反,我们建议使用 Storport 驱动程序,Storport 微型端口 驱动程序模型。
语法
IDE_CHANNEL_ENABLED IdeChannelEnabled;
ATA_CHANNEL_STATE IdeChannelEnabled(
PVOID ControllerExtension,
ULONG Channel
)
{...}
参数
ControllerExtension
[in]指向控制器扩展的指针。
Channel
[in]要启用的通道。
返回值
AtaControllerChannelEnabled 返回类型为 ATA_CHANNEL_STATE的枚举器值,该值可以具有以下任何值:
返回代码 | 意义 |
---|---|
ChannelStateEnabled | 指示已启用指定的通道。 |
ChannelStateDisabled | 指示已禁用指定的通道。 |
ChannelStateUnKnown | 指示无法确定通道的状态。 |
言论
以下序列描述微型端口驱动程序和端口驱动程序如何交互以确定启用哪些控制器通道:
端口驱动程序调用微型端口驱动程序的 AtaAdapterControl 例程,IdeStart。
虽然微型端口驱动程序使用 ideStart 控制作处理 AtaAdapterControl 例程,但它初始化 IDE_CONTROLLER_CONFIGURATIONNumberOfChannels 成员,以指示已启用的通道数。
AtaAdapterControl 例程返回后,端口驱动程序 AtaControllerChannelEnabled 每次在 ControllerConfiguration 结构中指定的 NumberOfChannels,AtaAdapterControl返回。
此例程不应具有对控制器作至关重要的步骤。 在某些情况下,例如在故障转储作期间,完全不会调用此函数。 此外,仅在 PCIIDEx 响应 QueryDeviceRelations IRP 时,才在重新启动通道时调用此函数。
AtaControllerChannelEnabled 是可选的例程。 如果微型端口驱动程序未实现此例程,端口驱动程序将加载默认处理程序。 如果端口驱动程序加载默认处理程序,则假定在处理 IdeStart作时,由 ControllerConfiguration 结构中的 NumberOfChannels 指定的所有通道 AtaAdapterControl。 此例程允许 PCIIDEx 仅加载已启用通道的 ATA 端口驱动程序。 这样做可以支持稀疏通道(例如通道 0、通道 1、通道 3、通道 4 和通道 6,但通道 2 和通道 5)。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | irb.h (包括 Irb.h) |