次の方法で共有


KsRemoveItemFromObjectBag 関数 (ks.h)

KsRemoveItemFromObjectBag 関数は、オブジェクト バッグから項目を削除します。

構文

KSDDKAPI ULONG KsRemoveItemFromObjectBag(
  [in] KSOBJECT_BAG ObjectBag,
  [in] PVOID        Item,
  [in] BOOLEAN      Free
);

パラメーター

[in] ObjectBag

このパラメーターは、Item を削除するKSOBJECT_BAG (PVOID 型と同等) を指定 します

[in] Item

要求されたオブジェクト バッグから削除する項目へのポインター。 Item は要求されたオブジェクト バッグからのみ削除されることに注意してください。 それ以外のオブジェクト バッグから取り外されることはありません。

[in] Free

このパラメーターは、指定したオブジェクト バッグから削除された Item を解放するかどうかを指定します。 Item が他のオブジェクト バッグに含まれていない場合にのみ、FreeTRUE に設定します。

戻り値

Item の参照の数を返 します。 戻り値が 0 の場合は、呼び出し時に ItemObjectBag に含まれなかったことを示します。

1 の戻り値は 、ItemObjectBag から正常に削除され、他のオブジェクト バッグに含まれていないことを示します。 この場合、Free が要求された場合、AVStream は ExFreePool または KsAddItemToObjectBag 呼び出し時に指定された Free メソッドを使用して Item を解放します

1 より上の戻り値は、項目が別のオブジェクト バッグに存在し、その上に参照が残っていることを示します。 この場合、AVStream は ObjectBag から Item を削除しましたが、 Free の値に関係なく解放しませんでした。

注釈

KsRemoveItemFromObjectBag、このアイテム の参照数が 0 で、free が要求された場合にのみ Item を解放します。

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

バッグに関連付けられているミューテックスを保持する必要があることに注意してください。 詳細については、「 AVStream のミューテックス」を参照してください。

要件

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

こちらもご覧ください

KsAddItemToObjectBag

KsAllocateObjectBag

KsCopyObjectBagItems

KsDiscard

KsFreeObjectBag

KsMergeAutomationTables