HalGetBusDataByOffset 함수(ntddk.h)

경고

HalGetBusDataByOffsetHalSetBusDataByOffset 은 이전 버전과의 호환성을 위해 제공되지만 디바이스 구성 공간 액세스 에 권장되는 메서드를 사용할 수 없는 경우에만 사용해야 합니다.

이 함수는 오프셋부터 I/O 버스의 슬롯 또는 주소에 대한 정보를 검색합니다.

구문

NTHALAPI ULONG HalGetBusDataByOffset(
  [in] BUS_DATA_TYPE BusDataType,
  [in] ULONG         BusNumber,
  [in] ULONG         SlotNumber,
  [in] PVOID         Buffer,
  [in] ULONG         Offset,
  [in] ULONG         Length
);

매개 변수

[in] BusDataType

검색할 버스 데이터입니다. 지원되는 버스 유형의 상한은 항상 MaximumBusDataType입니다. 유일하게 지원되는 BusDataType은 PCIConfiguration 다른 모든 형식은 더 이상 사용되지 않습니다.

[in] BusNumber

동일한 BusDataType의 여러 버스가 있는 시스템의 0부터 시작하는 시스템 할당 버스 수입니다. 이 인수는 세그먼트 번호도 전달합니다. 세그먼트 번호를 지정하려면 (Segment << 8) | 를 사용합니다. BusNumber

[in] SlotNumber

논리적 슬롯 번호 또는 디바이스의 위치입니다. PCIConfiguration을 BusDataType으로 지정하는 경우 이 값은 결합된 슬롯 및 함수 번호인 PCI_SLOT_NUMBER 값입니다.

[in] Buffer

BusDataType과 관련된 구성 정보에 대한 호출자 제공 버퍼에 대한 포인터입니다.

PCIConfiguration을 지정하는 경우 버퍼에는 지정된 SlotNumber 및 함수 번호에 대한 PCI 구성 공간 정보가 포함됩니다. 지정한 오프셋 및 길이는 제공할 정보의 양을 결정합니다. PCI 구성 공간의 특정 멤버에는 읽기 전용 값이 있습니다. 호출자는 시스템에서 제공하는 읽기 전용 멤버 값을 보존해야 합니다. Type-1 PCI 디바이스의 경우 HalSetBusDataByOffset은 공통 헤더(구성 공간의 처음 256바이트) 내의 레지스터에 대한 쓰기를 방지합니다.

[in] Offset

요청된 정보를 반환해야 하는 PCI_COMMON_CONFIG 구조체의 바이트 오프셋입니다. 호출자는 시스템 정의 상수 PCI_COMMON_HDR_LENGTH 사용하여 PCI_COMMON_CONFIG 디바이스별 영역을 지정할 수 있습니다.

[in] Length

버퍼의 최대 바이트 수입니다.

반환 값

반환 값은 구성 공간에서 읽은 실제 길이입니다.

설명

디바이스 드라이버는 초기화 중에 이 함수를 호출하여 특정 I/O 버스에서 해당 디바이스를 찾습니다. HalTranslateBusAddress와 같은 다른 구성 및 초기화 함수에 대한 이후 호출에서 반환된 버스 유형별 구성 데이터를 사용할 수 있습니다.

PCI 구성 공간의 디바이스별 영역에 액세스할 때 HalGetBusDataByOffset은 이 함수가 입력 오프셋 및 길이로 지정된 범위 밖에서 데이터를 읽거나 쓰지 않도록 보장합니다. 입력 길이가 정확히 1 바이트 또는 2 바이트 단어인 경우에도 이 함수는 요청된 범위 밖의 데이터에 액세스하지 않습니다.

요구 사항

요구 사항
헤더 ntddk.h(Ntddk.h 포함)

추가 정보

BUS_DATA_TYPE

HalGetBusData

HalSetBusDataByOffset

HalSetBusData

HalTranslateBusAddress

PCI_COMMON_CONFIG