Partager via


ConfigDriver, fonction

Conformité
Version introduite : ODBC 2.5

Résumé
ConfigDriver permet à un programme d’installation d’effectuer des fonctions d’installation et de désinstallation sans exiger que le programme appelle ConfigDSN. Cette fonction effectue des fonctions spécifiques au pilote, telles que la création d’informations système spécifiques au pilote et l’exécution de conversions DSN pendant l’installation, ainsi que le nettoyage des modifications des informations système lors de la désinstallation. Cette fonction est exposée par la DLL d’installation du pilote ou une DLL d’installation distincte.

Syntaxe

  
BOOL ConfigDriver(  
      HWND    hwndParent,  
      WORD    fRequest,  
      LPCSTR  lpszDriver,  
      LPCSTR  lpszArgs,  
      LPSTR   lpszMsg,  
      WORD    cbMsgMax,  
      WORD *  pcbMsgOut);  

Arguments

hwndParent
[Entrée] Poignée de fenêtre parente. La fonction n’affiche aucune boîte de dialogue si le handle est null.

fRequest
[Entrée] Type de demande. L’argument fRequest doit contenir l’une des valeurs suivantes :

ODBC_INSTALL_DRIVER : installez un nouveau pilote.

ODBC_REMOVE_DRIVER : supprimer un pilote.

Cette option peut également être spécifique au pilote, auquel cas l’argument fRequest de la première option doit commencer à partir de ODBC_CONFIG_DRIVER_MAX+1. L’argument fRequest pour toute option supplémentaire doit également commencer à partir d’une valeur supérieure à ODBC_CONFIG_DRIVER_MAX+1.

lpszDriver
[Entrée] Nom du pilote tel qu’inscrit dans la clé Odbcinst.ini des informations système.

lpszArgs
[Entrée] Chaîne terminée par null contenant des arguments pour une demande fRequest spécifique au pilote.

lpszMsg
[Sortie] Chaîne terminée par null contenant un message de sortie de la configuration du pilote.

cbMsgMax
[Entrée] Longueur de lpszMsg.

pcbMsgOut
[Sortie] Nombre total d’octets disponibles à retourner dans lpszMsg.

Si le nombre d’octets disponibles à retourner est supérieur ou égal à cbMsgMax, le message de sortie dans lpszMsg est tronqué en cbMsgMax moins le caractère d’arrêt Null. L’argument pcbMsgOut peut être un pointeur null.

Retours

La fonction retourne TRUE si elle réussit, FALSE en cas d’échec.

Diagnostics

Lorsque ConfigDriver retourne FALSE, une valeur *pfErrorCode associée est publiée dans la mémoire tampon d’erreur du programme d’installation par un appel à SQLPostInstallerError et peut être obtenue en appelant SQLInstallerError. Le tableau suivant répertorie les valeurs *pfErrorCode qui peuvent être retournées par SQLInstallerError et explique chacune d’elles dans le contexte de cette fonction.

*pfErrorCode Error Description
ODBC_ERROR_INVALID_HWND Handle de fenêtre non valide L’argument hwndParent n’est pas valide.
ODBC_ERROR_INVALID_REQUEST_TYPE Type de requête non valide L’argument fRequest n’était pas l’un des éléments suivants :

ODBC_INSTALL_DRIVER ODBC_REMOVE_DRIVER

L’option spécifique au pilote était inférieure ou égale à ODBC_CONFIG_DRIVER_MAX.
ODBC_ERROR_INVALID_NAME Nom du pilote ou du traducteur non valide L’argument lpszDriver n’était pas valide. Il est introuvable dans le Registre.
ODBC_ERROR_REQUEST_FAILED Échec de la demande Impossible d’effectuer l’opération demandée par l’argument fRequest .
ODBC_ERROR_DRIVER_SPECIFIC Erreur spécifique au pilote ou au traducteur Erreur spécifique au pilote pour laquelle aucune erreur du programme d’installation ODBC n’est définie. L’argument SzError dans un appel à la fonction SQLPostInstallerError doit contenir le message d’erreur spécifique au pilote.

Commentaires

options Driver-Specific

Une application peut demander des fonctionnalités spécifiques au pilote exposées par le pilote à l’aide de l’argument fRequest . La requête fRequest pour la première option sera ODBC_CONFIG_DRIVER_MAX plus 1, et les options supplémentaires seront incrémentées de 1 à partir de cette valeur. Tous les arguments requis par le pilote pour cette fonction doivent être fournis dans une chaîne terminée par null passée dans l’argument lpszArgs . Les pilotes fournissant ces fonctionnalités doivent conserver une table des options spécifiques aux pilotes. Les options doivent être entièrement documentées dans la documentation du pilote. Les rédacteurs d’applications qui utilisent des options spécifiques au pilote doivent savoir que cela rendra l’application moins interopérable.

Messages

Une routine de configuration de pilote peut envoyer un sms à une application sous la forme d’une chaîne terminée par null dans la mémoire tampon lpszMsg . Le message sera tronqué en cbMsgMax moins le caractère d’arrêt Null par la fonction ConfigDriver s’il est supérieur ou égal à des caractères cbMsgMax .