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 、およびScreenStride VIDEO_MODE_INFORMATIONの 3 つのメンバーは、水平方向の画面幅に関連付けられています。 ピクセルあたり 1 つ以上のバイトを使用するディスプレイの場合、これらのメンバーは不等値を満たす - VisScreenWidth<= VideoMemoryBitmapWidth<= ScreenStride.
- 垂直方向の画面の高さに対する同様の関係で、VisScreenHeight と
VideoMemoryBitmapHeight 不等式を満たす - VisScreenHeight<= VideoMemoryBitmapHeight.
必要条件
要件 | 価値 |
---|---|
ヘッダー | ntddvdeo.h (Ntddvdeo.h を含む) |