private void InitializeWithGetFunctionList()
{
IntPtr functionList = IntPtr.Zero;
CKR rv = (CKR)Convert.ToUInt32(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);
}