It's not directly possible to dereference a variable in Visual Basic, but you can do a workaround with the help of the api-function "rtlmovememory" (copymemory). This function makes it possible to copy the data of the variable when only having its adress (varptr-function in VB; some api-functions only return pointers to datastructs). Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _ (hpvDest As Any, ByVal hpvSource As Long, ByVal cbCopy As Long) This function copies the value of a variable into another variable of the same size (hpvDest). The second parameter takes the adress of the sourcevariable. The third parameter takes the size of the variable. I think there is an example of this technique in the Knowledge Base... "HOWTO: Call NetUserGetInfo API from Visual Basic" Article ID: Q151774