File di libreria e impostazioni del compilatore

[La funzionalità associata a questa pagina, Windows Media Format 11 SDK, è una funzionalità legacy. È stata sostituita da Lettore di origine e Writer sink. Lettore di origine e Writer sink sono stati ottimizzati per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi Lettore di origine e Writer sink anziché Windows Media Format 11 SDK, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Per sviluppare un'applicazione usando Windows Media Format SDK, è necessario usare Microsoft Visual C++ versione 6.0 o successiva. Gli unici linguaggi di programmazione appropriati per lo sviluppo sono C++ e C.

Il contenuto dei vari file di intestazione inclusi in questo SDK è descritto nella tabella seguente.

File di intestazione Descrizione
asferr.h Definisce i codici di errore relativi alle operazioni del file ASF. Questa intestazione è inclusa in wmsdk.h.
drmexternals.h Definisce strutture, enumerazioni e costanti usate per la gestione dei diritti digitali (DRM). Includere questa intestazione durante la scrittura di un'applicazione che usa DRM.
dshowasf.h Definisce i filtri QASF di Microsoft DirectShow. Includere questa intestazione durante la scrittura di un'applicazione DirectShow che crea o legge i file ASF. Per altre informazioni, vedere DirectShow e Windows Media.
msnetobj.h Definisce l'interfaccia IRMGetLicense , implementata in una delle librerie di runtime installate con Windows Media Format SDK.
nserror.h Definisce i codici di errore per Windows Media Technologies. Solo un subset di questi codici di errore è rilevante per Windows Media Format SDK. Questa intestazione è inclusa in wmsdk.h.
wmdxva.h Include altre intestazioni e definizioni necessarie per abilitare l'accelerazione video DirectX Microsoft per la riproduzione di contenuti basati su Windows Media. Per altre informazioni, vedere Abilitazione dell'accelerazione video DirectX.
wmnetsourcecreator.h Contiene informazioni necessarie per creare plug-in di origine di rete.
wmsbuffer.h Definisce le interfacce usate dagli oggetti buffer. Includere questa intestazione durante la creazione di buffer personalizzati per la lettura di file.
wmsdk.h Intestazione principale per le applicazioni che usano Windows Media Format SDK. Questa intestazione non contiene definizioni, ma include asferr.h, nserror.h, windows.h e wmsdkidl.h. Includere questa intestazione per tutte le applicazioni che usano questo SDK.
wmsdkidl.h Definisce le interfacce, le funzioni, le strutture, le enumerazioni e le costanti per la maggior parte degli oggetti di Windows Media Format SDK. Questa intestazione è inclusa in wmsdk.h.
wmsinternaladminnetsource.h Definisce le interfacce dei plug-in di origine di rete.
wmsysprf.h Definisce le costanti per i profili di sistema. Includere questa intestazione nelle applicazioni che caricano i profili di sistema in base all'identificatore.

Per usare Windows Media Format SDK, il compilatore deve essere configurato correttamente. La configurazione è diversa per la compilazione in modalità di debug rispetto alla modalità di rilascio. Configurare l'impostazione in base alla tabella seguente. Tutte queste impostazioni sono configurate nella finestra di dialogo Impostazioni progetto. Per accedere alla finestra di dialogo, selezionare Impostazioni dal menu Progetto .

Impostazione Valore di debug Valore di versione
(scheda C/C++, Categoria = Generazione di codice) Usare la libreria di runtime Debug Multithreaded DLL Multithreaded DLL
(Scheda Collegamento, Categoria = Generale) Ignorare tutte le librerie predefinite (casella di controllo) Selezionato Selezionato
(Scheda Collegamento, Categoria = Generale) Moduli oggetto/libreria Includere Msvcrtd.lib e Wmvcore.lib.Do non includere Libc.lib o alcuna variante.
Includere Msvcrt.lib e Wmvcore.lib.Do non includere Libc.lib o alcuna variante.

Se si usa Microsoft Visual Studio .NET, le impostazioni sono state modificate in posizioni diverse, come illustrato nella tabella seguente. Tutte queste impostazioni vengono configurate nella finestra di dialogo Pagine proprietà . Per accedere alla finestra di dialogo, fare clic con il pulsante destro del mouse sul progetto nel riquadro Esplora soluzioni e selezionare Proprietà dal menu di scelta rapida.

Impostazione Valore di debug Valore di versione
(Proprietà di configurazione/ C/C++ / Generazione di codice) Libreria di runtime DLL di debug multi-thread (/MTd) DLL multi-thread (/MD)
(Proprietà di configurazione/Linker/Input) Dipendenze aggiuntive Includere Msvcrtd.lib e Wmvcore.lib.Do non includere Libc.lib o alcuna variante.
Includere Msvcrt.lib e Wmvcore.lib.Do non includere Libc.lib o alcuna variante.
(Proprietà di configurazione/Linker/Input) Ignorare tutte le librerie predefinite

Se si vuole ritardare il caricamento di Wmvcore.dll o qualsiasi altra DLL, usare l'opzione di collegamento /DELAYLOAD in Microsoft Visual C++ 6.0 o Le DLL caricate ritardato in Microsoft Visual C++ .NET.

È inoltre necessario includere le directory per le librerie e le intestazioni di Windows Media Format SDK. Per trovare le impostazioni della directory per Visual C++ 6.0, nel menu Strumenti fare clic su Opzioni e quindi fare clic sulla scheda Directory . Quando si usa Visual C++ .NET, fare clic su Opzioni nel menu Strumenti e quindi selezionare Progetti/Directory VC++ nell'elenco opzioni. Aggiungere directory come illustrato nella tabella seguente. Se è stata modificata la directory di installazione per Windows Media Format SDK, il percorso sarà diverso.

Tipo di directory Percorso predefinito
File di inclusione C:\WMSDK\WMFSDK11\include
File di libreria C:\WMSDK\WMFSDK11\lib

Se si usa Platform SDK, i percorsi predefiniti verranno visualizzati come segue:

Tipo di directory Percorso predefinito
File di inclusione C:\Programmi\Microsoft SDsK\Windows\v6.0\Include
File di libreria C:\Programmi\Microsoft SDsK\Windows\v6.0\Lib

Prima di chiamare una delle funzioni di creazione, COM deve essere inizializzato con una chiamata a Coinitialize o CoinitializeEx. È possibile usare il modello di threading libero o il modello di threading apartment, ma il modello di threading apartment impone restrizioni di threading per l'applicazione. Per altre informazioni su Microsoft Component Object Model (COM), vedere la pagina COM nel sito Web Microsoft.

Nota Le applicazioni che giocano o creano file protetti da Digital Rights Management (DRM) richiedono una libreria statica personalizzata che deve essere ottenuta separatamente da Microsoft. Per altre informazioni, vedere Windows Media Licensing Form nel sito Web Microsoft. Se si usa la libreria DRM, non è consigliabile collegarsi a Wmvcore.lib.

Introduzione