cim

package
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 3, 2020 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const S_FALSE = 0x00000001

Variables

View Source
var IID_ISWbemLocator = &ole.GUID{0x76a6415b, 0xcb41, 0x11d1, [8]byte{0x8b, 0x02, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6}}

Functions

func CloseAllClasses

func CloseAllClasses(classes []*WmiClass)

CloseAllClasses

func CloseAllInstances

func CloseAllInstances(instances []*WmiInstance)

CloseAllInstances

func CloseAllProperties

func CloseAllProperties(properties []*WmiProperty)

func EscapeQueryValue

func EscapeQueryValue(rawString string) string

func FindStringInSlice

func FindStringInSlice(stringList []string, value string) (int, bool)

func GetVariantValue

func GetVariantValue(rawValue *ole.VARIANT) (interface{}, error)

func GetVariantValues

func GetVariantValues(rawValue *ole.VARIANT) ([]interface{}, error)

Types

type WmiClass

type WmiClass struct {
	// contains filtered or unexported fields
}

func CreateWmiClass

func CreateWmiClass(classVar *ole.VARIANT, session *WmiSession) (*WmiClass, error)

func (*WmiClass) Close

func (c *WmiClass) Close() error

Dispose

func (*WmiClass) Commit

func (c *WmiClass) Commit() error

Commit

func (*WmiClass) GetClassName

func (c *WmiClass) GetClassName() string

ClassName

func (*WmiClass) GetDerivation

func (c *WmiClass) GetDerivation() []string

Derivation

func (*WmiClass) GetMethodsNames

func (c *WmiClass) GetMethodsNames() []string

Methods

func (*WmiClass) GetNamespace

func (c *WmiClass) GetNamespace() string

Namespace

func (*WmiClass) GetPropertiesNames

func (c *WmiClass) GetPropertiesNames() []string

Properties

func (*WmiClass) GetProperty

func (c *WmiClass) GetProperty(name string) (interface{}, error)

GetProperty gets the property of the instance specified by name and returns in value

func (*WmiClass) GetQualifiersNames

func (c *WmiClass) GetQualifiersNames() []string

Qualifiers

func (*WmiClass) GetServerName

func (c *WmiClass) GetServerName() string

ServerName

func (*WmiClass) GetSuperClass

func (c *WmiClass) GetSuperClass() *WmiClass

SuperClass

func (*WmiClass) GetSuperClassName

func (c *WmiClass) GetSuperClassName() string

SuperClassName

func (*WmiClass) GetSystemProperty

func (c *WmiClass) GetSystemProperty(name string) (*WmiProperty, error)

func (*WmiClass) InvokeMethod

func (c *WmiClass) InvokeMethod(methodName string, methodParams []string, inputOptions string) (error, string)

func (*WmiClass) MakeInstance

func (c *WmiClass) MakeInstance() (*WmiInstance, error)

Makes a new instance of the class

func (*WmiClass) MethodParameters

func (c *WmiClass) MethodParameters(methodName string) []string

MethodParameters

func (*WmiClass) Modify

func (c *WmiClass) Modify() error

Modify

func (*WmiClass) SetClassName

func (c *WmiClass) SetClassName(name string) error

SetClassName

func (*WmiClass) SetProperty

func (c *WmiClass) SetProperty(name string, value interface{}) error

SetProperty sets a value of property representation by name with value

type WmiInstance

type WmiInstance struct {
	// contains filtered or unexported fields
}

WmiInstance is a representation of a WMI instance

func CreateWmiInstance

func CreateWmiInstance(instanceVar *ole.VARIANT, session *WmiSession) (*WmiInstance, error)

func (*WmiInstance) Close

func (c *WmiInstance) Close() error

Dispose

func (*WmiInstance) Commit

func (c *WmiInstance) Commit() error

Commit

func (*WmiInstance) Delete

func (c *WmiInstance) Delete() error

Delete

func (*WmiInstance) EmbeddedInstance

func (c *WmiInstance) EmbeddedInstance() (string, error)

Class

func (*WmiInstance) EnumerateReferencingInstances

func (c *WmiInstance) EnumerateReferencingInstances(resultClassName, sourceRole string) ([]*WmiInstance, error)

EnumerateReferencingInstances

func (*WmiInstance) Equals

func (c *WmiInstance) Equals(instance *WmiInstance) bool

Equals

func (*WmiInstance) GetAssociated

func (c *WmiInstance) GetAssociated(associatedClassName, resultClassName, resultRole, sourceRole string) ([]*WmiInstance, error)

GetAssociated

func (*WmiInstance) GetClass

func (c *WmiInstance) GetClass() *WmiClass

Class

func (*WmiInstance) GetClassName

func (c *WmiInstance) GetClassName() string

GetClassName

func (*WmiInstance) GetInstance

func (c *WmiInstance) GetInstance() (*WmiInstance, error)

GetInstance returns the latest Instance

func (*WmiInstance) GetProperty

func (c *WmiInstance) GetProperty(name string) (interface{}, error)

GetProperty gets the property of the instance specified by name and returns in value

func (*WmiInstance) GetRelated

func (c *WmiInstance) GetRelated(resultClassName string) ([]*WmiInstance, error)

GetRelated

func (*WmiInstance) GetRelatedEx

func (c *WmiInstance) GetRelatedEx(associatedClassName, resultClassName, resultRole, sourceRole string) ([]*WmiInstance, error)

GetRelatedEx

func (*WmiInstance) GetSystemProperty

func (c *WmiInstance) GetSystemProperty(name string) (*WmiProperty, error)

func (*WmiInstance) InstancePath

