오버리싱 드라이버는 네트워크 어댑터에서 현재 사용하도록 설정된 NIC 스위치의 하드웨어 기능을 얻기 위해 OID_NIC_SWITCH_CURRENT_CAPABILITIES OID(개체 식별자) 쿼리 요청을 실행합니다.
OID 쿼리 요청에서 성공적으로 반환된 후 NDIS_OID_REQUEST 구조체의 InformationBuffer 멤버에는 NDIS_NIC_SWITCH_CAPABILITIES 구조체에 대한 포인터가 포함됩니다.
발언
NDIS 6.20부터 미니포트 드라이버는 MiniportInitializeEx 함수가 호출될 때 네트워크 어댑터에서 현재 사용하도록 설정된 NIC 스위치 하드웨어 기능을 제공합니다. 드라이버는 NIC 스위치 하드웨어 기능을 사용하여 NDIS_NIC_SWITCH_CAPABILITIES 구조를 초기화하고 NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 구조체의 CurrentNicSwitchCapabilities 멤버를 NDIS_NIC_SWITCH_CAPABILITIES 구조체에 대한 포인터로 설정합니다. 그런 다음 미니포트 드라이버는 NdisMSetMiniportAttributes 함수를 호출하고 MiniportAttributes 매개 변수를 NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 구조체에 대한 포인터로 설정합니다.
참고 NDIS 6.30부터 단일 루트 I/O 가상화(SR-IOV) 인터페이스를 지원하는 미니포트 드라이버는 NIC 스위치의 사용 가능한 하드웨어 기능을 등록해야 합니다. 드라이버는 NdisMSetMiniportAttributes호출하여 이러한 기능을 등록합니다.
프로토콜 및 필터 드라이버를 과도하게 사용하는 경우 OID_NIC_SWITCH_CURRENT_CAPABILITIES OID 쿼리 요청을 발급할 필요가 없습니다. NDIS는 다음과 같은 방법으로 네트워크 어댑터의 현재 사용 가능한 NIC 스위치 하드웨어 기능을 이러한 드라이버에 제공합니다.
NDIS는 바인딩 작업 중에 기본 네트워크 어댑터의 현재 활성화된 NIC 스위치 하드웨어 기능을 NicSwitchCapabilitiesNDIS_BIND_PARAMETERS 구조의 멤버에 있는 프로토콜 드라이버에 대해 보고합니다.
NDIS는 연결 작업 중 NDIS_FILTER_ATTACH_PARAMETERS 구조체의 NicSwitchCapabilities 멤버의 필터 드라이버에 기본 네트워크 어댑터의 현재 활성화된 NIC 스위치 하드웨어 기능을 보고합니다.
반환 상태 코드
NDIS는 미니포트 드라이버에 대한 OID_NIC_SWITCH_CURRENT_CAPABILITIES 요청의 OID 쿼리 요청을 처리합니다. 드라이버에 이 OID 요청이 발급되지 않습니다.
NDIS가 OID_NIC_SWITCH_CURRENT_CAPABILITIES 요청을 처리하면 다음 상태 코드 중 하나가 반환됩니다.
| 상태 코드 | 묘사 |
|---|---|
NDIS_STATUS_SUCCESS |
요청이 성공적으로 완료되었습니다. InformationBufferNDIS_NIC_SWITCH_CAPABILITIES 구조를 가리킵니다. |
NDIS_STATUS_NOT_SUPPORTED |
미니포트 드라이버는 단일 루트 I/O 가상화(SR-IOV) 인터페이스를 지원하지 않거나 인터페이스를 사용할 수 없습니다. |
NDIS_STATUS_INVALID_LENGTH |
정보 버퍼의 길이가 sizeof(NDIS_NIC_SWITCH_CAPABILITIES)보다 작습니다. 미니포트 드라이버는 DATA를 설정해야 합니다. QUERY_INFORMATION. NDIS_OID_REQUEST 구조체의 BytesNeeded 멤버를 필요한 최소 버퍼 크기로 설정합니다. |
NDIS_STATUS_FAILURE |
다른 이유로 인해 요청이 실패했습니다. |
요구 사항
버전 |
NDIS 6.20 이상에서 지원됩니다. |
머리글 |
Ntddndis.h(Ndis.h 포함) |