次の方法で共有


LocalDBGetVersionInfo function

Applies to:SQL Server

指定した SQL Server Express LocalDB バージョンの情報を返します。たとえば、存在するかどうか、LocalDB 完全バージョン番号 (ビルド番号やリリース番号を含む) などです。

情報は、次の定義を持つ LocalDBVersionInfo という名前のstructの形式で返されます。

typedef struct _LocalDBVersionInfo
{
      // Contains the size of the LocalDBVersionInfo struct
      DWORD  cbLocalDBVersionInfoSize;

      // Holds the version name
      TLocalDBVersionwszVersion;

      // TRUE if the instance files exist on disk, FALSE otherwise
      BOOL   bExists;

      // Holds the LocalDB version for the instance in the format: major.minor.build.revision
      DWORD  dwMajor;
      DWORD  dwMinor;
      DWORD  dwBuild;
      DWORD  dwRevision;
} LocalDBVersionInfo;

Header file:msoledbsql.h

Syntax

HRESULT LocalDBGetVersionInfo(
           PCWSTR wszVersionName ,
           PLocalDBVersionInfo pVersionInfo ,
           DWORD dwVersionInfoSize);

Arguments

wszVersionName

[入力] LocalDB バージョンの名前。

pVersionInfo

[出力] LocalDB バージョンについての情報を格納するバッファー。

dwVersionInfoSize

[Input] Holds the size of the VersionInfo buffer.

Returns

S_OK: 関数は成功しました。

Error Description
LOCALDB_ERROR_NOT_INSTALLED SQL Server Express LocalDB がコンピューターにインストールされていません。
LOCALDB_ERROR_INVALID_PARAMETER 指定した 1 つまたは複数の入力パラメーターが無効です。
LOCALDB_ERROR_UNKNOWN_VERSION 指定された LocalDB バージョンが存在しません。
LOCALDB_ERROR_INTERNAL_ERROR 予期しないエラーが発生しました。 詳細をイベント ログで確認してください。

Details

The rationale behind the introduction of the struct size argument (lpVersionInfoSize) is to enable the API to return different versions of the LocalDBVersionInfostruct, effectively enabling forward and backward compatibility.

If the struct size argument (lpVersionInfoSize) matches the size of a known version of the LocalDBVersionInfostruct, that version of the struct is returned. それ以外の場合は、LOCALDB_ERROR_INVALID_PARAMETER が返されます。

LocalDBGetVersionInfo API の使用の一般的な例は次のようになります。

LocalDBVersionInfo vi;
LocalDBVersionInfo(L"11.0", &vi, sizeof(LocalDBVersionInfo));

Remarks

LocalDB API を使用するコード サンプルについては、 SQL Server Express LocalDB リファレンスを参照してください。