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 |
|
Le paramètre dwFlags contient des indicateurs mutuellement exclusifs. |
|
Le flux d’octets n’est pas pris en charge. |
|
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 |