سؤال

عند التعامل مع طلبات DeviceIoControl في برنامج تشغيل WDF ، ما هي الطريقة الصحيحة للحصول على حجم المخزن المؤقت للإدخال/الإخراج.

يبدو أنه تم تمرير كلاهما كمعلمة:

VOID
EvtIoDeviceControl(IN WDFQUEUE Queue, IN WDFREQUEST Request,
                   IN size_t OutputBufferLength,
                   IN size_t InputBufferLength,
                   IN ULONG IoControlCode)

ولكن متاح أيضا من خلال WdfRequestRetrieveInputBuffer المطلوب من أجل الوصول إلى المخزن المؤقت للطلب.

لذلك أتساءل عما إذا كان هناك فرق بين InputBufferLength المعلمة والقيمة المحددة بواسطة WdfRequestRetrieveInputBuffer (ال Length معامل).

هل كانت مفيدة؟

المحلول

لا يوجد فرق بين هذين. اعتقد الرجل الذي صمم الواجهة أنه سيكون من المناسب أن يكون لديك المعلمة في كلا المكانين. لم أجد أبدًا أن هذا هو الحال ، بنفسي ، لكن هناك في حالة قيامك بذلك.

جيك أوشينز

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top