public class WmiQueryHandler extends Object
WmiQueryHandler class.
Constructor and Description |
---|
WmiQueryHandler() |
Modifier and Type | Method and Description |
---|---|
static WmiQueryHandler |
createInstance()
Factory method to create an instance of this class.
|
int |
getComThreading()
Returns the current threading model for COM initialization, as OSHI is
required to match if an external program has COM initialized already.
|
int |
getWmiTimeout()
Gets the current WMI timeout.
|
protected void |
handleComException(com.sun.jna.platform.win32.COM.WbemcliUtil.WmiQuery<?> query,
com.sun.jna.platform.win32.COM.COMException ex)
handleComException.
|
boolean |
initCOM()
Initializes COM library and sets security to impersonate the local user
|
protected boolean |
initCOM(int coInitThreading)
initCOM.
|
boolean |
isSecurityInitialized()
Security only needs to be initialized once.
|
<T extends Enum<T>> |
queryWMI(com.sun.jna.platform.win32.COM.WbemcliUtil.WmiQuery<T> query)
Query WMI for values, with no timeout.
|
static void |
setInstanceClass(Class<? extends WmiQueryHandler> instanceClass)
Define a subclass to be instantiated by
createInstance() . |
void |
setWmiTimeout(int wmiTimeout)
Sets the WMI timeout.
|
int |
switchComThreading()
Switches the current threading model for COM initialization, as OSHI is
required to match if an external program has COM initialized already.
|
void |
unInitCOM()
UnInitializes COM library.
|
public static WmiQueryHandler createInstance()
setInstanceClass(Class)
to define a sublcass which extends
WmiQueryHandler
.setInstanceClass(Class)
public static void setInstanceClass(Class<? extends WmiQueryHandler> instanceClass)
createInstance()
. The class
must extend WmiQueryHandler
.instanceClass
- The class to instantiate with createInstance()
.public <T extends Enum<T>> com.sun.jna.platform.win32.COM.WbemcliUtil.WmiResult<T> queryWMI(com.sun.jna.platform.win32.COM.WbemcliUtil.WmiQuery<T> query)
T
- WMI queries use an Enum to identify the fields to query, and use
the enum values as keys to retrieve the results.query
- A WmiQuery object encapsulating the namespace, class, and
propertiesprotected void handleComException(com.sun.jna.platform.win32.COM.WbemcliUtil.WmiQuery<?> query, com.sun.jna.platform.win32.COM.COMException ex)
handleComException.
query
- a WbemcliUtil.WmiQuery
object.ex
- a COMException
object.public boolean initCOM()
protected boolean initCOM(int coInitThreading)
initCOM.
coInitThreading
- a int.public void unInitCOM()
public int getComThreading()
public int switchComThreading()
public boolean isSecurityInitialized()
public int getWmiTimeout()
public void setWmiTimeout(int wmiTimeout)
wmiTimeout
- The wmiTimeout to set, in milliseconds. To disable timeouts, set
timeout as -1 (infinite).Copyright © 2010–2020 oshi. All rights reserved.