LocalDBGetInstanceInfo-Funktion
Gilt für: SQL Server
Gibt Informationen für die angegebene SQL Server Express LocalDB-Instanz zurück (beispielsweise, ob sie vorhanden ist, die verwendete LocalDB-Version, ob sie ausgeführt wird usw.).
Die Informationen werden in einer Struktur mit dem Namen LocalDBInstanceInfo zurückgegeben, die die folgende Definition aufweist.
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;
Headerdatei: msoledbsql.h
Syntax
HRESULT LocalDBGetInstanceInfo(
PCWSTR wszInstanceName,
PLocalDBInstanceInfo pInstanceInfo,
DWORD dwInstanceInfoSize
);
Parameter
wszInstanceName
[Eingabe] Der Name der Instanz.
pInstanceInfo
[Ausgabe] Der Puffer zum Speichern der Informationen zur LocalDB-Instanz.
dwInstanceInfoSize
[Eingabe] Enthält die Größe des InstanceInfo-Puffers .
Gibt zurück
S_OK
Die Funktion wurde erfolgreich ausgeführt.
LOCALDB_ERROR_NOT_INSTALLED
SQL Server Express LocalDB ist nicht auf dem Computer installiert.
LOCALDB_ERROR_INVALID_PARAMETER
Mindestens ein angegebener Eingabeparameter ist ungültig.
LOCALDB_ERROR_INVALID_INSTANCE_NAME
Der angegebene Instanzname ist ungültig.
LOCALDB_ERROR_UNKNOWN_INSTANCE
Die Instanz ist nicht vorhanden.
LOCALDB_ERROR_INSTANCE_FOLDER_PATH_TOO_LONG
Der Pfad, unter dem die Instanz gespeichert werden soll, ist länger als MAX_PATH.
LOCALDB_ERROR_CANNOT_ACCESS_INSTANCE_FOLDER
Auf einen Instanzordner kann nicht zugegriffen werden.
LOCALDB_ERROR_CANNOT_ACCESS_INSTANCE_REGISTRY
Auf eine Instanzregistrierung kann nicht zugegriffen werden.
LOCALDB_ERROR_INSTANCE_CONFIGURATION_CORRUPT
Eine Instanzkonfiguration ist beschädigt.
LOCALDB_ERROR_INTERNAL_ERROR
Ein unerwarteter Fehler ist aufgetreten. Weitere Informationen finden Sie im Ereignisprotokoll.
Details
Der Grund für die Einführung des Struct Size-Arguments (lpInstanceInfoSize) besteht darin, die API zu ermöglichen, verschiedene Versionen der LocalDBInstanceInfostruct zurückzugeben, wodurch die Vorwärts- und Abwärtskompatibilität effektiv ermöglicht wird.
Wenn das Strukturgrößenargument (lpInstanceInfoSize) mit der Größe einer bekannten Version der LocalDBInstanceInfostruct übereinstimmt, wird diese Version der Struktur zurückgegeben. Andernfalls wird LOCALDB_ERROR_INVALID_PARAMETER zurückgegeben.
Ein typisches Beispiel für die Verwendung der LocalDBGetInstanceInfo-API sieht wie folgt aus:
LocalDBInstanceInfo ii;
LocalDBInstanceInfo(L"Test", &ii, sizeof(LocalDBInstanceInfo));
Ein Codebeispiel, in dem die LocalDB-API verwendet wird, finden Sie unter SQL Server Express LocalDB Reference.
Weitere Informationen
SQL Server Express LocalDB-Header und -Versionsinformationen