437 {
439 {
441 }
442 global::Interop.SspiCli.SecBufferDesc inputBuffers = new global::Interop.SspiCli.SecBufferDesc(1);
443 int result = -2146893055;
444 global::Interop.SspiCli.SecBuffer secBuffer = default(global::Interop.SspiCli.SecBuffer);
445 inputBuffers.pBuffers = &secBuffer;
446 fixed (byte* ptr = inSecBuffer.token)
447 {
448 secBuffer.cbBuffer = inSecBuffer.size;
449 secBuffer.BufferType = inSecBuffer.type;
450 secBuffer.pvBuffer = ((inSecBuffer.unmanagedToken !=
null) ? inSecBuffer.unmanagedToken.DangerousGetHandle() : ((inSecBuffer.token ==
null || inSecBuffer.token.Length == 0) ?
IntPtr.Zero : ((
IntPtr)(ptr + inSecBuffer.
offset))));
451 global::Interop.SspiCli.CredHandle credHandle = ((refContext !=
null) ? refContext._handle : default(global::
Interop.SspiCli.CredHandle));
452 if ((refContext == null || refContext.IsInvalid) && credHandle.IsZero)
453 {
454 refContext = new SafeDeleteSslContext();
455 }
456 bool success = false;
457 try
458 {
459 refContext.DangerousAddRef(ref success);
460 result = global::Interop.SspiCli.CompleteAuthToken(credHandle.IsZero ? null : (&credHandle), ref inputBuffers);
461 }
462 finally
463 {
464 if (success)
465 {
466 refContext.DangerousRelease();
467 }
468 }
469 }
470 return result;
471 }
static readonly System.Net.NetEventSource Log
static void Info(object thisOrContextObject, FormattableString formattableString=null, [CallerMemberName] string memberName=null)