Hey folks,
i have a library exporting the following function:
i'm able to call the function, but the outKey and outVal are never set. However, when i use my debugger to step into the C++ library, the strcpy's are properly done, and i can see the outKey and outVal buffers being written.
i have tried so many different ways to call the function, i can't seem to find the right one. Basically, when doing this:
The output i get is filled with spaces (From the Space(64) and Space(512) assignations), it looks like my buffers never change.
What am i doing wrong?
Thanks,
Pierre.
i have a library exporting the following function:
Code:
void SCDocumentString (void *scHandle, uint32 docId, uint32 offset, uint8 *outKey, uint8 *outVal)Code:
<DllImport("SCLibrary.dll", CallingConvention:=CallingConvention.StdCall)> _
Private Function SCDocumentString(ByVal scHandle As UIntPtr, ByVal docId As UInt32, ByVal offset As UInt32, ByVal outKey As String, ByVal outVal As String) As Long
End Functioni have tried so many different ways to call the function, i can't seem to find the right one. Basically, when doing this:
Code:
Dim key = Space(64)
Dim val = Space(512)
If (stringCount>0)
For i As UInt32=0 To stringCount-1
SCDocumentString(scHandle, docId, i, key, val)
Console.WriteLine(" {0}: {1}", New String(key), New String(val))
Next
End IfWhat am i doing wrong?
Thanks,
Pierre.