Funzione NdisAllocateMdl (ndis/mdlapi.h)
La funzione NdisAllocateMdl alloca un MDL che descrive il buffer di memoria nell'indirizzo virtuale specificato.
Sintassi
NDIS_EXPORTED_ROUTINE MDL * NdisAllocateMdl(
[in] NDIS_HANDLE NdisHandle,
[in] PVOID VirtualAddress,
[in] ULONG Length
);
Parametri
[in] NdisHandle
Handle NDIS ottenuto durante l'inizializzazione del chiamante. Per altre informazioni, vedere Recupero di handle del pool.
[in] VirtualAddress
Puntatore all'indirizzo virtuale di base del buffer da descrivere.
Il parametro VirtualAddress per NdisAllocateMdl accetta solo la memoria dal pool non di pagina. In altre parole, richiede memoria da ExAllocatePool*(NonPagedNx), NdisAllocateMemoryWithTagPriority o NdisMAllocateSharedMemory. In particolare, non deve essere usato con memoria dallo stack, dal pool di pagine, dai dati globali del driver o da altre aree di memoria.
Se un driver deve creare un MDL per una di queste aree del pool non di pagina, deve usare le API del kernel appropriate per tale tipo di memoria, ad esempio IoAllocateMdl combinata con MmProbeAndLockPages.
[in] Length
Dimensioni, in byte, del buffer di memoria.
Valore restituito
NdisAllocateMdl restituisce un puntatore all'MDL allocato. Se l'allocazione ha esito negativo, il valore restituito è NULL.
Commenti
Tutti gli MDL allocati chiamando NdisAllocateMdl devono essere liberati chiamando la funzione NdisFreeMdl .
NdisAllocateMdl alloca la memoria e compila MDL in un unico passaggio. Questo processo è diverso da IoAllocateMdl, che alloca solo la memoria per l'MDL, ovvero il chiamante deve compilare l'MDL chiamando MmBuildMdlForNonPagedPool o MmProbeAndLockPages.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato in NDIS 6.0 e versioni successive. |
Piattaforma di destinazione | Universale |
Intestazione | ndis/mdlapi.h (include ndis.h) |
Libreria | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Regole di conformità DDI | Irql_NetBuffer_Function(ndis), NdisAllocateMdl(ndis) |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per