다음을 통해 공유


NdisAllocateNetBufferList 함수(ndis/nblapi.h)

NdisAllocateNetBufferList 함수를 호출하여 NET_BUFFER_LIST 구조체 풀에서 NET_BUFFER_LIST 구조를 할당하고 초기화합니다.

구문

NDIS_EXPORTED_ROUTINE NET_BUFFER_LIST * NdisAllocateNetBufferList(
  [in] NDIS_HANDLE PoolHandle,
  [in] USHORT      ContextSize,
  [in] USHORT      ContextBackFill
);

매개 변수

[in] PoolHandle

에 대한 호출에서 이전에 반환된 NET_BUFFER_LIST 구조체 풀 핸들 NdisAllocateNetBufferListPool.

[in] ContextSize

호출자에 대해 예약할 NET_BUFFER_LIST_CONTEXT 구조에서 사용된 데이터 공간의 양입니다. ContextSize는 MEMORY_ALLOCATION_ALIGNMENT 정의한 값의 배수여야 합니다.

[in] ContextBackFill

호출자에게 필요한 사용되지 않는 데이터 공간 (백필 공간)의 양입니다. NDIS는 이 값을 ContextSize 에 추가하고 추가 공간을 할당합니다. ContextBackFill은 MEMORY_ALLOCATION_ALIGNMENT 정의한 값의 배수여야 합니다.

반환 값

NdisAllocateNetBufferList 는 할당된 NET_BUFFER_LIST 구조체에 대한 포인터를 반환합니다. 할당에 실패한 경우 이 포인터는 NULL입니다.

설명

NdisAllocateNetBufferList 또는 를 호출할 수 있습니다.풀에서 NET_BUFFER_LIST 구조를 할당하는 NdisAllocateNetBufferAndNetBufferList 함수입니다.

참고NET_BUFFERNET_BUFFER_LIST 구조체는 NDIS 버퍼 풀에서 할당되어야 합니다. 드라이버는 프라이빗 메모리 풀 또는 스택에서 NET_BUFFER_LIST 또는 NET_BUFFER 구조를 할당하고 초기화해서는 안됩니다.
 
NdisAllocateNetBufferList를 호출하고 NET_BUFFER_LIST 구조체 풀이 를 호출하여 할당된 경우NET_BUFFER_LIST_POOL_PARAMETERS 구조체의 fAllocateNetBuffer 멤버가 TRUE로 설정된 NdisAllocateNetBufferListPool 함수는 NET_BUFFER_LIST, NET_BUFFER, MDL 및 데이터를 할당합니다.

NdisFreeNetBufferList 함수를 호출하여 NET_BUFFER_LIST 구조를 해제합니다.

요구 사항

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

추가 정보

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferAndNetBufferList NdisAllocateNetBufferListPool

NdisFreeNetBufferList