NdisMReadConfigBlock 함수(ndis.h)

PCI Express(PCIe) VF(가상 함수)에 대한 미니포트 드라이버는 NdisMReadConfigBlock 함수를 호출하여 VF 구성 블록에서 데이터를 읽습니다. VF 구성 블록에 대한 읽기 작업은 네트워크 어댑터의 PCIe PF(물리적 함수)의 미니포트 드라이버에 의해 처리됩니다.

참고NdisMReadConfigBlock 은 VF 미니포트 드라이버에서만 호출해야 합니다.
 

구문

NDIS_STATUS NdisMReadConfigBlock(
  [in]  NDIS_HANDLE NdisMiniportHandle,
  [in]  ULONG       BlockId,
  [out] PVOID       Buffer,
  [in]  ULONG       Length
);

매개 변수

[in] NdisMiniportHandle

NDIS가 MiniportInitializeExMiniportAdapterHandle 매개 변수에 전달한 네트워크 어댑터 핸들입니다.

[in] BlockId

읽을 VF 구성 블록의 식별자를 지정하는 ULONG 값입니다. 이 식별자는 IHV(독립 하드웨어 공급업체)의 독점이며 PF 및 VF 미니포트 드라이버에서만 사용됩니다.

[out] Buffer

요청된 구성 데이터를 포함할 호출자가 할당한 버퍼에 대한 포인터입니다.

[in] Length

VF 구성 블록에서 읽을 바이트 수입니다.

반환 값

NdisMReadConfigBlock은 다음 상태 값 중 하나를 반환할 수 있습니다.

반환 코드 설명
NDIS_STATUS_SUCCESS
쿼리 작업이 성공적으로 완료되었습니다.
NDIS_STATUS_FAILURE
쿼리 작업이 실패했습니다.

설명

VF 미니포트 드라이버는 NdisMReadConfigBlock 을 호출하여 PF 미니포트 드라이버에서 VF 구성 데이터의 백채널 읽기 요청을 시작합니다. 이 요청에 대한 알림이 표시되면 PF 드라이버는 지정된 VF 구성 블록에서 데이터를 반환합니다.

VF 구성 블록은 PF와 VF 미니포트 드라이버 간의 백채널 통신에 사용됩니다. IHV는 디바이스에 대해 하나 이상의 VF 구성 블록을 정의할 수 있습니다. 각 VF 구성 블록에는 IHV 정의 형식, 길이 및 블록 ID가 있습니다.

참고 각 VF 구성 블록의 데이터는 PF 및 VF 미니포트 드라이버에서만 사용됩니다.
 
단일 루트 I/O 가상화(SR-IOV) 인터페이스 내의 백채널 통신에 대한 자세한 내용은 SR-IOV PF/VF 백채널 통신을 참조하세요.

SR-IOV 인터페이스에 대한 자세한 내용은 SR-IOV(단일 루트 I/O 가상화) 개요를 참조하세요.

Virtual Bus 드라이버에 연결

IHV(독립 하드웨어 공급업체)가 SR-IOV 드라이버 패키지의 일부로 VBD(가상 버스 드라이버)를 제공하는 경우 미니포트 드라이버는 NdisMReadConfigBlock을 호출해서는 안 됩니다. 대신 드라이버는 프라이빗 통신 채널을 통해 VBD와 인터페이스하고 VBD가 ReadVfConfigBlock을 호출하도록 요청해야 합니다. 이 함수는 기본 VPCI(가상 PCI) 버스 드라이버에서 지원하는 GUID_VPCI_INTERFACE_STANDARD 인터페이스에서 노출됩니다.

Hyper-V 자식 파티션의 게스트 운영 체제에서 실행되는 VBD는 VPCI 버스의 물리적 디바이스 개체(PDO)에 IRP_MN_QUERY_INTERFACE 요청을 실행하여 GUID_VPCI_INTERFACE_STANDARD 인터페이스를 쿼리할 수 있습니다. 이 요청은 IRQL = PASSIVE_LEVEL 만들어야 합니다. 이 요청에서 드라이버는 InterfaceType 매개 변수를 GUID_VPCI_INTERFACE_STANDARD 설정해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.30 이상에서 지원됩니다.
대상 플랫폼 유니버설
헤더 ndis.h(Ndis.h 포함)
라이브러리 Ndis.lib
IRQL <= APC_LEVEL

추가 정보

GUID_VPCI_INTERFACE_STANDARD

ReadVfConfigBlock