انتهاء خدمة برامج تشغيل الطابعات في Windows ── كيف تستعد تطبيقات الأعمال لطباعة التقارير والملصقات

· آخر تحديث: · · Windows, تطوير Windows, Windows 11, CSharp, .NET, WinForms, WPF, طباعة, تقارير, برنامج تشغيل الطابعة, IPP, تشغيل, استشارة تقنية

سجل التعديلات (النسخة الأولى، نُشرت في 1 Sep، 2026)
النشر الأول

«استبدلنا الحاسوب فصار الخيار نفسه للطابعة يعرض ورقاً وصواني مختلفة»، «إعدادات الطباعة المحفوظة لا تعود»، «اختفت طابعة الملصقات من القائمة». الاستعداد لانتهاء خدمة برامج تشغيل الطابعات هو ألّا يتوقّف العمل إن حدثت هذه التغيّرات.

أوّل ما يُمسَك أن خطّة انتهاء خدمة برامج التشغيل وتفعيل Windows protected print mode أمران منفصلان. ليس لأن تاريخ الخطّة مرّ تتوقّف الطباعة القائمة دفعة واحدة. أمّا في مواضع يتغيّر فيها اختيار برنامج التشغيل، أو عند تفعيل Windows protected print mode، فتضيع الإعدادات ووجهات الطباعة التي كان التطبيق يعتمد عليها.12

هذه المقالة موجَّهة إلى المطوّرين الذين يصونون تطبيقات أعمال Windows مثل WinForms وWPF، وإلى المسؤولين الذين ينشرون الطابعات، وترتب ما يتغيّر، وما يُفحص، وأين يُصلح، وكيف يُتحقَّق بهذا الترتيب. لاختيار واجهة الطباعة وطريقة إخراج PDF نفسها راجع المقالة السابقة الطباعة وإخراج PDF في تطبيقات أعمال Windows.

البيئة المفترضة Windows 11 (التحقّق من WPP على 24H2 فما بعده)، وPowerShell 5.1 فما بعده (وحدة PrintManagement)، وC# (.NET 6 فما بعده أو .NET Framework 4.x، System.Drawing.Printing / System.Printing). الصعوبة متوسّطة.

1. الخلاصة أوّلاً

لا تعيد كتابة شيفرة الطباعة جملة؛ أكّد أوّلاً أن وجهة الطباعة تبقى، ثم أصلح المواضع التي تعتمد على برنامج التشغيل.

ترتيب الحكم ثلاث مراحل.

الترتيب ما تؤكّده الخطوة التالية
1. أكّد وجهة الطباعة هل يبقى الطابور أمام WPP. وهل يمكن إعادة تسجيل الطابعة المادية بـ Windows Ready Print إن لم تبقَ، أعدّ مسار إخراج بديلاً أو قرّر عدم استخدام WPP أوّلاً
2. أكّد تبعيات التطبيق هل تعتمد على إعدادات خاصّة ببرنامج التشغيل، أو اسم الطابور، أو طابعة افتراضية، أو إرسال RAW أصلح المواضع المطابقة. اشمل التبعيات داخل SDK ومكتبات التقارير
3. تأكّد بالإخراج الفعلي هل تخرج التقارير وPDF والملصقات صحيحة حتّى إن تغيّر برنامج التشغيل أو الطابور البيئات التي تستخدم WPP تتحقّق مع تفعيله، والتي لا تستخدمه تتحقّق بإجراء آخر

إن كنت ترسم فقط بـ PrintDocument أو FixedDocument فأنت أساساً هدف تحقّق لا إصلاح. لكن إن اختفى طابور الوجهة نفسه أمام WPP وتعذّرت إعادة التسجيل، فلن تطبع ولو كانت شيفرة الرسم سليمة. تحتاج مساراً بديلاً أوّلاً.

إن بدأت من العمل فامضِ أخذ قائمة 5.1 ← الحكم على الوجهة بجداول الفصل 4 و5.1 ← تأكيد التبعيات في 5.2–5.5 ← اختيار المسار في الفصل 6 ← التحقّق في الفصل 7. خلفية ما يلتبس في الحكم مشروحة في الفصول 2–4.

فيما يلي نختصر Windows protected print mode إلى WPP. «الطابور» وجهة طباعة مسجَّلة في Windows، و«المُبَوِّب» الآلية التي تستقبل مهام الطباعة وتسلّمها إلى الوجهة.

في المخطّط، يشير الخطّ المتّصل إلى علاقة قائمة دائماً، ويشير الخطّ المتقطّع إلى علاقة مشروطة (شروط قيامها مذكورة في شرح كلّ علاقة في الصفحة التفصيليّة). القائمة الكاملة للعلاقات (المجموع 39، مع الأدلّة ودرجة اليقين) وتعريفات المفاهيم الرئيسة مجمّعة في صفحة تفاصيل خريطة المعرفة (باليابانية). البيانات: JSON-LD / Turtle

2. ماذا تقرّر ── الخطّ الزمني على ثلاث مراحل

2.1 ما ينتهي هو التوريد والتحديث، لا إيقاف جماعي للبرامج القائمة

المصدر الأوّل صفحة Microsoft Learn «End of servicing plan for third-party printer drivers on Windows». أُعلنت الخطّة في أيلول/سبتمبر 2023، ورُوجعت التواريخ في أيّار/مايو 2025. الخطّة وقت الكتابة كما يلي.1

الموعد ما يتغيّر ما تنتبه إليه جهة تطبيق الأعمال
15 كانون الثاني/يناير 2026 على Windows 11 فما بعده وWindows Server 2025 فما بعده، لا تُنشر برامج تشغيل طابعات جديدة على Windows Update. تحديث البرامج القائمة ممكن بمراجعة فردية عند نشر حاسوب أو طابعة جديدة، قد لا تحصل على برنامج تشغيل الصانع بالطريقة نفسها
1 تمّوز/يوليو 2026 يتغيّر ترتيب برامج تشغيل الطابعات ليُفضَّل دائماً برنامج تشغيل فئة IPP المضمَّن في Windows على أجهزة يطابقها أيضاً برنامج تشغيل فئة IPP، قد يُختار برنامج مختلف عند استبدال الحاسوب أو إعادة اكتشاف الطابعة
1 تمّوز/يوليو 2027 لا تُقبل تحديثات برامج تشغيل الطابعات من أطراف ثالثة عدا إصلاحات الأمان لا تخلط تاريخ توقّف التحديث بموعد استعداد جهة التطبيق

تبقى البرامج القائمة قابلة للتثبيت من Windows Update ومن مثبّتات الصانع، وتقول Microsoft إنّها لا تخطّط لتعطيل وظائف برامج تشغيل v3/v4. أي أنّ هذه خطّة لإنهاء توريد برامج التشغيل وتحديثها تدريجيّاً، وليست خطّة تعطيل البرامج المثبَّتة على حواسيب الميدان في ذلك اليوم.1

ما يتغيّر وما لا يتغيّر بانتهاء الخدمةانتهاء خدمة برامج تشغيل الطابعات نفسه لا يغيّر مدخل واجهة رسم التطبيق ولا البرامج القائمة، ولا تُستبدل قائمة الورق والوظائف الخاصّة واسم الطابور التي يعيدها برنامج التشغيل إلّا عندما يُختار برنامج آخر عند إدخال جديد أو إعادة اكتشاف، وتغيّرات تفعيل Windows protected print mode بما فيها حذف الطابعات الافتراضية آلية أخرى تُعالَج في الفصل 4انتهاء خدمة برامج تشغيل الطابعاتما لا يتغيّرعندما يُختار برنامج آخر عند إدخال جديد أو إعادة اكتشافما يُستبدلمدخل واجهة الرسمالبرامج القائمةالورق والصواني والوظائف الخاصّةاسم الطابور

الشكل 1: انتهاء الخدمة وحده لا يغيّر شيئاً؛ وعندما يُختار برنامج آخر تُستبدل المعلومات والأسماء التي كان يقدّمها البرنامج. تغيّرات تفعيل WPP بما فيها حذف الطابعات الافتراضية آلية أخرى (الفصل 4).

2.2 في الميدان يتغيّر برنامج التشغيل أساساً في موضعين

حتّى إن لم توقف الخطّة البرامج القائمة، يتغيّر ما يراه التطبيق في الموضعين التاليين.

الموضع ماذا يحدث
استبدال الحاسوب أو إعادة تثبيت نظام التشغيل أو إعادة اكتشاف الطابعة إن طابق الجهاز أيضاً برنامج تشغيل فئة IPP، قد يُختار بالترتيب برنامج يختلف عن السابق
تفعيل WPP تُحذف طابعات برامج التشغيل من أطراف ثالثة. الجهاز المتوافق يُعاد تسجيله بـ Windows Ready Print، وغير المتوافق لا يُستخدم كما هو

عندما تطابق حزمة برامج تشغيل متعدّدة الجهاز نفسه، يضع Windows لكلّ منها رتبة (rank) ويختار الأفضل. تغيير 1 تمّوز/يوليو 2026 يفضّل برنامج تشغيل فئة IPP في هذا الاختيار. على أجهزة لا يكون فيها برنامج تشغيل فئة IPP مرشّحاً، قد تبقى حزمة الصانع مختارة.31

مساران يتبدّل فيهما برنامج التشغيل في الميدانعلى أجهزة يطابقها برنامج تشغيل فئة IPP، عند استبدال الحاسوب أو إعادة تثبيت نظام التشغيل أو إعادة اكتشاف الطابعة يُختار برنامج تشغيل فئة IPP بالترتيب فيتبدّل البرنامج، وعند تفعيل Windows protected print mode تُحذف طابعات برامج التشغيل من أطراف ثالثة، فإن أمكن إعادة التسجيل بـ Windows Ready Print تبدّل البرنامج، وإن تعذّرت إعادة التسجيل اختفت وجهة الطباعةنعملاحاسوب الميداناستبدال الحاسوب أو إعادة تثبيت نظام التشغيل أو إعادة الاكتشافتفعيل Windows protected print modeيُفضَّل على أجهزة يطابقها برنامج تشغيل فئة IPPحذف طابعات برامج التشغيل من أطراف ثالثةيتبدّل برنامج التشغيلهل يمكن إعادة التسجيل بـ Ready Print؟تختفي وجهة الطباعة

الشكل 2: إن فصلت خطّة انتهاء الخدمة عن WPP، أمكن فصل مواضع تبدّل برنامج التشغيل عن مواضع فقدان وجهة الطباعة نفسها.

هنا مهمّ أيضاً ألّا تعامل توافق IPP واعتماد Mopria شرطاً واحداً.

الشرط يُستخدم أساساً للحكم على
مطابقة برنامج تشغيل فئة IPP لذلك الجهاز هل قد يتبدّل برنامج التشغيل بتغيّر الترتيب
اعتماد Mopria، وعلى الشبكة أن يكون IPP مفعّلاً وقابلاً للوصول، وعلى USB أن يكون وضع IPP over USB هل يمكن إعادة تسجيل الطابعة المادية تحت WPP بوصفها Windows Ready Print

على أجهزة تدعم IPP دون اعتماد Mopria، حتّى دون استخدام WPP قد يتبدّل برنامج التشغيل بتغيّر الترتيب. وبالعكس، اسم البرنامج «Microsoft IPP Class Driver» وحده لا يثبت أنّ الجهاز صالح لـ WPP.14

