SPB_TRANSFER_DIRECTION spb.h) (列舉

SPB_TRANSFER_DIRECTION列舉描述 I/O 傳輸順序中單一傳輸 (讀取或寫入) 的方向。

Syntax

typedef enum SPB_TRANSFER_DIRECTION {
  SpbTransferDirectionNone,
  SpbTransferDirectionFromDevice,
  SpbTransferDirectionToDevice,
  SpbTransferDirectionMax
}  *PSPB_TRANSFER_DIRECTION;

常數

 
SpbTransferDirectionNone
未定義數據傳輸方向。
SpbTransferDirectionFromDevice
數據傳輸方向是從裝置到系統記憶體 (從裝置) 讀取。
SpbTransferDirectionToDevice
數據傳輸方向是從系統記憶體到裝置 (寫入裝置) 。
SpbTransferDirectionMax
保留供操作系統使用。

備註

這個列舉中的值表示 I/O 傳輸順序中個別傳輸的方向。 IOCTL_SPB_EXECUTE_SEQUENCE I/O 控制要求的輸入緩衝區是SPB_TRANSFER_LIST結構,指定序列的傳輸清單。 每個傳輸都是由包含傳輸參數 的SPB_TRANSFER_LIST_ENTRY 結構所描述,其中包含傳輸方向。 傳輸方向是讀取作業的 SpbTransferDirectionFromDevice ,而且是寫入作業的 SpbTransferDirectionToDevice

SPB 控制器驅動程式可以呼叫 SpbRequestGetParameters 方法,從 I/O 要求擷取一組 SPB 特定參數。 其中一個參數是 SPB_TRANSFER_DIRECTION 列舉值,指出先前 I/O 要求的傳輸方向。 SPB 控制器驅動程式可以使用這個方向值來判斷目前的讀取或寫入 (IRP_MJ_READIRP_MJ_WRITE) 要求是否需要變更公交車上的傳輸方向。

此外, SpbRequestGetParameters 會擷取位置值,指出多要求序列之傳輸清單中的讀取或寫入要求相對位置。 如果讀取要求或寫入要求的位置值為 SpbRequestSequencePositionSingleSpbRequestSequencePositionFirst,則上一個傳輸的方向值為 SpbTransferDirectionNone (即沒有先前的傳輸方向) 。 對於具有 SpbRequestSequencePositionMiddleSpbRequestSequencePositionLast 位置值的讀取或寫入要求,方向值會指出先前的傳輸是讀取或寫入。 對於解除鎖定 (IOCTL_SPB_UNLOCK_CONTROLLER) 要求,其位置值為 SpbRequestSequencePositionLast,方向值會指出序列中的最後一個傳輸是讀取或寫入。

鎖定 (IOCTL_SPB_LOCK_CONTROLLER) 要求沒有先前的方向。 同樣地,傳遞至 EvtSpbControllerIoOther 回呼函式的 I/O 控件要求沒有先前的方向。 對於上述任一要求, SpbRequestGetParameters 所擷取的先前方向值是 SpbTransferDirectionNone

規格需求

需求
最低支援的用戶端 從 Windows 8 開始支援。
標頭 spb.h

另請參閱