Documentation ¶
Index ¶
- Variables
- func NewTapsrvServerHandle(o TapsrvServer) dcerpc.ServerHandle
- func RegisterTapsrvServer(conn dcerpc.Conn, o TapsrvServer, opts ...dcerpc.Option)
- func TapsrvServerHandle(ctx context.Context, o TapsrvServer, opNum int, r ndr.Reader) (dcerpc.Operation, error)
- type ClientAttachRequest
- type ClientAttachResponse
- type ClientDetachRequest
- type ClientDetachResponse
- type ClientRequestRequest
- type ClientRequestResponse
- type TapsrvClient
- type TapsrvServer
- type Type
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // Syntax UUID TapsrvSyntaxUUID = &uuid.UUID{TimeLow: 0x2f5f6520, TimeMid: 0xca46, TimeHiAndVersion: 0x1067, ClockSeqHiAndReserved: 0xb3, ClockSeqLow: 0x19, Node: [6]uint8{0x0, 0xdd, 0x1, 0x6, 0x62, 0xda}} // Syntax ID TapsrvSyntaxV1_0 = &dcerpc.SyntaxID{IfUUID: TapsrvSyntaxUUID, IfVersionMajor: 1, IfVersionMinor: 0} )
View Source
var (
// import guard
GoPackage = "trp"
)
Functions ¶
func NewTapsrvServerHandle ¶
func NewTapsrvServerHandle(o TapsrvServer) dcerpc.ServerHandle
func RegisterTapsrvServer ¶
func RegisterTapsrvServer(conn dcerpc.Conn, o TapsrvServer, opts ...dcerpc.Option)
Types ¶
type ClientAttachRequest ¶
type ClientAttachRequest struct { // lProcessID: Identifier of the process on the client that generated the attach request. // // +------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +------------+----------------------------------------------------------------------------------+ // +------------+----------------------------------------------------------------------------------+ // | 0xFFFFFFFF | Client is a remote instance that wants to control the telephony devices on this | // | | server. | // +------------+----------------------------------------------------------------------------------+ // | 0xFFFFFFFD | Client is a remote instance that wants to manage and administer the telephony | // | | server. | // +------------+----------------------------------------------------------------------------------+ ProcessID int32 `idl:"name:lProcessID" json:"process_id"` // pszDomainUser: Pointer to a null-terminated string indicating the user's domain account // name. The string is passed on the wire. // // If lProcessId equals 0xFFFFFFFF (-1), pszDomainUser MUST contain either an empty // string ("") or the name of a client mailslot. If a mailslot name is specified and // the server is able to successfully open the mailslot, then the client and the server // MUST use the "pull" model event scheme. The server MUST inform the client that events // are available for retrieval by writing a DWORD value to the client's mailslot, and // the client retrieves events via the ClientRequest method. If an empty string is specified // or the server is unable to open the client's mailslot, then the "push" model event // scheme MUST be used in which the server calls the client's RemoteSPEventProc method. DomainUser string `idl:"name:pszDomainUser;string" json:"domain_user"` // pszMachine: Pointer to a null-terminated string indicating the client's machine name. // The string MUST be passed on the wire. // // If lProcessId equals 0xFFFFFFFF (-1), the pszMachine string takes the following format: // <clientComputerName>"<protocolSequence1>"<endpoint1>"<protSeqN>"<epN>"\0. This allows // the client to inform the server of its machine name and what protocols and endpoints // are supported by the client on its remotesp interface. Quotation marks MUST be used // as delimiting tokens. For instance, CLIENT-PC-NAME"ncacn_ip_tcp"251"ncacn_nb_nb"251"\0. Machine string `idl:"name:pszMachine;string" json:"machine"` }
ClientAttachRequest structure represents the ClientAttach operation request
func (*ClientAttachRequest) MarshalNDR ¶
func (*ClientAttachRequest) UnmarshalNDR ¶
type ClientAttachResponse ¶
type ClientAttachResponse struct { // pphContext: Pointer to a PCONTEXT_HANDLE_TYPE context handle. Context *Type `idl:"name:pphContext" json:"context"` // phAsyncEventsEvent: If applicable, a pointer to a packet containing any asynchronous // event that was triggered by the client attaching to the server. // // If lProcessId equals 0xFFFFFFFF (-1) and the server supports the NegotiateAPIVersionForAllDevices // request, the server MUST set the value of phAsyncEventsEvent to 0xa5c369a5. AsyncEventsEvent int32 `idl:"name:phAsyncEventsEvent" json:"async_events_event"` // Return: The ClientAttach return value. Return int32 `idl:"name:Return" json:"return"` }
ClientAttachResponse structure represents the ClientAttach operation response
func (*ClientAttachResponse) MarshalNDR ¶
func (*ClientAttachResponse) UnmarshalNDR ¶
type ClientDetachRequest ¶
type ClientDetachRequest struct { // pphContext: Pointer to a PCONTEXT_HANDLE_TYPE handle to the binding instance being // terminated. // // This method has no return values. // // On success, the server removes the client from the Client list. Context *Type `idl:"name:pphContext" json:"context"` }
ClientDetachRequest structure represents the ClientDetach operation request
func (*ClientDetachRequest) MarshalNDR ¶
func (*ClientDetachRequest) UnmarshalNDR ¶
type ClientDetachResponse ¶
type ClientDetachResponse struct { // pphContext: Pointer to a PCONTEXT_HANDLE_TYPE handle to the binding instance being // terminated. // // This method has no return values. // // On success, the server removes the client from the Client list. Context *Type `idl:"name:pphContext" json:"context"` }
ClientDetachResponse structure represents the ClientDetach operation response
func (*ClientDetachResponse) MarshalNDR ¶
func (*ClientDetachResponse) UnmarshalNDR ¶
type ClientRequestRequest ¶
type ClientRequestRequest struct { // phContext: Parameter that MUST contain the context handle of type PCONTEXT_HANDLE_TYPE. Context *Type `idl:"name:phContext" json:"context"` // pBuffer: Packet that MUST contain event packets or function calls. The packet follows // the structure of a TAPI32_MSG (section 2.2.5.2) packet. The Req_Func field of this // packet contains information about the operation to be performed on the server. Buffer []byte `idl:"name:pBuffer;size_is:(lNeededSize);length_is:(plUsedSize)" json:"buffer"` // lNeededSize: The size, in bytes, of a valid pBuffer. NeededSize int32 `idl:"name:lNeededSize" json:"needed_size"` // plUsedSize: The size, in bytes, of a valid pBuffer data. If any variable-length input // data is specified, both the size of the input data length and all the padding bytes // are included, or else all the padding bytes are excluded. UsedSize int32 `idl:"name:plUsedSize" json:"used_size"` }
ClientRequestRequest structure represents the ClientRequest operation request
func (*ClientRequestRequest) MarshalNDR ¶
func (*ClientRequestRequest) UnmarshalNDR ¶
type ClientRequestResponse ¶
type ClientRequestResponse struct { // pBuffer: Packet that MUST contain event packets or function calls. The packet follows // the structure of a TAPI32_MSG (section 2.2.5.2) packet. The Req_Func field of this // packet contains information about the operation to be performed on the server. Buffer []byte `idl:"name:pBuffer;size_is:(lNeededSize);length_is:(plUsedSize)" json:"buffer"` // plUsedSize: The size, in bytes, of a valid pBuffer data. If any variable-length input // data is specified, both the size of the input data length and all the padding bytes // are included, or else all the padding bytes are excluded. UsedSize int32 `idl:"name:plUsedSize" json:"used_size"` }
ClientRequestResponse structure represents the ClientRequest operation response
func (*ClientRequestResponse) MarshalNDR ¶
func (*ClientRequestResponse) UnmarshalNDR ¶
type TapsrvClient ¶
type TapsrvClient interface { // The ClientAttach method is called by the client to establish a binding instance with // the server. // // Return Values: The method returns 0 on success; otherwise, it returns a nonzero error // code, as specified in [MS-ERREF]. The following table includes a common error code. // // +------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +------------------------------------+----------------------------------------------------------------------------------+ // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x80000048 LINEERR_OPERATIONFAILED | Generic error on the server. | // +------------------------------------+----------------------------------------------------------------------------------+ // | -19 | Requesting administrator access via lProcessId equals 0xFFFFFFFD (-3), but the | // | | user credentials of the client do not have administrator access on the server. | // +------------------------------------+----------------------------------------------------------------------------------+ // // Exceptions Thrown: // // No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified // in [MS-RPCE]. // // The opnum field value for this method is 0. // // Either the client or the server can reject unencrypted packets based on the configuration.<6> ClientAttach(context.Context, *ClientAttachRequest, ...dcerpc.CallOption) (*ClientAttachResponse, error) // The ClientRequest method is called by the client to submit requests to the server. // // Return Values: This method has no return values. However, the status of the request // is encapsulated within the pBuffer parameter and contained in the TAPI32_MSG.Ack_ReturnValue // field. // // Exceptions Thrown: // // No exceptions are thrown beyond those thrown by the underlying RPC protocol as specified // in [MS-RPCE]. // // The opnum field value for this method is 1. ClientRequest(context.Context, *ClientRequestRequest, ...dcerpc.CallOption) (*ClientRequestResponse, error) // The ClientDetach method is called by a client when it finishes using the telephony // resources on a server. In response, the server frees the referenced binding instance // and releases the allocated resources associated with the client. For connection-oriented // clients, the server then calls RemoteSPDetach on the client to release the allocated // resources created on the client side. // // Exceptions Thrown: // // No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified // in [MS-RPCE]. // // The opnum field value for this method is 2. ClientDetach(context.Context, *ClientDetachRequest, ...dcerpc.CallOption) (*ClientDetachResponse, error) // AlterContext alters the client context. AlterContext(context.Context, ...dcerpc.Option) error }
tapsrv interface.
func NewTapsrvClient ¶
type TapsrvServer ¶
type TapsrvServer interface { // The ClientAttach method is called by the client to establish a binding instance with // the server. // // Return Values: The method returns 0 on success; otherwise, it returns a nonzero error // code, as specified in [MS-ERREF]. The following table includes a common error code. // // +------------------------------------+----------------------------------------------------------------------------------+ // | RETURN | | // | VALUE/CODE | DESCRIPTION | // | | | // +------------------------------------+----------------------------------------------------------------------------------+ // +------------------------------------+----------------------------------------------------------------------------------+ // | 0x80000048 LINEERR_OPERATIONFAILED | Generic error on the server. | // +------------------------------------+----------------------------------------------------------------------------------+ // | -19 | Requesting administrator access via lProcessId equals 0xFFFFFFFD (-3), but the | // | | user credentials of the client do not have administrator access on the server. | // +------------------------------------+----------------------------------------------------------------------------------+ // // Exceptions Thrown: // // No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified // in [MS-RPCE]. // // The opnum field value for this method is 0. // // Either the client or the server can reject unencrypted packets based on the configuration.<6> ClientAttach(context.Context, *ClientAttachRequest) (*ClientAttachResponse, error) // The ClientRequest method is called by the client to submit requests to the server. // // Return Values: This method has no return values. However, the status of the request // is encapsulated within the pBuffer parameter and contained in the TAPI32_MSG.Ack_ReturnValue // field. // // Exceptions Thrown: // // No exceptions are thrown beyond those thrown by the underlying RPC protocol as specified // in [MS-RPCE]. // // The opnum field value for this method is 1. ClientRequest(context.Context, *ClientRequestRequest) (*ClientRequestResponse, error) // The ClientDetach method is called by a client when it finishes using the telephony // resources on a server. In response, the server frees the referenced binding instance // and releases the allocated resources associated with the client. For connection-oriented // clients, the server then calls RemoteSPDetach on the client to release the allocated // resources created on the client side. // // Exceptions Thrown: // // No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified // in [MS-RPCE]. // // The opnum field value for this method is 2. ClientDetach(context.Context, *ClientDetachRequest) (*ClientDetachResponse, error) }
tapsrv server interface.
type Type ¶
type Type dcetypes.ContextHandle
Type structure represents PCONTEXT_HANDLE_TYPE RPC structure.
func (*Type) ContextHandle ¶
func (o *Type) ContextHandle() *dcetypes.ContextHandle
Click to show internal directories.
Click to hide internal directories.