Bagikan melalui


fungsi TSPI_providerRemove (tspi.h)

Fungsi TSPI_providerRemove usang. TAPI versi 1.4 atau penyedia layanan yang lebih lama dapat menerapkan fungsi TSPI ini. TSP TAPI versi 2.0 atau yang lebih baru menerapkan TUISPI_providerRemove.

Fungsi TSPI_providerRemove meminta pengguna untuk mengonfirmasi penghapusan penyedia layanan. Penyedia layanan bertanggung jawab untuk menghapus entri registri apa pun yang ditambahkan penyedia layanan pada waktu addProvider , serta modul dan file lain yang tidak lagi diperlukan.

Sintaks

LONG TSPIAPI TSPI_providerRemove(
  HWND  hwndOwner,
  DWORD dwPermanentProviderID
);

Parameter

hwndOwner

Handel jendela induk tempat fungsi dapat membuat jendela kotak dialog apa pun yang diperlukan selama penghapusan.

dwPermanentProviderID

Pengidentifikasi penyedia permanen penyedia layanan.

Nilai kembali

Mengembalikan nol jika fungsi berhasil atau angka kesalahan jika terjadi kesalahan. Kemungkinan nilai yang dikembalikan adalah sebagai berikut:

LINEERR_OPERATIONFAILED, LINEERR_INIFILECORRUPT, LINEERR_NOMEM, LINEERR_INVALPARAM.

Keterangan

Fungsi ini harus menjamin bahwa bagian penyedia layanan dan informasi yang ditentukan secara privat untuk penyedia layanan dihapus dari registri jika mengembalikan keberhasilan. Secara khusus, bagian [Provider<PPID>] yang PPID-nya <> cocok dengan dwPermanentProviderID harus dihapus, termasuk entri NumLines dan NumPhones-nya. Jika fungsi mengembalikan keberhasilan, pemanggil bertanggung jawab untuk menghapus entri ProviderIDx dan ProviderFilenamex yang cocok dari bagian [Penyedia], dan menghitung ulang entri yang tersisa di bagian [Penyedia] yang sesuai.

Prosedur ini harus membiarkan sistem dalam keadaan konsisten. Ini harus berjalan hingga selesai, tidak memungkinkan pengguna untuk membatalkan penghapusan ketika sebagian selesai. Jika penghapusan gagal, penyedia bertanggung jawab untuk "mundur" apa yang dilakukan dan mengembalikan kesalahan. Ini mungkin menyiratkan pra-pemindaian untuk memverifikasi bahwa penghapusan lengkap dimungkinkan, sebelum penghapusan dimulai.

Fungsi ini dapat dipanggil saat penyedia layanan sedang digunakan (yaitu, antara TSPI_providerInit dan TSPI_providerShutdown). Jika ini terjadi, penyedia layanan harus melakukan kombinasi yang sesuai untuk menampilkan kotak dialog pengguna untuk mengumumkan konflik apa pun dan mengonfirmasi penghapusan, membatasi opsi penghapusan kepada mereka yang dapat dilakukan secara transparan, atau mengeluarkan pesan LINE_CLOSE dan PHONE_CLOSE untuk memberi tahu TAPI dan aplikasi bahwa perangkat yang terpengaruh telah ditutup paksa untuk dihapus. Bagaimanapun, setiap perubahan yang memengaruhi perilaku yang terlihat melalui TSPI harus berlaku hanya ketika penyedia layanan dimatikan pada TSPI_providerShutdown berikutnya.

Fungsi ini tidak boleh mengembalikan LINEERR_INUSE atau kesalahan lain yang mungkin terjadi karena penyedia sedang digunakan oleh aplikasi; sebagai gantinya, penyedia harus berunding dengan pengguna secara langsung tentang masalah ini, lalu mengembalikan LINEERR_OPERATIONFAILED jika pengguna memutuskan untuk membatalkan operasi.

Prosedur ini hanya dipanggil sekali, pada saat penghapusan penyedia layanan, sampai ada panggilan ke TSPI_providerInstall. Pemanggil bertanggung jawab untuk memastikan hal ini.

Utilitas telefoni Panel Kontrol yang disediakan dengan Windows Telephony dalam versi 1.4 dan yang lebih lama memanggil fungsi ini (dengan persyaratan urutan eksternal terpenuhi seperti yang dijelaskan di sini) ketika perintah "hapus" dipanggil.

Tidak ada fungsi yang sesuai di tingkat TAPI. Pada tingkat itu, aplikasi berharap memiliki penyedia layanan yang sudah diinstal; jika tidak, saluran dan telepon mereka tidak muncul dalam urutan pengidentifikasi perangkat yang tersedia. Aplikasi yang berjalan diberitahu tentang konfigurasi ulang dinamis, termasuk penghapusan penyedia layanan, melalui nilai LINEDEVSTATE_REINIT atau PHONESTATE_REINIT dalam pesan LINE_LINEDEVSTATE atau PHONE_STATE.

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header tspi.h

Lihat juga

LINE_CLOSE

LINE_LINEDEVSTATE

PHONE_CLOSE

PHONE_STATE

TSPI_providerInit

TSPI_providerInstall

TSPI_providerShutdown