Documentation ¶
Index ¶
- Constants
- Variables
- func ActivationServerHandle(ctx context.Context, o ActivationServer, opNum int, r ndr.Reader) (dcerpc.Operation, error)
- func NewActivationServerHandle(o ActivationServer) dcerpc.ServerHandle
- func RegisterActivationServer(conn dcerpc.Conn, o ActivationServer, opts ...dcerpc.Option)
- type ActivationClient
- type ActivationServer
- type RemoteActivationRequest
- type RemoteActivationResponse
Constants ¶
View Source
const MaxRequestedInterfaces = 0x00008000
MaxRequestedInterfaces represents the MAX_REQUESTED_INTERFACES RPC constant
View Source
const MaxRequestedProtocolSequences = 0x00008000
MaxRequestedProtocolSequences represents the MAX_REQUESTED_PROTSEQS RPC constant
Variables ¶
View Source
var ( // Syntax UUID ActivationSyntaxUUID = &uuid.UUID{TimeLow: 0x4d9f4ab8, TimeMid: 0x7d1c, TimeHiAndVersion: 0x11cf, ClockSeqHiAndReserved: 0x86, ClockSeqLow: 0x1e, Node: [6]uint8{0x0, 0x20, 0xaf, 0x6e, 0x7c, 0x57}} // Syntax ID ActivationSyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: ActivationSyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0} )
View Source
var (
// import guard
GoPackage = "dcom"
)
Functions ¶
func ActivationServerHandle ¶
func NewActivationServerHandle ¶
func NewActivationServerHandle(o ActivationServer) dcerpc.ServerHandle
func RegisterActivationServer ¶
func RegisterActivationServer(conn dcerpc.Conn, o ActivationServer, opts ...dcerpc.Option)
Types ¶
type ActivationClient ¶
type ActivationClient interface { // The RemoteActivation (Opnum 0) method is used by clients to request the activation // of an object. It returns the bindings, the IPID for the Remote Unknown, and the COMVERSION // of the object exporter that hosts the object. RemoteActivation(context.Context, *RemoteActivationRequest, ...dcerpc.CallOption) (*RemoteActivationResponse, error) // AlterContext alters the client context. AlterContext(context.Context, ...dcerpc.Option) error }
IActivation interface.
func NewActivationClient ¶
type ActivationServer ¶
type ActivationServer interface { // The RemoteActivation (Opnum 0) method is used by clients to request the activation // of an object. It returns the bindings, the IPID for the Remote Unknown, and the COMVERSION // of the object exporter that hosts the object. RemoteActivation(context.Context, *RemoteActivationRequest) (*RemoteActivationResponse, error) }
IActivation server interface.
type RemoteActivationRequest ¶
type RemoteActivationRequest struct { // ORPCthis: This MUST specify an ORPCTHIS. The COMVERSION field SHOULD contain the // negotiated version, as described in section 1.7. The extensions field MUST be set // to NULL. ORPCThis *dcom.ORPCThis `idl:"name:ORPCthis" json:"orpc_this"` // Clsid: This MUST specify the CLSID of the object to be created. ClassID *dtyp.GUID `idl:"name:Clsid" json:"class_id"` // pwszObjectName: This MAY contain a string to be used to initialize the object.<68> ObjectName string `idl:"name:pwszObjectName;string;pointer:unique" json:"object_name"` // pObjectStorage: This MAY contain a marshaled OBJREF to be used to initialize the // object.<69> ObjectStorage *dcom.InterfacePointer `idl:"name:pObjectStorage;pointer:unique" json:"object_storage"` // ClientImpLevel: This MUST contain an implementation-specific value that MUST be // ignored on receipt.<70> ClientImpLevel uint32 `idl:"name:ClientImpLevel" json:"client_imp_level"` // Mode: If the activation is for a class factory reference, this parameter MUST be // 0xFFFFFFFF. Otherwise, it MUST be 0, except when the client specifies an initialization // string in pwszObjectName. If it does, this field MAY contain an implementation-specific // value.<71> Mode uint32 `idl:"name:Mode" json:"mode"` // Interfaces: This MUST contain the number of elements in pIIDs. This value MUST be // between 1 and MAX_REQUESTED_INTERFACES; see section 2.2.28.1. Interfaces uint32 `idl:"name:Interfaces" json:"interfaces"` // pIIDs: This MUST be an array of requested IIDs on the object to be created. IIDs []*dcom.IID `idl:"name:pIIDs;size_is:(Interfaces);pointer:unique" json:"iids"` // cRequestedProtseqs: This MUST contain the number of elements in aRequestedProtseqs. // This value MUST be between 1 and MAX_REQUESTED_PROTSEQS (see section 2.2.28.1). RequestedProtocolSequencesCount uint16 `idl:"name:cRequestedProtseqs" json:"requested_protocol_sequences_count"` // aRequestedProtseqs: This MUST specify an array of RPC protocol sequence identifiers // that the client supports. RequestedProtocolSequences []uint16 `idl:"name:aRequestedProtseqs;size_is:(cRequestedProtseqs)" json:"requested_protocol_sequences"` }
RemoteActivationRequest structure represents the RemoteActivation operation request
func (*RemoteActivationRequest) MarshalNDR ¶
func (*RemoteActivationRequest) UnmarshalNDR ¶
type RemoteActivationResponse ¶
type RemoteActivationResponse struct { // ORPCthat: This MUST contain an ORPCTHAT. The extensions field MUST be set to NULL. ORPCThat *dcom.ORPCThat `idl:"name:ORPCthat" json:"orpc_that"` // pOxid: This MUST contain an OXID value identifying the object exporter containing // this object. OXID uint64 `idl:"name:pOxid" json:"oxid"` // ppdsaOxidBindings: This MUST contain the string and security bindings supported // by the object exporter and MUST NOT be NULL. The returned string bindings SHOULD // contain endpoints. OXIDBindings *dcom.DualStringArray `idl:"name:ppdsaOxidBindings" json:"oxid_bindings"` // pipidRemUnknown: This MUST contain the IPID of the object exporter Remote Unknown // object. RemoteUnknown *dcom.IPID `idl:"name:pipidRemUnknown" json:"remote_unknown"` // pAuthnHint: This SHOULD contain an RPC authentication level (see [MS-RPCE] section // 2.2.1.1.8) that denotes the minimum authentication level supported by the server. // This MAY be ignored by the client.<72> AuthnHint uint32 `idl:"name:pAuthnHint" json:"authn_hint"` // pServerVersion: This MUST contain the COMVERSION of the object exporter. For details, // see section 2.2.11. ServerVersion *dcom.COMVersion `idl:"name:pServerVersion" json:"server_version"` // phr: An HRESULT that indicates the result of the activation. Success codes other // than 0x00000000 MUST NOT be used. HResult int32 `idl:"name:phr" json:"hresult"` // ppInterfaceData: This MUST contain an array of MInterfacePointer structures containing // the results for each requested interface. InterfaceData []*dcom.InterfacePointer `idl:"name:ppInterfaceData;size_is:(Interfaces)" json:"interface_data"` // pResults: If the phr parameter contains 0x00000000, this MUST contain an array of // HRESULTs containing the results of querying the object for each interface in pIIDs. // Success codes other than 0x00000000 MUST NOT be used in the results array. If the // phr parameter contains a failure value, this MUST contain an array of 0x00000000 // values, one for each interface in pIIDs. Results []int32 `idl:"name:pResults;size_is:(Interfaces)" json:"results"` // Return: The RemoteActivation return value. Return uint32 `idl:"name:Return" json:"return"` }
RemoteActivationResponse structure represents the RemoteActivation operation response
func (*RemoteActivationResponse) MarshalNDR ¶
func (*RemoteActivationResponse) UnmarshalNDR ¶
Click to show internal directories.
Click to hide internal directories.