func (c *WmiInstance) InstancePath() string

InstancePath

func (*WmiInstance) InvokeMethod

func (c *WmiInstance) InvokeMethod(methodName string, params ...interface{}) ([]interface{}, error)

InvokeMethod

func (*WmiInstance) InvokeMethodWithReturn

func (c *WmiInstance) InvokeMethodWithReturn(methodName string, params ...interface{}) (int32, error)

InvokeMethodWithReturn invokes a method with return

func (*WmiInstance) Modify

func (c *WmiInstance) Modify() error

Modify

func (*WmiInstance) Refresh

func (c *WmiInstance) Refresh() error

Refresh

func (*WmiInstance) RelativePath

func (c *WmiInstance) RelativePath() string

RelativePath

func (*WmiInstance) ResetProperty

func (c *WmiInstance) ResetProperty(name string) error

ResetProperty resets a property

func (*WmiInstance) SetProperty

func (c *WmiInstance) SetProperty(name string, value interface{}) error

SetProperty sets a value of property representation by name with value

type WmiInstanceCollection

type WmiInstanceCollection []WmiInstance

WmiInstanceCollection is a slice of WmiInstance

type WmiProperty

type WmiProperty struct {
	// contains filtered or unexported fields
}

func CreateWmiProperty

func CreateWmiProperty(propertyVariant *ole.VARIANT, session *WmiSession) (*WmiProperty, error)

func (*WmiProperty) Close

func (c *WmiProperty) Close() error

Dispose

func (*WmiProperty) Name

func (c *WmiProperty) Name() string

Name

func (*WmiProperty) Type

func (c *WmiProperty) Type() wmi.WmiType

Type

func (*WmiProperty) Value

func (c *WmiProperty) Value() interface{}

Value

type WmiQualifier

type WmiQualifier struct {
}

func (WmiQualifier) Name

func (c WmiQualifier) Name() string

Name

func (WmiQualifier) Value

func (c WmiQualifier) Value() string

Value

type WmiSession

type WmiSession struct {
	ServerName    string
	Namespace     string
	Username      string
	Password      string
	Domain        string
	Status        wmi.SessionStatus
	RawSession    *ole.VARIANT
	Session       *ole.IDispatch
	CimwmiService *ole.IDispatch
}

WmiSession struct to hold the current session information

func CreateSession

func CreateSession(CimwmiService *ole.IDispatch, wmiNamespace, serverName, domain, userName, password string) (*WmiSession, error)

CreateSession creates a new session with the server and namespace

func CreateSessionEx

func CreateSessionEx(CimwmiService *ole.IDispatch, serverName, wmiNamespace string, credentials wmi.Credentials) (*WmiSession, error)

CreateSessionEx creates a session based on credentials

func (*WmiSession) Close

func (c *WmiSession) Close()

Close the wmi session

func (*WmiSession) Connect

func (c *WmiSession) Connect() (bool, error)

Connect the wmi session

func (*WmiSession) CreateNewClass

func (c *WmiSession) CreateNewClass() (*WmiClass, error)

Tells WMI to create a new class for us

func (*WmiSession) Credentials

func (c *WmiSession) Credentials() *wmi.Credentials

Credentials

func (*WmiSession) Dispose

func (c *WmiSession) Dispose()

Dispose the wmi session

func (*WmiSession) EnumerateClasses

func (c *WmiSession) EnumerateClasses(className string) ([]*WmiClass, error)

EnumerateClasses

func (*WmiSession) EnumerateInstances

func (c *WmiSession) EnumerateInstances(className string) ([]*WmiInstance, error)

EnumerateInstances

func (*WmiSession) EnumerateReferencingInstances

func (c *WmiSession) EnumerateReferencingInstances(namespaceName string, sourceInstance WmiInstance, associationClassName, sourceRole string) (*[]WmiInstance, error)

EnumerateReferencingInstances

func (*WmiSession) GetClass

func (c *WmiSession) GetClass(classDefinition string) (*WmiClass, error)

func (*WmiSession) GetInstance

func (c *WmiSession) GetInstance(path string) (*WmiInstance, error)

GetInstance

func (*WmiSession) PerformRawQuery

func (c *WmiSession) PerformRawQuery(queryExpression string) (*ole.IEnumVARIANT, error)

func (*WmiSession) QueryClasses

func (c *WmiSession) QueryClasses(queryString string) ([]*WmiClass, error)

QueryClasses

func (*WmiSession) QueryInstances

func (c *WmiSession) QueryInstances(queryExpression string) ([]*WmiInstance, error)

QueryInstances

func (*WmiSession) QueryInstancesEx

func (c *WmiSession) QueryInstancesEx(query wmi.Query) (*[]wmi.Instance, error)

QueryInstancesEx

func (*WmiSession) TestConnection

func (c *WmiSession) TestConnection() bool

TestConnection

type WmiSessionManager

type WmiSessionManager struct {
	// contains filtered or unexported fields
}

func NewWmiSessionManager

func NewWmiSessionManager() *WmiSessionManager

func (*WmiSessionManager) Close

func (c *WmiSessionManager) Close() error

Close

func (*WmiSessionManager) Dispose

func (c *WmiSessionManager) Dispose()

Dispose clears the WmiSessionManager

func (*WmiSessionManager) GetLocalSession

func (c *WmiSessionManager) GetLocalSession(wmiNamespace string) (*WmiSession, error)

GetLocalSession

func (*WmiSessionManager) GetSession

func (c *WmiSessionManager) GetSession(wmiNamespace, serverName, domain, userName, password string) (*WmiSession, error)

GetSession

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL