AtaPortBuildRequestSenseIrb function (irb.h)
The AtaPortBuildRequestSenseIrb routine builds and returns an IRB for operation code SCSIOP_REQUEST_SENSE.
Syntax
PIDE_REQUEST_BLOCK AtaPortBuildRequestSenseIrb(
[in] PVOID ChannelExtension,
[in] PIDE_REQUEST_BLOCK Irb
);
Parameters
[in] ChannelExtension
A pointer to the channel extension.
[in] Irb
A pointer to a structure of type IDE_REQUEST_BLOCK that defines the failed IDE request block (IRB) for which the request sense will be issued.
Return value
If the operation succeeds, the AtaPortBuildRequestSenseIrb routine returns a pointer to the request sense IRB that it allocated. If the operation fails, AtaPortBuildRequestSenseIrb returns NULL.
Remarks
If the device does not support auto request sense, the miniport driver must build an IRB to gather sense data by using AtaPortBuildRequestSenseIrb and then sending it to the device. The miniport driver must not complete the original IRB until the corresponding request sense IRB has completed. Be aware that no request sense data is required for ATA devices.
For an explanation of the SCSIOP_REQUEST_SENSE command, see the SCSI-3 specification.
The miniport driver can have only one outstanding request sense IRB per logical unit.
Requirements
Requirement | Value |
---|---|
Target Platform | Desktop |
Header | irb.h (include Ata.h, Irb.h) |
Library | Ataport.lib; Pciidex.lib |