CM_WaitNoPendingInstallEvents函式 (cfgmgr32.h)

CMP_WaitNoPendingInstallEvents (CM_WaitNoPendingInstallEvents) 函式會等到 PnP 管理員沒有擱置的裝置安裝活動才能執行。

語法

DWORD CM_WaitNoPendingInstallEvents(
  [in] DWORD dwTimeout
);

參數

[in] dwTimeout

指定超時時間間隔,以毫秒為單位。

  • 如果 dwTimeout 設定為零,函式會測試是否有擱置的安裝事件並立即傳回。
  • 如果 dwTimeout 設定為 Winbase.h 中定義的 INFINITE () ,則函式的逾時間隔永遠不會經過。
  • 對於所有其他 dwTimeout 值,函式會在指定的間隔經過時傳回,即使仍有擱置的安裝事件也一樣。

傳回值

函式會傳回下列其中一個值, (定義於 Winbase.h) :

傳回碼 Description
WAIT_OBJECT_0
沒有擱置的安裝活動。
WAIT_TIMEOUT
經過逾時間隔,而且安裝活動仍然擱置中。
WAIT_FAILED
函式失敗。 呼叫 GetLastError 以取得其他錯誤資訊。

備註

函式會等候內部事件物件,PnP 管理員會在判斷沒有擱置安裝活動時設定該物件。

如果指定了非零的逾時值, 則當 沒有擱置安裝事件或逾時期間過期時,CMP_WaitNoPendingInstallEvents將會傳回,無論何時優先。

您可以隨時發生新的安裝事件。 此函式只會指出呼叫時沒有擱置的安裝活動。

此函式通常是由 裝置安裝應用程式使用。 如需詳細資訊,請參閱 撰寫裝置安裝應用程式

請勿在系統起始回呼函式內處理任何預期在短時間內傳回的事件時呼叫此函式。 這包括 ServiceMain 回呼函式中的服務啟動 () ,或在處理服務 (處理程式中的任何控件時,例如 處理程式 回呼函式) ,或是從類別安裝程式或共同安裝程式等安裝元件處理。

針對未安裝 Service Pack 的 Windows XP () ,必須從 會話零呼叫此函式,且具有系統管理員許可權。 對於具有 Service Pack 1 的 Windows XP (SP1) 和更新版本的 Windows,可以從任何工作階段呼叫函式,而且不需要系統管理員許可權。

規格需求

需求
最低支援的用戶端 可在 Windows XP 和更新版本的 Windows 中使用。
目標平台 桌面
標頭 cfgmgr32.h (包含 Cfgmgr32.h)
程式庫 Cfgmgr32.lib
Dll Cfgmgr32.dll

另請參閱

CM_WaitNoPendingInstallEvents

裝置安裝應用程式如何檢查進行中的裝置安裝