This section contains information specific to the Windows product.

 
/*gpibvxil.c
  This example program uses the low level functions to
  read the id and device type registers of the device 
  at GPIB-VXI0::24.  Change this address if necessary.
  The register contents are then displayed.*/
 
#include <visa.h>
#include <stdlib.h>
#include <stdio.h>
 
void main () {
 
  ViSession defaultRM, dmm;
  ViAddr address;
  unsigned short id_reg, devtype_reg;
 
  /* Open session to VXI device at address 24 */
  viOpenDefaultRM (&defaultRM);
  viOpen (defaultRM, "GPIB-VXI0::24::INSTR", VI_NULL,VI_NULL, &dmm);
 
  /* Map into memory space */
  viMapAddress (dmm, VI_A16_SPACE, 0x00, 0x10, VI_FALSE, VI_NULL, &address);
 
  /* Read instrument id register contents */
  viPeek16 (dmm, address, &id_reg); 
 
  /* Read device type register contents */
  /* ViAddr is defined as a void * so we must cast it to something else */
  /* in order to do pointer arithmetic */
  viPeek16 (dmm, (ViAddr)((ViUInt16 *)address + 0x01), &devtype_reg);
  
  /* Unmap memory space */
  viUnmapAddress (dmm);
 
  /* Print results */
  printf ("ID Register = 0x%4X\n", id_reg);
  printf ("Device Type Register = 0x%4X\n", devtype_reg);
 
  /* Close sessions */
  viClose (dmm);
  viClose (defaultRM);
}