Função MsiOpenDatabaseA (msiquery.h)
A função MsiOpenDatabase abre um arquivo de banco de dados para acesso a dados. Essa função retorna um identificador que deve ser fechado usando MsiCloseHandle.
Sintaxe
UINT MsiOpenDatabaseA(
[in] LPCSTR szDatabasePath,
[in] LPCSTR szPersist,
[out] MSIHANDLE *phDatabase
);
Parâmetros
[in] szDatabasePath
Especifica o caminho completo ou o caminho relativo para o arquivo de banco de dados.
[in] szPersist
Recebe o caminho completo para o arquivo ou o modo de persistência. Você pode usar o parâmetro szPersist para direcionar a saída persistente para um novo arquivo ou especificar um dos seguintes modos de persistência predefinidos.
[out] phDatabase
Ponteiro para o local do identificador de banco de dados retornado.
Valor de retorno
A função msiOpenDatabase
Observações
Para fazer e salvar alterações em um banco de dados, primeiro abra o banco de dados no modo de transação (MSIDBOPEN_TRANSACT), criar (MSIDBOPEN_CREATE ou MSIDBOPEN_CREATEDIRECT) ou direto (MSIDBOPEN_DIRECT). Depois de fazer as alterações, sempre chame MsiDatabaseCommit antes de fechar o identificador do banco de dados. MsiDatabaseCommit libera todos os buffers.
Sempre chame MsiDatabaseCommit em um banco de dados aberto no modo direto (MSIDBOPEN_DIRECT ou MSIDBOPEN_CREATEDIRECT) antes de fechar o identificador do banco de dados. A falha ao fazer isso pode corromper o banco de dados.
Como MsiOpenDatabase inicia o acesso ao banco de dados, ele não pode ser usado com uma instalação em execução.
Observe que é recomendável usar variáveis do tipo PMSIHANDLE porque o instalador fecha objetos PMSIHANDLE à medida que eles saem do escopo, enquanto você deve fechar objetos MSIHANDLE chamando MsiCloseHandle. Para obter mais informações, consulte
Nota
O cabeçalho msiquery.h define MsiOpenDatabase como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows Installer 5.0 no Windows Server 2012, Windows 8, Windows Server 2008 R2 ou Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 no Windows Server 2008 ou Windows Vista. Windows Installer no Windows Server 2003 ou Windows XP |
da Plataforma de Destino |
Windows |
cabeçalho | msiquery.h |
biblioteca | Msi.lib |
de DLL |
Msi.dll |