다음을 통해 공유


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) 사용하지 마세요. 테스트용으로만 사용됩니다. OpenGL ICD는 비디오 메모리 관리자(Dxgkrnl.sys일부임)를 제어합니다. pPrivateDriverData가 가리키는 버퍼에는 비디오 메모리 관리자의 다양한 유형의 제어를 지원하는 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) 사용하지 마세요. 테스트용으로만 사용됩니다. OpenGL ICD는 GPU(그래픽 처리 장치) 스케줄러(Dxgkrnl.sys일부)를 제어합니다. pPrivateDriverData가 가리키는 버퍼에는 선점 컨트롤과 스케줄러 일시 중단 또는 다시 사용을 지원하는 D3DKMT_VIDSCH_ESCAPE 구조체가 포함되어 있습니다.
D3DKMT_ESCAPE_DEVICE (4) 사용하지 마세요. 테스트용으로만 사용됩니다. OpenGL ICD는 디스플레이 디바이스를 제어합니다. pPrivateDriverData가 가리키는 버퍼에는 기본 할당에서 비디오 현재 원본을 가져올 수 있도록 지원하는 D3DKMT_DEVICE_ESCAPE 구조체가 포함됩니다.
D3DKMT_ESCAPE_DMM (5) 사용하지 마세요. 테스트용으로만 사용됩니다. OpenGL ICD는 디스플레이 모드 관리자를 제어합니다. pPrivateDriverData가 가리키는 버퍼는 D3DKMT_DMM_ESCAPE 구조를 포함합니다.
D3DKMT_ESCAPE_DEBUG_SNAPSHOT (6) 사용하지 마세요. 테스트용으로만 사용됩니다. OpenGL ICD는 디버그 스냅샷 버퍼를 검색합니다. pPrivateDriverData가 가리키는 버퍼는 D3DKMT_DEBUG_SNAPSHOT_ESCAPE 구조를 포함합니다.
D3DKMT_ESCAPE_SETDRIVERUPDATESTATUS (7) 사용하지 마세요. 테스트용으로만 사용됩니다. OpenGL ICD는 디스플레이 미니포트 드라이버 업데이트 상태를 설정합니다.
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 구조체입니다. OpenGL ICD는 HardwareAccess 비트 필드 플래그를 지정하여 디스플레이 미니포트 드라이버가 DxgkDdiEscape 호출에 대한 디스플레이 미니포트 드라이버에 두 번째 수준의 동기화 수행해야 하는 방식으로 그래픽 하드웨어에 액세스해야 함을 나타냅니다.

[in/out] pPrivateDriverData

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

형식 멤버 pPrivateDriverData 버퍼 콘텐츠
D3DKMT_ESCAPE_DRIVERPRIVATE 드라이버 관련. OpenGL ICD와 디스플레이 미니포트 드라이버 사이에 긴밀한 결합이 없는 경우 버퍼를 사용할 수 없습니다.
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 가리키는 버퍼의 크기(바이트)입니다. 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