функция обратного вызова PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB (d3dumddi.h)
Функция pfnSignalSynchronizationObjectCb вставляет сигнал на указанные объекты синхронизации в указанном контекстном потоке DMA.
Синтаксис
PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB Pfnd3dddiSignalsynchronizationobjectcb;
HRESULT Pfnd3dddiSignalsynchronizationobjectcb(
HANDLE hDevice,
const D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT *unnamedParam2
)
{...}
Параметры
hDevice
Дескриптор устройства отображения (то есть графический контекст).
unnamedParam2
pData [in]
Указатель на структуру D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT , описывающую объекты синхронизации и поток контекста DMA, в котором настроена сигнализация.
Возвращаемое значение
pfnSignalSynchronizationObjectCb возвращает одно из следующих значений:
Код возврата | Описание |
---|---|
S_OK | Сигнализация успешно настроена. |
E_INVALIDARG | Параметры были проверены и определены как неверные. |
Эта функция также может возвращать другие значения HRESULT.
Комментарии
Direct3D версии 11 Примечание. Дополнительные сведения о том, как драйвер вызывает pfnSignalSynchronizationObjectCb, см. в разделе Изменения из Direct3D 10.
Примеры
В следующем примере кода показано, как вставить сигнал в объекты синхронизации.
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;
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях операционных систем Windows. |
Целевая платформа | Персональный компьютер |
Верхняя часть | d3dumddi.h (включая D3dumddi.h) |