VIDEO_MODE_INFORMATION 구조체(ntddvdeo.h)

VIDEO_MODE_INFORMATION 구조에는 비디오 어댑터의 한 모드에 대한 모든 정보가 포함됩니다.

구문

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

한 가로 스캔 줄에 표시되는 픽셀 수를 지정합니다.

VisScreenHeight

화면에 표시되는 줄(또는 스캔 선)의 수를 지정합니다.

ScreenStride

한 검사 줄의 시작과 다음 줄 사이의 바이트 수를 지정합니다.

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

디바이스의 특정 동작을 나타내는 플래그 집합입니다. 이러한 프라이빗 플래그는 미니포트 드라이버에 정의되며 미니포트 및 디스플레이 드라이버에서만 사용됩니다.

설명

비디오 미니포트 드라이버는 어댑터의 한 모드에 대한 정보를 포함하는 각 구조체와 함께 IOCTL_VIDEO_QUERY_AVAIL_MODES 요청에 대한 응답으로 VIDEO_MODE_INFORMATION 구조체의 배열을 반환합니다. 미니포트 드라이버는 IOCTL_VIDEO_QUERY_CURRENT_MODE 요청에 대한 응답으로 어댑터의 현재 모드에 대한 정보를 포함하는 하나의 VIDEO_MODE_INFORMATION 구조를 반환합니다.

VIDEO_MODE_INFORMATION VisScreenWidth, VideoMemoryBitmapWidthScreenStride의 세 멤버는 가로 화면 너비와 연결됩니다. 픽셀당 하나 이상의 바이트를 사용하는 디스플레이의 경우 이러한 멤버는 같지 않음을 충족합니다.
VisScreenWidth<= VideoMemoryBitmapWidth<= ScreenStride.
세로 화면 높이와 비슷한 관계에서 VisScreenHeightVideoMemoryBitmapHeight 는 같지 않음을 충족합니다.
VisScreenHeight<= VideoMemoryBitmapHeight.

요구 사항

요구 사항
헤더 ntddvdeo.h(Ntddvdeo.h 포함)

추가 정보

IOCTL_VIDEO_QUERY_AVAIL_MODES

IOCTL_VIDEO_QUERY_CURRENT_MODE

VIDEO_MEMORY_INFORMATION