Code:
Dim bt() As Byte
ReDim bt((MAX_PATH * 2 + 1) + LenB(tn))
lRet = WNetGetUniversalNameW(StrPtr("L:\"), UNIVERSAL_NAME_INFO_LEVEL, bt(0), UBound(bt) + 1)
If lRet = 0 Then
    CopyMemory tn, bt(0), LenB(tn)
    Dim sPath As String
    sPath = PointerToStringW(tn.lpUniversalName)
    Debug.Print sPath
End If
The latest version of checkname ran but sPath appears to be a truncated version of the share's UNC path.

The Immediate window showed "\\LS21" rather than "\\LS210D8A8\Share".

I spent a good while trying to debug why it was being truncated, I looked at the MS documentation for the function, checked PointerToStringW, examined the contents of the byte array, and borrowed ideas from Dilettante's implementation. But still get a truncated version of the full UNC path.

I'll play with WNetGetConnection now and see if I get better results.