共用方式為


VIDEO_PORT_CONFIG_INFO 結構 (video.h)

VIDEO_PORT_CONFIG_INFO 結構包含總線特定的配接器組態資訊。 此結構可用來設定視訊硬體,並提供具有組態信息的視訊埠驅動程式。 然後,視訊埠驅動程式可以為迷你埠驅動程式及其配接器配置必要的系統資源。

語法

typedef struct _VIDEO_PORT_CONFIG_INFO {
  ULONG                        Length;
  ULONG                        SystemIoBusNumber;
  INTERFACE_TYPE               AdapterInterfaceType;
  ULONG                        BusInterruptLevel;
  ULONG                        BusInterruptVector;
  KINTERRUPT_MODE              InterruptMode;
  ULONG                        NumEmulatorAccessEntries;
  PEMULATOR_ACCESS_ENTRY       EmulatorAccessEntries;
  ULONG_PTR                    EmulatorAccessEntriesContext;
  PHYSICAL_ADDRESS             VdmPhysicalVideoMemoryAddress;
  ULONG                        VdmPhysicalVideoMemoryLength;
  ULONG                        HardwareStateSize;
  ULONG                        DmaChannel;
  ULONG                        DmaPort;
  UCHAR                        DmaShareable;
  UCHAR                        InterruptShareable;
  BOOLEAN                      Master;
  DMA_WIDTH                    DmaWidth;
  DMA_SPEED                    DmaSpeed;
  BOOLEAN                      bMapBuffers;
  BOOLEAN                      NeedPhysicalAddresses;
  BOOLEAN                      DemandMode;
  ULONG                        MaximumTransferLength;
  ULONG                        NumberOfPhysicalBreaks;
  BOOLEAN                      ScatterGather;
  ULONG                        MaximumScatterGatherChunkSize;
  PVIDEO_PORT_GET_PROC_ADDRESS VideoPortGetProcAddress;
  PWSTR                        DriverRegistryPath;
  ULONGLONG                    SystemMemorySize;
} VIDEO_PORT_CONFIG_INFO, *PVIDEO_PORT_CONFIG_INFO;

成員

Length

這是這個結構位元組的大小。 視訊埠驅動程式一律會初始化 Length 成員。 實際上,其值表示系統所使用的VIDEO_PORT_CONFIG_INFO版本。 由於此結構可能會從一個版本的系統成長到下一個版本,因此迷你埠驅動程式應該檢查此成員,以判斷迷你埠驅動程式是否至少 大小為 (VIDEO_PORT_CONFIG_INFO) 迷你埠驅動程式用來設定其適配卡。

SystemIoBusNumber

指定迷你埠驅動程式適配卡可能連接的系統指派 I/O 總線數目。 視訊埠驅動程式一律會初始化這個成員。

AdapterInterfaceType

指定總線介面的類型。 視訊埠驅動程式一律會根據 PnP 管理員偵測到裝置的總線來設定此成員。

BusInterruptLevel

如果視訊硬體不會產生中斷,則此成員無關,方法是將 VIDEO_HW_INITIALIZATION_DATA 結構中的 HwInterrupt 成員設定為 NULL。 否則,它會指定與 IsaMicroChannel 類型總線上的中斷要求對應的總線相對 IRQL。 這個成員的預設預設值為零。 如果迷你埠驅動程序處理 IsaMicroChannel 類型總線上的視訊適配卡中斷,或針對 Eisa 類型總線上針對層級敏感中斷設定的視訊適配卡,則必須提供正確的值。

如果迷你埠驅動程式的 HwVidFindAdapter 函式發現視訊配接器不會產生中斷,或無法判斷適配卡的有效中斷向量/層級, HwVidFindAdapter 應該同時將 BusInterruptLevelBusInterruptVector 設定為零。

BusInterruptVector

如果視訊硬體不會產生中斷,則此成員無關,方法是將 VIDEO_HW_INITIALIZATION_DATA 結構中的 HwInterrupt 成員設定為 NULL。 否則,它會指定 I/O 總線上使用中斷向量的視訊硬體所使用的總線相對向量,例如 PCI 總線。 這個成員的預設預設值為零。

如果迷你埠驅動程式的 HwVidFindAdapter 函式發現視訊配接器不會產生中斷,或無法判斷適配卡的有效中斷向量/層級, HwVidFindAdapter 應該同時將 BusInterruptVectorBusInterruptLevel 設定為零。

InterruptMode

指出視訊硬體是否使用 閂鎖LevelSensitive 中斷。 視訊埠驅動程式如果相關,則會初始化此成員,但具有ISR的迷你埠驅動程式應該檢查它是否包含正確的值,並視需要重設它。

