PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB 콜백 함수(d3dumddi.h)
pfnSignalSynchronizationObjectCb 함수는 지정된 컨텍스트 DMA 스트림의 지정된 동기화 개체에 신호를 삽입합니다.
구문
PFND3DDDI_SIGNALSYNCHRONIZATIONOBJECTCB Pfnd3dddiSignalsynchronizationobjectcb;
HRESULT Pfnd3dddiSignalsynchronizationobjectcb(
HANDLE hDevice,
const D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT *unnamedParam2
)
{...}
매개 변수
hDevice
디스플레이 디바이스(즉, 그래픽 컨텍스트)에 대한 핸들입니다.
unnamedParam2
pData [in]
신호가 설정된 동기화 개체 및 컨텍스트 DMA 스트림을 설명하는 D3DDDICB_SIGNALSYNCHRONIZATIONOBJECT 구조체에 대한 포인터입니다.
반환 값
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 포함) |