NdisAllocateSharedMemory 함수(ndis.h)

NdisAllocateSharedMemory 함수는 공유 메모리 공급자의 공유 메모리를 할당합니다.

구문

NDIS_STATUS NdisAllocateSharedMemory(
  [in]      NDIS_HANDLE                    NdisHandle,
  [in]      PNDIS_SHARED_MEMORY_PARAMETERS SharedMemoryParameters,
  [in, out] PNDIS_HANDLE                   pAllocationHandle
);

매개 변수

[in] NdisHandle

호출자 초기화 중에 가져온 NDIS 드라이버 또는 instance 핸들입니다. 예를 들어 미니포트 드라이버는 에서 가져온 NDIS 핸들을 사용할 수 있습니다. NdisMRegisterMiniportDriver 또는 MiniportInitializeEx 함수입니다. 다른 NDIS 드라이버는 다음 함수의 핸들을 사용할 수 있습니다.

NdisRegisterProtocolDriver

NdisOpenAdapterEx

[in] SharedMemoryParameters

에 대한 포인터 공유 메모리에 대해 요청된 특성을 정의하는 NDIS_SHARED_MEMORY_PARAMETERS 구조체입니다.

[in, out] pAllocationHandle

할당된 공유 메모리를 식별하는 핸들의 위치에 대한 포인터입니다. 함수가 반환되거나 함수가 실패할 경우 NULL 인 경우 핸들을 사용할 수 있습니다. 호출자는 이 핸들을 사용하여 성공적으로 할당된 공유 메모리를 해제해야 합니다.

반환 값

NdisAllocateSharedMemory는 다음 상태 값을 반환할 수 있습니다.

반환 코드 설명
NDIS_STATUS_SUCCESS
작업이 성공적으로 완료되었습니다.
NDIS_STATUS_RESOURCES
작업을 완료할 리소스가 부족하여 작업이 실패했습니다.
NDIS_STATUS_INVALID_PARAMETER
잘못된 입력 매개 변수로 인해 작업이 실패했습니다.
NDIS_STATUS_FAILURE
지정되지 않은 이유로 작업이 실패했습니다.

설명

참고 미니포트 드라이버는 NdisAllocateSharedMemory를 호출하기 전에 분산/수집 DMA 채널을 초기화하기 위해 이미 NdisMRegisterScatterGatherDma 또는 NdisMRegisterDmaChannel을 호출해야 합니다.
 
NDIS 드라이버는 NdisAllocateSharedMemory 함수를 호출하여 NDIS 공유 메모리 공급자로부터 공유 메모리 블록을 할당합니다.

SharedMemoryParameters 매개 변수는 에 대한 포인터를 포함합니다. 공유 메모리에 대해 요청된 특성을 정의하는 NDIS_SHARED_MEMORY_PARAMETERS 구조체입니다. NDIS_SHARED_MEM_PARAMETERS_CONTIGUOUS 플래그가 Flags 멤버에 설정되지 않은 경우 인접하지 않은 메모리에 포함된 분산형 수집 목록에 공유 메모리를 지정할 수 있습니다.

NDIS는 NdisAllocateSharedMemory 호출 컨텍스트에서 공유 메모리 공급자의 NetAllocateSharedMemory 함수를 호출합니다.

드라이버는 NdisAllocateSharedMemory 와 함께 할당하는 공유 메모리를 해제하려면 NdisFreeSharedMemory 함수를 호출해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.20 이상에서 지원됩니다.
대상 플랫폼 유니버설
헤더 ndis.h(Ndis.h 포함)
라이브러리 Ndis.lib
IRQL PASSIVE_LEVEL

추가 정보

FilterAttach

MiniportInitializeEx

NDIS_SHARED_MEMORY_PARAMETERS

NdisFRegisterFilterDriver

NdisFreeSharedMemory

NdisMRegisterDmaChannel

NdisMRegisterMiniportDriver

NdisMRegisterScatterGatherDma

NdisOpenAdapterEx

NdisRegisterProtocolDriver

NetAllocateSharedMemory