다음을 통해 공유


HalSetBusDataByOffset 함수(ntddk.h)

경고

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

이 함수는 게시된 표준 인터페이스를 사용하여 동적으로 구성 가능한 I/O 버스의 디바이스에 대한 버스 구성 데이터를 설정합니다.

구문

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

매개 변수

[in] BusDataType

설정할 버스 데이터입니다. 이 값은 PCIConfiguration일 수 있습니다. 지원되는 형식의 상한은 항상 MaximumBusDataType입니다.

[in] BusNumber

동일한 BusDataType의 여러 버스가 있는 시스템의 0부터 시작하는 시스템 할당 버스 수입니다. 이 인수는 세그먼트 번호도 전달합니다. 세그먼트 번호를 지정하려면 (세그먼트 << 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

버퍼의 바이트 수입니다.

반환 값

반환 값은 구성 공간에 기록된 실제 길이입니다.

설명

비정상적인 상황이나 디바이스의 특성에 이러한 호출이 필요한 경우 드라이버는 이 함수 또는 HalSetBusData를 호출할 수 있습니다. 예를 들어 드라이버는 이러한 함수 중 하나를 호출하여 초기화 중에 디바이스가 대상 중단을 알리는 경우 PCI 상태 레지스터에서 비트를 지울 수 있습니다. 일반적으로 하드웨어 또는 시작 코드는 디바이스를 적절하게 구성합니다.

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

요구 사항

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

추가 정보

BUS_DATA_TYPE

HalGetBusData

HalGetBusDataByOffset

HalSetBusData

HalTranslateBusAddress

PCI_COMMON_CONFIG