comm/datamodem

Die Comm/datamodem-Geräteklasse besteht aus datamodem-Geräten. Sie greifen auf diese Geräte zu, indem Sie die Datei- und Kommunikationsfunktionen verwenden. Geräte in dieser Klasse sind Zeilengeräten zugeordnet, die den LINEMEDIAMODE_DATAMODEM Medientyp unterstützen, der im dwMediaModes-Member der LINEDEVCAPS-Struktur für das Zeilengerät angegeben wird.

Die lineGetID-Funktion füllt eine VARSTRING-Struktur aus, legt dwStringFormat auf den STRINGFORMAT_BINARY Wert fest und fügt diese zusätzlichen Member an:

HANDLE hComm;            // file handle to data modem
CHAR   szDeviceName[1];  // name of data modem

Das hComm-Element ist das Handle des offenen Kommunikationsports. Dieser Member ist NULL , wenn der Port noch nicht geöffnet ist oder wenn der dwSelect-Parameter von lineGetID nicht der LINECALLSELECT_CALL Wert ist. Wenn ein Aufruf aktiv ist, öffnet der Dienstanbieter in der Regel den Port selbst, um die direkte Kontrolle über die Kommunikationshardware zu erhalten. Dies ist jedoch nur erforderlich, um ein gültiges Handle zurückzugeben, wenn die Leitung verbunden ist. Der Dienstanbieter öffnet den Port mithilfe des FILE_FLAG_OVERLAPPED-Werts und konfiguriert den Port dann mit den Einstellungen, die von der lineSetDevConfig-Funktion angegeben sind. Sie können zusätzliche Konfigurationsoptionen für das Gerät festlegen, indem Sie Kommunikationsfunktionen mit dem zurückgegebenen Handle verwenden.

Das szDeviceName-Element ist eine NULL-Zeichenfolge, die den Namen des Kommunikationsports angibt, der der Zeile, Adresse oder dem Aufruf zugeordnet ist.

Wenn hComm ein gültiges Handle ist, können Sie es in nachfolgenden Aufrufen von Dateifunktionen wie ReadFile und WriteFile verwenden, um Daten über den Aufruf zu senden und zu empfangen. Wenn Sie mit der Verwendung des Kommunikationsports fertig sind und vorzugsweise die Funktion lineDeallocateCall verwenden, um die Zuordnung des Aufrufs zu beheben, müssen Sie den Port mit der CloseHandle-Funktion schließen.

Bei Verwendung der Funktionen lineGetDevConfig und lineSetDevConfig erfordern einige Dienstanbieter, dass die Konfigurationsdaten für diese Geräteklasse das folgende Format aufweisen:

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;

Im Folgenden sind Informationen zur Gerätekonfiguration für die Verwendung mit den Funktionen lineGetDevConfig und lineSetDevConfig aufgeführt.

dwSize

Summe der Größe der DEVCFGHDR-Struktur und der tatsächlichen Größe der COMMCONFIG-Struktur .

dwVersion

Versionsnummer der Unimodem DevConfig-Struktur . Dieses Element kann MDMCFG_VERSION (0x00010003) sein.

fwOptions

Optionsflags, die auf der Seite Unimodem-Option angezeigt werden. Dieses Element kann eine Kombination aus diesen Werten sein:

TERMINAL_PRE (1)

Zeigt den Bildschirm vor dem Terminal an.

TERMINAL_POST (2)

Zeigt den Bildschirm nach dem Terminal an.

MANUAL_DIAL (4)

Wählt das Telefon manuell an, sofern dies möglich ist.

LAUNCH_LIGHTS (8)

Zeigt das Modemsymbol im status Bereich der Taskleiste an.

Standardmäßig wird nur der LAUNCH_LIGHTS-Wert festgelegt.

wWaitBong

Anzahl der Sekunden (in zwei Sekunden Granularität) zum Ersetzen des Wartevorgangs für den Kreditton ($).

Commconfig

COMMCONFIG-Struktur , die mit den Kommunikations- und Modemkonfigurationsfunktionen verwendet werden kann.