共用方式為


PDRIVER_IO_PORT_UCHAR_STRING回呼函式 (video.h)

SvgaHwIoPortUcharString 捕捉 x86 型電腦中全螢幕 MS-DOS 應用程式傳送一連串 UCHAR 大小的數據。

語法

PDRIVER_IO_PORT_UCHAR_STRING PdriverIoPortUcharString;

VP_STATUS PdriverIoPortUcharString(
  ULONG_PTR Context,
  ULONG Port,
  UCHAR AccessMode,
  PUCHAR Data,
  ULONG DataLength
)
{...}

參數

Context

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

Port

指定對應的 I/O 連接埠。

AccessMode

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

EMULATOR_READ_ACCESS
EMULATOR_WRITE_ACCESS

Data

要傳送之 UCHAR 字串的指標。 一次會連結一個字元,直到傳輸整個字串為止。

DataLength

指定字串中的 UCHAR 值數目。

傳回值

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

言論

只有 VGA 相容 SVGA 適配卡的迷你埠驅動程式 SvgaHwIoPortXxx 函式。 (請參閱 SVGA 函式

SvgaHwIoPortUcharString 攔截全螢幕 MS-DOS 應用程式嘗試的任何位元組存取,或發出指令 REP OUTSB DX、ESIREP INSB EDI、 DX

如果迷你埠驅動程式透過呼叫 VideoSetTrappedEmulatorPorts來啟用 ,則不會呼叫其 SvgaHwIoPortUcharString 函式。 如此一來,除非迷你埠驅動程式以另一個呼叫停用埠,否則這類應用程式將可直接存取 I/O 連接埠,VideoSetTrappedEmulatorPorts

如果一或多個應用程式發行的 x86 INSBOUTSB 指令可能會影響 VGA 兼容適配卡排序器快取器的狀態, 其他輸出緩存器或任何適配卡特定緩存器,因此,導致計算機停止回應,迷你埠驅動程式必須 呼叫 VideoPortSetTrappedEmulatorPorts啟用埠以進行直接存取。

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

SvgaHwIoPortUcharString 應設為可分頁。

要求

要求 價值
目標平臺 桌面
標頭 video.h (include Video.h)

另請參閱

EMULATOR_ACCESS_ENTRY

SVGA 函式

SvgaHwIoPortUchar

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortGetDeviceBase

VideoPortSetTrappedEmulatorPorts