Documentation
¶
Index ¶
- Variables
- func IxnRemoteServerHandle(ctx context.Context, o IxnRemoteServer, opNum int, r ndr.Reader) (dcerpc.Operation, error)
- func NewIxnRemoteServerHandle(o IxnRemoteServer) dcerpc.ServerHandle
- func RegisterIxnRemoteServer(conn dcerpc.Conn, o IxnRemoteServer, opts ...dcerpc.Option)
- type BeginTearDownRequest
- type BeginTearDownResponse
- type BindInfoBlob
- type BindVersionSet
- type BoundVersionSet
- type BuildContextRequest
- type BuildContextResponse
- type BuildContextWRequest
- type BuildContextWResponse
- type IxnRemoteClient
- type IxnRemoteServer
- type NegotiateResourcesRequest
- type NegotiateResourcesResponse
- type PokeRequest
- type PokeResponse
- type PokeWRequest
- type PokeWResponse
- type ResourceType
- type SendReceiveRequest
- type SendReceiveResponse
- type SessionRank
- type TearDownContextRequest
- type TearDownContextResponse
- type TeardownType
Constants ¶
This section is empty.
Variables ¶
var ( // Syntax UUID IxnRemoteSyntaxUUID = &uuid.UUID{TimeLow: 0x906b0ce0, TimeMid: 0xc70b, TimeHiAndVersion: 0x1067, ClockSeqHiAndReserved: 0xb3, ClockSeqLow: 0x17, Node: [6]uint8{0x0, 0xdd, 0x1, 0x6, 0x62, 0xda}} // Syntax ID IxnRemoteSyntaxV1_0 = &dcerpc.SyntaxID{IfUUID: IxnRemoteSyntaxUUID, IfVersionMajor: 1, IfVersionMinor: 0} )
var GUIDLength = 37
GUIDLength represents the GUID_LENGTH RPC constant
var (
// import guard
GoPackage = "cmpo"
)
var MaxComputerNameLength = 15
MaxComputerNameLength represents the MAX_COMPUTERNAME_LENGTH RPC constant
Functions ¶
func IxnRemoteServerHandle ¶
func NewIxnRemoteServerHandle ¶
func NewIxnRemoteServerHandle(o IxnRemoteServer) dcerpc.ServerHandle
func RegisterIxnRemoteServer ¶
func RegisterIxnRemoteServer(conn dcerpc.Conn, o IxnRemoteServer, opts ...dcerpc.Option)
Types ¶
type BeginTearDownRequest ¶
type BeginTearDownRequest struct { // contextHandle: An RPC context handle that is correlated with a session object that // is in the Active state. For context handles, see [C706]. ContextHandle *dcetypes.ContextHandle `idl:"name:contextHandle" json:"context_handle"` // tearDownType: The reason for tearing down the session. It MUST be set to 0x00 (TT_FORCE). // // +-------+----------+ // | | | // | VALUE | MEANING | // | | | // +-------+----------+ // +-------+----------+ // | 0x00 | TT_FORCE | // +-------+----------+ TearDownType TeardownType `idl:"name:tearDownType" json:"tear_down_type"` }
BeginTearDownRequest structure represents the BeginTearDown operation request
func (*BeginTearDownRequest) MarshalNDR ¶
func (*BeginTearDownRequest) UnmarshalNDR ¶
type BeginTearDownResponse ¶
type BeginTearDownResponse struct { // Return: The BeginTearDown return value. Return int32 `idl:"name:Return" json:"return"` }
BeginTearDownResponse structure represents the BeginTearDown operation response
func (*BeginTearDownResponse) MarshalNDR ¶
func (*BeginTearDownResponse) UnmarshalNDR ¶
type BindInfoBlob ¶
type BindInfoBlob struct { // dwcbThisStruct (4 bytes): An unsigned 4-byte integer. The size of this structure // in bytes. This value MUST be set to 8. ThisStructureLength uint32 `idl:"name:dwcbThisStruct" json:"this_structure_length"` // grbitComProtocols (4 bytes): A COM_PROTOCOL bit field specifying the RPC protocol // sequences that the partner supports. COMProtocols uint32 `idl:"name:grbitComProtocols" json:"com_protocols"` }
BindInfoBlob structure represents BIND_INFO_BLOB RPC structure.
The BIND_INFO_BLOB packet is a structure containing details on how to bind to a partner.
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 2 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 3 | 1 | | | | | | | | | | | | 0 | | | | | | | | | | 0 | | | | | | | | | | 0 | | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | dwcbThisStruct | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | grbitComProtocols | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
func (*BindInfoBlob) MarshalNDR ¶
func (*BindInfoBlob) UnmarshalNDR ¶
type BindVersionSet ¶
type BindVersionSet struct { // dwMinLevelOne: A 4-byte unsigned integer value containing the minimum supported // MSDTC Connection Manager: OleTx Transports Protocol version. dwMinLevelOne MUST be // less than or equal to dwMaxLevelOne. // // This field indicates whether the unsigned_char_t [C706] version of the Session creation // API calls (Poke/BuildContext) or the wchar_t [C706] version of the Session creation // API calls (PokeW/BuildContextW) are used. This field MUST be one of the following // values: // // +------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +------------+----------------------------------------------------------------------------------+ // +------------+----------------------------------------------------------------------------------+ // | 0x00000001 | The unsigned_char_t version of the Session creation API (Poke and BuildContext) | // | | is used. | // +------------+----------------------------------------------------------------------------------+ // | 0x00000002 | The wchar_t version of the Session creation API (PokeW and BuildContextW) is | // | | used. | // +------------+----------------------------------------------------------------------------------+ MinLevelOne uint32 `idl:"name:dwMinLevelOne" json:"min_level_one"` // dwMaxLevelOne: A 4-byte unsigned integer value containing the maximum version supported // for a level-one session. dwMaxLevelOne MUST be greater than or equal to dwMinLevelOne. // // This field indicates whether the unsigned_char_t version of the Session creation // API calls (Poke/BuildContext) or the wchar_t version of the Session creation API // calls (PokeW/BuildContextW) are used. This field MUST be one of the following values: // // +------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +------------+----------------------------------------------------------------------------------+ // +------------+----------------------------------------------------------------------------------+ // | 0x00000001 | The unsigned_char_t version of the Session creation API (Poke and BuildContext) | // | | is used. | // +------------+----------------------------------------------------------------------------------+ // | 0x00000002 | The wchar_t version of the Session creation API (PokeW and BuildContextW) is | // | | used. | // +------------+----------------------------------------------------------------------------------+ MaxLevelOne uint32 `idl:"name:dwMaxLevelOne" json:"max_level_one"` // dwMinLevelTwo: A 4-byte unsigned integer value containing the minimum version supported // for the level-two protocol session. The value for dwMinLevelTwo MUST be less than // or equal to dwMaxLevelTwo. MinLevelTwo uint32 `idl:"name:dwMinLevelTwo" json:"min_level_two"` // dwMaxLevelTwo: A 4-byte unsigned integer value containing the maximum version supported // for the level-two protocol session. The value for dwMaxLevelTwo MUST be greater than // or equal to dwMinLevelTwo. MaxLevelTwo uint32 `idl:"name:dwMaxLevelTwo" json:"max_level_two"` // dwMinLevelThree: A 4-byte unsigned integer value containing the minimum version // supported for the level-three protocol session. The value for dwMinLevelThree MUST // be less than or equal to dwMaxLevelThree. MinLevelThree uint32 `idl:"name:dwMinLevelThree" json:"min_level_three"` // dwMaxLevelThree: A 4-byte unsigned integer value containing the maximum version // supported for the level-three protocol session. dwMaxLevelThree MUST be greater than // or equal to dwMinLevelThree. MaxLevelThree uint32 `idl:"name:dwMaxLevelThree" json:"max_level_three"` }
BindVersionSet structure represents BIND_VERSION_SET RPC structure.
The BIND_VERSION_SET structure holds three sets of version range values that specify the version ranges supported by a partner for three protocols: this protocol, MSDTC Connection Manager: OleTx Transports Protocol, and two other protocols that are layered on top of this protocol. This is because MSDTC Connection Manager: OleTx Transports Protocol is designed to be a transport protocol over which two other protocols are layered. For the rest of this specification, the protocol that is layered immediately on top of the MSDTC Connection Manager: OleTx Transports Protocol is referred to as the level-two protocol, and the protocol layered on top of the level-two protocol is the level-three protocol. The ranges of level-two version number values and level-three version number values are specific to the level-two protocol and level-three protocol, respectively.
func (*BindVersionSet) MarshalNDR ¶
func (*BindVersionSet) UnmarshalNDR ¶
type BoundVersionSet ¶
type BoundVersionSet struct { // dwLevelOneAccepted: A session level-one bind was successfully created. // // A 4-byte unsigned integer value containing the MSDTC Connection Manager: OleTx Transports // Protocol version that was negotiated with the partner and MUST be used in MSDTC Connection // Manager: OleTx Transports Protocol exchanges with the partner. // // +------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +------------+----------------------------------------------------------------------------------+ // +------------+----------------------------------------------------------------------------------+ // | 0x00000001 | The unsigned_char_t version of the Session creation API (Poke and BuildContext) | // | | is used. | // +------------+----------------------------------------------------------------------------------+ // | 0x00000002 | The wchar_t version of the Session creation API (PokeW and BuildContextW) is | // | | used. | // +------------+----------------------------------------------------------------------------------+ LevelOneAccepted uint32 `idl:"name:dwLevelOneAccepted" json:"level_one_accepted"` // dwLevelTwoAccepted: A 4-byte unsigned integer value containing the level-two protocol // version that was negotiated with the partner and MUST be used in level-two protocol // exchanges with the partner. LevelTwoAccepted uint32 `idl:"name:dwLevelTwoAccepted" json:"level_two_accepted"` // dwLevelThreeAccepted: A 4-byte unsigned integer value containing the level-three // protocol version that was negotiated with the partner and MUST be used in level-three // protocol exchanges with the partner. LevelThreeAccepted uint32 `idl:"name:dwLevelThreeAccepted" json:"level_three_accepted"` }
BoundVersionSet structure represents BOUND_VERSION_SET RPC structure.
The BOUND_VERSION_SET is a structure containing the MSDTC Connection Manager: OleTx Transports Protocol version numbers that were successfully negotiated during a BuildContext call or a BuildContextW call.
func (*BoundVersionSet) MarshalNDR ¶
func (*BoundVersionSet) UnmarshalNDR ¶
type BuildContextRequest ¶
type BuildContextRequest struct { // sRank: The session rank of the partner making the call. It MUST be one of the following // values. // // +-------------------+------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-------------------+------------------------------------------------------+ // +-------------------+------------------------------------------------------+ // | SRANK_PRIMARY 1 | The caller is the primary partner in this session. | // +-------------------+------------------------------------------------------+ // | SRANK_SECONDARY 2 | The caller is the secondary partner in this session. | // +-------------------+------------------------------------------------------+ Rank SessionRank `idl:"name:sRank" json:"rank"` // BindVersionSet: A BIND_VERSION_SET structure that contains the minimum and maximum // versions supported by the partner, as specified by the Minimum Level 1 Version Number, // Maximum Level 1 Version Number, Minimum Level 2 Version Number, Maximum Level 2 Version // Number, Minimum Level 3 Version Number, and Maximum Level 3 Version Number ADM elements // (see section 3.2.1.1). BindVersionSet *BindVersionSet `idl:"name:BindVersionSet" json:"bind_version_set"` // pszCalleeUuid: A string containing the callee's contact identifier (CID) in the form // of a GUID. The contact identifier (CID) MUST match the contact identifier (CID) in // the callee's local name object and MUST be formatted into a string. CalleeUUID string `idl:"name:pszCalleeUuid;string" json:"callee_uuid"` // pszHostName: The string form of the caller's host name. This host name identifies // the machine in which the caller's instance of the MSDTC Connection Manager: OleTx // Transports Protocol is running. This MUST be a NetBIOS name. For NetBIOS, see [NETBEUI], // [RFC1001], and [RFC1002]. HostName string `idl:"name:pszHostName;string" json:"host_name"` // pszUuidString: The string form of the caller's contact identifier (CID) in the form // of a GUID. This CID identifies the caller's instance of the MSDTC Connection Manager: // OleTx Transports Protocol. It MUST match the contact identifier (CID) in the caller's // local name object and MUST be formatted into a string. UUIDString string `idl:"name:pszUuidString;string" json:"uuid_string"` // pszGuidIn: A string form of a GUID that represents a unique identifier for this bind // attempt. The GUID MUST be formatted as a string. GUIDIn string `idl:"name:pszGuidIn;string" json:"guid_in"` // pszGuidOut: A string form of a GUID that represents a global identifier for this // bind attempt. On input, the pszGuidOut parameter MUST be set to 00000000-0000-0000-0000-000000000000. // On return, if the bind attempt is ultimately successful, the pszGuidOut parameter // MUST be equal to the value of the pszGuidIn parameter. Otherwise, if the bind attempt // is ultimately unsuccessful, the pszGuidOut parameter MUST be set to 00000000-0000-0000-0000-000000000000 // on return. GUIDOut string `idl:"name:pszGuidOut;string" json:"guid_out"` // pBoundVersionSet: A pointer to a BOUND_VERSION_SET structure. This structure is filled // in by the callee. If any error is returned, this structure MUST be filled with zeros // before returning. On successful completion, the caller receives a BOUND_VERSION_SET // on return. BoundVersionSet *BoundVersionSet `idl:"name:pBoundVersionSet" json:"bound_version_set"` // dwcbSizeOfBlob: The count in bytes of the size of the binding info structure. This // parameter MUST be set to the size of the BIND_INFO_BLOB, 8. SizeOfBlob uint32 `idl:"name:dwcbSizeOfBlob" json:"size_of_blob"` // rguchBlob: A byte array containing the BIND_INFO_BLOB structure specifying the supported // transport protocols. This information is used to build the RPC binding for the reverse // connection. Blob []byte `idl:"name:rguchBlob;size_is:(dwcbSizeOfBlob)" json:"blob"` }
BuildContextRequest structure represents the BuildContext operation request
func (*BuildContextRequest) MarshalNDR ¶
func (*BuildContextRequest) UnmarshalNDR ¶
type BuildContextResponse ¶
type BuildContextResponse struct { // pszGuidOut: A string form of a GUID that represents a global identifier for this // bind attempt. On input, the pszGuidOut parameter MUST be set to 00000000-0000-0000-0000-000000000000. // On return, if the bind attempt is ultimately successful, the pszGuidOut parameter // MUST be equal to the value of the pszGuidIn parameter. Otherwise, if the bind attempt // is ultimately unsuccessful, the pszGuidOut parameter MUST be set to 00000000-0000-0000-0000-000000000000 // on return. GUIDOut string `idl:"name:pszGuidOut;string" json:"guid_out"` // pBoundVersionSet: A pointer to a BOUND_VERSION_SET structure. This structure is filled // in by the callee. If any error is returned, this structure MUST be filled with zeros // before returning. On successful completion, the caller receives a BOUND_VERSION_SET // on return. BoundVersionSet *BoundVersionSet `idl:"name:pBoundVersionSet" json:"bound_version_set"` // ppHandle: On successful return, an RPC context handle that correlates with the session // object created by (or referenced by) this method. For RPC context handles, see [C706]. Handle *dcetypes.ContextHandle `idl:"name:ppHandle" json:"handle"` // Return: The BuildContext return value. Return int32 `idl:"name:Return" json:"return"` }
BuildContextResponse structure represents the BuildContext operation response
func (*BuildContextResponse) MarshalNDR ¶
func (*BuildContextResponse) UnmarshalNDR ¶
type BuildContextWRequest ¶
type BuildContextWRequest struct { // sRank: The rank of the caller. // // +----------------------+------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +----------------------+------------------------------------------------------+ // +----------------------+------------------------------------------------------+ // | SRANK_PRIMARY 0x01 | The caller is the primary partner in this session. | // +----------------------+------------------------------------------------------+ // | SRANK_SECONDARY 0x02 | The caller is the secondary partner in this session. | // +----------------------+------------------------------------------------------+ Rank SessionRank `idl:"name:sRank" json:"rank"` // BindVersionSet: A BIND_VERSION_SET structure that contains the minimum and maximum // versions supported by the partner. BindVersionSet *BindVersionSet `idl:"name:BindVersionSet" json:"bind_version_set"` // pwszCalleeUuid: The string form of the callee's contact identifier (CID). The contact // identifier (CID) MUST match the contact identifier (CID) in the callee's local name // object and MUST be formatted into a string. CalleeUUID string `idl:"name:pwszCalleeUuid;string" json:"callee_uuid"` // pwszHostName: The string form of the caller's host name. This host name identifies // the machine in which the caller's instance of the MSDTC Connection Manager: OleTx // Transports Protocol is running. This MUST be a NetBIOS name. For NetBIOS, see [NETBEUI], // [RFC1001], and [RFC1002]. HostName string `idl:"name:pwszHostName;string" json:"host_name"` // pwszUuidString: The string form of the caller's contact identifier (CID). This contact // identifier (CID) identifies the caller's instance of the MSDTC Connection Manager: // OleTx Transports Protocol. This MUST match the contact identifier (CID) in the caller's // local name object and MUST be formatted into a string. UUIDString string `idl:"name:pwszUuidString;string" json:"uuid_string"` // pwszGuidIn: A string form of a UUID that represents a unique identifier for this // bind attempt. The UUID MUST be formatted into a string. GUIDIn string `idl:"name:pwszGuidIn;string" json:"guid_in"` // pwszGuidOut: A string form of a UUID that represents a unique identifier for this // bind attempt. On input, the pwszGuidOut parameter MUST be set to 00000000-0000-0000-0000-000000000000. // On return, if the bind attempt is ultimately successful, the pwszGuidOut parameter // MUST be equal to the value of the pszGuidIn parameter. Otherwise, if the bind attempt // is ultimately unsuccessful, the pwszGuidOut parameter MUST be set to 00000000-0000-0000-0000-000000000000 // on return. GUIDOut string `idl:"name:pwszGuidOut;string" json:"guid_out"` // pBoundVersionSet: A pointer to a BOUND_VERSION_SET structure. When the method is // called, every field of the BOUND_VERSION_SET structure MUST be initialized to zero. // This parameter receives a BOUND_VERSION_SET on successful completion and also on // return. BoundVersionSet *BoundVersionSet `idl:"name:pBoundVersionSet" json:"bound_version_set"` // dwcbSizeOfBlob: The count in bytes of the size of the binding info structure. This // parameter MUST be set to the size of BIND_INFO_BLOB, 8. SizeOfBlob uint32 `idl:"name:dwcbSizeOfBlob" json:"size_of_blob"` // rguchBlob: A byte array that contains a BIND_INFO_BLOB structure. Blob []byte `idl:"name:rguchBlob;size_is:(dwcbSizeOfBlob)" json:"blob"` }
BuildContextWRequest structure represents the BuildContextW operation request
func (*BuildContextWRequest) MarshalNDR ¶
func (*BuildContextWRequest) UnmarshalNDR ¶
type BuildContextWResponse ¶
type BuildContextWResponse struct { // pwszGuidOut: A string form of a UUID that represents a unique identifier for this // bind attempt. On input, the pwszGuidOut parameter MUST be set to 00000000-0000-0000-0000-000000000000. // On return, if the bind attempt is ultimately successful, the pwszGuidOut parameter // MUST be equal to the value of the pszGuidIn parameter. Otherwise, if the bind attempt // is ultimately unsuccessful, the pwszGuidOut parameter MUST be set to 00000000-0000-0000-0000-000000000000 // on return. GUIDOut string `idl:"name:pwszGuidOut;string" json:"guid_out"` // pBoundVersionSet: A pointer to a BOUND_VERSION_SET structure. When the method is // called, every field of the BOUND_VERSION_SET structure MUST be initialized to zero. // This parameter receives a BOUND_VERSION_SET on successful completion and also on // return. BoundVersionSet *BoundVersionSet `idl:"name:pBoundVersionSet" json:"bound_version_set"` // ppHandle: On successful return, an RPC context handle (see [C706]) that correlates // with the session object created by, or referenced by, this method. Handle *dcetypes.ContextHandle `idl:"name:ppHandle" json:"handle"` // Return: The BuildContextW return value. Return int32 `idl:"name:Return" json:"return"` }
BuildContextWResponse structure represents the BuildContextW operation response
func (*BuildContextWResponse) MarshalNDR ¶
func (*BuildContextWResponse) UnmarshalNDR ¶
type IxnRemoteClient ¶
type IxnRemoteClient interface { // The Poke method is used by a secondary partner to request the primary partner session // initiation. The parameter values specified in the call identify both participants. // // Return Values: This method MUST return zero (0x00000000) on success. On failure, // it MUST return either one of the values described in the following table or an implementation-specific // HRESULT. A client MUST NOT depend on implementation-specific failure HRESULT values. // For more information about how the client SHOULD behave based on the possible return // values, see section 3.4.6.1.2. Standard errors are defined in [MS-ERREF] section // 2.2. // // +------------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +------------------------------------------+----------------------------------------------------------------------------------+ // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_STATUS | The return value indicates success. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80000123 E_CM_SERVER_NOT_READY | The session object is not in the Connecting state.<16> | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80070057 E_INVALIDARG | The return value indicates that one of the specified arguments is invalid.<17> | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x000006BB RPC_S_SERVER_TOO_BUSY | The return value indicates that the partner is too busy to complete this | // | | operation. For more information, see [MS-RPCE] section 3.1.1.5.5 | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80000173 E_CM_S_PROTOCOL_NOT_SUPPORTED | The return value indicates that none of the protocols described in the rguchBlob | // | | parameter is supported by the partner. | // +------------------------------------------+----------------------------------------------------------------------------------+ // // The opnum field value for this method is zero. // // Poke SHOULD NOT be invoked on a secondary partner. If it is, the secondary partner // SHOULD respond by making a Poke callback on the primary partner.<18> In this case, // the parameters to the Poke call MUST be calculated from the incoming parameters and // the secondary partner's local name object; specifically, the pszCalleeUuid parameter // MUST be set to the value of the pszUuidString parameter; the pszHostName parameter // MUST be the Hostname field of the secondary partner's local name object; and the // pszUuidString parameter MUST be the string form of the CID field of the secondary // partner's local name object. The secondary partner MAY return from the Poke method // before this call has completed. // // When Poke is invoked on a primary partner, the primary partner MUST construct a name // object using the host name specified in the pszHostName parameter, the contact identifier // (CID) specified in the pszUuidString parameter, and the RPC protocols specified in // the grbitComProtocols field of the BIND_INFO_BLOB structure. // // The primary partner MUST use this name object to check whether or not an existing // session with a matching name object already exists in the session table. // // If an existing session is found, the primary partner MUST check the State field of // the session object. // // * If the value is set to Connecting, the existing session will be used during the // rest of the call. // // * Otherwise, the primary partner MUST return an implementation-specific error code. // <19> ( 2f0b4979-92b7-46f5-9e94-81531e68f3fe#Appendix_A_19 ) // // If an existing session is not found, a new session object MUST be created and added // to the session table. The new session object MUST be initialized with the created // name object. An RPC binding handle to the secondary partner MUST be created and stored // in the session object. For binding handles, see [C706]. The State field MUST be set // to Connecting. // // At this point, the primary partner does not have to wait until the entire process // is completed. It SHOULD return success from the method, while it continues to perform // the following actions.<20> // // After identifying a valid existing session or initializing a new session object and // adding it to the session table, the primary partner MUST attempt to call either the // BuildContextW method or the BuildContext method on the secondary partner with the // RPC binding handle stored in the session object. For details on making BuildContext // calls to a partner, see section 3.3.4.2 and section 3.4.6.1.1. // // To determine whether the secondary partner supports BuildContextW, the primary partner // calls BuildContextW on the secondary partner and waits for a return value. // // If the secondary partner does not support the BuildContextW method, the primary partner // MUST call the BuildContext method. // // If the secondary partner does support the BuildContextW method, the primary partner // MUST NOT call the BuildContext method. During this call, the secondary partner will // make a nested synchronous callback to the primary partner to complete the session // establishment. See section 3.4.6.1.1. // // If the call completes successfully, the primary partner MUST examine the State field // of the session object; if the value is "Confirming Connection", it MUST set the state // of the session object to Active and cancel the Session Setup timer associated with // that session object. // // If the call completes unsuccessfully, the primary partner SHOULD behave according // to the error code that was returned: // // * If the error code is 0x80000712 (E_CM_VERSION_SET_NOTSUPPORTED), or 0x800000173 // (E_CM_S_PROTOCOL_NOT_SUPPORTED), or it retried the nested call for more than the // number of times specified in the *Session Setup Retry Count* ADM element, or if the // State field of the session object is not "Confirming Connection", the primary partner // MUST remove the session object from the session table and clean it up. For instructions // on cleaning up a session object, see section 3.2.1.3 ( ff2a0bdc-9952-4357-971e-9e659c8824c8 // ). // // * If the error code is ox800000123 (E_CM_SERVER_NOT_READY) or 0x000006BB (RPC_S_SERVER_TOO_BUSY), // or any other implementation-specific error code, the primary partner SHOULD retry // the call for the number of times specified in the *Session Setup Retry Count* ADM // element. Poke(context.Context, *PokeRequest, ...dcerpc.CallOption) (*PokeResponse, error) // The BuildContext method is invoked by either a primary partner or a secondary partner. // When invoked by a primary partner, the BuildContext method requests that the secondary // partner begin the next step of establishing a session. When invoked by a secondary // partner, the BuildContext method requests that the primary partner complete the establishment // of the session. // // Return Values: This method MUST return zero (0x00000000) on success. On failure, // it MUST return either one of the values described in the following table of return // values or an implementation-specific HRESULT. A client MUST NOT depend on implementation-specific // failure HRESULT values. For more information about how the client SHOULD behave based // on the possible return values, see section 3.4.6.1.1. Standard errors are defined // in [MS-ERREF] section 2.2. // // Standard errors are defined in [MS-ERREF] section 4. // // +------------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +------------------------------------------+----------------------------------------------------------------------------------+ // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_STATUS | The return value indicates success. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80000172 E_CM_VERSION_SET_NOTSUPPORTED | The return value indicates that the callee partner does not support the caller’s | // | | BindVersionSet parameter and will not execute the requested operation. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80000124 E_CM_S_TIMEDOUT | The return value indicates that the callee timed out while waiting for the | // | | caller to complete the bind. This is returned by a secondary partner to a | // | | primary partner if the primary partner does not return from the secondary | // | | partner's call to BuildContext within half of the Session Setup Timer (section | // | | 3.2.2.1) interval. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x000006BB RPC_S_SERVER_TOO_BUSY | The return value indicates that the partner is too busy to complete this | // | | operation. For more information, see [MS-RPCE] section 3.1.1.5.5. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80000173 E_CM_S_PROTOCOL_NOT_SUPPORTED | The return value indicates that none of the protocols described in the rguchBlob | // | | parameter are supported by the partner. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80070057 E_INVALIDARG | The return value indicates that one of the specified arguments is invalid. | // +------------------------------------------+----------------------------------------------------------------------------------+ // // The following table of return values describes the possible errors that SHOULD be // returned by this method. // // +----------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +----------------------------------+----------------------------------------------------------------------------------+ // +----------------------------------+----------------------------------------------------------------------------------+ // | 0x80000120 E_CM_SESSION_DOWN | In a scenario where the value of the sRank parameter is SRANK_SECONDARY, if | // | | BuildContext is called and an existing session object is not found, the call | // | | SHOULD return this value.<21> | // +----------------------------------+----------------------------------------------------------------------------------+ // | 0x80000123 E_CM_SERVER_NOT_READY | The session object is not in the Connecting state.<22> | // +----------------------------------+----------------------------------------------------------------------------------+ // // The opnum field value for this method is 1. For more information, see [C706]. // // This method has different effects depending on the value of the sRank parameter. // // For the structure and sequence of data on the wire, see [C706] Transfer Syntax Network // Data Representation (NDR) topics. BuildContext(context.Context, *BuildContextRequest, ...dcerpc.CallOption) (*BuildContextResponse, error) // The NegotiateResources method is invoked by one partner to request that the other // partner allocate resources for future use. // // Return Values: This method MUST return zero (0x00000000) on success. On failure, // it MUST return either one of the values described in the following table of return // values or an implementation-specific HRESULT. A client MUST NOT depend on implementation-specific // failure HRESULT values. For more information about how the client SHOULD behave based // on the possible return values, see section 3.4.6.4. Standard errors are defined in // [MS-ERREF] section 2.2. // // +--------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +--------------------------------+----------------------------------------------------------------------------------+ // +--------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_STATUS | The return value indicates success. | // +--------------------------------+----------------------------------------------------------------------------------+ // | 0x80000127 E_CM_OUTOFRESOURCES | The server was unable to allocate the resources requested and will continue to | // | | operate with the current set of resources. | // +--------------------------------+----------------------------------------------------------------------------------+ // // The following table of return values describes the possible errors that SHOULD be // returned by this method. // // +----------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +----------------------------------+----------------------------------------------------------------------------------+ // +----------------------------------+----------------------------------------------------------------------------------+ // | 0x80070057 E_INVALIDARG | This value is returned in the following scenarios: If the resource type that was | // | | passed in the resourceType parameter is not a valid resource. If the value of | // | | the dwcRequested parameter is not between 1 and 1000. | // +----------------------------------+----------------------------------------------------------------------------------+ // | 0x80000123 E_CM_SERVER_NOT_READY | The session object is not in the Active state. | // +----------------------------------+----------------------------------------------------------------------------------+ // // The opnum field value for this method is 2. See [C706]. // // For the structure and sequence of data on the wire, see [C706] Transfer Syntax Network // Data Representation (NDR) topics. NegotiateResources(context.Context, *NegotiateResourcesRequest, ...dcerpc.CallOption) (*NegotiateResourcesResponse, error) // The SendReceive method is invoked by one partner to transmit messages to the other // partner. Both the primary and the secondary participants have the option to call // this method multiple times after a session has been established between them. // // Return Values: This method MUST return zero (0x00000000) on success. On failure, // it MUST return either one of the values described in the following table of return // values or an implementation-specific HRESULT. A client MUST NOT depend on implementation-specific // failure HRESULT values. For more information about how the client SHOULD behave based // on the possible return values, see section 3.4.6.4. Standard errors are defined in // [MS-ERREF] section 2.2. // // +-------------------------+-------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +-------------------------+-------------------------------------+ // +-------------------------+-------------------------------------+ // | 0x00000000 ERROR_STATUS | The return value indicates success. | // +-------------------------+-------------------------------------+ // // The table below describes the possible errors that SHOULD be returned by this method. // // +----------------------------------+---------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +----------------------------------+---------------------------------------------------------------------+ // +----------------------------------+---------------------------------------------------------------------+ // | 0x80000119 E_CM_TEARING_DOWN | The session object is in the Requesting Teardown or Teardown state. | // +----------------------------------+---------------------------------------------------------------------+ // | 0x80000123 E_CM_SERVER_NOT_READY | The session object is not in the Active state. | // +----------------------------------+---------------------------------------------------------------------+ // // The opnum field value for this method is 3, as specified in [C706]. // // For the structure and sequence of data on the wire, see [C706] section 14. SendReceive(context.Context, *SendReceiveRequest, ...dcerpc.CallOption) (*SendReceiveResponse, error) // The TearDownContext method is invoked by either a primary partner or a secondary // partner. When invoked by a primary partner, the TearDownContext method requests that // the secondary partner begin the next step of tearing down a session. When invoked // by a secondary partner, the TearDownContext method requests that the primary partner // complete the teardown of the session. The Microsoft Interface Definition Language // (MIDL) syntax of the method is as follows. // // Return Values: This method MUST return zero (0x00000000) on success. On failure, // it MUST return an implementation-specific HRESULT. A client MUST NOT depend on implementation-specific // failure HRESULT values. From an over-the-wire communication point of view, the client // MUST implement only a behavior for the case when the call succeeds and another behavior // for the case when the call does not succeed, (see section 3.4.6.2). Standard errors // are defined in [MS-ERREF] section 2.2. A client MUST NOT exhibit behavior observable // on the wire that is dependent on implementation-specific failure HRESULT values. // // +-------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +-------------------------+----------------------------------------------------------------------------------+ // +-------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_STATUS | The return value indicates success. | // +-------------------------+----------------------------------------------------------------------------------+ // | 0x80070057 E_INVALIDARG | This value MAY be returned when an invalid sRank value is passed as a | // | | parameter.<27> | // +-------------------------+----------------------------------------------------------------------------------+ // | 0x80004005 E_FAIL | This return value indicates that the session failed to tear down within the | // | | interval specified by the Session Teardown Timer (section 3.2.2.2). | // +-------------------------+----------------------------------------------------------------------------------+ // // Thereafter, the method has a different effect depending on the value of the sRank // parameter and the value of the teardownType parameter. TearDownContext(context.Context, *TearDownContextRequest, ...dcerpc.CallOption) (*TearDownContextResponse, error) // The BeginTearDown method is invoked by a secondary partner to request that a primary // partner begin session teardown. // // Return Values: This method MUST return zero (0x00000000) on success. On failure, // it MUST return an implementation-specific HRESULT. A client MUST NOT depend on implementation-specific // failure HRESULT values. From an over-the-wire communication point of view, the client // MUST implement only a behavior for the case when the call succeeds and another behavior // for the case when the call does not succeed, (see section 3.4.6.2). Standard errors // are defined in [MS-ERREF] section 2.2. // // +-------------------------+-------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +-------------------------+-------------------------------------+ // +-------------------------+-------------------------------------+ // | 0x00000000 ERROR_STATUS | The return value indicates success. | // +-------------------------+-------------------------------------+ // // BeginTearDown MUST NOT be invoked on a secondary partner. // // If the session object is in the Teardown state, the primary partner MUST immediately // return from the method with S_OK. Otherwise, the primary partner MUST set the state // of the session object associated with the context handle to Teardown and return S_OK // from the method. Also, it MUST start the Session Teardown timer associated with that // session object and attempt to call the TearDownContext method on the secondary partner. // The secondary partner SHOULD choose to perform these actions asynchronously. BeginTearDown(context.Context, *BeginTearDownRequest, ...dcerpc.CallOption) (*BeginTearDownResponse, error) // The PokeW method is equivalent in all ways to the Poke method except that its string // parameters are encoded in UTF-16. // // Return Values: This method MUST return zero (0x00000000) on success. On failure, // it MUST return an implementation-specific HRESULT. A client MUST NOT depend on implementation-specific // failure HRESULT values. From an over-the-wire communication point of view, the client // MUST implement only a behavior for the case when the call succeeds and another behavior // for the case when the call does not succeed, (see section 3.4.6.1.2). Standard errors // are defined in [MS-ERREF] section 2.2. // // +------------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +------------------------------------------+----------------------------------------------------------------------------------+ // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_STATUS | The return value indicates success. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x000006D1 RPC_S_PROCNUM_OUT_OF_RANGE | The return value indicates that the caller does not support this call. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80000123 E_CM_SERVER_NOT_READY | The session object is not in the Connecting state.<28> | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80070057 E_INVALIDARG | The return value indicates that one of the specified arguments is invalid.<29> | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x000006BB RPC_S_SERVER_TOO_BUSY | The return value indicates that the partner is too busy to complete this | // | | operation. For more information, see [MS-RPCE] section 3.1.1.5.5. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80000173 E_CM_S_PROTOCOL_NOT_SUPPORTED | The return value indicates that none of the protocols described in the rguchBlob | // | | parameter is supported by the partner. | // +------------------------------------------+----------------------------------------------------------------------------------+ // // When a partner calls PokeW on another partner, an error code of RPC_S_PROCNUM_OUT_OF_RANGE // means that the callee does not support PokeW. PokeW(context.Context, *PokeWRequest, ...dcerpc.CallOption) (*PokeWResponse, error) // The BuildContextW method is equivalent in all ways to the BuildContext method, except // that its string parameters are encoded in UTF-16. The MIDL syntax of the method is // as follows. // // Return Values: This method MUST return zero (0x00000000) on success. On failure, // it MUST return either 0x80000172 (E_CM_VERSION_SET_NOTSUPPORTED) or an implementation-specific // HRESULT. A client SHOULD distinguish between 0x80000172 and other error codes, as // specified in sections 3.3.4.2.1 and 3.3.4.2.2, but MUST NOT depend on implementation-specific // failure HRESULT values. From an over-the-wire communication point of view, the client // MUST implement only behaviors for the errors described in the following table. // // Standard errors are defined in [MS-ERREF] section 4. // // +------------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +------------------------------------------+----------------------------------------------------------------------------------+ // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_STATUS | The return value indicates success. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80000172 E_CM_VERSION_SET_NOTSUPPORTED | The return value indicates that the callee partner does not support the caller's | // | | BindVersionSet parameter and will not execute the requested operation. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x000006D1 RPC_S_PROCNUM_OUT_OF_RANGE | The return value indicates that the caller does not support this call. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80000124 E_CM_S_TIMEDOUT | The return value indicates that the callee timed out while waiting for the | // | | caller to complete the bind. This value is returned by a secondary partner to | // | | a primary partner if the primary partner does not return from the secondary | // | | partner's call to BuildContext within half the amount of time specified in the | // | | Session Setup Timer (section 3.2.2.1). | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x000006BB RPC_S_SERVER_TOO_BUSY | The return value indicates that the partner is too busy to complete this | // | | operation. For more information, see [MS-RPCE] section 3.1.1.5.5. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80000173 E_CM_S_PROTOCOL_NOT_SUPPORTED | The return value indicates that none of the protocols described in the rguchBlob | // | | parameter is supported by the partner. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80070057 E_INVALIDARG | The return value indicates that one of the specified arguments is invalid. | // +------------------------------------------+----------------------------------------------------------------------------------+ // // The following table describes the possible implementation-specific errors that SHOULD // be returned by this method. // // +----------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +----------------------------------+----------------------------------------------------------------------------------+ // +----------------------------------+----------------------------------------------------------------------------------+ // | 0x80000120 E_CM_SESSION_DOWN | In a scenario where the value of the sRank parameter is SRANK_SECONDARY, if | // | | BuildContextW is called and an existing session object is not found, the call | // | | SHOULD return this value.<30> | // +----------------------------------+----------------------------------------------------------------------------------+ // | 0x80000123 E_CM_SERVER_NOT_READY | The session object is not in the Connecting state.<31> | // +----------------------------------+----------------------------------------------------------------------------------+ // // When a partner calls BuildContextW on another partner, an error code of RPC_S_PROCNUM_OUT_OF_RANGE // means that the callee does not support BuildContextW. BuildContextW(context.Context, *BuildContextWRequest, ...dcerpc.CallOption) (*BuildContextWResponse, error) // AlterContext alters the client context. AlterContext(context.Context, ...dcerpc.Option) error }
IXnRemote interface.
func NewIxnRemoteClient ¶
type IxnRemoteServer ¶
type IxnRemoteServer interface { // The Poke method is used by a secondary partner to request the primary partner session // initiation. The parameter values specified in the call identify both participants. // // Return Values: This method MUST return zero (0x00000000) on success. On failure, // it MUST return either one of the values described in the following table or an implementation-specific // HRESULT. A client MUST NOT depend on implementation-specific failure HRESULT values. // For more information about how the client SHOULD behave based on the possible return // values, see section 3.4.6.1.2. Standard errors are defined in [MS-ERREF] section // 2.2. // // +------------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +------------------------------------------+----------------------------------------------------------------------------------+ // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_STATUS | The return value indicates success. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80000123 E_CM_SERVER_NOT_READY | The session object is not in the Connecting state.<16> | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80070057 E_INVALIDARG | The return value indicates that one of the specified arguments is invalid.<17> | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x000006BB RPC_S_SERVER_TOO_BUSY | The return value indicates that the partner is too busy to complete this | // | | operation. For more information, see [MS-RPCE] section 3.1.1.5.5 | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80000173 E_CM_S_PROTOCOL_NOT_SUPPORTED | The return value indicates that none of the protocols described in the rguchBlob | // | | parameter is supported by the partner. | // +------------------------------------------+----------------------------------------------------------------------------------+ // // The opnum field value for this method is zero. // // Poke SHOULD NOT be invoked on a secondary partner. If it is, the secondary partner // SHOULD respond by making a Poke callback on the primary partner.<18> In this case, // the parameters to the Poke call MUST be calculated from the incoming parameters and // the secondary partner's local name object; specifically, the pszCalleeUuid parameter // MUST be set to the value of the pszUuidString parameter; the pszHostName parameter // MUST be the Hostname field of the secondary partner's local name object; and the // pszUuidString parameter MUST be the string form of the CID field of the secondary // partner's local name object. The secondary partner MAY return from the Poke method // before this call has completed. // // When Poke is invoked on a primary partner, the primary partner MUST construct a name // object using the host name specified in the pszHostName parameter, the contact identifier // (CID) specified in the pszUuidString parameter, and the RPC protocols specified in // the grbitComProtocols field of the BIND_INFO_BLOB structure. // // The primary partner MUST use this name object to check whether or not an existing // session with a matching name object already exists in the session table. // // If an existing session is found, the primary partner MUST check the State field of // the session object. // // * If the value is set to Connecting, the existing session will be used during the // rest of the call. // // * Otherwise, the primary partner MUST return an implementation-specific error code. // <19> ( 2f0b4979-92b7-46f5-9e94-81531e68f3fe#Appendix_A_19 ) // // If an existing session is not found, a new session object MUST be created and added // to the session table. The new session object MUST be initialized with the created // name object. An RPC binding handle to the secondary partner MUST be created and stored // in the session object. For binding handles, see [C706]. The State field MUST be set // to Connecting. // // At this point, the primary partner does not have to wait until the entire process // is completed. It SHOULD return success from the method, while it continues to perform // the following actions.<20> // // After identifying a valid existing session or initializing a new session object and // adding it to the session table, the primary partner MUST attempt to call either the // BuildContextW method or the BuildContext method on the secondary partner with the // RPC binding handle stored in the session object. For details on making BuildContext // calls to a partner, see section 3.3.4.2 and section 3.4.6.1.1. // // To determine whether the secondary partner supports BuildContextW, the primary partner // calls BuildContextW on the secondary partner and waits for a return value. // // If the secondary partner does not support the BuildContextW method, the primary partner // MUST call the BuildContext method. // // If the secondary partner does support the BuildContextW method, the primary partner // MUST NOT call the BuildContext method. During this call, the secondary partner will // make a nested synchronous callback to the primary partner to complete the session // establishment. See section 3.4.6.1.1. // // If the call completes successfully, the primary partner MUST examine the State field // of the session object; if the value is "Confirming Connection", it MUST set the state // of the session object to Active and cancel the Session Setup timer associated with // that session object. // // If the call completes unsuccessfully, the primary partner SHOULD behave according // to the error code that was returned: // // * If the error code is 0x80000712 (E_CM_VERSION_SET_NOTSUPPORTED), or 0x800000173 // (E_CM_S_PROTOCOL_NOT_SUPPORTED), or it retried the nested call for more than the // number of times specified in the *Session Setup Retry Count* ADM element, or if the // State field of the session object is not "Confirming Connection", the primary partner // MUST remove the session object from the session table and clean it up. For instructions // on cleaning up a session object, see section 3.2.1.3 ( ff2a0bdc-9952-4357-971e-9e659c8824c8 // ). // // * If the error code is ox800000123 (E_CM_SERVER_NOT_READY) or 0x000006BB (RPC_S_SERVER_TOO_BUSY), // or any other implementation-specific error code, the primary partner SHOULD retry // the call for the number of times specified in the *Session Setup Retry Count* ADM // element. Poke(context.Context, *PokeRequest) (*PokeResponse, error) // The BuildContext method is invoked by either a primary partner or a secondary partner. // When invoked by a primary partner, the BuildContext method requests that the secondary // partner begin the next step of establishing a session. When invoked by a secondary // partner, the BuildContext method requests that the primary partner complete the establishment // of the session. // // Return Values: This method MUST return zero (0x00000000) on success. On failure, // it MUST return either one of the values described in the following table of return // values or an implementation-specific HRESULT. A client MUST NOT depend on implementation-specific // failure HRESULT values. For more information about how the client SHOULD behave based // on the possible return values, see section 3.4.6.1.1. Standard errors are defined // in [MS-ERREF] section 2.2. // // Standard errors are defined in [MS-ERREF] section 4. // // +------------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +------------------------------------------+----------------------------------------------------------------------------------+ // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_STATUS | The return value indicates success. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80000172 E_CM_VERSION_SET_NOTSUPPORTED | The return value indicates that the callee partner does not support the caller’s | // | | BindVersionSet parameter and will not execute the requested operation. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80000124 E_CM_S_TIMEDOUT | The return value indicates that the callee timed out while waiting for the | // | | caller to complete the bind. This is returned by a secondary partner to a | // | | primary partner if the primary partner does not return from the secondary | // | | partner's call to BuildContext within half of the Session Setup Timer (section | // | | 3.2.2.1) interval. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x000006BB RPC_S_SERVER_TOO_BUSY | The return value indicates that the partner is too busy to complete this | // | | operation. For more information, see [MS-RPCE] section 3.1.1.5.5. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80000173 E_CM_S_PROTOCOL_NOT_SUPPORTED | The return value indicates that none of the protocols described in the rguchBlob | // | | parameter are supported by the partner. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80070057 E_INVALIDARG | The return value indicates that one of the specified arguments is invalid. | // +------------------------------------------+----------------------------------------------------------------------------------+ // // The following table of return values describes the possible errors that SHOULD be // returned by this method. // // +----------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +----------------------------------+----------------------------------------------------------------------------------+ // +----------------------------------+----------------------------------------------------------------------------------+ // | 0x80000120 E_CM_SESSION_DOWN | In a scenario where the value of the sRank parameter is SRANK_SECONDARY, if | // | | BuildContext is called and an existing session object is not found, the call | // | | SHOULD return this value.<21> | // +----------------------------------+----------------------------------------------------------------------------------+ // | 0x80000123 E_CM_SERVER_NOT_READY | The session object is not in the Connecting state.<22> | // +----------------------------------+----------------------------------------------------------------------------------+ // // The opnum field value for this method is 1. For more information, see [C706]. // // This method has different effects depending on the value of the sRank parameter. // // For the structure and sequence of data on the wire, see [C706] Transfer Syntax Network // Data Representation (NDR) topics. BuildContext(context.Context, *BuildContextRequest) (*BuildContextResponse, error) // The NegotiateResources method is invoked by one partner to request that the other // partner allocate resources for future use. // // Return Values: This method MUST return zero (0x00000000) on success. On failure, // it MUST return either one of the values described in the following table of return // values or an implementation-specific HRESULT. A client MUST NOT depend on implementation-specific // failure HRESULT values. For more information about how the client SHOULD behave based // on the possible return values, see section 3.4.6.4. Standard errors are defined in // [MS-ERREF] section 2.2. // // +--------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +--------------------------------+----------------------------------------------------------------------------------+ // +--------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_STATUS | The return value indicates success. | // +--------------------------------+----------------------------------------------------------------------------------+ // | 0x80000127 E_CM_OUTOFRESOURCES | The server was unable to allocate the resources requested and will continue to | // | | operate with the current set of resources. | // +--------------------------------+----------------------------------------------------------------------------------+ // // The following table of return values describes the possible errors that SHOULD be // returned by this method. // // +----------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +----------------------------------+----------------------------------------------------------------------------------+ // +----------------------------------+----------------------------------------------------------------------------------+ // | 0x80070057 E_INVALIDARG | This value is returned in the following scenarios: If the resource type that was | // | | passed in the resourceType parameter is not a valid resource. If the value of | // | | the dwcRequested parameter is not between 1 and 1000. | // +----------------------------------+----------------------------------------------------------------------------------+ // | 0x80000123 E_CM_SERVER_NOT_READY | The session object is not in the Active state. | // +----------------------------------+----------------------------------------------------------------------------------+ // // The opnum field value for this method is 2. See [C706]. // // For the structure and sequence of data on the wire, see [C706] Transfer Syntax Network // Data Representation (NDR) topics. NegotiateResources(context.Context, *NegotiateResourcesRequest) (*NegotiateResourcesResponse, error) // The SendReceive method is invoked by one partner to transmit messages to the other // partner. Both the primary and the secondary participants have the option to call // this method multiple times after a session has been established between them. // // Return Values: This method MUST return zero (0x00000000) on success. On failure, // it MUST return either one of the values described in the following table of return // values or an implementation-specific HRESULT. A client MUST NOT depend on implementation-specific // failure HRESULT values. For more information about how the client SHOULD behave based // on the possible return values, see section 3.4.6.4. Standard errors are defined in // [MS-ERREF] section 2.2. // // +-------------------------+-------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +-------------------------+-------------------------------------+ // +-------------------------+-------------------------------------+ // | 0x00000000 ERROR_STATUS | The return value indicates success. | // +-------------------------+-------------------------------------+ // // The table below describes the possible errors that SHOULD be returned by this method. // // +----------------------------------+---------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +----------------------------------+---------------------------------------------------------------------+ // +----------------------------------+---------------------------------------------------------------------+ // | 0x80000119 E_CM_TEARING_DOWN | The session object is in the Requesting Teardown or Teardown state. | // +----------------------------------+---------------------------------------------------------------------+ // | 0x80000123 E_CM_SERVER_NOT_READY | The session object is not in the Active state. | // +----------------------------------+---------------------------------------------------------------------+ // // The opnum field value for this method is 3, as specified in [C706]. // // For the structure and sequence of data on the wire, see [C706] section 14. SendReceive(context.Context, *SendReceiveRequest) (*SendReceiveResponse, error) // The TearDownContext method is invoked by either a primary partner or a secondary // partner. When invoked by a primary partner, the TearDownContext method requests that // the secondary partner begin the next step of tearing down a session. When invoked // by a secondary partner, the TearDownContext method requests that the primary partner // complete the teardown of the session. The Microsoft Interface Definition Language // (MIDL) syntax of the method is as follows. // // Return Values: This method MUST return zero (0x00000000) on success. On failure, // it MUST return an implementation-specific HRESULT. A client MUST NOT depend on implementation-specific // failure HRESULT values. From an over-the-wire communication point of view, the client // MUST implement only a behavior for the case when the call succeeds and another behavior // for the case when the call does not succeed, (see section 3.4.6.2). Standard errors // are defined in [MS-ERREF] section 2.2. A client MUST NOT exhibit behavior observable // on the wire that is dependent on implementation-specific failure HRESULT values. // // +-------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +-------------------------+----------------------------------------------------------------------------------+ // +-------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_STATUS | The return value indicates success. | // +-------------------------+----------------------------------------------------------------------------------+ // | 0x80070057 E_INVALIDARG | This value MAY be returned when an invalid sRank value is passed as a | // | | parameter.<27> | // +-------------------------+----------------------------------------------------------------------------------+ // | 0x80004005 E_FAIL | This return value indicates that the session failed to tear down within the | // | | interval specified by the Session Teardown Timer (section 3.2.2.2). | // +-------------------------+----------------------------------------------------------------------------------+ // // Thereafter, the method has a different effect depending on the value of the sRank // parameter and the value of the teardownType parameter. TearDownContext(context.Context, *TearDownContextRequest) (*TearDownContextResponse, error) // The BeginTearDown method is invoked by a secondary partner to request that a primary // partner begin session teardown. // // Return Values: This method MUST return zero (0x00000000) on success. On failure, // it MUST return an implementation-specific HRESULT. A client MUST NOT depend on implementation-specific // failure HRESULT values. From an over-the-wire communication point of view, the client // MUST implement only a behavior for the case when the call succeeds and another behavior // for the case when the call does not succeed, (see section 3.4.6.2). Standard errors // are defined in [MS-ERREF] section 2.2. // // +-------------------------+-------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +-------------------------+-------------------------------------+ // +-------------------------+-------------------------------------+ // | 0x00000000 ERROR_STATUS | The return value indicates success. | // +-------------------------+-------------------------------------+ // // BeginTearDown MUST NOT be invoked on a secondary partner. // // If the session object is in the Teardown state, the primary partner MUST immediately // return from the method with S_OK. Otherwise, the primary partner MUST set the state // of the session object associated with the context handle to Teardown and return S_OK // from the method. Also, it MUST start the Session Teardown timer associated with that // session object and attempt to call the TearDownContext method on the secondary partner. // The secondary partner SHOULD choose to perform these actions asynchronously. BeginTearDown(context.Context, *BeginTearDownRequest) (*BeginTearDownResponse, error) // The PokeW method is equivalent in all ways to the Poke method except that its string // parameters are encoded in UTF-16. // // Return Values: This method MUST return zero (0x00000000) on success. On failure, // it MUST return an implementation-specific HRESULT. A client MUST NOT depend on implementation-specific // failure HRESULT values. From an over-the-wire communication point of view, the client // MUST implement only a behavior for the case when the call succeeds and another behavior // for the case when the call does not succeed, (see section 3.4.6.1.2). Standard errors // are defined in [MS-ERREF] section 2.2. // // +------------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +------------------------------------------+----------------------------------------------------------------------------------+ // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_STATUS | The return value indicates success. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x000006D1 RPC_S_PROCNUM_OUT_OF_RANGE | The return value indicates that the caller does not support this call. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80000123 E_CM_SERVER_NOT_READY | The session object is not in the Connecting state.<28> | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80070057 E_INVALIDARG | The return value indicates that one of the specified arguments is invalid.<29> | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x000006BB RPC_S_SERVER_TOO_BUSY | The return value indicates that the partner is too busy to complete this | // | | operation. For more information, see [MS-RPCE] section 3.1.1.5.5. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80000173 E_CM_S_PROTOCOL_NOT_SUPPORTED | The return value indicates that none of the protocols described in the rguchBlob | // | | parameter is supported by the partner. | // +------------------------------------------+----------------------------------------------------------------------------------+ // // When a partner calls PokeW on another partner, an error code of RPC_S_PROCNUM_OUT_OF_RANGE // means that the callee does not support PokeW. PokeW(context.Context, *PokeWRequest) (*PokeWResponse, error) // The BuildContextW method is equivalent in all ways to the BuildContext method, except // that its string parameters are encoded in UTF-16. The MIDL syntax of the method is // as follows. // // Return Values: This method MUST return zero (0x00000000) on success. On failure, // it MUST return either 0x80000172 (E_CM_VERSION_SET_NOTSUPPORTED) or an implementation-specific // HRESULT. A client SHOULD distinguish between 0x80000172 and other error codes, as // specified in sections 3.3.4.2.1 and 3.3.4.2.2, but MUST NOT depend on implementation-specific // failure HRESULT values. From an over-the-wire communication point of view, the client // MUST implement only behaviors for the errors described in the following table. // // Standard errors are defined in [MS-ERREF] section 4. // // +------------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +------------------------------------------+----------------------------------------------------------------------------------+ // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x00000000 ERROR_STATUS | The return value indicates success. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80000172 E_CM_VERSION_SET_NOTSUPPORTED | The return value indicates that the callee partner does not support the caller's | // | | BindVersionSet parameter and will not execute the requested operation. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x000006D1 RPC_S_PROCNUM_OUT_OF_RANGE | The return value indicates that the caller does not support this call. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80000124 E_CM_S_TIMEDOUT | The return value indicates that the callee timed out while waiting for the | // | | caller to complete the bind. This value is returned by a secondary partner to | // | | a primary partner if the primary partner does not return from the secondary | // | | partner's call to BuildContext within half the amount of time specified in the | // | | Session Setup Timer (section 3.2.2.1). | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x000006BB RPC_S_SERVER_TOO_BUSY | The return value indicates that the partner is too busy to complete this | // | | operation. For more information, see [MS-RPCE] section 3.1.1.5.5. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80000173 E_CM_S_PROTOCOL_NOT_SUPPORTED | The return value indicates that none of the protocols described in the rguchBlob | // | | parameter is supported by the partner. | // +------------------------------------------+----------------------------------------------------------------------------------+ // | 0x80070057 E_INVALIDARG | The return value indicates that one of the specified arguments is invalid. | // +------------------------------------------+----------------------------------------------------------------------------------+ // // The following table describes the possible implementation-specific errors that SHOULD // be returned by this method. // // +----------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +----------------------------------+----------------------------------------------------------------------------------+ // +----------------------------------+----------------------------------------------------------------------------------+ // | 0x80000120 E_CM_SESSION_DOWN | In a scenario where the value of the sRank parameter is SRANK_SECONDARY, if | // | | BuildContextW is called and an existing session object is not found, the call | // | | SHOULD return this value.<30> | // +----------------------------------+----------------------------------------------------------------------------------+ // | 0x80000123 E_CM_SERVER_NOT_READY | The session object is not in the Connecting state.<31> | // +----------------------------------+----------------------------------------------------------------------------------+ // // When a partner calls BuildContextW on another partner, an error code of RPC_S_PROCNUM_OUT_OF_RANGE // means that the callee does not support BuildContextW. BuildContextW(context.Context, *BuildContextWRequest) (*BuildContextWResponse, error) }
IXnRemote server interface.
type NegotiateResourcesRequest ¶
type NegotiateResourcesRequest struct { // phContext: An RPC context, returned by a call to BuildContext or BuildContextW, correlated // with a session object that is in the Active state. For context handles, see [C706]. Context *dcetypes.ContextHandle `idl:"name:phContext" json:"context"` // resourceType: A RESOURCE_TYPE enumerated value indicating the resource type to be // negotiated. // // +---------------------+------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +---------------------+------------------------------------------------+ // +---------------------+------------------------------------------------+ // | RT_CONNECTIONS 0x00 | The resource to be negotiated is a connection. | // +---------------------+------------------------------------------------+ ResourceType ResourceType `idl:"name:resourceType" json:"resource_type"` // dwcRequested: An unsigned 32-bit integer that specifies the number of resources to // allocate. This value MUST be greater than 0x00 and less than 1,000. RequestedCount uint32 `idl:"name:dwcRequested" json:"requested_count"` // pdwcAccepted: A pointer to an unsigned 32-bit integer that receives the number of // resources that were allocated on behalf of the caller. This value SHOULD be smaller // than the value of dwcRequested if the partner was incapable of allocating all of // the requested resources. On input, this value MUST be set to 0x00000000. AcceptedCount uint32 `idl:"name:pdwcAccepted" json:"accepted_count"` }
NegotiateResourcesRequest structure represents the NegotiateResources operation request
func (*NegotiateResourcesRequest) MarshalNDR ¶
func (*NegotiateResourcesRequest) UnmarshalNDR ¶
type NegotiateResourcesResponse ¶
type NegotiateResourcesResponse struct { // pdwcAccepted: A pointer to an unsigned 32-bit integer that receives the number of // resources that were allocated on behalf of the caller. This value SHOULD be smaller // than the value of dwcRequested if the partner was incapable of allocating all of // the requested resources. On input, this value MUST be set to 0x00000000. AcceptedCount uint32 `idl:"name:pdwcAccepted" json:"accepted_count"` // Return: The NegotiateResources return value. Return int32 `idl:"name:Return" json:"return"` }
NegotiateResourcesResponse structure represents the NegotiateResources operation response
func (*NegotiateResourcesResponse) MarshalNDR ¶
func (*NegotiateResourcesResponse) UnmarshalNDR ¶
type PokeRequest ¶
type PokeRequest struct { // sRank: The session rank of the partner making the call. This parameter MUST be set // to 0x02 (SRANK_SECONDARY). // // +----------------------+------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +----------------------+------------------------------------------+ // +----------------------+------------------------------------------+ // | SRANK_SECONDARY 0x02 | The caller is the secondary participant. | // +----------------------+------------------------------------------+ Rank SessionRank `idl:"name:sRank" json:"rank"` // pszCalleeUuid: A string containing the primary partner's contact identifier (CID) // in the form of a GUID. The contact identifier (CID) MUST match the CID in the primary // partner's local name object and MUST be formatted into a string. CalleeUUID string `idl:"name:pszCalleeUuid;string" json:"callee_uuid"` // pszHostName: The string form of the caller's host name. This host name identifies // the machine on which the caller's instance of the MSDTC Connection Manager: OleTx // Transports Protocol is running. This value is used by the primary participant to // establish the RPC binding handle for its subsequent call to BuildContext. This MUST // be a NetBIOS name. For NetBIOS, see [NETBEUI], [RFC1001], and [RFC1002]. HostName string `idl:"name:pszHostName;string" json:"host_name"` // pszUuidString: The string form of the caller's contact identifier (CID) in the form // of a GUID. This contact identifier (CID) identifies the caller's instance of the // MSDTC Connection Manager: OleTx Transports Protocol. It MUST match the CID in the // caller's local name object, and MUST be formatted into a string. This value is used // by the primary participant to establish the RPC binding handle for its subsequent // call to BuildContext. UUIDString string `idl:"name:pszUuidString;string" json:"uuid_string"` // dwcbSizeOfBlob: The count, in bytes, of the size of the binding info structure. This // parameter MUST be set to 0x00000008. SizeOfBlob uint32 `idl:"name:dwcbSizeOfBlob" json:"size_of_blob"` // rguchBlob: A byte array containing a BIND_INFO_BLOB structure specifying the transport // protocols supported. This information is used to build the RPC binding for the reverse // connection. Blob []byte `idl:"name:rguchBlob;size_is:(dwcbSizeOfBlob)" json:"blob"` }
PokeRequest structure represents the Poke operation request
func (*PokeRequest) MarshalNDR ¶
func (*PokeRequest) UnmarshalNDR ¶
type PokeResponse ¶
type PokeResponse struct { // Return: The Poke return value. Return int32 `idl:"name:Return" json:"return"` }
PokeResponse structure represents the Poke operation response
func (*PokeResponse) MarshalNDR ¶
func (*PokeResponse) UnmarshalNDR ¶
type PokeWRequest ¶
type PokeWRequest struct { // sRank: The SESSION_RANK of the partner making the call. This parameter MUST be set // to 0x02 (SRANK_SECONDARY). // // +----------------------+------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +----------------------+------------------------------------------+ // +----------------------+------------------------------------------+ // | SRANK_SECONDARY 0x02 | The caller is the secondary participant. | // +----------------------+------------------------------------------+ Rank SessionRank `idl:"name:sRank" json:"rank"` // pwszCalleeUuid: The string form of the primary partner contact identifier (CID). // The contact identifier (CID) MUST match the contact identifier (CID) in the primary // partner local name object, and MUST be formatted into a string. CalleeUUID string `idl:"name:pwszCalleeUuid;string" json:"callee_uuid"` // pwszHostName: The string form of the caller's host name. This host name identifies // the machine in which the caller's instance of the MSDTC Connection Manager: OleTx // Transports Protocol is running. This MUST be a NetBIOS name. For NetBIOS, see [NETBEUI], // [RFC1001], and [RFC1002]. HostName string `idl:"name:pwszHostName;string" json:"host_name"` // pwszUuidString: The string form of the caller's contact identifier (CID). This contact // identifier (CID) identifies the caller's instance of the MSDTC Connection Manager: // OleTx Transports Protocol; it MUST match the contact identifier (CID) in the caller's // local name object and MUST be formatted into a string. UUIDString string `idl:"name:pwszUuidString;string" json:"uuid_string"` // dwcbSizeOfBlob: The count, in bytes, of the size of the binding info structure. This // parameter MUST be set to the size of the BIND_INFO_BLOB, 8. SizeOfBlob uint32 `idl:"name:dwcbSizeOfBlob" json:"size_of_blob"` // rguchBlob: A byte array that contains a BIND_INFO_BLOB structure. Blob []byte `idl:"name:rguchBlob;size_is:(dwcbSizeOfBlob)" json:"blob"` }
PokeWRequest structure represents the PokeW operation request
func (*PokeWRequest) MarshalNDR ¶
func (*PokeWRequest) UnmarshalNDR ¶
type PokeWResponse ¶
type PokeWResponse struct { // Return: The PokeW return value. Return int32 `idl:"name:Return" json:"return"` }
PokeWResponse structure represents the PokeW operation response
func (*PokeWResponse) MarshalNDR ¶
func (*PokeWResponse) UnmarshalNDR ¶
type ResourceType ¶
type ResourceType uint16
ResourceType type represents RESOURCE_TYPE RPC enumeration.
var (
ResourceTypeConnections ResourceType = 0
)
func (ResourceType) String ¶
func (o ResourceType) String() string
type SendReceiveRequest ¶
type SendReceiveRequest struct { // phContext: An RPC context handle, returned by a call to BuildContext or BuildContextW, // correlated with a session object in the Active state. For context handles, see [C706]. Context *dcetypes.ContextHandle `idl:"name:phContext" json:"context"` // dwcMessages: An unsigned 32-bit integer specifying the number of messages being sent. MessagesCount uint32 `idl:"name:dwcMessages" json:"messages_count"` // dwcbSizeOfBoxCar: Size in bytes of the box car specified by rguchBoxCar. SizeOfBoxCar uint32 `idl:"name:dwcbSizeOfBoxCar" json:"size_of_box_car"` // rguchBoxCar: An array of bytes that contains the messages being sent. BoxCar []byte `idl:"name:rguchBoxCar;size_is:(dwcbSizeOfBoxCar)" json:"box_car"` }
SendReceiveRequest structure represents the SendReceive operation request
func (*SendReceiveRequest) MarshalNDR ¶
func (*SendReceiveRequest) UnmarshalNDR ¶
type SendReceiveResponse ¶
type SendReceiveResponse struct { // Return: The SendReceive return value. Return int32 `idl:"name:Return" json:"return"` }
SendReceiveResponse structure represents the SendReceive operation response
func (*SendReceiveResponse) MarshalNDR ¶
func (*SendReceiveResponse) UnmarshalNDR ¶
type SessionRank ¶
type SessionRank uint16
SessionRank type represents SESSION_RANK RPC enumeration.
var ( SessionRankSrankPrimary SessionRank = 1 SessionRankSrankSecondary SessionRank = 2 )
func (SessionRank) String ¶
func (o SessionRank) String() string
type TearDownContextRequest ¶
type TearDownContextRequest struct { // contextHandle: An RPC context handle, returned by a call to BuildContext or BuildContextW, // is correlated with a session object that is in the Active state. After TearDownContext // is executed, on either success or failure requests, contextHandle will be set to // null. For context handles, see [C706]. ContextHandle *dcetypes.ContextHandle `idl:"name:contextHandle" json:"context_handle"` // sRank: A SESSION_RANK enumerated value indicating whether the teardown request is // being made by a primary partner or secondary partner. The teardown request MUST be // sent from a primary partner only. // // +----------------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +----------------------+----------------------------------------------------------------------------------+ // +----------------------+----------------------------------------------------------------------------------+ // | SRANK_PRIMARY 0x01 | The caller is the primary partner in this session. The callee MUST be a | // | | secondary partner in this session, and the caller MUST be a primary partner in | // | | this session. | // +----------------------+----------------------------------------------------------------------------------+ // | SRANK_SECONDARY 0x02 | The caller is the secondary partner in this session. The callee MUST be a | // | | primary partner in this session, and the caller MUST be a secondary partner in | // | | this session. | // +----------------------+----------------------------------------------------------------------------------+ Rank SessionRank `idl:"name:sRank" json:"rank"` // tearDownType: The reason for tearing down the session. It MUST be one of the following // values. // // +-----------------+---------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-----------------+---------------------------------------------------------------+ // +-----------------+---------------------------------------------------------------+ // | TT_FORCE 0x00 | The session is being forcefully torn down. | // +-----------------+---------------------------------------------------------------+ // | TT_PROBLEM 0x02 | The session is being torn down because an error has occurred. | // +-----------------+---------------------------------------------------------------+ TearDownType TeardownType `idl:"name:tearDownType" json:"tear_down_type"` }
TearDownContextRequest structure represents the TearDownContext operation request
func (*TearDownContextRequest) MarshalNDR ¶
func (*TearDownContextRequest) UnmarshalNDR ¶
type TearDownContextResponse ¶
type TearDownContextResponse struct { // contextHandle: An RPC context handle, returned by a call to BuildContext or BuildContextW, // is correlated with a session object that is in the Active state. After TearDownContext // is executed, on either success or failure requests, contextHandle will be set to // null. For context handles, see [C706]. ContextHandle *dcetypes.ContextHandle `idl:"name:contextHandle" json:"context_handle"` // Return: The TearDownContext return value. Return int32 `idl:"name:Return" json:"return"` }
TearDownContextResponse structure represents the TearDownContext operation response
func (*TearDownContextResponse) MarshalNDR ¶
func (*TearDownContextResponse) UnmarshalNDR ¶
type TeardownType ¶
type TeardownType uint16
TeardownType type represents TEARDOWN_TYPE RPC enumeration.
var ( TeardownTypeForce TeardownType = 0 TeardownTypeProblem TeardownType = 2 )
func (TeardownType) String ¶
func (o TeardownType) String() string