مطابقة برنامج تشغيل فئة IPP واعتماد Mopria شرطان منفصلانإن دعمت الطابعة IPP فقد يُختار برنامج تشغيل فئة IPP بتغيّر الترتيب فيتبدّل البرنامج، بينما اعتماد Mopria شرط منفصل يقرّر إمكان إعادة التسجيل تحت Windows protected print mode، وعلى أجهزة الشبكة يلزم أن يكون IPP مفعّلاً وقابلاً للوصول، وعلى USB وضع IPP over USBنعملالانعملانعملانعمنعملاطابعةهل تدعم IPP؟قد يتبدّلتبقى من الصانعهل هي معتمدة من Mopria؟لا يمكن إعادة التسجيل أمام WPPهل الاتصال USB؟هل IPP مفعّل ويصل؟يمكن إعادة التسجيل أمام WPPهل وضع IPP over USB؟

الشكل 3: أثر الترتيب يقرّره دعم IPP، والبقاء أمام WPP يقرّره اعتماد Mopria مع كون IPP مفعّلاً وقابلاً للوصول (وعلى USB وضع IPP over USB).

2.3 لتوقيع برنامج التشغيل استثناءات، لكن الاستمرار غير مضمون

بعد 15 كانون الثاني/يناير 2026 يمكن رفع طلب استثناء توقيع للمراجعة الفردية إن انطبق أحد الشروط التالية.1

  • موجَّه لطابعة لا يمكنها الحصول على اعتماد Mopria.
  • حزمة حدّ نظام التشغيل المستهدف فيها Windows 10 فما دونه.
  • برنامج تشغيل ARM64 أصلي.

يُحظر التقديم افتراضيّاً سواء كان WHQL أم Attestation، ويصير مراجعة يدوية بمستند تبرير. حتّى إن انطبق الشرط، لا يُضمن أن يقدّم الصانع أو أن توافق Microsoft.5 كذلك إمكان الحصول على برنامج موقَّع وإمكان استخدامه في بيئة فُعِّل فيها WPP أمران منفصلان. استعداد طابعات الملصقات والإيصالات في الفصل 6.

شروط يُقبل فيها توقيع برنامج التشغيل بعد 15 كانون الثاني/يناير 2026تقديم الصانع لبرنامج التشغيل محظور افتراضيّاً، ولا يُرفع طلب الاستثناء إلى المراجعة الفردية إلّا إن انطبق أحد شروط ثلاثة: طابعة بلا اعتماد Mopria، أو حزمة حدّها Windows 10 فما دونه، أو برنامج تشغيل ARM64 أصلي، والمراجعة قد توافق دون ضمان التوقيعتقديم الصانع لبرنامج التشغيلمحظور افتراضيّاًطراز بلا اعتماد Mopriaالحدّ Windows 10 فما دونهARM64 أصلييمكن طلب استثناءمراجعة فرديةقد تُوافَق (بلا ضمان)

الشكل 4: انطباق الشرط يضع الطلب في المراجعة فقط، ولا يضمن التوقيع.

3. الآلية ── مسار برنامج التشغيل التقليدي وWindows Ready Print

3.1 ما يتغيّر هو مسار الطباعة بعد واجهة الرسم

في طباعة Windows التقليدية يصدر التطبيق أوامر رسم GDI أو XPS، ويستقبل المُبَوِّب المهمة، ويحوّلها برنامج تشغيل الطابعة إلى لغة الطابعة (PDL) ويرسلها. مسار طباعة GDI ومسار طباعة XPS كلاهما على هذا البناء.6

مسار برنامج التشغيل التقليدييبوّب المُبَوِّب بصلاحيات SYSTEM أوامر رسم GDI أو XPS من تطبيق الأعمال، ويحوّلها برنامج تشغيل v3 أو v4 من طرف ثالث إلى PDL خاصّ، داخل عملية المُبَوِّب إن لم يكن هناك عزل، أو في عملية منفصلة إن كان العزل مشتركاً أو معزولاً، ثمّ يرسلها إلى الطابعةلا شيءمشترك / معزولتطبيق الأعمال (GDI / XPS)المُبَوِّب (صلاحيات SYSTEM)عزل برنامج التشغيل هوبرنامج تشغيل طرف ثالث داخل المُبَوِّببرنامج تشغيل طرف ثالث في عملية أخرىتحويل إلى PDL خاصّالطابعة

الشكل 5: في المسار التقليدي تتغيّر العملية بوجود العزل أو عدمه، لكن البنية التي يتحمّل فيها رمز طرف ثالث التحويل إلى PDL داخل مكدّس الطباعة واحدة.

الخلف المعدّ هو Windows Ready Print. اسم يجمع الطباعة بـ IPP (Internet Printing Protocol) والمسح بـ eSCL وUniversal Print، ولا يحتاج برنامج تشغيل من طرف ثالث. صُمِّم لطابعات معتمدة من Mopria، ومن مزاياه أنّه لا يعتمد على معمارية CPU.7

من Windows 10 21H2 فما بعده يُضمَّن Microsoft IPP Class Driver للتعامل مع طابعات متوافقة مع Mopria عبر الشبكة وUSB.1 طابور سحابة Universal Print يستخدم Universal Print Class Driver المضمَّن.8

مسار Windows Ready Printيستقبل المُبَوِّب أوامر رسم تطبيق الأعمال، ويرسم Microsoft IPP Class Driver المضمَّن على العميل إلى PWG Raster أو PDF ويرسلها بـ IPP إلى طابعة معتمدة من Mopria، أو يرسل Universal Print Class Driver المضمَّن بـ IPP over HTTPS إلى خدمة Universal Print، ولا يسمح Windows protected print mode إلّا بمسار Windows Ready Print هذالا يسمح إلّا بمسار Ready Printتطبيق الأعمال (GDI / XPS)المُبَوِّبMicrosoft IPP Class Driverالرسم إلى PWG Raster / PDFطابعة معتمدة من Mopria (IPP)Universal Print Class Driverخدمة Universal Print (IPP over HTTPS)Windows protected print mode

الشكل 6: Windows Ready Print أيضاً يمرّ بالمُبَوِّب. ما يتغيّر أنّ التحويل والإرسال ينتقلان من برنامج تشغيل طرف ثالث إلى برنامج تشغيل فئة مضمَّن.

IPP بروتوكول قائم على HTTP، ويعرّف الطابعة بـ URI مثل ipps://printer.example.com/ipp/print. أشكال PDL المستخدمة في الطباعة بلا برنامج تشغيل قليلة تستند إلى معايير علنية مثل PWG Raster وPDF، ويُرسم المستند النهائي على جهة العميل.9 في Universal Print يرسل المُبَوِّب المهمة إلى الخدمة بـ IPP over HTTPS.8

المدخل من جهة التطبيق لا يتغيّر. التطبيق الذي يرسم بـ GDI أو XPS يستدعي الواجهة نفسها. ما يتغيّر هو الآلية التي تعيد بعدها قائمة الورق والصواني، وتقدّم وظائف خاصّة، وتحوّل إلى PDL. لذلك يتأثّر التطبيق الذي يعتمد على معلومات برنامج التشغيل وإعداداته الخاصّة أكثر من تطبيق الرسم فقط. لوظائف الصانع الخاصّة تأكّد أيضاً من التوفير عبر Print Support App (PSA).10

3.2 في الجهاز متعدّد الوظائف أكّد الطباعة والفاكس والمسح كلّاً على حدة

إمكان الانتقال إلى Windows Ready Print يفترض أن الجهاز يحمل الوظيفة وينفّذ البروتوكول المقابل.1

الوظيفة الدعم اللازم على الشبكة شرط إضافي على USB
الطباعة IPP وضع IPP over USB
إرسال الفاكس IPP Fax Out وضع IPP over USB
المسح eSCL أو WS-Scan وضع IPP over USB

لا تحكم من دعم Mopria للطباعة وحده بأن الفاكس والمسح قابلان للترحيل أيضاً.

ترتيب تأكيد وظائف الجهاز متعدّد الوظائف كلّاً على حدةاختر الوظائف المستخدمة واحدة فواحدة، وأكّد الحمل على الجهاز ثمّ بروتوكول الجدول ثمّ وضع IPP over USB عند الاتصال بـ USB، ولا تُعد استخدام نتيجة وظيفة الطباعة للفاكس أو المسح، وأكّد الوظائف الباقية كلّاً على حدةنعملانعملانعملانعملااختر وظيفة مستخدمة واحدةهل يحمل الجهاز هذه الوظيفة؟هل يدعم بروتوكول الجدول؟شرط هذه الوظيفة غير مستوفًىهل الاتصال USB؟هل وضع IPP over USB؟أُكِّدت شروط هذه الوظيفةأكّد الوظائف الباقية كلّاً على حدة

الشكل 7: أكّد بهذا الترتيب الحمل ثمّ البروتوكول ثمّ الشرط الإضافي عند الاتصال. لا تُعد استخدام نتيجة تأكيد الطباعة للفاكس أو المسح.

3.3 في الخلفية أمن مكدّس الطباعة

في شرح Microsoft Learn تشكّل أعطال الطباعة 9% من حالات تقارير MSRC (Microsoft Security Response Center) التي جمعتها تلك الشروح على السنوات الثلاث الماضية. يعمل المُبَوِّب بصلاحيات SYSTEM، ويصل إليه المستخدمون العاديون على نطاق واسع، ويحمّل رمز أطراف ثالثة عند الطلب. بعض البرامج القديمة غير متوافق مع تخفيفات حديثة مثل CFG وCET، فيصعب تطبيق تخفيف يحتاج توافق كلّ الرمز المشارك.9

لماذا لا تنفع التخفيفات ما دام برنامج تشغيل طرف ثالث يُحمَّليحمّل المُبَوِّب بصلاحيات SYSTEM رمزاً من طرف ثالث، والبرامج القديمة غير متوافقة مع تخفيفات مثل CFG وCET، فلا يمكن تطبيق تخفيف يحتاج توافق كلّ المشاركين على المُبَوِّب، فيسهل استغلال الثغراتالمُبَوِّب بصلاحيات SYSTEMيحمّل رمز طرف ثالث عند الطلبالبرامج القديمة غير متوافقة مع التخفيفاتيسهل استغلال الثغراتلا يمكن تطبيق التخفيفات (CFG / CET / ACG)

الشكل 8: التخفيف لا ينفع إلّا عندما يتوافق كلّ المشاركين، فلا تُحمى المُبَوِّب ما لم تُخرَج برامج التشغيل.

موضع تشغيل برنامج تشغيل الطرف الثالث يتغيّر بإعداد عزل برنامج تشغيل الطابعة.11

وضع العزل أين يعمل برنامج التشغيل
لا شيء (None) داخل عملية المُبَوِّب نفسها
مشترك (Shared) عملية منفصلة عن المُبَوِّب يشترك فيها مع برامج أخرى
معزول (Isolated) عملية منفصلة مخصّصة لبرنامج التشغيل

البرنامج الذي يعلن DriverIsolation=2 في INF يستخدم افتراضيّاً عملية مشتركة، والذي لا يعلن يعمل افتراضيّاً داخل المُبَوِّب. يمكن للمسؤول التجاوز من وحدة تحكّم إدارة الطباعة أو Group Policy. لكن في أيّ وضع يبقى رمز طرف ثالث يعمل داخل مكدّس الطباعة.11 WPP وضع تشغيل يُخرج هذه التبعية لرمز الطرف الثالث.

كيف تُقرَّر العملية التي يعمل فيها برنامج تشغيل طرف ثالثالبرنامج الذي يعلن DriverIsolation=2 في INF يعمل افتراضيّاً في عملية مشتركة منفصلة عن المُبَوِّب، والذي بلا إعلان يعمل افتراضيّاً داخل المُبَوِّب، ويمكن للمسؤول التجاوز من وحدة التحكّم أو السياسة إلى مشترك أو داخل المُبَوِّب أو عملية مخصّصة (عزل)نعملاإعلان DriverIsolation=2 في INFيعمل في عملية مشتركة أخرى (افتراضي)يعمل داخل المُبَوِّب (افتراضي)تجاوز بإعداد المسؤول أو السياسةيعمل في عملية مخصّصة (عزل)

