/// <summary> /// Internal proxy function that calls any registered application log /// event handlers. /// /// WARNING: This method is used more-or-less directly by native code, /// do not modify its type signature. /// </summary> /// <param name="pUserData"> /// The extra data associated with this message, if any. /// </param> /// <param name="errorCode"> /// The error code associated with this message. /// </param> /// <param name="pMessage"> /// The message string to be logged. /// </param> private static void LogCallback( IntPtr pUserData, int errorCode, IntPtr pMessage ) { bool enabled; SQLiteLogEventHandler handlers; lock (syncRoot) { enabled = _enabled; if (_handlers != null) { handlers = _handlers.Clone() as SQLiteLogEventHandler; } else { handlers = null; } } if (enabled && (handlers != null)) { handlers(null, new LogEventArgs(pUserData, errorCode, SQLiteBase.UTF8ToString(pMessage, -1), null)); } }