NumEmulatorAccessEntries

此成員和透過 HardwareStateSize 的所有後續成員,與未宣告為 x86 型 NT 型作業系統平臺上 VGA 相容的迷你埠驅動程式的迷你埠驅動程序無關。 對於不支援 x86 計算機上 VGA 相容 SVGA 適配卡的迷你埠驅動程式,此成員應該是零。 否則,它會指定下列陣列中的EMULATOR_ACCESS_RANGE類型元素數目。

EmulatorAccessEntries

VGA 相容迷你埠驅動程式所設定的模擬器存取範圍陣列指標。 每個模擬器存取範圍都必須是迷你埠驅動程式 VIDEO_ACCESS_RANGE類型數位的適當子集。 每個元素都會指定要由 V86 模擬器連結的 I/O 連接埠範圍,而且可能由驅動程式提供的 SvgaHwIoPortXxx 函式監視,每當 MS-DOS 應用程式執行全螢幕時,嘗試直接寫入視訊配接器緩存器。 通常,此陣列描述對應存取範圍數位中的所有 I/O 連接埠範圍。 如果迷你埠驅動程式在驅動程式本身以靜態方式定義模擬器存取專案的數位,埠驅動程式就會初始化該數位的這個指標。 如果 NumEmulatorAccessEntries 為零,則此成員為 NULL

EmulatorAccessEntriesContext

指定以模擬器AccessEntries 陣列中所述之 SvgaHwIoPortXxx 函式呼叫所傳遞的值。 通常,VGA 相容的迷你埠驅動程式會將此成員的值設定為 HwDeviceExtension 指標或裝置延伸模組內的位移,因此迷你埠驅動程式可以在其 SvgaHwIoPortXxx 函式中維護狀態,例如批次應用程式發出的指令。

VdmPhysicalVideoMemoryAddress

指定要對應至 x86 BIOS INT10 支援的 VDM 位址空間之一系列視訊記憶體的基底 (對應) 邏輯地址位址。 對於不支援 x86 計算機上 VGA 相容適配卡的迷你埠驅動程式,此成員應該是 NULL

VdmPhysicalVideoMemoryLength

指定範圍的大小,以位元組為單位對應至 X86 BIOS 支援的 VDM 位址空間。 對於不支援 x86 型機器上 VGA 相容適配卡的迷你埠驅動程式,此成員應該是零。

HardwareStateSize

指定儲存硬體狀態資訊以回應 IOCTL_VIDEO_SAVE_HARDWARE_STATE 要求所需的最小大小,這隻能由 x86 計算機上與 VGA 相容的迷你埠驅動程序支援。 這個成員的初始化值是零。 VGA 相容的迷你埠驅動程序必須將此成員設定為保存已儲存適配卡狀態所需的位元組數目。

DmaChannel

保留供系統使用。

DmaPort

保留供系統使用。

DmaShareable

保留供系統使用。

InterruptShareable

如果迷你埠驅動程式的裝置中斷,如果中斷無法與其他裝置共用,則此成員應該設定為零,如果可以共用中斷,則設定為一個。 否則,迷你埠驅動程式可以忽略此成員。

Master

保留供系統使用。

DmaWidth

保留供系統使用。

DmaSpeed

保留供系統使用。

bMapBuffers

保留供系統使用。

NeedPhysicalAddresses

保留供系統使用。

DemandMode

保留供系統使用。

MaximumTransferLength

保留供系統使用。

NumberOfPhysicalBreaks

保留供系統使用。

ScatterGather

保留供系統使用。

MaximumScatterGatherChunkSize

保留供系統使用。

VideoPortGetProcAddress

VideoPortGetProcAddress 回呼例程的指標。 此成員用來尋找視訊埠驅動程式函式的位址,而視訊迷你埠驅動程式可以使用,而不需直接連結至該驅動程式。 這可讓驅動程式二進位檔在舊版 Windows 上執行。 如需詳細資訊,請參閱 使用 VideoPortGetProcAddress

DriverRegistryPath

包含裝置服務的登錄路徑指標。 顯示驅動程式可以以任何方式使用這項資訊,以它認為很有用的方式。

SystemMemorySize

向驅動程式指出系統中實體記憶體的數量,以位元組為單位。

規格需求

需求
標頭 video.h (包含 Video.h)

另請參閱

HwVidFindAdapter

IOCTL_VIDEO_SAVE_HARDWARE_STATE

VIDEO_ACCESS_RANGE

VIDEO_HW_INITIALIZATION_DATA

VideoPortGetAccessRanges

VideoPortGetDeviceBase

VideoPortGetDeviceData

VideoPortGetProcAddress

VideoPortVerifyAccessRanges