Función MsiOpenDatabaseA (msiquery.h)
La función
Sintaxis
UINT MsiOpenDatabaseA(
[in] LPCSTR szDatabasePath,
[in] LPCSTR szPersist,
[out] MSIHANDLE *phDatabase
);
Parámetros
[in] szDatabasePath
Especifica la ruta de acceso completa o la ruta de acceso relativa al archivo de base de datos.
[in] szPersist
Recibe la ruta de acceso completa al archivo o al modo de persistencia. Puede usar el parámetro szPersist para dirigir la salida persistente a un nuevo archivo o para especificar uno de los siguientes modos de persistencia predefinidos.
[out] phDatabase
Puntero a la ubicación del identificador de base de datos devuelto.
Valor devuelto
La función
Observaciones
Para realizar y guardar los cambios en una base de datos abra primero la base de datos en transacción (MSIDBOPEN_TRANSACT), cree (MSIDBOPEN_CREATE o MSIDBOPEN_CREATEDIRECT) o el modo directo (MSIDBOPEN_DIRECT). Después de realizar los cambios, llame siempre a MsiDatabaseCommit antes de cerrar el identificador de la base de datos. MsiDatabaseCommit vacía todos los búferes.
Llame siempre a MsiDatabaseCommit en una base de datos que se ha abierto en modo directo (MSIDBOPEN_DIRECT o MSIDBOPEN_CREATEDIRECT) antes de cerrar el identificador de la base de datos. Si no se hace esto, puede dañar la base de datos.
Dado que MsiOpenDatabase inicia el acceso a la base de datos, no se puede usar con una instalación en ejecución.
Tenga en cuenta que se recomienda usar variables de tipo PMSIHANDLE porque el instalador cierra los objetos PMSIHANDLE a medida que salen del ámbito, mientras que debe cerrar objetos MSIHANDLE llamando a MsiCloseHandle. Para obtener más información, vea la sección Usar PMSIHANDLE en lugar de HANDLE en la Procedimientos recomendados de Windows Installer.
Nota
El encabezado msiquery.h define MsiOpenDatabase como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows Installer 5.0 en Windows Server 2012, Windows 8, Windows Server 2008 R2 o Windows 7. Windows Installer 4.0 o Windows Installer 4.5 en Windows Server 2008 o Windows Vista. Windows Installer en Windows Server 2003 o Windows XP |
de la plataforma de destino de |
Windows |
encabezado de |
msiquery.h |
biblioteca de |
Msi.lib |
DLL de |
Msi.dll |