PFND3D11_1DDI_CONFIGUREAUTHENTICATEDCHANNEL 콜백 함수(d3d10umddi.h)
애플리케이션의 요청을 처리하여 콘텐츠 보호를 위해 인증된 채널을 구성합니다. WDDM(Windows 디스플레이 드라이버 모델) 1.2 이상 사용자 모드 디스플레이 드라이버에 의해 구현됩니다.
구문
PFND3D11_1DDI_CONFIGUREAUTHENTICATEDCHANNEL Pfnd3d111DdiConfigureauthenticatedchannel;
HRESULT Pfnd3d111DdiConfigureauthenticatedchannel(
D3D10DDI_HDEVICE hDevice,
D3D11_1DDI_HAUTHCHANNEL hCAuthChannel,
UINT InputDataSize,
const VOID *pInputData,
D3D11_1DDI_AUTHENTICATED_CONFIGURE_OUTPUT *pOutputData
)
{...}
매개 변수
hDevice
디스플레이 디바이스(그래픽 컨텍스트)에 대한 핸들입니다.
hCAuthChannel
CreateAuthenticatedChannel(D3D11_1) 함수를 호출하여 만든 인증된 채널 개체에 대한 핸들입니다.
InputDataSize
pInputData 매개 변수로 지정된 배열의 크기(바이트)입니다.
pInputData
명령에 대한 입력 데이터가 포함된 바이트 배열에 대한 포인터입니다. 자세한 내용은 주의 섹션을 참조하세요.
pOutputData
D3D11_1DDI_AUTHENTICATED_CONFIGURE_OUTPUT 구조체에 대한 포인터입니다. 자세한 내용은 주의 섹션을 참조하세요.
반환 값
다음 값 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
S_OK | 인증된 채널이 성공적으로 구성되었습니다. |
E_FAIL | 디스플레이 미니포트 드라이버가 지정된 명령을 지원하지 않습니다. |
E_INVALIDARG | 매개 변수의 유효성이 검사되었고 잘못된 것으로 확인되었습니다. |
E_OUTOFMEMORY | 메모리를 사용하여 작업을 완료할 수 없습니다. |
설명
pInputData 매개 변수에서 참조하는 바이트 배열은 다음과 같은 방식으로 형식이 지정됩니다.
이 배열은 D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUT 구조로 시작합니다.
이 구조체 뒤에 오는 데이터는 구조체의 ConfigureType 멤버에 의해 지정된 형식입니다.
다음 목록에서는 ConfigureType 멤버를 기반으로 하는 이 데이터의 형식을 설명합니다.
D3D11_1DDI_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_GUIDD3D11_1DDI_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION
D3D11_1DDI_AUTHENTICATED_CONFIGURE_ENCRYPTION_WHEN_ACCESSIBLE_GUIDD3D11_1DDI_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION
D3D11_1DDI_AUTHENTICATED_CONFIGURE_INITIALIZE_GUIDD3D11_1DDI_AUTHENTICATED_CONFIGURE_INITIALIZE
D3D11_1DDI_AUTHENTICATED_CONFIGURE_PROTECTION_GUIDD3D11_1DDI_AUTHENTICATED_CONFIGURE_PROTECTION
D3D11_1DDI_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_GUIDD3D11_1DDI_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE
D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUT 구조에는 데이터의 AES 기반 OMAC(원키 CBC 메시지 인증 코드)가 포함됩니다. 디스플레이 미니포트 드라이버는 데이터를 인증하기 위해 데이터에 대해 자체 OMAC를 계산해야 합니다. 이 입력 구조에는 인증된 채널에 대한 드라이버 핸들, 시퀀스 번호 및 구성 유형을 나타내는 GUID도 포함됩니다.
디스플레이 미니포트 드라이버는 D3D11_1DDI_AUTHENTICATED_CONFIGURE_OUTPUT 구조를 초기화할 때 다음 단계를 수행합니다.
드라이버는 입력 데이터를 D3D11_1DDI_AUTHENTICATED_CONFIGURE_OUTPUT 구조체에 복사해야 합니다.
드라이버는 ReturnCode 멤버를 ConfigureAuthenticatedChannel(D3D11_1) 호출에 대해 반환할 동일한 반환 코드로 설정해야 합니다. 이렇게 하면 애플리케이션에 반환 코드에 액세스하는 보안 메커니즘이 제공됩니다.
드라이버는 omac 멤버를 0으로 설정한 다음 구조체의 데이터에 대한 OMAC를 계산합니다. 그런 다음 드라이버는 omac 멤버를 계산된 OMAC로 설정합니다.
디스플레이 미니포트 드라이버는 다음 조건에서 ConfigureAuthenticatedChannel 호출에 대한 E_INVALIDARG 반환해야 합니다.
D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUT 구조체의 omac 멤버가 드라이버가 계산한 OMAC와 일치하지 않습니다.
시퀀스 번호는 이전 구성 호출에서 지정한 시퀀스 번호보다 크지 않습니다.
ConfigureAuthenticatedChannel(D3D11_1) 함수를 호출하여 시퀀스 번호가 아직 초기화되지 않았습니다.
InputDataSize 매개 변수는 D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUT 구조체의 크기와 D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUT 지정된 구조체의 크기보다 작습니다. ConfigureTypemember.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 |
지원되는 최소 서버 | Windows Server 2012 |
대상 플랫폼 | 데스크톱 |
머리글 | d3d10umddi.h(D3d10umddi.h 포함) |
추가 정보
CreateAuthenticatedChannel(D3D11_1)