iimport

package
v0.1.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 (
	// IImport interface identifier c2be6970-df9e-11d1-8b87-00c04fd7a924
	ImportIID = &dcom.IID{Data1: 0xc2be6970, Data2: 0xdf9e, Data3: 0x11d1, Data4: []byte{0x8b, 0x87, 0x00, 0xc0, 0x4f, 0xd7, 0xa9, 0x24}}
	// Syntax UUID
	ImportSyntaxUUID = &uuid.UUID{TimeLow: 0xc2be6970, TimeMid: 0xdf9e, TimeHiAndVersion: 0x11d1, ClockSeqHiAndReserved: 0x8b, ClockSeqLow: 0x87, Node: [6]uint8{0x0, 0xc0, 0x4f, 0xd7, 0xa9, 0x24}}
	// Syntax ID
	ImportSyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: ImportSyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "dcom/coma"
)

Functions

func ImportServerHandle

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

func NewImportServerHandle

func NewImportServerHandle(o ImportServer) dcerpc.ServerHandle

func RegisterImportServer

func RegisterImportServer(conn dcerpc.Conn, o ImportServer, opts ...dcerpc.Option)

Types

type ImportClient

type ImportClient interface {

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

	// This method is called by a client to import one or more conglomerations from an installer
	// package file. Importing a conglomeration from an installer package file conceptually
	// consists of installation of modules, including the registration of the components
	// in those modules, and creating a conglomeration and component configurations equivalent
	// to the conglomeration and the component configurations that were exported to create
	// the installer package file. As a side effect, this method returns implementation-specific
	// detailed results of the registration 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.
	//
	//	+-------------------+--------------------------+
	//	|      RETURN       |                          |
	//	|    VALUE/CODE     |       DESCRIPTION        |
	//	|                   |                          |
	//	+-------------------+--------------------------+
	//	+-------------------+--------------------------+
	//	| 0x00000000 S_OK   | The call was successful. |
	//	+-------------------+--------------------------+
	ImportFromFile(context.Context, *ImportFromFileRequest, ...dcerpc.CallOption) (*ImportFromFileResponse, error)

	// This method is called by a client to retrieve information about an installer package
	// file.
	//
	// 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.
	//
	//	+-------------------+--------------------------+
	//	|      RETURN       |                          |
	//	|    VALUE/CODE     |       DESCRIPTION        |
	//	|                   |                          |
	//	+-------------------+--------------------------+
	//	+-------------------+--------------------------+
	//	| 0x00000000 S_OK   | The call was successful. |
	//	+-------------------+--------------------------+
	QueryFile(context.Context, *QueryFileRequest, ...dcerpc.CallOption) (*QueryFileResponse, error)

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

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

IImport interface.

func NewImportClient

func NewImportClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (ImportClient, error)

type ImportFromFileRequest

type ImportFromFileRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// pwszModuleDestination:  Either a path in UNC to a directory that is to be used as
	// the installation target location for modules and other files, or NULL to indicate
	// that a directory is to be selected by the server.
	ModuleDestination string `idl:"name:pwszModuleDestination;string;pointer:unique" json:"module_destination"`
	// pwszInstallerPackage: A path in UNC to a file that the server will recognize as an
	// installer package file.
	InstallerPackage string `idl:"name:pwszInstallerPackage;string" json:"installer_package"`
	// pwszUser: Either a user account name to be used as the RunAsUser property (see section
	// 3.1.1.3.6) for the newly created conglomerations, or NULL to specify that the RunAsUser
	// property for each conglomeration represented in the installer package file is to
	// be used.
	User string `idl:"name:pwszUser;string;pointer:unique" json:"user"`
	// pwszPassword: Either a password to be used as the Password property (see section
	// 3.1.1.3.3) for the newly created conglomerations, or NULL to specify that the Password
	// property is to be set to NULL.
	Password string `idl:"name:pwszPassword;string;pointer:unique" json:"password"`
	// pwszRemoteServerName:  Either a remote server name to be used as the ServerName
	// property (see section 3.1.1.3.6) for the newly created conglomerations if the conglomerations
	// represented in the installer package file are proxy conglomerations; that is, if
	// they have the IsProxyApp property (see section 3.1.1.3.27) set to TRUE (0x00000001)),
	// or NULL for nonproxy conglomerations.
	RemoteServerName string `idl:"name:pwszRemoteServerName;string;pointer:unique" json:"remote_server_name"`
	// dwFlags: MUST be a combination of zero or more of the following flags.
	//
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	|                              |                                                                                  |
	//	|             FLAG             |                                     MEANING                                      |
	//	|                              |                                                                                  |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| fIMPORT_OVERWRITE 0x00000001 | The server is requested to overwrite existing files when installing modules.     |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| fIMPORT_WITHUSERS 0x00000010 | The server is requested to create the role members represented in the installer  |
	//	|                              | package file.                                                                    |
	//	+------------------------------+----------------------------------------------------------------------------------+
	Flags uint32 `idl:"name:dwFlags" json:"flags"`
}

