共用方式為


SetupInstallServicesFromInfSectionExW 函式 (setupapi.h)

[此函式可用於需求一節所指出的作業系統。 後續版本可能會變更或無法使用。 安裝程式API 不應該再用於安裝應用程式。 請改用 Windows Installer 來開發應用程式安裝程式。 SetupAPI 會繼續用於安裝設備驅動器。]

SetupInstallServicesFromInfSectionEx 函式會執行 INF 檔案之 Service 區段中所指定之 Service Install 區段中所指定的服務安裝和刪除作業。

需要此函式的呼叫者才能存取 Service Control Manager,以及修改服務的許可權。

語法

WINSETUPAPI BOOL SetupInstallServicesFromInfSectionExW(
  [in] HINF             InfHandle,
  [in] PCWSTR           SectionName,
  [in] DWORD            Flags,
  [in] HDEVINFO         DeviceInfoSet,
  [in] PSP_DEVINFO_DATA DeviceInfoData,
       PVOID            Reserved1,
       PVOID            Reserved2
);

參數

[in] InfHandle

INF 檔案的句柄,其中包含 Service 區段。

[in] SectionName

要處理的 Service 區段名稱。 您應該使用以 Null 結尾的字串。

[in] Flags

安裝的控制件。

意義
SPSVCINST_TAGTOFRONT
0x001
將服務標籤移至其群組順序列表的前面。
SPSVCINST_ASSOCSERVICE
0x002
AddService 區段:將此服務標示為所安裝裝置的函式驅動程式。
SPSVCINST_DELETEEVENTLOGENTRY
0x004
刪除指定服務的事件記錄檔專案。
SPSVCINST_NOCLOBBER_DISPLAYNAME
0x008
如果已有顯示名稱,請勿覆寫顯示名稱。
SPSVCINST_NOCLOBBER_STARTTYPE
0x010
如果服務已經存在,請勿覆寫啟動類型值。
SPSVCINST_NOCLOBBER_ERRORCONTROL
0x020
如果服務已經存在,請勿覆寫錯誤控制值。
SPSVCINST_NOCLOBBER_LOADORDERGROUP
0x040
如果載入順序群組已經存在,請勿覆寫。
SPSVCINST_NOCLOBBER_DEPENDENCIES
0x080
如果相依性清單已經存在,請勿覆寫該清單。
SPSVCINST_NOCLOBBER_DESCRIPTION
0x100
AddService 區段:將此服務標示為所安裝裝置的函式驅動程式。
SPSVCINST_STOPSERVICE
0x200
DelService 區段:刪除服務之前,請先停止專案中指定的相關聯服務。
SPSVCINST_CLOBBER_SECURITY
0x400
AddService 區段:如果服務已存在於系統中,則會覆寫服務的安全性設定。
從 Windows Server 2003 和 Windows XP 開始,附注 可用。
 
SPSVCINST_STARTSERVICE
0x800
AddService 區段:安裝服務之後啟動服務。 此旗標無法用來啟動實作隨插即用功能驅動程式或裝置篩選驅動程序的服務。 否則,這個旗標可以用來啟動服務控制管理員所管理的使用者模式或內核模式服務。。
從 Windows Server 2008 和 Windows Vista 開始,附注 可用。
 
SPSVCINST_NOCLOBBER_REQUIREDPRIVILEGES
0x1000
AddService 區段:如果服務已存在於系統中,請勿覆寫指定服務的必要許可權。
注意 從 Windows Server 2008 R2 和 Windows 7 開始提供。
 

[in] DeviceInfoSet

裝置資訊集句柄的選擇性指標。 如需詳細資訊,請參閱 DDK 程式設計人員指南。 (某些語言可能無法使用此資源

和國家/地區。

[in] DeviceInfoData

SP_DEVINFO_DATA 結構的選擇性指標,提供 DeviceInfoSet 指定之集合中特定項目的內容。 如需詳細資訊,請參閱 DDK 程式設計人員指南。 (某些語言可能無法使用此資源

和國家/地區。

Reserved1

保留。

Reserved2

保留。

傳回值

如果函式成功,則傳回值為非零值。 如果需要重新啟動系統,函式會使用 ERROR_SUCCESS_REBOOT_REQUIRED 呼叫 setLastError

如果函式失敗,則傳回值為 0 (零)。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

言論

注意

setupapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SetupInstallServicesFromInfSectionEx 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平臺 窗戶
標頭 setupapi.h
連結庫 Setupapi.lib
DLL Setupapi.dll

另請參閱

函式

概觀

SetupInstallFilesFromInfSection

SetupInstallFromInfSection

SetupInstallServicesFromInfSection