Declare Function StringFromCLSID Lib "ole32" (ByRef rclsid As GUID, ByRef ppsz As Long) As Long
Declare Sub CoTaskMemFree Lib "ole32" (ByVal pv As Long)
Declare Sub RtlMoveMemory Lib "kernel32" (Destination As Any, Source As Any, ByVal Length As Long)
Function StrFromCLSID(ByRef wGuid As GUID) As String
Dim vPtr As Long
StrFromCLSID = String(38, 0)
StringFromCLSID wGuid, vPtr
RtlMoveMemory ByVal StrPtr(StrFromCLSID), ByVal vPtr, LenB(StrFromCLSID)
CoTaskMemFree vPtr
End Function