الشكل 9: وضع العزل يقرّره إعلان INF وإعداد المسؤول، والبرامج القديمة بلا إعلان تعمل افتراضيّاً داخل المُبَوِّب.

4. ماذا يختفي في Windows protected print mode

4.1 WPP وضع تشغيل «يستخدم Windows Ready Print فقط»

أُدخل WPP في Windows 11 24H2. في وقت كتابة هذه المقالة معطّل افتراضيّاً، وما دام معطّلاً فلا قيد على تثبيت برامج التشغيل ولا على وظائف الطباعة.1213 نفصل طريقة التفعيل عمّن يمكنه الإرجاع.

مسار التفعيل أين يُضبط طريقة الإرجاع إلى التعطيل
تطبيق الإعدادات Windows protected print mode في «الطابعات والماسحات» إن فعّله الشخص من تطبيق الإعدادات، يمكنه الإرجاع من تطبيق الإعدادات
Group Policy «تكوين الكمبيوتر > قوالب إدارية > طابعات > Configure Windows protected print» يغيّر المسؤول السياسة
Intune OMA-URI ./Device/Vendor/MSFT/Policy/Config/Printers/ConfigureWindowsProtectedPrint يغيّر المسؤول السياسة

إن فُعِّل بـ Group Policy لا يستطيع المستخدم الإلغاء دون الاتصال بالمسؤول. OMA-URI في Intune مسار يطبّق سياسة جهاز قائمة على ADMX نفسها. ما يمكن للشخص إرجاعه من شاشة الإعدادات هو ما فعّله هو من شاشة الإعدادات.14213

ثلاثة مسارات لتفعيل Windows protected print modeيمكن تفعيل Windows protected print mode من تطبيق الإعدادات أو Group Policy أو OMA-URI في Intune، ولا يستطيع الشخص الإرجاع من تطبيق الإعدادات إلّا إن فعّله هو من تطبيق الإعدادات، وإن وُزِّعت السياسة بـ Group Policy أو Intune لا يُلغى دون تغيير السياسة من جهة المسؤوليمكن للشخص الإرجاع من تطبيق الإعداداتلا يستطيع الشخص الإرجاعلا يستطيع الشخص الإرجاعتطبيق الإعدادات (يفعّله الشخص)تفعيل Windows protected print modeGroup PolicyIntune (OMA-URI)إلغاءالإلغاء تغيير سياسة من جهة المسؤول

الشكل 10: مسارات التفعيل ثلاثة، ولا يستطيع الشخص الإرجاع إلّا إن فعّله هو من تطبيق الإعدادات.

4.2 طوابير تبقى، وطوابير تختفي، وطوابير تحتاج إعادة تسجيل

أثر التفعيل لا يتغيّر بجسم الطابعة وحده، بل أيضاً بـ برنامج التشغيل الذي سُجِّلت به الآن.2

وجهة الطباعة الحالية عند تفعيل WPP سبيل الاستعداد
طابعة مادية مسجَّلة ببرنامج تشغيل طرف ثالث (v3/v4) يُزال تثبيت الطابور ويُحذف برنامج التشغيل أيضاً من مخزن برامج التشغيل إن كان الجهاز متوافقاً أعد التسجيل بـ Windows Ready Print. غير المتوافق اختر مساراً بديلاً أو عدم استخدام WPP
طابعة معتمدة من Mopria لكن مسجَّلة ببرنامج تشغيل الصانع تُحذف مرّة. الاعتماد لا يبقي الطابور القائم على الشبكة أكّد تفعيل IPP والوصول، وعلى USB وضع IPP over USB ثمّ أعد التسجيل
طابعة متوافقة مسجَّلة سلفاً بـ Windows Ready Print تبقى قابلة للاستخدام تحقّق من القدرات والإعدادات والإخراج الفعلي
طابور سحابة Universal Print في الجانب المتوافق مع WPP بوصفه جزءاً من Windows Ready Print أكّد التبعية لاسم الطابور وتحقّق من الإخراج الفعلي
طابعة برمجية غير مدعومة تُحذف لطابعات PDF من أطراف ثالثة أكّد توافق المنتج مع WPP. لحفظ التقارير انقل التوليد المباشر بمكتبة PDF
طابعة افتراضية حُدِّثت لتتوافق مع WPP لا تعاملها جملة مع المنتجات غير المتوافقة. لـ OneNote طابعة افتراضية محمية تحقّق أيّ منتج وطابور تستخدم
Microsoft XPS Document Writer وطابعة الفاكس الافتراضية تُحذف بعد إرجاع WPP إلى التعطيل أعد XPS يدوياً من «ميزات Windows» والفاكس من الميزة الاختيارية «Windows FAX والمسح»
ما يحدث للطابعات عند تفعيل Windows protected print modeعند التفعيل تُحذف الطابعات المثبَّتة ببرنامج تشغيل طرف ثالث والطابعات الافتراضية غير المدعومة وXPS Document Writer وطابعة الفاكس الافتراضية، والطراز المعتمد من Mopria والذي على الشبكة يكون IPP فيه مفعّلاً وقابلاً للوصول وعلى USB في وضع IPP over USB يمكن إعادة تسجيله بـ Windows Ready Print، وغير المتوافق لا يُستخدم ما دام الوضع مفعّلاًنعمشبكةUSBنعمنعملالالاتفعيل WPPحذف طابعات برامج التشغيل من أطراف ثالثةحذف الطابعات الافتراضية غير المتوافقةحذف XPS Document Writer والفاكس أيضاًهل هي معتمدة من Mopria؟الاتصال هوهل IPP مفعّل ويصل؟هل وضع IPP over USB؟إعادة التسجيل بـ Windows Ready Printلا تُستخدم ما دام مفعّلاً

الشكل 11: طابور برنامج تشغيل الصانع يختفي مرّة حتّى مع اعتماد Mopria. أكّد شروط إعادة التسجيل على حدة.

ما دام WPP مفعّلاً لا تُستخدم برامج التشغيل المحذوفة من أطراف ثالثة. وإرجاع WPP إلى التعطيل لا يعيد تلقائيّاً الطابعة التي أُعيد إدخالها بـ Windows Ready Print إلى برنامج التشغيل الأصلي.210

من جهة التطبيق، هدف التأكيد المعالجة التي تفترض الورق والصواني والوظائف الخاصّة التي يعيدها برنامج تشغيل الصانع، والطابعة الافتراضية من نوع DLL مراقب المنافذ، وXPS Document Writer. توليد ملفّ XPS مباشرة بـ XpsDocument ونحوه ليس طباعة إلى الطابور الافتراضي XPS Document Writer، وليس هدف هذا الحذف.

4.3 تغييرات أيضاً في الإدارة وداخل المُبَوِّب

تحت WPP لا تُحمَّل ثنائيات أطراف ثالثة مثل DLL مراقب المنافذ. واجهات تحميل الوحدات مثل AddPrintProvidorW لا تحمّل وحدات جديدة، ولا يُحمَّل إلّا الثنائيات الموقَّعة من Microsoft اللازمة لـ IPP. AddPrintProvidorW الإملاء التاريخي في winspool.h، وفي شروح Microsoft Learn يُكتب AddPrintProviderW.9

بهذا القيد يعمل رسم XPS بصلاحيات المستخدم لا SYSTEM، وتستخدم عملية عامل المُبَوِّب الجديدة رمزاً مقيَّداً أُزيلت منه امتيازات مثل SeTcbPrivilege. يُحظر إنشاء عمليات ابنة، وتُفعَّل CFG وCET وACG أيضاً.9

تغيّر المُبَوِّب في Windows protected print modeبعدم تحميل ثنائيات أطراف ثالثة يصير ممكناً تقييد تحميل الوحدات، ورسم XPS بصلاحيات المستخدم، وعملية عامل برمز مقيَّد، وحظر إنشاء عمليات ابنة، وتفعيل CFG وCET وACGعدم تحميل ثنائيات أطراف ثالثةتقييد التحميلتقليص الصلاحياتتفعيل التخفيفاتالثنائيات الموقَّعة من Microsoft فقطXPS بصلاحيات المستخدم ورمز مقيَّدحظر العمليات الابنة وCFG / CET / ACG

الشكل 12: التخفيفات التي لم تنفع في الشكل 8 لا تُفعَّل إلّا بإخراج ثنائيات الأطراف الثالثة.

Point and Print يُبقي تكوين IPP لكنّه لا يعود يثبّت برامج تشغيل من أطراف ثالثة. إجراءات التجهيز التي تفترض «الاتصال بخادم الطباعة فيُوزَّع برنامج التشغيل» تحتاج مراجعة أيضاً.9

هل WPP مفعّل الآن يمكن تأكيده بواجهة WinRT على Windows 11 24H2 فما بعده: Windows.Graphics.Printing.ProtectedPrint.WindowsProtectedPrintInfo.IsProtectedPrintEnabled.15 قيمة إعداد Group Policy هي WindowsProtectedPrintGroupPolicyState تحت HKLM\Software\Policies\Microsoft\Windows NT\Printers\WPP.13

من عميل فُعِّل فيه WPP لا يمكن إدارة خادم طباعة WPP فيه معطّل من إدارة الطباعة. هيّئ لمسؤولي الإدارة عميلاً إداريّاً منفصلاً معطّل فيه WPP.14

5. جرد التطبيق القائم ── أربعة مواضع تُرى

أربعة مواضع تُجرد في تطبيق الأعمالمن شيفرة طباعة تطبيق الأعمال، حفظ الإعدادات الخاصّة ببرنامج التشغيل، وتبعية اسم الطابور (بما في داخل SDK والمكتبات)، والتبعية لطابعة افتراضية غير مدعومة أمام WPP، وإرسال RAW إلى طابور لا يصمد أمام WPP أربعة مواضع هدف إصلاح، والشيفرة التي ترسم فقط هدف تحقّقشيفرة طباعة تطبيق الأعمالجرد أربع تبعياترسم فقطحفظ إعدادات خاصّةتبعية اسم الطابورتبعية طابعة افتراضيةإرسال RAWيشمل داخل SDKغير المتوافق مع WPPموجَّه لطابور لا يبقىأصلحتحقّق

الشكل 13: التبعيات الأربع وحدها هدف إصلاح، والشيفرة التي لا تفعل سوى الرسم تُحال إلى التحقّق.

5.1 خذ أوّلاً قائمة برامج التشغيل في الميدان واحكم على وجهة الطباعة

حاجة الإصلاح تُقرَّر بعد رؤية ما هو مثبَّت في الميدان. خذ قائمة الطوابير وبرامج التشغيل بوحدة PrintManagement في PowerShell. أخذ القائمة بـ Get-Printer وGet-PrinterDriver لا يحتاج صلاحيات مسؤول، أمّا pnputil في النصف الثاني فيحتاجها.1617

# لكلّ طابور، صفّ اسم برنامج التشغيل والإصدار الرئيس (3 = v3, 4 = v4) والجهة المقدِّمة واسم ملفّ INF
Get-Printer |
    Select-Object Name, DriverName, PortName,
        @{ Name = "DriverMajorVersion"; Expression = { (Get-PrinterDriver -Name $_.DriverName).MajorVersion } },
        @{ Name = "Manufacturer"; Expression = { (Get-PrinterDriver -Name $_.DriverName).Manufacturer } },
        @{ Name = "InfName"; Expression = { Split-Path -Leaf (Get-PrinterDriver -Name $_.DriverName).InfPath } } |
    Sort-Object DriverName |
    Format-Table -AutoSize

# عدّد حزم برامج التشغيل من أطراف ثالثة فقط مع الاسم المنشور (oemN.inf) واسم INF الأصلي والجهة المقدِّمة (يلزم صلاحيات مسؤول)
pnputil /enum-drivers /class Printer

