ienumwbemclassobject

package
v1.2.3 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2025 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// IEnumWbemClassObject interface identifier 027947e1-d731-11ce-a357-000000000001
	EnumClassObjectIID = &dcom.IID{Data1: 0x027947e1, Data2: 0xd731, Data3: 0x11ce, Data4: []byte{0xa3, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01}}
	// Syntax UUID
	EnumClassObjectSyntaxUUID = &uuid.UUID{TimeLow: 0x27947e1, TimeMid: 0xd731, TimeHiAndVersion: 0x11ce, ClockSeqHiAndReserved: 0xa3, ClockSeqLow: 0x57, Node: [6]uint8{0x0, 0x0, 0x0, 0x0, 0x0, 0x1}}
	// Syntax ID
	EnumClassObjectSyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: EnumClassObjectSyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "dcom/wmi"
)

Functions

func EnumClassObjectServerHandle

func EnumClassObjectServerHandle(ctx context.Context, o EnumClassObjectServer, opNum int, r ndr.Reader) (dcerpc.Operation, error)

func NewEnumClassObjectServerHandle

func NewEnumClassObjectServerHandle(o EnumClassObjectServer) dcerpc.ServerHandle

func RegisterEnumClassObjectServer

func RegisterEnumClassObjectServer(conn dcerpc.Conn, o EnumClassObjectServer, opts ...dcerpc.Option)

Types

type CloneRequest

type CloneRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
}

CloneRequest structure represents the Clone operation request

func (*CloneRequest) MarshalNDR

func (o *CloneRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*CloneRequest) UnmarshalNDR

func (o *CloneRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type CloneResponse

type CloneResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// ppEnum: Upon return, MUST contain a pointer to an IEnumWbemClassObject interface
	// CIM object that is a logical copy of the entire enumerator that made the Clone method
	// call, retaining the current position in an enumeration. This parameter MUST NOT be
	// NULL. When returned by the server, this parameter can be NULL if a failure occurred
	// or if there are no results.
	Enum *wmi.EnumClassObject `idl:"name:ppEnum" json:"enum"`
	// Return: The Clone return value.
	Return int32 `idl:"name:Return" json:"return"`
}

CloneResponse structure represents the Clone operation response

func (*CloneResponse) MarshalNDR

func (o *CloneResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*CloneResponse) UnmarshalNDR

