다음을 통해 공유


D3DKMT_ESCAPE 구조체(d3dkmthk.h)

D3DKMT_ESCAPE 구조는 UMD(사용자 모드 디스플레이 드라이버) 또는 클라이언트 드라이버와 KMD(커널 모드 디스플레이 미니포트 드라이버) 간에 교환되는 정보를 설명합니다.

통사론

typedef struct _D3DKMT_ESCAPE {
  [in]     D3DKMT_HANDLE      hAdapter;
  [in]     D3DKMT_HANDLE      hDevice;
  [in]     D3DKMT_ESCAPETYPE  Type;
  [in]     D3DDDI_ESCAPEFLAGS Flags;
  [in/out] VOID               *pPrivateDriverData;
  [in]     UINT               PrivateDriverDataSize;
  [in]     D3DKMT_HANDLE      hContext;
} D3DKMT_ESCAPE;

회원

[in] hAdapter

정보가 교환되는 그래픽 어댑터에 대한 핸들입니다.

[in] hDevice

교환할 정보가 특정 디바이스와 관련된 경우 선택적으로 지정된 디스플레이 디바이스에 대한 핸들입니다.

[in] Type

KMD와 정보를 교환하거나 커널 모드 구성 요소를 제어하도록 나타내는 D3DKMT_ESCAPETYPE 열거형 값입니다. 다음 표에서는 가능한 값을 보여줍니다.

의미
D3DKMT_ESCAPE_DRIVERPRIVATE (0) pPrivateDriverData 멤버는 KMD를 대상으로 합니다. 하드웨어 공급업체는 이스케이프 데이터의 형식을 정의합니다.
D3DKMT_ESCAPE_VIDMM (1) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. UMD/클라이언트 드라이버는 비디오 메모리 관리자(VidMm)를 제어합니다. pPrivateDriverData가 가리키는 버퍼는 다양한 유형의 VidMm제어를 지원하는 D3DKMT_VIDMM_ESCAPE 구조를 포함합니다.
D3DKMT_ESCAPE_TDRDBGCTRL (2) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. 이스케이프 작업을 통해 사용자는 운영 체제의 TDR(시간 제한 검색 및 복구) 프로세스의 동작을 제어할 수 있습니다. 이 기능은 기본적으로 사용하지 않도록 설정됩니다. 이 기능을 사용하려면 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers 키에 저장된 TdrTestMode = TdrTestMode DWORD 레지스트리 값을 1로 설정해야 합니다. PrivateDriverDataSize 멤버가 sizeof(int)로 설정됩니다. pPrivateDriverData 멤버는 D3DKMT_TDRDBGCTRLTYPE 열거형 형식의 값을 가진 정수로 설정됩니다.
D3DKMT_ESCAPE_VIDSCH (3) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. UMD/클라이언트 드라이버는 GPU 스케줄러(Dxgkrnl일부)를 제어합니다. pPrivateDriverData를 버퍼가 선점 제어 및 스케줄러 일시 중단 또는 재개를 지원하는 D3DKMT_VIDSCH_ESCAPE 구조를 포함합니다.
D3DKMT_ESCAPE_DEVICE (4) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. UMD/클라이언트 드라이버는 디스플레이 디바이스를 제어합니다. pPrivateDriverData를 버퍼는 기본 할당에서 비디오 현재 원본을 가져올 수 있도록 지원하는 D3DKMT_DEVICE_ESCAPE 구조를 포함하도록.
D3DKMT_ESCAPE_DMM (5) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. UMD/클라이언트 드라이버는 디스플레이 모드 관리자를 제어합니다. pPrivateDriverData를 버퍼가 D3DKMT_DMM_ESCAPE 구조를 포함하도록 가리키는.
D3DKMT_ESCAPE_DEBUG_SNAPSHOT (6) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. UMD/클라이언트 드라이버는 디버그 스냅샷 버퍼를 검색합니다. pPrivateDriverData를 가리키는 버퍼는 D3DKMT_DEBUG_SNAPSHOT_ESCAPE 구조를 포함합니다.
D3DKMT_ESCAPE_SETDRIVERUPDATESTATUS (7) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. UMD/클라이언트 드라이버는 KMD 업데이트 상태를 설정합니다.
D3DKMT_ESCAPE_DRT_TEST (8) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다.
D3DKMT_ESCAPE_DIAGNOSTICS (9) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. Windows 8부터 지원됩니다.
D3DKMT_ESCAPE_OUTPUTDUPL_SNAPSHOT (10) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. Windows 8부터 지원됩니다.
D3DKMT_ESCAPE_OUTPUTDUPL_DIAGNOSTICS (11) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. Windows 8부터 지원됩니다.
D3DKMT_ESCAPE_BDD_PNP (12) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. Windows 8부터 지원됩니다.
D3DKMT_ESCAPE_BDD_FALLBACK (13) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. Windows 8부터 지원됩니다.
D3DKMT_ESCAPE_ACTIVATE_SPECIFIC_DIAG(14) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. Windows 8부터 지원됩니다.
D3DKMT_ESCAPE_MODES_PRUNED_OUT(15) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. Windows 8부터 지원됩니다.
D3DKMT_ESCAPE_WQHL_INFO(16) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. Windows 8부터 지원됩니다.
D3DKMT_ESCAPE_BRIGHTNESS(17) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. Windows 8부터 지원됩니다.
D3DKMT_ESCAPE_EDID_CACHE(18) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. Windows 8부터 지원됩니다.
D3DKMT_ESCAPE_GENERIC_ADAPTER_DIAG_INFO(19) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. Windows 8부터 지원됩니다.
D3DKMT_ESCAPE_MIRACAST_DISPLAY_REQUEST (20) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. Windows 8.1 시작 지원.
D3DKMT_ESCAPE_HISTORY_BUFFER_STATUS (21) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. Windows 8.1 시작 지원.
D3DKMT_ESCAPE_MIRACAST_ADAPTER_DIAG_INFO (23) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. Windows 8.1 시작 지원.
D3DKMT_ESCAPE_WIN32K_START(1024) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. Windows 8부터 지원됩니다.
D3DKMT_ESCAPE_WIN32K_HIP_DEVICE_INFO(1024) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. Windows 8부터 지원됩니다.
D3DKMT_ESCAPE_WIN32K_QUERY_CD_ROTATION_BLOCK (1025) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. Windows 8부터 지원됩니다.
D3DKMT_ESCAPE_WIN32K_DPI_INFO (1026) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. Windows 8.1 시작 지원.
D3DKMT_ESCAPE_WIN32K_PRESENTER_VIEW_INFO (1027) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. Windows 8.1 시작 지원.
D3DKMT_ESCAPE_WIN32K_SYSTEM_DPI (1028) 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. Windows 8.1 시작 지원.

