Share via


LocalDBGetInstanceInfo 函式

適用於:SQL Server

傳回指定之 SQL Server Express LocalDB 實例的資訊,例如是否存在、其使用的 LocalDB 版本、是否正在執行等等。

資訊會在名為 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;  
  

標頭檔: msoledbsql.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 ) 背後的原理是讓 API 能夠傳回不同版本的 LocalDBInstanceInfostruct ,有效地啟用向前和回溯相容性。

如果結構 大小引數 ( lpInstanceInfoSize ) 符合 LocalDBInstanceInfostruct 的已知版本 大小,則會傳回該版本的 結構 。 否則會傳回LOCALDB_ERROR_INVALID_PARAMETER。

LocalDBGetInstanceInfo API 使用方式的 一般範例如下所示:

LocalDBInstanceInfo ii;  
LocalDBInstanceInfo(L"Test", &ii, sizeof(LocalDBInstanceInfo));  
  

如需使用 LocalDB API 的程式碼範例,請參閱 SQL Server Express LocalDB 參考

另請參閱

SQL Server Express LocalDB 標頭和版本資訊