[KMDF にのみ適用]
WdfDmaTransactionSetSingleTransferRequirement メソッドは、DMA トランザクションが 1 回の転送で完了する必要があることを指定します。
構文
void WdfDmaTransactionSetSingleTransferRequirement(
[in] WDFDMATRANSACTION DmaTransaction,
[in] BOOLEAN RequireSingleTransfer
);
パラメーター
[in] DmaTransaction
WdfDmaTransactionCreateへの以前の呼び出しからドライバーが取得した DMA トランザクション オブジェクトへのハンドル。
[in] RequireSingleTransfer
TRUE 場合、DMA トランザクションに 1 回の転送が必要であることを指定するブール値。
戻り値
なし
注釈
このメソッドは、1 つのトランザクションに対してのみ 1 つの転送を要求します。 トランザクション オブジェクトが WdfDmaTransactionRelease でリサイクルされ、再初期化されると、この設定はリセットされます。これは、即時実行や転送の最大長など、他のトランザクション レベルのプロパティと同様です。
特定の DMA イネーブラーで作成されたすべての DMA トランザクションに対して単一転送を要求するには、WdfDmaEnablerCreateを呼び出すときに、WDF_DMA_ENABLER_CONFIG_FLAGS で WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER を指定します。 これは、DMA イネーブラーで作成 トランザクション オブジェクトごとに WdfDmaTransactionSetSingleTransferRequirement を呼び出すことと同じです。
ドライバーは、トランザクション オブジェクト 作成またはリサイクルした後、初期化または実行する前に、WdfDmaTransactionSetSingleTransferRequirement を呼び出します。 詳細については、「単一転送 DMA の使用」を参照してください。
WdfDmaTransactionSetSingleTransferRequirement DMA バージョン 3 が必要です。 DMA バージョン 3 を選択するには、WDF_DMA_ENABLER_CONFIG の WdmDmaVersionOverride メンバーを 3 に設定します。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 普遍 |
最小 KMDF バージョン | 1.19 |
ヘッダー | wdfdmatransaction.h (Wdf.h を含む) |
図書館 | Wdf01000.sys (フレームワーク ライブラリのバージョン管理を参照)。 |
IRQL | <=DISPATCH_LEVEL |