次の方法で共有


IDmaChannel::AllocateBuffer メソッド (portcls.h)

AllocateBuffer メソッドは、ポート ドライバーと DMA ハードウェアからアクセスできる共通バッファーを割り当てます。

構文

NTSTATUS AllocateBuffer(
  ULONG             BufferSize,
  PPHYSICAL_ADDRESS PhysicalAddressConstraint
);

パラメーター

BufferSize

割り当てるバッファーのサイズをバイト単位で指定します。

PhysicalAddressConstraint

バッファーの物理アドレスに配置するオプションの制約を指定します。 このパラメーターが NULL 以外の場合、制約アドレスに設定されているビットのみがバッファーの先頭から末尾まで異なります。 たとえば、64 キロバイト境界を越えないバッファーを要求するには、物理アドレス制約0x000000000000FFFFを指定します。

戻り値

このメソッドは NTSTATUS を返します。 AllocateBuffer は、呼び出しが成功した場合STATUS_SUCCESSを返します。 それ以外の場合、メソッドは適切なエラー コードを返します。

注釈

このメソッドは、以前に割り当てられたバッファーが FreeBuffer を呼び出して最初に解放されない限り、DMA チャネル オブジェクトの作成後に 1 回だけ呼び出す必要があります。

要件

要件
Header portcls.h
IRQL PASSIVE_LEVEL

こちらもご覧ください

IDmaChannel