Package com.sun.jna.platform.mac

## Class IOKit.IOObject

- java.lang.Object
- - com.sun.jna.PointerType
  - - com.sun.jna.platform.mac.IOKit.IOObject

- All Implemented Interfaces:
    `NativeMapped`
  Direct Known Subclasses:
    `IOKit.IOIterator`, `IOKit.IORegistryEntry`
  Enclosing interface:
    IOKit

      public static class IOKit.IOObject
      extends PointerType

  IOKitLib implements non-kernel task access to common IOKit object types - IORegistryEntry, IOService, IOIterator etc. These functions are generic - families may provide API that is more specific.

  IOKitLib represents IOKit objects outside the kernel with the types io_object_t, io_registry_entry_t, io_service_t, and io_connect_t. Function names usually begin with the type of object they are compatible with - e.g., IOObjectRelease can be used with any io_object_t. Inside the kernel, the c++ class hierarchy allows the subclasses of each object type to receive the same requests from user level clients, for example in the kernel, IOService is a subclass of IORegistryEntry, which means any of the IORegistryEntryXXX functions in IOKitLib may be used with io_service_t's as well as io_registry_t's. There are functions available to introspect the class of the kernel object which any io_object_t et al. represents. IOKit objects returned by all functions should be released with `IOKit.IOObjectRelease(com.sun.jna.platform.mac.IOKit.IOObject)`.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `IOObject()` |
    `IOObject​(Pointer p)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `conformsTo​(java.lang.String className)` | Convenience method for `IOKit.IOObjectConformsTo(com.sun.jna.platform.mac.IOKit.IOObject, java.lang.String)` on this object.
    `int` | `release()` | Convenience method for `IOKit.IOObjectRelease(com.sun.jna.platform.mac.IOKit.IOObject)` on this object.

    - ### Methods inherited from class com.sun.jna.PointerType

      `equals, fromNative, getPointer, hashCode, nativeType, setPointer, toNative, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### IOObject

          public IOObject()

    - #### IOObject

          public IOObject​(Pointer p)

  - ### Method Detail

    - #### conformsTo

          public boolean conformsTo​(java.lang.String className)

      Convenience method for `IOKit.IOObjectConformsTo(com.sun.jna.platform.mac.IOKit.IOObject, java.lang.String)` on this object.
      Parameters:
        `className` - The name of the class.
      Returns:
        If the object handle is valid, and represents an object in the kernel that dynamic casts to the class true is returned, otherwise false.

    - #### release

          public int release()

      Convenience method for `IOKit.IOObjectRelease(com.sun.jna.platform.mac.IOKit.IOObject)` on this object.
      Returns:
        0 if successful, otherwise a `kern_return_t` error code.