VIDEO_HW_INITIALIZATION_DATA 구조체(video.h)

VIDEO_HW_INITIALIZATION_DATA 구조는 미니포트 드라이버에 대한 진입점 및 스토리지 요구 사항을 지정합니다. 이 구조체는 스택에 만들어지고 미니포트 드라이버의 DriverEntry 함수에 의해 초기화됩니다.

구문

typedef struct _VIDEO_HW_INITIALIZATION_DATA {
  ULONG                          HwInitDataSize;
  INTERFACE_TYPE                 AdapterInterfaceType;
  PVIDEO_HW_FIND_ADAPTER         HwFindAdapter;
  PVIDEO_HW_INITIALIZE           HwInitialize;
  PVIDEO_HW_INTERRUPT            HwInterrupt;
  PVIDEO_HW_START_IO             HwStartIO;
  ULONG                          HwDeviceExtensionSize;
  ULONG                          StartingDeviceNumber;
  PVIDEO_HW_RESET_HW             HwResetHw;
  PVIDEO_HW_TIMER                HwTimer;
  PVIDEO_HW_START_DMA            HwStartDma;
  PVIDEO_HW_POWER_SET            HwSetPowerState;
  PVIDEO_HW_POWER_GET            HwGetPowerState;
  PVIDEO_HW_GET_CHILD_DESCRIPTOR HwGetVideoChildDescriptor;
  PVIDEO_HW_QUERY_INTERFACE      HwQueryInterface;
  ULONG                          HwChildDeviceExtensionSize;
  PVIDEO_ACCESS_RANGE            HwLegacyResourceList;
  ULONG                          HwLegacyResourceCount;
  PVIDEO_HW_LEGACYRESOURCES      HwGetLegacyResources;
  BOOLEAN                        AllowEarlyEnumeration;
  ULONG                          Reserved;
} VIDEO_HW_INITIALIZATION_DATA, *PVIDEO_HW_INITIALIZATION_DATA;

멤버

HwInitDataSize

이 구조체의 크기(바이트)입니다. 실제로 사용 중인 VIDEO_HW_INITIALIZATION_DATA 버전을 나타냅니다.

AdapterInterfaceType

현재 비디오 포트에서 무시되며 초기화되지 않은 상태로 유지되어야 합니다.

HwFindAdapter

모든 미니포트 드라이버에 필요한 미니포트 드라이버의 HwVidFindAdapter 함수에 대한 포인터입니다.

HwInitialize

모든 미니포트 드라이버에 필요한 미니포트 드라이버의 HwVidInitialize 함수에 대한 포인터입니다.

HwInterrupt

미니포트 드라이버의 어댑터가 인터럽트를 생성하는 경우에만 필요한 미니포트 드라이버의 HwVidInterrupt 함수에 대한 포인터입니다. 그렇지 않으면 이 포인터는 NULL이어야 합니다.

HwStartIO

모든 미니포트 드라이버에 필요한 미니포트 드라이버의 HwVidStartIO 함수에 대한 포인터입니다.

HwDeviceExtensionSize

미니포트 드라이버가 전용 어댑터 관련 디바이스 확장에 필요한 스토리지의 크기(바이트)를 지정합니다. 미니포트 드라이버는 이 스토리지를 사용하여 어댑터 레지스터에 대한 매핑된 논리 주소 범위 및 드라이버가 I/O 작업에 대해 유지 관리하는 컨텍스트 정보와 같은 드라이버 결정 어댑터별 정보를 보유합니다.

디바이스 확장에 대한 포인터는 DriverEntry, HwVidSynchronizeExecutionCallbackSvgaHwIoPortXxx 함수를 제외한 미니포트 드라이버의 표준 함수에 대한 모든 호출에서 전달됩니다. 비디오 포트 드라이버는 디바이스 확장에 대한 메모리를 할당하고 미니포트 드라이버의 HwVidFindAdapter 함수에 전달되기 전에 0으로 초기화합니다.

