Funzione LocalDBGetInstanceInfo
Si applica a: SQL Server
Vengono restituite le informazioni per l'istanza del database locale di SQL Server Express specificata, se esistente, la versione del database locale utilizzata dall'istanza, se quest'ultima è in esecuzione e così via.
Le informazioni vengono restituite in uno struct denominato LocalDBInstanceInfo, che ha la definizione seguente.
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;
File di intestazione: msoledbsql.h
Sintassi
HRESULT LocalDBGetInstanceInfo(
PCWSTR wszInstanceName,
PLocalDBInstanceInfo pInstanceInfo,
DWORD dwInstanceInfoSize
);
Parametri
wszInstanceName
[Input] Nome dell'istanza.
pInstanceInfo
[Output] Buffer per archiviare le informazioni sull'istanza del database locale.
dwInstanceInfoSize
[Input] Contiene le dimensioni del buffer InstanceInfo .
Valori restituiti
S_OK
Funzione completata.
LOCALDB_ERROR_NOT_INSTALLED
Database locale di SQL Server Express non installato nel computer.
LOCALDB_ERROR_INVALID_PARAMETER
Uno o più parametri di input specificati non validi.
LOCALDB_ERROR_INVALID_INSTANCE_NAME
Nome dell'stanza specificata non valido.
LOCALDB_ERROR_UNKNOWN_INSTANCE
Istanza inesistente.
LOCALDB_ERROR_INSTANCE_FOLDER_PATH_TOO_LONG
Percorso di archiviazione richiesto per l'istanza più lungo di MAX_PATH.
LOCALDB_ERROR_CANNOT_ACCESS_INSTANCE_FOLDER
Impossibile accedere alla cartella di un'istanza.
LOCALDB_ERROR_CANNOT_ACCESS_INSTANCE_REGISTRY
Impossibile accedere al Registro di sistema di un'istanza.
LOCALDB_ERROR_INSTANCE_CONFIGURATION_CORRUPT
Configurazione di un'istanza danneggiata.
LOCALDB_ERROR_INTERNAL_ERROR
Errore imprevisto. Per informazioni, vedere il registro eventi.
Dettagli
La logica alla base dell'introduzione dell'argomento dimensioni struct (lpInstanceInfoSize) consiste nell'consentire all'API di restituire versioni diverse dello struct LocalDBInstanceInfostruct, abilitando in modo efficace la compatibilità con le versioni successive e precedenti.
Se l'argomento dimensioni struct (lpInstanceInfoSize) corrisponde alle dimensioni di una versione nota dello struct LocalDBInstanceInfostruct, viene restituita tale versione dello struct. In caso contrario, viene restituito LOCALDB_ERROR_INVALID_PARAMETER.
Un esempio tipico di utilizzo dell'API LocalDBGetInstanceInfo è simile al seguente:
LocalDBInstanceInfo ii;
LocalDBInstanceInfo(L"Test", &ii, sizeof(LocalDBInstanceInfo));
Per un esempio di codice che usa l'API LocalDB, vedere Informazioni di riferimento su SQL Server Express LocalDB.
Vedi anche
Informazioni sulla versione e intestazione di SQL Server Express LocalDB