يميّز MajorVersion بين v3 وv4.18 لكن تمييز v3/v4 وتمييز المضمَّن / من طرف ثالث أمران منفصلان. صنّف كما يلي.

التصنيف كيف تميّزه ما تتابعه بالتأكيد
طابور برنامج تشغيل فئة IPP DriverName هو Microsoft IPP Class Driver اعتماد Mopria، وتفعيل IPP على الشبكة والوصول، ووضع IPP over USB على USB. لا تحكم بالتوافق مع WPP من الاسم وحده
طابور Universal Print يستخدم Universal Print Class Driver المضمَّن8 عامله الجانب المتوافق مع WPP، وأكّد تبعية اسم الطابور في التطبيق والإخراج
طابور برنامج تشغيل مضمَّن آخر ليس اسم برنامج تشغيل فئة معروفاً ولا يظهر في قائمة حزم الأطراف الثالثة XPS والفاكس هدف حذف. لا تفترض بقاء Generic / Text Only ونحوها. Microsoft Print to PDF غير مذكور ضمن أهداف الحذف فاحكم لكلّ طابور
طابور برنامج تشغيل الصانع طابق اسم ملفّ INF والجهة المقدِّمة بقائمة حزم الأطراف الثالثة من pnputil مرشّح لتبدّل برنامج التشغيل. أمام WPP يختفي الطابور القائم فأكّد إمكان إعادة تسجيل الجهاز المادي

InfPath في Get-PrinterDriver مسار إلى INF داخل مخزن برامج التشغيل، ولا يضمن إعادة الاسم المنشور oemN.inf. طابق الاسم المنشور واسم INF الأصلي والجهة المقدِّمة التي يعيدها pnputil /enum-drivers باسم ملفّ InfPath وManufacturer. يعدّد pnputil /enum-drivers حزم الأطراف الثالثة فقط، ولا تظهر الحزم المضمَّنة في القائمة.1917

إجراء جرد قائمة طابعات الميدانخذ قائمة الطوابير وبرامج التشغيل بـ PowerShell، وقسّم بـ DriverName وبمطابقة Manufacturer وقائمة حزم الأطراف الثالثة من pnputil إلى طابور برنامج تشغيل فئة IPP وطابور Universal Print (متوافق مع WPP) وطابور برنامج تشغيل مضمَّن آخر (XPS والفاكس يُحذفان، وGeneric / Text Only لا يُفترض بقاؤهما، وMicrosoft Print to PDF غير مذكور ضمن أهداف الحذف فاحكم فرديّاً) وطابور برنامج تشغيل الصانع (مرشّح للتبدّل)، وطابور برنامج تشغيل فئة IPP يؤكَّد فيه على حدة اعتماد Mopria وعلى الشبكة أن IPP مفعّل ويصل وعلى USB وضع IPP over USB، ثمّ طابق كلا الطابورين بالطابور الذي تشير إليه إعدادات التطبيق أو شيفرة الطباعة واحكمIPP ClassUniversal Print Classمضمَّن آخرمن الصانعخذ القائمة بـ Get-Printer / Get-PrinterDriverDriverName والجهة المقدِّمة هماطابور برنامج تشغيل فئة IPPطابور Universal Printاحكم فرديّاً بجدول الفصل 4 هل يبقىمرشّح للتبدّلأكّد Mopria ووصول IPP وUSBطابق إعدادات التطبيق والشيفرةوزّع بجدول القرار

الشكل 14: أخذ القائمة والتقسيم بالاسم يتمّان بلا صلاحيات مسؤول، ومطابقة الجهة المقدِّمة تحتاج صلاحيات مسؤول لـ pnputil.

طابق هذه القائمة بالطوابير التي تشير إليها إعدادات التطبيق وشيفرة الطباعة وSDK المستخدم. إن سجّلت لكلّ جهة تسليم برنامج التشغيل واعتماد Mopria وطريقة الاتصال ووصول IPP ووضع تشغيل USB، أمكن الحكم بجدول الفصل 4.

إن لم تبقَ وجهة الطباعة أمام WPP وتعذّرت إعادة التسجيل، فقبل جرد الشيفرة أعدّ المسار البديل في الفصل 6 أو قرّر عدم استخدام WPP. إن كان الجهاز قد يتلقّى تغيّر ترتيب IPP حتّى دون استخدام WPP، فتابع التأكيد من 5.2 فما بعده. إن لم تستخدم WPP ولم يكن لأثر تبدّل برنامج التشغيل موضع، صار الحكم الإبقاء على المسار الحالي.

للتأكيد على اسم برنامج التشغيل من داخل التطبيق يمكن قراءة PrintQueue.QueueDriver.Name بـ System.Printing في WPF.20

using System.Printing;

// من أداة إدارة أو تطبيق سطح مكتب، عدّد اسم برنامج تشغيل كلّ طابور
using var server = new LocalPrintServer();
foreach (PrintQueue queue in server.GetPrintQueues(
    new[] { EnumeratedPrintQueueTypes.Local, EnumeratedPrintQueueTypes.Connections }))
{
    Console.WriteLine($"{queue.Name}\t{queue.QueueDriver?.Name}\t{queue.QueuePort?.Name}");
}

لكن فضاء الأسماء System.Printing غير مدعوم داخل خدمات Windows. إن كانت الطباعة من خدمة مقيمة، ضع معالجة التشخيص هذه في جهة أداة الإدارة.21 قيود الطباعة من خدمة في كيفية بناء خدمات Windows وتشغيلها والفصل 7 من المقالة السابقة.

5.2 التأكيد 1: هل تُحفظ إعدادات خاصّة ببرنامج التشغيل وتُعاد؟

أصعب ما يُوجد حفظ إعدادات الطباعة. سبب الكسر يختلف بطريقة الحفظ.

ما يُحفظ تنفيذ نموذجي لماذا يضرّ تبدّل برنامج التشغيل
الجزء غير العام من DEVMODE حفظ ناتج DocumentProperties أو مخزن GetHdevmode جملة وإعادته بـ SetHdevmode البيانات غير العامة لا يفسّرها إلّا ذلك البرنامج
كائن PrinterSettings كاملاً في .NET Framework تسلسل ثنائي للكائن بعد حوار الطباعة قد يُحفظ أيضاً الحيّز غير العام المنسوخ داخليّاً من برنامج التشغيل
قيم الخصائص العامّة حفظ PaperSize وPaperSource وPrinterResolution وDuplex ونحوها بصيغة خاصّة ليس المخزن غير العام، بل يتغيّر معنى أرقام الورق والصواني المخصّصة
PrintTicket يشمل امتدادات خاصّة حفظ XML يشمل فضاء أسماء خاصّاً بالصانع الامتداد الخاص يعتمد على برنامج التشغيل أو الطراز الأصلي

يمكن لـ DEVMODE أن يحمل بعد الأعضاء العامّة بيانات غير عامّة يبيّن حجمها dmDriverExtra. ما يتحقّق منه Windows هو الجزء العام فقط، والبيانات غير العامّة التالفة قد تُسقط برنامج التشغيل في عملية التطبيق أو المُبَوِّب.22

الجزء العام والجزء غير العام من DEVMODEبنية DEVMODE تحمل بعد الأعضاء العامّة بيانات غير عامّة يعرّفها برنامج التشغيل ويبيّنها dmDriverExtra، والجزء العام وحده يتحقّق منه Windows، والجزء غير العام لا يفسّره إلّا ذلك البرنامج، فحفظ الجملة يفقد المعنى عند تبدّل البرنامجبنية DEVMODEالجزء العام (dmSize)الجزء غير العام (dmDriverExtra)يتحقّق منه Windowsلا يفسّره إلّا ذلك البرنامجيفقد المعنى عند تبدّل البرنامج

الشكل 15: ممّا يُحفظ جملة، ما ينكسر هو الجزء غير العام.

PrinterSettings الذي استقبل الإعداد بـ SetHdevmode ينسخ هذا الحيّز غير العام داخليّاً.23 لنسخة .NET Framework من PrinterSettings سمة Serializable، والتسلسل الثنائي يشمل افتراضيّاً الحقول الخاصّة أيضاً، فالحفظ الكامل للكائن يخفي التبعية نفسها.2425

أمّا نسخة .NET من PrinterSettings فلا سمة Serializable لها، والتنفيذ الذي يحفظ الخصائص العامّة فرادى بصيغة خاصّة لا يحفظ مخزن DEVMODE الأصلي ولا حيّز dmDriverExtra.24 ما تنتبه إليه هنا قيم تعتمد على برنامج التشغيل.

حفظ DEVMODE وحفظ القيم المُدارة ينكسران على نحو مختلفالتنفيذ الذي يحفظ مخزن DEVMODE جملة والذي يسلسل PrinterSettings جملة بعد استقبال الحيّز غير العام بـ SetHdevmode يحملان الجزء غير العام فيفقدان المعنى عند تبدّل البرنامج، والتنفيذ الذي يحفظ قيم الخصائص العامّة يحمل أرقام ورق وصوانٍ Custom أو خاصّة بالصانع مقابل قائمة برنامج تشغيل الصانع فلا ضمان أن تحمل المعنى نفسه في برنامج تشغيل فئة IPP، وكلاهما يُستبدل بتصميم يحفظ المقصد فقطحفظ DEVMODE جملةيحمل الجزء غير العام معهالحفظ جملة بعد SetHdevmodeيفقد المعنى عند تبدّل البرنامجحفظ قيم الخصائص العامّةيحمل أرقام ورق وصوانٍ مخصّصةلا ضمان للمعنى نفسه في البرنامج الجديدكلاهما إلى حفظ المقصد فقط

الشكل 16: الحفظ الكامل للكائن بعد SetHdevmode يدخل جانب الجزء غير العام، وطريقة الكسر تختلف لكن كليهما يحمل حالة برنامج التشغيل.

إن مثّل RawKind قيمة PaperKind أو PaperSourceKind قياسية، بقي المعنى بعد تبدّل البرنامج. ما لا يُضمن أن تشير أرقام Custom أو أرقام الصانع إلى الورق والصينية نفسها في برنامج تشغيل آخر. لا تعامل القيم القياسية كأنّها تنكسر جملة.2627

ممّا يُحفظ من قيم الورق والصواني ما ينكسرمن RawKind القيم المقابلة لورق قياسي مثل A4 (PaperKind) أو مصدر تغذية قياسي مثل Upper وLower (PaperSourceKind) تحفظ المعنى بعد تبدّل البرنامج، وقيم Custom أو الخاصّة بالصانع أرقام مقابل قائمة برنامج تشغيل الصانع فلا ضمان أن يفسّرها برنامج تشغيل فئة IPP الورق والصينية نفسهاRawKind المحفوظقيمة قياسية (PaperKind ونحوه)قيمة Custom أو خاصّة بالصانعيحفظ المعنى بعد تبدّل البرنامجلا ضمان تفسير الورق والصينية نفسها

الشكل 17: ما ينكسر ليس القيمة القياسية بل القيمة المخصّصة مقابل قائمة برنامج تشغيل الصانع.

في PrintTicket أيضاً تُعرَّف الكلمات المفتاحية العامّة في فضاء أسماء psk، لكن يمكن تضمين امتدادات خاصّة بالجهاز. عناصر الطرف الثالث توضع بحكم في فضاء أسماء مرتبط بوضوح بذلك الطرف. إن اختلط فضاء أسماء الصانع في XML المحفوظ فأكّده إعداداً خاصّاً ببرنامج التشغيل.2829

المعالجة: احفظ «المقصد» فقط

احمل مقصد حجم الورق والاتجاه والوجهين وعدد النسخ واختيار الصينية بكلمات مفتاحية عامّة في ملفّ إعداداتك. لا تُرح حالة برنامج التشغيل الداخلية، بل طابق القدرات الحالية قبيل الطباعة.

