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 連接埠或埠的總線相對實體位址。 此值和埠範圍必須落在 VideoPortGetAccessRangesVideoPortVerifyAccessRanges 登錄中已宣告的 I/O 埠存取範圍內。

NumConsecutivePorts

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

AccessType

將透過指定 I/O 埠傳輸的數據大小指定為 UcharUlongUshort 的其中一個。

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 埠範圍的任何應用程式發行 ININSB/INSW/INSDs、 OUTs和/或 OUTSB/OUTSW/OUTSD

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

規格需求

需求
標頭 miniport.h (包含 Miniport.h)

另請參閱

VIDEO_PORT_CONFIG_INFO

VideoPortVerifyAccessRanges

VideoPortSetTrappedEmulatorPorts

VIDEO_ACCESS_RANGE

VideoPortGetAccessRanges