Win32: llamadas a la API para enumerar recursos compartidos de red disponibles en el servidor?

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

Pregunta

Supongamos que tengo acceso a un servidor SMB en IP 1.2.3.4, ¿cómo puedo determinar la lista de acciones disponibles?

Explorador de Windows puede hacerlo cuando entro en una ruta UNC \\ 1.2.3.4 \! - pero Símbolo del sistema "dir \\ 1.2.3.4 \" falla

He intentado la FindFirstFile habitual / FindNext llama -. Que utilizo con éxito para leer los archivos y directorios en cada acción, pero no trabajan directamente en la raíz del servidor

Lo ideal es que necesito algo que funciona para XP en adelante.

Editar Quiero hacer esto mediante programación, en lugar de desde la línea de comandos. La reorientación y analizar la salida de 'net view 1.2.3.4' funcionaría, pero estoy idealmente en busca de una API para este trabajo.

¿Fue útil?

Solución

De acuerdo con la documentación que hay una NetShareEnum y una WNetEnumResource función.

Otros consejos

net view \\ 1.2.3.4

http://www.ss64.com/nt/net_share.html

Edit: Si usted quiere hacer esto mediante programación, se ve como NetShareEnum funcionaría.

Parece que puede utilizar WMI para obtener esta información. Compruebe este post para algunos tutoriales PowerShell ordenadas que muestran ahora a utilizar el Win32_Share WMI objeto.

Nunca utilizar WMI (no se instala de forma nativa)
Usar Win32 API para enumerar acciones, publicado millones de veces en Google Groups (Win32)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top