共用方式為


PDRIVER_IO_PORT_USHORT video.h) (回呼函式

SvgaHwIoPortUshort 會捕捉 x86 型計算機中全螢幕 MS-DOS 應用程式的 I/O 連接埠範圍,以傳送一連串 USHORT 大小的數據。

語法

PDRIVER_IO_PORT_USHORT PdriverIoPortUshort;

VP_STATUS PdriverIoPortUshort(
  ULONG_PTR Context,
  ULONG Port,
  UCHAR AccessMode,
  PUSHORT Data
)
{...}

參數

Context

指定VIDEO_PORT_CONFIG_INFO的 EmulatorAccessEntriesContext 成員中設定的迷你埠驅動程式決定內容值。

Port

指定要截獲的對應 I/O 埠。

AccessMode

指定允許的存取類型,可以是下列值的一個或組合 (ORed) :

EMULATOR_READ_ACCESS
EMULATOR_WRITE_ACCESS

Data

要傳輸之 USHORT 數據的指標。

傳回值

SvgaHwIoPortUshort 會傳回作業的最終狀態。

備註

只有 VGA 相容 SVGA 配接器的迷你埠驅動程式具有 SvgaHwIoPortXxx 函式。 (請參閱 SVGA Functions.)

SvgaHwIoPortUshort 會攔截全螢幕 MS-DOS 應用程式發出或兩個指示 OUT DX、AXIN AX、DX 嘗試的任何範圍存取。

如果迷你埠驅動程序藉由呼叫 VideoSetTrappedEmulatorPorts 來啟用埠範圍,則不會呼叫其 SvgaHwIoPortUshort 函式。 這類應用程式接著會直接存取 I/O 埠範圍,除非迷你埠驅動程式使用另一個對 VideoSetTrappedEmulatorPorts 的呼叫來停用範圍。

如果一或多個應用程式發行的 x86 INOUT 指令可能會影響 VGA 相容的配接器排序器緩存器、其他輸出緩存器或任何適配卡特定緩存器的狀態,因而造成計算機停止回應,迷你埠驅動程式 不得 透過呼叫 VideoPortSetTrappedEmulatorPorts 來啟用埠以進行直接存取。

SvgaHwIoPortUshort 必須緩衝來自應用程式的後續指示,並檢查沒有任何計算機可以停止回應。 如果應用程式發出任何可能停止響應計算機的指令序列, SvgaHwIoPortUshort 必須捨棄緩衝的指令。 否則,它應該一次輸出USHORT至指定的對應I/O埠。

SvgaHwIoPortUshort 應設為可分頁。

規格需求

需求
目標平台 桌面
標頭 video.h (包含 Video.h)

另請參閱

EMULATOR_ACCESS_ENTRY

SVGA 函式

SvgaHwIoPortUshortString

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortGetDeviceBase

VideoPortSetTrappedEmulatorPorts