共用方式為


Windows Media Format SDK 介面

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

下列兩個表格描述此 SDK 支援的介面,並顯示其與物件和其他介面的關聯性。

介面 描述
INSNetSourceCreator 建立系統管理網路來源 外掛程式,可用來快取密碼並找出 Proxy 伺服器。
INSSBuffer 控制儲存在緩衝區物件中的緩衝區。 此介面用於將範例傳遞至此 SDK 中的方法及從方法傳回。
INSSBuffer2 繼承自 INSSBuffer。 這個介面的新方法已取消記載,因為它們並未在此版本中實作。
INSSBuffer3 設定和擷取緩衝區屬性。 當傳遞至或傳回此 SDK 的方法時,緩衝區屬性是用來與緩衝區一起傳遞資訊。
INSSBuffer4 列舉緩衝區屬性。
IReferenceClock 提供標準參考時鐘的存取權。
IRMGetLicense 執行用戶端授權取得。
IWMAddressAccess 控制寫入器網路接收物件的 IP 存取清單。
IWMAddressAccess2 將 IPv6 支援新增至 IWMAddressAccess 介面。
IWMAuthorizer 提供憑證的存取權。
IWMBackupRestoreProps 設定、擷取及移除 IWMLicenseBackupIWMLicenseRestore 介面所需的屬性。
IWMBandwidthSharing 設定頻寬共用物件。 頻寬共用物件是由設定檔物件所建立,以指定資料流程,不論其個別位元速率為何,它們之間永遠不會使用超過一定數量的頻寬。
IWMClientConnections 擷取連線到寫入器網路接收物件之用戶端的相關資訊。
IWMClientConnections2 擷取連線至寫入器網路接收物件的用戶端進階資訊。
IWMCodecAMVideoAccelerator 由 Windows Media 解碼器 DMO 公開,並由媒體播放機的來源篩選器呼叫,以設定啟用 DirectX VA 進行 Windows 媒體視訊內容解碼所需的各種連線。
IWMCodecInfo 擷取系統上所載入支援音訊編解碼器的可用格式。 在設定檔中建立音訊資料流程時,會使用這些格式。
IWMCodecInfo2 提供編解碼器名稱的存取權,以及每個編解碼器所支援之格式的描述。
IWMCodecInfo3 提供編解碼器屬性和音訊格式屬性的存取權。 也可讓您查詢編解碼器以取得功能支援。
IWMCodecVideoAccelerator 不支援此介面。 請改用 IWMCodecAMVideoAccelerator
IWMCredentialCallback 取得使用者的認證,並檢查他們是否有權存取遠端網站。
IWMDeviceRegistration 管理裝置註冊資料庫,其中包含連線到區域網路之數位媒體播放裝置的專案。
IWMDRMEditor 可讓應用程式檢查 DRM 標頭屬性,而不需要受保護內容的授權。
IWMDRMMessageParser 剖析從數位媒體播放裝置收到的訊息。
IWMDRMReader 取得授權、設定 DRM 屬性,以及個別化用戶端。
IWMDRMReader2 讀取使用 Windows Media Rights Manager 10 SDK 建立的授權。
IWMDRMReader3 提供方法來取得授權核准的保護系統,以啟用內容轉譯。
IWMDRMTranscryptor 將 DRM 保護的內容轉換成資料流程,可使用 Windows Media DRM 10 進行網路裝置安全傳輸通訊協定來傳送。
IWMDRMWriter 提供寫入器物件的授權建立功能。
IWMDRMWriter2 設定寫入器接受串流範例,其中包含針對串流處理至支援 Windows Media DRM 10 網路裝置之裝置加密的資料。
IWMDRMWriter3 啟用寫入加密資料流範例以匯入受保護的內容。
IWMGetSecureChannel 此介面是由一個通訊物件用來取得另一方 IWMSecureChannel 介面。
IWMHeaderInfo 管理標頭資訊,例如中繼資料、 標記等等。
IWMHeaderInfo2 提供用來建立檔案之編解碼器資訊的存取權。
IWMHeaderInfo3 提供屬性語言支援和其他進階中繼資料功能。
IWMImageInfo 從檔案擷取 ID3v2 「APIC」 框架。 應避免使用這個介面,以優先使用 WM/Picture 屬性。
IWMIndexer 提供手動編制檔案索引的方法。
IWMIndexer2 提供索引設定選項。
IWMInputMediaProps 管理輸入媒體資料流程的屬性。
IWMIStreamProps 讀取 IStream 物件的屬性。
IWMLanguageList 管理 ASF 檔案的語言清單。
IWMLicenseBackup 備份授權,通常讓它們可以還原到另一部電腦。
IWMLicenseRestore 還原授權。
IWMMediaProps 提供資料流程媒體類型結構的存取權。
IWMMetadataEditor 提供中繼資料編輯的檔案管理。
IWMMetadataEditor2 提供改善的方法來開啟檔案以供中繼資料編輯器使用。
IWMMutualExclusion 設定相互排除物件。 相互排除物件是由設定檔物件所建立,以指定互斥資料流程的群組。
IWMMutualExclusion2 新增相互排除的群組和命名支援。
IWMOutputMediaProps 管理輸出資料流程的屬性。
IWMPacketSize 管理 ASF 檔案中封包的大小上限。
IWMPacketSize2 管理 ASF 檔案中封包的大小下限。
IWMPlayerHook 由使用 DirectX Video 加速的播放機應用程式實作, (DirectX VA) 。 當視訊串流中的樣本傳遞至已啟用 DirectX VA 的視訊卡進行解壓縮時,它會啟用應用程式特定的處理。
IWMPlayerTimestampHook 在播放機或播放機來源篩選上實作。 它可讓篩選準則先修改影片範例上的時間戳記,再將其傳遞給下游。
IWMProfile 管理設定檔的建立和編輯。 設定檔描述檔案格式,例如資料流程類型、位元速率等等。 大部分的應用程式都使用現有的設定檔,而且不需要實作此介面。
IWMProfile2 提供設定檔識別碼的存取權。
IWMProfile3 提供處理設定檔所支援頻寬共用、串流優先順序和其他進階功能的方法。
IWMProfileManager 管理設定檔的載入和儲存。
IWMProfileManager2 管理設定檔管理員物件所使用的系統設定檔版本號碼。
IWMProfileManagerLanguage 管理列舉系統設定檔的語言。
IWMPropertyVault 提供用於管理屬性的標準化介面。
IWMProximityDetection 驗證區域網路上的裝置。 裝置必須先經過驗證,才能使用 Windows 媒體 DRM 10 來接收網路裝置安全傳輸通訊協定的資料。
IWMReader 管理 ASF 檔案的非同步讀取。
IWMReaderAccelerator 在 WM Reader 物件上實作。 播放機或播放機來源篩選會呼叫它,以從解碼器 DMO取得介面。
IWMReaderAdvanced 提供讀取器的進階功能,例如使用者提供的時鐘、緩衝區配置、傳回統計資料,以及接收資料流程選取通知。
IWMReaderAdvanced2 提供現有讀取器物件的額外進階方法範圍。
IWMReaderAdvanced3 提供讀取器物件的其他進階方法。
IWMReaderAdvanced4 提供語言選取和其他進階閱讀功能的支援。
IWMReaderAdvanced5 可讓您將播放程式勾點回呼介面與讀取器物件產生關聯。
IWMReaderAdvanced6 啟用範例保護。
IWMReaderAllocatorEx 提供IWMReaderCallbackAdvanced介面之AllocateForOutputAllocateForStream方法的擴充替代方案。
IWMReaderCallback 由應用程式實作,以提供目前讀取作業的範例和狀態資訊。
IWMReaderCallbackAdvanced 選擇性地由應用程式實作,以提供現有讀取器回呼物件的進階功能。
IWMReaderNetworkConfig 管理網路組態設定。
IWMReaderNetworkConfig2 提供其他網路設定功能。
IWMReaderPlaylistRoot 確認 DRM 許可權,將播放清單中的檔案複製到 CD。
IWMReaderStreamClock 用來設定和取消資料流程時鐘上的計時器,以及擷取資料流程時鐘的目前值。
IWMReaderTimecode 提供檔案中 SMPTE 時間代碼的相關資訊。
IWMReaderTypeNegotiation 提供單一方法,可用來測試資料流程輸出屬性的特定變更是否正常運作。
IWMRegisterCallback 可讓應用程式從接收物件取得狀態訊息。
IWMRegisteredDevice 提供裝置註冊資料庫中專案的存取權。
IWMSBufferAllocator 提供在伺服器上配置緩衝區的方法。
IWMSecureChannel 提供方法,允許兩個 DLL 彼此驗證並執行安全通訊
IWMSInternalAdminNetSource 管理密碼快取和 Proxy 位置。
IWMSInternalAdminNetSource2 提供比 IWMSInternalAdminNetSource更安全的密碼快取方法。
IWMSInternalAdminNetSource3 提供改善的方法,以找出 Proxy 伺服器。
IWMStatusCallback 由應用程式實作,以回應此 SDK 數個物件的狀態。
IWMStreamConfig 管理要在設定檔中使用的資料流程組態。
IWMStreamConfig2 提供其他資料流程操作方法。
IWMStreamConfig3 管理資料流程的語言資訊。
IWMStreamList 管理定義資料流程之間關聯性的各種物件。
IWMStreamPrioritization 提供方法來設定資料流程優先順序物件。
IWMSyncReader 提供讀取具有同步呼叫之檔案的能力。
IWMSyncReader2 將 SMPTE 時間程式碼支援新增至同步讀取器。
IWMVideoMediaProps 管理視訊串流的屬性。
IWMWatermarkInfo 提供可用浮水印的存取權。
IWMWriter 用來作為撰寫 ASF 檔案的主要介面。
IWMWriterAdvanced 提供現有寫入器物件的進階功能。
IWMWriterAdvanced2 提供一些進階功能,特別是用於處理已解譯的視訊。
IWMWriterAdvanced3 提供詳細寫入器統計資料的方法。
IWMWriterFileSink 管理檔案接收物件。
IWMWriterFileSink2 提供檔案接收物件的擴充管理。
IWMWriterFileSink3 進一步擴充檔案接收物件的功能。
IWMWriterNetworkSink 管理網路接收物件。
IWMWriterPostView 管理寫入器的範例輸出。 用來在編碼過程中驗證檔案的編碼內容。
IWMWriterPostViewCallback 由應用程式實作,以接收來自寫入器的 postview 範例。
IWMWriterPreprocess 管理多重傳遞編碼的設定。
IWMWriterPushSink 管理發送接收物件。
IWMWriterSink 從寫入器介面管理原始 Windows 媒體格式輸入。 做為其他寫入器接收介面的基底介面。

 

