W_INITIATE_OFFLOAD_HANDLER 콜백 함수(ndischimney.h)

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

MiniportInitiateOffload 는 호스트 스택에서 TCP 굴뚝 상태를 오프로드합니다.

구문

W_INITIATE_OFFLOAD_HANDLER WInitiateOffloadHandler;

void WInitiateOffloadHandler(
  [in]      IN NDIS_HANDLE MiniportAdapterContext,
  [in, out] IN OUT PNDIS_MINIPORT_OFFLOAD_BLOCK_LIST OffloadBlockList
)
{...}

매개 변수

[in] MiniportAdapterContext

오프로드 대상이 어댑터의 이 instance 대한 상태 정보를 유지하는 오프로드 대상 할당 컨텍스트 영역에 대한 핸들입니다. 미니포트 드라이버는 이 핸들을 호출할 때 NDIS에 제공했습니다. NdisMSetMiniportAttributes MiniportInitializeEx 함수입니다.

[in, out] OffloadBlockList

에 대한 포인터 독립 실행형 구조체 또는 이러한 구조체의 연결된 목록의 루트일 수 있는 구조체를 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST.

반환 값

없음

설명

MiniportInitiateOffload 함수는 OffloadBlockList 포인터를 저장한 다음 를 반환합니다. 오프로드 대상은 항상 를 호출하여 오프로드 작업을 비동기적으로 완료합니다. NdisMInitiateOffloadComplete. OffloadBlockList 포인터가 가리키는 상태 트리는 미니포트 드라이버가 NdisMInitiateOffloadComplete를 호출할 때까지 유효합니다.

MiniportInitiateOffload 함수에서 반환한 후 오프로드 대상은 상태 트리에서 상태를 오프로드합니다. MiniportOffloadContext 멤버가 NULL 값이 포함된 메모리 위치를 가리키는 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체 뒤에 오프로드할 상태가 옵니다. 자세한 내용은 오프로드된 상태 저장 및 참조를 참조하세요. NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체의 Header 멤버에는 오프로드 상태의 형식을 지정하는 Type 멤버와 메모리의 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조 바로 뒤에 있는 오프로드 상태 구조 또는 구조체가 포함됩니다.

오프로드 대상은 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조와 연결된 오프로드 상태를 오프로드 컨텍스트 영역으로 오프로드합니다. 자세한 내용은 오프로드된 상태 저장 및 참조를 참조하세요.

상태를 오프로드할 때 오프로드 대상은 상태 트리를 깊이 우선/폭-다음 방식으로 트래버스해야 합니다. 오프로드 대상은 이러한 방식으로 상태를 오프로드하는 것이 중요합니다.

MiniportInitiateOffload 함수에 전달되는 상태 트리의 일부 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체는 자리 표시자이거나 함께 제공되는 상태가 없는 노드를 연결하여 오프로드할 수 있습니다. 자세한 내용은 자리 표시자, 링커 및 새 오프로드를 참조하세요.

오프로드 대상은 오프로드되는 연결에 대해 호스트 스택에서 버퍼링된 데이터를 받을 수 있습니다. 오프로드 대상은 오프로드 작업을 완료하기 전에 이 데이터를 자체 버퍼에 복사해야 합니다. 버퍼링된 수신 데이터 처리에 대한 자세한 내용은 오프로드 작업 중 및 후 버퍼링된 수신 데이터 처리

오프로드하는 각 상태 개체에 대해 오프로드 대상은 오프로드 대상이 상태 개체를 저장하는 오프로드 컨텍스트 영역을 참조하는 PVOID 값도 제공해야 합니다. 오프로드 대상은 상태와 연결된 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체의 *MiniportOffloadContext 멤버가 가리키는 메모리 위치에 이 PVOID 값을 씁니다. 오프로드 대상이 NDIS_MINIPORT_OFFLOAD_BLOCK_LIST 구조체와 연결된 상태를 성공적으로 오프로드하지 않은 경우 *MiniportOffloadContext 멤버가 가리키는 메모리 위치에 값을 쓰지 않아야 합니다. 자세한 내용은 오프로드된 상태 저장 및 참조를 참조하세요.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 ndischimney.h(Ndischimney.h 포함)
IRQL 모든 수준

추가 정보

MiniportInitializeEx

NDIS_MINIPORT_OFFLOAD_BLOCK_LIST

NdisMInitiateOffloadComplete

NdisMSetMiniportAttributes