في WPF اجلب القدرات بـ PrintQueue.GetPrintCapabilities واجعل الطلب PrintTicket ومرّره إلى MergeAndValidatePrintTicket.30 ما تنتبه إليه هنا أن الطلب غير المدعوم لا يصير خطأ بالضرورة. قد يحلّ برنامج التشغيل التعارض ويعيد عادة تذكرة صالحة استُبدلت بقيم افتراضية ونحوها.

إن كان ValidationResult.ConflictStatus هو ConflictResolved فقارن الوجهين والصينية في ValidatedPrintTicket بالطلب، وابقِ الفرق في السجلّ وأعلم المستخدم.31

تصميم يحفظ المقصد فقط ويطابقه بالقدرات قبيل الطباعةيحمل ملفّ الإعدادات مقصد الورق والاتجاه والوجهين وعدد النسخ والصينية فقط بكلمات مفتاحية عامّة، وقبيل الطباعة تُجلب قدرات الطابعة الحالية بـ GetPrintCapabilities وتُمرَّر إلى MergeAndValidatePrintTicket، فإن كان ConflictStatus هو NoConflict طُبع كما هو، وإن كان ConflictResolved قورنت العناصر المستبدلة بالطلب وأُحيلت إلى السجلّ والإشعارNoConflictConflictResolvedملفّ الإعدادات: المقصد فقط (ورق واتجاه ووجهان وعدد نسخ)GetPrintCapabilities قبيل الطباعةMergeAndValidatePrintTicketConflictStatus هوطباعةفرق الطلب إلى السجلّ والإشعار

الشكل 18: احفظ مقصد الإعداد وتحقّق منه بقدرات الوقت الحالي عند الطباعة. لا تستخدم الإعداد المستبدل صامتاً؛ أكّد الفرق.

في WinForms اختر الورق من PrinterSettings.PaperSizes بـ Kind أو الأبعاد لا بالاسم. مصدر التغذية PaperSources يمكن إعادة استخدام قيم قياسية فريدة مثل Upper وLower، لكن صواني خاصّة متعدّدة قد تُعاد جملة بوصفها PaperSourceKind.Custom. وليس لـ PaperSource أبعاد ورق. لا تحدّد صينية خاصّة بـ Kind وحده؛ أعد التعيين صراحة إلى القدرات الحالية أو اطلب من المستخدم الاختيار من جديد.27

5.3 التأكيد 2: هل هناك تبعية لاسم الطابعة أو اسم الطابور؟

المقالة السابقة أوصت بحمل اسم الطابعة في ملفّ الإعدادات. ما يُضاف هنا فرض أن لا ضمان لإنشاء طابور بالاسم نفسه بعد تبدّل برنامج التشغيل أو إعادة الاكتشاف. الإعداد الذي يشير إلى اسم الطابور القديم يفقد الوجهة كما هو.

مواضع التأكيد ثلاثة: ملفّ الإعدادات، والاسم المكتوب في الشيفرة، وداخل SDK ومكتبة التقارير. حتّى إن لم يكن في شيفرتك اسم ثابت، قد يستدعي SDK الصانع داخليّاً طابوراً أو برنامج تشغيل معيّناً. طابق وثائق SDK بقائمة 5.1.

ثلاثة مواضع تختبئ فيها تبعية اسم الطابورتبعية اسم الطابور تختبئ في الاسم الثابت في ملفّ الإعدادات، والاسم الثابت المكتوب في الشيفرة، والطابور أو برنامج التشغيل الذي يستدعيه داخليّاً SDK الصانع أو مكتبة التقارير، والأوّلان يُوجدان بالبحث في الشيفرة والإعدادات، والأخير يُؤكَّد بوثائق SDK وقائمة 5.1تبعية اسم الطابوراسم ثابت في ملفّ الإعداداتاسم ثابت مكتوب في الشيفرةثابت داخل SDK أو المكتبةيُوجد بالبحث في الشيفرة والإعداداتيُؤكَّد بوثائق SDK وقائمة 5.1

الشكل 19: حتّى إن لم يكن في شيفرتك اسم طابور، قد تبقى تبعية داخل SDK أو المكتبة.

المعالجة أن تؤكّد عند البدء أن الاسم المضبوط موجود في PrinterSettings.InstalledPrinters، فإن لم يُوجد أبقِ سجلاً وأعلم المستخدم. هيّئ أيضاً إعادة اختيار الوجهة من شاشة الإعدادات.

لا تسقط صامتاً إلى الطابعة الافتراضية. ذلك يخفي حادث خروج قسيمة من طابعة قسم آخر بوصفه طباعة سليمة.

التحقّق من اسم الطابعة عند البدءعند البدء أكّد أن اسم الطابعة في ملفّ الإعدادات موجود في InstalledPrinters، فإن وُجد فاطبع، وإن لم يُوجد فأبقِ سجلاً وأعلم المستخدم ليختار من جديد، ولا تسقط صامتاً إلى الطابعة الافتراضيةنعملالا تفعل هذاعند البدء: اسم الطابعة في الإعداداتهل هو في InstalledPrinters؟اطبع إلى ذلك الطابورأبقِ سجلاً وأعلم المستخدمأعد الاختيار من شاشة الإعداداتسقوط صامت إلى الطابعة الافتراضية

الشكل 20: التنفيذ الذي يرسل صامتاً إلى طابعة أخرى عند عدم الوجود يصنع أبطأ الحوادث اكتشافاً.

5.4 التأكيد 3: هل تُستخدم طابعة افتراضية لتوليد ملفّ؟

أرشيف تقارير يطبع إلى طابعة PDF من طرف ثالث ويراقب مجلّد الإخراج، أو معالجة تصنع ملفّاً وسيطاً بـ XPS Document Writer، يتوقّف إن حُذف الطابور المستخدم أمام WPP.

لكن ما يُحذف هو الطابعة البرمجية غير المدعومة أمام WPP. لا تخلط منتجات غير متوافقة من نوع DLL مراقب المنافذ بمنتجات حُدِّثت لتتوافق مع WPP مثل OneNote. في الخطوة 3 من الفصل 7 أكّد هل الطابور المستخدم فعليّاً هدف حذف.2

إن أردت PDF فانقل، كما شرح الفصل 5 من المقالة السابقة، إلى تكوين يولّد مباشرة بمكتبة PDF، وهو تصميم أقل اعتماداً على تغيّر مكدّس الطباعة.

5.5 التأكيد 4: هل يمرّ إرسال RAW بطابور يختفي أمام WPP؟

إرسال RAW أسلوب يمرّر بيانات لغة الطابعة عبر المُبَوِّب بـ OpenPrinterStartDocPrinter (نوع البيانات «RAW») ← WritePrinterEndDocPrinter. يلزم أن يصف جانب المستند إعدادات الطباعة كاملة بلغة العتاد، ولا تُستخدم إعدادات DEVMODE.3233

شائع في الملصقات والإيصالات، لكن إرسال RAW ليس «اتصالاً مباشراً لا يمرّ بالمُبَوِّب». حتّى إن استخدمت برنامج التشغيل عمليّاً ممراً إلى المنفذ، إن اختفى ذلك الطابور أمام WPP فقدت الممرّ.

مسار إرسال RAW والموضع الذي يختفي أمام WPPيمرّر التطبيق بيانات لغة الطابعة إلى المُبَوِّب بـ OpenPrinter وStartDocPrinter وWritePrinter، وطابور لا يصمد أمام WPP (مثل طابور برنامج تشغيل الصانع) يكون الممرّ فيصل من المنفذ إلى الطابعة، فإن اختفى ذلك الطابور أمام WPP لم يبقَ ممرّيختفي الطابورالتطبيق: StartDocPrinter (RAW) وWritePrinterالمُبَوِّبطابور لا يصمد أمام WPP (ممرّ)المنفذطابعة ملصقات أو إيصالاتتفعيل WPP

الشكل 21: إرسال RAW لا يستخدم برنامج التشغيل إلّا ممراً، لكن الممرّ نفسه يختفي.

ما ينبغي تأكيده هو تركيب الطابور وبرنامج التشغيل والمنفذ الذي تُرسل إليه. ليس طابور برنامج تشغيل الصانع وحده؛ برامج التشغيل المضمَّنة الموجَّهة لطابعة مادية غير برنامج تشغيل فئة IPP مثل Generic / Text Only لا تُفترض باقية. ما تأكّد اختفاؤه في قائمة الحذف في الفصل 7 يحتاج بالمثل مساراً بديلاً.13

كذلك لا يرد في Microsoft Learn أنّه يمكن تمرير PDL خاصّ RAW إلى طابور برنامج تشغيل فئة IPP. ذلك يعتمد على PDL الذي تقبله تنفيذ IPP في جهة الطابعة، فلا تحكم بأن «الاستبدال إلى IPP يمرّر بيانات RAW نفسها».

6. مهرب طابعات الملصقات والإيصالات

توصي كومورا سوفت بأن تحتفظ لطباعة الملصقات والإيصالات بمسار إخراج واحد على الأقل لا يعتمد على المُبَوِّب.

حتّى إن انطبق استثناء التوقيع في الفصل 2، لا يُضمن استمرار توريد برنامج تشغيل الصانع ولا الاستخدام أمام WPP.1 في استكشاف أعطال Microsoft أيضاً حالات توقّفت فيها طابعات إيصالات وملصقات متّصلة بـ USB عن الطباعة بعد تحديث 2021 ثمّ حُلّت بـ Known Issue Rollback.34 فصل مسارات الإخراج وفهمها استعداد.

المسار تبعية المُبَوِّب المشهد المناسب وملاحظات
SDK صانع يتواصل مباشرة مع الجهاز عبر TCP/USB/تسلسلي لا لطراز يصون الصانع SDK فيه طويلاً. تابع بتّ SDK ووقت التشغيل التابع وتحديث التوقيع
SDK صانع يستدعي داخليّاً طابور Windows أو برنامج التشغيل نعم إن أبقيته أصلاً قائماً توقّف إن اختفى الطابور الداخلي أمام WPP. لا يكون مهرباً مستقلّاً عن المُبَوِّب
إرسال لغة الطابعة مباشرة بمقبس TCP لا لطابعة ملصقات على الشبكة. صمّم انقطاع الاتصال وإعادة الإرسال والمهلة
إرسال مباشر تسلسلي (COM افتراضي) / USB لا لطابعة إيصالات أو جهاز ملحق بجهاز قياس. يفترض اختيار COM افتراضي أو HID أو WinUSB
الطباعة عبر برنامج تشغيل فئة IPP (IPP / IPP over USB) نعم. متوافق مع WPP إن استُوفيت الشروط أكّد اعتماد Mopria وتفعيل IPP على الشبكة والوصول ووضع تشغيل USB. ليس مساراً يخرج من المُبَوِّب

لتصميم إعادة اتصال TCP يمكن استخدام أفكار مزالق تطبيقات الاتصالات التسلسلية. لاختيار أسلوب USB راجع كيفية التعامل مع أجهزة USB في تطبيقات Windows. IPP قد يكون معطّلاً افتراضيّاً حسب الطابعة ويلزم تفعيله.4

اسم SDK وحده لا يبيّن هل المسار مستقل. بوثائق SDK وقائمة 5.1 تأكّد هل يتواصل مباشرة مع الجهاز أم يستدعي في النهاية طابور Windows.

عند استخدام طابور Windows، Universal Print في الجانب المتوافق مع WPP لكنّه أيضاً يمرّ بالمُبَوِّب. الطابور الذي ليس برنامج تشغيل فئة IPP ولا Universal Print يتوقّف أمام WPP إن كان برنامج تشغيل طرف ثالث أو XPS أو فاكس، والطابور المضمَّن غير المذكور ضمن أهداف الحذف مثل Microsoft Print to PDF يُحكم فرديّاً. «متوافق مع WPP» و«مستقل عن المُبَوِّب» تصنيفان منفصلان.

