次の方法で共有


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 で使用できます。
ターゲット プラットフォーム 万国
ヘッダー portcls.h (Portcls.h を含む)
ライブラリ Portcls.lib
IRQL <= DISPATCH_LEVEL (「解説」セクションを参照)

関連項目

IPortClsNotifications