Condividi tramite


Funzione NdisAllocateSharedMemory (ndis.h)

La funzione NdisAllocateSharedMemory alloca memoria condivisa da un provider di memoria condivisa.

Sintassi

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

Parametri

[in] NdisHandle

Gestione driver o istanza di NDIS ottenuta durante l'inizializzazione del chiamante. Ad esempio, un driver miniport può usare l'handle NDIS ottenuto dall'oggetto Funzione NdisMRegisterMiniportDriver o MiniportInitializeEx . Altri driver NDIS possono usare gli handle dalle funzioni seguenti:

NdisRegisterProtocolDriver

NdisOpenAdapterEx

[in] SharedMemoryParameters

Puntatore a un oggetto NDIS_SHARED_MEMORY_PARAMETERS struttura che definisce gli attributi richiesti per la memoria condivisa.

[in, out] pAllocationHandle

Puntatore a un percorso per un handle che identifica la memoria condivisa allocata. L'handle è disponibile quando la funzione restituisce o è NULL se la funzione ha esito negativo. Il chiamante deve usare questo handle per liberare la memoria condivisa allocata correttamente.

Valore restituito

NdisAllocateSharedMemory può restituire i valori di stato seguenti:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS
Operazione riuscita.
NDIS_STATUS_RESOURCES
L'operazione non è riuscita perché sono state eseguite risorse sufficienti per completare l'operazione.
NDIS_STATUS_INVALID_PARAMETER
L'operazione non è riuscita a causa di un parametro di input non valido.
NDIS_STATUS_FAILURE
L'operazione non è riuscita per motivi non specificati.

Commenti

Nota Un driver miniport deve avere già chiamato NdisMRegisterScatterGatherDma o NdisMRegisterDmaChannel per inizializzare un canale DMA a dispersione/raccolta prima di chiamare NdisAllocateSharedMemory.
 
I driver NDIS chiamano la funzione NdisAllocateSharedMemory per allocare un blocco di memoria condivisa da un provider di memoria condivisa NDIS.

Il parametro SharedMemoryParameters contiene un puntatore a un oggetto NDIS_SHARED_MEMORY_PARAMETERS struttura che definisce gli attributi richiesti per la memoria condivisa. Se il flag NDIS_SHARED_MEM_PARAMETERS_CONTIGUOUS non è impostato nel membro Flags , la memoria condivisa può essere specificata in un elenco di raccolta a dispersione contenuto in memoria non contigua.

NDIS chiama la funzione NetAllocateSharedMemory di un provider di memoria condivisa dal contesto della chiamata a NdisAllocateSharedMemory.

Il driver deve chiamare la funzione NdisFreeSharedMemory per liberare la memoria condivisa allocata con NdisAllocateSharedMemory.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.20 e versioni successive.
Piattaforma di destinazione Universale
Intestazione ndis.h (includere Ndis.h)
Libreria Ndis.lib
IRQL PASSIVE_LEVEL

Vedi anche

FilterAttach

MiniportInitializeEx

NDIS_SHARED_MEMORY_PARAMETERS

NdisFRegisterFilterDriver

NdisFreeSharedMemory

NdisMRegisterDmaChannel

NdisMRegisterMiniportDriver

NdisMRegisterScatterGatherDma

NdisOpenAdapterEx

NdisRegisterProtocolDriver

NetAllocateSharedMemory