Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |