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.