Documentation ¶
Index ¶
- Variables
- func NewObjectExporterServerHandle(o ObjectExporterServer) dcerpc.ServerHandle
- func ObjectExporterServerHandle(ctx context.Context, o ObjectExporterServer, opNum int, r ndr.Reader) (dcerpc.Operation, error)
- func RegisterObjectExporterServer(conn dcerpc.Conn, o ObjectExporterServer, opts ...dcerpc.Option)
- type ComplexPingRequest
- type ComplexPingResponse
- type ObjectExporterClient
- type ObjectExporterServer
- type ResolveOXIDRequest
- type ResolveOXIDResponse
- type ResolveOxid2Request
- type ResolveOxid2Response
- type ServerAlive2Request
- type ServerAlive2Response
- type ServerAliveRequest
- type ServerAliveResponse
- type SimplePingRequest
- type SimplePingResponse
Constants ¶
This section is empty.
Variables ¶
var ( // Syntax UUID ObjectExporterSyntaxUUID = &uuid.UUID{TimeLow: 0x99fcfec4, TimeMid: 0x5260, TimeHiAndVersion: 0x101b, ClockSeqHiAndReserved: 0xbb, ClockSeqLow: 0xcb, Node: [6]uint8{0x0, 0xaa, 0x0, 0x21, 0x34, 0x7a}} // Syntax ID ObjectExporterSyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: ObjectExporterSyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0} )
var (
// import guard
GoPackage = "dcom"
)
Functions ¶
func NewObjectExporterServerHandle ¶
func NewObjectExporterServerHandle(o ObjectExporterServer) dcerpc.ServerHandle
func RegisterObjectExporterServer ¶
func RegisterObjectExporterServer(conn dcerpc.Conn, o ObjectExporterServer, opts ...dcerpc.Option)
Types ¶
type ComplexPingRequest ¶
type ComplexPingRequest struct { // pSetId: This MUST specify the SETID of the ping set to ping. If the SETID specified // by the client is zero, the object resolver MUST return the SETID of a new ping set // containing the OIDs specified in AddToSet. If the SETID specified by the client is // not zero, the object exporter MUST not change the SETID. SetID uint64 `idl:"name:pSetId" json:"set_id"` // SequenceNum: This MUST specify a sequence number shared between the client and the // object resolver. SequenceNum uint16 `idl:"name:SequenceNum" json:"sequence_num"` // cAddToSet: This MUST specify the number of OIDs in the AddToSet array. AddToSetCount uint16 `idl:"name:cAddToSet" json:"add_to_set_count"` // cDelFromSet: This MUST specify the number of OIDs in the DelFromSet array. DeleteFromSetCount uint16 `idl:"name:cDelFromSet" json:"delete_from_set_count"` // AddToSet: This MUST specify an array of OIDs to add to the set. AddToSet []uint64 `idl:"name:AddToSet;size_is:(cAddToSet);pointer:unique" json:"add_to_set"` // DelFromSet: This MUST specify an array of OIDs to remove from the set. DeleteFromSet []uint64 `idl:"name:DelFromSet;size_is:(cDelFromSet);pointer:unique" json:"delete_from_set"` }
ComplexPingRequest structure represents the ComplexPing operation request
func (*ComplexPingRequest) MarshalNDR ¶
func (*ComplexPingRequest) UnmarshalNDR ¶
type ComplexPingResponse ¶
type ComplexPingResponse struct { // pSetId: This MUST specify the SETID of the ping set to ping. If the SETID specified // by the client is zero, the object resolver MUST return the SETID of a new ping set // containing the OIDs specified in AddToSet. If the SETID specified by the client is // not zero, the object exporter MUST not change the SETID. SetID uint64 `idl:"name:pSetId" json:"set_id"` // pPingBackoffFactor: This MUST contain a hint to reduce ping load on the server. Servers // MAY set the hint to an implementation-specific value. Clients MAY choose to treat // this as zero always.<55> PingBackoffFactor uint16 `idl:"name:pPingBackoffFactor" json:"ping_backoff_factor"` // Return: The ComplexPing return value. Return uint32 `idl:"name:Return" json:"return"` }
ComplexPingResponse structure represents the ComplexPing operation response
func (*ComplexPingResponse) MarshalNDR ¶
func (*ComplexPingResponse) UnmarshalNDR ¶
type ObjectExporterClient ¶
type ObjectExporterClient interface { // The ResolveOxid method returns the bindings and Remote Unknown IPID for an object // exporter. ResolveOXID(context.Context, *ResolveOXIDRequest, ...dcerpc.CallOption) (*ResolveOXIDResponse, error) // The SimplePing method performs a ping of a previously allocated ping set to maintain // the reference counts on the objects referred to by the set. SimplePing(context.Context, *SimplePingRequest, ...dcerpc.CallOption) (*SimplePingResponse, error) // The ComplexPing (Opnum 2) method is invoked to create or modify a ping set, to ping // a ping set, or to perform a combination of these operations in one invocation. ComplexPing(context.Context, *ComplexPingRequest, ...dcerpc.CallOption) (*ComplexPingResponse, error) // The ServerAlive (Opnum 3) method is used by clients to test the aliveness of the // server using a given RPC protocol. If it returns without an error, the server is // assumed to be reachable. ServerAlive(context.Context, *ServerAliveRequest, ...dcerpc.CallOption) (*ServerAliveResponse, error) // The ResolveOxid2 method returns the bindings and Remote Unknown IPID for an object // exporter, and the COMVERSION of the object server. This method was introduced with // version 5.2 of the DCOM Remote Protocol. ResolveOxid2(context.Context, *ResolveOxid2Request, ...dcerpc.CallOption) (*ResolveOxid2Response, error) // The ServerAlive2 (Opnum 5) method was introduced with version 5.6 of the DCOM Remote // Protocol. This method extends the ServerAlive method. It returns string and security // bindings for the object resolver, which allows the client to choose the most appropriate, // mutually compatible settings. ServerAlive2(context.Context, *ServerAlive2Request, ...dcerpc.CallOption) (*ServerAlive2Response, error) // AlterContext alters the client context. AlterContext(context.Context, ...dcerpc.Option) error // Conn returns the client connection (unsafe) Conn() dcerpc.Conn }
IObjectExporter interface.
func NewObjectExporterClient ¶
type ObjectExporterServer ¶
type ObjectExporterServer interface { // The ResolveOxid method returns the bindings and Remote Unknown IPID for an object // exporter. ResolveOXID(context.Context, *ResolveOXIDRequest) (*ResolveOXIDResponse, error) // The SimplePing method performs a ping of a previously allocated ping set to maintain // the reference counts on the objects referred to by the set. SimplePing(context.Context, *SimplePingRequest) (*SimplePingResponse, error) // The ComplexPing (Opnum 2) method is invoked to create or modify a ping set, to ping // a ping set, or to perform a combination of these operations in one invocation. ComplexPing(context.Context, *ComplexPingRequest) (*ComplexPingResponse, error) // The ServerAlive (Opnum 3) method is used by clients to test the aliveness of the // server using a given RPC protocol. If it returns without an error, the server is // assumed to be reachable. ServerAlive(context.Context, *ServerAliveRequest) (*ServerAliveResponse, error) // The ResolveOxid2 method returns the bindings and Remote Unknown IPID for an object // exporter, and the COMVERSION of the object server. This method was introduced with // version 5.2 of the DCOM Remote Protocol. ResolveOxid2(context.Context, *ResolveOxid2Request) (*ResolveOxid2Response, error) // The ServerAlive2 (Opnum 5) method was introduced with version 5.6 of the DCOM Remote // Protocol. This method extends the ServerAlive method. It returns string and security // bindings for the object resolver, which allows the client to choose the most appropriate, // mutually compatible settings. ServerAlive2(context.Context, *ServerAlive2Request) (*ServerAlive2Response, error) }
IObjectExporter server interface.
type ResolveOXIDRequest ¶
type ResolveOXIDRequest struct { // pOxid: This MUST specify an OXID identifying an object exporter. OXID uint64 `idl:"name:pOxid" json:"oxid"` // cRequestedProtseqs: This MUST contain the number of elements in the arRequestedProtseqs // array. RequestedProtocolSequencesCount uint16 `idl:"name:cRequestedProtseqs" json:"requested_protocol_sequences_count"` // arRequestedProtseqs: This MUST contain an array of RPC protocol sequence identifiers // supported by the client. RequestedProtocolSequences []uint16 `idl:"name:arRequestedProtseqs;size_is:(cRequestedProtseqs);pointer:ref" json:"requested_protocol_sequences"` }
ResolveOXIDRequest structure represents the ResolveOxid operation request
func (*ResolveOXIDRequest) MarshalNDR ¶
func (*ResolveOXIDRequest) UnmarshalNDR ¶
type ResolveOXIDResponse ¶
type ResolveOXIDResponse struct { // 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;pointer:ref" json:"oxid_bindings"` // pipidRemUnknown: This MUST contain the IPID of the object exporter Remote Unknown // object. RemoteUnknown *dcom.IPID `idl:"name:pipidRemUnknown;pointer:ref" json:"remote_unknown"` // pAuthnHint: This SHOULD contain an RPC authentication level (see [MS-RPCE] section // 2.2.1.1.8) that indicates the minimum authentication level supported by the object // exporter, which MAY be ignored by the client.<52> AuthnHint uint32 `idl:"name:pAuthnHint;pointer:ref" json:"authn_hint"` // Return: The ResolveOxid return value. Return uint32 `idl:"name:Return" json:"return"` }
ResolveOXIDResponse structure represents the ResolveOxid operation response
func (*ResolveOXIDResponse) MarshalNDR ¶
func (*ResolveOXIDResponse) UnmarshalNDR ¶
type ResolveOxid2Request ¶
type ResolveOxid2Request struct { // pOxid: This MUST specify an OXID identifying an object exporter. OXID uint64 `idl:"name:pOxid" json:"oxid"` // cRequestedProtseqs: This MUST contain the number of elements in the arRequestedProtseqs // array. RequestedProtocolSequencesCount uint16 `idl:"name:cRequestedProtseqs" json:"requested_protocol_sequences_count"` // arRequestedProtseqs: This MUST contain an array of RPC protocol sequence identifiers // supported by the client. RequestedProtocolSequences []uint16 `idl:"name:arRequestedProtseqs;size_is:(cRequestedProtseqs);pointer:ref" json:"requested_protocol_sequences"` }
ResolveOxid2Request structure represents the ResolveOxid2 operation request
func (*ResolveOxid2Request) MarshalNDR ¶
func (*ResolveOxid2Request) UnmarshalNDR ¶
type ResolveOxid2Response ¶
type ResolveOxid2Response struct { // 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;pointer:ref" json:"oxid_bindings"` // pipidRemUnknown: This MUST contain the IPID of the object exporter Remote Unknown // object. RemoteUnknown *dcom.IPID `idl:"name:pipidRemUnknown;pointer:ref" 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 object // exporter.<57> AuthnHint uint32 `idl:"name:pAuthnHint;pointer:ref" json:"authn_hint"` // pComVersion: This MUST contain the COMVERSION of the object exporter. For details, // see section 2.2.11. COMVersion *dcom.COMVersion `idl:"name:pComVersion;pointer:ref" json:"com_version"` // Return: The ResolveOxid2 return value. Return uint32 `idl:"name:Return" json:"return"` }
ResolveOxid2Response structure represents the ResolveOxid2 operation response
func (*ResolveOxid2Response) MarshalNDR ¶
func (*ResolveOxid2Response) UnmarshalNDR ¶
type ServerAlive2Request ¶
type ServerAlive2Request struct { }
ServerAlive2Request structure represents the ServerAlive2 operation request
func (*ServerAlive2Request) MarshalNDR ¶
func (*ServerAlive2Request) UnmarshalNDR ¶
type ServerAlive2Response ¶
type ServerAlive2Response struct { // pComVersion: This MUST contain the COMVERSION of the object resolver; see section // 2.2.11. COMVersion *dcom.COMVersion `idl:"name:pComVersion;pointer:ref" json:"com_version"` // ppdsaOrBindings: MUST contain the string and security bindings of the object resolver. // The returned string bindings MUST NOT contain endpoints. ObjectResolverBindings *dcom.DualStringArray `idl:"name:ppdsaOrBindings;pointer:ref" json:"object_resolver_bindings"` // Return: The ServerAlive2 return value. Return uint32 `idl:"name:Return" json:"return"` }
ServerAlive2Response structure represents the ServerAlive2 operation response
func (*ServerAlive2Response) MarshalNDR ¶
func (*ServerAlive2Response) UnmarshalNDR ¶
type ServerAliveRequest ¶
type ServerAliveRequest struct { }
ServerAliveRequest structure represents the ServerAlive operation request
func (*ServerAliveRequest) MarshalNDR ¶
func (*ServerAliveRequest) UnmarshalNDR ¶
type ServerAliveResponse ¶
type ServerAliveResponse struct { // Return: The ServerAlive return value. Return uint32 `idl:"name:Return" json:"return"` }
ServerAliveResponse structure represents the ServerAlive operation response
func (*ServerAliveResponse) MarshalNDR ¶
func (*ServerAliveResponse) UnmarshalNDR ¶
type SimplePingRequest ¶
type SimplePingRequest struct { // pSetId: MUST specify a SETID of the ping set to ping. This parameter MUST specify // a SETID previously returned from a call to IObjectExporter::ComplexPing. SetID uint64 `idl:"name:pSetId" json:"set_id"` }
SimplePingRequest structure represents the SimplePing operation request
func (*SimplePingRequest) MarshalNDR ¶
func (*SimplePingRequest) UnmarshalNDR ¶
type SimplePingResponse ¶
type SimplePingResponse struct { // Return: The SimplePing return value. Return uint32 `idl:"name:Return" json:"return"` }
SimplePingResponse structure represents the SimplePing operation response