共用方式為


EMULATOR_ACCESS_ENTRY結構(dispmprt.h)

EMULATOR_ACCESS_ENTRY 結構會指定 EmulatorAccessEntries 中的元素, 陣列中由 x86 型 NT 型作系統平臺上 VGA 相容 (SVGA) 適配卡的驅動程式在 VIDEO_PORT_CONFIG_INFO 結構中設定。

語法

typedef struct _EMULATOR_ACCESS_ENTRY {
  ULONG                     BasePort;
  ULONG                     NumConsecutivePorts;
  EMULATOR_PORT_ACCESS_TYPE AccessType;
  UCHAR                     AccessMode;
  UCHAR                     StringSupport;
  PVOID                     Routine;
} EMULATOR_ACCESS_ENTRY, *PEMULATOR_ACCESS_ENTRY;

成員

BasePort

指定要由 V86 模擬器連結之 I/O 連接埠或埠的總線相對實體位址。 此值和埠範圍必須落在登錄中已宣告的 I/O 連接埠存取範圍內,VideoPortGetAccessRangesVideoPortVerifyAccessRanges

NumConsecutivePorts

指定要由 V86 模擬器鏈接的連續埠數目,從 BasePort開始。 此值取決於每個連結 I/O 埠的寬度。 例如,如果埠位址0x3C0且0x3C1連結為單一 USHORT 可尋址埠,則此值應該是 1。

AccessType

將透過指定 I/O 連接埠傳輸的數據大小指定為 Uchar UlongUshort一。

AccessMode

指定如何將指定的 I/O 連接埠存取為下列值的其中一個或組合(ORed):

EMULATOR_READ_ACCESS
EMULATOR_WRITE_ACCESS

I/O 埠範圍必須至少在上述其中一種模式中存取。

StringSupport

指出驅動程式提供的 SvgaHwIoPortXxx 函式是否支援字串存取,以防指定之 AccessType 的許多值連續透過 I/O 埠「幫浦」。 如果這個成員設定為 true 例程 成員必須指定迷你埠驅動程式提供的進入點 SvgaHwIoPortXxxString 函式。

Routine

迷你埠驅動程式的 SvgaHwIoPortXxx 指標,可處理此結構中所述之埠或埠的存取。

言論

x86 型機器中 SVGA 視訊硬體的 VGA 相容迷你埠驅動程式必須定義模擬器存取範圍,VGA 相容的迷你埠驅動程式可以使用 VideoPortSetTrappedEmulatorPorts 設定, 直接從全螢幕 MS-DOS 應用程式存取,以獲得更快的 I/O。 這類驅動程式必須提供一組 SvgaHwIoPortXxx 函式,以驗證應用程序發行的任何序列 INs、INSB/INSW/INSDs、OUTs 和/或 OUTSB/OUTSW/OUTSD到每個這類 I/O 連接埠範圍。

每個EMULATOR_ACCESS_ENTRY類型元素中的數據會用來判斷在以 x86 為基礎的平臺上 V86 模擬器已接管 V86 模擬器的存取範圍中哪些 I/O 連接埠(可存取適配卡緩存器的記憶體位置)。 透過全螢幕 MS-DOS 應用程式寫入這些位置的值,會在寫入或讀取影片配接器之前,先截獲並轉送至迷你埠驅動程序的對應 SvgaHwIoPortXxx 函式以進行驗證。 不過,迷你埠驅動程式可以呼叫 VideoPortSetTrappedEmulatorPorts 來直接存取特定 I/O 連接埠範圍,以改善效能。

要求

要求 價值
標頭 dispmprt.h (包括 Dispmprt.h)

另請參閱

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortGetAccessRanges

VideoPortSetTrappedEmulatorPorts

VideoPortVerifyAccessRanges