您可以註冊執行中的裝置或非執行中的裝置。
註冊執行中的裝置
裝置是使用 IUPnPRegistrar 介面註冊。 只允許系統管理員註冊執行中的裝置。 若要註冊具有執行中裝置控制物件的裝置,應用程式必須叫用 IUPnPRegistrar::RegisterRunningDevice,並傳遞下列項目:
- 裝置描述的文字。
- 裝置控制物件的 IUnknown 指標。
- 傳遞至裝置控制件物件的 IUPnPDeviceControl::Initialize 方法的初始化字串。
- 資源目錄的位置。
- 裝置的存留期。
- 裝置識別元參數 (OUT 參數),這是此呼叫的傳回值;裝置標識碼的指標會在 C++中傳回。
註冊非執行中的裝置
根據預設,只允許系統管理員和互動式用戶註冊非執行中的裝置。 若要向未執行的裝置控件對象註冊裝置,應用程式會使用 IUPnPRegistrar::RegisterDevice 方法。
若要以程式設計方式向非執行中的裝置控制件物件註冊裝置,應用程式必須叫用 IUPnPRegistrar::RegisterDevice,並傳遞下列參數:
- 裝置說明文字
- 裝置控制對象的 ProgID。
- 傳遞至裝置控制件物件的 IUPnPDeviceControl::Initialize 方法的初始化字串。
- 容器標識碼。
- 資源目錄的位置。
- 裝置的存留期。
- 裝置識別元參數 (OUT 參數),這是此呼叫的傳回值;裝置標識碼的指標會在 C++中傳回。
非執行裝置的註冊可以設定為在系統開機期間保存(裝置在關機階段未發佈)。 因此,如果以這種方式配置,裝置會在每次啟動電腦時被發佈並宣告。