KsAddItemToObjectBag, fonction (ks.h)
La fonction KsAddItemToObjectBag ajoute un objet ou un bloc de mémoire au sac d’objets donné.
Syntaxe
KSDDKAPI NTSTATUS KsAddItemToObjectBag(
[in] KSOBJECT_BAG ObjectBag,
[in] __drv_aliasesMem PVOID Item,
[in, optional] PFNKSFREE Free
);
Paramètres
[in] ObjectBag
Le KSOBJECT_BAG (équivalent au type PVOID) auquel ajouter l’élément demandé. Chaque objet AVStream (par exemple, KSFILTER et KSPIN) contient un membre appelé Bag. Transmettez ce membre dans ce paramètre.
[in] Item
Pointeur vers l’élément à ajouter au sac d’objets.
[in, optional] Free
Fonction appelée lorsque l’élément est supprimé du sac d’objets ou lorsque le conteneur d’objets est supprimé. Cette fonction est généralement utilisée pour libérer toute mémoire dynamique associée à Item. La fonction doit être prototype comme suit :
void Free (IN PVOID Data);
Si l’appelant ne spécifie pas ce paramètre facultatif, Item est libéré avec ExFreePool lorsqu’il est supprimé du sac d’objets ou lorsque le sac d’objets est supprimé.
Valeur retournée
Retourne STATUS_SUCCESS indiquant que l’ajout s’est déroulé normalement ou STATUS_INSUFFICIENT_RESOURCES indiquant que les ressources système sont insuffisantes pour que l’opération se poursuive.
Remarques
Avant d’appeler KsAddItemToObjectBag, le minidriver doit acquérir le mutex associé au sac d’objets spécifique. Si ObjectBag est membre d’un objet KSDEVICE ou KSFILTERFACTORY, achetez le mutex d’appareil. Si le sac est membre d’un KSFILTER, achetez le mutex du contrôle de filtre. Si le sac est membre d’un objet KSPIN , achetez le mutex du contrôle de filtre KSFILTER parent.
Pour plus d’informations, consultez Sacsd’objets et mutexes dans AVStream.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Microsoft Windows XP et les systèmes d’exploitation ultérieurs et DirectX 8.0 et versions ultérieures de DirectX. |
Plateforme cible | Universal |
En-tête | ks.h (inclure Ks.h) |
Bibliothèque | Ks.lib |
IRQL | PASSIVE_LEVEL |