Função KsAddItemToObjectBag (ks.h)
A função KsAddItemToObjectBag adiciona um objeto ou bloco de memória ao recipiente de objeto fornecido.
Sintaxe
KSDDKAPI NTSTATUS KsAddItemToObjectBag(
[in] KSOBJECT_BAG ObjectBag,
[in] __drv_aliasesMem PVOID Item,
[in, optional] PFNKSFREE Free
);
Parâmetros
[in] ObjectBag
O KSOBJECT_BAG (equivalente ao tipo PVOID) ao qual adicionar o item solicitado. Cada objeto AVStream (por exemplo, KSFILTER e KSPIN) contém um membro chamado Bag. Passe esse membro nesse parâmetro.
[in] Item
Um ponteiro para o item a ser adicionado ao recipiente de objetos.
[in, optional] Free
Uma função que é chamada quando o item é removido do recipiente de objetos ou quando o recipiente de objetos é excluído. Normalmente, essa função é usada para liberar qualquer memória dinâmica associada ao Item. A função deve ser protótipo da seguinte maneira:
void Free (IN PVOID Data);
Se o chamador não especificar esse parâmetro opcional, Item será liberado com ExFreePool quando removido do recipiente de objetos ou quando o recipiente de objetos for excluído.
Retornar valor
Retorna STATUS_SUCCESS indicando que a adição ocorreu normalmente ou STATUS_INSUFFICIENT_RESOURCES indicando que não há recursos suficientes do sistema para a operação continuar.
Comentários
Antes de chamar KsAddItemToObjectBag, o minidriver deve adquirir o mutex associado ao recipiente de objeto específico. Se ObjectBag for membro de um KSDEVICE ou KSFILTERFACTORY, adquira o mutex do dispositivo. Se o recipiente for membro de um KSFILTER, adquira o mutex de controle de filtro. Se o recipiente for membro de um objeto KSPIN , adquira o mutex de controle de filtro do KSFILTER pai.
Para obter mais informações, consulte Sacos de objeto e mutexes no AVStream.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Microsoft Windows XP e em sistemas operacionais posteriores e no DirectX 8.0 e versões posteriores do DirectX. |
Plataforma de Destino | Universal |
Cabeçalho | ks.h (inclua Ks.h) |
Biblioteca | Ks.lib |
IRQL | PASSIVE_LEVEL |