NdisAllocateNetBufferListContext 함수(ndis/nblapi.h)
NdisAllocateNetBufferListContext 함수를 호출하여 의 NET_BUFFER_LIST_CONTEXT 구조에 더 많은 컨텍스트 공간을 할당합니다.
NET_BUFFER_LIST 구조체입니다.
구문
NDIS_EXPORTED_ROUTINE NDIS_STATUS NdisAllocateNetBufferListContext(
[in] NET_BUFFER_LIST *NetBufferList,
[in] USHORT ContextSize,
[in] USHORT ContextBackFill,
[in] ULONG PoolTag
);
매개 변수
[in] NetBufferList
이전에 할당된 NET_BUFFER_LIST 구조체에 대한 포인터입니다.
[in] ContextSize
NET_BUFFER_LIST_CONTEXT 구조에 할당할 컨텍스트 공간의 양입니다. 이 크기는 에 정의된 sizeof(void*)
값의 배수여야 합니다.
[in] ContextBackFill
NDIS가 요청을 충족하기 위해 메모리를 할당해야 하는 경우 할당할 ContextSize 값 외에 메모리 양입니다. 이 크기는 에 정의된 sizeof(void*)
값의 배수여야 합니다.
[in] PoolTag
할당이 필요한 경우 NDIS가 NET_BUFFER_LIST_CONTEXT 구조에 대한 메모리를 할당하는 데 사용하는 커널 풀 태그입니다. 태그는 작은따옴표로 구분된 문자열로, 일반적으로 역순으로 지정된 최대 4자입니다. 커널 풀 태그는 NDIS가 메모리 소유자를 식별하는 데 도움이 됩니다.
반환 값
NdisAllocateNetBufferListContext 는 다음 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
|
NdisAllocateNetBufferListContext 는 NET_BUFFER_LIST_CONTEXT 구조체의 Offset 멤버 값을 줄이거나 새 메모리를 할당하여 컨텍스트 공간을 성공적으로 할당했습니다. |
|
리소스가 부족하여 NdisAllocateNetBufferListContext가 실패했습니다. |
|
리소스 부족 이외의 이유로 NdisAllocateNetBufferListContext 가 실패했습니다. |
설명
요청을 충족하기 위해 NET_BUFFER_LIST_CONTEXT 구조에서 사용할 수 있는 사용되지 않는 컨텍스트 공간이 충분한 경우 NdisAllocateNetBufferListContext 는 NET_BUFFER_LIST_CONTEXT 구조체에서 Offset 멤버의 값을 줄입니다. 그렇지 않으면 NDIS는 컨텍스트 공간에 새 메모리를 할당합니다. NdisAllocateNetBufferListContext에 대한 다음 호출에서 메모리를 할당할 필요가 없도록 ContextBackFill을 지정하여 추가 메모리를 할당할 수 있습니다.
다음을 호출합니다. NdisAllocateNetBufferListContext 와 함께 할당된 NET_BUFFER_LIST_CONTEXT 구조체의 컨텍스트 공간을 해제하는 NdisFreeNetBufferListContext 함수입니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | NDIS 6.0 이상에서 지원됩니다. |
대상 플랫폼 | 유니버설 |
헤더 | ndis/nblapi.h(include ndis.h) |
라이브러리 | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI 규정 준수 규칙 | Irql_NetBuffer_Function(ndis) |