PFND3DDDI_UNLOCK 콜백 함수(d3dumddi.h)

Unlock 함수는 이전에 Lock 함수에 의해 잠긴 리소스 또는 리소스 내의 표면을 잠금 해제합니다.

구문

PFND3DDDI_UNLOCK Pfnd3dddiUnlock;

HRESULT Pfnd3dddiUnlock(
  HANDLE hDevice,
  const D3DDDIARG_UNLOCK *unnamedParam2
)
{...}

매개 변수

hDevice

디스플레이 디바이스(그래픽 컨텍스트)에 대한 핸들입니다.

unnamedParam2

pData [in]

잠금을 해제할 리소스 또는 리소스 내의 표면을 설명하는 D3DDDIARG_UNLOCK 구조체에 대한 포인터입니다.

반환 값

Unlock 는 다음 값 중 하나를 반환합니다.

반환 코드 설명
S_OK 리소스가 성공적으로 잠금 해제되었습니다.
E_OUTOFMEMORY 잠금 해제를 완료하는 데 필요한 메모리를 할당할 수 없습니다.
E_INVALIDARG D3DDDIARG_UNLOCK 설명하는 리소스는 드라이버의 Lock 함수에 대한 이전 호출에 의해 잠기지 않았습니다.

설명

이러한 주석은 잠금 참조 페이지의 설명 섹션에 있는 설명과 유사합니다.

사용자 모드 디스플레이 드라이버는 Unlock가 호출된 후 Microsoft Direct3D 런타임의 pfnUnlockCb 함수 호출해야 합니다. 이 pfnUnlockCb 호출에서 사용자 모드 표시 드라이버는 할당 핸들을 전달합니다. pfnUnlockCb를 호출하기 전에 사용자 모드 표시 드라이버는 먼저 표면을 적절한 할당에 매핑해야 합니다.

런타임은 사용자 모드 디스플레이 드라이버의 Unlock 함수를 호출하여 미리 할당된 시스템 메모리 표면의 잠금을 해제합니다. 런타임은 pData가 가리키는 D3DDDIARG_UNLOCK 구조의 Flags 멤버에서 NotifyOnly 비트 필드 플래그를 설정하여 다른 Unlock 호출과 사전 할당된 시스템 메모리의 잠금을 해제하는 잠금 해제 호출을 구분합니다. 사용자 모드가 pfnLockCb라는 드라이버의 Lock 함수를 표시하여 표면에 해당하는 시스템 메모리 할당을 잠그는 경우 pfnUnlockCb도 호출해야 합니다. pfnUnlockCb를 호출하지 않으면 런타임, 사용자 모드 디스플레이 드라이버 및 디스플레이 미니포트 드라이버 간의 조정이 중지됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 d3dumddi.h(D3dumddi.h 포함)

추가 정보

D3DDDIARG_UNLOCK

D3DDDI_DEVICEFUNCS

잠금

pfnLockCb

pfnUnlockCb