imsmqtransaction2

package
v1.2.16 Latest Latest
Warning

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

Go to latest
Published: Feb 22, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// IMSMQTransaction2 interface identifier 2ce0c5b0-6e67-11d2-b0e6-00e02c074f6b
	Transaction2IID = &dcom.IID{Data1: 0x2ce0c5b0, Data2: 0x6e67, Data3: 0x11d2, Data4: []byte{0xb0, 0xe6, 0x00, 0xe0, 0x2c, 0x07, 0x4f, 0x6b}}
	// Syntax UUID
	Transaction2SyntaxUUID = &uuid.UUID{TimeLow: 0x2ce0c5b0, TimeMid: 0x6e67, TimeHiAndVersion: 0x11d2, ClockSeqHiAndReserved: 0xb0, ClockSeqLow: 0xe6, Node: [6]uint8{0x0, 0xe0, 0x2c, 0x7, 0x4f, 0x6b}}
	// Syntax ID
	Transaction2SyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: Transaction2SyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "dcom/mqac"
)

Functions

func NewTransaction2ServerHandle

func NewTransaction2ServerHandle(o Transaction2Server) dcerpc.ServerHandle

func RegisterTransaction2Server

func RegisterTransaction2Server(conn dcerpc.Conn, o Transaction2Server, opts ...dcerpc.Option)

func Transaction2ServerHandle

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

Types

type GetPropertiesRequest

type GetPropertiesRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
}

GetPropertiesRequest structure represents the Properties operation request

func (*GetPropertiesRequest) MarshalNDR

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

func (*GetPropertiesRequest) UnmarshalNDR

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

type GetPropertiesResponse

type GetPropertiesResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That       *dcom.ORPCThat `idl:"name:That" json:"that"`
	Properties *oaut.Dispatch `idl:"name:ppcolProperties" json:"properties"`
	// Return: The Properties return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetPropertiesResponse structure represents the Properties operation response

func (*GetPropertiesResponse) MarshalNDR

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

func (*GetPropertiesResponse) UnmarshalNDR

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

type InitNewRequest

type InitNewRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// varTransaction: A pointer to a VARIANT that points to an existing underlying transaction
	// object that is implementing the ITransaction interface. The VARIANT that is passed
	// can be any one of the following types:
	//
	// * VT_UNKNOWN
	//
	//   - VT_UNKNOWN | VT_BYREF
	//
	// * VT_DISPATCH
	//
	//   - VT_DISPATCH | VT_BYREF
	Transaction *oaut.Variant `idl:"name:varTransaction" json:"transaction"`
}

InitNewRequest structure represents the InitNew operation request

func (*InitNewRequest) MarshalNDR

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

func (*InitNewRequest) UnmarshalNDR

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

type InitNewResponse

type InitNewResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// Return: The InitNew return value.
	Return int32 `idl:"name:Return" json:"return"`
}

InitNewResponse structure represents the InitNew operation response

func (*InitNewResponse) MarshalNDR

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

func (*InitNewResponse) UnmarshalNDR

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

type Transaction2Client

