Metode ID3D12Fence::SetEventOnCompletion (d3d12.h)
Menentukan peristiwa yang dinaikkan saat pagar mencapai nilai tertentu.
Sintaks
HRESULT SetEventOnCompletion(
UINT64 Value,
HANDLE hEvent
);
Parameter
Value
Jenis: UINT64
Nilai pagar ketika peristiwa akan disinyalir.
hEvent
Jenis: HANDEL
Handel ke objek peristiwa.
Menampilkan nilai
Jenis: HRESULT
Metode ini mengembalikan E_OUTOFMEMORY jika komponen kernel tidak memiliki memori yang memadai untuk menyimpan peristiwa dalam daftar. Lihat Kode pengembalian Direct3D 12 untuk kemungkinan nilai pengembalian lainnya.
Keterangan
Untuk menentukan beberapa pagar sebelum peristiwa dipicu, lihat SetEventOnMultipleFenceCompletion.
Jika hEvent adalah handel null, MAKA API ini tidak akan kembali sampai nilai pagar yang ditentukan telah tercapai.
Metode ini dapat dipanggil dengan aman dari beberapa utas pada satu waktu.
Contoh
Sampel D3D12Multithreading menggunakan ID3D12Fence::SetEventOnCompletion sebagai berikut:
// Wait for the command list to execute; we are reusing the same command
// list in our main loop but for now, we just want to wait for setup to
// complete before continuing.
// Signal and increment the fence value.
const UINT64 fenceToWaitFor = m_fenceValue;
ThrowIfFailed(m_commandQueue->Signal(m_fence.Get(), fenceToWaitFor));
m_fenceValue++;
// Wait until the fence is completed.
ThrowIfFailed(m_fence->SetEventOnCompletion(fenceToWaitFor, m_fenceEvent));
WaitForSingleObject(m_fenceEvent, INFINITE);
Lihat Kode contoh dalam referensi Direct3D 12.
Persyaratan
Target Platform | Windows |
Header | d3d12.h |
Pustaka | D3D12.lib |
DLL | D3D12.dll |