D3DKMT_OPENSYNCOBJECTFROMNTHANDLE2構造体 (d3dkmthk.h)

D3DKMT_OPENSYNCOBJECTFROMNTHANDLE2 は、監視対象のフェンス オブジェクト 開くために D3DKMTOpenSyncObjectFromNtHandle2 と共に使用されます。

構文

typedef struct _D3DKMT_OPENSYNCOBJECTFROMNTHANDLE2 {
  [in]  HANDLE                             hNtHandle;
  [in]  D3DKMT_HANDLE                      hDevice;
  [in]  D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS Flags;
  [out] D3DKMT_HANDLE                      hSyncObject;
  union {
    struct {
      VOID                                  *FenceValueCPUVirtualAddress;
      D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS FenceValueGPUVirtualAddress;
      UINT                                  EngineAffinity;
    } MonitoredFence;
          D3DKMT_ALIGN64 UINT64 Reserved[8];
  };
} D3DKMT_OPENSYNCOBJECTFROMNTHANDLE2;

メンバーズ

[in] hNtHandle

開く同期オブジェクトの NT ハンドル。

[in] hDevice

この同期オブジェクトを使用するデバイス ハンドル。

[in] Flags

待機セマンティクスやシグナル セマンティクス、TDR 処理など、このデバイスに必要な同期オブジェクトの動作を指定します。

[out] hSyncObject

このプロセスで使用できる同期オブジェクトを処理します。

MonitoredFence

このプロセスで使用できる同期オブジェクトの仮想アドレスが含まれています。

[out] MonitoredFence.FenceValueCPUVirtualAddress

CPU のフェンス値の読み取り専用マッピング。 これは、監視対象のフェンス オブジェクトを作成したプロセスから読み取り可能なユーザー モード アドレスです。 InterlockedCompareExchange64(pointer,0,0)などのメソッドを介して 64 ビットアトミック読み取りをサポートする 32 ビット プラットフォームの場合、マッピングは読み取り専用ではなく読み取り/書き込みになり、インターロック操作中のアクセス違反を回避します。 No64BitAtomics cap 値に応じて、このアドレスは 32 ビットまたは 64 ビットの基になる値を指します。

[out] MonitoredFence.FenceValueGPUVirtualAddress

GPU のフェンス値の読み取り/書き込みマッピング。 ドライバーは、このアドレスの GPU 書き込みコマンドをコマンド バッファーに挿入することで、新しいフェンス値を通知できます。DirectX グラフィックス カーネルは、このフェンス オブジェクト値の待機者のブロックを解除します。 この GPU 仮想アドレスは非同期的にマップされます。ドライバーは、監視対象のフェンス同期オブジェクトを開いたデバイスまたは作成したデバイスが、この GPU 仮想アドレスにアクセスする前に、ページング フェンス オブジェクトの PagingFenceValue 到達するまで待機する必要があります。 No64BitAtomics cap 値に応じて、このアドレスは 32 ビットまたは 64 ビットの基になる値を指します。

[in] MonitoredFence.EngineAffinity

ビット フィールド。各ビット位置 (ゼロから始まる) は、GPU 仮想アドレスがコミットされるリンクされたディスプレイ アダプター リンク内の物理アダプター インデックスを定義します。 ゼロは、GPU 仮想アドレスがすべての物理アダプターにコミットされることを意味します。

Reserved[8]

MonitoredFence 構造体の統合値。

必要条件

要件 価値
サポートされる最小クライアント Windows 10
サポートされる最小サーバー Windows Server 2016
ヘッダー d3dkmthk.h (D3dkmthk.h を含む)

関連項目

D3DKMTOpenSyncObjectFromNtHandle2