NdisAllocateReassembledNetBufferList 함수(ndis/nblapi.h)

NdisAllocateReassembledNetBufferList 함수를 호출하여 조각화된 NET_BUFFER_LIST 구조를 다시 어셈블합니다.

구문

NDIS_EXPORTED_ROUTINE NET_BUFFER_LIST * NdisAllocateReassembledNetBufferList(
                 NET_BUFFER_LIST *FragmentNetBufferList,
  [in, optional] NDIS_HANDLE     NetBufferAndNetBufferListPoolHandle,
  [in]           ULONG           StartOffset,
  [in]           ULONG           DataOffsetDelta,
  [in]           ULONG           DataBackFill,
  [in]           ULONG           AllocateReassembleFlags
);

매개 변수

FragmentNetBufferList

다시 조립할 NET_BUFFER_LIST 구조체에 대한 포인터입니다.

[in, optional] NetBufferAndNetBufferListPoolHandle

이전에 에서 반환된 NET_BUFFER_LIST 구조체 풀 핸들 NdisAllocateNetBufferListPool 함수. 호출자가 NdisAllocateNetBufferListPool에 전달한 NET_BUFFER_LIST_POOL_PARAMETERS 구조체의 fAllocateNetBuffer 멤버는 TRUE로 설정되고 DataSize 멤버는 0으로 설정되어야 합니다. 이 매개 변수가 NULL인 경우 NDIS는 내부 풀을 사용합니다.

[in] StartOffset

각 원본 NET_BUFFER 구조의 시작 부분에서 건너뛸 데이터의 양입니다. 이 크기는 NET_BUFFER 구조체의 DataOffset 멤버에 지정된 값에 추가됩니다.

[in] DataOffsetDelta

재조립된 NET_BUFFER 구조에 추가할 사용된 데이터 공간 의 바이트 수입니다.

[in] DataBackFill

사용되지 않는 데이터 공간(백필 공간)의 할당이 필요한 경우 이 매개 변수는 할당할 DataOffsetDelta 외에 사용되지 않는 데이터 공간의 바이트 수를 지정합니다.

[in] AllocateReassembleFlags

OR 작업과 결합할 수 있는 NDIS 플래그입니다. 이 매개 변수를 0으로 설정합니다. 현재 이 함수에 대해 정의된 플래그가 없습니다.

반환 값

다시 어셈블 작업이 성공하면 NdisAllocateReassembledNetBufferList 는 다시 어셈블된 NET_BUFFER_LIST 구조를 반환합니다. 작업이 실패하면 NULL을 반환합니다.

설명

NdisAllocateReassembledNetBufferList 는 하나의 NET_BUFFER 구조체와 하나의 MDL 체인을 포함하는 새 NET_BUFFER_LIST 구조를 할당, 초기화 및 반환합니다. 새 NET_BUFFER_LIST 구조체는 드라이버가 FragmentedNetBufferList에서 전달한 조각화된 원본 NET_BUFFER_LIST 구조와 동일한 데이터를 설명합니다. 조각화된 모든 NET_BUFFER 구조에서 StartOffset 에 지정된 바이트 수를 건너뛴 후 NDIS는 조각화된 각 NET_BUFFER 구조체의 나머지 데이터를 하나의 재조립된 NET_BUFFER 구조체로 연결합니다. 재조립된 NET_BUFFER_LIST 구조체에는 이니셜이 포함되지 않습니다. NET_BUFFER_LIST_CONTEXT 구조체입니다.

다음을 호출합니다. NdisFreeReassembledNetBufferList 함수는 재조립된 NET_BUFFER_LIST 구조체와 관련된 모든 NET_BUFFER 구조체 및 MDL 체인을 해제합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.0 이상에서 지원됩니다.
대상 플랫폼 유니버설
헤더 ndis/nblapi.h(ndis.h 포함)
라이브러리 Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 규정 준수 규칙 Irql_NetBuffer_Function(ndis), NdisAllocateReassembledNetBufferList(ndis), NdisAllocateReassembledNetBufferList_InitFail(ndis)

추가 정보

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferListPool NdisFreeReassembledNetBufferList