LocalDBGetVersionInfo 関数
指定した SQL Server Express LocalDB バージョンの情報を返します。たとえば、存在するかどうか、LocalDB 完全バージョン番号 (ビルド番号やリリース番号を含む) などです。
この情報は、次の定義を struct
持つ LocalDBVersionInfo という名前の形式で返されます。
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;
ヘッダー ファイル: sqlncli.h
構文
HRESULT LocalDBGetVersionInfo(
PCWSTR wszVersionName, PLocalDBVersionInfo pVersionInfo, DWORD dwVersionInfoSize);
パラメーター
wszVersionName
[入力] LocalDB バージョンの名前。
pVersionInfo
[出力] LocalDB バージョンについての情報を格納するバッファー。
dwVersionInfoSize
[入力] VersionInfo バッファーのサイズを保持します。
戻り値
S_OK
関数が正常に実行されました。
LOCALDB_ERROR_NOT_INSTALLED
SQL Server Express LocalDB は、コンピューターにインストールされていません。
LOCALDB_ERROR_INVALID_PARAMETER
指定した 1 つまたは複数の入力パラメーターが無効です。
LOCALDB_ERROR_UNKNOWN_VERSION
指定された LocalDB バージョンが存在しません。
LOCALDB_ERROR_INTERNAL_ERROR
予期しないエラーが発生しました。 詳細をイベント ログで確認してください。
詳細
size 引数 (lpVersionInfoSize) の導入のstruct
背後にある根拠は、API が異なるバージョンの LocalDBVersionInfostruct を返し、実質的に前方互換性と下位互換性を可能にすることです。
struct
引数 size (lpVersionInfoSize) が LocalDBVersionInfostruct の既知のバージョンのサイズと一致する場合、そのバージョンの struct
が返されます。 それ以外の場合、LOCALDB_ERROR_INVALID_PARAMETER が返されます。
LocalDBGetVersionInfo API の一般的な使用例は次のようになります。
LocalDBVersionInfo vi;
LocalDBVersionInfo(L"11.0", &vi, sizeof(LocalDBVersionInfo));
解説
LocalDB API を使用するコード サンプルについては、「SQL Server Express LocalDB リファレンス」を参照してください。