Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La classe d’appareil comm/datamodem se compose d’appareils datamodem. Vous accédez à ces appareils à l’aide du fichier et des fonctions de communication . Les appareils de cette classe sont associés à des appareils de ligne qui prennent en charge le type de support LINEMEDIAMODE_DATAMODEM, qui est spécifié dans le dwMediaModes membre de la structure LINEDEVCAPS pour l’appareil de ligne.
La fonction lineGetID remplit une structure VARSTRING, en définissant dwStringFormat à la valeur STRINGFORMAT_BINARY et en ajoutant ces membres supplémentaires :
HANDLE hComm; // file handle to data modem
CHAR szDeviceName[1]; // name of data modem
Le membre hComm est le handle du port de communication ouvert. Ce membre est NULL si le port n’est pas encore ouvert ou si le paramètre dwSelect de lineGetID n’est pas la valeur LINECALLSELECT_CALL. Si un appel est actif, le fournisseur de services ouvre généralement le port lui-même pour obtenir le contrôle direct du matériel de communication, mais n’est nécessaire que pour retourner un handle valide si la ligne est connectée. Le fournisseur de services ouvre le port à l’aide de la valeur FILE_FLAG_OVERLAPPED, puis configure le port à l’aide des paramètres spécifiés par la fonction lineSetDevConfig. Vous pouvez définir des options de configuration supplémentaires pour l’appareil à l’aide de fonctions de communication avec le handle retourné.
Le membre szDeviceName est une chaîne null-terminated qui spécifie le nom du port de communication associé à la ligne, à l’adresse ou à l’appel.
Si hComm est un handle valide, vous pouvez l’utiliser dans les appels suivants aux fonctions de fichier, telles que ReadFile et WriteFile, pour envoyer et recevoir des données sur l’appel. Lorsque vous avez terminé d’utiliser le port de communication et de préférence avant d’utiliser la fonction lineDeallocateCall pour libérer l’appel, vous devez fermer le port à l’aide de la fonction CloseHandle.
Lorsque vous utilisez les fonctions lineGetDevConfig et lineSetDevConfig, certains fournisseurs de services nécessitent que les données de configuration de cette classe d’appareil aient le format suivant :
typedef struct tagDEVCFG {
DEVCFGHDR dfgHdr;
COMMCONFIG commconfig;
} DEVCFG, *PDEVCFG, FAR* LPDEVCFG;
// Device setting information
typedef struct tagDEVCFGDR {
DWORD dwSize;
DWORD dwVersion;
WORD fwOptions;
WORD wWaitBong;
} DEVCFGHDR;
Voici les informations de configuration d’appareil à utiliser avec les fonctions lineGetDevConfig et lineSetDevConfig.
-
dwSize
-
Somme de la taille de la structure DEVCFGHDR et de la taille réelle de la structure COMMCONFIG.
-
dwVersion
-
Numéro de version de la structure DevConfig Unimodem. Ce membre peut être MDMCFG_VERSION (0x00010003).
-
fwOptions
-
Indicateurs d’option qui s’affichent dans la page Option Unimodem. Ce membre peut être une combinaison de ces valeurs :
-
TERMINAL_PRE (1)
-
Affiche l’écran de pré-terminal.
-
TERMINAL_POST (2)
-
Affiche l’écran post-terminal.
-
MANUAL_DIAL (4)
-
Compose le téléphone manuellement, s’il est capable de le faire.
-
LAUNCH_LIGHTS (8)
-
Affiche l’icône du modem dans la zone d’état de la barre des tâches.
Seule la valeur LAUNCH_LIGHTS est définie par défaut
-
-
wWaitBong
-
Nombre de secondes (en deux secondes granularité) pour remplacer l’attente du ton de crédit ($).
-
Commconfig
-
commCONFIG structure qui peut être utilisée avec les fonctions de configuration des communications et des modems.