Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает сведения об указанном экземпляре среды выполнения экземпляра SQL Server Express LocalDB, в частности существует ли этот экземпляр, версия используемой им LocalDB, запущен ли экземпляр и т. п.
Сведения возвращаются в структуре struct с именем LocalDBInstanceInfo и следующим определением.
typedef struct _LocalDBInstanceInfo
{
// Contains the size of the LocalDBInstanceInfo struct
DWORD cbLocalDBInstanceInfoSize;
// Holds the instance name
TLocalDBInstanceNamewszInstanceName;
// TRUE if the instance files exist on disk, FALSE otherwise
BOOL bExists;
// TRUE if the instance configuration registry is corrupted, FALSE otherwise
BOOLbConfigurationCorrupted;
// TRUE if the instance is running at the moment, FALSE otherwise
BOOL bIsRunning;
// Holds the LocalDB version for the instance in the format: major.minor.build.revision
DWORD dwMajor;
DWORD dwMinor;
DWORD dwBuild;
DWORD dwRevision;
// Holds the date and time when the instance was started for the last time
FILETIME ftLastStartUTC;
// Holds the name of the TDS named pipe to connect to the instance
WCHARwszConnection;
// TRUE if the instance is shared, FALSE otherwise
BOOLbIsShared;
// Holds the shared name for the instance (if the instance is shared)
TLocalDBInstanceNamewszSharedInstanceName;
// Holds the SID of the instance owner (if the instance is shared)
WCHARwszOwnerSID;
// TRUE if the instance is Automatic, FALSE otherwise
BOOLbIsAutomatic;
} LocalDBInstanceInfo;
Файл заголовка: sqlncli.h
Синтаксис
HRESULT LocalDBGetInstanceInfo(
PCWSTR wszInstanceName,
PLocalDBInstanceInfo pInstanceInfo,
DWORD dwInstanceInfoSize
);
Параметры
wszInstanceName
[Вход] Имя экземпляра.pInstanceInfo
[Выход] Буфер для сохранения сведений об экземпляре LocalDB.dwInstanceInfoSize
[Вход] Содержит размер буфера InstanceInfo.
Возвращаемые значения
S_OK
Функция выполнена успешно.LOCALDB_ERROR_NOT_INSTALLED
Компонент SQL Server Express LocalDB не установлен на компьютере.LOCALDB_ERROR_INVALID_PARAMETER
Один или несколько указанных входных параметров недопустимы.LOCALDB_ERROR_INVALID_INSTANCE_NAME
Указанное имя экземпляра недопустимо.LOCALDB_ERROR_UNKNOWN_INSTANCE
Экземпляр не существует.LOCALDB_ERROR_INSTANCE_FOLDER_PATH_TOO_LONG
Длина пути к месту хранения экземпляра больше MAX_PATH.LOCALDB_ERROR_CANNOT_ACCESS_INSTANCE_FOLDER
Не удалось получить доступ к папке экземпляра.LOCALDB_ERROR_CANNOT_ACCESS_INSTANCE_REGISTRY
Не удалось получить доступ к реестру экземпляра.LOCALDB_ERROR_INSTANCE_CONFIGURATION_CORRUPT
Конфигурация экземпляра повреждена.LOCALDB_ERROR_INTERNAL_ERROR
Произошла непредвиденная ошибка. Подробные сведения см. в журнале событий.
Сведения
Аргумент lpInstanceInfoSize размера структуры (struct) был введен для того, чтобы интерфейс API мог возвращать различные версии структуры LocalDBInstanceInfo, тем самым обеспечивая совместимость с будущими и предыдущими версиями.
Если аргумент размера структуры (lpInstanceInfoSize) соответствует размеру известной версии LocalDBInstanceInfo , возвращается эта версия структуры. В противном случае возвращается значение LOCALDB_ERROR_INVALID_PARAMETER.
Типичный пример использования API-функций LocalDBGetInstanceInfo выглядит следующим образом:
LocalDBInstanceInfo ii;
LocalDBInstanceInfo(L”Test”, &ii, sizeof(LocalDBInstanceInfo));
Образец кода, использующего API LocalDB, см. в разделе Справочник по SQL Server Express LocalDB