Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Layanan faks memanggil fungsi FaxDevVirtualDeviceCreation selama inisialisasi untuk memungkinkan penyedia layanan faks (FSP) menyajikan perangkat faks virtual. Setiap FSP yang menyajikan perangkat faks virtual ke layanan faks harus mengekspor fungsi FaxDevVirtualDeviceCreation .
Sintaks
BOOL FaxDevVirtualDeviceCreation(
[out] LPDWORD DeviceCount,
[out] LPWSTR DeviceNamePrefix,
[out] LPDWORD DeviceIdPrefix,
[in] HANDLE CompletionPort,
[in] ULONG_PTR CompletionKey
);
Parameter
[out] DeviceCount
Jenis: LPDWORD
Penunjuk ke variabel DWORD yang tidak ditandatangani yang menerima jumlah perangkat faks virtual yang harus dibuat layanan faks untuk FSP. Jika FSP menetapkan parameter ini ke nol, inisialisasi penyedia akan gagal.
[out] DeviceNamePrefix
Jenis: LPWSTR
Penunjuk ke variabel yang menerima string karakter Unicode yang dihentikan null, dibatasi hingga 128 karakter WCHAR . FSP harus mengatur string ini ke awalan nama untuk perangkat faks virtual. Layanan faks menambahkan nilai parameter DeviceIdPrefix ke string ini. Hasilnya adalah nama perangkat unik untuk setiap perangkat faks virtual yang dibuat layanan faks.
[out] DeviceIdPrefix
Jenis: LPDWORD
Penunjuk ke variabel DWORD yang tidak ditandatangani yang menerima nilai bukan nol. FSP harus mengatur anggota ini ke nilai numerik unik yang mengidentifikasi perangkat faks virtual. Layanan faks menambahkan nilai ini ke angka berurutan, dimulai dengan nol untuk perangkat virtual pertama. Hasilnya adalah pengidentifikasi perangkat unik untuk setiap perangkat faks virtual yang dibuat layanan faks.
[in] CompletionPort
Jenis: HANDEL
Menentukan handel yang harus digunakan FSP untuk memposting paket port penyelesaian I/O ke layanan faks untuk peristiwa status baris asinkron. Saat ini fungsi FaxDevVirtualDeviceCreation hanya mendukung peristiwa yang memberi sinyal panggilan masuk.
Paket port penyelesaian harus merupakan struktur TAPI 2.x LINEMESSAGE . FSP harus mengalokasikan memori untuk struktur dengan LocalAlloc(LPTR, sizeof(LINEMESSAGE)). Penyedia layanan faks harus meneruskan ukuran memori yang dialokasikan (yaitu sizeof(LINEMESSAGE) dalam hal ini) ke parameter dwNumberOfBytesTransferred dari metode PostQueuedCompletionStatus . Layanan faks membebaskan memori apa pun yang dialokasikan untuk struktur paket penyelesaian.
FSP harus menetapkan anggota struktur sebagai berikut.
| Anggota | Konten |
|---|---|
| hDevice | Atur ke DeviceId dari FaxDevStartJob |
| dwMessageID | Atur ke 0 |
| dwCallbackInstance | Atur ke 0 |
| dwParam1 | Atur ke LINEDEVSTATE_RINGING |
| dwParam2 | Atur ke 0 |
| dwParam1 | Atur ke 0 |
Untuk informasi tentang peristiwa status baris, lihat LINEDEVSTATE_ Konstanta dalam dokumentasi TAPI. Untuk informasi tentang port penyelesaian I/O, lihat Port Penyelesaian I/O.
[in] CompletionKey
Jenis: ULONG_PTR
Menentukan nilai kunci penyelesaian. FSP harus menggunakan nilai ini ketika penyedia memposting paket port penyelesaian ke layanan faks. FSP harus meneruskan nilai buram ini ke fungsi PostQueuedCompletionStatus .
Nilai kembali
Jenis: BOOL
Jika fungsi berhasil, nilai yang dikembalikan adalah nilai bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, layanan faks memanggil GetLastError.
Keterangan
Layanan faks memeriksa DLL FSP untuk fungsi FaxDevVirtualDeviceCreation selama inisialisasi. Jika FSP mengekspor fungsi, layanan faks mengasumsikan bahwa penyedia akan menyajikan perangkat faks virtual. Layanan faks menangani perangkat faks virtual dengan cara yang sama seperti menangani perangkat faks fisik. Setelah inisialisasi, tidak ada perbedaan antara fungsionalitas atau pengoperasian FSP yang menyajikan perangkat faks virtual, dan yang tidak menyajikannya.
Ketika FSP menggunakan perangkat faks fisik, TAPI dan penyedia layanan telepon (TSP) menghitung perangkat untuk layanan faks. Jika FSP tidak memiliki perangkat faks fisik, dan hanya menyajikan perangkat faks virtual, TSP tidak akan ada, dan TAPI tidak akan menghitung perangkat. Dalam hal ini, FaxDevVirtualDeviceCreation menyediakan enumerasi perangkat faks virtual untuk layanan faks.
Persyaratan
| Klien minimum yang didukung | Windows 2000 Professional, Windows XP [hanya aplikasi desktop] |
| Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
| Target Platform | Windows |
| Header | faxdev.h |
Lihat juga
Menggunakan Perangkat Virtual untuk Mengirimkan Faks