VideoPortGetAccessRanges 함수(video.h)

VideoPortGetAccessRanges 함수는 버스 상대 구성 정보를 검색하고 가능하면 호출자에 대한 레지스트리에서 이러한 하드웨어 리소스를 클레임합니다.

구문

VIDEOPORT_DEPRECATED VIDEOPORT_API VP_STATUS VideoPortGetAccessRanges(
        PVOID                   HwDeviceExtension,
        ULONG                   NumRequestedResources,
        PIO_RESOURCE_DESCRIPTOR RequestedResources,
        ULONG                   NumAccessRanges,
  [out] PVIDEO_ACCESS_RANGE     AccessRanges,
        PVOID                   VendorId,
        PVOID                   DeviceId,
        PULONG                  Slot
);

매개 변수

HwDeviceExtension

미니포트 드라이버의 디바이스 확장에 대한 포인터입니다.

NumRequestedResources

RequestedResources 배열의 요소 수를 지정합니다.

RequestedResources

NumAccessRanges

AccessRanges 배열의 요소 수를 지정합니다.

[out] AccessRanges

VideoPortGetAccessRanges가 어댑터의 버스 상대 디바이스 메모리 범위로 채워진 VIDEO_ACCESS_RANGE 요소 배열을 반환하는 미니포트 드라이버의 정적 구조 또는 스택의 영역에 대한 포인터입니다.

VendorId

NULL로 설정해야 합니다.

DeviceId

NULL로 설정해야 합니다.

Slot

비디오 포트 드라이버가 디바이스의 슬롯 번호를 저장하거나 NULL인 메모리 위치에 대한 포인터입니다.

플러그 앤 플레이 디바이스의 경우 유효한 포인터인 경우 비디오 포트 드라이버는 포인터로 지정된 메모리 위치에 슬롯 번호를 저장합니다. NULL 값이 호출에 전달되면 비디오 포트 드라이버는 위치에 값을 저장하지 않습니다.

반환 값

VideoPortGetAccessRangesAccessRanges 정보를 성공적으로 입력하거나 RequestedResources에서 구성 정보를 반환하는 경우 NO_ERROR 반환합니다.

설명

모든 비디오 미니포트 드라이버는 VideoPortGetAccessRanges에서 반환된 액세스 범위를 사용하거나 드라이버(및 시스템) 초기화 프로세스 중에 비디오 어댑터에 액세스하기 전에 VideoPortVerifyAccessRanges 를 호출해야 합니다.

VideoPortGetAccessRanges 는 미니포트 드라이버의 HwVidFindAdapter 함수에서만 호출할 수 있습니다.

대부분의 미니포트 드라이버의 경우 VideoPortGetAccessRanges 는 버스 상대 액세스 범위와 특정 비디오 어댑터에서 사용하는 인터럽트 및/또는 DMA 채널/포트를 검색, 확인 및 클레임할 수 있으며 VideoPortVerifyAccessRanges 는 미니포트 드라이버 지정 리소스만 확인하고 클레임할 수 있습니다. 즉, 반환되는 모든 구성 정보에 대해 VideoPortGetAccessRanges 는 호출자에 대한 레지스트리의 해당 하드웨어 리소스를 클레임합니다. 미니포트 드라이버가 반환된 값을 수정하려고 시도하지 않는 한 미니포트 드라이버는 반환된 버스 상대 구성 정보를 사용하여 VideoPortVerifyAccessRanges 를 호출할 필요가 없습니다.

특정 어댑터에 대한 VideoPortGetAccessRanges 또는 VideoPortVerifyAccessRanges 에 대한 각 호출은 레지스트리의 하드웨어 리소스에 대한 미니포트 드라이버의 이전 클레임을 덮어씁니다.

VideoPortGetAccessRanges를 성공적으로 호출한 후 미니포트 드라이버는 해당 VideoPortRead/WriteXxx 함수를 호출하여 어댑터와 통신하기 전에 반환된 버스 상대 범위를 VideoPortGetDeviceBase 를 사용하여 논리 범위에 매핑해야 합니다.

일반적으로 PCI 디바이스의 미니포트 드라이버에는 VideoPortGetBusData 호출에서 반환된 비특이적 PCI_COMMON_CONFIG 정보를 조작하는 것이 아니라 VideoPortGetAccessRanges라는 HwVidFindAdapter 함수가 있어야 합니다. 이 미니포트 드라이버는 일반적으로 NULLRequestedResources 포인터를 사용하여 VideoPortGetAccessRanges를 호출할 수 있습니다. 그런 다음 비디오 포트 드라이버는 PCI 버스의 구성 공간을 사용하여 비디오 어댑터에 대한 리소스를 결정합니다. 미니포트 드라이버는 원래 호출이 어댑터에 대한 유효한 구성 데이터를 반환하지 못하는 경우 드라이버 제공 RequestedResources 사양 집합을 사용하여 VideoPortGetAccessRanges를 호출할 수 있습니다.

다른 유형의 I/O 버스에 있는 어댑터의 미니포트 드라이버는 VideoPortGetAccessRanges를 호출할 수도 있습니다. 이러한 드라이버는 드라이버에서 제공하는 I/O 리소스 설명자 배열에 대한 RequestedResources 포인터를 사용하여 VideoPortGetAccessRanges를 호출해야 합니다.

HwVidFindAdapter 함수가 어댑터에 대한 버스 상대 액세스 범위 및 기타 하드웨어 리소스를 클레임하지만 어댑터를 지원하지 않는다고 판단하는 경우 미니포트 드라이버는 NumAccessRanges 매개 변수가 0으로 설정된 VideoPortGetAccessRanges 또는 VideoPortVerifyAccessRanges를 호출하여 레지스트리의 하드웨어 리소스에 대한 클레임을 포기해야 합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 운영 체제의 Windows 2000 이상 버전에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
헤더 video.h(Video.h 포함)
라이브러리 Videoprt.lib
DLL Videoprt.sys
IRQL PASSIVE_LEVEL

참고 항목

HwVidFindAdapter

IoAssignResources

PCI_COMMON_CONFIG

PCI_SLOT_NUMBER

VIDEO_PORT_CONFIG_INFO

VideoPortGetBusData

VideoPortGetDeviceBase

VideoPortSetBusData

VideoPortVerifyAccessRanges