次の方法で共有


IPortClsNotifications::AllocNotificationBuffer メソッド (portcls.h)

オーディオ モジュールと UWP アプリ間の通信を可能にするために、指定したサイズのバッファーを、通知の送信に使用するために、指定されたメモリ プールに割り当てます。

オーディオ モジュールの詳細については、「 オーディオ モジュール検出の実装」を参照してください。

構文

NTSTATUS AllocNotificationBuffer(
  [in]  POOL_TYPE              PoolType,
  [in]  USHORT                 NumberOfBytes,
  [out] PPCNOTIFICATION_BUFFER *NotificationBuffer
);

パラメーター

[in] PoolType

オブジェクトの割り当て元となるメモリ プールの種類を指定します ( POOL_TYPE参照)。 推奨される値は NonPagedPoolNx または PagedPool です。 メモリ プールの種類の選択も IRQL レベルによって異なります。 DISPATCH_LEVELで実行されている場合、メモリはページングされていない必要があります。

[in] NumberOfBytes

割り当てるバイト数。

[out] NotificationBuffer

メソッド が割 り当てられた通知のアドレスを書き込むPCNOTIFICATION_BUFFERへのポインター。

戻り値

STATUS_SUCCESS – ドライバーは通知バッファーを割り当てることができました。

STATUS_INVALID_PARAMETER – ドライバーは、他のエラー状態インスタンスの特定のケースを除いて、無効な他のパラメーターが見つかると、このエラーを返します。

追加の標準状態コードが返される場合があります。 たとえば、必要なバッファーを割り当てることができなければ、STATUS_INSUFFICIENT_RESOURCESが返されます。

注釈

AllocNotificationBuffer の呼び出し元は IRQL <= DISPATCH_LEVELで実行されている必要があります。 ドライバー ライターが IRQL = DISPATCH_LEVELでこのルーチンを呼び出す場合、NotificationStructure は非ページ メモリから割り当てる必要があります。

要件

要件
サポートされている最小のクライアント Windows 10 バージョン 1703 以降のバージョンの Windows で使用できます。
対象プラットフォーム ユニバーサル
Header portcls.h (Portcls.h を含む)
Library Portcls.lib
IRQL <= DISPATCH_LEVEL (「解説」セクションを参照)

こちらもご覧ください

IPortClsNotifications