共用方式為


連結庫檔案和編譯程序設定

[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 來源讀取器接收寫入器已取代它。 來源讀取器接收寫入器 已針對 Windows 10 和 Windows 11 優化。 Microsoft強烈建議新程式代碼盡可能使用 來源讀取器接收寫入器,而不是 Windows Media Format 11 SDK。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]

若要使用 Windows 媒體格式 SDK 開發應用程式,您必須使用 Microsoft Visual C++ 6.0 版或更新版本。 唯一適合開發的程式設計語言是C++和 C。

下表說明此 SDK 隨附的各種頭文件內容。

頭檔 描述
asferr.h 定義與 ASF 檔案作業相關的錯誤碼。 此標頭包含在 wmsdk.h 中。
drmexternals.h 定義用於數位版權管理的結構、列舉和常數(DRM)。 撰寫使用DRM的應用程式時,請包含此標頭。
dshowasf.h 定義 Microsoft DirectShow QASF 篩選條件。 撰寫建立或讀取 ASF 檔案的 DirectShow 應用程式時,請包含此標頭。 如需詳細資訊,請參閱 DirectShow 和 Windows Media
msnetobj.h 定義 IRMGetLicense 介面,這個介面是在隨 Windows 媒體格式 SDK 一起安裝的其中一個運行時間連結庫中實作。
nserror.h 定義 Windows 媒體技術的錯誤碼。 只有這些錯誤碼的子集與 Windows 媒體格式 SDK 相關。 此標頭包含在 wmsdk.h 中。
wmdxva.h 包含啟用 Microsoft DirectX 影片加速以播放 Windows 媒體內容所需的其他標頭和定義。 如需詳細資訊,請參閱 啟用 DirectX 影片加速
wmnetsourcecreator.h 包含建立網路來源外掛程式所需的資訊。
wmsbuffer.h 定義緩衝區物件所使用的介面。 建立您自己的緩衝區以供檔案讀取時,請包含此標頭。
wmsdk.h 使用 Windows 媒體格式 SDK 之應用程式的主要標頭。 此標頭不包含任何定義,但包含 asferr.h、nserror.h、windows.h 和 wmsdkidl.h。 使用此 SDK 為所有應用程式包含此標頭。
wmsdkidl.h 針對 Windows 媒體格式 SDK 的大部分物件,定義介面、函式、結構、列舉和常數。 此標頭包含在 wmsdk.h 中。
wmsinternaladminnetsource.h 定義網路介面外掛程式。
wmsysprf.h 定義系統配置檔的常數。 在依標識碼載入系統設定檔的應用程式中包含此標頭。

若要使用 Windows 媒體格式 SDK,您必須正確設定您的編譯程式。 在偵錯模式中建置的組態與發行模式不同。 根據下表設定您的設定。 所有這些設定都是在 [項目設定] 對話框中設定。 若要移至對話框,請從 [專案] 功能表中選取 [設定]

設置 偵錯值 發行值
(C/C++索引標籤,類別 = 程式代碼產生)使用運行時間連結庫 偵錯多線程 DLL 多線程 DLL
(鏈接索引標籤,類別 = 一般)忽略所有預設連結庫 (複選框) 選擇 選擇
(鏈接索引標籤,類別 = 一般)物件/連結庫模組 包含 Msvcrtd.lib 和 Wmvcore.lib.Do 不包含 Libc.lib 或任何變化。
包含 Msvcrt.lib 和 Wmvcore.lib.Do 不包含 Libc.lib 或任何變化。

如果您使用 Microsoft Visual Studio .NET,則設定已變更為不同的位置,如下表所示。 所有這些設定都是在 [屬性頁] 對話框中設定。 若要前往對話框,請以滑鼠右鍵單擊 [方案總管] 窗格中的專案,然後從作功能表中選取 [屬性]

設置 偵錯值 發行值
(組態屬性 / C/C++ / 程式代碼產生)運行時間連結庫 多線程偵錯 DLL (/MDd) 多線程 DLL (/MD)
(組態屬性/連結器/輸入)其他相依性 包含 Msvcrtd.lib 和 Wmvcore.lib.Do 不包含 Libc.lib 或任何變化。
包含 Msvcrt.lib 和 Wmvcore.lib.Do 不包含 Libc.lib 或任何變化。
(組態屬性/連結器/輸入)忽略所有默認連結庫 是的 是的

如果您想要延遲載入 Wmvcore.dll或任何其他 DLL,請使用 Microsoft Visual C++ 6.0 中的連結選項 /DELAYLOAD,或Microsoft Visual C++ .NET 中延遲載入的 DLL。

此外,您必須包含 Windows 媒體格式 SDK 連結庫和標頭的目錄。 若要尋找 Visual C++ 6.0 的目錄設定,請在 [工具] 選單上,單擊 [選項],然後按兩下 [目錄] 索引標籤。使用 Visual C++ .NET 時,單擊 [工具] 選單上的 [選項],然後在選項清單中選取 [專案/ VC++ 目錄]。 新增目錄,如下表所示。 如果您變更 Windows 媒體格式 SDK 的安裝目錄,您的路徑將會不同。

目錄類型 默認路徑
包含檔案 C:\WMSDK\WMFSDK11\include
連結庫檔案 C:\WMSDK\WMFSDK11\lib

如果您使用平臺 SDK,則預設路徑會顯示如下:

目錄類型 默認路徑
包含檔案 C:\Program Files\Microsoft SDsK\Windows\v6.0\Include
連結庫檔案 C:\Program Files\Microsoft SDsK\Windows\v6.0\Lib

呼叫任何建立函式之前,應該使用呼叫 CoinitializeCoinitializeEx來初始化 COM。 您可以使用免費線程模型或 Apartment 線程模型,但 Apartment 線程模型會對應用程式施加線程限制。 如需Microsoft元件物件模型的詳細資訊,請參閱 Microsoft 網站的 COM 頁面。

注意 播放或建立受數位版權管理 (DRM) 保護之檔案的應用程式需要個別的靜態庫,且必須與Microsoft分開取得。 如需詳細資訊,請參閱 Microsoft 網站的 Windows 媒體授權表單。 如果您使用DRM連結庫,則不應該連結到Wmvcore.lib。

用戶入門