フォルダを共有する
- 題名: フォルダを共有する
- 著者: はな
- 日時: 2004/11/12 14:38:08
- ID: 7329
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: フォルダを共有する
- 著者: 深山
- 日時: 2004/11/13 1:53:21
- ID: 7342
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: フォルダを共有する
- 著者: はな
- 日時: 2004/11/15 10:06:14
- ID: 7380
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: フォルダを共有する
- 著者: 深山
- 日時: 2004/11/15 13:54:44
- ID: 7386
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: フォルダを共有する
- 著者: はな
- 日時: 2004/11/16 10:06:05
- ID: 7421
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
2004/11/12(Fri) 14:39:59 編集(投稿者)
初心者です。
ファイルの共有をプラグラムでしたいのですが、
ヘルプ等見てもよくわかりません。
いろんなサンプルを見ながら作ったものですが、どなたか分かる方いらっしゃったらよろしくお願いします。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim lngWin32apiResultCode As Long
Dim strServerName As String
Dim gchNetName As GCHandle
Dim gchRemark As GCHandle
Dim gchPath As GCHandle
Dim gchPassword As GCHandle
Dim udtShareInfo2 As SHARE_INFO_2
Dim lngParmErr As Long
Dim strNetName As String
Dim s As Integer
strNetName = TextBox1.Text
'Dim targetEncoding As Encoding = Encoding.Unicode
strServerName = " " '空白でローカルコンピュータ指定
s = AscW(strServerName) 'unicode変換
MsgBox(s)
'targetEncoding = Encoding.GetEncoding(strServerName)
' 共有情報を設定
With udtShareInfo2
' 共有名
gchNetName = GCHandle.Alloc("ShareTest", GCHandleType.Pinned)
.shi2_netname = gchNetName.AddrOfPinnedObject().ToInt32()
' 共有タイプ
.shi2_type = STYPE_DISKTREE
' コメント
gchRemark = GCHandle.Alloc("test", GCHandleType.Pinned)
.shi2_remark = gchRemark.AddrOfPinnedObject().ToInt32()
' 最大ユーザー数
.shi2_max_uses = 1
' 共有フォルダ
gchPath = GCHandle.Alloc("C:\Documents and Settings\jb4\デスクトップ\新しいフォルダ", GCHandleType.Pinned)
.shi2_path = gchPath.AddrOfPinnedObject().ToInt32()
' パスワード
gchPassword = GCHandle.Alloc("hoge", GCHandleType.Pinned)
.shi2_passwd = gchPassword.AddrOfPinnedObject().ToInt32()
End With
' 指定したフォルダを共有
lngWin32apiResultCode = NetShareAdd(strServerName, 2, udtShareInfo2, lngParmErr)
' フォルダの共有に成功したときは
If lngWin32apiResultCode = NERR_Success Then
MsgBox(strNetName & "の共有を追加しました", MsgBoxStyle.Information)
Else
MsgBox(strNetName & "の共有に失敗しました", MsgBoxStyle.Exclamation)
End If
gchNetName.Free()
gchRemark.Free()
gchPath.Free()
gchPassword.Free()
End Sub
毎回lngWin32apiResultCodeの値が124となって失敗しています。
なせでしょうか?