VIDEO_MODE_INFORMATION構造体 (ntddvdeo.h)

VIDEO_MODE_INFORMATION構造体には、ビデオ アダプターの 1 つのモードに関するすべての情報が含まれています。

構文

typedef struct _VIDEO_MODE_INFORMATION {
  ULONG Length;
  ULONG ModeIndex;
  ULONG VisScreenWidth;
  ULONG VisScreenHeight;
  ULONG ScreenStride;
  ULONG NumberOfPlanes;
  ULONG BitsPerPlane;
  ULONG Frequency;
  ULONG XMillimeter;
  ULONG YMillimeter;
  ULONG NumberRedBits;
  ULONG NumberGreenBits;
  ULONG NumberBlueBits;
  ULONG RedMask;
  ULONG GreenMask;
  ULONG BlueMask;
  ULONG AttributeFlags;
  ULONG VideoMemoryBitmapWidth;
  ULONG VideoMemoryBitmapHeight;
  ULONG DriverSpecificAttributeFlags;
} VIDEO_MODE_INFORMATION, *PVIDEO_MODE_INFORMATION;

メンバーズ

Length

この構造体の長さをバイト単位で指定します。 ミニポート ドライバーは、この値を使用して、この構造体のバージョンを決定できます。

ModeIndex

ミニポート ドライバーの呼び出しで使用する特定のモードのインデックスを指定します。

VisScreenWidth

1 本の水平スキャンラインに表示されるピクセル数を指定します。

VisScreenHeight

画面上に表示される線 (またはスキャン線) の数を指定します。

ScreenStride

1 つのスキャン行の開始から次のスキャン行までのバイト数を指定します。

NumberOfPlanes

デバイスによって結合された個別の平面の数を指定します。

BitsPerPlane

平面あたりのピクセルあたりのビット数を指定します。

Frequency

画面のリフレッシュ レートを Hertz で指定します。

XMillimeter

出力デバイスのアクティブ領域の幅をミリメートル単位で指定します。

YMillimeter

出力デバイスのアクティブ領域の高さをミリメートル単位で指定します。

NumberRedBits

赤い DAC のビット数を指定します。

NumberGreenBits

緑の DAC のビット数を指定します。

NumberBlueBits

青い DAC のビット数を指定します。

RedMask

直接カラー モードを持つデバイスの赤いカラー マスクです。 たとえば、ビット 0 から 4 が赤に使用されることを示すには、0x001F値を使用します。

GreenMask

直接カラー モードを持つデバイスの緑色のカラー マスクです。 たとえば、ビット 5 から 9 が緑色に使用されることを示すには、値 0x03E0を使用します。

BlueMask

直接カラー モードを持つデバイスの青色のカラー マスクです。 たとえば、ビット 10 から 14 を青に使用することを示すには、0x7C00値を使用します。

AttributeFlags

デバイスの特定の動作を示すフラグのセットです。 フラグとその意味を次の表に示します。

フラグ名の フラグ値の ビット番号 ビット値と意味
VIDEO_MODE_COLOR 0x0001 0 0 = Mono 互換
1 = 色
VIDEO_MODE_GRAPHICS 0x0002 1 0 = テキスト モード
1 = グラフィックス
VIDEO_MODE_PALETTE_DRIVEN 0x0004 2 0 = 色は直接
1 = 色は パレットにインデックスが付
VIDEO_MODE_MANAGED_PALETTE 0x0008 3 0 = パレットが固定されている (ミニポート ドライバーから照会する必要があります)
1 = パレットが設定可能
VIDEO_MODE_INTERLACED 0x0010 4 0 = 非インターレース モード
1 = インターレース モード
VIDEO_MODE_NO_OFF_SCREEN 0x0020 5 0 = オフスクリーン メモリが使用可能
1 = オフスクリーン メモリを使用して情報を格納できない
VIDEO_MODE_NO_64_BIT_ACCESS 0x0040 6 0 = フレーム バッファーへの 64 ビット メモリ書き込み が適切に処理される
1 = フレーム バッファーへの 64 ビット メモリ書き込みが処理されない

VideoMemoryBitmapWidth

ビデオ メモリ ビットマップの幅をピクセル単位で指定します。

VideoMemoryBitmapHeight

ビデオ メモリ ビットマップの高さをピクセル単位で指定します。

DriverSpecificAttributeFlags

デバイスの特定の動作を示すフラグのセットです。 これらのプライベート フラグはミニポート ドライバーで定義され、ミニポート ドライバーとディスプレイ ドライバーでのみ使用されます。

備考

ビデオ ミニポート ドライバーは、アダプターの 1 つのモードに関する情報を含む各構造体で、IOCTL_VIDEO_QUERY_AVAIL_MODES 要求に応答して、VIDEO_MODE_INFORMATION構造体の配列を返します。 ミニポート ドライバーは、IOCTL_VIDEO_QUERY_CURRENT_MODE 要求に応答してアダプターの現在のモードに関する情報を含む 1 つのVIDEO_MODE_INFORMATION構造体を返します。

VisScreenWidth、VideoMemoryBitmapWidth、および ScreenStrideVIDEO_MODE_INFORMATIONの 3 つのメンバーは、水平方向の画面幅に関連付けられています。 ピクセルあたり 1 つ以上のバイトを使用するディスプレイの場合、これらのメンバーは不等値を満たす
VisScreenWidth<= VideoMemoryBitmapWidth<= ScreenStride.
垂直方向の画面の高さに対する同様の関係で、VisScreenHeight と VideoMemoryBitmapHeight 不等式を満たす
VisScreenHeight<= VideoMemoryBitmapHeight.

必要条件

要件 価値
ヘッダー ntddvdeo.h (Ntddvdeo.h を含む)

関連項目

IOCTL_VIDEO_QUERY_AVAIL_MODES

IOCTL_VIDEO_QUERY_CURRENT_MODE

VIDEO_MEMORY_INFORMATION