public unsafe int QueryContextChannelBinding(SafeDeleteContext phContext, ContextAttribute attribute, out SafeFreeContextBufferChannelBinding refHandle) { refHandle = SafeFreeContextBufferChannelBinding.CreateEmptyHandle(Library); Bindings buffer = new Bindings(); return(SafeFreeContextBufferChannelBinding.QueryContextChannelBinding(Library, phContext, attribute, &buffer, refHandle)); }
public unsafe int QueryContextChannelBinding(SafeDeleteContext phContext, Interop.SspiCli.ContextAttribute attribute, out SafeFreeContextBufferChannelBinding refHandle) { refHandle = SafeFreeContextBufferChannelBinding.CreateEmptyHandle(); // Bindings is on the stack, so there's no need for a fixed block. SecPkgContext_Bindings bindings = new SecPkgContext_Bindings(); return(SafeFreeContextBufferChannelBinding.QueryContextChannelBinding(phContext, attribute, &bindings, refHandle)); }
public unsafe int QueryContextChannelBinding(SafeDeleteContext phContext, ContextAttribute attribute, out SafeFreeContextBufferChannelBinding refHandle) { refHandle = SafeFreeContextBufferChannelBinding.CreateEmptyHandle(Library); // bindings is on the stack, so there's no need for a fixed block Bindings bindings = new Bindings(); return(SafeFreeContextBufferChannelBinding.QueryContextChannelBinding(Library, phContext, attribute, &bindings, refHandle)); }
public static unsafe int QueryContextChannelBinding(SecurDll dll, SafeDeleteContext phContext, ContextAttribute contextAttribute, Bindings* buffer, SafeFreeContextBufferChannelBinding refHandle) { switch (dll) { case SecurDll.SECURITY: return QueryContextChannelBinding_SECURITY(phContext, contextAttribute, buffer, refHandle); case SecurDll.SECUR32: return QueryContextChannelBinding_SECUR32(phContext, contextAttribute, buffer, refHandle); case SecurDll.SCHANNEL: return QueryContextChannelBinding_SCHANNEL(phContext, contextAttribute, buffer, refHandle); } return -1; }
public unsafe int QueryContextChannelBinding(SafeDeleteContext phContext, ChannelBindingKind attribute, out SafeFreeContextBufferChannelBinding refHandle) { refHandle = SafeFreeContextBufferChannelBinding.CreateEmptyHandle(); // Bindings is on the stack, so there's no need for a fixed block. Bindings bindings = new Bindings(); int errorCode = SafeFreeContextBufferChannelBinding.QueryContextChannelBinding(phContext, (Interop.Secur32.ContextAttribute)attribute, &bindings, refHandle); if (errorCode != 0) { GlobalLog.Leave("QueryContextChannelBinding", "ERROR = " + ErrorDescription(errorCode)); refHandle = null; } return(errorCode); }
private static unsafe int QueryContextChannelBinding_SCHANNEL(SafeDeleteContext phContext, ContextAttribute contextAttribute, Bindings* buffer, SafeFreeContextBufferChannelBinding refHandle) { int num = -2146893055; bool success = false; RuntimeHelpers.PrepareConstrainedRegions(); try { phContext.DangerousAddRef(ref success); } catch (Exception exception) { if (success) { phContext.DangerousRelease(); success = false; } if (!(exception is ObjectDisposedException)) { throw; } } finally { if (success) { num = UnsafeNclNativeMethods.SafeNetHandles_SCHANNEL.QueryContextAttributesA(ref phContext._handle, contextAttribute, (void*) buffer); phContext.DangerousRelease(); } if ((num == 0) && (refHandle != null)) { refHandle.Set(buffer.pBindings); refHandle.size = buffer.BindingsLength; } if ((num != 0) && (refHandle != null)) { refHandle.SetHandleAsInvalid(); } } return num; }
public int QueryContextChannelBinding(SafeDeleteContext context, Interop.SspiCli.ContextAttribute attribute, out SafeFreeContextBufferChannelBinding binding) { // Querying an auth SSP for a CBT is not supported. throw new NotSupportedException(); }
public int QueryContextChannelBinding(SafeDeleteContext phContext, ChannelBindingKind attribute, out SafeFreeContextBufferChannelBinding refHandle) { // TODO (Issue #3362) To be implemented throw NotImplemented.ByDesignWithMessage(SR.net_MethodNotImplementedException); }
private unsafe static int QueryContextChannelBinding_SECURITY(SafeDeleteContext phContext, ContextAttribute contextAttribute, Bindings* buffer, SafeFreeContextBufferChannelBinding refHandle) { int status = (int)SecurityStatus.InvalidHandle; bool b = false; // We don't want to be interrupted by thread abort exceptions or unexpected out-of-memory errors failing to jit // one of the following methods. So run within a CER non-interruptible block. RuntimeHelpers.PrepareConstrainedRegions(); try { phContext.DangerousAddRef(ref b); } catch(Exception e) { if (b) { phContext.DangerousRelease(); b = false; } if (!(e is ObjectDisposedException)) throw; } finally { if (b) { status = UnsafeNclNativeMethods.SafeNetHandles_SECURITY.QueryContextAttributesW(ref phContext._handle, contextAttribute, buffer); phContext.DangerousRelease(); } if (status == 0 && refHandle != null) { refHandle.Set((*buffer).pBindings); refHandle.size = (*buffer).BindingsLength; } if (status != 0 && refHandle != null) { refHandle.SetHandleAsInvalid(); } } return status; }
public int QueryContextChannelBinding(SafeDeleteContext context, ContextAttribute attribute, out SafeFreeContextBufferChannelBinding binding) { // Querying an auth SSP for a CBT doesn't make sense binding = null; throw new NotSupportedException(); }
public int QueryContextChannelBinding(SafeDeleteContext context, ContextAttribute attribute, out SafeFreeContextBufferChannelBinding binding) { // Querying an auth SSP for a CBT doesn't make sense binding = null; throw new NotSupportedException(); }
public unsafe int QueryContextChannelBinding(SafeDeleteContext phContext, ContextAttribute attribute, out SafeFreeContextBufferChannelBinding refHandle) { refHandle = SafeFreeContextBufferChannelBinding.CreateEmptyHandle(Library); // bindings is on the stack, so there's no need for a fixed block Bindings bindings = new Bindings(); return SafeFreeContextBufferChannelBinding.QueryContextChannelBinding(Library, phContext, attribute, &bindings, refHandle); }
private static unsafe int QueryContextChannelBinding_SECUR32(SafeDeleteContext phContext, ContextAttribute contextAttribute, Bindings *buffer, SafeFreeContextBufferChannelBinding refHandle) { int num = -2146893055; bool success = false; RuntimeHelpers.PrepareConstrainedRegions(); try { phContext.DangerousAddRef(ref success); } catch (Exception exception) { if (success) { phContext.DangerousRelease(); success = false; } if (!(exception is ObjectDisposedException)) { throw; } } finally { if (success) { num = UnsafeNclNativeMethods.SafeNetHandles_SECUR32.QueryContextAttributesA(ref phContext._handle, contextAttribute, (void *)buffer); phContext.DangerousRelease(); } if ((num == 0) && (refHandle != null)) { refHandle.Set(buffer.pBindings); refHandle.size = buffer.BindingsLength; } if ((num != 0) && (refHandle != null)) { refHandle.SetHandleAsInvalid(); } } return(num); }
public static unsafe int QueryContextChannelBinding(SecurDll dll, SafeDeleteContext phContext, ContextAttribute contextAttribute, Bindings *buffer, SafeFreeContextBufferChannelBinding refHandle) { switch (dll) { case SecurDll.SECURITY: return(QueryContextChannelBinding_SECURITY(phContext, contextAttribute, buffer, refHandle)); case SecurDll.SECUR32: return(QueryContextChannelBinding_SECUR32(phContext, contextAttribute, buffer, refHandle)); case SecurDll.SCHANNEL: return(QueryContextChannelBinding_SCHANNEL(phContext, contextAttribute, buffer, refHandle)); } return(-1); }
public int QueryContextChannelBinding(SafeDeleteContext context, ContextAttribute attribute, out SafeFreeContextBufferChannelBinding binding) { binding = null; throw new NotSupportedException(); }
public int QueryContextChannelBinding(SafeDeleteContext context, ContextAttribute attribute, out SafeFreeContextBufferChannelBinding binding) { binding = null; throw new NotSupportedException(); }