PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB função de retorno de chamada (d3dumddi.h)
A função pfnSignalSynchronizationObjectCb insere um sinal nos objetos de sincronização especificados no fluxo de DMA de contexto especificado.
Sintaxe
PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB Pfnd3dddiSignalsynchronizationobjectcb;
HRESULT Pfnd3dddiSignalsynchronizationobjectcb(
HANDLE hDevice,
const D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT *unnamedParam2
)
{...}
Parâmetros
hDevice
Um identificador para um dispositivo de exibição (ou seja, o contexto gráfico).
unnamedParam2
pData [in]
Um ponteiro para uma estrutura D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT que descreve os objetos de sincronização e o fluxo de DMA de contexto em que a sinalização está configurada.
Retornar valor
pfnSignalSynchronizationObjectCb retorna um dos seguintes valores:
Código de retorno | Descrição |
---|---|
S_OK | A sinalização foi configurada com êxito. |
E_INVALIDARG | Os parâmetros foram validados e determinados como incorretos. |
Essa função também pode retornar outros valores HRESULT.
Comentários
Observação do Direct3D versão 11: Para obter mais informações sobre como o driver chama pfnSignalSynchronizationObjectCb, consulte Alterações do Direct3D 10.
Exemplos
O exemplo de código a seguir mostra como inserir um sinal em objetos de sincronização.
HRESULT CD3DContext::SyncEngines(DWORD dwEngineReleasingControl, DWORD dwEngineAcquiringControl) {
HRESULT hr;
D3DDDICB_WAITFORSYNCHRONIZATIONOBJECT sWaitObject;
D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT sSignalObject;
sSignalObject.hContext = m_sContexts[dwEngineReleasingControl].hContext;
sSignalObject.ObjectCount = 1;
sSignalObject.ObjectHandleArray[0] = m_hEngineSyncObject;
hr = m_d3dCallbacks.pfnSignalSynchronizationObjectCb(m_hD3D, &sSignalObject);
if (FAILED(hr)) {
DBG_BREAK;
return hr;
}
sWaitObject.hContext = m_sContexts[dwEngineAcquiringControl].hContext;
sWaitObject.ObjectCount = 1;
sWaitObject.ObjectHandleArray[0] = m_hEngineSyncObject;
hr = m_d3dCallbacks.pfnWaitForSynchronizationObjectCb(m_hD3D, &sWaitObject);
if (FAILED(hr)) {
DBG_BREAK;
}
return hr;
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows. |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | d3dumddi.h (inclua D3dumddi.h) |