Win32: API يدعو إلى قائمة أسهم الشبكة المتاحة على خادم؟

StackOverflow https://stackoverflow.com/questions/899995

سؤال

افترض أن لدي إمكانية الوصول إلى خادم SMB عند IP 1.2.3.4، كيف يمكنني تحديد قائمة الأسهم المتاحة؟

يمكن ل Windows Explorer القيام بذلك عند إدخال مسار UNC 1.2.3.4 - لكن موجه الأوامر "Dir 1.2.3.4 " فشل!

لقد جربت مكالمات FindFirstFile / FindNext المعتادة - التي أستخدمها بنجاح لقراءة الملفات والدلائل على كل مشاركة، لكنها لا تعمل مباشرة على جذر الخادم.

من الناحية المثالية، أحتاج إلى شيء يعمل مع XP فصاعدا.

يحرر: أريد أن أفعل هذا برمجيا، بدلا من سطر الأوامر. إعادة توجيه وتحليل الإخراج من "عرض صافي 1.2.3.4" ستعمل، لكنني أبحث بشكل مثالي عن API لهذه الوظيفة.

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

المحلول

وفقا للمستندات هناك NetShareEnum و WNetEnumResource وظيفة.

نصائح أخرى

Net View 1.2.3.4

الدفع http://www.ss64.com/nt/net_share.html.

تحرير: إذا كنت ترغب في القيام بذلك برمجيا، يبدو netshareenum. سوف تعمل.

يبدو أنه يمكنك استخدام WMI للحصول على هذه المعلومات. يفحص هذا المشنور بالنسبة لبعض البرامج التعليمية NeAn PowerShell التي تظهر الآن لاستخدام كائن WMI Win32_Share.

لا تستخدم WMI أبدا (غير مثبت أصلي)
استخدم واجهة برمجة تطبيقات Win32 لتعداد الأسهم، ونشرت ملايين الأوقات على مجموعات Google (Win32)

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