iregister2

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 (
	// IRegister2 interface identifier 971668dc-c3fe-4ea1-9643-0c7230f494a1
	Register2IID = &dcom.IID{Data1: 0x971668dc, Data2: 0xc3fe, Data3: 0x4ea1, Data4: []byte{0x96, 0x43, 0x0c, 0x72, 0x30, 0xf4, 0x94, 0xa1}}
	// Syntax UUID
	Register2SyntaxUUID = &uuid.UUID{TimeLow: 0x971668dc, TimeMid: 0xc3fe, TimeHiAndVersion: 0x4ea1, ClockSeqHiAndReserved: 0x96, ClockSeqLow: 0x43, Node: [6]uint8{0xc, 0x72, 0x30, 0xf4, 0x94, 0xa1}}
	// Syntax ID
	Register2SyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: Register2SyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "dcom/coma"
)

Functions

func NewRegister2ServerHandle

func NewRegister2ServerHandle(o Register2Server) dcerpc.ServerHandle

func Register2ServerHandle

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

func RegisterRegister2Server

func RegisterRegister2Server(conn dcerpc.Conn, o Register2Server, opts ...dcerpc.Option)

Types

type CreateFullConfigurationRequest

type CreateFullConfigurationRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// pwszConglomerationIdOrName: A string containing either the Curly Braced GUID String
	// Syntax ([MS-DTYP] section 2.3.4.3) representation of a conglomeration identifier
	// or the Name property (see section 3.1.1.3.3) of a conglomeration.
	ConglomerationIDOrName string `idl:"name:pwszConglomerationIdOrName;string" json:"conglomeration_id_or_name"`
	// pwszCLSIDOrProgId: A string containing either the Curly Braced GUID String Syntax
	// ([MS-DTYP] section 2.3.4.3) representation of a CLSID or the ProgID property (see
	// section 3.1.1.3.1) of a component.
	ClassIDOrProgID string `idl:"name:pwszCLSIDOrProgId;string" json:"class_id_or_prog_id"`
	// ctComponentType: An eComponentType (section 2.2.5) value to select the bitness of
	// the component, when there might be multiple bitnesses.
	CtComponentType coma.ComponentType `idl:"name:ctComponentType" json:"ct_component_type"`
}

CreateFullConfigurationRequest structure represents the CreateFullConfiguration operation request

func (*CreateFullConfigurationRequest) MarshalNDR

func (*CreateFullConfigurationRequest) UnmarshalNDR

type CreateFullConfigurationResponse

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

CreateFullConfigurationResponse structure represents the CreateFullConfiguration operation response

func (*CreateFullConfigurationResponse) MarshalNDR

func (*CreateFullConfigurationResponse) UnmarshalNDR

type CreateLegacyConfigurationRequest

type CreateLegacyConfigurationRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// pwszConglomerationIdOrName: A string containing either the Curly Braced GUID String
	// Syntax ([MS-DTYP] section 2.3.4.3) representation of a conglomeration identifier
	// or the Name property (see section 3.1.1.3.3) of a conglomeration.
	ConglomerationIDOrName string `idl:"name:pwszConglomerationIdOrName;string" json:"conglomeration_id_or_name"`
	// pwszCLSIDOrProgId: A string containing either the Curly Braced GUID String Syntax
	// ([MS-DTYP] section 2.3.4.3) representation of a CLSID or the ProgID property (see
	// section 3.1.1.3.1) of a component.
	ClassIDOrProgID string `idl:"name:pwszCLSIDOrProgId;string" json:"class_id_or_prog_id"`
	// ctComponentType: An eComponentType (section 2.2.5) value to select the bitness of
	// the component when there might be multiple bitnesses. This value MUST NOT be eCT_UNKNOWN
	// or eCT_ANY.
	CtComponentType coma.ComponentType `idl:"name:ctComponentType" json:"ct_component_type"`
}

CreateLegacyConfigurationRequest structure represents the CreateLegacyConfiguration operation request

func (*CreateLegacyConfigurationRequest) MarshalNDR

func (*CreateLegacyConfigurationRequest) UnmarshalNDR

type CreateLegacyConfigurationResponse

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

CreateLegacyConfigurationResponse structure represents the CreateLegacyConfiguration operation response

func (*CreateLegacyConfigurationResponse) MarshalNDR

func (*CreateLegacyConfigurationResponse) UnmarshalNDR

type PromoteLegacyConfigurationRequest

type PromoteLegacyConfigurationRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// pwszConglomerationIdOrName:  A string containing either the Curly Braced GUID String
	// Syntax ([MS-DTYP] section 2.3.4.3) representation of a conglomeration identifier
	// or the Name property (see section 3.1.1.3.3) of a conglomeration.
	ConglomerationIDOrName string `idl:"name:pwszConglomerationIdOrName;string" json:"conglomeration_id_or_name"`
	// pwszCLSIDOrProgId:  A string containing either the Curly Braced GUID String Syntax
	// ([MS-DTYP] section 2.3.4.3) representation of a CLSID or the ProgID property (see
	// section 3.1.1.3.1) of a component.
	ClassIDOrProgID string `idl:"name:pwszCLSIDOrProgId;string" json:"class_id_or_prog_id"`
	// ctComponentType:  An eComponentType (section 2.2.5) value to select the bitness
	// of the component, when there might be multiple bitnesses.
	CtComponentType coma.ComponentType `idl:"name:ctComponentType" json:"ct_component_type"`
}

PromoteLegacyConfigurationRequest structure represents the PromoteLegacyConfiguration operation request

func (*PromoteLegacyConfigurationRequest) MarshalNDR

func (*PromoteLegacyConfigurationRequest) UnmarshalNDR

type PromoteLegacyConfigurationResponse

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

PromoteLegacyConfigurationResponse structure represents the PromoteLegacyConfiguration operation response

func (*PromoteLegacyConfigurationResponse) MarshalNDR

func (*PromoteLegacyConfigurationResponse) UnmarshalNDR

type Register2Client

type Register2Client interface {

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

	// This method is called by a client to create a component full configuration for an
	// existing component in an existing conglomeration in the global partition.
	//
	// 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.
	CreateFullConfiguration(context.Context, *CreateFullConfigurationRequest, ...dcerpc.CallOption) (*CreateFullConfigurationResponse, error)

	// This method is called by a client to create a component legacy configuration for
	// an existing component in an existing conglomeration in the global partition.
	//
	// 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.
	CreateLegacyConfiguration(context.Context, *CreateLegacyConfigurationRequest, ...dcerpc.CallOption) (*CreateLegacyConfigurationResponse, error)

	// This method is called by a client to convert an existing component legacy configuration
	// for a component into a component full configuration for that component.
	//
	// 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.
	PromoteLegacyConfiguration(context.Context, *PromoteLegacyConfigurationRequest, ...dcerpc.CallOption) (*PromoteLegacyConfigurationResponse, error)

	// 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 any partition.
	//
	// 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.
	RegisterModule2(context.Context, *RegisterModule2Request, ...dcerpc.CallOption) (*RegisterModule2Response, error)

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

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

IRegister2 interface.

func NewRegister2Client

func NewRegister2Client(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (Register2Client, error)

type Register2Server

type Register2Server interface {

	// IUnknown base class.
	iunknown.UnknownServer

	// This method is called by a client to create a component full configuration for an
	// existing component in an existing conglomeration in the global partition.
	//
	// 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.
	CreateFullConfiguration(context.Context, *CreateFullConfigurationRequest) (*CreateFullConfigurationResponse, error)

	// This method is called by a client to create a component legacy configuration for
	// an existing component in an existing conglomeration in the global partition.
	//
	// 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.
	CreateLegacyConfiguration(context.Context, *CreateLegacyConfigurationRequest) (*CreateLegacyConfigurationResponse, error)

	// This method is called by a client to convert an existing component legacy configuration
	// for a component into a component full configuration for that component.
	//
	// 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.
	PromoteLegacyConfiguration(context.Context, *PromoteLegacyConfigurationRequest) (*PromoteLegacyConfigurationResponse, error)

	// 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 any partition.
	//
	// 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.
	RegisterModule2(context.Context, *RegisterModule2Request) (*RegisterModule2Response, error)
}

IRegister2 server interface.

type RegisterModule2Request

type RegisterModule2Request 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.
	ConglomerationID *dtyp.GUID `idl:"name:ConglomerationIdentifier" json:"conglomeration_id"`
	// PartitionIdentifier:  The partition identifier of the partition in which the conglomeration
	// identified by ConglomerationIdentifier is contained, or against which the modules
	// are to be verified.
	PartitionID *dtyp.GUID `idl:"name:PartitionIdentifier" json:"partition_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.
	//
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	|                                   |                                                                                  |
	//	|               FLAG                |                                     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"`
}

RegisterModule2Request structure represents the RegisterModule2 operation request

func (*RegisterModule2Request) MarshalNDR

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

func (*RegisterModule2Request) UnmarshalNDR

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

type RegisterModule2Response

type RegisterModule2Response 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 representing 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<325> 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 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 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 RegisterModule2 return value.
	Return int32 `idl:"name:Return" json:"return"`
}

RegisterModule2Response structure represents the RegisterModule2 operation response

func (*RegisterModule2Response) MarshalNDR

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

func (*RegisterModule2Response) UnmarshalNDR

func (o *RegisterModule2Response) 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