PF 미니포트 드라이버 중지
이 항목에서는 SR-IOV(단일 루트 I/O 가상화)를 지원하는 어댑터에서 PCI Express(PCIe) PF(물리적 함수)에 대한 미니포트 드라이버를 중지하는 단계를 설명합니다. 이러한 단계는 다음 그림에 나와 있습니다.
이 항목에는 다음과 같은 정보가 포함되어 있습니다.
MiniportHaltEx가 호출되기 전에 NDIS 및 오버리싱 드라이버에서 수행하는 작업
NDIS가 PF 미니포트 드라이버의 MiniportHaltEx 함수를 호출하기 전에 먼저 다음을 수행합니다.
NDIS는 이전에 기본 PF 미니포트 드라이버에 바인딩된 모든 프로토콜 드라이버를 바인딩 해제합니다. NDIS는 프로토콜 드라이버의 ProtocolUnbindAdapterEx 함수를 호출하여 이 작업을 수행합니다.
NDIS는 이전에 기본 PF 미니포트 드라이버에 바인딩된 모든 필터 드라이버를 분리합니다. NDIS는 필터 드라이버의 FilterDetach 함수를 호출하여 이 작업을 수행합니다.
오버리싱 프로토콜 또는 필터 드라이버가 PF 미니포트 드라이버에서 바인딩 해제되거나 분리되는 경우 다음 단계를 수행해야 합니다.
드라이버는 이전에 설정한 수신 필터를 지우기 위해 OID_RECEIVE_FILTER_CLEAR_FILTER OID(개체 식별자) 집합 요청을 실행해야 합니다. 드라이버는 네트워크 어댑터의 기본 VPort(가상 포트) 또는 NIC 스위치의 기본이 아닌 VPort에서 이러한 필터를 설정합니다. 드라이버는 PF 미니포트 드라이버에 OID_RECEIVE_FILTER_SET_FILTER OID 메서드 요청을 실행하여 이러한 필터를 설정합니다.
드라이버는 이전에 NIC 스위치에서 만든 기본이 아닌 VPort를 삭제하려면 OID_NIC_SWITCH_DELETE_VPORT OID 집합 요청을 실행해야 합니다. 드라이버는 PF 미니포트 드라이버에 OID_NIC_SWITCH_CREATE_VPORT OID 메서드 요청을 실행하여 이러한 VPort를 설정합니다.
드라이버는 이전에 NIC 스위치에 할당된 모든 PCIe VF(가상 함수)에 대한 리소스를 해제하려면 OID_NIC_SWITCH_FREE_VF OID 집합 요청을 실행해야 합니다. 드라이버는 PF 미니포트 드라이버에 OID_NIC_SWITCH_ALLOCATE_VF OID 메서드 요청을 실행하여 VF 에 대한 리소스를 할당합니다.
자세한 내용은 가상 함수에 대한 리소스 해제를 참조하세요.
참고 VF에 대한 리소스가 해제되면 NDIS는 VF 미니포트 드라이버의 MiniportHaltEx 함수를 호출합니다. 자세한 내용은 VF 미니포트 드라이버 중지를 참조하세요.
모든 수신 필터, 기본이 아닌 VPort 및 VF가 NIC 스위치에서 삭제된 후 NDIS는 다음 단계를 수행합니다.
NDIS는 PF 미니포트 드라이버에 OID_NIC_SWITCH_DELETE_SWITCH OID 집합 요청을 실행하여 모든 NIC 스위치를 삭제합니다. NIC 스위치를 삭제하는 방법에 대한 자세한 내용은 NIC 스위치 삭제를 참조하세요.
참고 Windows Server 2012부터 SR-IOV 인터페이스는 네트워크 어댑터의 기본 NIC 스위치만 지원합니다.
모든 NIC 스위치가 성공적으로 삭제된 후 NDIS는 PF 미니포트 드라이버의 MiniportHaltEx 함수를 호출합니다.
MiniportHaltEx가 호출될 때 PF 미니포트 드라이버에서 수행하는 작업
NDIS가 MiniportHaltEx를 호출하는 경우 PF 미니포트 드라이버는 다음 단계를 수행해야 합니다.
PF 미니포트 드라이버가 NIC 스위치의 정적 생성을 지원하고 모든 NIC 스위치가 삭제된 경우 드라이버는 EnableVirtualization 매개 변수가 FALSE로 설정되고 NumVFs 매개 변수가 0으로 설정된 NdisMEnableVirtualization을 호출하여 어댑터에서 가상화를 사용하지 않도록 설정해야 합니다.
NdisMEnableVirtualization 은 네트워크 어댑터 PF의 PCIe 구성 공간에서 SR-IOV 확장 기능 구조에서 NumVFs 멤버 및 VF 사용 비트를 지웁니다.
참고 PF 미니포트 드라이버가 NIC 스위치의 동적 생성 및 구성을 지원하는 경우 드라이버가 OID_NIC_SWITCH_DELETE_SWITCH OID 집합 요청을 처리할 때 NdisMEnableVirtualization을 호출해야 합니다. 이 OID 요청은 MiniportHaltEx 가 호출되기 전에 발급됩니다.
PF 미니포트 드라이버는 미니포트 중지 작업과 관련된 다른 작업을 수행합니다. 자세한 내용은 미니포트 어댑터 중지를 참조하세요.