IDmaChannel::AllocateBuffer-Methode (portcls.h)

Die AllocateBuffer-Methode ordnet einen allgemeinen Puffer zu, auf den der Porttreiber und die DMA-Hardware zugreifen können.

Syntax

NTSTATUS AllocateBuffer(
  ULONG             BufferSize,
  PPHYSICAL_ADDRESS PhysicalAddressConstraint
);

Parameter

BufferSize

Gibt die Größe des zuzuordnenden Puffers in Bytes an.

PhysicalAddressConstraint

Gibt eine optionale Einschränkung an, die für die physische Adresse des Puffers platziert werden soll. Wenn dieser Parameter nicht NULL ist, variieren nur die Bits, die in der Einschränkungsadresse festgelegt sind, vom Anfang bis zum Ende des Puffers. Wenn Sie beispielsweise einen Puffer anfordern möchten, der eine Grenze von 64 Kb nicht überschreitet, geben Sie die physische Adresseinschränkung 0x000000000000FFFF an.

Rückgabewert

Diese Methode gibt NTSTATUS zurück. AllocateBuffer gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich war. Andernfalls gibt die Methode einen geeigneten Fehlercode zurück.

Hinweise

Diese Methode muss nur einmal nach der Erstellung des DMA-Kanalobjekts aufgerufen werden, es sei denn, der zuvor zugewiesene Puffer wird zuerst durch Aufrufen von FreeBuffer freigegeben.

Anforderungen

Anforderung Wert
Header portcls.h
IRQL PASSIVE_LEVEL

Weitere Informationen

IDmaChannel