共用方式為


SetupInstallServicesFromInfSectionExA 函式 (setupapi.h)

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

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

需要此函式的呼叫端才能存取 服務控制管理員,以及修改服務的許可權。

語法

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

參數

[in] InfHandle

包含 服務 區段之 INF 檔案的句柄。

[in] SectionName

要處理的 [服務 ] 區段名稱。 您應該使用以 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 區段:安裝服務之後啟動服務。 此旗標無法用來啟動實作裝置 隨插即用 (PnP) 函式驅動程式或篩選驅動程式的服務。 否則,此旗標可用來啟動由服務控制管理員管理的使用者模式或核心模式服務, (SCM.)
注意 從 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

保留的。

傳回值

如果函式成功,則傳回非零的值。 如果需要重新啟動系統,函式會呼叫 SetLastError 並ERROR_SUCCESS_REBOOT_REQUIRED。

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

備註

注意

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

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 setupapi.h
程式庫 Setupapi.lib
Dll Setupapi.dll

請參閱

函式

概觀

SetupInstallFilesFromInfSection

SetupInstallFromInfSection

SetupInstallServicesFromInfSection