PDRIVER_IO_PORT_USHORT_STRING video.h) (回呼函式
SvgaHwIoPortUshortString 會捕捉 x86 型機器中全螢幕 MS-DOS 應用程式傳送一連串 USHORT 大小數據的 I/O 連接埠範圍。
語法
PDRIVER_IO_PORT_USHORT_STRING PdriverIoPortUshortString;
VP_STATUS PdriverIoPortUshortString(
ULONG_PTR Context,
ULONG Port,
UCHAR AccessMode,
PUSHORT Data,
ULONG DataLength
)
{...}
參數
Context
指定VIDEO_PORT_CONFIG_INFO的 EmulatorAccessEntriesContext 中設定的迷你埠驅動程式決定內容值。
Port
指定要截獲的對應 I/O 埠。
AccessMode
指定允許的存取類型,可以是下列值的一個或組合 (ORed) :
- EMULATOR_READ_ACCESS
- EMULATOR_WRITE_ACCESS
Data
要傳送之 USHORT 資料值的字串指標。 此字串一次會存取一個值,直到所有值都已連結為止。
DataLength
指定字串中的 USHORT 值數目。
傳回值
SvgaHwIoPortUshortString 會傳回作業的最終狀態。
備註
只有 VGA 相容 SVGA 配接器的迷你埠驅動程式具有 SvgaHwIoPortXxx 函式。 (請參閱 SVGA Functions.)
SvgaHwIoPortUshortString 會攔截全螢幕 MS-DOS 應用程式發出或兩個指示 REP OUTSW DX、ESI 和 REP INSW EDI, DX 嘗試的任何範圍存取。
如果迷你埠驅動程式透過呼叫 VideoSetTrappedEmulatorPorts 來啟用埠範圍,則不會呼叫其 SvgaHwIoPortUshortString 函式。 這類應用程式接著會直接存取 I/O 埠範圍,除非迷你埠驅動程式使用另一個對 VideoSetTrappedEmulatorPorts 的呼叫來停用埠範圍。
如果一或多個應用程式發行的 x86 INSW 或 OUTSW 指令可能會影響 VGA 相容的配接器排序器快存器狀態、其他輸出緩存器或任何適配卡特定快取器,因此,導致電腦停止回應,迷你埠驅動程式 不得 透過呼叫 VideoPortSetTrappedEmulatorPorts 來啟用直接存取的埠。
SvgaHwIoPortUshortString 必須緩衝來自應用程式的後續指示,並檢查計算機無法停止回應。 如果應用程式發出任何可能停止響應計算機的指令序列, SvgaHwIoPortUshortString 必須捨棄緩衝的指令。 否則,它應該一次輸出USHORT至指定的對應I/O埠。
SvgaHwIoPortUshortString 應該設為可分頁。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | video.h (包含 Video.h) |