PAGP_COMMIT_VIRTUAL コールバック関数 (videoagp.h)
AgpCommitVirtual 関数は、予約済みの仮想メモリを、関連付けられた AGP デコード可能な物理アドレスの範囲にマップします。
構文
PAGP_COMMIT_VIRTUAL PagpCommitVirtual;
PVOID PagpCommitVirtual(
[in] IN PVOID HwDeviceExtension,
[in] IN PVOID VirtualReserveContext,
[in] IN ULONG Pages,
[in] IN ULONG Offset
)
{...}
パラメーター
[in] HwDeviceExtension
ミニポート ドライバーのデバイス拡張機能へのポインター。
[in] VirtualReserveContext
予約済みの仮想アドレス範囲を識別します。 コンテキスト ハンドルは AgpReserveVirtual から取得されました。
[in] Pages
マップする仮想メモリのページ数を指定します。
[in] Offset
ページをコミットするページ オフセットを指定します。 オフセットは、 VirtualReserveContext によって識別される予約済み仮想アドレス範囲に適用されます。
戻り値
マッピングが成功した場合、AgpCommitVirtual はコミットされたページのベースの仮想アドレスを返します。それ以外の場合は NULL を返します。
注釈
AgpCommitVirtual を呼び出して仮想ページの範囲をコミットする前に、次の操作を行う必要があります。
- AgpReservePhysical を呼び出して、GPU で使用する物理アドレスの範囲を予約します。
- AgpCommitPhysical を呼び出して、予約済み物理アドレスの一部 (またはすべて) をシステム メモリ内のロックされたページにマップします。
- AgpReserveVirtual を呼び出して、AgpReservePhysical によって予約された物理アドレスの範囲に関連付けられている仮想アドレスの範囲を予約します。
Microsoft Windows 2000 で実行されるビデオ ミニポート ドライバーでは、サイズが 64 KB の倍数である仮想範囲を常にコミットする必要があります。 AgpCommitVirtual を呼び出して、64 キロバイトの倍数ではない仮想範囲をコミットすると、無効な仮想アドレスが返される可能性があります。
Windows XP 以降では、 AgpCommitVirtual によってコミットされた範囲が自動的に拡張され、64 キロバイトの倍数になります。
ミニポート ドライバーが AgpCommitVirtual を呼び出すと、 VirtualReserveContext によって識別される仮想アドレス範囲の一部が物理アドレスにマップされます。 マップされた部分は、VirtualReserveContext によって識別される仮想アドレス範囲にオフセット ページを開始します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | デスクトップ |
Header | videoagp.h (Video.h を含む) |
IRQL | PASSIVE_LEVEL |