DXGKDDI_OPENNATIVEFENCE コールバック関数 (d3dkmddi.h)

DxgkDdiOpenNativeFence は、ネイティブ GPU フェンス オブジェクトを開くために OS によって呼び出されます。

構文

DXGKDDI_OPENNATIVEFENCE DxgkddiOpennativefence;

NTSTATUS DxgkddiOpennativefence(
  IN_CONST_HANDLE hAdapter,
  INOUT_PDXGKARG_OPENNATIVEFENCE pOpenNativeFence
)
{...}

パラメーター

hAdapter

[入力]ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 ディスプレイ ミニポート ドライバーは、以前は、DXGKDDI_ADD_DEVICE関数の MiniportDeviceContext 出力パラメーターで Dxgkrnl にこのハンドルを提供しました。

pOpenNativeFence

[入力/出力]開くネイティブ GPU フェンスを記述する DXGKARG_OPENNATIVEFENCE 構造体へのポインター。

戻り値

DxgkDdiOpenNativeFence は、KMD がネイティブ GPU フェンス オブジェクトを正常に開くことができた場合、STATUS_SUCCESSを返します。 それ以外の場合は、適切な NTSTATUS エラー コードが返されます。

注釈

DxgkDdiOpenNativeFence の前には、常に DxgkDdiCreateNativeFence の呼び出しがあります。

2 番目のプロセスで 、D3DKMT_OPENNATIVEFENCEFROMNTHANDLEを使用して共有ネイティブ フェンス オブジェクトを開くと、 Dxgkrnl は次の処理を行います。

  • hGlobalNativeFence を見つけます。
  • 2 番目のプロセスのアドレス空間で、その既存のオブジェクトの新しい CPU 仮想アドレス (VA) と GPU VA マッピングを作成します。

Dxgkrnl は、新しい hLocalNativeFence ハンドルと共に DxgkDdiOpenNativeFence を呼び出すことによって、このペイロードを KMD に渡します。

ネイティブ GPU フェンスの詳細については、「 ネイティブ GPU フェンス オブジェクト」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 11バージョン 24H2
Header d3dkmddi.h
IRQL PASSIVE_LEVEL

こちらもご覧ください

DXGKARG_OPENNATIVEFENCE

DxgkDdiCloseNativeFence

DxgkDdiCreateNativeFence