다음을 통해 공유


PFND3DDDI_CREATECRYPTOSESSION 콜백 함수(d3dumddi.h)

CreateCryptoSession 함수는 Direct3D 런타임이 세션 키를 관리하고 보호된 메모리를 들어오고 나가는 암호화 작업을 수행하는 데 사용하는 암호화 세션을 만듭니다.

구문

PFND3DDDI_CREATECRYPTOSESSION Pfnd3dddiCreatecryptosession;

HRESULT Pfnd3dddiCreatecryptosession(
  HANDLE hDevice,
  D3DDDIARG_CREATECRYPTOSESSION *unnamedParam2
)
{...}

매개 변수

hDevice

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

unnamedParam2

pData [in, out]

D3DDDIARG_CREATECRYPTOSESSION 구조체에 대한 포인터입니다. 입력에서 이 구조체에는 드라이버에서 사용할 수 있는 정보가 포함됩니다. 출력 시 드라이버는 Microsoft Direct3D 런타임에서 사용할 수 있는 구조의 정보를 지정합니다.

반환 값

CreateCryptoSession 은 다음 값 중 하나를 반환합니다.

반환 코드 설명
S_OK 암호화 세션이 성공적으로 생성되었습니다.
E_OUTOFMEMORY CreateCryptoSession 에서 완료하는 데 필요한 메모리를 할당할 수 없습니다.
D3DDDIERR_NOTAVAILABLE 드라이버는 D3DDDIARG_CREATECRYPTOSESSION 구조의 CryptoTypemember에 지정된 GUID를 지원하지 않거나 cryptoTypemember에 지정된 NULL_GUID(모든 0)을 지원하지 않습니다.
D3DDDIERR_UNSUPPORTEDCRYPTO 드라이버는 지정된 디코드 형식에 대한 암호화 형식을 지원하지 않습니다.

설명

D3DDDIARG_CREATECRYPTOSESSION 구조체의 DecodeProfile 멤버가 NULL_GUID 경우 DirectX VA(DirectX Video Acceleration) 디코딩에 암호화 세션이 사용되지 않습니다. DecodeProfileNULL GUID가 아닌 경우 암호 형식 멤버의 암호화 형식이 디코딩 프로필에서 지원되지 않는 경우 드라이버가 D3DDDIERR_UNSUPPORTEDCRYPTO 실패해야 합니다.

드라이버는 런타임이 모든 후속 암호화 세션 호출(예: CryptoSessionKeyExchange)에서 전달하는 D3DDDIARG_CREATECRYPTOSESSIONhCryptoSession 멤버의 암호화 세션에 대한 핸들을 반환합니다.

드라이버는 암호화 세션을 만드는 데 사용된 디스플레이 디바이스(hDevice)를 추적해야 합니다. 해당 호출에 지정된 표시 디바이스가 암호화 세션을 만드는 데 사용된 디스플레이 디바이스와 다른 경우 드라이버는 이 만든 암호화 세션을 사용하는 모든 후속 호출에 실패해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7부터 지원됩니다.
대상 플랫폼 데스크톱
머리글 d3dumddi.h(D3dumddi.h 포함)

추가 정보

CryptoSessionKeyExchange

D3DDDIARG_CREATECRYPTOSESSION