D3DKMT_ESCAPE 구조체(d3dkmthk.h)

D3DKMT_ESCAPE 구조체는 디스플레이 미니포트 드라이버와 교환되는 정보를 설명합니다.

구문

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

디스플레이 미니포트 드라이버와 정보를 교환하거나 커널 모드 구성 요소를 제어하도록 나타내는 형식 D3DKMT_ESCAPETYPE 값입니다. 다음 표에서는 가능한 값을 보여 줍니다.

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

[in] Flags

비트 필드 플래그에서 정보를 공유하는 방법을 나타내는 D3DDDI_ESCAPEFLAGS 구조체입니다. OpenGL ICD는 디스플레이 미니포트 드라이버가 DxgkDdiEscape 호출에 대한 디스플레이 미니포트 드라이버에 대한 두 번째 수준의 동기화를 수행해야 하는 방식으로 그래픽 하드웨어에 액세스해야 함을 나타내기 위해 HardwareAccess 비트 필드 플래그를 지정해야 합니다.

[in/out] pPrivateDriverData

OpenGL ICD가 디스플레이 미니포트 드라이버와 교환하거나 커널 모드 구성 요소를 제어하는 데 사용하는 정보가 포함된 OpenGL ICD가 할당하는 버퍼에 대한 포인터입니다. 다음 표에서는 형식 값에 따라 pPrivateDriverData가 가리키는 버퍼의 내용을 설명합니다.

Type 멤버의 값 pPrivateDriverData 버퍼의 콘텐츠
D3DKMT_ESCAPE_DRIVERPRIVATE 드라이버 관련. OpenGL ICD와 디스플레이 미니포트 드라이버 사이에 긴밀한 결합이 없는 한 버퍼를 사용할 수 없습니다.
D3DKMT_ESCAPE_VIDMM 사용하지 마십시오. For testing purposes only. D3DKMT_VIDMM_ESCAPE 구조체입니다.
D3DKMT_ESCAPE_TDRDBGCTRL 사용하지 마십시오. For testing purposes only. D3DKMT_TDRDBGCTRLTYPE 열거형 형식입니다.
D3DKMT_ESCAPE_VIDSCH 사용하지 마십시오. For testing purposes only. D3DKMT_VIDSCH_ESCAPE 구조체입니다.
D3DKMT_ESCAPE_DEVICE 사용하지 마십시오. For testing purposes only. D3DKMT_DEVICE_ESCAPE 구조체입니다.
D3DKMT_ESCAPE_DMM 사용하지 마십시오. For testing purposes only. D3DKMT_DMM_ESCAPE 구조체입니다.
D3DKMT_ESCAPE_DEBUG_SNAPSHOT 사용하지 마십시오. For testing purposes only. D3DKMT_DEBUG_SNAPSHOT_ESCAPE 구조체입니다.

[in] PrivateDriverDataSize

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

[in] hContext

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

설명

테스트를 위해 OpenGL ICD는 D3DKMTEscape 함수 호출에서 D3DKMT_ESCAPE 구조에 대한 포인터를 전달하여 비디오 메모리 관리자 및 GPU 스케줄러( Dxgkrnl.sys일부)와 운영 체제의 TDR 프로세스 동작을 제어할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 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