次の方法で共有


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

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

[in] Free

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

戻り値

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

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

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

備考

KsRemoveItemFromObjectBag 、この項目 参照の数が 0 で空きが要求された場合にのみ、Item を解放します。

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

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

必要条件

要件 価値
サポートされる最小クライアント Microsoft Windows XP 以降のオペレーティング システムと DirectX 8.0 以降の DirectX バージョンで使用できます。
ターゲット プラットフォーム 万国
ヘッダー ks.h (Ks.h を含む)
ライブラリ Ks.lib
IRQL PASSIVE_LEVEL

関連項目

KsAddItemToObjectBag

KsAllocateObjectBag

KsCopyObjectBagItems する

KsDiscard する

KsFreeObjectBag する

KsMergeAutomationTables