다음을 통해 공유


PF 미니포트 드라이버에 대한 MiniportAddDevice 지침

이 항목에서는 PCI Express(PCIe) PF(물리적 함수)의 미니포트 드라이버에 대한 MiniportAddDevice 함수를 작성하기 위한 지침을 설명합니다. PF는 SR-IOV(단일 루트 I/O 가상화)를 지원하는 네트워크 어댑터의 구성 요소입니다.

참고 이러한 지침은 PF 미니포트 드라이버에만 적용합니다. 어댑터의 PCIe VF(가상 함수)의 미니포트 드라이버에 대한 초기화 지침은 VF 미니포트 드라이버 초기화를 참조하세요.

PnP(플러그 앤 플레이) 관리자는 NDIS AddDevice 함수를 호출하여 네트워크 어댑터에 대한 FDO(기능 디바이스 개체)를 만듭니다. PF 미니포트 드라이버가 NdisMRegisterMiniportDriver를 호출할 때 MiniportAddDevice 진입점을 등록한 경우 NDIS는 드라이버의 MiniportAddDevice 함수를 호출합니다.

MiniportAddDevice가 호출되면 PF 미니포트 드라이버는 SR-IOV 및 NIC(네트워크 인터페이스 카드) 스위치에 대한 추가 소프트웨어 리소스를 할당할 수 있습니다. 일반적으로 NDIS가 드라이버의 MiniportInitializeEx 함수를 호출하기 전에 할당해야 하는 리소스입니다.

드라이버는 MiniportAddDevice 호출의 컨텍스트 내에서 다음을 수행할 수 있습니다.

  • PF 미니포트 드라이버는 NdisReadConfiguration 을 호출하여 레지스트리에서 SR-IOV 및 NIC 스위치 구성 설정을 읽을 수 있습니다. 이러한 구성 설정은 표준화된 SR-IOV 키워드를 통해 정의됩니다. 이러한 키워드에 대한 자세한 내용은 SR-IOV에 대한 표준화된 INF 키워드를 참조하세요.

  • 이러한 구성 설정에 따라 PF 미니포트 드라이버는 SR-IOV 네트워크 어댑터에 대한 추가 소프트웨어 리소스를 할당합니다.

참고 하드웨어 리소스의 실제 할당 및 PCI 구성 공간에서 SR-IOV 사용은 MiniportInitializeEx 호출의 컨텍스트 내에서만 수행해야 합니다. MiniportAddDevice가 호출될 때 네트워크 어댑터의 MMIO(메모리 매핑 I/O) 공간이 초기화되지 않으므로 MiniportInitializeEx가 호출될 때까지 미니포트 드라이버는 어댑터에 읽거나 쓸 수 없습니다.