本節說明使用 Windows 媒體設備管理員 SDK 與裝置通訊的應用程式所使用的介面或實作。 此處使用的「應用程式」一詞表示任何存在於桌面電腦上且需要與聯機可攜式裝置進行高層級通訊的可執行檔、外掛程式或 COM 物件。 這可以包括媒體播放機應用程式、Windows Media Player 外掛程式(如果需要直接存取可攜式裝置),或播放計數計量 COM 物件。
其中有些介面是由應用程式實作,而其他介面則由應用程式呼叫。 每個介面的檔會指出是否已實作或呼叫它(如果實作,則為選擇性或必要)。
應用程式會使用下列介面或類別。
介面或類別 | 說明 |
---|---|
CSecureChannelClient 類別 | 協助程式類別,可讓應用程式自行驗證、加密和解密數據,以及建立MAC。 |
IWMDeviceManager | 應用程式的最上層 Windows 媒體設備管理員介面。 |
IWMDeviceManager2 | 藉由提供進階列舉方法和其他方法,擴充 IWMDeviceManager 。 |
IWMDeviceManager3 | 藉由提供設定裝置列舉喜好設定的方法,來擴充 IWMDeviceManager2 介面。 |
IWMDMDevice | 提供方法來檢查和探索單一可攜式裝置。 |
IWMDMDevice2 | 擴充 IWMDMDevice ,方法是讓裝置能夠取得支持的視訊格式、依名稱尋找記憶體,以及使用屬性頁。 |
IWMDMDevice3 | 藉由提供方法來查詢裝置的屬性、傳送裝置 I/O 控制代碼,以及提供升級的方法來搜尋記憶體及擷取裝置格式功能,以擴充 IWMDMDevice2 。 |
IWMDMDeviceControl | 提供控制裝置的方法。 |
IWMDMDeviceSession | 將多個作業組合成一個會話,以改善裝置作業的效率 |
IWMDMEnumDevice | 列舉連接到電腦的可攜式裝置。 |
IWMDMEnumStorage | 列舉裝置上的記憶體。 |
IWMDMMetaData | 設定和擷取記憶體的元數據屬性(例如藝術家、專輯、內容類型等等)。 |
IWMDMObjectInfo | 取得和設定資訊,控制 IWMDMDeviceControl 介面如何處理裝置上可播放的檔案 |
IWMDMRevoked | 如果傳輸失敗併發生撤銷錯誤,則擷取可下載更新元件的 URL。 |
IWMDMStorage | 提供方法來檢查和探索裝置上的記憶體(檔案、資料夾、播放清單)。 |
IWMDMStorage2 | 擴充 IWMDMStorage ,方法是依名稱取得子記憶體,以及取得和設定擴充屬性。 |
IWMDMStorage3 | 藉由公開元數據來擴充 IWMDMStorage2 。 |
IWMDMStorage4 | 藉由提供方法來擷取記憶體的可用元數據子集,以及設定和擷取其他記憶體的參考清單,來擴充 IWMDMStorage3 。 |
IWMDMStorageControl | 用來在裝置內或裝置與計算機之間插入、刪除或移動檔案。 |
IWMDMStorageControl2 | 擴充 IWMDMStorageControl ,方法是在將內容插入記憶體時,設定目的地檔案的名稱。 |
IWMDMStorageControl3 | 藉由傳入 IWMDMMetaData 介面指標,擴充 IWMDMStorageControl2。 |
IWMDMStorageGlobals | 提供在裝置上擷取儲存媒體(例如快閃 ROM 記憶卡)的全域資訊的方法。 |
IWMDRMDeviceApp | 可讓應用程式執行裝置DRM元件的計量、授權同步處理和更新。 |
IWMDRMDeviceApp2 | 藉由提供新版本的 QueryDeviceStatus 方法來擴充 IWMDRMDeviceApp。 |
回呼介面
應用程式會實作下列選擇性介面,以便追蹤異步要求的進度,例如讀取或寫入要求。
介面 | 說明 |
---|---|
IWMDMNotification | 允許應用程式和服務提供者在裝置或記憶體記憶體記憶體(例如 RAM 卡)與電腦連線或中斷連線時接收通知。 |
IWMDMOperation2 | 藉由提供方法來取得和設定擴充屬性,來擴充 IWMDMOperation 。 |
IWMDMOperation3 | 藉由提供新的方法來傳輸未加密的數據,以提升效率,來擴充 IWMDMOperation 。 |
IWMDMOperation | 允許應用程式控制在檔案傳輸期間從計算機讀取或寫入數據的方式。 |
IWMDMProgress2 | 藉由提供狀態指示器來擴充 IWMDMProgress::End 方法。 |
IWMDMProgress3 | 藉由提供其他輸入參數來指定事件標識碼和內容特定資訊,以擴充 IWMDMProgress2 。 |
IWMDMProgress | 允許應用程式追蹤作業進度,例如格式化媒體或檔案傳輸。 |
下圖顯示從根 IWMDeviceManager 介面取得大部分重要應用程式介面的方式。 應用程式藉由共同建立 MediaDevMgr 物件、要求 IComponentAuthenticate 介面、驗證元件,然後要求 IWMDeviceManager 來取得此根介面(這些步驟會在 驗證應用程式中所述)。 取得此根介面之後, 會呼叫 IWMDeviceManager::EnumDevices 來建立實作 IWMDMEnumDevice 的物件。 其他介面是藉由依顯示的順序在介面上呼叫方法來取得。 IWMDMDevice2 等衍生介面是在基底介面上呼叫 QueryInterface 來取得。
在下圖中,衍生介面會以斜線標記標示,因此“IWMDMStorage/2/3” 會指出 IWMDMStorage、IWMDMStorage2 和 IWMDMStorage3。
相關主題