ID3D12Fence::SetEventOnCompletion, méthode (d3d12.h)
Spécifie un événement déclenché lorsque la clôture atteint une certaine valeur.
Syntaxe
HRESULT SetEventOnCompletion(
UINT64 Value,
HANDLE hEvent
);
Paramètres
Value
Type : UINT64
Valeur de clôture lorsque l’événement doit être signalé.
hEvent
Type : HANDLE
Handle à l’objet d’événement.
Valeur retournée
Type : HRESULT
Cette méthode retourne E_OUTOFMEMORY si les composants du noyau n’ont pas suffisamment de mémoire pour stocker l’événement dans une liste. Consultez les codes de retour Direct3D 12 pour obtenir d’autres valeurs de retour possibles.
Notes
Pour spécifier plusieurs clôtures avant qu’un événement soit déclenché, reportez-vous à SetEventOnMultipleFenceCompletion.
Si hEvent est un handle Null, cette API ne retourne pas tant que la ou les valeurs de clôture spécifiées n’ont pas été atteintes.
Cette méthode peut être appelée en toute sécurité à partir de plusieurs threads à la fois.
Exemples
L’exemple D3D12Multithreading utilise ID3D12Fence::SetEventOnCompletion comme suit :
// 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);
Reportez-vous à l’exemple de code de la référence Direct3D 12.
Configuration requise
Plateforme cible | Windows |
En-tête | d3d12.h |
Bibliothèque | D3D12.lib |
DLL | D3D12.dll |