OID_OFFLOAD_ENCAPSULATION

쿼리 요청으로, 오버리싱 드라이버는 OID_OFFLOAD_ENCAPSULATION OID를 사용하여 기본 미니포트 어댑터의 현재 작업 오프로드 캡슐화 설정을 가져옵니다. NDIS는 미니포트 드라이버에 대한 이 OID 쿼리를 처리합니다.

설정된 요청으로, 오버리싱 드라이버는 OID_OFFLOAD_ENCAPSULATION OID를 사용하여 기본 미니포트 어댑터의 태스크 오프로드 캡슐화 설정을 설정합니다. 작업 오프로드를 지원하는 미니포트 드라이버는 이 OID 집합 요청을 처리해야 합니다.

설명

NDIS_OID_REQUEST 구조체의 InformationBuffer 멤버에는 NDIS_OFFLOAD_ENCAPSULATION 구조체가 포함됩니다.

미니포트 드라이버

미니포트 드라이버가 오프로드 및 이 OID를 지원하지 않는 경우 드라이버는 NDIS_STATUS_NOT_SUPPORTED 반환해야 합니다.

미니포트 드라이버는 NDIS_OFFLOAD_ENCAPSULATION 구조의 내용을 사용하여 현재 보고된 TCP 오프로드 기능을 업데이트해야 합니다. 업데이트 후 미니포트 드라이버는 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 상태 표시와 함께 현재 작업 오프로드 기능을 보고해야 합니다. 이 상태 표시는 모든 오버리 프로토콜 드라이버가 새로운 기능 정보로 업데이트되도록 합니다.

이 OID는 구성되거나 활성화된 모든 오프로드를 활성화하거나 모든 오프로드를 비활성화하는 데 사용됩니다(즉, 하드웨어가 오프로드를 수행하기 시작). 개별 오프로드에 대한 세밀한 제어는 제공하지 않습니다. 대신 OID_TCP_OFFLOAD_PARAMETERS 개별 오프로드를 구성하는 데 사용되며 활성화할 수도 있습니다. 일반적으로 대부분의 TCP/IP 작업 오프로드는 OID_TCP_OFFLOAD_PARAMETERS 구성하고 활성화할 수 있습니다.

그러나 이 OID의 NDIS_OFFLOAD_ENCAPSULATION 구조는 OID_TCP_OFFLOAD_PARAMETERS NDIS_OFFLOAD_PARAMETERS 구조에서 다루지 않는 두 가지 다른 캡슐화 유형인 NDIS_ENCAPSULATION_IEEE_802_3NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED 포함합니다. 미니포트 드라이버는 다양한 OID에서 다루는 캡슐화 형식에서 이러한 차이를 처리해야 합니다.

모든 오프로드를 비활성화하기 위해 프로토콜 드라이버에서 이 OID를 실행하면 NDIS_OFFLOAD_ENCAPSULATION 멤버의 Enabled 멤버가 NDIS_OFFLOAD_SET_OFF 설정됩니다.

캡슐화 설정(프로토콜 드라이버)

프로토콜 드라이버는 시스템 캡슐화 요구 사항을 결정한 후 OID_OFFLOAD_ENCAPSULATION 설정합니다. 프로토콜 드라이버는 NDIS_BIND_PARAMETERS 구조에서 또는 OID_TCP_OFFLOAD_CURRENT_CONFIG쿼리하여 기본 미니포트 어댑터의 기능을 확인할 수 있습니다. 프로토콜 드라이버는 미니포트 어댑터가 하나 이상의 오프로드 서비스에서 지원하는 캡슐화 유형을 설정해야 합니다.

미니포트 드라이버가 요청된 캡슐화 형식을 지원하는 오프로드 형식을 지원하는 경우 드라이버는 OID_OFFLOAD_ENCAPSULATION 집합에 대한 응답으로 NDIS_STATUS_SUCCESS 반환해야 합니다. 그렇지 않으면 미니포트 드라이버가 NDIS_STATUS_INVALID_PARAMETER 반환해야 합니다.

송신 작업의 경우 프로토콜 드라이버는 미니포트 어댑터가 지원하는 오프로드 형식만 필수 캡슐화 형식으로 사용하여 보내기 요청을 실행할 수 있습니다. 따라서 OID_OFFLOAD_ENCAPSULATION OID 집합 요청이 실패하는 경우 프로토콜 드라이버는 해당 미니포트 어댑터로 전달되는 송신 요청에서 오프로드 설정을 사용하지 않아야 합니다.

수신 작업의 경우 미니포트 드라이버는 OID_OFFLOAD_ENCAPSULATION OID 집합 요청을 받을 때까지 체크섬 또는 IPsec(인터넷 프로토콜 보안) 오프로드 서비스를 시작해서는 안 됩니다.

현재 캡슐화 설정 가져오기(프로토콜 드라이버)

프로토콜 드라이버는 OID_OFFLOAD_ENCAPSULATION OID를 설정한 후에만 OID_OFFLOAD_ENCAPSULATION 쿼리를 실행할 수 있습니다.

NDIS는 현재 캡슐화 설정을 포함하는 NDIS_OFFLOAD_ENCAPSULATION 구조로 응답합니다.

프로토콜 드라이버는 NDIS_STATUS_Xxx 오류 코드를 처리할 준비가 되어 있어야 합니다. 오류가 발생하는 경우 프로토콜 드라이버는 영향을 받는 미니포트 어댑터로 전달되는 오프로드 작업을 수행하려고 시도해서는 안 됩니다.

추가 정보

NDIS_BIND_PARAMETERS
NDIS_OFFLOAD_ENCAPSULATION
NDIS_OID_REQUEST
NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG
OID_TCP_OFFLOAD_CURRENT_CONFIG

요구 사항

버전: Windows Vista 이상 헤더: Ntddndis.h(Ndis.h 포함)