지나치게 많은 드라이버는 PCI Express(PCIe) VF(가상 함수)에 대한 리소스를 할당하기 위해 OID_NIC_SWITCH_ALLOCATE_VF OID(개체 식별자) 메서드 요청을 실행합니다. VF는 단일 루트 I/O 가상화(SR-IOV) 인터페이스를 지원하는 네트워크 어댑터에 노출됩니다.
오버리싱 드라이버는 네트워크 어댑터의 PCIe PF(물리적 함수)에 대한 미니포트 드라이버에 이 OID 메서드 요청을 실행합니다. 이 OID 메서드 요청은 단일 루트 I/O 가상화(SR-IOV) 인터페이스를 지원하는 PF 미니포트 드라이버에 필요합니다.
NDIS_OID_REQUEST 구조체의 InformationBuffer 멤버는 NDIS_NIC_SWITCH_VF_PARAMETERS 구조체에 대한 포인터를 포함합니다.
발언
PF 미니포트 드라이버는 드라이버가 OID_NIC_SWITCH_ALLOCATE_VF OID(개체 식별자) 메서드 요청을 처리할 때 VF에 대한 소프트웨어 리소스를 할당합니다. 하드웨어 리소스가 VF에 할당되었지만 PF 미니포트 드라이버가 OID_NIC_SWITCH_ALLOCATE_VF 성공적으로 완료할 때까지 비 운용성으로 간주됩니다.
VF 리소스를 할당하는 방법에 대한 자세한 내용은 가상 함수 대한 리소스 할당참조하세요.
참고 지나치게 많은 드라이버가 VF에 대한 리소스 할당을 요청한 후 해당 드라이버는 동일한 VF에 대한 리소스 해제를 요청할 수 있는 유일한 구성 요소입니다. 오버리싱 드라이버는 VF 리소스를 해제하기 위해 OID_NIC_SWITCH_FREE_VF OID 집합 요청을 실행해야 합니다. 오버리싱 드라이버를 중지하려면 먼저 드라이버의 OID_NIC_SWITCH_ALLOCATE_VF 요청에 의해 할당된 각 VF에 대한 리소스를 해제해야 합니다.
반환 상태 코드
PF 미니포트 드라이버는 OID_NIC_SWITCH_ALLOCATE_VF OID 메서드 요청에 대해 다음 상태 코드 중 하나를 반환합니다.
| 상태 코드 | 묘사 |
|---|---|
NDIS_STATUS_SUCCESS |
OID 요청이 성공적으로 완료되었습니다. |
NDIS_STATUS_NOT_SUPPORTED |
PF 미니포트 드라이버는 단일 루트 I/O 가상화(SR-IOV) 인터페이스를 지원하지 않거나 인터페이스를 사용할 수 없습니다. |
NDIS_STATUS_INVALID_PARAMETER |
NDIS_NIC_SWITCH_VF_PARAMETERS 구조체의 하나 이상의 멤버에 잘못된 값이 있습니다. |
NDIS_STATUS_INVALID_LENGTH |
정보 버퍼의 길이가 sizeof(NDIS_NIC_SWITCH_VF_PARAMETERS)보다 작습니다. PF 미니포트 드라이버는 DATA를 설정해야 합니다. METHOD_INFORMATION. NDIS_OID_REQUEST 구조체의 BytesNeeded 멤버를 필요한 최소 버퍼 크기로 설정합니다. |
NDIS_STATUS_FAILURE |
다른 이유로 인해 요청이 실패했습니다. |
요구 사항
버전 |
NDIS 6.30 이상에서 지원됩니다. |
머리글 |
Ntddndis.h(Ndis.h 포함) |