KsAddItemToObjectBag 関数 (ks.h)
KsAddItemToObjectBag 関数は、指定されたオブジェクト バッグにオブジェクトまたはメモリ ブロックを追加します。
構文
KSDDKAPI NTSTATUS KsAddItemToObjectBag(
[in] KSOBJECT_BAG ObjectBag,
[in] __drv_aliasesMem PVOID Item,
[in, optional] PFNKSFREE Free
);
パラメーター
[in] ObjectBag
要求されたアイテムを追加するKSOBJECT_BAG (PVOID 型と同等)。 すべての AVStream オブジェクト ( KSFILTER や KSPIN など) には、 Bag という名前のメンバーが含まれています。 このパラメーターでそのメンバーを渡します。
[in] Item
オブジェクト バッグに追加する項目へのポインター。
[in, optional] Free
アイテムがオブジェクト バッグから削除されたとき、またはオブジェクト バッグが削除されたときに呼び出される関数。 この関数は通常、Item に関連付けられている動的メモリを解放するために使用 されます。 関数は次のようにプロトタイプ化する必要があります。
void Free (IN PVOID Data);
呼び出し元がこの省略可能なパラメーターを指定しない場合、オブジェクト バッグから削除されたとき、またはオブジェクト バッグが削除されると、 Item は ExFreePool で解放されます。
戻り値
は、追加が正常に行ったことを示すSTATUS_SUCCESSを返すか、操作を続行するためのシステム リソースが不足していることを示すSTATUS_INSUFFICIENT_RESOURCESを返します。
注釈
KsAddItemToObjectBag を呼び出す前に、ミニドライバーは特定のオブジェクト バッグに関連付けられているミューテックスを取得する必要があります。 ObjectBag が KSDEVICE または KSFILTERFACTORY のメンバーである場合は、デバイス ミューテックスを取得します。 バッグが KSFILTER のメンバーである場合は、フィルター 制御ミューテックスを取得します。 バッグが KSPIN オブジェクトのメンバーである場合は、親 KSFILTER のフィルター 制御ミューテックスを取得します。
詳細については、「AVStream のオブジェクト バッグ と ミューテックス」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Microsoft Windows XP 以降のオペレーティング システムおよび DirectX 8.0 以降の DirectX バージョンで使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | ks.h (Ks.h を含む) |
Library | Ks.lib |
IRQL | PASSIVE_LEVEL |