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

Voir aussi

IDmaChannel