I'm converting some C++ code to VB.

I don't understand how part of this declaration works:
#ifndef IGBOOL
#ifdef __WIN32
typedef int IGBOOL;
#else
typedef long IGBOOL;
#endif
#endif

struct NotifyCallbackRecord{
IGBOOL Message; /* The message ID for the notification */
IGBOOL DataStatus; /* The status of the data attached to the notification */
char Data; /* The address of the data attached to the notification */
};

The type IGBOOL is defined as an INT.

I understand that an INT in C++ equals a LONG in VB.

But how can a CHAR be an address?
Isn't a CHAR a single byte?

I need to convert this to VB.

Anyone? Anyone?