共用方式為


列舉 WMDM (裝置)

Windows Media 裝置管理員會維護 Windows Media 裝置管理員 應用程式啟動時、隨插即用 (PnP) 裝置連線或中斷連線,或應用程式呼叫IWMDeviceManager2::Reinitialize時更新的連線裝置快取。 此快取會在呼叫 IWMDeviceManager::EnumDevicesIWMDeviceManager2::EnumDevices2時向應用程式公開。 每個裝置都會以 IWMDMDevice 介面的形式向應用程式公開。 如果服務提供者已註冊來處理 PnP 裝置,Windows Media 裝置管理員將會知道目前連線的裝置清單。 如果服務提供者已註冊來處理非 PnP 裝置,服務提供者會負責探索連結的裝置。 服務提供者只能註冊 PnP 或非 PnP 裝置,絕不會同時註冊。

下列動作顯示 Windows Media 裝置管理員如何維護或更新其快取。 請注意,當非 PnP 裝置連線或中斷連線時,快取永遠不會更新。

Windows Media 裝置管理員應用程式啟動

  • Windows Media 裝置管理員會從 PnP 子系統擷取連結的 PnP 裝置清單,並在針對每個連線裝置註冊的 SP 上呼叫IMDServiceProvider2::CreateDevice。 (它會查詢 WMDMSPCLSID 裝置參數,以尋找負責此裝置之服務提供者的類別識別碼,以探索正確的服務提供者。如需詳細資訊,請參閱裝置參數。) 所有傳回的裝置都會新增至裝置的 Windows Media 裝置管理員快取。
  • Windows Media 裝置管理員會尋找向它註冊的所有非 PnP 服務提供者,並在每個服務提供者上呼叫IMDServiceProvider::EnumDevices,以取得每個服務提供者的清單裝置。 傳回的所有裝置都會新增至快取。

應用程式會呼叫 IWMDeviceManager/2::EnumDevices/2

  • Windows Media 裝置管理員會傳回其快取的裝置清單。

PnP 裝置連線

  • Windows Media 裝置管理員會尋找相關的服務提供者,並呼叫IMDServiceProvider2::CreateDevice,並將裝置新增至其快取。
  • 如果應用程式實作IWMDMNotification,Windows Media 裝置管理員會使用抵達通知呼叫IWMDMNotification::WMDMMessage

PnP 裝置中斷連線

  • Windows Media 裝置管理員會從其快取中移除專案。
  • 如果應用程式實作 IWMDMNotification,Windows Media 裝置管理員會使用出發通知呼叫 IWMDMNotification::WMDMMessage。

應用程式會呼叫 IWMDeviceManager2::Reinitialize

  • 使用所有已連線的裝置重新整理快取。

非 PnP 裝置會連線或中斷連線

  • Windows Media 裝置管理員未收到抵達或出發的通知,不會採取任何動作。

建立服務提供者