### IPointerHandle

  The IPointerHandle class accesses and manages pointer resources for a pointing device, such as a mouse. IPointerHandle objects manage pointer resources through reference counting. Reference counting allows the system to use one bitmap--a pointer is a type of bitmap--in multiple places, and the library maintains the lifetime of this bitmap until all users are finished with it.

#### AIX Considerations

  Use IPointerHandle in system calls where the X Toolkit type Pixmap is required.

#### OS/2 Considerations

  Use IPointerHandle in system calls where the OS/2 Programmer's Toolkit type HPOINTER is required.

#### Windows Considerations

  Use IPointerHandle in system calls where the Win32 Programmer's Toolkit types HICON or HCURSOR are required.

### IPointerHandle - Member Functions and Data by Group

### Constructors & Destructor

Use the constructors and destructor in this group to construct, destroy, and copy objects of this class. The copy constructor and destructor track references to the associated pointer resource.

~IPointerHandle

      public:
      ~IPointerHandle()

  Destroys an object of class IPointerHandle.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

IPointerHandle
  This constructor creates an IPointerHandle object.

  Overload 1
  Copy constructor.

      public:
      IPointerHandle(const IPointerHandle& aHandle)

  Use this constructor to create an object of this class that is copied from the given one.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

  Overload 2

      public:
      IPointerHandle(Value value = 0)

  Use this constructor to create an object of this class from a pointer handle (a value of type IPointerHandle::Value), which defaults to 0.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Assignment Operator

Use the operator in this group to assign the given pointer handle to the storage space of the source one.

operator =

      public:
      IPointerHandle& operator =(const IPointerHandle& aHandle)

  Assigns the value of one pointer handle to another.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Diagnostics

Use the functions in this group to obtain diagnostic information.

asDebugInfo

      public:
      IString asDebugInfo() const

  This function returns the handle as a string containing diagnostic information.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

asString

      public:
      IString asString() const

  This function returns the handle as a string of form nnnn.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

asUnsigned

      public:
      unsigned long asUnsigned() const

  This function returns the handle value as an unsigned long value.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

fhandle

      protected:
      Value fhandle

  The value of the pointer to the pointer handle.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Type Conversions

Use the type conversion operator in this group to convert objects of this class to a different type.

operator Value

      public:
      operator Value() const

  This function returns the handle as its operating system dependent type. Use this operator when you use the handle object as an argument to an operating system function.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### IPointerHandle - Type Definitions

Value

      typedef void * Value

  Variation 1

      typedef void * Value

Supported Platforms

  Windows | OS/2 | AIX
  Yes | No | No

  Variation 2

      typedef unsigned long Value

Supported Platforms

  Windows | OS/2 | AIX
  No | Yes | No

### IPointerHandle - Inherited Member Functions and Data

#### Inherited Public Functions

  - None

#### Inherited Public Data

  - None

#### Inherited Protected Functions

  - None

#### Inherited Protected Data

  - None