Méthode IDmaChannel ::AllocateBuffer (portcls.h)
La méthode AllocateBuffer alloue une mémoire tampon commune accessible par le pilote de port et le matériel DMA.
Syntaxe
NTSTATUS AllocateBuffer(
ULONG BufferSize,
PPHYSICAL_ADDRESS PhysicalAddressConstraint
);
Paramètres
BufferSize
Spécifie la taille en octets de la mémoire tampon à allouer.
PhysicalAddressConstraint
Spécifie une contrainte facultative à placer sur l’adresse physique de la mémoire tampon. Si ce paramètre n’est pas NULL, seuls les bits définis dans l’adresse de contrainte varient du début à la fin de la mémoire tampon. Par exemple, pour demander une mémoire tampon qui ne franchit pas une limite de 64 kilooctets, spécifiez la contrainte d’adresse physique 0x000000000000FFFF.
Valeur retournée
Cette méthode retourne NTSTATUS. AllocateBuffer retourne STATUS_SUCCESS si l’appel a réussi. Sinon, la méthode retourne un code d’erreur approprié.
Remarques
Cette méthode ne doit être appelée qu’une seule fois après la création de l’objet de canal DMA, sauf si la mémoire tampon précédemment allouée est d’abord libérée en appelant FreeBuffer.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | portcls.h |
IRQL | PASSIVE_LEVEL |