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


Функция MsiCloseHandle (msi.h)

Функция MsiCloseHandle закрывает открытый дескриптор установки.

Синтаксис

UINT MsiCloseHandle(
  [in] MSIHANDLE hAny
);

Параметры

[in] hAny

Указывает любой открытый дескриптор установки.

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

Значение Значение
ERROR_INVALID_HANDLE
В функцию передан недопустимый дескриптор.
ERROR_SUCCESS
Функция выполнена успешно.
 
 

Комментарии

MsiCloseHandle необходимо вызывать из того же потока, который запросил создание дескриптора.

Следующие функции предоставляют дескрипторы, которые должны быть закрыты после использования путем вызова MsiCloseHandle:

MsiCreateRecordMsiGetActiveDatabaseMsiGetLastErrorRecordMsiOpenPackageMsiOpenProductMsiOpenDatabaseOpenViewMsiViewFetchMsiViewGetColumnInfoMsiDatabaseGetPrimaryKeysMsiGetSummaryInformationMsiEnableUIPreview Обратите внимание, что при написании пользовательских действий рекомендуется использовать переменные типа PMSIHANDLE, так как установщик закрывает объекты PMSIHANDLE так как они выходят из область, в то время как необходимо закрыть объекты MSIHANDLE, вызвав MsiCloseHandle.

Например, если вы используете следующий код:

MSIHANDLE hRec = MsiCreateRecord(3);

Укажите вместо него следующий код:

PMSIHANDLE hRec = MsiCreateRecord(3);

Требования

Требование Значение
Минимальная версия клиента Установщик 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, необходимом для версии установщика Windows, см. в разделе Требования к установщику Windows Run-Time.
Целевая платформа Windows
Header msi.h
Библиотека Msi.lib
DLL Msi.dll

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

Обработка функций управления