다음을 통해 공유


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 Reference를 참조하십시오.

참고 항목

SQL Server Express LocalDB 헤더 및 버전 정보