NDIS_SWITCH_FREE_NET_BUFFER_LIST_FORWARDING_CONTEXT 콜백 함수(ndis.h)

FreeNetBufferListForwardingContext 함수는 NET_BUFFER_LIST 구조체의 OOB(out-of-band) 확장 가능한 스위치 전달 컨텍스트에서 리소스를 해제합니다. 이 데이터는 Hyper-V 확장 가능 스위치의 송신 또는 수신 작업에 사용되었으며, 이전에는 AllocateNetBufferListForwardingContext 함수를 호출하여 할당되었습니다.

구문

NDIS_SWITCH_FREE_NET_BUFFER_LIST_FORWARDING_CONTEXT NdisSwitchFreeNetBufferListForwardingContext;

void NdisSwitchFreeNetBufferListForwardingContext(
  [in]      NDIS_SWITCH_CONTEXT NdisSwitchContext,
  [in, out] PNET_BUFFER_LIST NetBufferList
)
{...}

매개 변수

[in] NdisSwitchContext

Hyper-V 확장 가능 스위치 확장이 연결된 확장 가능한 스위치 모듈의 핸들을 포함하는 NDIS_SWITCH_CONTEXT 값입니다. 확장이 NdisFGetOptionalSwitchHandlers를 호출하면 이 핸들은 NdisSwitchContext 매개 변수를 통해 반환됩니다.

[in, out] NetBufferList

NET_BUFFER_LIST 구조체의 연결된 목록에 대한 포인터입니다.

참고 이 구조체는 AllocateNetBufferListForwardingContext 함수를 호출하여 이전에 할당된 확장 가능한 전환 전달 컨텍스트를 포함해야 합니다.
 

반환 값

호출이 성공하면 함수는 NDIS_STATUS_SUCCESS 반환합니다. 그렇지 않으면 Ndis.h에 정의된 NDIS_STATUS_Xxx 오류 코드를 반환합니다.

설명

확장 가능한 스위치 확장은 확장 가능한 스위치 데이터 경로 내에서 패킷 보내기 작업을 발생시킬 수 있습니다. 예를 들어 확장은 확장 가능한 스위치의 모든 포트에 패킷을 보낼 수 있습니다. 이 데이터 경로에 대한 자세한 내용은 Hyper-V 확장 가능 스위치 데이터 경로를 참조하세요.

확장 가능한 스위치 확장이 패킷 보내기 작업을 시작하는 경우 확장은 AllocateNetBufferListForwardingContext 함수를 호출해야 합니다. 이 함수는 지정된 NET_BUFFER_LIST 구조체에 대한 전달 컨텍스트를 할당하고 초기화합니다. 이 컨텍스트에 대한 자세한 내용은 Hyper-V 확장 가능한 전환 전달 컨텍스트를 참조하세요.

보내기 작업이 완료되면 확장에서 FreeNetBufferListForwardingContext 함수를 호출하여 전달 컨텍스트의 할당을 취소해야 합니다.

참고 확장은 보내기 작업이 완료되면 FreeNetBufferListForwardingContext 함수를 호출해야 합니다. 확장은 패킷의 NET_BUFFER_LIST 구조를 lookaside 목록에 추가하거나 NdisFreeNetBufferList 를 호출하여 구조를 풀에 반환하는지 여부에 관계없이 이 작업을 수행해야 합니다.
 
송신 작업을 시작하는 방법에 대한 자세한 내용은 모듈 보내기 및 수신 작업 필터링을 참조하세요.
참고NetBufferList 매개 변수에 여러 NET_BUFFER_LIST 구조체의 연결된 목록에 대한 포인터가 포함된 경우 목록의 첫 번째 NET_BUFFER_LIST 구조만 전달 컨텍스트의 할당이 취소됩니다.
 

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.30 이상에서 지원됩니다.
대상 플랫폼 데스크톱
머리글 ndis.h(Ndis.h 포함)
IRQL <= DISPATCH_LEVEL

추가 정보

AllocateNetBufferListForwardingContext

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers

NdisFreeNetBufferList