DLL 関数で変更できる引数の受け渡し

値が DLL 関数によって変更される引数は、ByRef キーワード を使用して宣言する必要があります

この例では、現在のカーソル位置を取得するために、user32.dllGetCursorPos 関数を使用しています。

DLL の宣言:
<Dll( "user32.dll" )> Public Interface IUserDll32Functions
  Function GetCursorPos( ByRef point As Point) As Integer
End Interface
使用法:
Public Sub Main()
  Dim user32Functions As IUserDll32Functions = DllCall.CreateAgentDllCall( Of IUserDll32Functions)()
  Dim point As Point
  user32Functions.GetCursorPos(point)
  MsgBox( "cursor position = (" & point.X & ", " & point.Y & ")" )
End Sub