كيف يمكنني العثور على عنوان IP لمحرك الشبكة المعين في C ++؟

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

سؤال

لدي قائمة بالمسارات الممكنة لاستخدامها في دليل بيانات الإدخال الافتراضي (x: data ؛ y: data ؛ z: data). جميع المسارات المحتملة هي محركات أقراص الشبكة. يمكنني التحقق من هذا باستخدام GetDriveType(pathStr) == DRIVE_REMOTE. لتحديد الأفضل ، قمت بتضييق القائمة من خلال تحديد المسارات الموجودة فقط. في بعض الأحيان يكون هناك أكثر من مسار واحد في القائمة ، لذا لتحديد أفضل مسار في تلك المرحلة ، أريد أن أجد عنوان IP للخادم الذي يتم تعيين محرك الأقراص إليه ، حتى أتمكن من مقارنته بعنوان IP الخاص بي . على سبيل المثال ، إذا كان لدي X:\ تعيين ل \\RemoteComputer\ShareName, ، كيف يمكنني معرفة ذلك من السلسلة X:\Data إما اسم أو عنوان IP لـ RemoteComputer؟ (لدي بالفعل القدرة على العثور على عنوان IP من اسم الكمبيوتر).

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

المحلول

WNetGetUniversalName هو احتمال واحد.

نصائح أخرى

ضع في اعتبارك ، هذا ليس الكل (لكن الغالبية العظمى) من مسارات UNC تبدأ باسم الكمبيوتر. البعض مثل WebDav ، هو FQDN - البعض الآخر مثل TS Remoting (أي tsclient c) ليست آلة على الإطلاق ، مجرد رمز تعترف به RDBSS.

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