VideoPortSynchronizeExecution 함수(video.h)

VideoPortSynchronizeExecution 함수는 미니포트 드라이버 제공 HwVidSynchronizeExecutionCallback 함수의 실행을 미니포트 드라이버의 HwVidInterrupt 함수(있는 경우)와 동기화합니다. 그렇지 않으면 우선 순위가 높아진 HwVidSynchronizeExecutionCallback 을 실행합니다.

구문

VIDEOPORT_DEPRECATED BOOLEAN VIDEOPORT_API VideoPortSynchronizeExecution(
  PVOID                         HwDeviceExtension,
  VIDEO_SYNCHRONIZE_PRIORITY    Priority,
  PMINIPORT_SYNCHRONIZE_ROUTINE SynchronizeRoutine,
  PVOID                         Context
);

매개 변수

HwDeviceExtension

미니포트 드라이버의 디바이스 확장에 대한 포인터입니다.

Priority

지정된 SynchronizeRoutine 을 실행해야 하는 우선 순위 유형을 다음 중 하나로 지정합니다.

  • PriorityVpLowPriority로 설정된 경우 현재 스레드가 가장 높은 비정형 마스킹 우선 순위로 높아집니다. 따라서 디바이스가 중단되는 경우에만 ISR에서 현재 스레드를 선점할 수 있습니다.
  • PriorityVpMediumPriority로 설정되어 있고 미니포트 드라이버에 비디오 어댑터와 연결된 ISR이 있는 경우 지정된 SynchronizeRoutine에 대한 호출은 미니포트 드라이버의 HwVidInterrupt 함수와 동기화됩니다. 그렇지 않으면 VpLowPriority 수준에서 동기화가 수행됩니다.
  • VpHighPriorityVpMediumPriority와 동일한 효과가 있습니다.

SynchronizeRoutine

미니포트 드라이버의 HwVidSynchronizeExecutionCallback 함수에 대한 포인터입니다.

Context

미니포트 드라이버의 HwVidSynchronizeExecutionCallback 함수에 전달할 호출자 제공 컨텍스트에 대한 포인터입니다. 이 포인터는 NULL일 수 있습니다.

반환 값

작업이 성공하면 VideoPortSynchronizeExecutionTRUE를 반환합니다.

설명

미니포트 드라이버는 다음 조건 중 하나가 유지되지 않는 한 이 루틴을 거의 호출하지 않습니다.

  • 미니포트 드라이버의 HwVidInterrupt 함수는 메모리를 다른 미니포트 드라이버 함수와 공유합니다. 다중 프로세서로부터 안전한 방식으로 공유 메모리에 액세스하려면 이러한 미니포트 드라이버 함수가 HwVidSynchronizeExecutionCallback을 사용하여 VideoPortSynchronizeExecution을 호출해야 합니다. 이 미니포트 드라이버 함수는 비디오 포트 드라이버가 HwVidInterrupt 함수가 동일한 메모리에 동시에 액세스할 수 없으므로 공유 메모리에 안전하게 액세스할 수 있습니다.
  • 어댑터는 컨텍스트 스위치의 적용을 받지 않고 명령 시퀀스로 프로그래밍되어야 합니다. 예를 들어 I/O 명령 시퀀스를 버퍼링하고 시퀀스의 유효성을 검사한 미니포트 드라이버의 SvgaHwIoPortXxx 함수는 HwVidSynchronizeExecutionCallback을 사용하여 VideoPortSynchronizeExecution을 호출할 수 있습니다. 이 미니포트 드라이버 함수는 버퍼링되고 유효성이 검사된 I/O 스트림을 어댑터로 매우 빠르게 전송할 수 있습니다.
호출자는 HwVidSynchronizeExecutionCallback이 수행해야 하는 작업에 대해 가장 낮은 실제 우선 순위 값을 지정해야 합니다. 높은 하드웨어 우선 순위(VpMediumPriority 또는 VpHighPriority)에서 실행되는 모든 CallbackRoutine은 가능한 한 빨리 제어를 반환해야 합니다. 우선 순위가 높은 HwVidSynchronizeExecutionCallback 함수가 있는 드라이버는 HwVidSynchronizeExecutionCallbackHwVidInterrupt 함수 중 하나를 제외한 다른 모든 드라이버 함수에서 가능한 한 많은 작업을 수행하도록 설계되어야 합니다.

VideoPortSynchronizeExecution의 호출자는 IRQL에서 실행되어야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
머리글 video.h(Video.h 포함)
라이브러리 Videoprt.lib
DLL Videoprt.sys
IRQL <= DIRQL

추가 정보

HwVidInterrupt

HwVidSynchronizeExecutionCallback