次の方法で共有


ADDRESS_AND_SIZE_TO_SPAN_PAGES マクロ (wdm.h)

ADDRESS_AND_SIZE_TO_SPAN_PAGES マクロは、仮想アドレスによって定義された仮想範囲でスパンされるページ数と、転送要求のサイズ (バイト単位) を返します。

構文

void ADDRESS_AND_SIZE_TO_SPAN_PAGES(
  [in]  Va,
  [in]  Size
);

パラメーター

[in] Va

範囲のベースとなる仮想アドレスへのポインター。

[in] Size

転送要求のサイズをバイト単位で指定します。

戻り値

何一つ

備考

ADDRESS_AND_SIZE_TO_SPAN_PAGES は、Vaから始まる仮想範囲でスパンされたページ数を返します。

DMA 転送を行うドライバーは、転送要求をデバイス DMA 操作のシーケンスに分割する必要があるかどうかを判断する ADDRESS_AND_SIZE_TO_SPAN_PAGES を呼び出します。

ドライバーは、システム定義の定数PAGE_SIZEを使用して、転送するバイト数が現在のプラットフォームの仮想メモリ ページ サイズより小さいかどうかを判断できます。

ADDRESS_AND_SIZE_TO_SPAN_PAGES の呼び出し元は、任意の IRQL で実行できます。 呼び出し元は、指定されたパラメーターでメモリ オーバーフローが発生しないようにする必要があります。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000
ヘッダー wdm.h
IRQL 任意のレベル