iwbemobjectsink

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2024 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// IWbemObjectSink interface identifier 7c857801-7381-11cf-884d-00aa004b2e24
	ObjectSinkIID = &dcom.IID{Data1: 0x7c857801, Data2: 0x7381, Data3: 0x11cf, Data4: []byte{0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24}}
	// Syntax UUID
	ObjectSinkSyntaxUUID = &uuid.UUID{TimeLow: 0x7c857801, TimeMid: 0x7381, TimeHiAndVersion: 0x11cf, ClockSeqHiAndReserved: 0x88, ClockSeqLow: 0x4d, Node: [6]uint8{0x0, 0xaa, 0x0, 0x4b, 0x2e, 0x24}}
	// Syntax ID
	ObjectSinkSyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: ObjectSinkSyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "dcom/wmi"
)

Functions

func NewObjectSinkServerHandle

func NewObjectSinkServerHandle(o ObjectSinkServer) dcerpc.ServerHandle

func ObjectSinkServerHandle

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

func RegisterObjectSinkServer

func RegisterObjectSinkServer(conn dcerpc.Conn, o ObjectSinkServer, opts ...dcerpc.Option)

Types

type IndicateRequest

type IndicateRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// lObjectCount: MUST be the number of CIM objects in the array of pointers in the ppObjArray
	// parameter.
	ObjectCount int32 `idl:"name:lObjectCount" json:"object_count"`
	// apObjArray: MUST contain an array of result objects sent by the caller.
	ObjectArray []*wmi.ClassObject `idl:"name:apObjArray;size_is:(lObjectCount)" json:"object_array"`
}

IndicateRequest structure represents the Indicate operation request

func (*IndicateRequest) MarshalNDR

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

func (*IndicateRequest) UnmarshalNDR

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

type IndicateResponse

type IndicateResponse 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 Indicate return value.
	Return int32 `idl:"name:Return" json:"return"`
}

IndicateResponse structure represents the Indicate operation response

func (*IndicateResponse) MarshalNDR

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

func (*IndicateResponse) UnmarshalNDR

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

type ObjectSinkClient

type ObjectSinkClient interface {

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

	// When the IWbemObjectSink::Indicate method is called, the apObjArray parameter MUST
	// contain additional result objects as an array of an IWbemClassObject, sent by the
	// client to the server. The IWbemObjectSink::Indicate method has the following syntax,
	// expressed in Microsoft Interface Definition Language (MIDL).
	//
	// Return Values: This method MUST return an HRESULT value that MUST indicate the status
	// of the method call.
	//
	// When the IWbemObjectSink::Indicate method is called for the first time, the server
	// that implements the ObjectArray structure MUST return WBEM_S_NEW_STYLE if the execution
	// of the method succeeds. If a server does not implement the ObjectArray structure,
	// it MUST return WBEM_S_NO_ERROR for successful execution of the method.
	//
	// If the server implements the ObjectArray structure and WBEM_S_NEW_STYLE is returned
	// during the first call to the IWbemObjectSink::Indicate method, the server MUST support
	// subsequent calls to the IWbemObjectSink::Indicate method by using both the DCOM Remote
	// Protocol marshaling and the ObjectArray structure as specified in section 2.2.14.
	Indicate(context.Context, *IndicateRequest, ...dcerpc.CallOption) (*IndicateResponse, error)

	// When the IWbemObjectSink::SetStatus method is called, the parameter MUST contain
	// the result of the operation or the progress status information.
	//
	// 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.
	SetStatus(context.Context, *SetStatusRequest, ...dcerpc.CallOption) (*SetStatusResponse, error)

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

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

IWbemObjectSink interface.

func NewObjectSinkClient

func NewObjectSinkClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (ObjectSinkClient, error)

type ObjectSinkServer

type ObjectSinkServer interface {

	// IUnknown base class.
	iunknown.UnknownServer

	// When the IWbemObjectSink::Indicate method is called, the apObjArray parameter MUST
	// contain additional result objects as an array of an IWbemClassObject, sent by the
	// client to the server. The IWbemObjectSink::Indicate method has the following syntax,
	// expressed in Microsoft Interface Definition Language (MIDL).
	//
	// Return Values: This method MUST return an HRESULT value that MUST indicate the status
	// of the method call.
	//
	// When the IWbemObjectSink::Indicate method is called for the first time, the server
	// that implements the ObjectArray structure MUST return WBEM_S_NEW_STYLE if the execution
	// of the method succeeds. If a server does not implement the ObjectArray structure,
	// it MUST return WBEM_S_NO_ERROR for successful execution of the method.
	//
	// If the server implements the ObjectArray structure and WBEM_S_NEW_STYLE is returned
	// during the first call to the IWbemObjectSink::Indicate method, the server MUST support
	// subsequent calls to the IWbemObjectSink::Indicate method by using both the DCOM Remote
	// Protocol marshaling and the ObjectArray structure as specified in section 2.2.14.
	Indicate(context.Context, *IndicateRequest) (*IndicateResponse, error)

	// When the IWbemObjectSink::SetStatus method is called, the parameter MUST contain
	// the result of the operation or the progress status information.
	//
	// 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.
	SetStatus(context.Context, *SetStatusRequest) (*SetStatusResponse, error)
}

IWbemObjectSink server interface.

type SetStatusRequest

type SetStatusRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// lFlags: Flags that give information about the operation status. The flags MUST be
	// interpreted as specified in the following table.
	//
	// Note  The flags are not bit flags and cannot be combined.
	//
	//	+---------------------------------+-------------------------------------------------------------+
	//	|                                 |                                                             |
	//	|              VALUE              |                           MEANING                           |
	//	|                                 |                                                             |
	//	+---------------------------------+-------------------------------------------------------------+
	//	+---------------------------------+-------------------------------------------------------------+
	//	| WBEM_STATUS_COMPLETE 0x00000000 | Indicates the end of the asynchronous operation.            |
	//	+---------------------------------+-------------------------------------------------------------+
	//	| WBEM_STATUS_PROGRESS 0x00000002 | Indicates the progress state of the asynchronous operation. |
	//	+---------------------------------+-------------------------------------------------------------+
	Flags int32 `idl:"name:lFlags" json:"flags"`
	// hResult: The HRESULT value of the asynchronous operation or notification. This hResult
	// MUST be the same HRESULT that the WMI client gets from the matching synchronous operation
	// when the WMI client makes an asynchronous request to the WMI server.
	HResult int32 `idl:"name:hResult" json:"hresult"`
	// strParam: If the parameter is NULL, the server MUST ignore the parameter. If the
	// parameter is not NULL, it MUST represent the operational result of the asynchronous
	// operation. The string MUST be the same as the string that is returned from the IWbemCallResult::GetResultString
	// (Opnum 4) method when the operation is executed synchronously.
	Param *oaut.String `idl:"name:strParam" json:"param"`
	// pObjParam: If the parameter is NULL, the server MUST ignore the parameter. If the
	// parameter is not NULL, the object MUST contain additional error information for the
	// asynchronous operation failure.
	ObjectParam *wmi.ClassObject `idl:"name:pObjParam" json:"object_param"`
}

SetStatusRequest structure represents the SetStatus operation request

func (*SetStatusRequest) MarshalNDR

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

func (*SetStatusRequest) UnmarshalNDR

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

type SetStatusResponse

type SetStatusResponse 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 SetStatus return value.
	Return int32 `idl:"name:Return" json:"return"`
}

SetStatusResponse structure represents the SetStatus operation response

func (*SetStatusResponse) MarshalNDR

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

func (*SetStatusResponse) UnmarshalNDR

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

Jump to

Keyboard shortcuts

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