EMULATOR_ACCESS_ENTRY 結構 (dispmprt.h)
EMULATOR_ACCESS_ENTRY 結構會指定 X86 型 NT 型作業系統平臺上 X86 型 NT 型作業系統平臺上 VGA 相容 (SVGA) 配接器驅動程式在 VIDEO_PORT_CONFIG_INFO 結構中設定的 EmulatorAccessEntries 陣列中的元素。
語法
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 連接埠或埠的總線相對實體位址。 此值和埠範圍必須落在 已由 VideoPortGetAccessRanges 或 VideoPortVerifyAccessRanges 在登錄中宣告的 I/O 埠存取範圍內。
NumConsecutivePorts
指定要由 V86 模擬器鏈接的連續埠數目,從 BasePort 開始。 此值取決於每個已連結 I/O 埠的寬度。 例如,如果埠位址0x3C0和0x3C1連結為單一 USHORT 可尋址埠,則此值應該是 1。
AccessType
將透過指定 I/O 連接埠傳輸的數據大小指定為其中一個 Uchar、 Ulong 或 Ushort。
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 函式,以驗證每個這類 I/O 埠範圍的任何應用程式發行 IN、 INSB/INSW/INSDs、 OUTs和/或 OUTSB/OUTSW/OUTSD。
每個EMULATOR_ACCESS_ENTRY類型元素中的數據是用來判斷哪些 I/O 埠 (記憶體位置,在迷你埠驅動程式的存取範圍中,哪些 I/O 連接埠可存取) 已 (由 x86 平臺上的 V86 模擬器攔截) 。 透過全螢幕 MS-DOS 應用程式寫入這些位置的值會先截獲並轉送到迷你埠驅動程序的對應 SvgaHwIoPortXxx 函式進行驗證,再寫入或讀取視訊配接器。 不過,迷你埠驅動程式可以藉由呼叫 VideoPortSetTrappedEmulatorPorts 來改善效能,讓應用程式直接存取特定的I/O埠範圍。
規格需求
需求 | 值 |
---|---|
標頭 | dispmprt.h (包括 Dispmprt.h) |