Freigeben über


IDmaChannel::AllocateBuffer-Methode (portcls.h)

Die AllocateBuffer-Methode weist einen allgemeinen Puffer zu, auf den über den Porttreiber und die DMA-Hardware zugegriffen werden kann.

Syntax

NTSTATUS AllocateBuffer(
  ULONG             BufferSize,
  PPHYSICAL_ADDRESS PhysicalAddressConstraint
);

Parameter

BufferSize

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

PhysicalAddressConstraint

Gibt eine optionale Einschränkung an, die für die physische Adresse des Puffers festgelegt werden soll. Wenn dieser Parameter ungleich NULL ist, variieren nur die Bits, die in der Einschränkungsadresse festgelegt sind, von Anfang bis Ende des Puffers. Wenn Sie beispielsweise einen Puffer anfordern möchten, der keine Grenze von 64 KB ü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.

Bemerkungen

Diese Methode muss nur einmal aufgerufen werden, nachdem das DMA-Channel-Objekt erstellt wurde, es sei denn, der zuvor zugewiesene Puffer wird zuerst durch Aufrufen von FreeBuffer freigegeben.

Anforderungen

Anforderung Wert
Header- portcls.h
IRQL- PASSIVE_LEVEL

Siehe auch

IDmaChannel