共用方式為


SPB_TRANSFER_DIRECTION列舉 (spb.h)

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

語法

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

另請參閱