функция обратного вызова 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 (include D3dumddi.h) |