internal void ThrowExceptionIfNeeded() { if (!Library.mongocrypt_status_ok(_handle)) { var errorType = Library.mongocrypt_status_type(_handle); var statusCode = Library.mongocrypt_status_code(_handle); uint length; IntPtr msgPtr = Library.mongocrypt_status_message(_handle, out length); var message = Marshal.PtrToStringAnsi(msgPtr); throw new CryptException(errorType, statusCode, message); } }