EMULATOR_ACCESS_ENTRY結構 (miniport.h)
EMULATOR_ACCESS_ENTRY 結構會指定 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 埠 (記憶體位置,在以 x86 為基礎的平臺上,V86 模擬器在迷你埠驅動程式的存取範圍中可存取) 存取 () 。 透過全螢幕 MS-DOS 應用程式寫入這些位置的值會截獲並轉送至迷你埠驅動程序的對應 SvgaHwIoPortXxx 函式以進行驗證,然後再寫入或讀取視訊配接器。 不過,迷你埠驅動程式可以藉由呼叫 VideoPortSetTrappedEmulatorPorts 來改善效能,讓應用程式直接存取特定的I/O埠範圍。
規格需求
需求 | 值 |
---|---|
標頭 | miniport.h (包含 Miniport.h) |