SetupGetInfPublishedNameW 関数 (setupapi.h)

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

構文

WINSETUPAPI BOOL SetupGetInfPublishedNameW(
  [in]            PCWSTR DriverStoreLocation,
  [out]           PWSTR  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 を呼び出し、 ReturnBufferNULLReturnBufferSize を 0 に設定し、 RequiredSize を指定します。 SetupGetInfPublishedName、RequiredSize で必要なバッファー サイズを返します。

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

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

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

注意

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

要件

要件
サポートされている最小のクライアント Windows Vista 以降のバージョンの Windows で使用できます。
対象プラットフォーム デスクトップ
Header setupapi.h (Setupapi.h を含む)
Library Setupapi.lib

こちらもご覧ください

SetupGetInfDriverStoreLocation