DXGKDDI_ADD_DEVICE 콜백 함수(dispmprt.h)
DxgkDdiAddDevice 함수는 디스플레이 어댑터에 대한 컨텍스트 블록을 만들고 디스플레이 어댑터를 나타내는 핸들을 반환합니다.
통사론
DXGKDDI_ADD_DEVICE DxgkddiAddDevice;
NTSTATUS DxgkddiAddDevice(
[in] IN_CONST_PDEVICE_OBJECT PhysicalDeviceObject,
[out] OUT_PPVOID MiniportDeviceContext
)
{...}
매개 변수
[in] PhysicalDeviceObject
디스플레이 어댑터를 식별하는 PDO(물리적 디바이스 개체)에 대한 포인터입니다.
[out] MiniportDeviceContext
PhysicalDeviceObject식별된 디스플레이 어댑터를 나타내는 디스플레이 미니포트 드라이버에서 만든 핸들을 수신하는 변수에 대한 포인터입니다. 표시 미니포트 드라이버는 이 매개 변수에서 NULL을 반환하여 PhysicalDeviceObject식별된 디스플레이 어댑터를 지원하지 않음을 나타낼 수 있습니다.
반환 값
DxgkDdiAddDevice 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 Ntstatus.h정의된 오류 코드 중 하나를 반환합니다.
발언
DxgkDdiAddDevice 함수는 PhysicalDeviceObject식별된 디스플레이 어댑터와 연결된 프라이빗 컨텍스트 블록을 할당합니다. MiniportDeviceContext 반환된 핸들을 디스플레이 어댑터에 대한 핸들 또는 디스플레이 어댑터와 연결된 컨텍스트 블록에 대한 핸들로 생각할 수 있습니다. DirectX 그래픽 커널 하위 시스템(Dxgkrnl.sys)은 디스플레이 미니포트 드라이버에 대한 후속 호출에서 핸들을 제공합니다. 다음 목록에서는 디스플레이 미니포트 드라이버에서 구현한 함수에 핸들을 전달하는 Dxgkrnl.sys 다양한 구성 요소의 예를 제공합니다.
디스플레이 포트 드라이버는 DxgkDdiStartDevice 함수의 MiniportDeviceContext 매개 변수에 핸들을 제공합니다.
VidPN 관리자는 DxgkDdiIsSupportedVidPn 함수의 hAdapter 매개 변수에 핸들을 제공합니다.
DirectX 그래픽 코어는 DxgkDdiQueryAdapterInfo 함수의 hAdapter 매개 변수에 핸들을 제공합니다.
때로는 핸들의 이름이 MiniportDeviceContext 이름이 지정되고 때로는 hAdapter 이름이 지정된다는 사실에 혼동하지 마십시오. 또한 이 핸들을 특정 디스플레이 미니포트 드라이버 함수에 전달되는 hDevice 매개 변수와 혼동하지 마세요.
DxgkDdiAddDevice 한 번에 하나의 디바이스에 대해 직렬로 호출됩니다. 해당 동작은 WDM 커널 모드 드라이버에 대한 표준 DRIVER_ADD_DEVICE 콜백과 동일합니다.
일부 디스플레이 어댑터 카드에는 디스플레이 어댑터 역할을 하는 두 개 이상의 PCI 함수가 있습니다. 예를 들어 특정 이전 카드는 각 보기에 대해 별도의 PCI 함수를 사용하여 여러 보기를 구현합니다. 디스플레이 포트 드라이버는 각 PCI 함수에 대해 DxgkDdiAddDevice 한 번 호출합니다. 이때 디스플레이 미니포트 드라이버는 PCI 함수를 지원하거나(MiniportDeviceContext 0이 아닌 값으로 설정) PCI 함수를 지원하지 않음을 나타낼 수 있습니다(MiniportDeviceContext NULL로 설정). 특정 PCI 함수에 대한 정보를 가져오기 위해 디스플레이 미니포트 드라이버는 PhysicalDeviceObject IoGetDeviceProperty전달할 수 있습니다.
DxgkDdiRemoveDeviceDxgkDdiAddDevice 동안 할당한 컨텍스트 블록 및 기타 리소스를 해제합니다.
DxgkDdiAddDevice 함수는 페이징 가능해야 합니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista |
대상 플랫폼 | 바탕 화면 |
헤더 | dispmprt.h |
IRQL | PASSIVE_LEVEL |