次の方法で共有


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 オブジェクト ( KSFILTERKSPIN など) には、 Bag という名前のメンバーが含まれています。 このパラメーターでそのメンバーを渡します。

[in] Item

オブジェクト バッグに追加する項目へのポインター。

[in, optional] Free

アイテムがオブジェクト バッグから削除されたとき、またはオブジェクト バッグが削除されたときに呼び出される関数。 この関数は通常、Item に関連付けられている動的メモリを解放するために使用 されます。 関数は次のようにプロトタイプ化する必要があります。

void Free (IN PVOID Data);

呼び出し元がこの省略可能なパラメーターを指定しない場合、オブジェクト バッグから削除されたとき、またはオブジェクト バッグが削除されると、 ItemExFreePool で解放されます。

戻り値

は、追加が正常に行ったことを示すSTATUS_SUCCESSを返すか、操作を続行するためのシステム リソースが不足していることを示すSTATUS_INSUFFICIENT_RESOURCESを返します。

注釈

KsAddItemToObjectBag を呼び出す前に、ミニドライバーは特定のオブジェクト バッグに関連付けられているミューテックスを取得する必要があります。 ObjectBagKSDEVICE または KSFILTERFACTORY のメンバーである場合は、デバイス ミューテックスを取得します。 バッグが KSFILTER のメンバーである場合は、フィルター 制御ミューテックスを取得します。 バッグが KSPIN オブジェクトのメンバーである場合は、親 KSFILTER のフィルター 制御ミューテックスを取得します。

詳細については、「AVStream のオブジェクト バッグミューテックス」を参照してください。

要件

要件
サポートされている最小のクライアント Microsoft Windows XP 以降のオペレーティング システムおよび DirectX 8.0 以降の DirectX バージョンで使用できます。
対象プラットフォーム ユニバーサル
Header ks.h (Ks.h を含む)
Library Ks.lib
IRQL PASSIVE_LEVEL

こちらもご覧ください

ExFreePool

KsAllocateObjectBag

KsCopyObjectBagItems

KsDiscard

KsFreeObjectBag

KsRemoveItemFromObjectBag

_KsEdit