다음을 통해 공유


GET_SET_DEVICE_DATA 콜백 함수(wdm.h)

GetBusData 루틴은 디바이스의 구성 공간에서 데이터를 읽습니다.

구문

GET_SET_DEVICE_DATA GetSetDeviceData;

ULONG GetSetDeviceData(
  [in] PVOID Context,
  [in] ULONG DataType,
  [in] PVOID Buffer,
  [in] ULONG Offset,
  [in] ULONG Length
)
{...}

매개 변수

[in] Context

인터페이스별 컨텍스트 정보에 대한 포인터입니다. 호출자는 인터페이스에 대한 BUS_INTERFACE_STANDARD 구조체의 Context 멤버로 전달되는 값을 전달합니다.

[in] DataType

읽을 버스 데이터의 형식입니다. 자세한 내용은 IRP_MN_READ_CONFIG WhichSpace 매개 변수에 대한 설명을 참조 하세요.

[in] Buffer

디바이스의 구성 공간에서 읽을 구성 정보를 포함하는 버퍼에 대한 포인터입니다.

[in] Offset

이 읽기 작업이 시작되는 버스별 디바이스 데이터에 대한 오프셋입니다. 예를 들어 DataType 매개 변수가 PCI_WHICHSPACE_CONFIG 경우 Offset 매개 변수 값은 PCI 구성 공간에 대한 오프셋입니다.

[in] Length

읽을 데이터의 길이(바이트)입니다.

반환 값

GetBusData 루틴은 성공적인 읽기 작업 후에 읽은 구성 데이터의 길이(바이트)를 반환합니다. 읽기 작업이 실패하면 값이 0으로 반환됩니다.

설명

DataType 매개 변수의 값에 따라 GetBusData 루틴은 다음 표에 정의된 인터럽트 요청 수준(IRQL)에서만 호출할 수 있습니다.

DataType Irql
PCI_WHICHSPACE_CONFIG <= DIRQL
PCI_WHICHSPACE_ROM <= APC_LEVEL
PCCARD_COMMON_MEMORY

PCCARD_COMMON_MEMORY_INDIRECT

<= DISPATCH_LEVEL
PCCARD_ATTRIBUTE_MEMORY

PCCARD_ATTRIBUTE_MEMORY_INDIRECT

<= DISPATCH_LEVEL
PCCARD_PCI_CONFIGURATION_SPACE <= DIRQL
 

다음 설명은 단일 루트 I/O 가상화(SR-IOV) 인터페이스를 지원하는 디바이스의 PCI Express(PCIe) VF(가상 함수) 드라이버에 적용됩니다.

  • PCIe VF용 드라이버는 IRQL <= APC_LEVEL GetBusData 루틴을 호출해야 합니다.
  • IRQL = DISPATCH_LEVEL VF에 대한 PCI 구성 데이터를 읽으려면 드라이버가 IRP_MN_READ_CONFIG I/O 요청을 실행해야 합니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 wdm.h(Ntddk.h 포함)
IRQL 설명 섹션을 참조하십시오.

추가 정보

BUS_INTERFACE_STANDARD

IRP_MN_READ_CONFIG