type Transaction2Client interface {

	// IMSMQTransaction retrieval method.
	Transaction() imsmqtransaction.TransactionClient

	// The InitNew method is received by the server in an RPC_REQUEST packet. In response,
	// the server MUST initialize an MSMQ transaction object to represent an existing underlying
	// transaction object.
	//
	// Return Values: The method MUST return S_OK (0x00000000) to indicate success or an
	// implementation-specific error HRESULT on failure.
	//
	// When the server processes this call, it MUST follow these guidelines:
	//
	// * If the Transaction instance variable is NOT NULL:
	//
	// * Return MQ_ERROR_TRANSACTION_USAGE (0xC00E0050), and take no further action.
	//
	// * Retrieve the transaction object, referred to as rTransObj , from the varTransaction
	// VARIANT based on the type of the VARIANT as follows:
	//
	// * If varTransaction.vt is VT_UNKNOWN then set rTransObj to varTransaction.punkVal.
	//
	//   - Else if varTransaction.vt is VT_UNKNOWN | VT_BYREF then set rTransObj to varTransaction.ppunkVal.
	//
	// * Else if varTransaction.vt is VT_DISPATCH then set rTransObj to varTransaction.pdispVal.
	//
	//   - Else if varTransaction.vt is VT_ DISPATCH | VT_BYREF then set rTransObj to varTransaction.ppdispVal.
	//
	// * Otherwise return E_INVALIDARG (0x80070057).
	//
	// * Retrieve the transaction object that is implementing the ITransaction interface
	// by calling IUnknown::QueryInterface ( ../ms-dcom/2b4db106-fb79-4a67-b45f-63654f19c54c
	// ) (section 3.1 ( 6b1800d7-4e98-48be-997e-57f09ce52d41 ) ) on rTransObj , passing
	// the interface identifier ( 3b7be3f7-651c-4f9c-930b-a9a7c4355ad8#gt_76ad3105-3f05-479d-a40c-c9c8fa2ebd83
	// ) of ITransaction.
	//
	// * Return E_INVALIDARG (0x80070057) if the varTransaction input parameter does not
	// implement the ITransaction interface, and take no further action.
	//
	// * Set the Transaction instance variable to the value of the transaction object previously
	// obtained.
	InitNew(context.Context, *InitNewRequest, ...dcerpc.CallOption) (*InitNewResponse, error)

	// Properties operation.
	GetProperties(context.Context, *GetPropertiesRequest, ...dcerpc.CallOption) (*GetPropertiesResponse, error)

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

	// Conn returns the client connection (unsafe)
	Conn() dcerpc.Conn

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

IMSMQTransaction2 interface.

func NewTransaction2Client

func NewTransaction2Client(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (Transaction2Client, error)

type Transaction2Server

type Transaction2Server interface {

	// IMSMQTransaction base class.
	imsmqtransaction.TransactionServer

	// The InitNew method is received by the server in an RPC_REQUEST packet. In response,
	// the server MUST initialize an MSMQ transaction object to represent an existing underlying
	// transaction object.
	//
	// Return Values: The method MUST return S_OK (0x00000000) to indicate success or an
	// implementation-specific error HRESULT on failure.
	//
	// When the server processes this call, it MUST follow these guidelines:
	//
	// * If the Transaction instance variable is NOT NULL:
	//
	// * Return MQ_ERROR_TRANSACTION_USAGE (0xC00E0050), and take no further action.
	//
	// * Retrieve the transaction object, referred to as rTransObj , from the varTransaction
	// VARIANT based on the type of the VARIANT as follows:
	//
	// * If varTransaction.vt is VT_UNKNOWN then set rTransObj to varTransaction.punkVal.
	//
	//   - Else if varTransaction.vt is VT_UNKNOWN | VT_BYREF then set rTransObj to varTransaction.ppunkVal.
	//
	// * Else if varTransaction.vt is VT_DISPATCH then set rTransObj to varTransaction.pdispVal.
	//
	//   - Else if varTransaction.vt is VT_ DISPATCH | VT_BYREF then set rTransObj to varTransaction.ppdispVal.
	//
	// * Otherwise return E_INVALIDARG (0x80070057).
	//
	// * Retrieve the transaction object that is implementing the ITransaction interface
	// by calling IUnknown::QueryInterface ( ../ms-dcom/2b4db106-fb79-4a67-b45f-63654f19c54c
	// ) (section 3.1 ( 6b1800d7-4e98-48be-997e-57f09ce52d41 ) ) on rTransObj , passing
	// the interface identifier ( 3b7be3f7-651c-4f9c-930b-a9a7c4355ad8#gt_76ad3105-3f05-479d-a40c-c9c8fa2ebd83
	// ) of ITransaction.
	//
	// * Return E_INVALIDARG (0x80070057) if the varTransaction input parameter does not
	// implement the ITransaction interface, and take no further action.
	//
	// * Set the Transaction instance variable to the value of the transaction object previously
	// obtained.
	InitNew(context.Context, *InitNewRequest) (*InitNewResponse, error)

	// Properties operation.
	GetProperties(context.Context, *GetPropertiesRequest) (*GetPropertiesResponse, error)
}

IMSMQTransaction2 server interface.

type UnimplementedTransaction2Server

type UnimplementedTransaction2Server struct {
	imsmqtransaction.UnimplementedTransactionServer
}

Unimplemented IMSMQTransaction2

func (UnimplementedTransaction2Server) GetProperties

func (UnimplementedTransaction2Server) InitNew

Jump to

Keyboard shortcuts

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