internal void SetInteger(CipherParameterName name, long value) { Interop.CheckNThrowException( Interop.CkmcTypes.ParamListSetInteger( Ptr, (int)name, value), "Failed to add parameter."); }
internal long GetInteger(CipherParameterName name) { long value = 0; Interop.CheckNThrowException( Interop.CkmcTypes.ParamListGetInteger( Ptr, (int)name, out value), "Failed to get parameter."); return(value); }
internal void SetBuffer(CipherParameterName name, byte[] value) { var rawBuff = new Interop.CkmcRawBuffer(new PinnedObject(value), value.Length); IntPtr ptr = Marshal.AllocHGlobal(Marshal.SizeOf(rawBuff)); try { Marshal.StructureToPtr <Interop.CkmcRawBuffer>(rawBuff, ptr, false); Interop.CheckNThrowException( Interop.CkmcTypes.ParamListSetBuffer( Ptr, (int)name, ptr), "Failed to add parameter."); } finally { Marshal.FreeHGlobal(ptr); } }
internal byte[] GetBuffer(CipherParameterName name) { IntPtr ptr = IntPtr.Zero; try { Interop.CheckNThrowException( Interop.CkmcTypes.ParamListGetBuffer( Ptr, (int)name, out ptr), "Failed to get parameter."); return(new SafeRawBufferHandle(ptr).Data); } finally { if (ptr != IntPtr.Zero) { Interop.CkmcTypes.BufferFree(ptr); } } }
internal byte[] GetBuffer(CipherParameterName name) { return(this._handle.GetBuffer(name)); }
internal long GetInteger(CipherParameterName name) { return(this._handle.GetInteger(name)); }
internal void Add(CipherParameterName name, byte[] value) { this._handle.SetBuffer(name, value); }
internal void Add(CipherParameterName name, long value) { this._handle.SetInteger(name, value); }