تدفّق الحكم هل يعتمد مسار الإخراج على المُبَوِّبإن أرسل المسار المرشّح إلى طابور طباعة Windows فطابور برنامج تشغيل فئة IPP لطابعة معتمدة من Mopria وعلى الشبكة IPP مفعّل ويصل وعلى USB وضع IPP over USB وطابور Universal Print الذي هو جزء من Windows Ready Print يعتمد على المُبَوِّب لكنّه متوافق مع WPP، وطراز بلا اعتماد Mopria وطابور برنامج تشغيل طرف ثالث وطابور يُحذف بجدول الفصل 4 مثل XPS Document Writer والفاكس قد يتوقّف أمام WPP، والطابور المضمَّن غير المذكور ضمن أهداف الحذف مثل Microsoft Print to PDF يُحكم فرديّاً كما في 5.1، وإن لم يُرسل إلى طابور فإن استدعى SDK داخليّاً طابوراً أو برنامج تشغيل عاد إلى الحكم نفسه، وSDK الذي لا يستدعي ومسار الإرسال المباشر إلى الجهاز مهرب لا يعتمد على المُبَوِّبنعمنعمنعمنعملالالانعملانعم (طرف ثالث أو XPS أو فاكس)لا (Print to PDF ونحوه)لانعمنعملالامسار الإخراج المرشّحهل يرسل إلى طابور طباعة Windows؟هل هو طابور برنامج تشغيل فئة IPP؟هل هي معتمدة من Mopria؟هل يصل IPP (وعلى USB over USB)؟يعتمد لكنّه متوافق مع WPPيعتمد وقد يتوقّف أمام WPPهل هو طابور Universal Print؟هل يُحذف بجدول الفصل 4؟احكم فرديّاً (5.1)هل عبر SDK صانع؟هل يستدعي داخليّاً طابوراً أو برنامج تشغيل؟التأكيد: وثائق SDK وقائمة 5.1مهرب لا يعتمد

الشكل 22: يُقرَّر بما يمرّ به في النهاية من طابور، وما عدا طابور برنامج تشغيل فئة IPP لطراز معتمد من Mopria وطابور Universal Print قد يتوقّف أمام WPP عدا الطابور المضمَّن غير المذكور ضمن أهداف الحذف.

7. إجراء التحقّق ── عند استخدام WPP وعند عدم استخدامه

أكّد أوّلاً تفرّع التحقّق حسب استخدام WPP أو عدمه. في الحالتين أبقِ الإخراج قبل التغيير وتأكّد على وجهة الطباعة المستخدمة فعليّاً.

إجراء تحقّق الطباعة يُقسَم باستخدام WPP أو عدمهأعد كلّ الطوابير على جهاز التحقّق واحفظ الإخراج قبل التغيير، فإن استخدمت WPP فعّله وسجّل الطوابير المحذوفة وقارن الإخراج بعد إعادة تسجيل المتوافق وأكّد المسار البديل لغير المتوافق، وإن لم تستخدمه فأعد اكتشاف الجهاز المادي هدف تغيّر ترتيب IPP مع إبقاء التعطيل وقارن الإخراج، وما سواه أكّد الطباعة على الطابور الفعلينعملانعملاأعد كلّ الطوابير وسجّلاحفظ نتيجة الطباعة قبل التغييرهل تستخدم WPP؟فعّل وسجّل طوابير الحذفالمتوافق أعد تسجيله إن لزمقارن بالطباعة نفسها قبل التغييرغير المتوافق أكّد بمسار بديلهل هو جهاز IPP مادي هدف تغيّر الترتيب؟احذف وأعد الاكتشاف مع إبقاء التعطيلأكّد الطباعة على الطابور الفعليسجّل النتيجة واستعد جهاز التحقّق

الشكل 23: اجعل الإخراج قبل التغيير معياراً مشتركاً، ولا تفعّل إلّا في بيئة تستخدم WPP. في بيئة لا تستخدمه أكّد تغيّر ترتيب IPP والطباعة على الطابور الفعلي.

7.1 إعداد مشترك: أعد كلّ وجهات الطباعة على جهاز تحقّق لا على الإنتاج

استخدم للتحقّق حاسوباً Windows 11 24H2 فما بعده، ولا تجره على حاسوب الإنتاج. على الشبكة يمكن التحقّق في آلة افتراضية تصل إلى الطابعة نفسها. لتقييم إعادة التسجيل على USB أو الاتصال المباشر استخدم جهاز تحقّق ماديّاً، عدا آلة افتراضية يمكنها تمرير واجهة USB نفسها.

سواء استخدمت WPP أم لا، أبقِ الحالة قبل التغيير بالخطوتين 1 و2 التاليتين.

  1. أعد كلّ الطوابير التي يستخدمها التطبيق في الميدان. ليس طابعة مادية ببرنامج تشغيل الصانع فقط؛ أدخل أيضاً الطابعة الافتراضية PDF من طرف ثالث والطابور المضمَّن مثل Generic / Text Only بالتكوين نفسه. سجّل اسم برنامج التشغيل والإصدار بسكربت 5.1. ما يمكن الحكم عليه بفرق الحذف هو الطابور الموجود على جهاز التحقّق فقط.
  2. شغّل وظائف الطباعة جملة واحفظ الإخراج. أكّد شاشة إعداد الورق والصينية والوجهين وعدد النسخ، والطباعة لكلّ تقرير، وإخراج PDF، وطباعة الملصقات، واصنع معياراً يمكن مقارنته لاحقاً.
الطوابير التي تُعاد على جهاز التحقّقمن الطوابير التي يستخدمها التطبيق كما تبيّن جرد 5.1 أعد على جهاز التحقّق بالتكوين نفسه في الميدان طابعة مادية ببرنامج تشغيل الصانع وطابعة افتراضية مثل PDF من طرف ثالث وطابور برنامج تشغيل مضمَّن مثل Generic / Text Only، وما يمكن الحكم عليه بقائمة الحذف في الخطوة 3 هو الطابور الموجود على جهاز التحقّق فقطجرد 5.1: الطوابير التي يستخدمها التطبيقطابعة مادية (من الصانع)طابعة افتراضية (PDF من طرف ثالث ونحوه)برنامج تشغيل مضمَّن (Generic / Text Only ونحوه)أعد بالتكوين نفسه على جهاز التحقّقاحكم بالبقاء بقائمة الحذف في الخطوة 3الطابور الغائب لا يظهر في فرق الحذف

الشكل 24: الطابور الغائب عن جهاز التحقّق لا يظهر في فرق الحذف، فأعد أوّلاً كلّ الطوابير التي تبيّنها الجرد.

7.2 بيئة تستخدم WPP: فعّل وتحقّق بما في ذلك وجهات الطباعة التي اختفت

بعد الخطوتين 1 و2 امضِ بهذا الترتيب.

  1. فعّل WPP وسجّل الطوابير التي تُحذف. من «الطابعات والماسحات» في تطبيق الإعدادات اختر «إعداد» لـ «Windows protected print mode» فيظهر هدف الحذف في حوار.2 إن فعّلت بـ Group Policy لا يظهر الحوار، فاحفظ ناتج Get-Printer قبل التطبيق وأعد تشغيل جهاز التحقّق بعده. أكّد التفعيل بـ IsProtectedPrintEnabled أو شاشة الإعدادات ثمّ خذ القائمة من جديد وسجّل الفرق.14
  2. أعد تثبيت الطابعات المتوافقة المحذوفة. أعد الإدخال بـ Windows Ready Print، وأكّد بسكربت 5.1 أن DriverName للطابعة المادية صار Microsoft IPP Class Driver.
  3. كرّر الطباعة نفسها وقارن بما قبل التغيير. أكّد خيارات شاشة الإعدادات، واستعادة الإعدادات المحفوظة، وفقدان الوجهة بتغيّر اسم الطابور. طابق أيضاً الهوامش والخطوط والخطوط الشبكية في الإخراج بإخراج الخطوة 2.
  4. غير المتوافق اطبعه بالمسار البديل في الفصل 6. أكّد أنّه يخرج بعد إعادة حالة «الطابعة ليست في القائمة». هدف التحقّق ليس الشيفرة المصلحة وحدها بل المسار المعدّ أيضاً.

7.3 بيئة لا تستخدم WPP: لا تفعّل، وتحقّق من تغيّر اختيار برنامج التشغيل

في بيئة قرّرت عدم استخدام WPP لا تُجرَ الخطوتان 3 و4. تفعيل WPP يحذف الطابور جملة فيختفي أثر الترتيب وحده.

وجهة الطباعة ما تفعله بعد الخطوتين 1 و2
جهاز IPP مادي يصبح هدف تغيّر الترتيب احذف وأعد الاكتشاف وأعد التثبيت على جهاز التحقّق مع إبقاء WPP معطّلاً. أكّد بسكربت 5.1 التحوّل إلى برنامج تشغيل فئة IPP وأجرِ مقارنة الخطوة 5
طابور سحابة أو افتراضي لا جهاز مادي يُعاد اكتشافه ولا تغيّر ترتيب، فأكّد إخراج الخطوة 2 على الطابور المستخدم فعليّاً

7.4 الاستعادة بعد التحقّق وترتيب إجراء التجهيز

جهاز التحقّق الذي فُعِّل فيه WPP من تطبيق الإعدادات المحلي يمكن إرجاعه بـ «إيقاف». إن طُبِّق من Group Policy أو Intune لزم تغيير السياسة من جهة المسؤول، فهيّئ إجراء الاستعادة وفق مسار التفعيل.213

إرجاع WPP إلى التعطيل لا يغيّر الطابعة التي أُعيد إدخالها بـ Windows Ready Print. الطابعة التي كانت غير متوافقة تُعاد تثبيتها يدوياً.210

في التجهيز تُدمج سياسة WPP وإجراء إعادة تسجيل الطابعة في آلية التوزيع التي رُتّبت في من Group Policy إلى Intune. توزيع برامج التشغيل من أطراف ثالثة بـ Point and Print صار يحتاج افتراضيّاً بيانات اعتماد المسؤول منذ KB5005652 في 2021،34 وأمام WPP لا يجري التوزيع نفسه.9 في بيئة تستخدم WPP استبدل الإجراء المعتمد على توزيع برنامج التشغيل بهذا تطبيق السياسة وإعادة التسجيل.

مراجعة إجراء التجهيزالإجراء الذي كان يوزّع برامج تشغيل من أطراف ثالثة بـ Point and Print يحتاج منذ 2021 بيانات اعتماد المسؤول ولا يجري التوزيع نفسه أمام WPP فيُخرَج، ويُدمَج بدلاً منه سياسة WPP (Group Policy أو OMA-URI) وإجراء إعادة تسجيل الطابعة في آلية التوزيعتوزيع برامج تشغيل من أطراف ثالثة بـ Point and Printمنذ 2021 تلزم بيانات اعتماد المسؤولأمام WPP لا يجري التوزيع نفسهأخرجه من الإجراءأدمج سياسة WPP وإجراء إعادة التسجيل

الشكل 25: إجراء توزيع برنامج التشغيل يُستبدل بإجراء توزيع سياسة WPP وإعادة تسجيل الطابعة.

8. الخلاصة

ما يلزم من تعامل يُقرَّر بهذا الترتيب: «هل تبقى وجهة الطباعة» ← «علامَ تعتمد الشيفرة» ← «بأيّ شرط تتحقّق».

