Partager via


Méthode IMFByteStreamHandler ::BeginCreateObject (mfidl.h)

Commence une demande asynchrone pour créer une source multimédia à partir d’un flux d’octets.

Syntaxe

HRESULT BeginCreateObject(
  [in]  IMFByteStream    *pByteStream,
  [in]  LPCWSTR          pwszURL,
  [in]  DWORD            dwFlags,
  [in]  IPropertyStore   *pProps,
  [out] IUnknown         **ppIUnknownCancelCookie,
  [in]  IMFAsyncCallback *pCallback,
  [in]  IUnknown         *punkState
);

Paramètres

[in] pByteStream

Pointeur vers l’interface IMFByteStream du flux d’octets.

[in] pwszURL

Chaîne qui contient l’URL d’origine du flux d’octets. Ce paramètre peut être NULL.

[in] dwFlags

OR au niveau du bit de zéro ou plusieurs indicateurs. Consultez Indicateurs du programme de résolution de source.

[in] pProps

Pointeur vers l’interface IPropertyStore d’un magasin de propriétés. Le gestionnaire de flux d’octets peut utiliser ce magasin de propriétés pour configurer l’objet. Ce paramètre peut être NULL. Pour plus d’informations, consultez Configuration d’une source multimédia.

[out] ppIUnknownCancelCookie

Reçoit un pointeur IUnknown ou la valeur NULL. Si la valeur n’est pas NULL, vous pouvez annuler l’opération asynchrone en passant ce pointeur à la méthode IMFByteStreamHandler ::CancelObjectCreation . L’appelant doit libérer l’interface. Ce paramètre peut être NULL.

[in] pCallback

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_CANNOT_PARSE_BYTESTREAM
Impossible d’analyser le flux d’octets.

Remarques

Le paramètre dwFlags doit contenir l’indicateur MF_RESOLUTION_MEDIASOURCE et ne doit pas contenir l’indicateur MF_RESOLUTION_BYTESTREAM.

Le gestionnaire de flux d’octets est responsable de l’analyse du flux et de la validation du contenu. Si le flux n’est pas valide ou si le gestionnaire de flux d’octets ne peut pas analyser le flux, le gestionnaire doit retourner un code d’échec. Le flux d’octets n’est pas garanti pour correspondre au type de flux que le gestionnaire d’octets est conçu pour analyser.

Si le paramètre pwszURL n’est pas NULL, le gestionnaire de flux d’octets peut utiliser l’URL pendant le processus de résolution. (Par exemple, il peut utiliser l’extension de nom de fichier, le cas échéant.) En outre, le flux d’octets peut contenir l’attribut MF_BYTESTREAM_CONTENT_TYPE , en spécifiant le type MIME.

Une fois l’opération terminée, le gestionnaire de flux d’octets appelle la méthode IMFAsyncCallback ::Invoke . La méthode Invoke doit appeler IMFByteStreamHandler ::EndCreateObject pour obtenir un pointeur vers la source multimédia.

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 Mfuuid.lib

Voir aussi

IMFByteStreamHandler

Gestionnaires de schémas et gestionnaires de Byte-Stream