Metodo IDmaChannel::AllocateBuffer (portcls.h)

Il metodo AllocateBuffer alloca un buffer comune accessibile 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 è diverso da 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 avuto 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

   
Intestazione portcls.h
IRQL PASSIVE_LEVEL

Vedi anche

IDmaChannel