Fungsi GenerateCopyFilePaths (winsplp.h)

Fungsi GenerateCopyFilePaths POINT dan Print DLL digunakan untuk memodifikasi jalur sumber dan tujuan yang digunakan oleh penampung cetak saat menyalin file terkait antrean cetak ke klien cetak.

Sintaks

DWORD GenerateCopyFilePaths(
  [in]      LPCWSTR pszPrinterName,
  [in]      LPCWSTR pszDirectory,
  [in]      LPBYTE  pSplClientInfo,
  [in]      DWORD   dwLevel,
  [in, out] LPWSTR  pszSourceDir,
  [in, out] LPDWORD pcchSourceDirSize,
  [in, out] LPWSTR  pszTargetDir,
  [in, out] LPDWORD pcchTargetDirSize,
  [in]      DWORD   dwFlags
);

Parameter

[in] pszPrinterName

Penunjuk yang disediakan penelepon ke string yang mewakili nama antrean cetak.

[in] pszDirectory

Penunjuk yang disediakan penelepon ke string yang mewakili nilai yang disediakan untuk entri Direktori server dalam registri. Untuk informasi selengkapnya, lihat Titik Pendukung dan Cetak Selama Penginstalan Printer.

[in] pSplClientInfo

Penunjuk yang disediakan penelepon ke struktur SPLCLIENT_INFO_1 .

[in] dwLevel

Nilai yang disediakan penelepon menunjukkan jumlah tingkat struktur yang diacu oleh pSplClientInfo. Harus 1.

[in, out] pszSourceDir

Untuk input, menerima penunjuk yang disediakan penelepon ke string yang mewakili jalur direktori server lengkap (termasuk nama server) tempat file akan disalin.

Untuk output, fungsi dapat memodifikasi string ini.

[in, out] pcchSourceDirSize

Alamat yang disediakan penelepon yang berisi panjang buffer yang diacu oleh pszSourceDir. (Perhatikan bahwa ini adalah panjang buffer, bukan panjang string.)

[in, out] pszTargetDir

Untuk input, menerima penunjuk yang disediakan penelepon ke string yang mewakili jalur direktori klien tempat file akan disalin. Aturan berikut ini akan berlaku:

  • Ketika fungsi dipanggil di server, jalur ini relatif terhadap PRINT$.
  • Ketika fungsi dipanggil pada klien, string berisi jalur lengkap.
Untuk output, fungsi dapat memodifikasi string ini.

[in, out] pcchTargetDirSize

Alamat yang disediakan penelepon yang berisi panjang buffer yang ditujukkan oleh pszTargetDir. (Perhatikan bahwa ini adalah panjang buffer, bukan panjang string.)

[in] dwFlags

Bendera yang disediakan penelepon. Bisa jadi salah satu dari yang berikut:

COPYFILE_FLAG_CLIENT_SPOOLER

Menunjukkan fungsi sedang dipanggil oleh penampung klien.

COPYFILE_FLAG_SERVER_SPOOLER

Menunjukkan fungsi sedang dipanggil oleh penampung server.

Nilai kembali

Jika operasi berhasil, fungsi harus mengembalikan ERROR_SUCCESS. Jika tidak, kode kesalahan harus mengembalikan kode kesalahan yang ditentukan dalam winerror.h.

Keterangan

Semua DLL Titik dan Cetak harus mengekspor fungsi GenerateCopyFilePaths , yang disebut oleh penampung cetak. Tujuannya adalah untuk mengizinkan DLL Titik dan Cetak untuk mengubah jalur direktori sumber atau tujuan, atau keduanya, sebelum penampung cetak menyalin file terkait antrean cetak dari server ke klien. (File disalin ketika klien tersambung ke server cetak. Untuk deskripsi lengkap tentang langkah-langkah yang terlibat dalam membuat koneksi Titik dan Cetak, lihat Titik Pendukung dan Cetak.)

DLL Titik dan Cetak dijalankan di server dan klien. Fungsi GenerateCopyFilePaths harus memeriksa argumen dwFlags untuk menentukan di mana ia dijalankan.

Biasanya, fungsi ini digunakan untuk memberikan kompatibilitas ketika versi sistem operasi yang berbeda dijalankan pada klien dan server. Misalnya jika fungsi, saat dijalankan di server, menentukan (dengan membaca struktur SPLCLIENT_INFO_1 ) bahwa sistem operasinya lebih baru dari klien, ia dapat memodifikasi jalur sumber dan tujuan agar kompatibel dengan OS lama klien. Di sisi lain, jika fungsi menentukan bahwa sistem operasi klien lebih baru dari klien, itu mungkin harus tidak melakukan apa pun di server dan melakukan modifikasi, jika perlu, saat mengeksekusi pada klien.

Argumen untuk parameter pszSourceDir dan pszTargetDir menunjuk ke buffer yang berisi string yang mewakili jalur direktori sumber dan tujuan saat ini. Jika modifikasi pada salah satu string ini diperlukan, fungsi harus melakukan modifikasi dalam buffer yang disediakan. Panjang string maksimum yang diizinkan ditunjukkan oleh argumen pcchSourceDirSize dan pcchTargetDirSize .

Jika tidak ada modifikasi pada direktori sumber atau tujuan yang diperlukan, fungsi seharusnya hanya mengembalikan ERROR_SUCCESS.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header winsplp.h (termasuk Winsplp.h)
Pustaka Mscms.lib
DLL Mscms.dll

Lihat juga

SpoolerCopyFileEvent