368 Keysight Signal Generators Programming Guide
Creating and Downloading User–Data Files 
Save and Recall Instrument State Files 
// The Keysight VISA library must be installed on your computer for this example to run.
// Important: Replace the visaOpenString with the IP address for your signal generator. 
//
//****************************************************************************************
using System;
using System.IO;
using System.Text;
using System.Runtime.InteropServices;
using System.Collections;
using System.Text.RegularExpressions;
namespace State_Files
{
    class MainApp
    {
        // Replace the visaOpenString variable with your instrument's address.
        static public string visaOpenString = "TCPIP0::000.000.000.000"; //"GPIB0::19";
      //"TCPIP0::ESG3::INSTR";
public const uint DEFAULT_TIMEOUT = 30 * 1000;// Instrument timeout 30 seconds.
public const int MAX_READ_DEVICE_STRING = 1024; // Buffer for string data reads.
public const int TRANSFER_BLOCK_SIZE = 4096;// Buffer for byte data.
        // The main entry point for the application.
        [STAThread]
static void Main(string[] args)
        {
 
    uint defaultRM;// Open the default VISA resource manager
if (VisaInterop.OpenDefaultRM(out defaultRM) == 0) // If no errors, proceed.
{
uint device;
// Open the specified VISA device: the signal generator 
if (VisaInterop.Open(defaultRM, visaOpenString,VisaAccessMode.NoLock,
DEFAULT_TIMEOUT, out device) == 0) 
// if no errors proceed.
{