次の方法で共有


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のバージョンを示します。 この構造はシステムの 1 つのバージョンから次のバージョンに拡張される可能性があるため、ミニポート ドライバーは、ミニポート ドライバーがそのアダプターを構成するために使用する (VIDEO_PORT_CONFIG_INFO) の sizeof少なくともかどうかを判断するには、このメンバーを確認する必要があります。

SystemIoBusNumber

ミニポート ドライバーのアダプターが接続されている可能性がある I/O バスのシステム割り当て番号を指定します。 ビデオ ポート ドライバーは常にこのメンバーを初期化します。

AdapterInterfaceType

バス インターフェイスの種類を指定します。 ビデオ ポート ドライバーは、PnP マネージャーがデバイスを検出したバスに基づいて常にこのメンバーを設定します。

BusInterruptLevel

ビデオ ハードウェアが割り込みを生成しない場合、このメンバーは関係ありません。これは、VIDEO_HW_INITIALIZATION_DATA 構造体の HwInterrupt メンバーを NULL 設定することによって示されます。 それ以外の場合は、Isa または microChannel 型バスの割り込み要求に対応するバス相対 IRQL 指定します。 このメンバーの既定の既定値は 0 です。 ミニポート ドライバーは、Isa または MicroChannel タイプ バス上のビデオ アダプターの割り込みを処理する場合、または Eisa タイプ バスのレベル依存割り込み用に構成されたビデオ アダプターの割り込みを処理する場合は、正しい値を指定する必要があります。

ミニポート ドライバーの HwVidFindAdapter 関数は、ビデオ アダプターが割り込みを生成しないか、アダプターの有効な割り込みベクター/レベルを決定できないことを検出した場合 は、HwVidFindAdapterBusInterruptLevelBusInterruptVector の両方をゼロに設定する必要があります。

BusInterruptVector

ビデオ ハードウェアが割り込みを生成しない場合、このメンバーは関係ありません。これは、VIDEO_HW_INITIALIZATION_DATA構造体の HwInterrupt メンバーを NULL 設定することによって示されます。 それ以外の場合は、PCI バスなどの割り込みベクトルを使用する I/O バス上のビデオ ハードウェアで使用されるバス相対ベクトルを指定します。 このメンバーの既定の既定値は 0 です。

ミニポート ドライバーの HwVidFindAdapter 関数は、ビデオ アダプターが割り込みを生成しないか、アダプターの有効な割り込みベクター/レベルを決定できないことを検出 した場合、HwVidFindAdapter は、BusInterruptVectorBusInterruptLevel の両方をゼロに設定する必要があります。

InterruptMode

ビデオ ハードウェアで、ラッチされた を使用するか、LevelSensitive 割り込みを するかを示します。 ビデオ ポート ドライバーは、関連する場合は、このメンバーを初期化しますが、ISR を持つミニポート ドライバーは、正しい値が含まれていることを確認し、必要に応じてリセットする必要があります。

NumEmulatorAccessEntries

このメンバーと、HardwareStateSize を介して以降のすべてのメンバーは、x86 ベースの NT ベースのオペレーティング システム プラットフォームで VGA 互換ミニポート ドライバーであることを宣言していないミニポート ドライバーとは無関係です。 x86 ベースのマシンで VGA と互換性のある SVGA アダプターをサポートしていないミニポート ドライバーの場合、このメンバーは 0 にする必要があります。 それ以外の場合は、次の配列内のEMULATOR_ACCESS_RANGE型要素の数を指定します。

EmulatorAccessEntries

VGA 互換ミニポート ドライバーによって設定されたエミュレーター アクセス範囲の配列へのポインター。 各エミュレーター アクセス範囲は、ミニポート ドライバーの VIDEO_ACCESS_RANGE-type 配列の適切なサブセットである必要があります。 各要素は、V86 エミュレーターによってフックされる I/O ポートの範囲を指定し、場合によっては、フル スクリーンを実行している MS-DOS アプリケーションがビデオ アダプター レジスタに直接書き込もうとするたびに、ドライバーが提供する SvgaHwIoPortXxx 関数によって監視されます。 通常、この配列は、対応するアクセス範囲配列内のすべての I/O ポート範囲を記述します。 ミニポート ドライバーは、ドライバー自体で静的にエミュレーター アクセス エントリの配列を定義する場合、ポート ドライバーは、その配列へのこのポインターを初期化します。 numEmulatorAccessEntries が 0 の場合、このメンバーは NULL

EmulatorAccessEntriesContext

EmulatorAccessEntries 配列で説明されている SvgaHwIoPortXxx 関数の各呼び出しで渡される値を指定します。 通常、VGA と互換性のあるミニポート ドライバーは、このメンバーの値を HwDeviceExtension ポインターに設定するか、デバイス拡張機能内のオフセットに設定します。そのため、ミニポート ドライバーは、バッチ処理されたアプリケーションが発行した命令などの状態を SvgaHwIoPortXxx 関数 で維持できます。

VdmPhysicalVideoMemoryAddress

x86 BIOS INT10 サポート用に VDM のアドレス空間にマップされるビデオ メモリの範囲の基本 (マップ済み) 論理アドレスを指定します。 x86 ベースのコンピューターで VGA 互換アダプターをサポートしていないミニポート ドライバーの場合、このメンバーは NULL する必要があります。

VdmPhysicalVideoMemoryLength

x86 BIOS サポート用に VDM のアドレス空間にマップする範囲のサイズをバイト単位で指定します。 x86 ベースのマシンで VGA 互換アダプターをサポートしていないミニポート ドライバーの場合、このメンバーは 0 にする必要があります。

HardwareStateSize

x86 ベースのコンピューター上の VGA 互換ミニポート ドライバーでのみサポートする必要がある IOCTL_VIDEO_SAVE_HARDWARE_STATE 要求に応答してハードウェアの状態情報を格納するために必要な最小サイズ (バイト単位) を指定します。 このメンバーの初期化された値は 0 です。 VGA と互換性のあるミニポート ドライバーは、保存されたアダプターの状態を保持するために必要なバイト数にこのメンバーを設定する必要があります。

DmaChannel

システム用に予約されています。

DmaPort

システム用に予約されています。

DmaShareable

システム用に予約されています。

InterruptShareable

ミニポート ドライバーのデバイス割り込みの場合、割り込みを別のデバイスと共有できない場合は、このメンバーを 0 に設定するか、割り込みを共有できる場合は 1 に設定する必要があります。 それ以外の場合、ミニポート ドライバーは、このメンバーを無視できます。

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