Win32: API appelle à la liste des partages réseau disponibles sur un serveur?
-
23-08-2019 - |
Question
Supposons que j'ai accès à un serveur SMB à IP 1.2.3.4, comment puis-je déterminer la liste des actions disponibles?
Explorateur Windows peut le faire quand j'entrer dans un chemin UNC \\ 1.2.3.4 \ - mais invite de commande "dir \\ 1.2.3.4 \" échoue
Je l'ai essayé le FindFirstFile / FindNext appelle d'habitude -. Que j'utiliser pour lire correctement les fichiers et répertoires sur chaque action, mais ils ne travaillent pas directement sur la racine du serveur
Idéalement, je besoin de quelque chose qui fonctionne pour XP partir.
Modifier Je veux faire programatically, plutôt que de la ligne de commande. Redirigeant et analyse de la sortie de « vue nette 1.2.3.4 » fonctionnerait, mais je suis à la recherche idéal pour une API pour ce travail.
La solution
D'après les documents, il y a un NetShareEnum
et une fonction WNetEnumResource
.
Autres conseils
net view \\ 1.2.3.4
Consultez http://www.ss64.com/nt/net_share.html
Edit: Si vous voulez faire ce programme, il ressemble à NetShareEnum fonctionnerait.
Il semble que vous pouvez utiliser WMI pour obtenir ces informations. Consultez ce poste pour quelques tutoriels PowerShell soignées qui montrent maintenant d'utiliser le Win32_Share WMI objet.
Ne jamais utiliser WMI (non installé en mode natif)
Utilisez Win32 api d'énumérer les actions, a affiché des millions de fois sur les groupes Google (win32)