Net.Pkcs11Interop.LowLevelAPI40.CkmUtils._CreateMechanism C# (CSharp) Method

_CreateMechanism() private static method

Creates mechanism of given type with parameter copied from managed byte array to the newly allocated unmanaged memory
private static _CreateMechanism ( uint mechanism, byte parameter ) : CK_MECHANISM
mechanism uint Mechanism type
parameter byte Mechanism parameter
return CK_MECHANISM
        private static CK_MECHANISM _CreateMechanism(uint mechanism, byte[] parameter)
        {
            CK_MECHANISM mech = new CK_MECHANISM();
            mech.Mechanism = mechanism;
            if ((parameter != null) && (parameter.Length > 0))
            {
                mech.Parameter = UnmanagedMemory.Allocate(parameter.Length);
                UnmanagedMemory.Write(mech.Parameter, parameter);
                mech.ParameterLen = Convert.ToUInt32(parameter.Length);
            }
            else
            {
                mech.Parameter = IntPtr.Zero;
                mech.ParameterLen = 0;
            }

            return mech;
        }