itypecomp

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Jul 18, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ITypeComp interface identifier 00020403-0000-0000-c000-000000000046
	TypeCompIID = &dcom.IID{Data1: 0x00020403, Data2: 0x0000, Data3: 0x0000, Data4: []byte{0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}
	// Syntax UUID
	TypeCompSyntaxUUID = &uuid.UUID{TimeLow: 0x20403, TimeMid: 0x0, TimeHiAndVersion: 0x0, ClockSeqHiAndReserved: 0xc0, ClockSeqLow: 0x0, Node: [6]uint8{0x0, 0x0, 0x0, 0x0, 0x0, 0x46}}
	// Syntax ID
	TypeCompSyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: TypeCompSyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "dcom/oaut"
)

Functions

func NewTypeCompServerHandle

func NewTypeCompServerHandle(o TypeCompServer) dcerpc.ServerHandle

func RegisterTypeCompServer

func RegisterTypeCompServer(conn dcerpc.Conn, o TypeCompServer, opts ...dcerpc.Option)

func TypeCompServerHandle

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

Types

type BindRequest

type BindRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// szName: MUST be set to a string.
	Name string `idl:"name:szName" json:"name"`
	// lHashVal: MUST be set to the hash value that corresponds to the value of szName (as
	// specified in section 2.2.51) or 0. Whether 0 or a computed hash value is specified
	// for this argument, the server MUST return the same values in ppTInfo, pDescKind,
	// ppFuncDesc, ppVarDesc, and ppTypeComp.
	HashValue uint32 `idl:"name:lHashVal" json:"hash_value"`
	// wFlags: MUST be set to a value of the INVOKEKIND enumeration, as specified in section
	// 2.2.14, or 0.
	Flags uint16 `idl:"name:wFlags" json:"flags"`
}

BindRequest structure represents the Bind operation request

func (*BindRequest) MarshalNDR

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

func (*BindRequest) UnmarshalNDR

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

type BindResponse

type BindResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// ppTInfo: MUST be set to a reference to the ITypeInfo server instance that corresponds
	// to the element whose name matches the value of szName or NULL, as specified in sections
	// 3.5.4.1.2 and 2.2.50. MUST be set to NULL if szName does not match the name of any
	// element in the binding context (see section 3.5.4.1.1).
	TypeInfo *oaut.TypeInfo `idl:"name:ppTInfo" json:"type_info"`
	// pDescKind: MUST be set to one of the following values of the DESCKIND enumeration
	// (section 2.2.22):
	//
	// * MUST be set to DESCKIND_FUNCDESC if the values of szName and wFlags specify a method
	// or property accessor method in the binding context of the ITypeComp server ( 7894019f-de1e-455e-b2aa-3b899c2e50f6
	// ).
	//
	// * MUST be set to DESCKIND_VARDESC if the values of szName and wFlags specify a data
	// member of an enumeration, module, or ODL dispinterface ( 5583e1b8-454c-4147-9f56-f72416a15bee#gt_544446d5-79ab-4b08-85c4-214f1b64fdf2
	// ) in the binding context of the ITypeComp server, or if the binding server is an
	// ITypeLib server ( 5daecf67-bc6e-4e17-bcf8-797bdba1748b ) and szName specifies the
	// name of an appobject coclass ( 5583e1b8-454c-4147-9f56-f72416a15bee#gt_670b0ee2-d101-41b0-ac77-6ac7dbeee7dc
	// ) in the binding context of the ITypeComp server.
	//
	// * MUST be set to DESCKIND_TYPECOMP if the value of szName specifies an enumeration
	// or module in the binding context of the ITypeComp server.
	//
	// * MUST be set to DESCKIND_IMPLICITAPPOBJ if the binding server is an ITypeLib server,
	// the value of szName specifies an element in the binding context of an appobject coclass,
	// and the appobject coclass is in the binding context of the ITypeComp server.
	//
	// * Otherwise, MUST be set to DESCKIND_NONE.
	DescKind oaut.DescKind `idl:"name:pDescKind" json:"desc_kind"`
	// ppFuncDesc: MUST be set to a FUNCDESC that describes the method or property whose
	// name matches the value of szName, if pDescKind is DESCKIND_FUNCDESC. Otherwise, MUST
	// be set to NULL.
	FuncDesc *oaut.FuncDesc `idl:"name:ppFuncDesc" json:"func_desc"`
	// ppVarDesc: MUST be set to a value that is specified by the value of pDescKind.
	//
	// * DESCKIND_VARDESC: MUST be set to a VARDESC that describes a data member of an enumeration,
	// module, or ODL dispinterface if the name of the data member matches szName.
	//
	// * DESCKIND_IMPLICITAPPOBJ: MUST be set to a VARDESC that describes the appobject
	// coclass whose binding context contains a member whose name matches szName.
	//
	// * DESCKIND_FUNCDESC, DESCKIND_TYPECOMP, DESCKIND_NONE: MUST be set to NULL.
	VarDesc *oaut.VarDesc `idl:"name:ppVarDesc" json:"var_desc"`
	// ppTypeComp: MUST be set to a reference to an ITypeComp server instance that provides
	// access to the binding context of the bound element, if pDescKind is DESCKIND_TYPECOMP
	// or DESCKIND_IMPLICITAPPOBJ. Otherwise, MUST be set to NULL.
	TypeComp *oaut.TypeComp `idl:"name:ppTypeComp" json:"type_comp"`
	// Return: The Bind return value.
	Return int32 `idl:"name:Return" json:"return"`
}