نتيجة التأكيد التعامل
الطابور لا يبقى أمام WPP والطابعة المادية أيضاً لا يمكن إعادة تسجيلها أعدّ مساراً بديلاً أو قرّر عدم استخدام WPP أوّلاً
تُحفظ إعدادات خاصّة ببرنامج التشغيل احفظ المقصد لا الحالة، وأكّد القدرات قبيل الطباعة
تبعية لاسم الطابور أو لطابعة افتراضية هيّئ تأكيد وجود الوجهة والسجلّ والإشعار وإعادة الاختيار. ولّد PDF مباشرة بالمكتبة
ممرّ إرسال RAW يختفي أمام WPP هيّئ مساراً لا يعتمد على المُبَوِّب
وُمِّنت الوجهة والرسم وحده بلا تبعية لبرنامج تشغيل معيّن لا تُعد الكتابة جملة؛ تحقّق من الإخراج الفعلي

إصلاح واحد ليس نهاية. بعد إصلاح الإعدادات تابع تأكيد اسم الطابور والطابعة الافتراضية وإرسال RAW، وأخيراً تأكّد من الإخراج في الفصل 7. على أجهزة قد يحدث فيها تغيّر ترتيب IPP حتّى دون استخدام WPP يلزم جرد التبعيات وتحقّق إعادة الاكتشاف مع إبقاء WPP معطّلاً.

شجرة قرار هل تصلح أم يكفي التأكيداحكم أوّلاً هل يبقى طابور الوجهة أمام WPP (طابور سحابة Universal Print أو طابعة افتراضية متوافقة مع WPP) أو يمكن إعادة تسجيل الطابعة المادية بـ Windows Ready Print، فإن تعذّر فاختر إعداد مسار بديل أو عدم استخدام WPP، وإن كان الجهاز يدعم IPP وقد يتبدّل بتغيّر الترتيب فأكّد بهذا الترتيب حفظ الإعدادات الخاصّة ببرنامج التشغيل ثمّ تبعية اسم الطابور أو الطابعة الافتراضية (بما في داخل SDK والمكتبات) ثمّ إرسال RAW وأصلح إن انطبق ثمّ امضِ، وأخيراً إن استخدمت WPP فإلى تحقّق تفعيل WPP في الفصل 7، وإن لم تستخدمه فالجهاز المادي الداعم لـ IPP إلى تحقّق إعادة الاكتشاف مع إبقاء WPP معطّلاً، وطابور السحابة أو الافتراضي إلى تأكيد الإخراج الفعلي، وإن لم تستخدم WPP ولم يكن لأثر التبدّل موضع فالتشغيل بالمسار الحاليلاأعدّ مساراً بديلاًلا تستخدم WPPنعملانعملانعمنعملانعملانعملانعملانعملاهل يبقى الطابور أمام WPP أو يمكن إعادة التسجيل؟ماذا تفعل؟هل يدعم IPP وقد يتبدّل؟هل يدعم IPP وقد يتبدّل؟هل تُحفظ إعدادات خاصّة ببرنامج التشغيل؟تحقّق فقط (الفصل 7)التشغيل بالمسار الحاليأصلح (5.2)هل هناك تبعية لاسم الطابور أو لطابعة افتراضية؟يشمل التبعية داخل SDK والمكتبةأصلح (5.3 و5.4)هل يُمرَّر إرسال RAW إلى طابور لا يصمد أمام WPP؟هيّئ الممرّ (الفصل 6)هل تستخدم WPP؟هل هو جهاز IPP مادي؟تحقّق إعادة الاكتشاف بلا WPP (7.3)تأكيد الإخراج على الطابور الفعلي

الشكل 26: احكم أوّلاً هل يبقى الطابور أمام WPP، وتبعيات الشيفرة تمضي إلى التأكيد التالي ولو أُصلح واحد، والمسار المصلح يُتحقَّق منه أخيراً. إن لم تستخدم WPP فليس تفعيل WPP في الفصل 7 بل إعادة اكتشاف جهاز IPP المادي مع إبقاء WPP معطّلاً، وطابور السحابة أو الافتراضي بالإخراج الفعلي.

موعد الاستعداد تضعه في خطّة النشر لديكم لا في تواريخ Microsoft

يُقال إن WPP سيُفعَّل افتراضيّاً لاحقاً، لكن الموعد غير مبيَّن.10 موعد الاستعداد تضعه قبل تفعيل WPP لديكم، أو قبل نشر تحديث ميزات Windows 11 24H2 فما بعده في الميدان. 1 تمّوز/يوليو 2027 محطّة جهة توريد برامج التشغيل، وليس موعداً نهائيّاً لجهة تطبيق الأعمال.1

كيف تضع جهة تطبيق الأعمال موعد الاستعدادخذ القائمة واجرد الآن، وأنهِ تغيير المسار والتحقّق قبل الموعد لديكم وهو قبل تفعيل WPP لديكم أو قبل نشر تحديث الميزات 24H2 فما بعده، وتوقّف تحديث برامج التشغيل في 1 تمّوز/يوليو 2027 محطّة جهة التوريد لا موعد استعداد، فاصنع أوّلاً حالة لا تتأثّر متى جاء تفعيل WPP الافتراضي غير المحدَّد الموعدمحطّة جهة التوريد لا موعدالآن: أخذ القائمة والجردتغيير المسار والتحقّقالموعد: قبل تفعيل WPP لديكم / قبل نشر تحديث الميزاتلا تتأثّر إن جاء تفعيل WPP الافتراضي (موعد غير محدَّد)1 تمّوز/يوليو 2027: توقّف تحديث برامج التشغيل

الشكل 27: ضع الموعد في خطّة النشر لديكم، ولا تجعل تواريخ محطّات Microsoft موعداً نهائيّاً.

ابدأ بأخذ قائمة جهة التسليم وفهم تبعية الإعدادات ووجهة الطباعة ومسار الإخراج. ولّد PDF مباشرة، واحتفظ لطباعة الملصقات والإيصالات بمسار واحد مستقل عن مكدّس الطباعة. ثمّ تأكّد من الطباعة وفق شرط النشر الفعلي.

البيئة التي تبقى على Windows 10 خارج هذه الخطّة، لكن دعم القناة العادية لـ Windows 10 (22H2) انتهى في تشرين الأوّل/أكتوبر 2025. لـ Enterprise LTSC وIoT Enterprise LTSC مواعيد تختلف حسب الإصدار فيلزم تأكيد دورة الحياة. للحكم بما يشمل ESU وLTSC راجع الحلول الواقعية بعد انتهاء دعم Windows 10، وللحاسوب الصناعي أي Windows ينبغي تثبيته على الحاسوب الصناعي. استعداد الطباعة يمتدّ إلى إعادة تحقّق الفصل 7 على Windows 11 وجهة الترحيل.

مقالات ذات صلة

مجالات الاستشارة ذات الصلة

تتناول شركة كومورا سوفت ذ.م.م. جرد تبعية تطبيقات الأعمال ذات طباعة التقارير والملصقات لبرامج تشغيل الطابعات، ومراجعة مسار الطباعة (التوليد المباشر لـ PDF والتحكّم المباشر بطابعة الملصقات)، وتصميم خطّة تحقّق تفترض Windows protected print mode.

