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 |