OID_NIC_SWITCH_DELETE_SWITCH
NDIS는 네트워크 어댑터에서 NIC 스위치를 삭제하기 위한 OID_NIC_SWITCH_DELETE_SWITCH OID(개체 식별자) 집합 요청을 발급합니다.
NDIS는 네트워크 어댑터의 PCI Express(PCIe) PF(물리적 함수)의 미니포트 드라이버에 이 OID 집합 요청을 발급합니다. 이 OID 집합 요청은 단일 루트 I/O 가상화(SR-IOV) 인터페이스를 지원하는 PF 미니포트 드라이버에 필요합니다.
참고 프로토콜 또는 필터 드라이버와 같은 지나치게 많은 드라이버는 PF 미니포트 드라이버에 이 OID 메서드 요청을 실행할 수 없습니다.
NDIS_OID_REQUEST 구조체의 InformationBuffer 멤버에는 NDIS_NIC_SWITCH_DELETE_SWITCH_PARAMETERS 구조체에 대한 포인터가 포함되어 있습니다.
설명
OID_NIC_SWITCH_DELETE_SWITCH OID 집합 요청은 OID_NIC_SWITCH_CREATE_SWITCH OID 메서드 요청을 통해 이전에 만든 NIC 스위치를 삭제합니다.
OID_NIC_SWITCH_DELETE_SWITCH OID 메서드 요청을 받으면 PF 미니포트 드라이버는 다음을 수행해야 합니다.
PF 미니포트 드라이버가 NIC 스위치의 정적 생성 및 구성을 지원하는 경우 지정된 NIC 스위치와 연결된 소프트웨어 리소스를 해제해야 합니다. 그러나 MiniportHaltEx 가 호출된 경우에만 드라이버는 NIC 스위치에 대한 하드웨어 리소스를 해제할 수 있습니다.
정적 NIC 스위치 만들기에 대한 자세한 내용은 NIC 스위치의 정적 만들기를 참조하세요.
PF 미니포트 드라이버가 NIC 스위치의 동적 생성 및 구성을 지원하는 경우 지정된 NIC 스위치와 연결된 하드웨어 및 소프트웨어 리소스를 해제해야 합니다.
동적 NIC 스위치 만들기에 대한 자세한 내용은 NIC 스위치의 동적 만들기를 참조하세요.
PF 미니포트 드라이버가 동적 만들기를 지원하고 모든 NIC 스위치가 삭제된 경우 드라이버는 NdisMEnableVirtualization을 호출하여 어댑터에서 가상화를 사용하지 않도록 설정해야 합니다. 가상화를 사용하지 않도록 설정하려면 네트워크 어댑터가 EnableVirtualization 매개 변수를 FALSE로 설정하고 NumVFs 매개 변수를 0으로 설정해야 합니다.
NdisMEnableVirtualization 은 네트워크 어댑터 PF의 PCI 구성 공간에서 SR-IOV 확장 기능 구조에서 NumVFs 멤버 및 VF 사용 비트를 지웁니다.
참고 PF 미니포트 드라이버가 NIC 스위치의 정적 생성 및 구성을 지원하는 경우 MiniportHaltEx가 호출되는 경우에만 NdisMEnableVirtualization을 호출해야 합니다.
자세한 내용은 NIC 스위치 삭제를 참조하세요.
반환 상태 코드
미니포트 드라이버의 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_DELETE_SWITCH_PARAMETERS 구조체의 멤버 중 하나 이상의 값이 잘못되었습니다. |
NDIS_STATUS_INVALID_LENGTH |
정보 버퍼가 너무 작습니다. NDIS는 데이터를 설정합니다 . SET_INFORMATION. 필요한 최소 버퍼 크기에 대한 NDIS_OID_REQUEST 구조체의 BytesNeeded 멤버입니다. |
요구 사항
Version |
NDIS 6.30 이상에서 지원됩니다. |
헤더 |
Ntddndis.h(Ndis.h 포함) |