InstallHinfSectionA 関数 (setupapi.h)
[この機能は、[要件] セクションに示されているオペレーティング システムで使用できます。 以降のバージョンでは、変更または使用できない場合があります。 SetupAPI は、アプリケーションのインストールに使用されなくなりました。 代わりに、Windows インストーラーを使用してアプリケーション インストーラーを開発します。 SetupAPI は、デバイス ドライバーのインストールに引き続き使用されます。
InstallHinfSection は、.inf ファイルのセクションを実行するために使用できる Setupapi.dll によってエクスポートされるエントリ ポイント関数です。
手記
多くのシナリオでは、InstallHinfSection で .inf ファイルを使用する代わりに、プリミティブ ドライバー パッケージ を使用することをお勧めします。
InstallHinfSection は、「解説」セクションで説明されているように、Rundll32.exe ユーティリティを呼び出すことによって呼び出すことができます。 InstallHinfSection 関数のプロトタイプは、Rundll32.exeで使用されるすべてのエントリ ポイント関数の形式に従います。
ファイルがコピーまたは変更された場合、この関数の呼び出し元には、ターゲット ディレクトリに書き込む権限が必要です。 インストールされているサービスがある場合、この関数の呼び出し元は、Service Control Managerにアクセスできる必要があります。
構文
void InstallHinfSectionA(
[in] HWND Window,
[in] HINSTANCE ModuleHandle,
[in] PCSTR 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>
これにより、"
または、
"<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:\Example\SHELL.INF
手記
setupapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして InstallHinfSection を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
注意
x86 または amd64 以外のアーキテクチャで使用する場合、または
注意
ネイティブ アーキテクチャが x86 でも amd64 でもないシステムで使用する場合は、ネイティブ アーキテクチャ プロセスから InstallHInfSection を使用する必要があります。 InstallHInfSection では、非ネイティブ アーキテクチャ プロセスから使用すると、多くの種類のシステム状態変更操作がブロックされます。
InstallHinfSection %windir%\inf\setupapi.app.log
で見つけることができます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | setupapi.h |
ライブラリ | Setupapi.lib |
DLL | Setupapi.dll |