Partager via


Méthode IMFTrackedSample ::SetAllocator (mfidl.h)

Définit le propriétaire de l’exemple.

Syntaxe

HRESULT SetAllocator(
  [in] IMFAsyncCallback *pSampleAllocator,
  [in] IUnknown         *pUnkState
);

Paramètres

[in] pSampleAllocator

Pointeur vers l’interface IMFAsyncCallback d’un objet de rappel. L’appelant doit implémenter cette interface.

[in] pUnkState

Pointeur vers l’interface IUnknown d’un objet d’état, défini par l’appelant. Ce paramètre peut être NULL. Vous pouvez utiliser cet objet pour stocker des informations d’état. L’objet est retourné à l’appelant lorsque le rappel est appelé.

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.

Code de retour Description
S_OK
S_OK
MF_E_NOTACCEPTING
Le propriétaire était déjà défini. Cette méthode ne peut pas être appelée deux fois sur l’exemple.

Remarques

Lorsque cette méthode est appelée, l’exemple contient un nombre de références supplémentaire sur lui-même. Quand chaque autre objet libère son nombre de références sur l’exemple, l’exemple appelle la méthode de rappel pSampleAllocator . Pour obtenir un pointeur vers l’exemple, appelez IMFAsyncResult ::GetObject sur l’objet de résultat asynchrone donné à la méthode IMFAsyncCallback ::Invoke du rappel.

Une fois le rappel appelé, l’exemple efface le rappel. Pour rétablir le rappel, vous devez appeler à nouveau SetAllocator .

Il est possible de passer le pointeur d’interface IMFSample de l’exemple en tant qu’objet d’état (pUnkState) pour le rappel. Si pUnkState pointe vers l’exemple, la méthode SetAllocator tient compte du nombre de références supplémentaires sur pUnkState.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête mfidl.h
Bibliothèque Strmiids.lib

Voir aussi

IMFTrackedSample