IDmaChannel::AllocateBuffer 方法 (portcls.h)
AllocateBuffer 方法會配置可由埠驅動程式和 DMA 硬體存取的通用緩衝區。
語法
NTSTATUS AllocateBuffer(
ULONG BufferSize,
PPHYSICAL_ADDRESS PhysicalAddressConstraint
);
參數
BufferSize
指定要配置之緩衝區的大小,以位元組為單位。
PhysicalAddressConstraint
指定要放在緩衝區實體位址上的選擇性條件約束。 如果此參數為非 NULL,則只有條件約束地址中設定的位會因緩衝區的開頭到結尾而有所不同。 例如,若要要求未跨越 64 KB 界限的緩衝區,請指定實體地址條件約束0x000000000000FFFF。
傳回值
這個方法會傳回NTSTATUS。 如果呼叫成功,AllocateBuffer 會傳回STATUS_SUCCESS。 否則,方法會傳回適當的錯誤碼。
備註
除非呼叫 FreeBuffer 先釋放先前配置的緩衝區,否則只有在建立 DMA 通道對象之後,才能呼叫這個方法。
規格需求
需求 | 值 |
---|---|
標頭 | portcls.h |
IRQL | PASSIVE_LEVEL |