다음을 통해 공유


DXGKDDI_OPENALLOCATIONINFO 콜백 함수(d3dkmddi.h)

DxgkDdiOpenAllocation 함수는 DxgkDdiCreateAllocation 함수가 만든 비 디바이스별 할당을 지정된 그래픽 컨텍스트 디바이스와 관련된 할당에 바인딩합니다.

구문

DXGKDDI_OPENALLOCATIONINFO DxgkddiOpenallocationinfo;

NTSTATUS DxgkddiOpenallocationinfo(
  [in] IN_CONST_HANDLE hDevice,
  [in] IN_CONST_PDXGKARG_OPENALLOCATION pOpenAllocation
)
{...}

매개 변수

[in] hDevice

할당이 바인딩된 그래픽 컨텍스트 디바이스에 대한 핸들입니다. 디스플레이 미니포트 드라이버의 DxgkDdiCreateDevice 함수는 이전에 이 핸들을 DXGKARG_CREATEDEVICE 구조체의 hDevice 멤버에 있는 Microsoft DirectX 그래픽 커널 하위 시스템에 제공했습니다.

[in] pOpenAllocation

바인딩 할당에 대한 정보를 포함하는 DXGKARG_OPENALLOCATION 구조체에 대한 포인터입니다.

반환 값

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

반환 코드 설명
STATUS_SUCCESS DxgkDdiOpenAllocation은 hDevice 매개 변수가 지정한 그래픽 컨텍스트 디바이스에 할당을 성공적으로 바인딩했습니다.
STATUS_INVALID_PARAMETER DxgkDdiOpenAllocation에 전달된 매개 변수에는 완료되지 않는 오류가 포함되어 있습니다.
STATUS_NO_MEMORY DxgkDdiOpenAllocation에서 완료하는 데 필요한 메모리를 할당할 수 없습니다.
STATUS_GRAPHICS_DRIVER_MISMATCH 디스플레이 미니포트 드라이버는 DxgkDdiOpenAllocation(즉, 디스플레이 미니포트 드라이버에 개인 데이터를 제공함)에 대한 호출을 시작한 사용자 모드 디스플레이 드라이버와 호환되지 않습니다.

설명

DirectX 그래픽 커널 하위 시스템은 디스플레이 미니포트 드라이버의 DxgkDdiOpenAllocation 함수를 호출하여 hDevice 매개 변수가 지정하는 그래픽 컨텍스트 디바이스와 관련된 할당에 대해 만든 DxgkDdiCreateAllocation 함수가 만든 비디바이스별 할당을 바인딩합니다. 디스플레이 미니포트 드라이버는 디바이스에 할당을 바인딩하므로 드라이버는 디바이스와 관련된 할당 데이터를 추적할 수 있습니다.

디스플레이 미니포트 드라이버는 생성 프로세스의 디바이스뿐만 아니라 동일한 그래픽 어댑터에서 만든 모든 디바이스에 할당을 바인딩할 수 있습니다.

DxgkDdiOpenAllocation이 STATUS_SUCCESS 반환하면 드라이버는 NULL이 아닌 값에 대한 각 할당에 대해 DXGK_OPENALLOCATIONINFO 구조체의 hDeviceSpecificAllocation 멤버를 설정합니다. 각 할당에 대한 DXGK_OPENALLOCATIONINFO 구조체는 DXGKARG_OPENALLOCATION 구조체의 pOpenAllocation 멤버가 지정하는 배열의 요소입니다.

드라이버는 할당이 생성될 때만 DXGK_OPENALLOCATIONINFO 구조의 pPrivateDriverData 멤버에 전달되는 할당 프라이빗 드라이버 데이터를 수정할 수 있습니다(DXGKARG_OPENALLOCATION 구조체의 Flags 멤버에서 비트 필드 만들기 플래그가 설정된 경우 표시됨). 드라이버는 할당이 열릴 때만 할당 프라이빗 드라이버 데이터를 읽을 수 있는지 확인해야 합니다(즉, 비트 필드 만들기 플래그가 설정되지 않은 경우).

DxgkDdiOpenAllocation 을 페이징 가능으로 만들어야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
대상 플랫폼 데스크톱
머리글 d3dkmddi.h
IRQL PASSIVE_LEVEL

추가 정보

DXGKARG_CREATEDEVICE

DXGKARG_OPENALLOCATION

DXGK_OPENALLOCATIONINFO

DxgkDdiCreateAllocation

DxgkDdiCreateDevice