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) 디코딩에 암호화 세션이 사용되지 않습니다. DecodeProfile이 NULL GUID가 아닌 경우 암호 형식 멤버의 암호화 형식이 디코딩 프로필에서 지원되지 않는 경우 드라이버가 D3DDDIERR_UNSUPPORTEDCRYPTO 실패해야 합니다.
드라이버는 런타임이 모든 후속 암호화 세션 호출(예: CryptoSessionKeyExchange)에서 전달하는 D3DDDIARG_CREATECRYPTOSESSIONhCryptoSession 멤버의 암호화 세션에 대한 핸들을 반환합니다.
드라이버는 암호화 세션을 만드는 데 사용된 디스플레이 디바이스(hDevice)를 추적해야 합니다. 해당 호출에 지정된 표시 디바이스가 암호화 세션을 만드는 데 사용된 디스플레이 디바이스와 다른 경우 드라이버는 이 만든 암호화 세션을 사용하는 모든 후속 호출에 실패해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7부터 지원됩니다. |
대상 플랫폼 | 데스크톱 |
머리글 | d3dumddi.h(D3dumddi.h 포함) |