func (o *CloneResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type EnumClassObjectClient

type EnumClassObjectClient interface {

	// IUnknown retrieval method.
	Unknown() iunknown.UnknownClient

	// When the IEnumWbemClassObject::Reset method is invoked, the server MUST reset the
	// enumeration sequence to the beginning of the collection of CIM objects.
	//
	// This method has no parameters.
	//
	// Return Values: This method MUST return an HRESULT value that MUST indicate the status
	// of the method call. The server MUST return WBEM_S_NO_ERROR (specified in section
	// 2.2.11) to indicate the successful completion of the method. If the IEnumWbemClassObject::Reset
	// method is invoked on an enumerator that does not support reset capability, the server
	// MUST return WBEM_E_INVALID_OPERATION.
	Reset(context.Context, *ResetRequest, ...dcerpc.CallOption) (*ResetResponse, error)

	// Next operation.
	Next(context.Context, *NextRequest, ...dcerpc.CallOption) (*NextResponse, error)

	// The IEnumWbemClassObject::NextAsync method is the asynchronous version of the IEnumWbemClassObject::Next
	// method. It provides controlled asynchronous retrieval of CIM objects to a sink. The
	// server MUST asynchronously get one or more CIM objects, starting at the current position
	// in an enumeration, and MUST move the current position by the number of CIM objects.
	// When IEnumWbemClassObject is created, the current position MUST be set on the first
	// CIM object of the collection. The order of the CIM objects that are stored in the
	// enumerator is arbitrary.
	//
	// Return Values: This method MUST return an HRESULT value that MUST indicate the status
	// of the method call. The server MUST return WBEM_S_NO_ERROR (specified in section
	// 2.2.11) to indicate the successful completion of the method.
	NextAsync(context.Context, *NextAsyncRequest, ...dcerpc.CallOption) (*NextAsyncResponse, error)

	// The IEnumWbemClassObject::Clone method makes a logical copy of the entire enumerator.
	// The cloned enumerator MUST have the same current position as the source enumerator.
	//
	// Return Values: This method MUST return an HRESULT value that MUST indicate the status
	// of the method call. The server MUST return WBEM_S_NO_ERROR (specified in section
	// 2.2.11) to indicate the successful completion of the method.
	Clone(context.Context, *CloneRequest, ...dcerpc.CallOption) (*CloneResponse, error)

	// When the IEnumWbemClassObject::Skip method is invoked, the server MUST move the current
	// position in an enumeration ahead by a specified number of CIM objects.
	//
	// The IEnumWbemClassObject::Skip method opnum equals 7.
	//
	// Return Values: This method MUST return an HRESULT value that MUST indicate the status
	// of the method call. The server MUST return WBEM_S_NO_ERROR (specified in section
	// 2.2.11) to indicate the successful completion of the method.
	Skip(context.Context, *SkipRequest, ...dcerpc.CallOption) (*SkipResponse, error)

	// AlterContext alters the client context.
	AlterContext(context.Context, ...dcerpc.Option) error

	// Conn returns the client connection (unsafe)
	Conn() dcerpc.Conn

	// IPID sets the object interface identifier.
	IPID(context.Context, *dcom.IPID) EnumClassObjectClient
}

IEnumWbemClassObject interface.

func NewEnumClassObjectClient

func NewEnumClassObjectClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (EnumClassObjectClient, error)

type EnumClassObjectServer

type EnumClassObjectServer interface {

	// IUnknown base class.
	iunknown.UnknownServer

	// When the IEnumWbemClassObject::Reset method is invoked, the server MUST reset the
	// enumeration sequence to the beginning of the collection of CIM objects.
	//
	// This method has no parameters.
	//
	// Return Values: This method MUST return an HRESULT value that MUST indicate the status
	// of the method call. The server MUST return WBEM_S_NO_ERROR (specified in section
	// 2.2.11) to indicate the successful completion of the method. If the IEnumWbemClassObject::Reset
	// method is invoked on an enumerator that does not support reset capability, the server
	// MUST return WBEM_E_INVALID_OPERATION.
	Reset(context.Context, *ResetRequest) (*ResetResponse, error)

	// Next operation.
	Next(context.Context, *NextRequest) (*NextResponse, error)

	// The IEnumWbemClassObject::NextAsync method is the asynchronous version of the IEnumWbemClassObject::Next
	// method. It provides controlled asynchronous retrieval of CIM objects to a sink. The
	// server MUST asynchronously get one or more CIM objects, starting at the current position
	// in an enumeration, and MUST move the current position by the number of CIM objects.
	// When IEnumWbemClassObject is created, the current position MUST be set on the first
	// CIM object of the collection. The order of the CIM objects that are stored in the
	// enumerator is arbitrary.
	//
	// Return Values: This method MUST return an HRESULT value that MUST indicate the status
	// of the method call. The server MUST return WBEM_S_NO_ERROR (specified in section
	// 2.2.11) to indicate the successful completion of the method.
	NextAsync(context.Context, *NextAsyncRequest) (*NextAsyncResponse, error)

	// The IEnumWbemClassObject::Clone method makes a logical copy of the entire enumerator.
	// The cloned enumerator MUST have the same current position as the source enumerator.
	//
	// Return Values: This method MUST return an HRESULT value that MUST indicate the status
	// of the method call. The server MUST return WBEM_S_NO_ERROR (specified in section
	// 2.2.11) to indicate the successful completion of the method.
	Clone(context.Context, *CloneRequest) (*CloneResponse, error)

	// When the IEnumWbemClassObject::Skip method is invoked, the server MUST move the current
	// position in an enumeration ahead by a specified number of CIM objects.
	//
	// The IEnumWbemClassObject::Skip method opnum equals 7.
	//
	// Return Values: This method MUST return an HRESULT value that MUST indicate the status
	// of the method call. The server MUST return WBEM_S_NO_ERROR (specified in section
	// 2.2.11) to indicate the successful completion of the method.
	Skip(context.Context, *SkipRequest) (*SkipResponse, error)
}

IEnumWbemClassObject server interface.

type NextAsyncRequest

type NextAsyncRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// uCount: MUST be the number of CIM objects being requested.
	Count uint32 `idl:"name:uCount" json:"count"`
	// pSink: MUST be a pointer to the IWbemObjectSink interface, which MUST represent the
	// sink to receive the CIM object. As each batch of CIM objects is requested, they MUST
	// be delivered to the IWbemObjectSink::Indicate method to which pSink points (as specified
	// in section 3.1.4.2.1) and MUST be followed by a final call to the IWbemObjectSink::SetStatus
	// method to which pSink points, as specified in section 3.1.4.2.2. This parameter MUST
	// NOT be NULL. In error cases, indicated by the HRESULT return value, the supplied
	// IWbemObjectSink interface pointer MUST NOT be used by the server.
	Sink *wmi.ObjectSink `idl:"name:pSink" json:"sink"`
}

