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 |
---|---|
|
Réussite. |
|
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.
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 |