كيفية الحصول على مسار الملف الكامل الأصلي تمت طباعته بواسطة SPOLER API
سؤال
أرغب في مراقبة وظائف الطباعة في نطاق النظام من خلال برنامج مستقل باستخدام واجهة برمجة تطبيقات Windows Spooler ، ولكن يمكن جلب اسم وظيفة الطباعة فقط. كيف أحصل على الملف الأصلي مع مسار كامل.
المحلول
إذا كنت تبحث عن مسار المستند الأصلي (على سبيل المثال ، موقع Word Document الذي قمت طباعته للتو) ، فلن يتمكن التخزين المؤقت من إخبارك بذلك.
التخزين المؤقت عموما يتلقى الملفات من خلال مسارات GDI أو XPS. يرسل التطبيق الذي يقوم بالطباعة بفعالية سلسلة التخزين المؤقت إلى سلسلة من الأوامر الرسومية (عبر برنامج تشغيل الجهاز المناسب) والتي ستقوم خدمة التخزين المؤقت بتخزين ملف مؤقت قبل إرسالها إلى الطابعة. هذا يعني أن التخزين المؤقت نفسه لا يعرف أي شيء عن الملف المصدر الأصلي ، أو مكان وجوده.
إذا كنت تتساءل كيف يحصل التخزين المؤقت على اسم المستند ، فسيتم ذلك عبر مكالمة StartDoc التي ستمر في doc_info_x بنية. هذا يتعلق بكل المعلومات التي يتلقاها التخزين المؤقت فيما يتعلق بالمستند المصدر نفسه.