DXGKDDI_START_DEVICE 콜백 함수(dispmprt.h)
DxgkDdiStartDevice 함수는 I/O 요청을 수신하도록 디스플레이 어댑터를 준비합니다.
구문
DXGKDDI_START_DEVICE DxgkddiStartDevice;
NTSTATUS DxgkddiStartDevice(
[in] IN_CONST_PVOID MiniportDeviceContext,
[in] IN_PDXGK_START_INFO DxgkStartInfo,
[in] IN_PDXGKRNL_INTERFACE DxgkInterface,
[out] OUT_PULONG NumberOfVideoPresentSources,
[out] OUT_PULONG NumberOfChildren
)
{...}
매개 변수
[in] MiniportDeviceContext
디스플레이 어댑터와 연결된 컨텍스트 블록에 대한 핸들입니다. 디스플레이 미니포트 드라이버의 DxgkDdiAddDevice 함수는 이전에 DirectX 그래픽 커널 하위 시스템에 이 핸들을 제공했습니다.
[in] DxgkStartInfo
디스플레이 미니포트 드라이버가 초기화에 필요한 정보를 포함하는 DXGK_START_INFO 구조체에 대한 포인터입니다.
[in] DxgkInterface
디스플레이 미니포트 드라이버에서 호출할 수 있는 DirectX 그래픽 커널 하위 시스템에 의해 구현되는 함수에 대한 포인터를 포함하는 DXGKRNL_INTERFACE 구조체 에 대한 포인터입니다.
[out] NumberOfVideoPresentSources
디스플레이 어댑터에서 지원하는 비디오 제공 원본 수를 수신하는 ULONG 변수에 대한 포인터입니다. 비디오 프레젠테이션 원본에 대한 자세한 내용은 다중 모니터 및 비디오 프레젠테이션 네트워크를 참조하세요.
[out] NumberOfChildren
MiniportDeviceContext가 나타내는 디스플레이 어댑터의 자식인 총 디바이스 수를 수신하는 ULONG 변수에 대한 포인터입니다. 이 수에는 현재 있는 자식 디바이스뿐만 아니라 잠재적인 자식 디바이스도 포함되어야 합니다. 예를 들어 이식 가능한 컴퓨터를 도킹하면 추가 비디오 출력을 사용할 수 있는 경우 휴대용 컴퓨터가 현재 도킹되었는지 여부에 관계없이 해당 비디오 출력을 계산해야 합니다. 자식 디바이스에 대한 자세한 내용은 디스플레이 어댑터의 자식 디바이스를 참조하세요.
반환 값
DxgkDdiStartDevice는 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 Ntstatus.h에 정의된 오류 코드 중 하나를 반환합니다.
설명
DxgkDdiStartDevice 함수는 다음 작업을 수행해야 합니다.
- DxgkInterface 매개 변수에 전달된 DXGKRNL_INTERFACE 구조체에서 제공하는 함수 포인터를 저장합니다. 또한 DXGKRNL_INTERFACE 구조체의 DeviceHandle 멤버를 저장합니다. DirectX 그래픽 커널 하위 시스템에 다시 호출하려면 해당 핸들이 필요합니다.
- DXGK_DEVICE_INFO 구조를 할당하고 DxgkCbGetDeviceInformation을 호출하여 레지스트리 경로, PDO 및 MiniportDeviceContext가 나타내는 디스플레이 어댑터의 변환된 리소스 목록을 포함하는 해당 구조체의 멤버를 채웁니다. MiniportDeviceContext가 나타내는 컨텍스트 블록에 DXGK_DEVICE_INFO 구조체의 선택한 멤버(디스플레이 미니포트 드라이버에 나중에 필요한 멤버)를 저장합니다.
- DxgkCbMapMemory 함수를 호출하여 메모리 리소스를 시스템 공간에 매핑합니다.
- I/O 요청을 수신하도록 하드웨어를 준비하는 데 필요한 모든 상태로 MiniportDeviceContext 가 나타내는 컨텍스트 블록을 초기화합니다.
- NumberOfVideoPresentSources 를 MiniportDeviceContext로 표시되는 디스플레이 어댑터에서 지원하는 비디오 현재 원본 수로 설정합니다.
- NumberOfChildren 를 MiniportDeviceContext가 나타내는 디스플레이 어댑터의 자식이거나 될 수 있는 디바이스 수로 설정합니다.
- MiniportDeviceContext로 표시되는 디스플레이 어댑터에 인터럽트를 사용하도록 설정합니다.
DxgkDdiStartDevice 함수를 페이징 가능으로 만들어야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista부터 사용할 수 있습니다. |
대상 플랫폼 | 데스크톱 |
머리글 | dispmprt.h |
IRQL | PASSIVE_LEVEL |