次の方法で共有


SetupGetInfPublishedNameA 関数 (setupapi.h)

SetupGetInfPublishedName 関数は、ドライバー ストア内の指定された INF ファイルまたはシステム INF ファイル ディレクトリ内の指定された INF ファイルに対応するシステム INF ファイル ディレクトリに INF ファイルの完全修飾ファイル名 (ディレクトリ パスとファイル名) を取得します。

構文

WINSETUPAPI BOOL SetupGetInfPublishedNameA(
  [in]            PCSTR  DriverStoreLocation,
  [out]           PSTR   ReturnBuffer,
  [in]            DWORD  ReturnBufferSize,
  [out, optional] PDWORD RequiredSize
);

パラメーター

[in] DriverStoreLocation

ドライバー ストア内の INF ファイルの完全修飾ファイル名 (ディレクトリ パスとファイル名) を含む NULL で終わる文字列へのポインター。 または、このパラメーターは、システム INF ファイル ディレクトリ内の INF ファイルの名前と、必要に応じて完全なディレクトリ パスを含む NULL で終わる文字列へのポインターです。 INF ファイルを指定する方法の詳細については、次の 解説 セクションを参照してください。

[out] ReturnBuffer

SetupGetInfPublishedName が返すバッファーへのポインター。システム INF ディレクトリ内の指定された INF ファイルの完全修飾ファイル名を含む NULL で終わる文字列。 パスの最大サイズはMAX_PATH。 このポインターは、NULL設定できます。 戻りバッファーの必要なサイズを決定する方法については、次の 解説 セクションを参照してください。

[in] ReturnBufferSize

ReturnBufferによって提供されるバッファーのサイズ (文字数)。

[out, optional] RequiredSize

ReturnBuffer バッファーのサイズを文字単位で受け取る DWORD 型の変数へのポインター。 このパラメーターは省略可能であり、NULL設定できます。

戻り値

SetupGetInfPublishedName 成功した場合、関数は TRUE返します。それ以外の場合、関数は FALSE返します。 拡張エラー情報を取得するには、GetLastError呼び出します。

null ターミネータを含む、要求された INF ファイルの完全修飾ファイル名のサイズが ReturnBufferSizeより大きい場合、関数は失敗し、GetLastError の呼び出しはERROR_INSUFFICIENT_BUFFERを返します。

備考

システム INF ディレクトリ内の指定した INF ファイルの完全修飾ファイル名を格納するために必要な戻りバッファーのサイズを確認するには、SetupGetInfPublishedName を呼び出し、ReturnBuffer を nullに設定し、ReturnBufferSize を 0 に し、RequiredSize指定します。 SetupGetInfPublishedName は、RequiredSizeで必要なバッファー サイズ 返します。

デバイス のインストールでは、ドライバー ストアに ドライバー パッケージがプレインストールされると、ドライバー パッケージ INF ファイルの 2 つのコピーが作成されます。 デバイスのインストールでは、システム INF ディレクトリに 1 つのコピーを追加し、その INF ファイルのコピーに、OEMnnn.inf形式の一意 発行されたファイル名 割り当てます。 デバイスのインストールでは、ドライバー ストアに INF ファイルの 2 番目のコピーを追加し、元の INF ファイル名をコピーする割り当てます。

SetupGetInfPublishedName は、システム INF ファイル ディレクトリ内の INF ファイルの完全修飾ファイル名を返します。INF ファイルがある場合は、DriverStoreLocationによって提供されます。 DriverStoreLocation は、ドライバー ストア内の INF ファイルの完全修飾ファイル名を指定するか、システム INF ディレクトリ内の INF ファイルのファイル名と、必要に応じてディレクトリ パスを指定する必要があります。 たとえば、ドライバー パッケージの INF ファイルが myinf.infされ、このドライバー パッケージの場合、デバイスのインストールでは、システム INF ディレクトリ C:\Windows\infに OEM1.inf INF ファイルがインストールされるとします。 さらに、デバイスのインストールでは、対応する INF ファイル コピー C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf がドライバー ストアにインストールされていることを前提としています。 この場合、DriverStoreLocation が次のいずれかの文字列を提供する場合、この関数は C:\Windows\inf\OEM1.inf を返します。C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf、OEM1.inf、または C:\Windows\inf\OEM1.inf。

SetupGetInfDriverStoreLocation 関数を呼び出して、システム INF ファイル ディレクトリ内の指定された INF ファイルまたはドライバー ストア内の指定されたファイルに対応するドライバー ストア内の INF ファイルの完全修飾ファイル名を取得します。

手記

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

必要条件

要件 価値
サポートされる最小クライアント Windows Vista 以降のバージョンの Windows で使用できます。
ターゲット プラットフォーム の デスクトップ
ヘッダー setupapi.h (Setupapi.h を含む)
ライブラリ Setupapi.lib

関連項目

SetupGetInfDriverStoreLocation の