Partager via


MÉTHODE IMFSourceResolver::BeginCreateObjectFromByteStream (mfidl.h)

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

Syntaxe

HRESULT BeginCreateObjectFromByteStream(
  [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 terminée par null qui contient l’URL d’origine du flux d’octets. Ce paramètre peut être NULL.

[in] dwFlags

Or au niveau du bit d’un ou de 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. La méthode transmet le magasin de propriétés au gestionnaire de flux d’octets. Le gestionnaire de flux d’octets peut utiliser le magasin de propriétés pour configurer la source du média. 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 IMFSourceResolver::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_SOURCERESOLVER_MUTUALLY_EXCLUSIVE_FLAGS
Le paramètre dwFlags contient des indicateurs mutuellement exclusifs.
MF_E_UNSUPPORTED_BYTESTREAM_TYPE
Le flux d’octets n’est pas pris en charge.
MF_E_BYTESTREAM_NOT_SEEKABLE
Le flux d’octets ne prend pas en charge la recherche.

Notes

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

Le programme de résolution source tente de trouver un ou plusieurs gestionnaires de flux d’octets pour le flux d’octets, en fonction de l’extension de nom de fichier de l’URL ou du type MIME du flux d’octets (ou les deux). L’URL est spécifiée dans le paramètre facultatif pwszURL , et le type MIME peut être spécifié dans l’attribut MF_BYTESTREAM_CONTENT_TYPE sur le flux d’octets. Les gestionnaires de flux d’octets sont inscrits par extension de nom de fichier ou par type MIME, ou les deux, comme décrit dans Gestionnaires de schémas et gestionnaires de Byte-Stream. L’appelant doit spécifier au moins une de ces valeurs.

Une fois l’opération terminée, le programme de résolution source appelle la méthode IMFAsyncCallback::Invoke . La méthode Invoke doit appeler IMFSourceResolver::EndCreateObjectFromByteStream pour obtenir un pointeur vers la source multimédia.

Configuration requise

   
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

IMFSourceResolver

Programme de résolution de source