다음을 통해 공유


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 실행해야 하는 우선 순위 유형을 다음 중 하나로 지정합니다.

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

SynchronizeRoutine

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

Context

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

반환 값

작업이 성공하면 VideoPortSynchronizeExecution TRUE 반환합니다.

발언

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

  • 미니포트 드라이버의 HwVidInterrupt 함수는 메모리를 다른 미니포트 드라이버 함수와 공유합니다. 다중 프로세서로부터 안전한 방법으로 공유 메모리에 액세스하려면 이러한 미니포트 드라이버 함수는 HwVidSynchronizeExecutionCallbackVideoPortSynchronizeExecution 호출해야 합니다. 이 미니포트 드라이버 함수는 비디오 포트 드라이버가 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