Bagikan melalui


Fungsi FaxDevVirtualDeviceCreation (faxdev.h)

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

Membuat Paket Penyelesaian

Fungsi Penyedia Layanan Faks

FaxDevInitialize

FaxDevStartJob

LINEMESSAGE

PostQueuedCompletionStatus

Menggunakan Perangkat Virtual untuk Mengirimkan Faks

Menggunakan API Penyedia Layanan Faks

Perangkat Faks Virtual