Bagikan melalui


struktur D3DKMT_OPENSYNCOBJECTFROMNTHANDLE2 (d3dkmthk.h)

D3DKMT_OPENSYNCOBJECTFROMNTHANDLE2 digunakan dengan D3DKMTOpenSyncObjectFromNtHandle2 untuk membuka objek pagar yang dipantau.

Sintaksis

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;

Anggota

[in] hNtHandle

Handel NT untuk objek sinkronisasi yang akan dibuka.

[in] hDevice

Handel perangkat untuk menggunakan objek sinkronisasi ini.

[in] Flags

Menentukan perilaku objek sinkronisasi yang diinginkan untuk perangkat ini, seperti semantik tunggu dan sinyal dan penanganan TDR.

[out] hSyncObject

Tangani ke objek sinkronisasi yang dapat digunakan dalam proses ini.

MonitoredFence

Berisi alamat virtual objek sinkronisasi yang dapat digunakan dalam proses ini.

[out] MonitoredFence.FenceValueCPUVirtualAddress

Pemetaan baca-saja dari nilai pagar untuk CPU. Ini adalah alamat mode pengguna yang dapat dibaca dari proses yang membuat objek pagar yang dipantau. Untuk platform 32 bit yang mendukung pembacaan atom 64 bit melalui metode seperti InterlockedCompareExchange64(pointer,0,0), pemetaan akan dibuat baca-tulis alih-alih baca-saja untuk menghindari pelanggaran akses selama operasi yang saling mengunci. Bergantung pada nilai batas No64BitAtomics, alamat ini menunjuk ke nilai yang mendasar 32 bit atau 64 bit.

[out] MonitoredFence.FenceValueGPUVirtualAddress

Pemetaan baca-tulis dari nilai pagar untuk GPU. Driver dapat memberi sinyal nilai pagar baru dengan memasukkan perintah tulis GPU untuk alamat ini ke dalam buffer perintah, dan kernel grafis DirectX akan membuka blokir pelayan untuk nilai objek pagar ini. Alamat virtual GPU ini dipetakan secara asinkron, dan driver harus menunggu perangkat yang membuka atau membuat objek sinkronisasi pagar yang dipantau untuk mencapai PagingFenceValue pada objek pagar halamannya sebelum mengakses alamat virtual GPU ini. Bergantung pada nilai batas No64BitAtomics, alamat ini menunjuk ke nilai yang mendasar 32 bit atau 64 bit.

[in] MonitoredFence.EngineAffinity

Bidang bit, di mana setiap posisi bit (mulai dari nol) mendefinisikan indeks adaptor fisik dalam tautan adaptor tampilan tertaut tempat alamat virtual GPU akan diterapkan. Nol berarti bahwa alamat virtual GPU akan berkomitmen untuk semua adaptor fisik.

Reserved[8]

Nilai konsolidasi dari struktur MonitoredFence.

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows 10
server minimum yang didukung Windows Server 2016
Header d3dkmthk.h (termasuk D3dkmthk.h)

Lihat juga

D3DKMTOpenSyncObjectFromNtHandle2