Функция MsiDatabaseOpenViewA (msiquery.h)

Функция MsiDatabaseOpenView подготавливает запрос к базе данных и создает объект представления. Эта функция возвращает дескриптор, который должен быть закрыт с помощью MsiCloseHandle.

Синтаксис

UINT MsiDatabaseOpenViewA(
  [in]  MSIHANDLE hDatabase,
  [in]  LPCSTR    szQuery,
  [out] MSIHANDLE *phView
);

Параметры

[in] hDatabase

Дескриптор для базы данных, в которой необходимо открыть объект представления. Дескриптор можно получить, как описано в разделе Получение дескриптора базы данных.

[in] szQuery

Задает строку SQL-запроса для запроса базы данных. Правильный синтаксис см. в разделе Синтаксис SQL.

[out] phView

Указатель на дескриптор возвращаемого представления.

Возвращаемое значение

Функция MsiDatabaseOpenView возвращает одно из следующих значений:

ERROR_SUCCESS в случае успешного выполнения, и задан дескриптор представления, на который указывает параметр phView [out].

ERROR_INVALID_HANDLE, ERROR_INVALID_HANDLE_STATE, ERROR_BAD_QUERY_SYNTAX или ERROR_GEN_FAILURE в случае сбоя и задает запись ошибки, доступную через MsiGetLastErrorRecord.

Комментарии

Функция MsiDatabaseOpenView открывает объект представления для базы данных. Перед выполнением какого-либо выполнения или получения необходимо открыть объект представления для базы данных.

При возникновении ошибки можно вызвать MsiGetLastErrorRecord для получения дополнительных сведений.

Обратите внимание, что рекомендуется использовать переменные типа PMSIHANDLE, так как установщик закрывает объекты PMSIHANDLE по мере их выхода из область, тогда как необходимо закрыть объекты MSIHANDLE, вызвав MsiCloseHandle. Дополнительные сведения см. в разделе Использование PMSIHANDLE вместо HANDLE статьи Рекомендации установщика Windows.

В случае сбоя функции можно получить расширенные сведения об ошибке с помощью MsiGetLastErrorRecord.

Примечание

Заголовок msiquery.h определяет MsiDatabaseOpenView в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Установщик Windows 5.0 в Windows Server 2012, Windows 8, Windows Server 2008 R2 или Windows 7. Установщик Windows 4.0 или установщик Windows 4.5 в Windows Server 2008 или Windows Vista. Установщик Windows в Windows Server 2003 или Windows XP
Целевая платформа Windows
Header msiquery.h
Библиотека Msi.lib
DLL Msi.dll

См. также раздел

Общие функции доступа к базе данных