Partager via


MsiDatabaseOpenViewA, fonction (msiquery.h)

La fonction MsiDatabaseOpenView prépare une requête de base de données et crée un objet d’affichage. Cette fonction retourne un handle qui doit être fermé à l’aide de MsiCloseHandle.

Syntaxe

UINT MsiDatabaseOpenViewA(
  [in]  MSIHANDLE hDatabase,
  [in]  LPCSTR    szQuery,
  [out] MSIHANDLE *phView
);

Paramètres

[in] hDatabase

Gérez la base de données vers laquelle vous souhaitez ouvrir un objet d’affichage. Vous pouvez obtenir le handle comme décrit dans Obtention d’un handle de base de données.

[in] szQuery

Spécifie une chaîne de requête SQL pour interroger la base de données. Pour obtenir une syntaxe correcte, consultez syntaxe SQL.

[out] phView

Pointeur vers un handle pour la vue retournée.

Valeur de retour

La fonction MsiDatabaseOpenView retourne l’une des valeurs suivantes :

ERROR_SUCCESS si elle réussit, et le handle d’affichage auquel le paramètre phView [out] pointe vers lequel est défini.

ERROR_INVALID_HANDLE, ERROR_INVALID_HANDLE_STATE, ERROR_BAD_QUERY_SYNTAX ou ERROR_GEN_FAILURE en cas d’échec et définit l’enregistrement d’erreur, accessible via MsiGetLastErrorRecord.

Remarques

La fonction MsiDatabaseOpenView ouvre un objet d’affichage pour une base de données. Vous devez ouvrir un objet d’affichage pour une base de données avant d’effectuer une exécution ou une extraction.

Si une erreur se produit, vous pouvez appeler MsiGetLastErrorRecord pour plus d’informations.

Notez qu’il est recommandé d’utiliser des variables de type PMSIHANDLE, car le programme d’installation ferme les objets PMSIHANDLE à mesure qu’ils sortent de l’étendue, alors que vous devez fermer des objets MSIHANDLE en appelant MsiCloseHandle. Pour plus d’informations, consultez Utiliser PMSIHANDLE au lieu de la section HANDLE dans les meilleures pratiques Windows Installer.

Si la fonction échoue, vous pouvez obtenir des informations d’erreur étendues à l’aide de MsiGetLastErrorRecord.

Note

L’en-tête msiquery.h définit MsiDatabaseOpenView comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows Installer 5.0 sur Windows Server 2012, Windows 8, Windows Server 2008 R2 ou Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 sur Windows Server 2008 ou Windows Vista. Windows Installer sur Windows Server 2003 ou Windows XP
plateforme cible Windows
d’en-tête msiquery.h
bibliothèque Msi.lib
DLL Msi.dll

Voir aussi

fonctions d’accès aux bases de données générales