Struktur LINEDEVCAPS (tapi.h)

Struktur LINEDEVCAPS menjelaskan kemampuan perangkat garis. Fungsi lineGetDevCaps dan fungsi TSPI_lineGetDevCaps mengembalikan struktur LINEDEVCAPS .

Sintaks

typedef struct linedevcaps_tag {
  DWORD          dwTotalSize;
  DWORD          dwNeededSize;
  DWORD          dwUsedSize;
  DWORD          dwProviderInfoSize;
  DWORD          dwProviderInfoOffset;
  DWORD          dwSwitchInfoSize;
  DWORD          dwSwitchInfoOffset;
  DWORD          dwPermanentLineID;
  DWORD          dwLineNameSize;
  DWORD          dwLineNameOffset;
  DWORD          dwStringFormat;
  DWORD          dwAddressModes;
  DWORD          dwNumAddresses;
  DWORD          dwBearerModes;
  DWORD          dwMaxRate;
  DWORD          dwMediaModes;
  DWORD          dwGenerateToneModes;
  DWORD          dwGenerateToneMaxNumFreq;
  DWORD          dwGenerateDigitModes;
  DWORD          dwMonitorToneMaxNumFreq;
  DWORD          dwMonitorToneMaxNumEntries;
  DWORD          dwMonitorDigitModes;
  DWORD          dwGatherDigitsMinTimeout;
  DWORD          dwGatherDigitsMaxTimeout;
  DWORD          dwMedCtlDigitMaxListSize;
  DWORD          dwMedCtlMediaMaxListSize;
  DWORD          dwMedCtlToneMaxListSize;
  DWORD          dwMedCtlCallStateMaxListSize;
  DWORD          dwDevCapFlags;
  DWORD          dwMaxNumActiveCalls;
  DWORD          dwAnswerMode;
  DWORD          dwRingModes;
  DWORD          dwLineStates;
  DWORD          dwUUIAcceptSize;
  DWORD          dwUUIAnswerSize;
  DWORD          dwUUIMakeCallSize;
  DWORD          dwUUIDropSize;
  DWORD          dwUUISendUserUserInfoSize;
  DWORD          dwUUICallInfoSize;
  LINEDIALPARAMS MinDialParams;
  LINEDIALPARAMS MaxDialParams;
  LINEDIALPARAMS DefaultDialParams;
  DWORD          dwNumTerminals;
  DWORD          dwTerminalCapsSize;
  DWORD          dwTerminalCapsOffset;
  DWORD          dwTerminalTextEntrySize;
  DWORD          dwTerminalTextSize;
  DWORD          dwTerminalTextOffset;
  DWORD          dwDevSpecificSize;
  DWORD          dwDevSpecificOffset;
  DWORD          dwLineFeatures;
  DWORD          dwSettableDevStatus;
  DWORD          dwDeviceClassesSize;
  DWORD          dwDeviceClassesOffset;
  GUID           PermanentLineGuid;
  DWORD          dwAddressTypes;
  GUID           ProtocolGuid;
  DWORD          dwAvailableTracking;
} LINEDEVCAPS, *LPLINEDEVCAPS;

Anggota

dwTotalSize

Ukuran total yang dialokasikan untuk struktur data ini, dalam byte.

dwNeededSize

Ukuran yang diperlukan untuk struktur data ini untuk menyimpan semua informasi yang dikembalikan, dalam byte.

dwUsedSize

Ukuran bagian dari struktur data ini yang berisi informasi yang berguna, dalam byte.

dwProviderInfoSize

Ukuran bidang berukuran bervariasi yang berisi informasi penyedia layanan, dalam byte.

dwProviderInfoOffset

Offset dari awal struktur ke informasi penyedia layanan, dalam byte.

Anggota dwProviderInfoSize dan dwProviderInfoOffset dimaksudkan untuk memberikan informasi tentang perangkat keras dan/atau perangkat lunak penyedia, seperti nama vendor dan nomor versi perangkat keras dan perangkat lunak. Informasi ini dapat berguna ketika pengguna perlu memanggil layanan pelanggan dengan masalah mengenai penyedia.

dwSwitchInfoSize

