Share via


Fonction MFCreateSinkWriterFromURL (mfreadwrite.h)

Crée l’enregistreur récepteur à partir d’une URL ou d’un flux d’octets.

Syntaxe

HRESULT MFCreateSinkWriterFromURL(
  [in]  LPCWSTR       pwszOutputURL,
  [in]  IMFByteStream *pByteStream,
  [in]  IMFAttributes *pAttributes,
  [out] IMFSinkWriter **ppSinkWriter
);

Paramètres

[in] pwszOutputURL

Chaîne terminée par null qui contient l’URL du fichier de sortie. Ce paramètre peut être NULL.

[in] pByteStream

Pointeur vers l’interface IMFByteStream d’un flux d’octets. Ce paramètre peut être NULL.

Si ce paramètre est un pointeur valide, l’enregistreur récepteur écrit dans le flux d’octets fourni. (Le flux d’octets doit être accessible en écriture.) Sinon, si pByteStream a la valeur NULL, l’enregistreur récepteur crée un fichier nommé pwszOutputURL.

[in] pAttributes

Pointeur vers l’interface IMFAttributes . Vous pouvez utiliser ce paramètre pour configurer l’enregistreur récepteur. Pour plus d’informations, consultez Attributs de l’enregistreur de récepteurs. Ce paramètre peut être NULL.

[out] ppSinkWriter

Reçoit un pointeur vers l’interface IMFSinkWriter . L’appelant doit libérer l’interface.

Valeur retournée

Cette fonction peut retourner l’une de ces valeurs.

Code de retour Description
S_OK
Réussite.
MF_E_NOT_FOUND
L’URL spécifiée est introuvable.

Remarques

Appelez CoInitialize(Ex) et MFStartup avant d’appeler cette fonction.

Les trois premiers paramètres de cette fonction peuvent être NULL ; toutefois, seules certaines combinaisons sont valides :

Description pwszOutputURL pByteStream pAttributes
Spécifiez un flux d’octets, sans URL. NULL non NULL Obligatoire (ne doit pas être NULL).
Spécifiez une URL, sans flux d’octets. non NULL NULL Facultatif (peut être NULL).
Spécifiez à la fois une URL et un flux d’octets. non NULL non NULL Facultatif (peut être NULL).
 

Le paramètre pAttributes est requis dans le premier cas et facultatif dans les autres.

  • Cas 1 : spécifiez un flux d’octets sans URL. Le paramètre pAttributes doit pointer vers un magasin d’attributs qui contient l’attribut MF_TRANSCODE_CONTAINERTYPE . L’enregistreur récepteur utilise l’attribut MF_TRANSCODE_CONTAINERTYPE pour déterminer le type de conteneur de fichiers à écrire, par exemple ASF ou MP4.
  • Cas 2 : spécifiez une URL sans flux d’octets. Le writer récepteur crée un fichier nommé pwszOutputURL. Si pAttributes spécifie un magasin d’attributs avec l’attribut MF_TRANSCODE_CONTAINERTYPE , l’enregistreur récepteur utilise cet attribut pour déterminer le type de conteneur de fichiers. Sinon, si l’attribut MF_TRANSCODE_CONTAINERTYPE est absent ou si pAttributes a la valeur NULL, l’enregistreur récepteur utilise l’extension de nom de fichier pour sélectionner le type de conteneur ; par exemple, « .asf » pour un fichier ASF.
  • Cas 3 : spécifiez à la fois une URL et un flux d’octets. L’enregistreur récepteur écrit dans le flux d’octets. L’URL fournie dans pwszOutputURL est à information uniquement ; l’enregistreur récepteur ne crée pas de fichier. Si pAttributes spécifie un magasin d’attributs avec l’attribut MF_TRANSCODE_CONTAINERTYPE , l’enregistreur récepteur utilise cet attribut pour déterminer le type de conteneur de fichiers. Sinon, l’enregistreur récepteur utilise l’extension de nom de fichier pour sélectionner le type de conteneur. Dans ce cas, l’attribut MF_TRANSCODE_CONTAINERTYPE remplace l’extension de nom de fichier URL.
Cette fonction est disponible sur Windows Vista si le Supplément de mise à jour de la plateforme pour Windows Vista est installé.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7, Windows Vista et supplément de mise à jour de plateforme pour Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête mfreadwrite.h
Bibliothèque Mfreadwrite.lib
DLL Mfreadwrite.dll

Voir aussi

Fonctions Media Foundation