NdisMGetOffloadHandlers 함수(ndischimney.h)

[TCP 굴뚝 오프로드 기능은 더 이상 사용되지 않으며 사용하지 않아야 합니다.]

이 함수는 특정 굴뚝 형식에 대한 NDIS 함수의 진입점을 가져옵니다.

구문

NDIS_STATUS NdisMGetOffloadHandlers(
  [in]  IN NDIS_HANDLE                   NdisMiniportHandle,
  [in]  IN NDIS_CHIMNEY_OFFLOAD_TYPE     ChimneyType,
  [out] OUT PNDIS_OFFLOAD_EVENT_HANDLERS *OffloadHandlers
);

매개 변수

[in] NdisMiniportHandle

오프로드 대상에서 할당된 오프로드 대상에 대한 핸들은 어댑터의 이 instance 대한 상태 정보를 유지 관리합니다. 오프로드 대상은 호출할 때 이 핸들을 NDIS에 제공했습니다. NdisMSetMiniportAttributes MiniportInitializeEx 함수입니다.

[in] ChimneyType

다음 NDIS_CHIMNEY_OFFLOAD_TYPE 값 중 하나인 굴뚝 형식입니다.

NdisTcpChimneyOffload

TCP 굴뚝 오프로드 유형입니다.

다른 모든 NDIS_CHIMNEY_OFFLOAD_TYPE 값은 현재 예약되어 있습니다.

[out] OffloadHandlers

오프로드 대상에서 제공하는 변수에 대한 포인터입니다. 이 변수의 크기는 sizeof(PNDIS_OFFLOAD_EVENT_HANDLERS)입니다. NdisMGetOffloadHandlers 함수에 대한 호출이 성공하면 함수는 이 변수에서 NDIS_OFFLOAD_EVENT_HANDLERS 구조체에 대한 포인터를 반환합니다. 이 구조체는 진입점을 포함하는 굴뚝별 구조체의 헤더 역할을 합니다. NDIS_OFFLOAD_EVENT_HANDLERS 구조체는 다음과 같이 형식이 지정됩니다.

typedef struct _NDIS_OFFLOAD_EVENT_HANDLERS {
  NDIS_OBJECT_HEADER  Header;
} NDIS_OFFLOAD_EVENT_HANDLERS, *PNDIS_OFFLOAD_EVENT_HANDLERS;

이 구조체에는 다음 멤버가 포함됩니다.

NDIS_OBJECT_HEADER 구조체로 서식이 지정된 NDIS 개체 헤더를 지정합니다.

반환 값

NdisMGetOffloadHandlers는 다음 중 하나를 반환할 수 있습니다.

반환 코드 설명
STATUS_SUCCESS
호출이 성공했습니다. 반환된 NDIS 진입점은 지정된 굴뚝 형식에 유효합니다.
STATUS_NOT_SUPPORTED
NDIS는 오프로드 대상에 지정된 굴뚝 유형을 지원하지 않습니다. 이 경우 NDIS는 유효한 OffloadHandlers 포인터를 반환하지 않습니다.

설명

오프로드 대상은 MiniportInitializeEx 함수에서 이 함수를 호출하여 특정 굴뚝 형식에 대한 NDIS 함수의 진입점을 가져옵니다. 오프로드 대상은 지원하는 각 굴뚝 유형에 대해 NdisMGetOffloadHandlers 를 한 번 호출합니다. 각 호출에서 오프로드 대상은 다른 굴뚝 유형을 지정합니다.

NdisMGetOffloadHandlers 함수에 대한 호출이 성공하면 NDIS는 NDIS_OFFLOAD_EVENT_HANDLERS 구조를 가리키는 유효한 OffloadHandlers 포인터를 제공합니다. 이 구조체에는 NDIS_OBJECT_HEADER 구조체가 포함되어 있습니다. 오프로드 대상은 NDIS_OBJECT_HEADER 구조체의 형식, 수정 버전크기 멤버를 검사합니다. 이러한 멤버는 굴뚝별 진입점이 포함된 구조체, 이 구조체의 수정 번호 및 이 구조체의 크기를 바이트 단위로 지정합니다. Type 값은 ChimneyType 매개 변수에 대해 제공된 오프로드 대상과 동일한 값입니다.

오프로드 대상이 지정된 수정 버전 번호를 지원하는 경우 OffloadHandlers 포인터를 적절한 굴뚝별 구조체 형식에 대한 포인터로 캐스팅합니다. 다음 표는 각 굴뚝 유형에 대한 굴뚝별 구조를 나타냅니다.

ChimneyType 굴뚝별 처리기 구조
NdisTcpChimneyOffload NDIS_TCP_OFFLOAD_EVENT_HANDLERS
 

예를 들어 NdisTcpChimneyOffload 굴뚝 형식의 경우 오프로드 대상은 OffloadHandlers 포인터를 *PNDIS_TCP_OFFLOAD_EVENT_HANDLERS 캐스팅합니다.

굴뚝 관련 처리기 구조체는 NDIS_OFFLOAD_EVENT_HANDLERS 구조와 동일한 NDIS_OBJECT_HEADER 구조를 포함합니다.

오프로드 대상은 굴뚝별 구조체의 진입점을 자체 내부 데이터 구조로 복사한 다음 반환합니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 ndischimney.h(Ndischimney.h 포함)

추가 정보

MiniportInitializeEx

NDIS_OBJECT_HEADER

NDIS_TCP_OFFLOAD_EVENT_HANDLERS

NdisMSetMiniportAttributes