드라이버가 공유 메모리 공급자에서 공유 메모리를 할당할 때 NetAllocateSharedMemory 함수(ALLOCATE_SHARED_MEMORY_HANDLER 진입점)가 NDIS에 의해 호출됩니다.
통사론
ALLOCATE_SHARED_MEMORY_HANDLER AllocateSharedMemoryHandler;
NDIS_STATUS AllocateSharedMemoryHandler(
[in] NDIS_HANDLE ProviderContext,
[in] PNDIS_SHARED_MEMORY_PARAMETERS SharedMemoryParameters,
[in, out] PNDIS_HANDLE pSharedMemoryProviderContext
)
{...}
매개 변수
[in] ProviderContext
공급자를 식별하는 드라이버 할당 컨텍스트 정보 블록에 대한 NDIS_HANDLE. 공급자가 공급자의 ProviderContext 멤버에 이 정보를 제공했습니다. NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS 구조체입니다.
[in] SharedMemoryParameters
에 대한 포인터 공유 메모리에 대해 요청된 특성을 정의하는 NDIS_SHARED_MEMORY_PARAMETERS 구조체입니다.
[in, out] pSharedMemoryProviderContext
공유 메모리 컨텍스트 영역에 대한 핸들에 대한 포인터입니다. 공유 메모리 공급자는 할당된 공유 메모리를 식별하는 핸들을 제공합니다.
반환 값
NetAllocateSharedMemory 다음 상태 값을 반환할 수 있습니다.
| 반환 코드 | 묘사 |
|---|---|
|
작업이 성공적으로 완료되었습니다. |
|
작업을 완료할 리소스가 부족하여 작업이 실패했습니다. |
|
잘못된 입력 매개 변수로 인해 작업이 실패했습니다. |
|
지정되지 않은 이유로 작업이 실패했습니다. |
발언
NDIS는 드라이버가 다음을 호출할 때 공유 메모리 공급자의 NetAllocateSharedMemory 함수를 호출합니다. NdisAllocateSharedMemory 함수입니다.
공유 메모리 공급자는 다음에서 NetAllocateSharedMemory 대한 진입점(ALLOCATE_SHARED_MEMORY_HANDLER)을 지정했습니다. NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS 구조체입니다.
요구 사항
| 요구 | 값 |
|---|---|
| 지원되는 최소 클라이언트 | NDIS 6.20 이상에서 지원됩니다. |
| 대상 플랫폼 | 바탕 화면 |
| 헤더 | ndis.h(Ndis.h 포함) |
| IRQL | PASSIVE_LEVEL |