NdisAllocateNetBufferListPool 함수(ndis/nblapi.h)

NdisAllocateNetBufferListPool 함수를 호출하여 NET_BUFFER_LIST 구조체 풀을 할당합니다.

구문

NDIS_EXPORTED_ROUTINE NDIS_HANDLE NdisAllocateNetBufferListPool(
  [in, optional] NDIS_HANDLE                           NdisHandle,
  [in]           NET_BUFFER_LIST_POOL_PARAMETERS const *Parameters
);

매개 변수

[in, optional] NdisHandle

호출자 초기화 중에 가져온 NDIS 핸들입니다.

[in] Parameters

풀에 대한 매개 변수를 정의하는 NET_BUFFER_LIST_POOL_PARAMETERS 구조체에 대한 포인터입니다.

반환 값

NdisAllocateNetBufferListPool 은 NDIS에서 할당하는 NET_BUFFER_LIST 구조체 풀에 대한 핸들을 반환합니다. 할당에 실패한 경우 이 핸들은 NULL입니다. 이 핸들은 이 풀에서 NET_BUFFER_LIST 구조를 할당하고 해제하는 NDIS 함수에 대한 후속 호출에서 필요한 매개 변수입니다.

설명

대부분의 경우 NET_BUFFER_LIST 구조를 할당하는 호출자는 해당 NET_BUFFER_LIST 구조체에서 하나 이상의 NET_BUFFER 구조를 할당하고 큐에 대기합니다. NET_BUFFER_LIST 구조체와 NET_BUFFER 구조를 별도로 할당하는 것보다 NET_BUFFER_LIST 구조 풀을 할당할 때 NET_BUFFER 구조를 미리 할당하는 것이 더 효율적입니다.

NET_BUFFER_LIST 구조체 풀을 만들 때 fAllocateNetBuffer 값이 TRUE로 설정된 NdisAllocateNetBufferListPool 함수를 호출할 수 있습니다. 이 경우 NET_BUFFER 구조체는 호출자가 풀에서 할당하는 각 NET_BUFFER_LIST 구조체로 미리 할당됩니다. 다음을 호출할 수 있습니다. NdisAllocateNetBufferAndNetBufferList 함수 또는 NdisAllocateNetBufferList 함수는 이러한 풀에서 NET_BUFFER_LIST 구조를 할당합니다. fAllocateNetBuffer가 TRUE이고 DataSize가 0인 경우에만 NdisAllocateNetBufferAndNetBufferList를 호출합니다.

NdisAllocateNetBufferListPool을 호출하고 NET_BUFFER_LIST 구조체 풀을 만들 때 DataSize 멤버를 0이 아닌 값으로 설정할 수도 있습니다. 이 경우 NET_BUFFER 구조체, MDL 및 데이터는 호출자가 풀에서 할당하는 각 NET_BUFFER_LIST 구조로 미리 할당됩니다.

할당된 NET_BUFFER 구조체, MDL 및 데이터 버퍼 NdisAllocateNetBufferAndNetBufferList 또는 NdisAllocateNetBufferList 는 NET_BUFFER_LIST 구조와 별도로 해제되어서는 안 됩니다. 이러한 구조체는 NdisFreeNetBufferList 함수를 호출할 때 NET_BUFFER_LIST 구조체로 해제됩니다.

다음을 호출합니다. NdisFreeNetBufferListPool 함수는 NET_BUFFER_LIST 구조체 풀을 해제합니다.

요구 사항

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

추가 정보

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferAndNetBufferList

NdisAllocateNetBufferList

NdisFreeNetBufferList

NdisFreeNetBufferListPool