Ukuran bidang perangkat berukuran varian yang berisi informasi sakelar, dalam byte.

dwSwitchInfoOffset

Offset dari awal struktur ke informasi pengalihan, dalam byte.

Anggota dwSwitchInfoSize dan dwSwitchInfoOffset dimaksudkan untuk memberikan informasi tentang sakelar tempat perangkat baris terhubung, seperti produsen sakelar, nama model, versi perangkat lunak, dan sebagainya. Informasi ini dapat berguna ketika pengguna perlu memanggil layanan pelanggan dengan masalah terkait pengalihan.

dwPermanentLineID

Pengidentifikasi permanen tempat perangkat baris diketahui dalam konfigurasi sistem. Ini adalah nama permanen untuk perangkat baris. Nama permanen ini (dibandingkan dengan dwDeviceID) tidak berubah karena baris ditambahkan atau dihapus dari sistem, dan bertahan melalui peningkatan sistem operasi. Oleh karena itu dapat digunakan untuk menautkan informasi khusus baris dalam file .ini (atau file lain) dengan cara yang tidak terpengaruh dengan menambahkan atau menghapus baris lain atau dengan mengubah sistem operasi.

dwLineNameSize

Ukuran bidang perangkat berukuran varian yang berisi nama yang dapat dikonfigurasi pengguna untuk perangkat baris ini, dalam byte.

dwLineNameOffset

Offset dari awal struktur data ini ke nama untuk perangkat baris ini. Nama ini dapat dikonfigurasi oleh pengguna saat mengonfigurasi penyedia layanan perangkat baris, dan disediakan untuk kenyamanan pengguna. Ukuran bidang ditentukan oleh dwLineNameSize.

dwStringFormat

Format string yang digunakan dengan perangkat baris ini. Anggota ini menggunakan salah satu konstanta STRINGFORMAT_.

dwAddressModes

Mode di mana alamat asal ditentukan. Anggota ini menggunakan konstanta LINEADDRESSMODE_.

dwNumAddresses

Jumlah alamat yang terkait dengan perangkat baris ini. Alamat individual dirujuk oleh pengidentifikasi alamat. Pengidentifikasi alamat berkisar dari nol hingga satu kurang dari nilai yang ditunjukkan oleh dwNumAddresses.

dwBearerModes

Array bendera yang menunjukkan mode pembawa yang berbeda yang dapat didukung alamat. Anggota ini menggunakan satu atau beberapa konstanta LINEBEARERMODE_.

dwMaxRate

Tarif data maksimum untuk pertukaran informasi melalui panggilan, dalam bit per detik.

dwMediaModes

Array bendera yang menunjukkan berbagai jenis media yang dapat didukung alamat. Anggota ini menggunakan satu atau beberapa konstanta LINEMEDIAMODE_.

dwGenerateToneModes

Nada yang dapat dihasilkan pada baris ini. Anggota ini menggunakan satu atau beberapa konstanta LINETONEMODE_.

dwGenerateToneMaxNumFreq

Jumlah maksimum frekuensi yang dapat ditentukan dalam menjelaskan nada umum menggunakan struktur data LINEGENERATETONE saat menghasilkan nada menggunakan lineGenerateTone. Nilai 0 menunjukkan bahwa pembuatan nada tidak tersedia.

dwGenerateDigitModes

Mode digit daripada yang dapat dihasilkan pada baris ini. Anggota ini menggunakan satu atau beberapa konstanta LINEDIGITMODE_.

dwMonitorToneMaxNumFreq

Jumlah maksimum frekuensi yang dapat ditentukan dalam menjelaskan nada umum menggunakan struktur data LINEMONITORTONE saat memantau nada umum menggunakan lineMonitorTones. Nilai 0 menunjukkan bahwa monitor nada tidak tersedia.

dwMonitorToneMaxNumEntries

Jumlah maksimum entri yang dapat ditentukan dalam daftar nada ke lineMonitorTones.

dwMonitorDigitModes

Mode digit daripada yang dapat dideteksi pada baris ini. Anggota ini menggunakan satu atau beberapa konstanta LINEDIGITMODE_.

dwGatherDigitsMinTimeout

