IMiniportWaveRTStreamNotification::AllocateBufferWithNotification メソッド (portcls.h)
メソッドは AllocateAudioBufferWithNotification
、DMA 駆動型イベント通知を実装する場合に、オーディオ データに循環バッファーを割り当てます。 イベント通知が不要な場合は、 IMiniportWaveRTStream::AllocateAudioBuffer を使用する必要があります。
構文
NTSTATUS AllocateBufferWithNotification(
[in] ULONG NotificationCount,
[in] ULONG RequestedSize,
[out] PMDL *AudioBufferMdl,
[out] ULONG *ActualSize,
[out] ULONG *OffsetFromFirstPage,
[out] MEMORY_CACHING_TYPE *CacheType
);
パラメーター
[in] NotificationCount
バッファー サイクルごとに必要な通知の数を指定します。 有効な値は 1 または 2 です。ここで、1 は循環バッファーの末尾に 1 つの通知を示し、2 はバッファー サイクルごとに 2 つの通知を示します。1 つはバッファーの中間点に 1 つ、末尾に 1 つを示します。
[in] RequestedSize
オーディオ バッファーの要求されたサイズをバイト単位で指定します。
[out] AudioBufferMdl
オーディオ バッファーを記述するメモリ記述子リスト (MDL) の出力ポインター。 このパラメーターは、メソッドが MDL へのポインターを書き込む呼び出し元によって割り当てられたポインター変数を指します。
[out] ActualSize
割り当てられたバッファーの実際のサイズ (バイト単位) の出力ポインター。 このパラメーターは、メソッドがサイズ値を書き込む ULONG 変数を指します。
[out] OffsetFromFirstPage
MDL の最初のページの先頭からのバッファーのオフセット (バイト単位) の出力ポインター。 このパラメーターは、メソッドがオフセット値を書き込む呼び出し元によって割り当てられた ULONG 変数を指します。
[out] CacheType
クライアントがオーディオ バッファーに対して要求するキャッシュの種類を指定します。 このパラメーターは 、MEMORY_CACHING_TYPE 列挙値です
戻り値
AllocateBufferWithNotification
は、呼び出しが成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合、メソッドは適切なエラー状態コードを返します。 次の表は、考えられるエラー状態コードの一部を示しています。
リターン コード | 説明 |
---|---|
|
ドライバーは、バッファー属性の指定された組み合わせをサポートしていません。 |
|
バッファーの割り当てに使用できるメモリが不足しています。 |
|
デバイスの準備ができていません。 |
注釈
AllocateBufferWithNotification
呼び出して、後でポート ドライバーがクライアントの仮想アドレス空間にマップできる循環バッファーを割り当てます。 AllocateBufferWithNotification
は、 IMiniportWaveRTStream::AllocateAudioBuffer と同様の方法で動作します。 さらに、 AllocateBufferWithNotification
DMA ドリブン イベント通知が必要であることを WaveRT ポート ドライバーに識別し、循環バッファーのサイクルごとに必要な通知の数を指定します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降の Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | portcls.h |
IRQL | パッシブ レベル。 |
こちらもご覧ください
IMiniportWaveRTStream::AllocateAudioBuffer
IMiniportWaveRTStreamNotification