public SecStatusCode Evaluate(DispatchQueue queue, SecTrustCallback handler) { // headers have `dispatch_queue_t _Nullable queue` but it crashes... don't trust headers, even for SecTrust if (queue == null) { throw new ArgumentNullException(nameof(queue)); } if (handler == null) { throw new ArgumentNullException(nameof(handler)); } BlockLiteral block_handler = new BlockLiteral(); try { block_handler.SetupBlockUnsafe(evaluate, handler); return(SecTrustEvaluateAsync(Handle, queue.Handle, ref block_handler)); } finally { block_handler.CleanupBlock(); } }
extern static SecStatusCode /* OSStatus */ SecTrustEvaluateAsync(IntPtr /* SecTrustRef */ trust, IntPtr /* dispatch_queue_t */ queue, SecTrustCallback result);
static extern SecStatusCode SecTrustEvaluateAsync(IntPtr /* SecTrustRef */ trust, IntPtr /* dispatch_queue_t */ queue, SecTrustCallback result);