HalSetBusDataByOffset 함수(ntddk.h)
경고
HalGetBusDataByOffset 및 HalSetBusDataByOffset 은 이전 버전과의 호환성을 위해 제공되지만 디바이스 구성 공간에 액세스하는 데 권장되는 메서드를 사용할 수 없는 경우에만 사용해야 합니다.
이 함수는 게시된 표준 인터페이스를 사용하여 동적으로 구성 가능한 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 포함) |