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 (「解説」セクションを参照) |