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 函式同時存取相同的記憶體。
  • 配接器必須使用一連串的命令進行程序設計,而不受內容切換限制。 例如,迷你埠驅動程式的 SvgaHwIoPortXxx 函式已緩衝處理一連串 I/O 指令,並驗證序列可能會使用 HwVidSynchronizeExecutionCallback 呼叫 VideoPortSynchronizeExecution。 此迷你埠驅動程式函式可以非常快速地將緩衝和已驗證的 I/O 數據流傳送至配接器。
呼叫端應指定工作 HwVidSynchronizeExecutionCallback 的最低實際優先順序值。 任何以高硬體優先順序執行的 CallbackRoutine , (VpMediumPriorityVpHighPriority) 應該儘快傳回控制權。 具有這類高優先順序 HwVidSynchronizeExecutionCallback 函式的驅動程式應該設計成盡可能在所有其他驅動程式函式中執行最大工作,但其中一個 HwVidSynchronizeExecutionCallbackHwVidInterrupt 函式除外。

VideoPortSynchronizeExecution 的呼叫端必須在 IRQL 上執行

規格需求

需求
最低支援的用戶端 可在 Windows 2000 和更新版本的 Windows 作業系統中使用。
目標平台 桌面
標頭 video.h (包含 Video.h)
程式庫 Videoprt.lib
Dll Videoprt.sys
IRQL <= DIRQL

另請參閱

HwVidInterrupt

HwVidSynchronizeExecutionCallback