Condividi tramite


Metodo IMediaLocator::FindMediaFile

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Nota

[Deprecata. Questa API può essere rimossa dalle versioni future di Windows.]

 

Il FindMediaFile metodo cerca un file e, se ha esito positivo, recupera il percorso del file.

Sintassi

HRESULT FindMediaFile(
   BSTR Input,
   BSTR FilterString,
   BSTR *pOutput,
   long Flags
);

Parametri

Input

Nome file, incluso il percorso, in cui il file è stato noto per l'ultima volta. Per gli oggetti di origine nella sequenza temporale, usare il nome multimediale corrente.

FilterString

BSTR contenente coppie di stringhe di filtro, formattate come richiesto dal membro lpstrFilter della struttura OPENFILENAME. Il localizzatore multimediale usa questo filtro se visualizza una finestra di dialogo Apri file. Il valore può essere NULL se il parametro Flags non include il flag di SFN_VALIDATEF_POPUP.

pOutput

Puntatore a una variabile che riceve il percorso effettivo del file, se differisce dal valore contenuto in Input e se il metodo individua correttamente il file.

Flag

Combinazione bit per bit di zero o più flag. Per un elenco di flag possibili, vedere Flag di convalida del nome file.

Valore restituito

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

La stringa di filtro per la finestra di dialogo Apri file, specificata dal parametro FilterString , contiene caratteri Null interni. Ad esempio, Video\0*.avi\0\0 è una stringa di filtro valida. Non è possibile usare la funzione SysAllocStr per allocare il BSTR, perché tale funzione prevede una stringa con terminazione Null e tronca la stringa al primo carattere Null. Usare pertanto una funzione, ad esempio SysAllocStringLen, che include un parametro esplicito per la lunghezza:

BSTR filter = SysAllocStringLen(L"Video\0*.avi\0", 12);
// Note: SysAllocStringLen appends an additional '\0' to the string.

Se l'utente annulla la finestra di dialogo Apri file, il metodo restituisce E_FAIL.

Il metodo alloca la memoria per il BSTR in pOutput. L'applicazione deve chiamare SysFreeString per liberare la memoria.

Nota

Il file di intestazione Qedit.h non è compatibile con intestazioni Direct3D successive alla versione 7.

 

Nota

Per ottenere Qedit.h, scaricare l'aggiornamento Microsoft Windows SDK per Windows Vista e .NET Framework 3.0. Qedit.h non è disponibile nella Microsoft Windows SDK per Windows 7 e .NET Framework 3.5 Service Pack 1.

 

Requisiti

Requisito Valore
Intestazione
Qedit.h
Libreria
Strmiids.lib

Vedi anche

Interfaccia IMediaLocator

Codici errore e esito positivo