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 を呼び出し、 ReturnBufferNULL に設定し、 ReturnBufferSize を 0 に設定し、 RequiredSize を指定します。 SetupGetInfPublishedNameRequiredSize で必要なバッファー サイズを返します。

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

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

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

注意

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

要件

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

関連項目

SetupGetInfDriverStoreLocation