Funzione MFCreateSinkWriterFromURL (mfreadwrite.h)

Crea il writer sink da un URL o da un flusso di byte.

Sintassi

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

Parametri

[in] pwszOutputURL

Stringa con terminazione Null contenente l'URL del file di output. Questo parametro può essere NULL.

[in] pByteStream

Puntatore all'interfaccia IMFByteStream di un flusso di byte. Questo parametro può essere NULL.

Se questo parametro è un puntatore valido, il writer sink scrive nel flusso di byte fornito. Il flusso di byte deve essere scrivibile. In caso contrario, se pByteStream è NULL, il writer sink crea un nuovo file denominato pwszOutputURL.

[in] pAttributes

Puntatore all'interfaccia IMFAttributes . È possibile usare questo parametro per configurare il writer sink. Per altre informazioni, vedere Attributi del writer sink. Questo parametro può essere NULL.

[out] ppSinkWriter

Riceve un puntatore all'interfaccia IMFSinkWriter . Il chiamante deve rilasciare l'interfaccia.

Valore restituito

Questa funzione può restituire uno di questi valori.

Codice restituito Descrizione
S_OK
Operazione completata.
MF_E_NOT_FOUND
L'URL specificato non è stato trovato.

Commenti

Chiama CoInitialize(Ex) e MFStartup prima di chiamare questa funzione.

I primi tre parametri per questa funzione possono essere NULL; Tuttavia, solo determinate combinazioni sono valide:

Descrizione pwszOutputURL pByteStream pAttributes
Specificare un flusso di byte senza URL. NULL non NULL Obbligatorio (non deve essere NULL).
Specificare un URL senza flusso di byte. not NULL NULL Facoltativo (può essere NULL).
Specificare sia un URL che un flusso di byte. non NULL non NULL Facoltativo (può essere NULL).
 

Il parametro pAttributes è obbligatorio nel primo caso e facoltativo negli altri.

  • Caso 1: specificare un flusso di byte senza UN URL. Il parametro pAttributes deve puntare a un archivio attributi che contiene l'attributo MF_TRANSCODE_CONTAINERTYPE . Il writer sink usa l'attributo MF_TRANSCODE_CONTAINERTYPE per determinare il tipo di contenitore di file da scrivere, ad esempio ASF o MP4.
  • Caso 2: specificare un URL senza un flusso di byte. Il writer sink crea un nuovo file denominato pwszOutputURL. Se pAttributes specifica un archivio di attributi con l'attributo MF_TRANSCODE_CONTAINERTYPE , il writer sink usa tale attributo per determinare il tipo di contenitore di file. In caso contrario, se l'attributo MF_TRANSCODE_CONTAINERTYPE è assente o pAttributes è NULL, il writer sink usa l'estensione del nome file per selezionare il tipo di contenitore; Ad esempio, ".asf" per un file ASF.
  • Caso 3: specificare sia un URL che un flusso di byte. Il writer sink scrive nel flusso di byte. L'URL fornito in pwszOutputURL è solo informativo; il writer sink non crea un nuovo file. Se pAttributes specifica un archivio di attributi con l'attributo MF_TRANSCODE_CONTAINERTYPE , il writer sink usa tale attributo per determinare il tipo di contenitore di file. In caso contrario, il writer sink usa l'estensione del nome file per selezionare il tipo di contenitore. L'attributo MF_TRANSCODE_CONTAINERTYPE esegue l'override dell'estensione del nome file URL in questo caso.
Questa funzione è disponibile in Windows Vista se è installato Platform Update Supplement per Windows Vista.

Requisiti

Requisito Valore
Client minimo supportato Supplemento per Windows 7, Windows Vista e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione mfreadwrite.h
Libreria Mfreadwrite.lib
DLL Mfreadwrite.dll

Vedi anche

Funzioni di Media Foundation