WdfDmaTransactionSetSingleTransferRequirement 関数 (wdfdmatransaction.h)
[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 |
Header | wdfdmatransaction.h (Wdf.h を含む) |
Library | Wdf01000.sys (「Framework ライブラリのバージョン管理」を参照)。 |
IRQL | <=DISPATCH_LEVEL |