다음을 통해 공유


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 드라이버 또는 인스턴스 핸들입니다. 예를 들어 미니포트 드라이버는 NDIS 핸들에서 가져온 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 함수를 호출합니다.

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

요구 사항

요구
지원되는 최소 클라이언트 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