private void InitializeWithGetFunctionList()
{
IntPtr functionList = IntPtr.Zero;
CKR rv = (CKR)NativeMethods.C_GetFunctionList(out functionList);
if ((rv != CKR.CKR_OK) || (functionList == IntPtr.Zero))
throw new Pkcs11Exception("C_GetFunctionList", rv);
CK_FUNCTION_LIST ckFunctionList = (CK_FUNCTION_LIST)UnmanagedMemory.Read(functionList, typeof(CK_FUNCTION_LIST));
Initialize(ckFunctionList);
}