SetupInstallServicesFromInfSectionExA 関数 (setupapi.h)

[この機能は、[要件] セクションに示されているオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 SetupAPI は、アプリケーションのインストールに使用されなくなりました。 代わりに、Windows インストーラーを使用してアプリケーション インストーラーを開発します。 SetupAPI は、引き続きデバイス ドライバーのインストールに使用されます。

SetupInstallServicesFromInfSectionEx 関数は、INF ファイルの [サービス] セクションに記載されている [サービスのインストール] セクションで指定されているサービスのインストールと削除の操作を実行します。

この関数の呼び出し元には、 サービス コントロール マネージャーへのアクセス権と、サービスを変更するための特権が必要です。

構文

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

DeviceInfoSet が指定するセット内の特定の要素にコンテキストを提供する、SP_DEVINFO_DATA構造体への省略可能なポインター。 詳細については、DDK プログラマー ガイドを参照してください。 (このリソースは、一部の言語では使用できない場合があります

国)を参照してください。

Reserved1

予約済み。

Reserved2

予約済み。

戻り値

関数が成功すると、戻り値は 0 以外になります。 システムの再起動が必要な場合、この関数は setLastError をERROR_SUCCESS_REBOOT_REQUIREDで呼び出します。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

注意

setupapi.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SetupInstallServicesFromInfSectionEx を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー setupapi.h
Library Setupapi.lib
[DLL] Setupapi.dll

関連項目

関数

概要

SetupInstallFilesFromInfSection

SetupInstallFromInfSection

SetupInstallServicesFromInfSection