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 을 실행해야 하는 우선 순위 유형을 다음 중 하나로 지정합니다.
- Priority가 VpLowPriority로 설정된 경우 현재 스레드가 가장 높은 비정형 마스킹 우선 순위로 높아집니다. 따라서 디바이스가 중단되는 경우에만 ISR에서 현재 스레드를 선점할 수 있습니다.
- Priority가 VpMediumPriority로 설정되어 있고 미니포트 드라이버에 비디오 어댑터와 연결된 ISR이 있는 경우 지정된 SynchronizeRoutine에 대한 호출은 미니포트 드라이버의 HwVidInterrupt 함수와 동기화됩니다. 그렇지 않으면 VpLowPriority 수준에서 동기화가 수행됩니다.
- VpHighPriority 는 VpMediumPriority와 동일한 효과가 있습니다.
SynchronizeRoutine
미니포트 드라이버의 HwVidSynchronizeExecutionCallback 함수에 대한 포인터입니다.
Context
미니포트 드라이버의 HwVidSynchronizeExecutionCallback 함수에 전달할 호출자 제공 컨텍스트에 대한 포인터입니다. 이 포인터는 NULL일 수 있습니다.
반환 값
작업이 성공하면 VideoPortSynchronizeExecution 은 TRUE를 반환합니다.
설명
미니포트 드라이버는 다음 조건 중 하나가 유지되지 않는 한 이 루틴을 거의 호출하지 않습니다.
- 미니포트 드라이버의 HwVidInterrupt 함수는 메모리를 다른 미니포트 드라이버 함수와 공유합니다. 다중 프로세서로부터 안전한 방식으로 공유 메모리에 액세스하려면 이러한 미니포트 드라이버 함수가 HwVidSynchronizeExecutionCallback을 사용하여 VideoPortSynchronizeExecution을 호출해야 합니다. 이 미니포트 드라이버 함수는 비디오 포트 드라이버가 HwVidInterrupt 함수가 동일한 메모리에 동시에 액세스할 수 없으므로 공유 메모리에 안전하게 액세스할 수 있습니다.
- 어댑터는 컨텍스트 스위치의 적용을 받지 않고 명령 시퀀스로 프로그래밍되어야 합니다. 예를 들어 I/O 명령 시퀀스를 버퍼링하고 시퀀스의 유효성을 검사한 미니포트 드라이버의 SvgaHwIoPortXxx 함수는 HwVidSynchronizeExecutionCallback을 사용하여 VideoPortSynchronizeExecution을 호출할 수 있습니다. 이 미니포트 드라이버 함수는 버퍼링되고 유효성이 검사된 I/O 스트림을 어댑터로 매우 빠르게 전송할 수 있습니다.
VideoPortSynchronizeExecution의 호출자는 IRQL에서 실행되어야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다. |
대상 플랫폼 | 데스크톱 |
머리글 | video.h(Video.h 포함) |
라이브러리 | Videoprt.lib |
DLL | Videoprt.sys |
IRQL | <= DIRQL |