ID3D12Fence::SetEventOnCompletion, méthode (d3d12.h)
Spécifie un événement qui est 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 de l’objet d’événement.
Valeur retournée
Type : HRESULT
Cette méthode retourne E_OUTOFMEMORY si les composants du noyau ne disposent pas de suffisamment de mémoire pour stocker l’événement dans une liste. Pour obtenir d’autres valeurs de retour possibles, consultez Codes de retour Direct3D 12 .
Notes
Pour spécifier plusieurs clôtures avant le déclenchement d’un événement, 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 dans la référence Direct3D 12.
Spécifications
Plateforme cible | Windows |
En-tête | d3d12.h |
Bibliothèque | D3D12.lib |
DLL | D3D12.dll |