MsiDatabaseOpenViewA, fonction (msiquery.h)

La fonction MsiDatabaseOpenView prépare une requête de base de données et crée un objet de vue. 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 à 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 une syntaxe correcte, consultez Syntaxe SQL.

[out] phView

Pointeur vers un handle pour la vue retournée.

Valeur retournée

La fonction MsiDatabaseOpenView retourne l’une des valeurs suivantes :

ERROR_SUCCESS en cas de réussite, et le handle d’affichage vers lequel pointe le paramètre phView [out] 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 view pour une base de données. Vous devez ouvrir un objet de vue 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 en dehors de leur portée, tandis que vous devez fermer les objets MSIHANDLE en appelant MsiCloseHandle. Pour plus d’informations, consultez la section Utiliser PMSIHANDLE au lieu de HANDLE dans les Bonnes pratiques de Windows Installer.

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

Notes

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. La combinaison 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.

Configuration requise

Condition requise Valeur
Client minimal 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
En-tête msiquery.h
Bibliothèque Msi.lib
DLL Msi.dll

Voir aussi

Fonctions générales d’accès à la base de données