سؤال

في يونكس، كل شيء هو ملف، بحيث يمكنك استخدام ملف ط / س وظائف مع أنابيب، والملفات، ومآخذ، إلخ. ولكن على النوافذ، والمعهد تستخدمه يعتمد على نوع I / O HANDLE لديك.

وسؤالي هو: إعطاء HANDLE كيف يمكن تحديد ما هو نوع الأساسية؟ على سبيل المثال، لدي HANDLE هذا الملف إما حقيقي أو اسمه / الأنابيب مجهول. أود أن أعرف ما إذا كان PeekNamedPipe يمكن أن يطلق على هذا المؤشر.

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

المحلول

استخدم GetFileType. تحقق من وجود قيمة الإرجاع FILE_TYPE_PIPE.

http://msdn.microsoft.com/ أون لنا / مكتبة / aa364960 (VS.85) .aspx اتصال

نصائح أخرى

ودون تحاول أن تكون سخيفة. نسميها. إذا كنت تحصل على رمز الخطأ مرة أخرى قائلا لها نوع خاطئ من شيء ... ثم تعلمون.

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

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