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 |