Example #1
0
        public SecBufferDesc(byte[] secBufferBytes)
        {
            ulVersion = (int)SecBufferType.SECBUFFER_VERSION;
            cBuffers  = 1;
            SecBuffer thisSecBuffer = new SecBuffer(secBufferBytes);

            pBuffers = Marshal.AllocHGlobal(Marshal.SizeOf(thisSecBuffer));
            Marshal.StructureToPtr(thisSecBuffer, pBuffers, false);
        }
Example #2
0
        public IntPtr pBuffers; //Point to SecBuffer

        public SecBufferDesc(int bufferSize)
        {
            ulVersion = (int)SecBufferType.SECBUFFER_VERSION;
            cBuffers  = 1;
            SecBuffer secBuffer = new SecBuffer(bufferSize);

            pBuffers = Marshal.AllocHGlobal(Marshal.SizeOf(secBuffer));
            Marshal.StructureToPtr(secBuffer, pBuffers, false);
        }
Example #3
0
        public SecBufferDesc(byte[] secBufferBytes)
        {
            this.ulVersion = 0;
            this.cBuffers  = 1;
            SecBuffer secBuffer = new SecBuffer(secBufferBytes);

            this.pBuffers = Marshal.AllocHGlobal(Marshal.SizeOf(secBuffer));
            Marshal.StructureToPtr(secBuffer, this.pBuffers, false);
        }
Example #4
0
 public void Dispose()
 {
     if (pBuffers != IntPtr.Zero)
     {
         Debug.Assert(cBuffers == 1);
         SecBuffer ThisSecBuffer = Marshal.PtrToStructure <SecBuffer>(pBuffers);
         ThisSecBuffer.Dispose();
         Marshal.FreeHGlobal(pBuffers);
         pBuffers = IntPtr.Zero;
     }
 }
Example #5
0
        public byte[] GetSecBufferByteArray()
        {
            byte[] array = null;
            if (this.pBuffers == IntPtr.Zero)
            {
                throw new InvalidOperationException("Object has already been disposed!!!");
            }
            SecBuffer secBuffer = (SecBuffer)Marshal.PtrToStructure(this.pBuffers, typeof(SecBuffer));

            if (secBuffer.cbBuffer > 0)
            {
                array = new byte[secBuffer.cbBuffer];
                Marshal.Copy(secBuffer.pvBuffer, array, 0, secBuffer.cbBuffer);
            }
            return(array);
        }
Example #6
0
        public byte[] GetSecBufferByteArray()
        {
            byte[] Buffer = null;

            if (pBuffers == IntPtr.Zero)
            {
                throw new InvalidOperationException("Object has already been disposed!!!");
            }
            Debug.Assert(cBuffers == 1);
            SecBuffer secBuffer = Marshal.PtrToStructure <SecBuffer>(pBuffers);

            if (secBuffer.cbBuffer > 0)
            {
                Buffer = new byte[secBuffer.cbBuffer];
                Marshal.Copy(secBuffer.pvBuffer, Buffer, 0, secBuffer.cbBuffer);
            }
            return(Buffer);
        }
 public SecBufferDesc(byte[] secBufferBytes)
 {
   ulVersion = (int)SecBufferType.SECBUFFER_VERSION;
   cBuffers = 1;
   var ThisSecBuffer = new SecBuffer(secBufferBytes);
   pBuffers = Marshal.AllocHGlobal(Marshal.SizeOf(ThisSecBuffer));
   Marshal.StructureToPtr(ThisSecBuffer, pBuffers, false);
 }
    public IntPtr pBuffers; //Point to SecBuffer

    public SecBufferDesc(int bufferSize)
    {
      ulVersion = (int)SecBufferType.SECBUFFER_VERSION;
      cBuffers = 1;
      var secBuffer = new SecBuffer(bufferSize);
      pBuffers = Marshal.AllocHGlobal(Marshal.SizeOf(secBuffer));
      Marshal.StructureToPtr(secBuffer, pBuffers, false);
    }