public NatNetClient(NatNetConnectionType connectionType) { NatNetError retval = NatNetLib.NativeMethods.NatNet_Client_Create(out m_clientHandle, connectionType); NatNetException.ThrowIfNotOK(retval, "NatNet_Client_Create failed."); if (m_clientHandle == IntPtr.Zero) { throw new NatNetException("NatNet_Client_Create returned null handle."); } // This ensures the reverse P/Invoke delegate passed to the native code stays alive. m_nativeFrameReceivedHandler = FrameReceivedNativeThunk; retval = NatNetLib.NativeMethods.NatNet_Client_SetFrameReceivedCallback(m_clientHandle, m_nativeFrameReceivedHandler); NatNetException.ThrowIfNotOK(retval, "NatNet_Client_SetFrameReceivedCallback failed."); }
public static extern NatNetError NatNet_Client_SetFrameReceivedCallback(IntPtr clientHandle, NatNetFrameReceivedCallback pfnDataCallback);