OID_NIC_SWITCH_FREE_VF
오버리싱 드라이버는 네트워크 어댑터의 PCI Express(PCIe) VF(가상 함수)에 대한 리소스를 해제하기 위해 OID_NIC_SWITCH_FREE_VF OID(개체 식별자) 집합 요청을 실행합니다.
오버리싱 드라이버는 네트워크 어댑터의 PCIe PF(물리적 함수)에 대한 미니포트 드라이버에 이 OID 집합 요청을 실행합니다. 이 OID 집합 요청은 단일 루트 I/O 가상화(SR-IOV) 인터페이스를 지원하는 PF 미니포트 드라이버에 필요합니다.
NDIS_OID_REQUEST 구조체의 InformationBuffer 멤버는 NDIS_NIC_SWITCH_FREE_VF_PARAMETERS 구조체에 대한 포인터를 포함합니다.
오버리싱 드라이버는 이 구조체의 VFId 멤버를 통해 해제할 VF의 식별자를 지정합니다. 드라이버는 OID_NIC_SWITCH_ALLOCATE_VF 이전 OID 메서드 요청에서 이 식별자를 얻었습니다.
설명
오버리싱 드라이버는 VF에 대한 리소스를 해제하기 위해 OID_NIC_SWITCH_FREE_VF OID 집합 요청을 발급합니다. 이러한 리소스는 이전에 OID_NIC_SWITCH_ALLOCATE_VF OID 메서드 요청을 통해 할당되었습니다.
VF 리소스를 해제하는 방법에 대한 자세한 내용은 가상 함수에 대한 리소스 해제를 참조하세요.
참고 지나치게 많은 드라이버가 VF에 대한 리소스 할당을 요청하면 해당 드라이버는 동일한 VF에 대한 리소스 해제를 요청할 수 있는 유일한 구성 요소입니다. 오버리싱 드라이버는 VF 리소스를 해제하려면 OID_NIC_SWITCH_FREE_VF OID 집합 요청을 실행해야 합니다. 오버리싱 드라이버를 중지하려면 먼저 드라이버의 OID_NIC_SWITCH_ALLOCATE_VF 요청에 의해 할당된 각 VF에 대한 리소스를 해제해야 합니다.
상태 코드 반환
미니포트 드라이버의 MiniportOidRequest 함수는 이 요청에 대해 다음 값 중 하나를 반환합니다.
용어 | Description |
---|---|
NDIS_STATUS_SUCCESS |
미니포트 드라이버가 요청을 성공적으로 완료했습니다. |
NDIS_STATUS_PENDING |
미니포트 드라이버는 요청을 비동기적으로 완료합니다. 미니포트 드라이버가 모든 처리를 완료한 후에는 NdisMOidRequestComplete 함수를 호출하고 Status 매개 변수에 대한 NDIS_STATUS_SUCCESS 전달하여 요청을 성공시켜야 합니다. |
NDIS_STATUS_NOT_ACCEPTED |
미니포트 드라이버가 다시 설정되고 있습니다. |
NDIS_STATUS_REQUEST_ABORTED |
미니포트 드라이버가 요청 처리를 중지했습니다. 예를 들어 NDIS는 MiniportResetEx 함수를 호출했습니다. |
NDIS는 이 요청에 대해 다음 상태 코드 중 하나를 반환합니다.
용어 | Description |
---|---|
NDIS_STATUS_SUCCESS |
OID 요청이 성공적으로 완료되었습니다. |
NDIS_STATUS_NOT_SUPPORTED |
PF 미니포트 드라이버는 SR-IOV 인터페이스를 지원하지 않거나 인터페이스를 사용할 수 없습니다. |
NDIS_STATUS_FILE_NOT_FOUND |
NDIS_NIC_SWITCH_FREE_VF_PARAMETERS 구조체의 멤버 중 하나 이상에 잘못된 값이 있습니다. 예를 들어 VFId 멤버는 할당되지 않았거나 삭제되지 않은 VPort가 있는 VF를 지정할 수 있습니다. |
NDIS_STATUS_INVALID_LENGTH |
정보 버퍼가 너무 작습니다. NDIS는 데이터를 설정합니다 . SET_INFORMATION. 필요한 최소 버퍼 크기에 대한 NDIS_OID_REQUEST 구조체의 BytesNeeded 멤버입니다. |
요구 사항
Version |
NDIS 6.30 이상에서 지원됩니다. |
헤더 |
Ntddndis.h(Ndis.h 포함) |