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:
[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 |
---|---|
|
Operazione riuscita. |
|
L'operazione non è riuscita perché sono state eseguite risorse sufficienti per completare l'operazione. |
|
L'operazione non è riuscita a causa di un parametro di input non valido. |
|
L'operazione non è riuscita per motivi non specificati. |
Commenti
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 |