NDIS_SWITCH_GET_NET_BUFFER_LIST_SWITCH_CONTEXT 콜백 함수(ndis.h)
Hyper-V 확장 가능 스위치 확장은 GetNetBufferListSwitchContext 함수를 호출하여 이전에 NET_BUFFER_LIST 설정된 스위치 컨텍스트를 검색합니다.
구문
NDIS_SWITCH_GET_NET_BUFFER_LIST_SWITCH_CONTEXT NdisSwitchGetNetBufferListSwitchContext;
PVOID NdisSwitchGetNetBufferListSwitchContext(
[in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
[in] PNET_BUFFER_LIST NetBufferList,
[in] PNDIS_SWITCH_NET_BUFFER_LIST_CONTEXT_TYPE ContextType
)
{...}
매개 변수
[in] NdisSwitchContext
Hyper-V 확장 가능 스위치 확장이 연결된 확장 가능한 스위치 모듈의 핸들을 포함하는 NDIS_SWITCH_CONTEXT 값입니다. 확장이 NdisFGetOptionalSwitchHandlers를 호출하면 이 핸들은 NdisSwitchContext 매개 변수를 통해 반환됩니다.
[in] NetBufferList
검색할 컨텍스트를 포함하는 단일 패킷에 대한 NET_BUFFER_LIST 구조체에 대한 포인터입니다.
[in] ContextType
Context
컨텍스트를 설정할 때 사용된 NDIS_DECLARE_SWITCH_NET_BUFFER_LIST_CONTEXT_TYPE 사용하여 선언된 컨텍스트 형식입니다.
반환 값
지정된 컨텍스트 형식과 일치하는 NET_BUFFER_LIST 컨텍스트가 없으면 NULL입니다. 그렇지 않으면 버퍼에 대한 NULL이 아닌 포인터가 반환됩니다.
설명
SetNetBufferListSwitchContext API를 사용하면 확장이 수신 시 NET_BUFFER_LIST 컨텍스트를 연결하고 송신 시 검색할 수 있습니다. 그럼에도 불구하고 확장은 송신에 존재하지 않는 수신 컨텍스트에 복원력이 있어야 합니다. 스위치 컨텍스트는 NET_BUFFER_LIST 복제될 때 유지되지 않으므로 수신과 송신 간에 NET_BUFFER_LIST 복제되는 시나리오에서는 NET_BUFFER_LIST 원래의 스위치 컨텍스트가 없습니다.
확장은 컨텍스트의 수명을 관리해야 합니다. 한 가지 방법은 NDIS NET_BUFFER_LIST 컨텍스트( NdisAllocateNetBufferListContext를 사용하거나 확장이 NET_BUFFER_LIST 풀을 소유하는 경우 미리 구성됨)를 할당하고 SetNetBufferListSwitchContext 를 사용하여 컨텍스트 형식 식별자를 NDIS NET_BUFFER_LIST 컨텍스트와 연결하는 것입니다. NBL이 완료되면 확장은 NDIS NET_BUFFER_LIST 컨텍스트를 해제할 수 있습니다( NdisFreeNetBufferListContext를 사용하거나 확장에서 시작된 경우 NET_BUFFER_LIST 자체 해제).
확장 가능한 스위치 전달 컨텍스트에 대한 자세한 내용은 Hyper-V 확장 가능한 전환 전달 컨텍스트를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | NDIS 6.30 이상에서 지원됩니다. |
대상 플랫폼 | 데스크톱 |
머리글 | ndis.h(Ndis.h 포함) |
IRQL | <= DISPATCH_LEVEL |
추가 정보
AllocateNetBufferListForwardingContext
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기