ID3D12Fence::SetEventOnCompletion-Methode (d3d12.h)
Gibt ein Ereignis an, das ausgelöst wird, wenn der Zaun einen bestimmten Wert erreicht.
Syntax
HRESULT SetEventOnCompletion(
UINT64 Value,
HANDLE hEvent
);
Parameter
Value
Typ: UINT64
Der Zaunwert, wenn das Ereignis signalisiert werden soll.
hEvent
Typ: HANDLE
Ein Handle für das Ereignisobjekt.
Rückgabewert
Typ: HRESULT
Diese Methode gibt E_OUTOFMEMORY zurück, wenn die Kernelkomponenten nicht über genügend Arbeitsspeicher verfügen, um das Ereignis in einer Liste zu speichern. Weitere mögliche Rückgabewerte finden Sie unter Direct3D 12-Rückgabecodes .
Hinweise
Informationen zum Angeben mehrerer Zäune vor dem Auslösen eines Ereignisses finden Sie unter SetEventOnMultipleFenceCompletion.
Wenn hEvent ein NULL-Handle ist, wird diese API erst zurückgegeben, wenn die angegebenen Umgrenzungswerte erreicht wurden.
Diese Methode kann von mehreren Threads gleichzeitig sicher aufgerufen werden.
Beispiele
Im D3D12Multithreading-Beispiel wird ID3D12Fence::SetEventOnCompletion wie folgt verwendet:
// 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);
Weitere Informationen finden Sie im Beispielcode in der Direct3D 12-Referenz.
Anforderungen
Zielplattform | Windows |
Kopfzeile | d3d12.h |
Bibliothek | D3D12.lib |
DLL | D3D12.dll |