StartingDeviceNumber

0으로 설정해야 합니다.

HwResetHw

미니포트 드라이버의 HwVidResetHw 함수에 대한 포인터로, 컴퓨터의 소프트 재부팅 시 완전히 다시 설정되지 않는 어댑터의 미니포트 드라이버에 필요합니다. INT10, MODE3 형식 명령을 수신할 때 VGA 표준 문자 모드로 완전히 다시 설정된 SVGA 어댑터의 드라이버는 일반적으로 이를 NULL로 설정합니다.

HwTimer

미니포트 드라이버의 HwVidTimer 함수(선택 사항)에 대한 포인터입니다. 이 포인터는 NULL일 수 있습니다.

HwStartDma

시스템에서 사용하도록 예약되었습니다.

HwSetPowerState

모든 미니포트 드라이버에 필요한 미니포트 드라이버의 HwVidSetPowerState 함수에 대한 포인터입니다.

HwGetPowerState

모든 미니포트 드라이버에 필요한 미니포트 드라이버의 HwVidGetPowerState 함수에 대한 포인터입니다.

HwGetVideoChildDescriptor

모든 미니포트 드라이버에 필요한 미니포트 드라이버의 HwVidGetVideoChildDescriptor 함수에 대한 포인터입니다.

HwQueryInterface

미니포트 드라이버의 HwVidQueryInterface 함수에 대한 포인터입니다. MPEG 디코더에 대한 I2C (또는 I²C) 지원과 같은 디바이스 간 통신을 위한 외부 프로그래밍 인터페이스를 지원하는 미니포트 드라이버에서 선택적으로 구현할 수 있습니다. 그렇지 않으면 이 멤버를 NULL로 설정해야 합니다.

HwChildDeviceExtensionSize

디스플레이 출력 디바이스와 연결된 디바이스 확장의 크기(바이트)입니다. 미니포트 드라이버는 미니포트 드라이버가 어댑터 보드 구성과 별도로 모니터 구성 데이터를 관리해야 하는 경우에만 이 멤버를 채워야 합니다.

HwLegacyResourceList

VIDEO_ACCESS_RANGE 구조체의 배열에 대한 포인터입니다. 각 구조체는 PCI 구성 공간에 나열되지 않은 비디오 어댑터의 디바이스 I/O 포트 또는 메모리 범위를 설명합니다.

HwLegacyResourceCount

HwLegacyResourceList가 가리키는 배열의 요소 수입니다.

HwGetLegacyResources

미니포트 드라이버의 HwVidLegacyResources 함수에 대한 포인터로, 드라이버가 디바이스 및 공급업체 ID를 기반으로 레거시 리소스를 지정할 수 있습니다.

AllowEarlyEnumeration

미니포트 드라이버가 어댑터를 시작하기 전에 자식 디바이스를 열거할 수 있습니다. 즉, 비디오 포트 드라이버는 이 멤버가 TRUE로 설정된 경우 HwVidFindAdapter 전에 HwVidGetVideoChildDescriptor를 호출할 수 있습니다.

Reserved

시스템에서 사용하도록 예약되었습니다.

설명

미니포트 드라이버의 DriverEntry 함수는 모든 멤버에서 관련 값을 설정하기 전에 이 구조를 0으로 초기화해야 합니다.

HwGetLegacyResources가 HwVidLegacyResources 구현에 대한 포인터를 사용하여 초기화될 때 비디오 포트 드라이버는 HwLegacyResourceCount 및 HwLegacyResourceList 멤버를 무시합니다.

요구 사항

요구 사항
헤더 video.h(Video.h 포함)

추가 정보

EMULATOR_ACCESS_ENTRY

HwVidLegacyResources

VIDEO_ACCESS_RANGE

VIDEO_PORT_CONFIG_INFO

VideoPortZeroMemory