Bagikan melalui


comm/datamodem

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

FungsilineGetIDmengisi strukturVARSTRING, 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 port komunikasi terbuka. Anggota ini NULL jika port belum terbuka atau jika parameter dwSelectlineGetID bukan nilai LINECALLSELECT_CALL. Jika panggilan aktif, penyedia layanan biasanya membuka port itu sendiri untuk mendapatkan kontrol langsung atas perangkat keras komunikasi, tetapi hanya diperlukan untuk mengembalikan handel yang valid jika baris tersambung. Penyedia layanan membuka port menggunakan nilai FILE_FLAG_OVERLAPPED lalu mengonfigurasi port menggunakan pengaturan yang ditentukan oleh fungsilineSetDevConfig. Anda dapat mengatur opsi konfigurasi tambahan untuk perangkat dengan menggunakan fungsi komunikasi dengan handel yang dikembalikan.

Anggota szDeviceName adalah string nullyang dihentikan 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, sepertiReadFile dan WriteFile, untuk mengirim dan menerima data saat panggilan. Ketika Anda selesai menggunakan port komunikasi dan sebaiknya sebelum Anda menggunakan fungsilineDeallocateCalluntuk membatalkan alokasi panggilan, Anda harus menutup port dengan menggunakan fungsiCloseHandle.

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 lineGetDevConfigdan fungsilineSetDevConfig.

dwSize

Jumlah ukuran struktur DEVCFGHDR dan ukuran aktual strukturCOMMCONFIG.

dwVersion

Nomor versi struktur Unimodem DevConfig. 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)

Putar nomor 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 granularitas dua detik) untuk menggantikan nuansa tunggu nada kredit ($).

Commconfig

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