Metodo IDmaChannel::AllocateBuffer (portcls.h)
Il metodo AllocateBuffer alloca un buffer comune a cui è possibile accedere dal driver di porta e dall'hardware DMA.
Sintassi
NTSTATUS AllocateBuffer(
ULONG BufferSize,
PPHYSICAL_ADDRESS PhysicalAddressConstraint
);
Parametri
BufferSize
Specifica le dimensioni in byte del buffer da allocare.
PhysicalAddressConstraint
Specifica un vincolo facoltativo da inserire nell'indirizzo fisico del buffer. Se questo parametro non è NULL, solo i bit impostati nell'indirizzo del vincolo variano dall'inizio alla fine del buffer. Ad esempio, per richiedere un buffer che non supera un limite di 64 kilobyte, specificare il vincolo di indirizzo fisico 0x000000000000FFFF.
Valore restituito
Questo metodo restituisce NTSTATUS. AllocateBuffer restituisce STATUS_SUCCESS se la chiamata ha esito positivo. In caso contrario, il metodo restituisce un codice di errore appropriato.
Commenti
Questo metodo deve essere chiamato una sola volta dopo la creazione dell'oggetto canale DMA, a meno che il buffer allocato in precedenza non venga prima liberato chiamando FreeBuffer.
Requisiti
Requisito | Valore |
---|---|
Intestazione | portcls.h |
IRQL | PASSIVE_LEVEL |