SetupSetDirectoryIdExA 関数 (setupapi.h)
[この機能は、[要件] セクションに示されているオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 SetupAPI は、アプリケーションのインストールに使用されなくなりました。 代わりに、Windows インストーラーを使用してアプリケーション インストーラーを開発します。 SetupAPI は、引き続きデバイス ドライバーのインストールに使用されます。
SetupSetDirectoryIdEx 関数は、INF ファイル内のディレクトリ識別子を特定のディレクトリに関連付けます。
構文
WINSETUPAPI BOOL SetupSetDirectoryIdExA(
[in] HINF InfHandle,
[in] DWORD Id,
[in] PCSTR Directory,
[in] DWORD Flags,
DWORD Reserved1,
PVOID Reserved2
);
パラメーター
[in] InfHandle
読み込まれた INF ファイルのハンドル。
[in] Id
関連付けに使用するディレクトリ識別子 (DIRID)。 このパラメーターは、NULL でもかまいません。 この DIRID は、DIRID_USER以上である必要があります。 この DIRID の関連付けが既に存在する場合は、上書きされます。 Id が 0 の場合、Directory パラメーターは無視され、ユーザー定義 DIRID の現在のセットが削除されます。
[in] Directory
ID に関連付けるディレクトリ パスを指定する null で終わる文字列へのポインター。このパラメーターには NULL を指定できます。 Directory が NULL の場合、Id に関連付けられているディレクトリは関連付けされません。 Id がディレクトリに現在関連付けられていない場合、エラーは発生しません。
[in] Flags
このパラメーターを SETDIRID_NOT_FULL_PATH (1) に設定すると、 ディレクトリ で完全なパスが指定されていないことを示すことができます。
Reserved1
このパラメーターの値が 0 でない場合、関数は ERROR_INVALID_PARAMETERを返します。
Reserved2
このパラメーターの値が 0 でない場合、関数は ERROR_INVALID_PARAMETERを返します。
戻り値
関数が成功した場合、戻り値は 0 以外の値になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
SetupSetDirectoryIdEx は、ファイル コピー操作をキューに格納する前に使用して、実行時にのみ認識されるターゲットの場所を指定できます。
ディレクトリ識別子を設定した後、この関数は追加されたすべての INF ファイルを走査し、いずれかのファイルに未解決の文字列置換がある場合、関数は新しい DIRID マッピングに基づいて文字列置換の再適用を試みます。 このため、一部の INF 値は 、SetupSetDirectoryIdEx を呼び出した後に変更される可能性があります。
DIRID_ABSOLUTE_16BITは Id の有効な値ではありません。これにより、16 ビットセットアップとの互換性が確保されます。
注意
setupapi.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SetupSetDirectoryIdEx を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | setupapi.h |
Library | Setupapi.lib |
[DLL] | Setupapi.dll |