2009-05-22 11 views
2

IP 1.2.3.4のSMBサーバーにアクセスできるとします。使用可能な共有の一覧を確認するにはどうすればよいですか?Win32:サーバー上の利用可能なネットワーク共有を一覧表示するためのAPI呼び出し?

WindowsエクスプローラでUNCパス\\ 1.2.3.4 \を入力したときに実行できますが、コマンドプロンプト "dir \\ 1.2.3.4 \"は失敗します。

通常のFindFirstFile/FindNext呼び出しを試しましたが、これは正常に各共有上のファイルとディレクトリを読み取るために使用しますが、サーバールート上では直接動作しません。

理想的には、私はXP以降で動作するものが必要です。

編集:コマンドラインからではなく、プログラムでこれを実行します。 'net view 1.2.3.4'の出力をリダイレクトして解析することはできますが、理想的にはこのジョブのAPIを探しています。

答えて

4

ネットビュー\\ 1.2.3.4

チェックアウトhttp://www.ss64.com/nt/net_share.html

編集:あなたはプログラムでこれを実行したい場合はNetShareEnumがうまくいくように、それが見えます。

+0

+1投稿:おかげで、それは便利です。私はこれを行うAPIベースの方法を期待していた。 net viewの出力を解析することはできますが... – Roddy

+0

すべての共有(非表示のものを含む)を表示する場合は、net view \\ 1.2.3.4/ALLを使用してください。 –

0

WMIを使用してこの情報を取得できるようです。 Win32_Share WMIオブジェクトを使用するように表示されたPowerShellチュートリアルのいくつかについては、this postを確認してください。

1

WMI(ネイティブにインストールされていない)の株式を列挙する
使用のWin32 APIを使用しないでください、Googleグループに数百万回(Win32の)

+1

WMIはWindows XP以降にもありますので、やり直しを止めてください。 – macbirdie

+0

いいえ、WMIはインターフェイスでもXP上でうまく動作しません。 –

関連する問題