روابط مرجعيّة

  1. Microsoft Learn, End of servicing plan for third-party printer drivers on Windows. عن الخطّ الزمني المحدَّث في أيّار/مايو 2025 (15 كانون الثاني/يناير 2026 و1 تمّوز/يوليو 2026 و1 تمّوز/يوليو 2027)، وأنّ النطاق Windows 11 فما بعده وWindows Server 2025 فما بعده، وأنّ البرامج القائمة قابلة للتثبيت ولا خطّة لتعطيل وظائف v3/v4، وشروط استثناء التوقيع الثلاثة (بلا اعتماد Mopria وحدّ Windows 10 فما دونه وARM64 أصلي)، وأنّ جهاز USB لا يستخدم كلّ وظيفة إلّا في وضع IPP over USB، وأنّ Microsoft IPP Class Driver مضمَّن من Windows 10 21H2 فما بعده.  2 3 4 5 6 7 8 9 10

  2. Microsoft Learn, Overview of Windows protected print mode. عن أنّه عند التفعيل يُزال تثبيت الطابعات التي تستخدم برامج تشغيل من أطراف ثالثة وتُحذف من مخزن برامج التشغيل، وأنّ الطابعة المعتمدة من Mopria أيضاً تحتاج إعادة تثبيت إن أُدخلت ببرنامج تشغيل طرف ثالث، وأنّ الطابعة البرمجية غير المدعومة (مثل OneNote (Desktop)) وXPS والفاكس تُحذف، وأنّ المستخدم لا يستطيع الإلغاء إن فُعِّل بـ Group Policy، وإجراء التفعيل والإلغاء من تطبيق الإعدادات.  2 3 4 5 6 7 8

  3. Microsoft Learn, Step 2: A Driver Package for the Device is Selected. عن أنّ Windows عند تطابق حزم برامج تشغيل متعدّدة يضع لكلّ حزمة رتبة ويثبّت الأفضل رتبة، وعند تساوي الرتبة يختار بالتاريخ والإصدار. 

  4. Microsoft Learn, IPP printers with the Universal Print Connector. عن أنّ Microsoft IPP Class Driver برنامج تشغيل مضمَّن يتواصل بـ IPP مع طابعات معتمدة من Mopria، وأنّ IPP قد يكون معطّلاً افتراضيّاً حسب الطابعة ويلزم تفعيله.  2

  5. Microsoft Learn, Legacy printer driver submission process. عن أنّ تقديم برامج تشغيل الطابعات صار محظوراً افتراضيّاً بعد 15 كانون الثاني/يناير 2026 سواء كان WHQL أم Attestation، وصار مراجعة يدوية بمستند تبرير. 

  6. Microsoft Learn, Windows Print Path Overview. عن وجود مساري طباعة رئيسين في Windows: مسار طباعة GDI ومسار طباعة XPS. 

  7. Microsoft Learn, Discover Windows Ready Print. عن أنّ Windows Ready Print اسم يشمل IPP وeSCL وUniversal Print، ولا يحتاج برنامج تشغيل من طرف ثالث، وصُمِّم لطابعات معتمدة من Mopria، ولا يعتمد على معمارية الحاسوب. 

  8. Microsoft Learn, Universal Print troubleshooting - Understanding the stages of a print job. عن أنّ طابعة Universal Print تستخدم Universal Print class driver المضمَّن، وأنّ المُبَوِّب يرسل المهمة إلى الخدمة بـ IPP over HTTPS.  2 3

  9. Microsoft Learn, More information on Windows protected print mode for enterprises and developers. عن أنّ أعطال الطباعة تشكّل 9% من تقارير MSRC في السنوات الثلاث الماضية، وأنّ المُبَوِّب يعمل بـ SYSTEM ويحمّل رمز طرف ثالث، وأنّ البرامج القديمة غير متوافقة مع CFG/CET/ACG، وأنّ IPP قائم على HTTP POST ويُعرَّف بـ URI ويُرسم عدد قليل من PDL مثل PWG Raster وPDF على جهة العميل، وعن تقييد تحميل الوحدات أمام WPP ورسم XPS بصلاحيات المستخدم والرمز المقيَّد وحظر إنشاء عمليات ابنة وتخفيف الثنائيات، وأنّ Point and Print لا يعود يثبّت برامج تشغيل من أطراف ثالثة.  2 3 4 5 6

  10. Microsoft Learn, Windows protected print mode FAQ. عن أنّ الطابعة غير المتوافقة لا يمكن إعادة تثبيتها أثناء التفعيل وتُعاد يدوياً بعد الإلغاء، وأنّ الوظائف الخاصّة تُقدَّم بـ Print Support App، وأنّ Windows protected print mode سيُفعَّل افتراضيّاً في وقت لاحق.  2 3 4

  11. Microsoft Learn, Printer driver isolation. عن معنى أوضاع العزل (Shared / Isolated / None)، وأنّ البرنامج الذي لا يعلن كلمة DriverIsolation في INF يعمل افتراضيّاً داخل عملية المُبَوِّب، وأنّ المسؤول يمكنه تجاوز إعداد كلّ برنامج من وحدة تحكّم إدارة الطباعة أو دوال المُبَوِّب.  2

  12. Microsoft Learn, What’s new in Windows 11, version 24H2. عن إضافة Windows protected print mode في 24H2 وإمكان تفعيله من تطبيق الإعدادات أو Group Policy. 

  13. Microsoft Learn, Policy CSP - Printers: ConfigureWindowsProtectedPrint. عن أنّ نظام التشغيل المطبق Windows 11 24H2 فما بعده، وأنّه معطّل افتراضيّاً بلا قيد على برامج التشغيل أو وظائف الطباعة، ومفتاح السجلّ المقابل لـ ADMX Software\Policies\Microsoft\Windows NT\Printers\WPP والقيمة WindowsProtectedPrintGroupPolicyState 2 3 4 5

  14. Microsoft Learn, Windows protected print mode for enterprises. عن إجراء التفعيل بسياسة Group Policy «Configure Windows protected print»، وOMA-URI في Intune، وأنّ عميلاً فُعِّل فيه WPP لا يستطيع إدارة خادم معطّل فيه WPP من إدارة الطباعة.  2 3

  15. Microsoft Learn, WindowsProtectedPrintInfo.IsProtectedPrintEnabled Property. عن الخاصّية الثابتة المُدخلة في Windows 11 24H2 التي تعيد هل WPP مفعّل على الجهاز الحالي. 

  16. Microsoft Learn, Get-PrinterDriver. عن إعادة قائمة برامج تشغيل الطابعات على الحاسوب المحدَّد وأنّها لا تحتاج بيانات اعتماد مسؤول. 

  17. Microsoft Learn, PnPUtil Command Syntax. عن أنّ /enum-drivers يعدّد حزم برامج التشغيل من أطراف ثالثة، وأنّه من Windows 11 21H2 يمكن تضييق اسم الصنف بـ /class، وأنّ التنفيذ بفتح موجه الأوامر كمسؤول.  2

  18. Microsoft Learn, How to display printer status in a UWP device app. عن إجراء تمييز v3 أو v4 بـ get-printer | Select Name, {(get-printerdriver -Name $_.DriverName).MajorVersion}

  19. Microsoft Learn, PnPUtil. عن أنّ تعداد حزم مخزن برامج التشغيل يستثني الحزم المضمَّنة (in-box) ولا يُعدَّد إلّا ما سوى المضمَّن. 

  20. Microsoft Learn, PrintQueue.QueueDriver Property. عن إمكان جلب برنامج تشغيل الطابعة الذي يستخدمه الطابور بوصفه PrintDriver

  21. Microsoft Learn, PrintServer Class. عن أنّ أصناف فضاء الأسماء System.Printing غير مدعومة داخل خدمات Windows أو تطبيقات ASP.NET وقد تسبّب تدهور أداء أو استثناء وقت تشغيل. 

  22. Microsoft Learn, DEVMODEW structure (wingdi.h). عن إمكان وضع أعضاء غير عامّة يعرّفها برنامج التشغيل مباشرة بعد الأعضاء العامّة، وبيان حجمها بـ dmDriverExtra، وأنّ Windows يتحقّق من الجزء العام فقط وأنّ البيانات التالفة في الجزء غير العام قد تُسقط برنامج التشغيل. 

  23. dotnet/winforms (GitHub), PrinterSettings.cs. عن أنّ SetHdevmode ينسخ داخليّاً الحيّز غير العام بمقدار dmDriverExtra وأنّ GetHdevmode يعيد كتابته، وأنّ المسارات الأخرى لا تحمل الحيّز غير العام. 

  24. Microsoft Learn, PrinterSettings Class. عن أنّ إعلان نسخة .NET Framework يحمل سمة Serializable ونسخة .NET لا تحملها، وأنّ GetHdevmode وSetHdevmode تحويل متبادل مع DEVMODE 2

  25. Microsoft Learn, SerializableAttribute Class. عن أنّ النوع الذي يحمل سمة Serializable تُسلسل افتراضيّاً كلّ حقوله الخاصّة والعامّة، والاستثناء بسمة NonSerialized

  26. Microsoft Learn, PaperSize.RawKind Property. عن أنّ RawKind عدد صحيح يمثّل قيمة نوع ورق قياسي أو قيمة مخصّصة. 

  27. Microsoft Learn, PaperSourceKind Enum. عن تعريف أنواع مصدر تغذية قياسية مثل Upper وLower إضافة إلى Custom الذي يمثّل مصدر تغذية خاصّاً بالطابعة.  2

  28. Microsoft Learn, Print Schema. عن أنّ Print Schema يسمح بامتداد طرف ثالث، وأنّ عنصر Property الخاص يجب أن ينتمي إلى فضاء أسماء مرتبط بوضوح بذلك الطرف. 

  29. Microsoft Learn, Print Schema-Related Technologies. عن أنّ PrintTicket خلف لـ DEVMODE، وأنّ PrintTicket الخاص بجهاز قد يشمل امتدادات خاصّة موجَّهة لطراز معيّن. 

  30. Microsoft Learn, How to: Validate and Merge PrintTickets. عن تأكيد وظائف الطابعة المدعومة بـ PrintQueue.GetPrintCapabilities ودمج محتوى الطلب والتحقّق منه في PrintTicket صالح خاصّ بالطابعة بـ MergeAndValidatePrintTicket

  31. Microsoft Learn, ConflictStatus Enum. عن أنّ MergeAndValidatePrintTicket يجعل برنامج التشغيل يستبدل إعداداً غير مدعوم ويعيد تذكرة صالحة، ويبلّغ عن الاستبدال بـ ConflictResolved في ValidationResult.ConflictStatus

  32. Microsoft Learn, WritePrinter function. عن الإجراء من StartDocPrinter إلى EndDocPrinter، وأنّه عندما يكون نوع البيانات «RAW» يلزم أن يصف المستند بلغة العتاد إعداداً يعادل DEVMODE كاملة، وأنّ WritePrinter دالة حاجزة فقد يبدو الاستدعاء من خيط الواجهة بلا استجابة. 

  33. Microsoft Learn, RAW data type. عن أنّ بيانات RAW تُرسل إلى مراقب الطباعة بلا معالجة إضافية، وأنّ ملفّاً مكوَّناً من أوامر PCL مثال على ذلك. 

  34. Microsoft Learn, Printing issue troubleshooting guidance. عن تغيّر السلوك الافتراضي لـ Point and Print منذ KB5005652 بحيث تُطلب بيانات اعتماد المسؤول، وعن حالات توقّفت فيها طابعات إيصالات وملصقات متّصلة بـ USB عن الطباعة بعد تطبيق تحديث 2021 ثمّ حُلّت بـ Known Issue Rollback.  2

أحدث المقالات التي تشترك في نفس الوسوم. عمّق فهمك بمواضيع مرتبطة.

ترتبط هذه المقالة بشكل طبيعي بصفحات الخدمات التالية.

الأسئلة الشائعة

أسئلة شائعة حول موضوع هذه المقالة.

هل تتوقّف الطابعات والتطبيقات العاملة اليوم فجأة عن الطباعة بعد تمّوز/يوليو 2026 أو تمّوز/يوليو 2027؟
لا. خطّة Microsoft قطع تدريجي من جهة التوريد: «عدم نشر برامج تشغيل جديدة من أطراف ثالثة على Windows Update»، و«تفضيل برنامج تشغيل فئة IPP في الترتيب»، و«عدم قبول التحديثات». وهي تنصّ صراحة على أنّها لا تعطّل البرامج القائمة. ويمكن تثبيت البرامج القائمة من مثبّتات الصانع أيضاً. الخطر في جهازين: أجهزة يطابقها برنامج تشغيل فئة IPP، عند استبدال الحاسوب أو إعادة تثبيت نظام التشغيل فيُستبدل البرنامج تلقائيّاً ببرنامج تشغيل فئة IPP، وعند تفعيل Windows protected print mode.
هل يُفعَّل Windows protected print mode افتراضيّاً؟
في وقت كتابة هذه المقالة (أيلول/سبتمبر 2026) معطّل افتراضيّاً، ويُفعَّل من تطبيق الإعدادات أو Group Policy أو Intune. لكن أسئلة Microsoft الشائعة تصرّح بأنّه «سيُفعَّل افتراضيّاً في وقت لاحق». لم يُذكر الموعد، فالاستعداد أن تصل إلى حالة لا تضرّك إن فُعِّل.
ماذا عن طابعات الملصقات وطابعات الإيصالات؟
الطابعات التي لا يمكنها الحصول على اعتماد Mopria مذكورة ضمن شروط يُسمح فيها استثنائيّاً بتوقيع برنامج التشغيل بعد 15 كانون الثاني/يناير 2026. أي قد يبقى برنامج تشغيل الصانع لفترة، لكن في بيئة فُعِّل فيها Windows protected print mode تُزال الطابعات التي تستخدم برامج تشغيل من أطراف ثالثة، فلا تُستخدم كما هي. إن احتفظت بمسار يتواصل فيه SDK الصانع مباشرة عبر TCP/USB/تسلسلي مع الجهاز، أو يرسل لغة الطابعة مباشرة، انفصلت عن تغيّر Print Spooler. أمّا SDK يستدعي داخليّاً طابور Windows أو برنامج التشغيل فيتوقّف بالمثل إن اختفى برنامج الطرف الثالث، فلا يكون مهرباً.
هل يمكن الإبقاء على شيفرة الطباعة على PrintDocument؟
مسار طباعة GDI ومسار طباعة XPS يبقيان، وتصرّح Microsoft بأنّها لا تخطّط لتعطيل وظائف برامج تشغيل v3/v4. التطبيق الذي يرسم فقط بـ PrintDocument أو FixedDocument ليس هدفاً للإصلاح بل للتحقّق. هدف الإصلاح الشيفرة التي تحفظ وتعيد إعدادات خاصّة ببرنامج التشغيل (الجزء غير العام من DEVMODE أو فضاء أسماء PrintTicket الخاص)، والشيفرة التي تعتمد على اسم طابور معيّن أو اسم طابعة افتراضية (بما في ذلك ما يستدعيه SDK الصانع أو مكتبة التقارير داخليّاً)، والشيفرة التي تمرّر بيانات RAW عبر المُبَوِّب إلى طابور لا يصمد أمام WPP (مثل طابور برنامج تشغيل الصانع). لكن إن كان جهاز الوجهة نفسه لا يمكن إعادة تسجيله بـ Windows Ready Print، فحتّى إن كانت الشيفرة رسماً فقط يختفي الطابور تحت Windows protected print mode، فيسبق ذلك إعداد مسار بديل.
من أين أبدأ؟
من أخذ قائمة طابعات وبرامج تشغيل جهة التسليم. بـ Get-Printer وGet-PrinterDriver في PowerShell تُؤخذ بلا صلاحيات مسؤول أيّ طابور يستخدم أيّ برنامج تشغيل (v3 أم v4، أم برنامج تشغيل فئة IPP). ثمّ تطابق من تلك القائمة الطوابير التي يسمّيها التطبيق أو يحفظ إعداداتها أو يرسل إليها RAW، وتوزّعها بجدول القرار في هذه المقالة إلى «كما هي» و«تحقّق» و«غيّر المسار».

الملف الشخصي للمؤلف

صفحة الملف الشخصي لمؤلف المقالة.

غو كومورا

مؤسّس شركة كومورا سوفت ذ.م.م.

يركّز على تطوير برامج ويندوز، والاستشارات التقنية، والتحقيق في الأخطاء، ويتميّز في المشاريع التي تبقى فيها الأصول القديمة ناشطة، وفي تشخيص الأعطال التي يصعب تحديد سببها.

العودة إلى المدونة