InstallHinfSectionW 関数 (setupapi.h)
[この機能は、[要件] セクションに示されているオペレーティング システムで使用できます。 以降のバージョンでは、変更または使用できない場合があります。 SetupAPI は、アプリケーションのインストールに使用されなくなりました。 代わりに、Windows インストーラーを使用してアプリケーション インストーラーを開発します。 SetupAPI は、デバイス ドライバーのインストールに引き続き使用されます。
InstallHinfSection は、.inf ファイルのセクションを実行するために使用できる Setupapi.dll によってエクスポートされるエントリ ポイント関数です。 InstallHinfSection は、「解説」セクションで説明されているように、Rundll32.exe ユーティリティを呼び出すことによって呼び出すことができます。
InstallHinfSection 関数のプロトタイプは、Rundll32.exeで使用されるすべてのエントリ ポイント関数の形式に従います。
ファイルがコピーまたは変更された場合、この関数の呼び出し元には、ターゲット ディレクトリに書き込む権限が必要です。 インストールされているサービスがある場合、この関数の呼び出し元は、Service Control Managerにアクセスできる必要があります。
構文
void InstallHinfSectionW(
[in] HWND Window,
[in] HINSTANCE ModuleHandle,
[in] PCWSTR CommandLine,
[in] INT ShowCommand
);
パラメーター
[in] Window
親ウィンドウ ハンドル。 通常 hwnd は Null です。
[in] ModuleHandle
予約済みで、Null にする必要があります。
[in] CommandLine
コマンド ラインを含むバッファーへのポインター。 null で終わる文字列を使用する必要があります。
[in] ShowCommand
予約済みで、ゼロにする必要があります。
戻り値
何一つ
備考
指定した .inf ファイルの Install セクションを実行するには、次の構文を使用して、Rundll32.exe InstallHinfSection を呼び出します。
RUNDLL32.EXE SETUPAPI.DLL、InstallHinfSection <セクション><モード><パス>
これにより、"
または、
"<section> <mode> <path>"
ここで、パス は .inf ファイルへの完全なパス、モード は再起動モード パラメーター、セクション は .inf ファイルの Install セクションです。 コマンド ラインでSETUPAPI.DLLと InstallHinfSection
.inf ファイルへの完全パスは、パスとして
.inf ファイル内の
モードのには、次の値の組み合わせを使用する必要があります。 インストールの既定のパスを INF の場所に設定するには、128 を含める必要があります。それ以外の場合は、システム提供の INF が想定されます。 再起動を指定する値を追加します。 推奨される値は 128 または 132 のみです。その他の値を指定すると、必要に応じてコンピューターが不必要に再起動したり、再起動されたりする可能性があります。
価値 | 形容 |
---|---|
0 | システムによって提供される INF。 |
128 | インストールの既定のパスを INF の場所に設定します。 これが一般的な設定です。 |
+0 | コンピューターを再起動しないでください。 |
+1 | すべてのケースでコンピューターを再起動します。 |
+2 | 再起動する場合は、常にユーザーに問い合わせください。 |
+3 | 必要に応じて、ユーザーにアクセス許可を求めずにコンピューターを再起動します。 |
+4 | コンピューターの再起動が必要な場合は、再起動する前にユーザーにアクセス許可を求めます。 |
たとえば、次のコマンド ラインでは、Shell.inf ファイルの DefaultInstall セクションが実行されます。 セットアップで再起動が必要であると判断された場合、ユーザーは [コンピューターを再起動します。はい/いいえ] ダイアログ ボックスが表示されます。
RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 132 C:\WINDOWS\INF\SHELL.INF
手記
setupapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして InstallHinfSection を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
注意
x86 または amd64 以外のアーキテクチャで使用する場合、または
注意
ネイティブ アーキテクチャが x86 でも amd64 でもないシステムで使用する場合は、ネイティブ アーキテクチャ プロセスから InstallHInfSection を使用する必要があります。 InstallHInfSection では、非ネイティブ アーキテクチャ プロセスから使用すると、多くの種類のシステム状態変更操作がブロックされます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | setupapi.h |
ライブラリ | Setupapi.lib |
DLL | Setupapi.dll |