private void InitializeWithoutHandle()
        {
            RG_GetVersion           = LibNativeMethods.RG_GetVersion;
            RG_InitializeLib        = LibNativeMethods.RG_InitializeLib;
            RG_Uninitialize         = LibNativeMethods.RG_Uninitialize;
            RG_CloseResource        = LibNativeMethods.RG_CloseResource;
            RG_FindEndPoints        = LibNativeMethods.RG_FindEndPoints;
            RG_GetFoundEndPointInfo = LibNativeMethods.RG_GetFoundEndPointInfo;

            RG_FindDevices        = LibNativeMethods.RG_FindDevices;
            RG_GetFoundDeviceInfo = LibNativeMethods.RG_GetFoundDeviceInfo;

            RG_InitDevice = LibNativeMethods.RG_InitDevice;
            RG_GetInfo    = LibNativeMethods.RG_GetInfo;
            RG_GetInfoExt = LibNativeMethods.RG_GetInfoExt;
            RG_GetStatus  = LibNativeMethods.RG_GetStatus;

            RG_SetCardsMask          = LibNativeMethods.RG_SetCardsMask;
            RG_ClearProfiles         = LibNativeMethods.RG_ClearProfiles;
            RG_WriteProfile          = LibNativeMethods.RG_WriteProfile;
            RG_WriteCodogramm        = LibNativeMethods.RG_WriteCodogramm;
            RG_StartCodogramm        = LibNativeMethods.RG_StartCodogramm;
            RG_SetControlOutputState = LibNativeMethods.RG_SetControlOutputState;

            RG_ReadBlockDirect = LibNativeMethods.RG_ReadBlockDirect;
        }
        private void InitializeWithHandle(IntPtr libraryHandle)
        {
            RG_GetVersion =
                UnmanagedLibrary.GetDelegateForFunctionPointer <RG_GetVersionDelegate>(
                    UnmanagedLibrary.GetFunctionPointer(libraryHandle, "RG_GetVersion"));

            RG_InitializeLib =
                UnmanagedLibrary.GetDelegateForFunctionPointer <RG_InitializeLibDelegate>(
                    UnmanagedLibrary.GetFunctionPointer(libraryHandle, "RG_InitializeLib"));

            RG_Uninitialize =
                UnmanagedLibrary.GetDelegateForFunctionPointer <RG_UninitializeDelegate>(
                    UnmanagedLibrary.GetFunctionPointer(libraryHandle, "RG_Uninitialize"));

            RG_CloseResource =
                UnmanagedLibrary.GetDelegateForFunctionPointer <RG_CloseResourceDelegate>(
                    UnmanagedLibrary.GetFunctionPointer(libraryHandle, "RG_CloseResource"));

            RG_FindEndPoints =
                UnmanagedLibrary.GetDelegateForFunctionPointer <RG_FindEndPointsDelegate>(
                    UnmanagedLibrary.GetFunctionPointer(libraryHandle, "RG_FindEndPoints"));

            RG_GetFoundEndPointInfo =
                UnmanagedLibrary.GetDelegateForFunctionPointer <RG_GetFoundEndPointInfoDelegate>(
                    UnmanagedLibrary.GetFunctionPointer(libraryHandle, "RG_GetFoundEndPointInfo"));


            RG_FindDevices =
                UnmanagedLibrary.GetDelegateForFunctionPointer <RG_FindDevicesDelegate>(
                    UnmanagedLibrary.GetFunctionPointer(libraryHandle, "RG_FindDevices"));

            RG_GetFoundDeviceInfo =
                UnmanagedLibrary.GetDelegateForFunctionPointer <RG_GetFoundDeviceInfoDelegate>(
                    UnmanagedLibrary.GetFunctionPointer(libraryHandle, "RG_GetFoundDeviceInfo"));

            RG_InitDevice =
                UnmanagedLibrary.GetDelegateForFunctionPointer <RG_InitDeviceDelegate>(
                    UnmanagedLibrary.GetFunctionPointer(libraryHandle, "RG_InitDevice"));

            RG_GetInfo =
                UnmanagedLibrary.GetDelegateForFunctionPointer <RG_GetInfoDelegate>(
                    UnmanagedLibrary.GetFunctionPointer(libraryHandle, "RG_GetInfo"));

            RG_GetInfoExt =
                UnmanagedLibrary.GetDelegateForFunctionPointer <RG_GetInfoExtDelegate>(
                    UnmanagedLibrary.GetFunctionPointer(libraryHandle, "RG_GetInfoExt"));

            RG_GetStatus =
                UnmanagedLibrary.GetDelegateForFunctionPointer <RG_GetStatusDelegate>(
                    UnmanagedLibrary.GetFunctionPointer(libraryHandle, "RG_GetStatus"));

            RG_SetCardsMask =
                UnmanagedLibrary.GetDelegateForFunctionPointer <RG_SetCardsMaskDelegate>(
                    UnmanagedLibrary.GetFunctionPointer(libraryHandle, "RG_SetCardsMask"));

            RG_ClearProfiles =
                UnmanagedLibrary.GetDelegateForFunctionPointer <RG_ClearProfilesDelegate>(
                    UnmanagedLibrary.GetFunctionPointer(libraryHandle, "RG_ClearProfiles"));

            RG_WriteProfile =
                UnmanagedLibrary.GetDelegateForFunctionPointer <RG_WriteProfileDelegate>(
                    UnmanagedLibrary.GetFunctionPointer(libraryHandle, "RG_WriteProfile"));

            RG_WriteCodogramm =
                UnmanagedLibrary.GetDelegateForFunctionPointer <RG_WriteCodogrammDelegate>(
                    UnmanagedLibrary.GetFunctionPointer(libraryHandle, "RG_WriteCodogramm"));

            RG_StartCodogramm =
                UnmanagedLibrary.GetDelegateForFunctionPointer <RG_StartCodogrammDelegate>(
                    UnmanagedLibrary.GetFunctionPointer(libraryHandle, "RG_StartCodogramm"));

            RG_SetControlOutputState =
                UnmanagedLibrary.GetDelegateForFunctionPointer <RG_SetControlOutputStateDelegate>(
                    UnmanagedLibrary.GetFunctionPointer(libraryHandle, "RG_SetControlOutputState"));

            RG_ReadBlockDirect =
                UnmanagedLibrary.GetDelegateForFunctionPointer <RG_ReadBlockDirectDelegate>(
                    UnmanagedLibrary.GetFunctionPointer(libraryHandle, "RG_ReadBlockDirect"));
        }