The Globals structure contains various functions to operate on handles, functions to obtain handles to the Poly/ML application and window and a function to get error information.
structure Globals :
  sig
    type 'a HANDLE
    type HINSTANCE
    type HWND
    val hNull : 'a HANDLE
    val handleOfInt : int -> 'a HANDLE
    val intOfHandle : 'a HANDLE -> int
    val isHNull : 'a HANDLE -> bool
    val ApplicationInstance : unit -> HINSTANCE
    val GetLastError : unit -> OS.syserror
    val MainWindow : unit -> HWND
  end
type 'a HANDLE
hNull : 'a HANDLE
handleOfInt(i): 'a HANDLE
intOfHandle(h): int
isHNull(h): bool
ML Extension: All handles, such as HWND and HBITMAP, are instances of the
'a HANDLE type. Generally the Windows functions which can take NULL as a valid argument or
return NULL as a valid result take option types.  Occasionally it may be necessary to
pass NULL in other circumstances in which case hNull can be used in ML.  There are
also a few occasions where a handle has to be cast to or from int.  handleOfInt and
intOfHandle can be used for this.
ApplicationInstance(): HINSTANCE
ML Extension: Returns the application instance handle passed in to the
WinMain function when Poly/ML was started.
MainWindow(): HWND
ML Extension: Returns the handle to the Poly/ML window.
GetLastError(): OS.syserror
Returns the error code for the last function call.  Generally when a function fails
an exception is raised including the last error as part of the exception packet.