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


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

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

Синтаксис

UINT MsiDatabaseGetPrimaryKeysA(
  [in]  MSIHANDLE hDatabase,
  [in]  LPCSTR    szTableName,
  [out] MSIHANDLE *phRecord
);

Параметры

[in] hDatabase

Обработка базы данных. См. получение дескриптора базы данных.

[in] szTableName

Указывает имя таблицы, из которой необходимо получить имена первичных ключей.

[out] phRecord

Указатель на дескриптор записи, содержащей имена первичных ключей.

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

Эта функция возвращает UINT.

Замечания

Число полей возвращаемой записи — это количество столбцов первичного ключа, возвращаемых функцией MsiDatabaseGetPrimaryKeys. Возвращаемая запись содержит имя таблицы в поле (0) и имена столбцов, составляющие имена первичных ключей в успешных полях. Эти имена первичных ключей соответствуют номерам столбцов для полей.

Эту функцию нельзя использовать с _Tables таблицей или таблицей _Columns.

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

Заметка

Заголовок msiquery.h определяет MsiDatabaseGetPrimaryKeys как псевдоним, который автоматически выбирает версию 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

См. также

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