Nilai minimum yang dapat ditentukan untuk nilai batas waktu digit pertama dan antar digit yang digunakan oleh lineGatherDigits, dalam milidetik. Jika dwGatherDigitsMinTimeout dan dwGatherDigitsMaxTimeout nol, batas waktu tidak didukung.

dwGatherDigitsMaxTimeout

Nilai maksimum yang dapat ditentukan untuk nilai batas waktu digit pertama dan antar digit yang digunakan oleh lineGatherDigits, dalam milidetik. Jika dwGatherDigitsMinTimeout dan dwGatherDigitsMaxTimeout nol, batas waktu tidak didukung.

dwMedCtlDigitMaxListSize

Jumlah maksimum entri yang dapat ditentukan dalam parameter daftar digit lineSetMediaControl.

dwMedCtlMediaMaxListSize

Jumlah maksimum entri yang dapat ditentukan dalam parameter daftar media lineSetMediaControl.

dwMedCtlToneMaxListSize

Jumlah maksimum entri yang dapat ditentukan dalam parameter daftar nada lineSetMediaControl.

dwMedCtlCallStateMaxListSize

Jumlah maksimum entri yang dapat ditentukan dalam parameter daftar status panggilan lineSetMediaControl.

dwDevCapFlags

Kemampuan perangkat Boolean. Anggota ini menggunakan satu atau beberapa konstanta LINEDEVCAPFLAGS_.

dwMaxNumActiveCalls

Jumlah maksimum panggilan (bandwidth minimum) yang dapat aktif (terhubung) pada baris kapan saja. Jumlah aktual panggilan aktif mungkin lebih rendah jika panggilan bandwidth yang lebih tinggi telah dibuat di telepon.

dwAnswerMode

Pengaruh pada panggilan aktif saat menjawab panggilan penawaran lain pada perangkat baris. Anggota ini menggunakan salah satu konstanta LINEANSWERMODE_.

dwRingModes

Jumlah mode dering berbeda yang dapat dilaporkan dalam pesan LINE_LINEDEVSTATE dengan indikasi dering . Mode cincin yang berbeda berkisar dari satu hingga dwRingModes. Nol menunjukkan tidak ada cincin.

dwLineStates

Komponen status baris yang berbeda di mana aplikasi dapat diberi tahu dalam pesan LINE_LINEDEVSTATE pada baris ini. Anggota ini menggunakan satu atau beberapa konstanta LINEDEVSTATE_.

dwUUIAcceptSize

Ukuran maksimum informasi pengguna-pengguna, termasuk terminator null , yang dapat dikirim selama panggilan menerima.

dwUUIAnswerSize

Ukuran maksimum informasi pengguna-pengguna, termasuk terminator null , yang dapat dikirim selama jawaban panggilan.

dwUUIMakeCallSize

Ukuran maksimum informasi pengguna-pengguna, termasuk terminator null , yang dapat dikirim selama panggilan buat.

dwUUIDropSize

Ukuran maksimum informasi pengguna-pengguna, termasuk terminator null , yang dapat dikirim selama panggilan dihilangkan.

dwUUISendUserUserInfoSize

Ukuran maksimum informasi pengguna-pengguna, termasuk terminator null , yang dapat dikirim secara terpisah kapan saja selama panggilan dengan lineSendUserUserInfo.

dwUUICallInfoSize

Ukuran maksimum informasi pengguna-pengguna, termasuk terminator null , yang dapat diterima dalam struktur LINECALLINFO .

MinDialParams

Nilai minimum untuk parameter putar nomor yang dapat diatur untuk panggilan pada baris ini, dalam milidetik. Parameter panggilan dapat diatur ke nilai dalam rentang MinDialParams ke MaxDialParams. Granularitas pengaturan aktual adalah khusus penyedia layanan.

MaxDialParams

Nilai maksimum untuk parameter putar nomor yang dapat diatur untuk panggilan pada baris ini, dalam milidetik. Parameter panggilan dapat diatur ke nilai dalam rentang MinDialParams ke MaxDialParams. Granularitas pengaturan aktual adalah khusus penyedia layanan.

DefaultDialParams

