Función KsAddItemToObjectBag (ks.h)
La función KsAddItemToObjectBag agrega un objeto o bloque de memoria al contenedor de objetos especificado.
Sintaxis
KSDDKAPI NTSTATUS KsAddItemToObjectBag(
[in] KSOBJECT_BAG ObjectBag,
[in] __drv_aliasesMem PVOID Item,
[in, optional] PFNKSFREE Free
);
Parámetros
[in] ObjectBag
El KSOBJECT_BAG (equivalente al tipo PVOID) al que se va a agregar el elemento solicitado. Cada objeto AVStream (por ejemplo, KSFILTER y KSPIN) contiene un miembro denominado Bag. Pase ese miembro en este parámetro.
[in] Item
Puntero al elemento que se va a agregar al contenedor de objetos.
[in, optional] Free
Función a la que se llama cuando se quita el elemento del contenedor de objetos o cuando se elimina el contenedor de objetos. Esta función se usa normalmente para liberar cualquier memoria dinámica asociada a Item. La función debe crear prototipos de la siguiente manera:
void Free (IN PVOID Data);
Si el autor de la llamada no especifica este parámetro opcional, Item se libera con ExFreePool cuando se quita del contenedor de objetos o cuando se elimina el contenedor de objetos.
Valor devuelto
Devuelve STATUS_SUCCESS que indica que la adición se ha ido normalmente o STATUS_INSUFFICIENT_RESOURCES que indica que no hay suficientes recursos del sistema para que la operación continúe.
Comentarios
Antes de llamar a KsAddItemToObjectBag, el minidriver debe adquirir la exclusión mutua asociada al contenedor de objetos específico. Si ObjectBag es miembro de un KSDEVICE o KSFILTERFACTORY, adquiera la exclusión mutua del dispositivo. Si la bolsa es miembro de un KSFILTER, adquiera la exclusión mutua del control de filtro. Si el contenedor es miembro de un objeto KSPIN , adquiera la exclusión mutua del control de filtro KSFILTER primaria.
Para obtener más información, vea Bolsas de objetos y exclusiones mutuas en AVStream.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Microsoft Windows XP y en sistemas operativos posteriores y DirectX 8.0 y versiones posteriores de DirectX. |
Plataforma de destino | Universal |
Encabezado | ks.h (incluye Ks.h) |
Library | Ks.lib |
IRQL | PASSIVE_LEVEL |