tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル UNC取得
投稿日: 2009/07/04(Sat) 15:05
投稿者ISHIDA
WNetGetUniversalName() について質問します。
この関数を使ってローカルPCのUNCを取得しようと試みましたが、どう頑張ってもエラーしか戻ってきません。遂に、関数自体に障害があるのではないかと思い始めました。 どなたか追試験をしてみては頂けないでしょうか? 
いくつか試みた代表的コードを以下に記します。 関数戻り値は常に 2250 です。

Private Declare Function WNetGetUniversalName Lib "mpr" Alias "WNetGetUniversalNameA" _
(ByVal lpLocalPath As String, ByVal dwInfoLevel As Long, lpBuffer As Any, lpBufferSize As Long) As Long

Private Const UNIVERSAL_NAME_INFO_LEVEL = 1
Private Const REMOTE_NAME_INFO_LEVEL = 2
Private Const UNIVERSAL_NAME_BUFFER_SIZE = 1000
Private Const NO_ERROR = 0

Private Type UNIVERSAL_NAME_INFO
    lpUniversalName                         As Long
    buf(UNIVERSAL_NAME_BUFFER_SIZE - 4)     As Byte
End Type

Private Sub cmdGetUniversal_Click()
    Dim BufSize         As Long
    Dim uni             As UNIVERSAL_NAME_INFO
    Dim ss As String
    ss = "C:\ABC\DEF"
    
BufSize = UNIVERSAL_NAME_BUFFER_SIZE
If WNetGetUniversalName(ss, UNIVERSAL_NAME_INFO_LEVEL, uni, BufSize) = NO_ERROR  Then
        StartLoc = uni.lpUniversalName - VarPtr(uni) - 3
        txtUniversal.Text = Mid$(StrConv(uni.buf, vbUnicode), StartLoc)
    Else
        MsgBox "Error: cannot find the universal path of " & ss, vbOKOnly Or vbExclamation, ""
    End If  
End Sub

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。