Función MsiOpenDatabaseA (msiquery.h)
La función MsiOpenDatabase abre un archivo de base de datos para el acceso a datos. Esta función devuelve un identificador que se debe cerrar mediante MsiCloseHandle.
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 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 MsiOpenDatabase devuelve los valores siguientes:
Comentarios
Para realizar y guardar los cambios en una base de datos, primero abra la base de datos en la 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 haya abierto en modo directo (MSIDBOPEN_DIRECT o MSIDBOPEN_CREATEDIRECT) antes de cerrar el identificador de la base de datos. Si no lo hace, la base de datos puede resultar dañada.
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 mediante una llamada a MsiCloseHandle. Para más información, consulte la sección Uso de PMSIHANDLE, en lugar de HANDLE en los 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 Convenciones para prototipos de función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | 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 |
Plataforma de destino | Windows |
Encabezado | msiquery.h |
Library | Msi.lib |
Archivo DLL | Msi.dll |