Поделиться через


Функция 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. Дополнительные сведения см. в разделе Use 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
целевая платформа Виндоус
заголовка msiquery.h
библиотеки Msi.lib
DLL Msi.dll

См. также

Функции общего доступа к базам данных