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 |