BindResponse structure represents the Bind operation response

func (*BindResponse) MarshalNDR

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

func (*BindResponse) UnmarshalNDR

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

type BindTypeRequest

type BindTypeRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// szName: MUST be set to a string.
	Name string `idl:"name:szName" json:"name"`
	// lHashVal: MUST be the hash value associated with the value of szName as specified
	// in section 2.2.51, or 0. The server MUST return the same values in ppTInfo in either
	// case.
	HashValue uint32 `idl:"name:lHashVal" json:"hash_value"`
}

BindTypeRequest structure represents the BindType operation request

func (*BindTypeRequest) MarshalNDR

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

func (*BindTypeRequest) UnmarshalNDR

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

type BindTypeResponse

type BindTypeResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// ppTInfo: MUST be set to a reference to an ITypeInfo server instance, or NULL.
	//
	// If the ITypeComp server is associated with an ITypeLib server, ppTInfo MUST specify
	// a type defined in its automation scope whose name matches the value of szName according
	// to the string-matching criteria specified in section 2.2.50, or be set to NULL if
	// no such type exists.
	TypeInfo *oaut.TypeInfo `idl:"name:ppTInfo" json:"type_info"`
	// Return: The BindType return value.
	Return int32 `idl:"name:Return" json:"return"`
}

BindTypeResponse structure represents the BindType operation response

func (*BindTypeResponse) MarshalNDR

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

func (*BindTypeResponse) UnmarshalNDR

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

type TypeCompClient

type TypeCompClient interface {

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

	// The Bind method retrieves automation type description server instances and related
	// structures that provide access to a method, property or data member whose name corresponds
	// to a specified string.
	//
	// Return Values: The method MUST return information in an HRESULT data structure, which
	// is defined in [MS-ERREF] section 2.1. The severity bit in the structure identifies
	// the following conditions:
	//
	// * If the severity bit is set to 0, the method completed successfully.
	//
	// * If the severity bit is set to 1 and the entire HRESULT DWORD does not match a value
	// in the following table, a fatal failure occurred.
	//
	// * If the severity bit is set to 1 and the entire HRESULT DWORD matches a value in
	// the following table, a failure occurred.
	//
	// Return value/code
	//
	// # Description
	//
	// 0x8002802C
	//
	// TYPE_E_AMBIGUOUSNAME
	//
	// The values of szName and wFlags match more than one element in the binding context.
	// See [MS-ERREF].
	//
	// 0x80028CA0
	//
	// TYPE_E_TYPEMISMATCH
	//
	// The value of szName matched a single element in the binding context, but the *INVOKEKIND*
	// value that is associated with that element did not match the value of wFlags. See
	// [MS-ERREF].
	Bind(context.Context, *BindRequest, ...dcerpc.CallOption) (*BindResponse, error)

	// The BindType method retrieves a reference to an automation type description whose
	// name corresponds to a specified string.
	//
	// Return Values: The method MUST return information in an HRESULT data structure, defined
	// in [MS-ERREF] section 2.1. The severity bit in the structure identifies the following
	// conditions:
	//
	// * If the severity bit is set to 0, the method completed successfully.
	//
	// * If the severity bit is set to 1, the method failed and encountered a fatal error.
	BindType(context.Context, *BindTypeRequest, ...dcerpc.CallOption) (*BindTypeResponse, error)

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

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

ITypeComp interface.

func NewTypeCompClient

func NewTypeCompClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (TypeCompClient, error)

type TypeCompServer

type TypeCompServer interface {

	// IUnknown base class.
	iunknown.UnknownServer

	// The Bind method retrieves automation type description server instances and related
	// structures that provide access to a method, property or data member whose name corresponds
	// to a specified string.
	//
	// Return Values: The method MUST return information in an HRESULT data structure, which
	// is defined in [MS-ERREF] section 2.1. The severity bit in the structure identifies
	// the following conditions:
	//
	// * If the severity bit is set to 0, the method completed successfully.
	//
	// * If the severity bit is set to 1 and the entire HRESULT DWORD does not match a value
	// in the following table, a fatal failure occurred.
	//
	// * If the severity bit is set to 1 and the entire HRESULT DWORD matches a value in
	// the following table, a failure occurred.
	//
	// Return value/code
	//
	// # Description
	//
	// 0x8002802C
	//
	// TYPE_E_AMBIGUOUSNAME
	//
	// The values of szName and wFlags match more than one element in the binding context.
	// See [MS-ERREF].
	//
	// 0x80028CA0
	//
	// TYPE_E_TYPEMISMATCH
	//
	// The value of szName matched a single element in the binding context, but the *INVOKEKIND*
	// value that is associated with that element did not match the value of wFlags. See
	// [MS-ERREF].
	Bind(context.Context, *BindRequest) (*BindResponse, error)

	// The BindType method retrieves a reference to an automation type description whose
	// name corresponds to a specified string.
	//
	// Return Values: The method MUST return information in an HRESULT data structure, defined
	// in [MS-ERREF] section 2.1. The severity bit in the structure identifies the following
	// conditions:
	//
	// * If the severity bit is set to 0, the method completed successfully.
	//
	// * If the severity bit is set to 1, the method failed and encountered a fatal error.
	BindType(context.Context, *BindTypeRequest) (*BindTypeResponse, error)
}

ITypeComp server interface.

Jump to

Keyboard shortcuts

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