comm/datamodem
La classe d’appareil comm/datamodem se compose d’appareils datamodem. Vous accédez à ces appareils à l’aide des fonctionsde fichier et de communication. Les appareils de cette classe sont associés à des appareils de ligne qui prennent en charge le _ type de média LINEMEDIAMODE DATAMODEM, qui est spécifié dans le membre dwMediaModes de la structure LINEDEVCAPS pour le périphérique de ligne.
La fonction lineGetID remplit une structure VARSTRING , en affectant à dwStringFormat la _ valeur binaire STRINGFORMAT et en ajoutant les membres supplémentaires suivants :
HANDLE hComm; // file handle to data modem
CHAR szDeviceName[1]; // name of data modem
Le membre hComm est le descripteur du port de communication ouvert. Ce membre a la valeur null si le port n’est pas encore ouvert ou si le paramètre dwSelect de lineGetID n’est pas la valeur de l' _ appel LINECALLSELECT. Si un appel est actif, le fournisseur de services ouvre généralement le port lui-même pour contrôler directement le matériel de communication, mais il 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 de chevauchement de l’indicateur _ de fichier, puis il 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 en utilisant des fonctions de communication avec le handle retourné.
Le membre szDeviceName est une chaîne se terminant par un caractère null 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 des appels ultérieurs à des 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 requièrent que les données de configuration pour 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 des informations sur la configuration de l’appareil à utiliser avec les fonctions lineGetDevConfig et lineSetDevConfig .
-
dwSize nul
-
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 Unimodem DevConfig . Ce membre peut être MDMCFG _ version (0x00010003).
-
fwOptions
-
Indicateurs d’option qui s’affichent sur la page d’options Unimodem. Ce membre peut être une combinaison de ces valeurs :
-
_Pré terminal (1)
-
Affiche l’écran pré-terminal.
-
_Poste de terminal (2)
-
Affiche l’écran après le terminal.
-
_Numérotation manuelle (4)
-
Compose le téléphone manuellement, si cela est possible.
-
_Lumières de lancement (8)
-
Affiche l’icône de modem dans la zone État de la barre des tâches.
Seule la valeur des lumières de lancement _ est définie par défaut
-
-
wWaitBong
-
Nombre de secondes (en granularité de deux secondes) pour remplacer l’attente de la tonalité ($).
-
Commconfig
-
Structure COMMCONFIG qui peut être utilisée avec les fonctions de configuration des communications et des modems.