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 |