0

.h ファイルには、次の署名が含まれています。

typedef void (RTMP_LogCallback)(int level, const char *fmt, va_list);
void RTMP_LogSetCallback(RTMP_LogCallback *cb);

VB.NET アプリケーションで使用したいので、次の方法を試しました。

<DllImport("librtmp.dll", CallingConvention:=CallingConvention.Cdecl)>
Public Shared Sub RTMP_LogSetCallback(cb As LogCallback)
End Sub

<UnmanagedFunctionPointer(CallingConvention.Cdecl)>
Public Delegate Sub LogCallback(level As LogLevel, message As String, args As IntPtr)

...

Private m_LogCallback As New LibRtmp.LogCallback(AddressOf LogCallback)
Private Sub LogCallback(lvl As LibRtmp.LogLevel, message As String, args As IntPtr)
    Console.WriteLine(message)
End Sub

args引数配列ポインターと思われる整数が含まれています。

その配列から値を取得するにはどうすればよいですか?

4

0 に答える 0