Bagikan melalui


comm/datamodem

Kelas perangkat comm/datamodem terdiri dari perangkat datamodem. Anda mengakses perangkat ini dengan menggunakan fungsi file dan komunikasi. Perangkat di kelas ini dikaitkan dengan perangkat baris yang mendukung jenis media LINEMEDIAMODE_DATAMODEM, yang ditentukan dalam anggota dwMediaModes dari struktur LINEDEVCAPS untuk perangkat baris.

Fungsi lineGetID mengisi struktur VARSTRING , mengatur dwStringFormat ke nilai STRINGFORMAT_BINARY dan menambahkan anggota tambahan ini:

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

Anggota hComm adalah handel dari port komunikasi terbuka. Anggota ini adalah NULL jika port belum terbuka atau jika parameter dwSelect dari lineGetID bukan nilai LINECALLSELECT_CALL. Jika panggilan aktif, penyedia layanan biasanya membuka port itu sendiri untuk mendapatkan kontrol langsung perangkat keras komunikasi, tetapi hanya diperlukan untuk mengembalikan handel yang valid jika saluran tersambung. Penyedia layanan membuka port menggunakan nilai FILE_FLAG_OVERLAPPED lalu mengonfigurasi port menggunakan pengaturan yang ditentukan oleh fungsi lineSetDevConfig . Anda dapat mengatur opsi konfigurasi tambahan untuk perangkat dengan menggunakan fungsi komunikasi dengan handel yang dikembalikan.

Anggota szDeviceName adalah string null-terminated yang menentukan nama port komunikasi yang terkait dengan baris, alamat, atau panggilan.

Jika hComm adalah handel yang valid, Anda dapat menggunakannya dalam panggilan berikutnya ke fungsi file, seperti ReadFile dan WriteFile, untuk mengirim dan menerima data pada panggilan. Ketika Anda selesai menggunakan port komunikasi dan sebaiknya sebelum Anda menggunakan fungsi lineDeallocateCall untuk membatalkan alokasi panggilan, Anda harus menutup port dengan menggunakan fungsi CloseHandle .

Saat menggunakan fungsi lineGetDevConfig dan lineSetDevConfig , beberapa penyedia layanan mengharuskan data konfigurasi untuk kelas perangkat ini memiliki format berikut:

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;

Berikut ini adalah informasi konfigurasi perangkat untuk digunakan dengan fungsi lineGetDevConfig dan lineSetDevConfig .

dwSize

Jumlah ukuran struktur DEVCFGHDR dan ukuran aktual struktur COMMCONFIG .

dwVersion

Nomor versi struktur DevConfig Unimodem. Anggota ini dapat MDMCFG_VERSION (0x00010003).

fwOptions

Bendera opsi yang muncul di halaman Opsi Unimodem. Anggota ini bisa menjadi kombinasi dari nilai-nilai ini:

TERMINAL_PRE (1)

Menampilkan layar pra-terminal.

TERMINAL_POST (2)

Menampilkan layar pasca-terminal.

MANUAL_DIAL (4)

Memanggil telepon secara manual, jika mampu melakukannya.

LAUNCH_LIGHTS (8)

Menampilkan ikon modem di area status bilah tugas.

Hanya nilai LAUNCH_LIGHTS yang diatur secara default

wWaitBong

Jumlah detik (dalam dua detik granularitas) untuk menggantikan tunggu nada kredit ($).

Commconfig

Struktur COMMCONFIG yang dapat digunakan dengan fungsi komunikasi dan konfigurasi modem.