netapi32.dllを使用して共有情報を取得するには?


りなりな  2015-02-18 15:01:48  No: 143496  IP: 192.*.*.*

netapi32.dllを使用して共有情報を取得したいですが、うまくいきません。
アドバイス下さい。
■環境
Win7
VB2013

■ソース

 Private Declare Function NetShareEnum Lib "netapi32.dll" (ByVal servername As String, _
                                                              ByVal level As Long, _
                                                              ByRef bufptr As Object, _
                                                              ByRef prefmaxlen As Long, _
                                                              ByRef entriesread As Long, _
                                                              ByRef totalentries As Long, _
                                                              ByRef resume_handle As Object) As Long

Public Function ShareEnum502(ByRef lngCount As Long, _
                                 tSI502_VB() As SHARE_INFO_502_VB) As Long
        Dim lngBuffer As Long
        Dim lngMaxLen As Long
        Dim lngEntries As Long
        Dim lngTotal As Long
        Dim lngResume As Long
        
         Dim a() As Byte = System.Text.UnicodeEncoding.Unicode.GetBytes("")
        Dim b As String = System.Text.UnicodeEncoding.Unicode.GetString(a)
         dim strNetShareServer = b
         
        ' 共有資源の列挙
            ShareEnum502 = NetShareEnum(strNetShareServer, _
                                         0, _
                                        lngBuffer, _
                                        lngMaxLen, _
                                        lngEntries, _
                                        lngTotal, _
                                        lngResume)
         

    End Function


■エラー内容
NetShareEnum実行時に例外エラーがでます。
「保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。」

よろしくおねがいします。

編集 削除