下表顯示每個介面的繼承,以及可從中取得實例的物件。

介面 繼承自 物件
INSNetSourceCreator IUnknown 來源建立者物件
INSSBuffer IUnknown 緩衝區物件
INSSBuffer2 INSSBuffer 緩衝區物件
INSSBuffer3 INSSBuffer2 緩衝區物件
INSSBuffer4 INSSBuffer3 緩衝區物件
IReferenceClock IUnknown 讀取器物件
IWMAddressAccess IUnknown 寫入器網路接收物件
IWMAddressAccess2 IWMAddressAccess 寫入器網路接收物件
IWMBackupRestoreProps IUnknown Backup Restorer 物件
IWMBandwidthSharing IWMStreamList 頻寬共用物件
IWMClientConnections IUnknown 寫入器網路接收物件
IWMClientConnections2 IWMClientConnections 寫入器網路接收物件
IWMCodecAMVideoAccelerator IUnknown Windows 媒體解碼器DMO
IWMCodecInfo IUnknown 設定檔管理員物件
IWMCodecInfo2 IWMCodecInfo 設定檔管理員物件
IWMCodecInfo3 IWMCodecInfo2 設定檔管理員物件
IWMCredentialCallback IUnknown 由應用程式實作
IWMDRMEditor IUnknown 中繼資料編輯器物件
IWMDRMReader IUnknown 讀取器物件
IWMDRMWriter IUnknown 寫入器物件
IWMHeaderInfo IUnknown 中繼資料編輯器物件讀取器物件同步讀取器物件寫入器物件
IWMHeaderInfo2 IWMHeaderInfo 中繼資料編輯器物件讀取器物件同步讀取器物件寫入器物件
IWMHeaderInfo3 IWMHeaderInfo2 中繼資料編輯器物件讀取器物件同步讀取器物件寫入器物件
IWMImageInfo IUnknown 中繼資料編輯器物件讀取器物件同步讀取器物件
IWMIndexer IUnknown Indexer 物件
IWMIndexer2 IWMIndexer Indexer 物件
IWMInputMediaProps IWMMediaProps 輸入媒體屬性物件
IWMIStreamProps IUnknown Stream 物件 (IStream)
IWMLanguageList IUnknown Profile 物件中繼資料編輯器物件讀取器物件同步讀取器物件寫入器物件
IWMLicenseBackup IUnknown Backup Restorer 物件
IWMLicenseRestore IUnknown Backup Restorer 物件
IWMMediaProps IUnknown 輸入媒體屬性物件輸出媒體屬性物件資料流程組態物件
IWMMetadataEditor IUnknown 中繼資料編輯器物件
IWMMetadataEditor2 IWMMetadataEditor 中繼資料編輯器物件
IWMMutualExclusion IWMStreamList 相互排除物件
IWMMutualExclusion2 IWMMutualExclusion 相互排除物件
IWMOutputMediaProps IUnknown 輸出媒體屬性物件
IWMPacketSize IUnknown 設定檔管理員物件
IWMPacketSize2 IWMPacketSize 設定檔管理員物件
IWMPlayerHook IUnknown 由應用程式實作
IWMPlayerTimestampHook IUnknown 來源篩選
IWMProfile IUnknown Profile 物件
IWMProfile2 IWMProfile Profile 物件
IWMProfile3 IWMProfile2 Profile 物件
IWMProfileManager IUnknown 設定檔管理員物件
IWMProfileManager2 IWMProfileManager 設定檔管理員物件
IWMProfileManagerLanguage IUnknown 設定檔管理員物件
IWMPropertyVault IUnknown 串流設定物件
IWMReader IUnknown 讀取器物件
IWMReaderAccelerator IUnknown 讀取器物件
IWMReaderAdvanced IUnknown 讀取器物件
IWMReaderAdvanced2 IWMReaderAdvanced 讀取器物件
IWMReaderAdvanced3 IWMReaderAdvanced2 讀取器物件
IWMReaderAdvanced4 IWMReaderAdvanced3 讀取器物件
IWMReaderAllocatorEx IUnknown 由應用程式實作
IWMReaderCallback IWMStatusCallback 由應用程式實作
IWMReaderCallbackAdvanced IUnknown 由應用程式實作
IWMReaderNetworkConfig IUnknown 讀取器物件
IWMReaderNetworkConfig2 IWMReaderNetworkConfig 讀取器物件
IWMReaderStreamClock IUnknown 讀取器物件
IWMReaderTimecode IUnknown 讀取器物件
IWMReaderTypeNegotiation IUnknown 讀取器物件
IWMRegisterCallback IUnknown 由應用程式實作
IWMSBufferAllocator IUnknown 由網路伺服器實作
IWMSInternalAdminNetSource IUnknown 網路來源管理員物件
IWMSInternalAdminNetSource2 IWMSInternalAdminNetSource 網路來源管理員物件
IWMSInternalAdminNetSource3 IWMSInternalAdminNetSource2 網路來源管理員物件
IWMStatusCallback IUnknown 由應用程式實作
IWMStreamConfig IUnknown 串流設定物件
IWMStreamConfig2 IWMStreamConfig 串流設定物件
IWMStreamConfig3 IWMStreamConfig2 串流設定物件
IWMStreamList IUnknown 頻寬共用物件相互排除物件
IWMStreamPrioritization IUnknown 資料流程優先順序物件
IWMSyncReader IUnknown 同步讀取器物件
IWMSyncReader2 IWMSyncReader 同步讀取器物件
IWMVideoMediaProps IWMMediaProps 串流設定物件
IWMWatermarkInfo IUnknown 寫入器物件
IWMWriter IUnknown 寫入器物件
IWMWriterAdvanced IUnknown 寫入器物件
IWMWriterAdvanced2 IWMWriterAdvanced 寫入器物件
IWMWriterAdvanced3 IWMWriterAdvanced2 寫入器物件
IWMWriterFileSink IWMWriterSink 寫入器檔案接收物件
IWMWriterFileSink2 IWMWriterFileSink 寫入器檔案接收物件
IWMWriterFileSink3 IWMWriterFileSink2 寫入器檔案接收物件
IWMWriterNetworkSink IWMWriterSink 寫入器網路接收物件
IWMWriterPostView IUnknown 寫入器物件
IWMWriterPostViewCallback IUnknown 由應用程式實作
IWMWriterPreprocess IUnknown 寫入器物件
IWMWriterPushSink IWMWriterSink 寫入器推入接收物件
IWMWriterSink IUnknown 寫入器檔案接收物件寫入器網路接收物件寫入器推入接收物件

 

備註

此 SDK 中每個介面的介面識別碼都是前面加上 「IID_」 的介面名稱。 例如, IWMReaderAdvanced 介面的識別碼IID_IWMReaderAdvanced。 若要取得讀取器物件的 IWMReaderAdvanced 介面指標,請使用下列程式碼,其中 pReaderIWMReader 介面的指標:

IWMReaderAdvanced *pReaderAdvanced;
hr = pReader->QueryInterface(IID_IWMReaderAdvanced,
                             (LPVOID*) &pReaderAdvanced);

物件

程式設計參考