DXGK_TIMED_OPERATION_INTERFACE 구조체(dispmprt.h)

DXGK_TIMED_OPERATION_INTERFACE 구조에는 표시 포트 드라이버에 의해 구현되는 시간 제한 작업 인터페이스의 함수에 대한 포인터가 포함되어 있습니다.

구문

typedef struct _DXGK_TIMED_OPERATION_INTERFACE {
  USHORT                 Size;
  USHORT                 Version;
  PVOID                  Context;
  PINTERFACE_REFERENCE   InterfaceReference;
  PINTERFACE_DEREFERENCE InterfaceDereference;
  NTSTATUS((DXGK_TIMED_OPERATION *Op, const LARGE_INTEGER *Timeout,BOOLEAN OsHandled)              * )TimedOperationStart;
  NTSTATUS((DXGK_TIMED_OPERATION *Op,KPROCESSOR_MODE WaitMode,BOOLEAN Alertable, const LARGE_INTEGER *Interval)              * )TimedOperationDelay;
  NTSTATUS((DXGK_TIMED_OPERATION *Op,PVOID Object,KWAIT_REASON WaitReason,KPROCESSOR_MODE WaitMode,BOOLEAN Alertable, const LARGE_INTEGER *Timeout)              * )TimedOperationWaitForSingleObject;
} DXGK_TIMED_OPERATION_INTERFACE, *PDXGK_TIMED_OPERATION_INTERFACE;

멤버

Size

이 구조체의 크기(바이트)입니다.

Version

시간 제한 작업 인터페이스의 버전 번호입니다. 버전 번호 상수는 Dispmprt.h (예: DXGK_TIMED_OPERATION_INTERFACE_VERSION_1)에 정의됩니다.

Context

표시 포트 드라이버에서 제공하는 컨텍스트에 대한 포인터입니다.

InterfaceReference

표시 포트 드라이버에 의해 구현되는 인터페이스 참조 함수에 대한 포인터입니다.

InterfaceDereference

표시 포트 드라이버에 의해 구현되는 인터페이스 역참조 함수에 대한 포인터입니다.

TimedOperationStart

TimedOperationStart 함수는 시간 제한 작업을 시작하거나 다시 시작합니다.

드라이버는 Op 매개 변수가 가리키는 DXGK_TIMED_OPERATION 구조체의 Size 멤버를 sizeof(DXGK_TIMED_OPERATION)로 미리 설정해야 합니다. TimedOperationStart에 대한 매개 변수 설명은 다음과 같습니다.

  • [out] Op 는 시작 또는 다시 시작하는 시간 초과 작업을 설명하는 DXGK_TIMED_OPERATION 구조체에 대한 포인터입니다.

  • [in] 시간 제한 은 시간 제한 작업을 완료하기 위해 할당된 상대 시간을 지정하는 시간 제한 값(100나노초 단위)에 대한 포인터입니다.

  • [in] OsHandled 는 운영 체제가 시간 제한 조건을 처리하는지 여부를 지정하는 부울 값입니다. TRUE 값은 드라이버가 시간 제한 조건을 처리할 적절한 방법이 없으며 운영 체제에서 제한 시간 조건을 처리할 수 있음을 나타냅니다. FALSE는 드라이버가 시간 제한 조건을 처리한다는 것을 나타냅니다.

TimedOperationDelay

TimedOperationDelay 함수는 지정된 시간 제한 작업 시간 제한과 관련하여 지정된 간격에 대해 현재 스레드를 경고 가능하거나 인증할 수 없는 대기 상태로 전환합니다. TimedOperationDelay에 대한 매개 변수 설명은 다음과 같습니다.

  • [in/out] Op 는 지연할 시간 초과 작업을 설명하는 DXGK_TIMED_OPERATION 구조체에 대한 포인터입니다. 이 시간 제한 작업은 TimedOperationStart 함수를 호출하여 시작되었습니다.

  • [in] WaitMode 는 드라이버가 대기하는 프로세서 모드를 지정하는 KPROCESSOR_MODE 형식의 값입니다. 값은 KernelMode 또는 UserMode일 수 있습니다. 스택의 하위 수준 드라이버는 KernelMode를 지정해야 합니다.

  • [in] 경고 가능 은 대기가 경고 가능한지 여부를 지정하는 부울 값입니다. TRUE 값은 대기가 경고 가능임을 나타냅니다. FALSE는 대기를 인증할 수 없음을 나타냅니다. 스택의 하위 수준 드라이버는 FALSE를 지정해야 합니다.

  • [in] Interval 은 지연에 대한 상대 시간(100나노초 단위)을 포함하는 변수에 대한 포인터입니다. 값의 기호는 무시됩니다.

TimedOperationWaitForSingleObject

TimedOperationWaitForSingleObject 함수는 지정된 디스패처 개체가 신호된 상태로 설정될 때까지 또는 필요에 따라 대기 시간이 초과되거나 지정된 시간 제한 작업의 시간 초과가 만료될 때까지 현재 스레드를 대기 상태로 전환합니다. TimedOperationWaitForSingleObject에 대한 매개 변수 설명은 다음과 같습니다.

  • [in] Op 는 대기 상태에 넣을 시간 초과 작업을 설명하는 DXGK_TIMED_OPERATION 구조체에 대한 포인터입니다. 이 시간 제한 작업은 TimedOperationStart 함수를 호출하여 시작되었습니다.

  • 개체 는 호출자가 스토리지를 제공하는 초기화된 디스패처 개체에 대한 포인터입니다. 디스패처 개체는 이벤트, 뮤텍스, 세마포, 스레드 또는 타이머일 수 있습니다.

  • WaitReason 은 대기 이유를 지정하는 KWAIT_REASON 형식의 값입니다. 드라이버는 이 값을 Executive 로 설정하거나, 드라이버가 사용자를 대신하여 작업을 수행하고 사용자 스레드의 컨텍스트에서 실행 중인 경우 UserRequest로 설정해야 합니다.

  • WaitMode 는 드라이버가 대기하는 프로세서 모드를 지정하는 KPROCESSOR_MODE 형식의 값입니다. 값은 KernelMode 또는 UserMode일 수 있습니다. 최하위 수준 및 중간 드라이버는 KernelMode를 지정해야 합니다. Object 매개 변수가 가리키는 개체가 뮤텍스인 경우 호출자는 KernelMode를 지정해야 합니다.

  • 경고 가능 은 대기가 경고 가능한지 여부를 지정하는 부울 값입니다. TRUE 값은 대기가 경고 가능임을 나타냅니다. FALSE는 대기를 인증할 수 없음을 나타냅니다.

  • 시간 제한 은 대기가 완료될 때까지의 상대 시간(100나노초 단위)을 포함하는 변수에 대한 포인터입니다. 값의 기호는 무시됩니다.

설명

디스플레이 미니포트 드라이버는 이 구조체의 크기버전 멤버를 제공한 다음, DxgkCbQueryServices를 호출하여 이 구조체의 나머지 멤버를 채웁니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
머리글 dispmprt.h(Dispmprt.h 포함)

추가 정보

DXGK_TIMED_OPERATION

DxgkCbQueryServices