iregister

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: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// IRegister interface identifier 8db2180e-bd29-11d1-8b7e-00c04fd7a924
	RegisterIID = &dcom.IID{Data1: 0x8db2180e, Data2: 0xbd29, Data3: 0x11d1, Data4: []byte{0x8b, 0x7e, 0x00, 0xc0, 0x4f, 0xd7, 0xa9, 0x24}}
	// Syntax UUID
	RegisterSyntaxUUID = &uuid.UUID{TimeLow: 0x8db2180e, TimeMid: 0xbd29, TimeHiAndVersion: 0x11d1, ClockSeqHiAndReserved: 0x8b, ClockSeqLow: 0x7e, Node: [6]uint8{0x0, 0xc0, 0x4f, 0xd7, 0xa9, 0x24}}
	// Syntax ID
	RegisterSyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: RegisterSyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "dcom/coma"
)

Functions

func NewRegisterServerHandle

func NewRegisterServerHandle(o RegisterServer) dcerpc.ServerHandle

func RegisterRegisterServer

func RegisterRegisterServer(conn dcerpc.Conn, o RegisterServer, opts ...dcerpc.Option)

func RegisterServerHandle

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

Types

type RegisterClient

type RegisterClient interface {

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

	// This method is called by a client to register the components in one or more modules
	// and to create component full configurations for those modules in an existing conglomeration.
	// This method supports conglomerations in the global partition only.
	//
	// Alternatively, this method can be called to verify modules without actually registering
	// the components. As a side effect, this method returns implementation-specific detailed
	// results of the registration or verification operation for informational purposes.
	//
	// Return Values: This method MUST return S_OK (0x00000000) on success, and a failure
	// result, as specified in [MS-ERREF] section 2.1, on failure. All failure results MUST
	// be treated identically.
	RegisterModule(context.Context, *RegisterModuleRequest, ...dcerpc.CallOption) (*RegisterModuleResponse, error)

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

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

IRegister interface.

func NewRegisterClient

func NewRegisterClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (RegisterClient, error)

type RegisterModuleRequest

type RegisterModuleRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// ConglomerationIdentifier:  The conglomeration identifier of an existing conglomeration
	// on the server, in which the component full configurations are to be created or against
	// which the modules are to be verified (as specified later).
	ConglomerationID *dtyp.GUID `idl:"name:ConglomerationIdentifier" json:"conglomeration_id"`
	// ppModules:  An array of one or more strings, each of which is a path in UNC to a
	// file that the server will recognize as a module.
	Modules []string `idl:"name:ppModules;size_is:(cModules, );string" json:"modules"`
	// cModules:  The number of elements in ppModules.
	ModulesCount uint32 `idl:"name:cModules" json:"modules_count"`
	// dwFlags:  A combination of zero or more of the following flags.
	//
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	|                                   |                                                                                  |
	//	|               VALUE               |                                     MEANING                                      |
	//	|                                   |                                                                                  |
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	| fREGISTER_VERIFYONLY 0x00000020   | The server SHOULD verify the modules but MUST NOT actually register any          |
	//	|                                   | components.                                                                      |
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	| fREGISTER_EVENTCLASSES 0x00000400 | The server MUST configure the components registered by this operation as event   |
	//	|                                   | classes.                                                                         |
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	Flags uint32 `idl:"name:dwFlags" json:"flags"`
	// pRequestedCLSIDs:  Either an array of one or more CLSIDs of components to be registered
	// (or verified), or NULL to specify that all components in the modules are to be registered
	// (or verified).
	RequestedClassIDs []*dtyp.GUID `idl:"name:pRequestedCLSIDs;size_is:(cRequested);pointer:unique" json:"requested_class_ids"`
	// cRequested:  The number of elements in pRequestedCLSIDs.
	RequestedCount uint32 `idl:"name:cRequested" json:"requested_count"`
}

RegisterModuleRequest structure represents the RegisterModule operation request

func (*RegisterModuleRequest) MarshalNDR

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

func (*RegisterModuleRequest) UnmarshalNDR

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

type RegisterModuleResponse

type RegisterModuleResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// ppModuleFlags:  A pointer to a variable that, upon successful completion, SHOULD
	// be set to an array of fModuleStatus (section 2.2.3) values that represent the detailed
	// results of registration for the modules located by the paths in ppModules, in the
	// same order.
	ModuleFlags []uint32 `idl:"name:ppModuleFlags;size_is:(, cModules)" json:"module_flags"`
	// pcResults:  A pointer to a variable that, upon successful completion, MUST be set
	// to the number of result items, as specified later.
	ResultsCount uint32 `idl:"name:pcResults" json:"results_count"`
	// ppResultCLSIDs:  A pointer to a variable that, upon successful completion, MUST
	// be set to an array of GUID values, each being the CLSID of a result item, as specified
	// later.
	ResultClassIDs []*dtyp.GUID `idl:"name:ppResultCLSIDs;size_is:(, pcResults)" json:"result_class_ids"`
	// ppResultNames:  A pointer to a variable that, upon successful completion, MUST be
	// set to an array of string values, each being an implementation-specific<317> name
	// of a result item, as specified later, in the same order as ppResultClsids.
	ResultNames []string `idl:"name:ppResultNames;size_is:(, pcResults);string" json:"result_names"`
	// ppResultFlags:  A pointer to a variable that upon successful completion, MUST be
	// set to an array of fComponentStatus (section 2.2.4) values, each representing implementation-specific
	// detailed results for a result item, as specified later, in the same order as ppResultClsids.
	ResultFlags []uint32 `idl:"name:ppResultFlags;size_is:(, pcResults)" json:"result_flags"`
	// ppResultHRs:  A pointer to a variable that, upon successful completion, MUST be
	// set to an array of LONG values, each representing an HRESULT ([MS-ERREF] section
	// 2.1) for a result item, as specified later, in the same order as ppResultClsids.
	ResultHRs []int32 `idl:"name:ppResultHRs;size_is:(, pcResults)" json:"result_h_rs"`
	// Return: The RegisterModule return value.
	Return int32 `idl:"name:Return" json:"return"`
}

RegisterModuleResponse structure represents the RegisterModule operation response

func (*RegisterModuleResponse) MarshalNDR

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

func (*RegisterModuleResponse) UnmarshalNDR

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

type RegisterServer

type RegisterServer interface {

	// IUnknown base class.
	iunknown.UnknownServer

	// This method is called by a client to register the components in one or more modules
	// and to create component full configurations for those modules in an existing conglomeration.
	// This method supports conglomerations in the global partition only.
	//
	// Alternatively, this method can be called to verify modules without actually registering
	// the components. As a side effect, this method returns implementation-specific detailed
	// results of the registration or verification operation for informational purposes.
	//
	// Return Values: This method MUST return S_OK (0x00000000) on success, and a failure
	// result, as specified in [MS-ERREF] section 2.1, on failure. All failure results MUST
	// be treated identically.
	RegisterModule(context.Context, *RegisterModuleRequest) (*RegisterModuleResponse, error)
}

IRegister server interface.

Jump to

Keyboard shortcuts

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