[in] Flags

비트 필드 플래그에서 정보를 공유하는 방법을 나타내는 D3DDDI_ESCAPEFLAGS 구조체입니다. UMD/클라이언트 드라이버는 HardwareAccess 비트 필드 플래그를 지정하여 OS가 DxgkDdiEscape 호출을 위해 KMD에 두 번째 수준의 동기화 수행해야 하는 방식으로 그래픽 하드웨어에 액세스해야 함을 나타냅니다.

가상화를 사용할 때 HardwareAccess 0으로 설정해야 합니다. 자세한 내용은 GPU 매개 변수화 참조하세요.

[in/out] pPrivateDriverData

UMD 또는 클라이언트 드라이버가 알려진 드라이버 이스케이프 구조를 포함하는 할당하는 버퍼에 대한 포인터입니다. 이 구조에는 드라이버가 KMD와 교환하거나 커널 모드 구성 요소를 제어하는 데 사용하는 정보가 포함됩니다. 다음 표에서는 형식값에 따라 pPrivateDriverData가 가리키는 버퍼의 내용을 설명합니다.

형식 값 pPrivateDriverData 버퍼의 콘텐츠
D3DKMT_ESCAPE_DRIVERPRIVATE 드라이버 관련. UMD/클라이언트 드라이버와 KMD 간에 긴밀한 결합이 없는 경우 버퍼를 사용할 수 없습니다.
D3DKMT_ESCAPE_VIDMM 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. D3DKMT_VIDMM_ESCAPE 구조체입니다.
D3DKMT_ESCAPE_TDRDBGCTRL 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. D3DKMT_TDRDBGCTRLTYPE 열거형 형식입니다.
D3DKMT_ESCAPE_VIDSCH 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. D3DKMT_VIDSCH_ESCAPE 구조체입니다.
D3DKMT_ESCAPE_DEVICE 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. D3DKMT_DEVICE_ESCAPE 구조체입니다.
D3DKMT_ESCAPE_DMM 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. D3DKMT_DMM_ESCAPE 구조체입니다.
D3DKMT_ESCAPE_DEBUG_SNAPSHOT 사용하지 마세요. 테스트용으로만 사용할 수 있습니다. D3DKMT_DEBUG_SNAPSHOT_ESCAPE 구조체입니다.

[in] PrivateDriverDataSize

pPrivateDriverData 가리키는 버퍼의 크기(바이트)입니다. UMD/클라이언트 드라이버는 D3DKMTEscape 함수를 호출할 때 버퍼의 크기를 지정해야 합니다.

[in] hContext

교환할 정보가 특정 디바이스 컨텍스트와 관련된 경우 선택적으로 지정된 컨텍스트에 대한 핸들입니다. UMD/클라이언트 드라이버가 hContext NULL이 아닌 값으로 설정하는 경우 드라이버는 hDevice NULL이 아닌 값으로 설정해야 하며, hDevice 컨텍스트를 소유하는 디바이스에 해당해야 합니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows Vista
헤더 d3dkmthk.h(D3dkmthk.h 포함)

참고 항목

D3DKMTEscape

D3DKMT_DEBUG_SNAPSHOT_ESCAPE

D3DKMT_DEVICE_ESCAPE

D3DKMT_DMM_ESCAPE

D3DKMT_TDRDBGCTRLTYPE

D3DKMT_VIDMM_ESCAPE

D3DKMT_VIDSCH_ESCAPE