ImportFromFileRequest structure represents the ImportFromFile operation request

func (*ImportFromFileRequest) MarshalNDR

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

func (*ImportFromFileRequest) UnmarshalNDR

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

type ImportFromFileResponse

type ImportFromFileResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// pcModules:  A pointer to a variable that, upon successful completion, MUST be set
	// to the number of modules installed from the installer package file.
	ModulesCount uint32 `idl:"name:pcModules" json:"modules_count"`
	// ppModuleFlags:  A pointer to a variable that upon successful completion, MUST be
	// set to an array of fModuleStatus (section 2.2.3) values representing the detailed
	// results of registration for the modules in ppModules, in the same order.
	ModuleFlags []uint32 `idl:"name:ppModuleFlags;size_is:(, pcModules)" json:"module_flags"`
	// ppModules:  A pointer to a variable that, upon successful completion, MUST be set
	// to an array of strings representing file names of modules installed from the installer
	// package file.
	Modules []string `idl:"name:ppModules;size_is:(, pcModules);string" json:"modules"`
	// pcComponents:  A pointer to a variable that, upon successful completion, MUST be
	// set to the number of components that the server registered or attempted to register.
	ComponentsCount uint32 `idl:"name:pcComponents" json:"components_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 component that the server
	// registered or attempted to register.
	ResultClassIDs []*dtyp.GUID `idl:"name:ppResultCLSIDs;size_is:(, pcComponents)" json:"result_class_ids"`
	// ppResultNames:  A pointer to a variable that, upon successful completion, SHOULD
	// be set to an array of string values, each being an implementation-specific name of
	// a component that the server registered or attempted to register, in the same order
	// as ppResultClsids.
	ResultNames []string `idl:"name:ppResultNames;size_is:(, pcComponents);string" json:"result_names"`
	// ppResultFlags:  A pointer to a variable that, upon successful completion, SHOULD
	// be set to an array of fComponentStatus (section 2.2.4) values, each representing
	// detailed results for a component that the server registered or attempted to register,
	// in the same order as ppResultClsids.
	ResultFlags []uint32 `idl:"name:ppResultFlags;size_is:(, pcComponents)" json:"result_flags"`
	// ppResultHRs:  A pointer to a variable that, upon successful completion, SHOULD be
	// set to an array of LONG values, each representing an HRESULT ([MS-ERREF] section
	// 2.1) for a component that the server registered or attempted to register, in the
	// same order as ppResultClsids.
	ResultHRs []int32 `idl:"name:ppResultHRs;size_is:(, pcComponents)" json:"result_h_rs"`
	// Return: The ImportFromFile return value.
	Return int32 `idl:"name:Return" json:"return"`
}

ImportFromFileResponse structure represents the ImportFromFile operation response

func (*ImportFromFileResponse) MarshalNDR

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

func (*ImportFromFileResponse) UnmarshalNDR

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

type ImportServer

type ImportServer interface {

	// IUnknown base class.
	iunknown.UnknownServer

	// This method is called by a client to import one or more conglomerations from an installer
	// package file. Importing a conglomeration from an installer package file conceptually
	// consists of installation of modules, including the registration of the components
	// in those modules, and creating a conglomeration and component configurations equivalent
	// to the conglomeration and the component configurations that were exported to create
	// the installer package file. As a side effect, this method returns implementation-specific
	// detailed results of the registration 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.
	//
	//	+-------------------+--------------------------+
	//	|      RETURN       |                          |
	//	|    VALUE/CODE     |       DESCRIPTION        |
	//	|                   |                          |
	//	+-------------------+--------------------------+
	//	+-------------------+--------------------------+
	//	| 0x00000000 S_OK   | The call was successful. |
	//	+-------------------+--------------------------+
	ImportFromFile(context.Context, *ImportFromFileRequest) (*ImportFromFileResponse, error)

	// This method is called by a client to retrieve information about an installer package
	// file.
	//
	// 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.
	//
	//	+-------------------+--------------------------+
	//	|      RETURN       |                          |
	//	|    VALUE/CODE     |       DESCRIPTION        |
	//	|                   |                          |
	//	+-------------------+--------------------------+
	//	+-------------------+--------------------------+
	//	| 0x00000000 S_OK   | The call was successful. |
	//	+-------------------+--------------------------+
	QueryFile(context.Context, *QueryFileRequest) (*QueryFileResponse, error)
}

IImport server interface.

type QueryFileRequest

type QueryFileRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// pwszInstallerPackage:  A path in UNC to a file that the server will recognize as
	// an installer package file.
	InstallerPackage string `idl:"name:pwszInstallerPackage;string" json:"installer_package"`
}

QueryFileRequest structure represents the QueryFile operation request

func (*QueryFileRequest) MarshalNDR

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

func (*QueryFileRequest) UnmarshalNDR

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

type QueryFileResponse

type QueryFileResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// pdwConglomerations:  A pointer to a variable that, upon successful completion, MUST
	// be set to the number of conglomerations represented in the installer package file.
	Conglomerations uint32 `idl:"name:pdwConglomerations" json:"conglomerations"`
	// ppNames:  A pointer to a variable that, upon successful completion, MUST be set
	// to an array of string values, each of which is the value of the Name property (see
	// section 3.1.1.3.3) of a conglomeration represented in the installer package file.
	Names []string `idl:"name:ppNames;size_is:(, pdwConglomerations);string" json:"names"`
	// ppDescriptions:  A pointer to a variable that, upon successful completion, MUST
	// be set to an array of string values, each of which is the value of the Description
	// property (see section 3.1.1.3.1 ) of a conglomeration represented in the installer
	// package file.
	Descriptions []string `idl:"name:ppDescriptions;size_is:(, pdwConglomerations);string" json:"descriptions"`
	// pdwUsers:  A pointer to a variable that, upon successful completion, MUST be set
	// to the value TRUE (0x00000001) if the installer package file contains configuration
	// for user accounts, and FALSE (0x00000000) otherwise.
	Users uint32 `idl:"name:pdwUsers" json:"users"`
	// pdwIsProxy:  A pointer to a variable that, upon successful completion, MUST be set
	// to the value TRUE (0x00000001) if the installer package file contains a proxy conglomeration,
	// and FALSE (0x00000000) otherwise.
	IsProxy uint32 `idl:"name:pdwIsProxy" json:"is_proxy"`
	// pcModules:  A pointer to a variable that, upon successful completion, MUST be set
	// to the number of module contained in the installer package file.
	ModulesCount uint32 `idl:"name:pcModules" json:"modules_count"`
	// ppModules:  A pointer to a variable that, upon successful completion, MUST be set
	// to an array of strings, one for each module contained in the installer package file,
	// each representing a file name for the module.
	Modules []string `idl:"name:ppModules;size_is:(, pcModules);string" json:"modules"`
	// Return: The QueryFile return value.
	Return int32 `idl:"name:Return" json:"return"`
}

QueryFileResponse structure represents the QueryFile operation response

func (*QueryFileResponse) MarshalNDR

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

func (*QueryFileResponse) UnmarshalNDR

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