NextAsyncRequest structure represents the NextAsync operation request

func (*NextAsyncRequest) MarshalNDR

func (o *NextAsyncRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*NextAsyncRequest) UnmarshalNDR

func (o *NextAsyncRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type NextAsyncResponse

type NextAsyncResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// Return: The NextAsync return value.
	Return int32 `idl:"name:Return" json:"return"`
}

NextAsyncResponse structure represents the NextAsync operation response

func (*NextAsyncResponse) MarshalNDR

func (o *NextAsyncResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*NextAsyncResponse) UnmarshalNDR

func (o *NextAsyncResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type NextRequest

type NextRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This    *dcom.ORPCThis `idl:"name:This" json:"this"`
	Timeout int32          `idl:"name:lTimeout" json:"timeout"`
	Count   uint32         `idl:"name:uCount" json:"count"`
}

NextRequest structure represents the Next operation request

func (*NextRequest) MarshalNDR

func (o *NextRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*NextRequest) UnmarshalNDR

func (o *NextRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type NextResponse

type NextResponse struct {
	// XXX: uCount is an implicit input depedency for output parameters
	Count uint32 `idl:"name:uCount" json:"count"`

	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That     *dcom.ORPCThat     `idl:"name:That" json:"that"`
	Objects  []*wmi.ClassObject `idl:"name:apObjects;size_is:(uCount);length_is:(puReturned)" json:"objects"`
	Returned uint32             `idl:"name:puReturned" json:"returned"`
	// Return: The Next return value.
	Return int32 `idl:"name:Return" json:"return"`
}

NextResponse structure represents the Next operation response

func (*NextResponse) MarshalNDR

func (o *NextResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*NextResponse) UnmarshalNDR

func (o *NextResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ResetRequest

type ResetRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
}

ResetRequest structure represents the Reset operation request

func (*ResetRequest) MarshalNDR

func (o *ResetRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ResetRequest) UnmarshalNDR

func (o *ResetRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ResetResponse

type ResetResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// Return: The Reset return value.
	Return int32 `idl:"name:Return" json:"return"`
}

ResetResponse structure represents the Reset operation response

func (*ResetResponse) MarshalNDR

func (o *ResetResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ResetResponse) UnmarshalNDR

func (o *ResetResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SkipRequest

type SkipRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// lTimeout: MUST be the maximum amount of time, in milliseconds, that the call to Skip
	// allows to pass before it times out. If the constant WBEM_INFINITE (0xFFFFFFFF) is
	// used, the Skip method call waits until the operation succeeds.
	Timeout int32 `idl:"name:lTimeout" json:"timeout"`
	// nCount: MUST be the number of CIM objects to skip in the enumeration. If this parameter
	// is greater than the number of CIM objects that remain to enumerate, the call MUST
	// skip to the end of the enumeration, and WBEM_S_FALSE MUST be the returned value for
	// the method.
	Count uint32 `idl:"name:nCount" json:"count"`
}

SkipRequest structure represents the Skip operation request

func (*SkipRequest) MarshalNDR

func (o *SkipRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SkipRequest) UnmarshalNDR

func (o *SkipRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type SkipResponse

type SkipResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// Return: The Skip return value.
	Return int32 `idl:"name:Return" json:"return"`
}

SkipResponse structure represents the Skip operation response

func (*SkipResponse) MarshalNDR

func (o *SkipResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*SkipResponse) UnmarshalNDR

func (o *SkipResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type UnimplementedEnumClassObjectServer added in v1.1.5

type UnimplementedEnumClassObjectServer struct {
	iunknown.UnimplementedUnknownServer
}

Unimplemented IEnumWbemClassObject

func (UnimplementedEnumClassObjectServer) Clone added in v1.1.5

func (UnimplementedEnumClassObjectServer) Next added in v1.1.5

func (UnimplementedEnumClassObjectServer) NextAsync added in v1.1.5

func (UnimplementedEnumClassObjectServer) Reset added in v1.1.5

func (UnimplementedEnumClassObjectServer) Skip added in v1.1.5

Jump to

Keyboard shortcuts

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