Parameter putar nomor default yang digunakan untuk panggilan pada baris ini. Nilai parameter ini dapat ditimpa berdasarkan per panggilan.

dwNumTerminals

Jumlah terminal yang dapat diatur untuk perangkat baris ini, alamatnya, atau panggilannya. Terminal individu disebut oleh ID terminal dan berkisar dari nol hingga satu kurang dari nilai yang ditunjukkan oleh dwNumTerminals.

dwTerminalCapsSize

Ukuran bidang perangkat berukuran varian yang berisi array dengan entri jenis LINETERMCAPS, dalam byte.

dwTerminalCapsOffset

Offset dari awal struktur ini ke bidang perangkat berukuran varian yang berisi array dengan entri jenis LINETERMCAPS. Array ini diindeks oleh ID terminal, dalam rentang dari nol hingga dwNumTerminals dikurangi satu. Setiap entri dalam array menentukan kemampuan perangkat terminal dari terminal yang sesuai. Ukuran bidang ditentukan oleh dwTerminalCapsSize.

dwTerminalTextEntrySize

Ukuran setiap deskripsi teks terminal, termasuk terminator null , yang diarahkan oleh dwTerminalTextSize dan dwTerminalTextOffset, dalam byte.

dwTerminalTextSize

Ukuran bidang berukuran varian yang berisi teks deskriptif tentang setiap terminal baris yang tersedia, termasuk terminator null , dalam byte

dwTerminalTextOffset

Offset dari awal struktur ini ke teks deskriptif tentang setiap terminal baris yang tersedia, dalam byte. Setiap pesan panjangnya adalah dwTerminalTextEntrySize byte. Format string dari deskripsi tekstual ini ditunjukkan oleh dwStringFormat dalam kemampuan perangkat baris. Ukuran bidang ditentukan oleh dwTerminalTextSize.

dwDevSpecificSize

Ukuran bidang khusus perangkat berukuran varian, dalam byte. Jika informasi khusus perangkat adalah penunjuk ke string, ukurannya harus menyertakan terminator null .

dwDevSpecificOffset

Offset dari awal struktur ini ke bidang khusus perangkat, dalam byte. Ukuran bidang ditentukan oleh dwDevSpecificSize.

dwLineFeatures

Fitur yang tersedia untuk baris ini menggunakan konstanta LINEFEATURE_. Memanggil fitur yang didukung mengharuskan garis berada dalam status yang tepat dan perangkat garis yang mendasar untuk dibuka dalam mode yang kompatibel. Nol dalam posisi bit menunjukkan bahwa fitur yang sesuai tidak pernah tersedia. Yang menunjukkan bahwa fitur yang sesuai mungkin tersedia jika baris dalam keadaan yang sesuai agar operasi menjadi bermakna. Anggota ini memungkinkan aplikasi untuk menemukan fitur baris mana yang dapat (dan yang tidak pernah dapat) didukung oleh perangkat.

dwSettableDevStatus

Nilai LINEDEVSTATUSFLAGS yang dapat dimodifikasi menggunakan lineSetLineDevStatus.

dwDeviceClassesSize

Ukuran string yang berisi pengidentifikasi kelas perangkat yang didukung pada satu atau beberapa alamat pada baris ini, termasuk terminator null , dalam byte.

dwDeviceClassesOffset

Offset dari awal struktur ini ke string yang berisi pengidentifikasi kelas perangkat yang didukung pada satu atau beberapa alamat pada baris ini, dalam byte. String ini untuk digunakan dengan lineGetID; mereka dipisahkan oleh NULLs, dan pengidentifikasi terakhir dalam daftar diikuti oleh dua NULLs. Ukuran bidang ditentukan oleh dwDeviceClassesSize.

PermanentLineGuid

GUID secara permanen terkait dengan perangkat baris.

dwAddressTypes

Jenis alamat yang digunakan untuk panggilan. Anggota struktur ini hanya tersedia jika versi TAPI yang dinegosiasikan adalah 3.0 atau lebih tinggi.

ProtocolGuid

Protokol TAPI saat ini. Anggota struktur ini hanya tersedia jika versi TAPI yang dinegosiasikan adalah 3.0 atau lebih tinggi. Protokol dinyatakan dalam tapi3.h.

dwAvailableTracking

Pelacakan yang tersedia, seperti yang diwakili oleh LINECALLHUBTRACKING.constant. Anggota struktur ini hanya tersedia jika versi TAPI yang dinegosiasikan adalah 3.0 atau lebih tinggi.

Keterangan

Ekstensi khusus perangkat harus menggunakan area ukuran DevSpecific (dwDevSpecificSize dan dwDevSpecificOffset) dengan ukuran yang bervariasi dari struktur data ini.

Aplikasi lama dikompilasi tanpa anggota baru dalam struktur LINEDEVCAPS , dan menggunakan SIZEOF LINEDEVCAPS yang lebih kecil dari ukuran baru. Aplikasi lolos dalam parameter dwAPIVersion dengan fungsi lineGetDevCaps , yang dapat digunakan untuk panduan oleh TAPI dalam menangani situasi ini. Jika aplikasi melewati anggota dwTotalSize kurang dari ukuran bagian tetap struktur seperti yang didefinisikan dalam dwAPIVersion yang ditentukan, LINEERR_STRUCTURETOOSMALL dikembalikan. Jika memori yang cukup telah dialokasikan oleh aplikasi, sebelum memanggil TSPI_lineGetDevCaps, TAPI mengatur anggota dwNeededSize dan dwUsedSize ke ukuran tetap struktur seperti yang ada dalam versi API yang ditentukan.

Aplikasi baru harus kognizan dari versi API yang dinegosiasikan, dan tidak memeriksa konten anggota dalam bagian tetap di luar akhir asli bagian tetap struktur untuk versi API yang dinegosiasikan.

Jika bit LINEBEARERMODE_DATA diatur dalam anggota dwBearerModes , anggota dwMaxRate menunjukkan tingkat maksimum transmisi digital pada saluran pembawa. Anggota dwMaxRate dari struktur LINEDEVCAPS dapat berisi nilai yang valid meskipun anggota dwBearerModes dari struktur LINEDEVCAPS tidak diatur ke LINEBEARERMODE_DATA.

Jika LINEBEARERMODE_DATA tidak diatur dalam dwBearerModes, tetapi nilai LINEBEARERMODE_VOICE diatur dan nilai LINEMEDIAMODE_DATAMODEM diatur dalam anggota dwMediaModes , anggota dwMaxRate menunjukkan laju bit SYNCHRONOUS (DCE) maksimum pada saluran telepon untuk modem terlampir atau setara fungsional. Misalnya, jika kecepatan modulasi tercepat modem adalah V.32bis pada 14.400bps, dwMaxRate sama dengan 14400. Ini bukan tarif port DTE tercepat (yang kemungkinan besar akan menjadi 38400, 57600, atau 115200), tetapi laju bit tercepat yang didukung modem di saluran telepon.

Aplikasi harus berhati-hati untuk memeriksa apakah LINEBEARERMODE_DATA tidak diatur, untuk menghindari salah menafsirkan anggota dwMaxRate . Kemungkinan akan menjadi 64000 atau lebih tinggi jika LINEBEARERMODE_DATA ditetapkan.

Perlu juga dicatat bahwa jika modem belum diidentifikasi secara khusus (misalnya, itu adalah modem "generik"), angka yang ditunjukkan adalah "tebakan terbaik" berdasarkan pemeriksaan modem.

Anggota dwSettableDevStatus melalui dwDeviceClassesOffset hanya tersedia untuk aplikasi yang membuka perangkat baris dengan versi TAPI 2.0 atau yang lebih baru.

Persyaratan

Persyaratan Nilai
Header tapi.h

Lihat juga

LINECALLINFO

LINEGENERATETONE

LINEMONITORTONE

LINETERMCAPS

LINETRANSLATECAPS

LINE_LINEDEVSTATE

TSPI_lineGetDevCaps

lineClose

lineDial

lineGatherDigits

lineGenerateTone

lineGetDevCaps

lineGetID

lineGetTranslateCaps

lineMakeCall

lineMonitorTones

lineSendUserUserInfo

lineSetMediaControl

lineTranslateAddress

lineUncompleteCall