dscomm

package
v1.1.6 Latest Latest
Warning

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

Go to latest
Published: Feb 18, 2025 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// Syntax UUID
	DscommSyntaxUUID = &uuid.UUID{TimeLow: 0x77df7a80, TimeMid: 0xf298, TimeHiAndVersion: 0x11d0, ClockSeqHiAndReserved: 0x83, ClockSeqLow: 0x58, Node: [6]uint8{0x0, 0xa0, 0x24, 0xc4, 0x80, 0xa8}}
	// Syntax ID
	DscommSyntaxV1_0 = &dcerpc.SyntaxID{IfUUID: DscommSyntaxUUID, IfVersionMajor: 1, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "mqds"
)

Functions

func DscommServerHandle

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

func NewDscommServerHandle

func NewDscommServerHandle(o DscommServer) dcerpc.ServerHandle

func RegisterDscommServer

func RegisterDscommServer(conn dcerpc.Conn, o DscommServer, opts ...dcerpc.Option)

Types

type CloseServerRequest

type CloseServerRequest struct {
	// pphServerAuth:  The PCONTEXT_HANDLE_SERVER_AUTH_TYPE RPC context handle to close.
	// It MUST have been acquired from the pphServerAuth parameter in a previous call to
	// S_DSValidateServer, and MUST NOT have been closed through a previous call to S_DSCloseServerHandle.
	// The server MUST set this parameter to NULL.
	ServerAuth *ServerAuthType `idl:"name:pphServerAuth" json:"server_auth"`
}

CloseServerRequest structure represents the S_DSCloseServerHandle operation request

func (*CloseServerRequest) MarshalNDR

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

func (*CloseServerRequest) UnmarshalNDR

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

type CloseServerResponse

type CloseServerResponse struct {
	// pphServerAuth:  The PCONTEXT_HANDLE_SERVER_AUTH_TYPE RPC context handle to close.
	// It MUST have been acquired from the pphServerAuth parameter in a previous call to
	// S_DSValidateServer, and MUST NOT have been closed through a previous call to S_DSCloseServerHandle.
	// The server MUST set this parameter to NULL.
	ServerAuth *ServerAuthType `idl:"name:pphServerAuth" json:"server_auth"`
	// Return: The S_DSCloseServerHandle return value.
	Return int32 `idl:"name:Return" json:"return"`
}

CloseServerResponse structure represents the S_DSCloseServerHandle operation response

func (*CloseServerResponse) MarshalNDR

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

func (*CloseServerResponse) UnmarshalNDR

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

type CreateObjectRequest

type CreateObjectRequest struct {
	// dwObjectType:  Specifies the type of directory object to create. MUST be set to
	// one of the object types, as specified in section 2.2.8.
	ObjectType uint32 `idl:"name:dwObjectType" json:"object_type"`
	// pwcsPathName:  Pointer to a NULL-terminated 16-bit Unicode string that MUST contain
	// the directory service pathname, as specified in section 2.2.9 for the object to be
	// created in the directory service. If the object is of a type that is not referenced
	// by pathname, as specified in section 2.2.9, this pointer MUST be NULL.
	PathName string `idl:"name:pwcsPathName;string;pointer:unique" json:"path_name"`
	// dwSDLength:  MUST contain the size in bytes of the buffer pointed to by SecurityDescriptor.
	SecurityDescriptorLength uint32 `idl:"name:dwSDLength" json:"security_descriptor_length"`
	// SecurityDescriptor:  MUST contain a pointer to a security descriptor, as specified
	// in [MS-DTYP] section 2.4.6, or NULL.
	SecurityDescriptor []byte `idl:"name:SecurityDescriptor;size_is:(dwSDLength);pointer:unique" json:"security_descriptor"`
	// cp:  MUST be set to the size (in elements) of the arrays aProp and apVar. The arrays
	// aProp and apVar MUST have an identical number of elements and MUST contain at least
	// one element.
	CreatePartition uint32 `idl:"name:cp" json:"create_partition"`
	// aProp:  An array of property identifiers of properties to associate with the created
	// object. Each element MUST specify a value from the property identifiers table as
	// specified in section 2.2.10.1, for the directory object type specified in dwObjectType.
	// Each element MUST specify the property identifier for the corresponding property
	// value at the same element index in apVar. The array MUST contain at least one element.
	Property []uint32 `idl:"name:aProp;size_is:(cp)" json:"property"`
	// apVar:  An array of property values to associate with the created object. Each element
	// MUST specify the property value for the corresponding property identifier at the
	// same element index in aProp. The array MUST contain at least one element.
	Var []*mqmq.PropertyVariant `idl:"name:apVar;size_is:(cp)" json:"var"`
	// pObjGuid: SHOULD be set by the server to the GUID of the created object if the dwObjectType
	// is equal to MQDS_QUEUE, MQDS_ROUTINGLINK, or MQDS_MACHINE.<19>
	ObjectGUID *dtyp.GUID `idl:"name:pObjGuid;pointer:unique" json:"object_guid"`
}

CreateObjectRequest structure represents the S_DSCreateObject operation request

func (*CreateObjectRequest) MarshalNDR

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

func (*CreateObjectRequest) UnmarshalNDR

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

type CreateObjectResponse

type CreateObjectResponse struct {
	// pObjGuid: SHOULD be set by the server to the GUID of the created object if the dwObjectType
	// is equal to MQDS_QUEUE, MQDS_ROUTINGLINK, or MQDS_MACHINE.<19>
	ObjectGUID *dtyp.GUID `idl:"name:pObjGuid;pointer:unique" json:"object_guid"`
	// Return: The S_DSCreateObject return value.
	Return int32 `idl:"name:Return" json:"return"`
}

CreateObjectResponse structure represents the S_DSCreateObject operation response

func (*CreateObjectResponse) MarshalNDR

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

func (*CreateObjectResponse) UnmarshalNDR

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

type CreateServersCacheRequest

type CreateServersCacheRequest struct {
	// pdwIndex:  Pointer to an unsigned long that contains an index into the configured
	// list of sites in the enterprise indicating the site to which the list of BSCs is
	// to be returned.
	Index uint32 `idl:"name:pdwIndex" json:"index"`
	// lplpSiteServers:  Pointer to a pointer to a string that contains the list of servers
	// associated with the indexed site. The string MUST be in Server List String (section
	// 2.2.17) format.
	SiteServers string `idl:"name:lplpSiteServers;string;pointer:ptr" json:"site_servers"`
	// phServerAuth: PCONTEXT_HANDLE_SERVER_AUTH_TYPE RPC context handle acquired from the
	// pphServerAuth parameter in a previous call to S_DSValidateServer. The server MUST
	// use this parameter as a key to locate the GSS security context used to compute the
	// signature returned in pbServerSignature. See section 3.1.4.2.
	ServerAuth *ServerAuthType `idl:"name:phServerAuth" json:"server_auth"`
	// pdwServerSignatureSize:  MUST be set by the client to point to an unsigned LONG
	// that contains the maximum length in bytes of the server signature to return. MUST
	// be set by the server to the actual length in bytes of the server signature on output.
	// If the server signature is larger than the supplied buffer, the server MUST return
	// MQ_ERROR_USER_BUFFER_TOO_SMALL (0xC00E0028).
	ServerSignatureSize uint32 `idl:"name:pdwServerSignatureSize" json:"server_signature_size"`
}

CreateServersCacheRequest structure represents the S_DSCreateServersCache operation request

func (*CreateServersCacheRequest) MarshalNDR

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

func (*CreateServersCacheRequest) UnmarshalNDR

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

type CreateServersCacheResponse

type CreateServersCacheResponse struct {
	// pdwIndex:  Pointer to an unsigned long that contains an index into the configured
	// list of sites in the enterprise indicating the site to which the list of BSCs is
	// to be returned.
	Index uint32 `idl:"name:pdwIndex" json:"index"`
	// lplpSiteServers:  Pointer to a pointer to a string that contains the list of servers
	// associated with the indexed site. The string MUST be in Server List String (section
	// 2.2.17) format.
	SiteServers string `idl:"name:lplpSiteServers;string;pointer:ptr" json:"site_servers"`
	// pbServerSignature:  MUST be set by the server to a buffer that contains a signed
	// hash over the server list returned in lplpSiteServers. The server MUST construct
	// this signature by creating a hash by using the MD5 algorithm (as specified in [RFC1321])
	// and sealing it, as specified by the following pseudocode.
	ServerSignature []byte `idl:"name:pbServerSignature;size_is:(pdwServerSignatureSize)" json:"server_signature"`
	// pdwServerSignatureSize:  MUST be set by the client to point to an unsigned LONG
	// that contains the maximum length in bytes of the server signature to return. MUST
	// be set by the server to the actual length in bytes of the server signature on output.
	// If the server signature is larger than the supplied buffer, the server MUST return
	// MQ_ERROR_USER_BUFFER_TOO_SMALL (0xC00E0028).
	ServerSignatureSize uint32 `idl:"name:pdwServerSignatureSize" json:"server_signature_size"`
	// Return: The S_DSCreateServersCache return value.
	Return int32 `idl:"name:Return" json:"return"`
}

CreateServersCacheResponse structure represents the S_DSCreateServersCache operation response

func (*CreateServersCacheResponse) MarshalNDR

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

func (*CreateServersCacheResponse) UnmarshalNDR

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

type DeleteObjectGUIDRequest

type DeleteObjectGUIDRequest struct {
	// dwObjectType:  Specifies the type of object to delete. MUST be set to one of the
	// object types specified in section 2.2.8.
	ObjectType uint32 `idl:"name:dwObjectType" json:"object_type"`
	// pGuid:  A pointer to the GUID of the object to delete. This MUST be the identifier
	// assigned to the object by the server when the object was created. See section 3.1.4.1.
	GUID *dtyp.GUID `idl:"name:pGuid" json:"guid"`
}

DeleteObjectGUIDRequest structure represents the S_DSDeleteObjectGuid operation request

func (*DeleteObjectGUIDRequest) MarshalNDR

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

func (*DeleteObjectGUIDRequest) UnmarshalNDR

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

type DeleteObjectGUIDResponse

type DeleteObjectGUIDResponse struct {
	// Return: The S_DSDeleteObjectGuid return value.
	Return int32 `idl:"name:Return" json:"return"`
}

DeleteObjectGUIDResponse structure represents the S_DSDeleteObjectGuid operation response

func (*DeleteObjectGUIDResponse) MarshalNDR

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

func (*DeleteObjectGUIDResponse) UnmarshalNDR

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

type DeleteObjectRequest

type DeleteObjectRequest struct {
	// dwObjectType:  Specifies the type of object to delete. MUST be set to one of the
	// directory object types specified in section 2.2.8.
	ObjectType uint32 `idl:"name:dwObjectType" json:"object_type"`
	// pwcsPathName: Pointer to a NULL-terminated 16-bit Unicode string that MUST contain
	// the directory service pathname, as specified in section 2.2.9, to the object in the
	// directory service.
	PathName string `idl:"name:pwcsPathName;string" json:"path_name"`
}

DeleteObjectRequest structure represents the S_DSDeleteObject operation request

func (*DeleteObjectRequest) MarshalNDR

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

func (*DeleteObjectRequest) UnmarshalNDR

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

type DeleteObjectResponse

type DeleteObjectResponse struct {
	// Return: The S_DSDeleteObject return value.
	Return int32 `idl:"name:Return" json:"return"`
}

DeleteObjectResponse structure represents the S_DSDeleteObject operation response

func (*DeleteObjectResponse) MarshalNDR

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

func (*DeleteObjectResponse) UnmarshalNDR

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

type DeleteType

type DeleteType dcetypes.ContextHandle

DeleteType structure represents PCONTEXT_HANDLE_DELETE_TYPE RPC structure.

func (*DeleteType) ContextHandle

func (o *DeleteType) ContextHandle() *dcetypes.ContextHandle

func (*DeleteType) MarshalNDR

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

func (*DeleteType) UnmarshalNDR

func (o *DeleteType) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type DscommClient

type DscommClient interface {

	// This method creates a new directory object, assigns the specified properties and
	// security descriptor to that directory object, and returns a unique GUID identifier
	// for that directory object.
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_ILLEGAL_PROPERTY_VALUE (0xC00E0018)
	//
	// MQ_ERROR_ILLEGAL_ENTERPRISE_OPERATION (0xC00E0071)
	//
	// MQ_ERROR (0xC00E0001)
	//
	// MQ_ERROR_DS_ERROR (0xC00E0043)
	//
	// MQDS_OBJECT_NOT_FOUND (0xC00E050F)
	//
	// E_ADS_PROPERTY_NOT_FOUND (0x8000500D)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol, as specified in [MS-RPCE].
	CreateObject(context.Context, *CreateObjectRequest, ...dcerpc.CallOption) (*CreateObjectResponse, error)

	// This method deletes a directory object specified by a directory service pathname.
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_INVALID_PARAMETER (0xC00E0006)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol, as specified in [MS-RPCE].
	//
	// The server SHOULD enforce appropriate security measures to make sure that the caller
	// has the required permissions to execute this routine. If the server enforces security
	// measures, and the caller does not have the required credentials, the server MUST
	// return an error.
	DeleteObject(context.Context, *DeleteObjectRequest, ...dcerpc.CallOption) (*DeleteObjectResponse, error)

	// This method returns the properties associated with a directory object specified by
	// a directory service pathname.
	//
	// Return Values: On success, this method MUST return MQ_OK (0x00000000); otherwise,
	// the server MUST return a failure HRESULT. Additionally, if a failure HRESULT is returned,
	// the client MUST disregard all out-parameter values.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_USER_BUFFER_TOO_SMALL (0xC00E0028)
	//
	// MQ_ERROR_INVALID_PARAMETER (0xC00E0006)
	//
	// MQ_ERROR_ILLEGAL_PROPID (0xC00E0039)
	//
	// MQ_ERROR (0xC00E0001)
	//
	// MQ_ERROR_DS_ERROR (0xC00E0043)
	//
	// MQDS_OBJECT_NOT_FOUND (0xC00E050F)
	//
	// E_ADS_PROPERTY_NOT_FOUND (0x8000500D)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol, as specified in [MS-RPCE].
	GetProperties(context.Context, *GetPropertiesRequest, ...dcerpc.CallOption) (*GetPropertiesResponse, error)

	// This method sets the specified properties for a directory object specified by a directory
	// service pathname.
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_ILLEGAL_PROPID (0xC00E0039)
	//
	// MQ_ERROR (0xC00E0001)
	//
	// MQ_ERROR_DS_ERROR (0xC00E0043)
	//
	// MQDS_OBJECT_NOT_FOUND (0xC00E050F)
	//
	// E_ADS_PROPERTY_NOT_FOUND (0x8000500D)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol, as specified in [MS-RPCE].
	SetProperties(context.Context, *SetPropertiesRequest, ...dcerpc.CallOption) (*SetPropertiesResponse, error)

	// This method gets security properties for a directory object specified by a directory
	// service pathname.
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_USER_BUFFER_TOO_SMALL (0xC00E0028)
	//
	// MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL (0xC00E0023)
	//
	// MQDS_WRONG_OBJ_TYPE (0xC00E0506)
	//
	// MQ_ERROR_INVALID_PARAMETER (0xC00E0006)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol, as specified in [MS-RPCE].
	GetObjectSecurity(context.Context, *GetObjectSecurityRequest, ...dcerpc.CallOption) (*GetObjectSecurityResponse, error)

	// This method sets security properties for a directory object specified by a directory
	// service pathname.
	//
	// Return Values: If the method succeeds, the return value is 0x00000000. If the method
	// fails, the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC extension protocol, as specified in [MS-RPCE].
	SetObjectSecurity(context.Context, *SetObjectSecurityRequest, ...dcerpc.CallOption) (*SetObjectSecurityResponse, error)

	// This method performs a query over the directory objects and returns an RPC context
	// handle that can be used to retrieve the result set through a subsequent series of
	// calls to S_DSLookupNext (section 3.1.4.18). When the client has no further use of
	// the RPC context handle returned from this method, the client can close the context
	// handle through a call to S_DSLookupEnd (section 3.1.4.19).
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC extension protocol, as specified in [MS-RPCE].
	LookupBegin(context.Context, *LookupBeginRequest, ...dcerpc.CallOption) (*LookupBeginResponse, error)

	// This method returns a portion of the data from the result set computed in a previous
	// call to S_DSLookupBegin (section 3.1.4.17) and updates the cursor index to the first
	// directory object that has not yet been returned to the client.
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_USER_BUFFER_TOO_SMALL (0xC00E0028)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC extension protocol, as specified in [MS-RPCE].
	LookupNext(context.Context, *LookupNextRequest, ...dcerpc.CallOption) (*LookupNextResponse, error)

	// This method closes an opened RPC context handle created from a previous call to S_DSLookupBegin
	// (section 3.1.4.17).
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC extension protocol, as specified in [MS-RPCE].
	LookupEnd(context.Context, *LookupEndRequest, ...dcerpc.CallOption) (*LookupEndResponse, error)

	// This method deletes a directory object specified by an object identifier.
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_INVALID_PARAMETER (0xC00E0006)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol, as specified in [MS-RPCE].
	//
	// The server SHOULD enforce appropriate security measures to make sure that the caller
	// has the required permissions to execute this routine. If the server enforces security
	// measures, and the caller does not have the required credentials, the server MUST
	// return an error.
	DeleteObjectGUID(context.Context, *DeleteObjectGUIDRequest, ...dcerpc.CallOption) (*DeleteObjectGUIDResponse, error)

	// This method returns properties associated with a directory object specified by an
	// object identifier.
	//
	// Return Values:  On success, this method MUST return MQ_OK (0x00000000); otherwise,
	// the server MUST return a failure HRESULT. Additionally, if a failure HRESULT is returned,
	// the client MUST disregard all out-parameter values.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_USER_BUFFER_TOO_SMALL (0xC00E0028)
	//
	// MQ_ERROR_INVALID_PARAMETER (0xC00E0006)
	//
	// MQ_ERROR_ILLEGAL_PROPID (0xC00E0039)
	//
	// MQ_ERROR (0xC00E0001)
	//
	// MQ_ERROR_DS_ERROR (0xC00E0043)
	//
	// MQDS_OBJECT_NOT_FOUND (0xC00E050F)
	//
	// E_ADS_PROPERTY_NOT_FOUND (0x8000500D)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol, as specified in [MS-RPCE].
	GetPropertiesGUID(context.Context, *GetPropertiesGUIDRequest, ...dcerpc.CallOption) (*GetPropertiesGUIDResponse, error)

	// This method sets properties for a directory object specified by an object identifier.
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_ILLEGAL_PROPID (0xC00E0039)
	//
	// MQ_ERROR (0xC00E0001)
	//
	// MQ_ERROR_DS_ERROR (0xC00E0043)
	//
	// MQDS_OBJECT_NOT_FOUND (0xC00E050F)
	//
	// E_ADS_PROPERTY_NOT_FOUND (0x8000500D)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol, as specified in [MS-RPCE].
	SetPropertiesGUID(context.Context, *SetPropertiesGUIDRequest, ...dcerpc.CallOption) (*SetPropertiesGUIDResponse, error)

	// This method retrieves the security descriptor for a directory object specified by
	// an object identifier.
	//
	// Return Values: If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL (0xC00E0023)
	//
	// MQ_ERROR_USER_BUFFER_TOO_SMALL (0xC00E0028)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC extension protocol, as specified in [MS-RPCE].
	GetObjectSecurityGUID(context.Context, *GetObjectSecurityGUIDRequest, ...dcerpc.CallOption) (*GetObjectSecurityGUIDResponse, error)

	// This method sets security properties for a directory object specified by an object
	// identifier.
	//
	// Return Values: If the method succeeds, the return value is 0x00000000. If the method
	// fails, the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol extension, as specified in [MS-RPCE].
	SetObjectSecurityGUID(context.Context, *SetObjectSecurityGUIDRequest, ...dcerpc.CallOption) (*SetObjectSecurityGUIDResponse, error)

	// This method sets properties associated with a machine object specified by a directory
	// service pathname. This method is intended for use by a queue manager to manipulate
	// its own directory service object of type MQDS_MACHINE. Client applications SHOULD
	// NOT use this method.<76>
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_ILLEGAL_PROPID (0xC00E0039)
	//
	// MQ_ERROR (0xC00E0001)
	//
	// MQ_ERROR_DS_ERROR (0xC00E0043)
	//
	// MQDS_OBJECT_NOT_FOUND (0xC00E050F)
	//
	// E_ADS_PROPERTY_NOT_FOUND (0x8000500D)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC extension protocol, as specified in [MS-RPCE].
	QMSetMachineProperties(context.Context, *QMSetMachinePropertiesRequest, ...dcerpc.CallOption) (*QMSetMachinePropertiesResponse, error)

	// This method returns a list of Backup Site Controllers (BSCs) associated with a specified
	// site. The client calls this method to enumerate the BSCs associated with sites in
	// the configured list of sites in the enterprise.
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code. The server MUST return
	// MQDS_E_NO_MORE_DATA (0xC00E0523), if pdwIndex is an invalid index, into the configured
	// list of sites in the enterprise.
	//
	// MQ_OK (0x00000000)
	//
	// MQDS_E_NO_MORE_DATA (0xC00E0523)
	//
	// MQ_ERROR_USER_BUFFER_TOO_SMALL (0xC00E0028)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC extension protocol, as specified in [MS-RPCE].
	//
	// The S_DSCreateServersCache method returns information on Backup Site Controllers
	// (BSCs) associated with sites in the enterprise. The client uses this method to iterate
	// through the list of sites in the enterprise by calling the method repeatedly. Before
	// the first invocation, the client sets the pdwIndex parameter to 0. After each successful
	// invocation, the client increments the pdwIndex parameter by 1 and calls the method
	// again. The client repeats this sequence until the method call returns an error.
	CreateServersCache(context.Context, *CreateServersCacheRequest, ...dcerpc.CallOption) (*CreateServersCacheResponse, error)

	// This method is a callback method called by the server during a client call to S_DSQMSetMachineProperties.
	// Through this method, the server provides a challenge that the client must sign to
	// authenticate itself.
	//
	// Return Values:  This method is obsolete. The server SHOULD NOT call this method,
	// and the client SHOULD return MQ_ERROR_NOT_SUPPORTED (0xC00E03EB).<146> If the method
	// succeeds, the return value is 0. If the method fails, the return value is an implementation-specific
	// error code.
	//
	// ERROR_SUCCESS (0x00000000)
	//
	// MQ_ERROR_NOT_SUPPORTED (0xC00E03EB)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC extension protocol, as specified in [MS-RPCE].
	QMSetMachinePropertiesSignProc(context.Context, *QMSetMachinePropertiesSignProcRequest, ...dcerpc.CallOption) (*QMSetMachinePropertiesSignProcResponse, error)

	// This method retrieves the security descriptor for a directory object specified by
	// an object identifier.
	//
	// Return Values: If the method succeeds, the return value is 0x00000000. If the method
	// fails, the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL (0xC00E0023)
	//
	// MQ_ERROR_USER_BUFFER_TOO_SMALL (0xC00E0028)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC extension protocol, as specified in [MS-RPCE].
	QMGetObjectSecurity(context.Context, *QMGetObjectSecurityRequest, ...dcerpc.CallOption) (*QMGetObjectSecurityResponse, error)

	// S_DSQMGetObjectSecurityChallengeResponceProc is a callback method called by the server
	// during a client call to S_DSQMGetObjectSecurity. Through this method, the server
	// provides a challenge that the client must sign to authenticate itself.
	//
	// Return Values:  This method is obsolete. The server SHOULD NOT call this method,
	// and the client SHOULD return MQ_ERROR_NOT_SUPPORTED (0xC00E03EB).<147> If the method
	// succeeds, the return value is 0. If the method fails, the return value is an implementation-specific
	// error code.
	//
	// ERROR_SUCCESS (0x00000000)
	//
	// MQ_ERROR_NOT_SUPPORTED (0xC00E03EB)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol extension, as specified in [MS-RPCE].
	QMGetObjectSecurityChallengeResponseProc(context.Context, *QMGetObjectSecurityChallengeResponseProcRequest, ...dcerpc.CallOption) (*QMGetObjectSecurityChallengeResponseProcResponse, error)

	// This method is a callback method called by the server during a client call to S_DSValidateServer.
	// These two methods are used to tunnel a GSS (as specified in [RFC2743]) security negotiation
	// to provide mutual authentication between the client and server.
	//
	// Return Values:  If the method succeeds, and the negotiation is complete, the return
	// value is 0. If the method succeeds, and the negotiation is not complete, the return
	// value is SEC_I_CONTINUE_NEEDED (0x00090312). If the method fails, the return value
	// is an implementation-specific error code.
	//
	// ERROR_SUCCESS (0x00000000)
	//
	// SEC_I_CONTINUE_NEEDED (0x00090312)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC extension protocol, as specified in [MS-RPCE].
	//
	// The caller MUST supply an input_token in pServerBuff computed through a call to GSS_Accept_sec_context.
	// The receiver MUST process this input_token through a call to GSS_Init_sec_context,
	// generating an output_token that MUST be returned in pServerBuff.
	//
	// If GSS_Init_sec_context returns GSS_S_CONTINUE_NEEDED, this is a signal that the
	// negotiation is not complete. The receiver MUST return SEC_I_CONTINUE_NEEDED (0x00090312).
	//
	// If GSS_Init_sec_context returns GSS_S_COMPLETE, the negotiation is complete. The
	// receiver MUST save the output context handle in the GSS security context state associated
	// with the dwContext parameter. The receiver MUST return SEC_E_OK (0x00000000).
	InitSecurityContext(context.Context, *InitSecurityContextRequest, ...dcerpc.CallOption) (*InitSecurityContextResponse, error)

	// This method performs mutual authentication between the client and server, and establishes
	// a security context, as specified in [RFC2743]. The server uses the security context
	// to construct a digital signature in subsequent method calls of this protocol, and
	// the client uses the security context to validate the digital signature. The digital
	// signature is used in methods that return data to the client. It allows the client
	// to authenticate the source of the data and ensures that it has not been tampered
	// with en route from the server to the client.
	//
	// When the client has no further use of the RPC context handle returned from this method,
	// it releases the handle through a subsequent call to S_DSCloseServerHandle (section
	// 3.1.4.3).
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_DS_ERROR (0xC00E0043)
	//
	// MQDS_E_CANT_INIT_SERVER_AUTH (0xC00E052B)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol as specified in [MS-RPCE].
	//
	// If the dwClientBuffSize parameter is zero, the server MUST initialize an empty security
	// context in the security context table associated with the pphServerAuth parameter
	// and MUST NOT invoke client callback methods. In addition, all signature parameters
	// in other methods in this protocol that return server signatures MUST be set to all
	// zeros.
	//
	// If the dwClientBuffSize parameter is nonzero, the server MUST construct a valid non-empty
	// security context in the security context table associated with the pphServerAuth
	// parameter.
	//
	// The client MUST supply an input_token in the pClientBuff parameter, acquired through
	// an initial call to GSS_Init_sec_context, as specified in [RFC2743] section 2.2.1.
	// The server MUST perform the following processing.
	//
	// *
	//
	// Let inputToken point to an input_token initialized to the pClientBuff parameter.
	//
	// *
	//
	// Call *GSS_Accept_sec_context* , as specified in [RFC2743] section 2.2.2, with the
	// input_token contained in inputToken and a NULL input_context_handle.
	//
	// *
	//
	// If *GSS_Accept_sec_context* returns GSS_S_COMPLETE, the negotiation is complete.
	// The server MUST allocate a PCONTEXT_HANDLE_SERVER_AUTH_TYPE RPC context handle and
	// MUST allocate a security context entry in the security table keyed by the context
	// handle. The server MUST associate the GSS security context (output_context_handle
	// from the GSSAPI call) with the security context entry. The server MUST return the
	// RPC context handle in the pphServerAuth parameter and return MQ_OK.
	//
	// *
	//
	// If *GSS_Accept_sec_context* returns GSS_S_CONTINUE_NEEDED, the server MUST issue
	// a callback to the client through the S_InitSecCtx (section 3.2.4.3) method with the
	// dwContext parameter set to the value supplied by the client in the dwContext parameter
	// and the pServerBuff parameter set to the output_token returned from *GSS_Accept_sec_context*.
	// When the callback to S_InitSecCtx returns, the server MUST set inputToken to the
	// pClientBuff parameter returned by S_InitSecCtx and MUST continue at step 2.
	//
	// *
	//
	// If *GSS_Accept_sec_context* returns any other value, the server MUST take no further
	// action and return a failure HRESULT ( ../ms-dtyp/a9046ed2-bfb2-4d56-a719-2824afce59ac
	// ).
	//
	// The GSS security context is used by the server in subsequent calls to GSSWrap, as
	// specified in [RFC2743] section 2.3.3.
	//
	// On successful return, the client MUST retrieve the GSS security context associated
	// with the dwContext parameter and MUST associate it with the PCONTEXT_HANDLE_SERVER_AUTH_TYPE
	// RPC context handle returned in the pphServerAuth parameter. The GSS security context
	// will be used by the client in subsequent calls to GSSUnwrap, as specified in [RFC2743]
	// section 2.3.4.
	ValidateServer(context.Context, *ValidateServerRequest, ...dcerpc.CallOption) (*ValidateServerResponse, error)

	// This method closes the RPC context handle returned by a previous call to S_DSValidateServer.
	// The server releases resources associated with the RPC context handle.
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol as specified in [MS-RPCE].
	CloseServer(context.Context, *CloseServerRequest, ...dcerpc.CallOption) (*CloseServerResponse, error)

	// This method returns the RPC endpoint port for a transport protocol. The client establishes
	// a new binding to the server by using the returned port number.
	//
	// Return Values:  If the method succeeds, the return value is the RPC endpoint port
	// number. If the method fails, the server MUST return 0.
	//
	// MQ_OK (0x00000000)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol as specified in [MS-RPCE].
	GetServerPort(context.Context, *GetServerPortRequest, ...dcerpc.CallOption) (*GetServerPortResponse, error)

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

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

dscomm interface.

func NewDscommClient

func NewDscommClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (DscommClient, error)

type DscommServer

type DscommServer interface {

	// This method creates a new directory object, assigns the specified properties and
	// security descriptor to that directory object, and returns a unique GUID identifier
	// for that directory object.
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_ILLEGAL_PROPERTY_VALUE (0xC00E0018)
	//
	// MQ_ERROR_ILLEGAL_ENTERPRISE_OPERATION (0xC00E0071)
	//
	// MQ_ERROR (0xC00E0001)
	//
	// MQ_ERROR_DS_ERROR (0xC00E0043)
	//
	// MQDS_OBJECT_NOT_FOUND (0xC00E050F)
	//
	// E_ADS_PROPERTY_NOT_FOUND (0x8000500D)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol, as specified in [MS-RPCE].
	CreateObject(context.Context, *CreateObjectRequest) (*CreateObjectResponse, error)

	// This method deletes a directory object specified by a directory service pathname.
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_INVALID_PARAMETER (0xC00E0006)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol, as specified in [MS-RPCE].
	//
	// The server SHOULD enforce appropriate security measures to make sure that the caller
	// has the required permissions to execute this routine. If the server enforces security
	// measures, and the caller does not have the required credentials, the server MUST
	// return an error.
	DeleteObject(context.Context, *DeleteObjectRequest) (*DeleteObjectResponse, error)

	// This method returns the properties associated with a directory object specified by
	// a directory service pathname.
	//
	// Return Values: On success, this method MUST return MQ_OK (0x00000000); otherwise,
	// the server MUST return a failure HRESULT. Additionally, if a failure HRESULT is returned,
	// the client MUST disregard all out-parameter values.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_USER_BUFFER_TOO_SMALL (0xC00E0028)
	//
	// MQ_ERROR_INVALID_PARAMETER (0xC00E0006)
	//
	// MQ_ERROR_ILLEGAL_PROPID (0xC00E0039)
	//
	// MQ_ERROR (0xC00E0001)
	//
	// MQ_ERROR_DS_ERROR (0xC00E0043)
	//
	// MQDS_OBJECT_NOT_FOUND (0xC00E050F)
	//
	// E_ADS_PROPERTY_NOT_FOUND (0x8000500D)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol, as specified in [MS-RPCE].
	GetProperties(context.Context, *GetPropertiesRequest) (*GetPropertiesResponse, error)

	// This method sets the specified properties for a directory object specified by a directory
	// service pathname.
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_ILLEGAL_PROPID (0xC00E0039)
	//
	// MQ_ERROR (0xC00E0001)
	//
	// MQ_ERROR_DS_ERROR (0xC00E0043)
	//
	// MQDS_OBJECT_NOT_FOUND (0xC00E050F)
	//
	// E_ADS_PROPERTY_NOT_FOUND (0x8000500D)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol, as specified in [MS-RPCE].
	SetProperties(context.Context, *SetPropertiesRequest) (*SetPropertiesResponse, error)

	// This method gets security properties for a directory object specified by a directory
	// service pathname.
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_USER_BUFFER_TOO_SMALL (0xC00E0028)
	//
	// MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL (0xC00E0023)
	//
	// MQDS_WRONG_OBJ_TYPE (0xC00E0506)
	//
	// MQ_ERROR_INVALID_PARAMETER (0xC00E0006)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol, as specified in [MS-RPCE].
	GetObjectSecurity(context.Context, *GetObjectSecurityRequest) (*GetObjectSecurityResponse, error)

	// This method sets security properties for a directory object specified by a directory
	// service pathname.
	//
	// Return Values: If the method succeeds, the return value is 0x00000000. If the method
	// fails, the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC extension protocol, as specified in [MS-RPCE].
	SetObjectSecurity(context.Context, *SetObjectSecurityRequest) (*SetObjectSecurityResponse, error)

	// This method performs a query over the directory objects and returns an RPC context
	// handle that can be used to retrieve the result set through a subsequent series of
	// calls to S_DSLookupNext (section 3.1.4.18). When the client has no further use of
	// the RPC context handle returned from this method, the client can close the context
	// handle through a call to S_DSLookupEnd (section 3.1.4.19).
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC extension protocol, as specified in [MS-RPCE].
	LookupBegin(context.Context, *LookupBeginRequest) (*LookupBeginResponse, error)

	// This method returns a portion of the data from the result set computed in a previous
	// call to S_DSLookupBegin (section 3.1.4.17) and updates the cursor index to the first
	// directory object that has not yet been returned to the client.
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_USER_BUFFER_TOO_SMALL (0xC00E0028)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC extension protocol, as specified in [MS-RPCE].
	LookupNext(context.Context, *LookupNextRequest) (*LookupNextResponse, error)

	// This method closes an opened RPC context handle created from a previous call to S_DSLookupBegin
	// (section 3.1.4.17).
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC extension protocol, as specified in [MS-RPCE].
	LookupEnd(context.Context, *LookupEndRequest) (*LookupEndResponse, error)

	// This method deletes a directory object specified by an object identifier.
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_INVALID_PARAMETER (0xC00E0006)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol, as specified in [MS-RPCE].
	//
	// The server SHOULD enforce appropriate security measures to make sure that the caller
	// has the required permissions to execute this routine. If the server enforces security
	// measures, and the caller does not have the required credentials, the server MUST
	// return an error.
	DeleteObjectGUID(context.Context, *DeleteObjectGUIDRequest) (*DeleteObjectGUIDResponse, error)

	// This method returns properties associated with a directory object specified by an
	// object identifier.
	//
	// Return Values:  On success, this method MUST return MQ_OK (0x00000000); otherwise,
	// the server MUST return a failure HRESULT. Additionally, if a failure HRESULT is returned,
	// the client MUST disregard all out-parameter values.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_USER_BUFFER_TOO_SMALL (0xC00E0028)
	//
	// MQ_ERROR_INVALID_PARAMETER (0xC00E0006)
	//
	// MQ_ERROR_ILLEGAL_PROPID (0xC00E0039)
	//
	// MQ_ERROR (0xC00E0001)
	//
	// MQ_ERROR_DS_ERROR (0xC00E0043)
	//
	// MQDS_OBJECT_NOT_FOUND (0xC00E050F)
	//
	// E_ADS_PROPERTY_NOT_FOUND (0x8000500D)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol, as specified in [MS-RPCE].
	GetPropertiesGUID(context.Context, *GetPropertiesGUIDRequest) (*GetPropertiesGUIDResponse, error)

	// This method sets properties for a directory object specified by an object identifier.
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_ILLEGAL_PROPID (0xC00E0039)
	//
	// MQ_ERROR (0xC00E0001)
	//
	// MQ_ERROR_DS_ERROR (0xC00E0043)
	//
	// MQDS_OBJECT_NOT_FOUND (0xC00E050F)
	//
	// E_ADS_PROPERTY_NOT_FOUND (0x8000500D)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol, as specified in [MS-RPCE].
	SetPropertiesGUID(context.Context, *SetPropertiesGUIDRequest) (*SetPropertiesGUIDResponse, error)

	// This method retrieves the security descriptor for a directory object specified by
	// an object identifier.
	//
	// Return Values: If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL (0xC00E0023)
	//
	// MQ_ERROR_USER_BUFFER_TOO_SMALL (0xC00E0028)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC extension protocol, as specified in [MS-RPCE].
	GetObjectSecurityGUID(context.Context, *GetObjectSecurityGUIDRequest) (*GetObjectSecurityGUIDResponse, error)

	// This method sets security properties for a directory object specified by an object
	// identifier.
	//
	// Return Values: If the method succeeds, the return value is 0x00000000. If the method
	// fails, the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol extension, as specified in [MS-RPCE].
	SetObjectSecurityGUID(context.Context, *SetObjectSecurityGUIDRequest) (*SetObjectSecurityGUIDResponse, error)

	// This method sets properties associated with a machine object specified by a directory
	// service pathname. This method is intended for use by a queue manager to manipulate
	// its own directory service object of type MQDS_MACHINE. Client applications SHOULD
	// NOT use this method.<76>
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_ILLEGAL_PROPID (0xC00E0039)
	//
	// MQ_ERROR (0xC00E0001)
	//
	// MQ_ERROR_DS_ERROR (0xC00E0043)
	//
	// MQDS_OBJECT_NOT_FOUND (0xC00E050F)
	//
	// E_ADS_PROPERTY_NOT_FOUND (0x8000500D)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC extension protocol, as specified in [MS-RPCE].
	QMSetMachineProperties(context.Context, *QMSetMachinePropertiesRequest) (*QMSetMachinePropertiesResponse, error)

	// This method returns a list of Backup Site Controllers (BSCs) associated with a specified
	// site. The client calls this method to enumerate the BSCs associated with sites in
	// the configured list of sites in the enterprise.
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code. The server MUST return
	// MQDS_E_NO_MORE_DATA (0xC00E0523), if pdwIndex is an invalid index, into the configured
	// list of sites in the enterprise.
	//
	// MQ_OK (0x00000000)
	//
	// MQDS_E_NO_MORE_DATA (0xC00E0523)
	//
	// MQ_ERROR_USER_BUFFER_TOO_SMALL (0xC00E0028)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC extension protocol, as specified in [MS-RPCE].
	//
	// The S_DSCreateServersCache method returns information on Backup Site Controllers
	// (BSCs) associated with sites in the enterprise. The client uses this method to iterate
	// through the list of sites in the enterprise by calling the method repeatedly. Before
	// the first invocation, the client sets the pdwIndex parameter to 0. After each successful
	// invocation, the client increments the pdwIndex parameter by 1 and calls the method
	// again. The client repeats this sequence until the method call returns an error.
	CreateServersCache(context.Context, *CreateServersCacheRequest) (*CreateServersCacheResponse, error)

	// This method is a callback method called by the server during a client call to S_DSQMSetMachineProperties.
	// Through this method, the server provides a challenge that the client must sign to
	// authenticate itself.
	//
	// Return Values:  This method is obsolete. The server SHOULD NOT call this method,
	// and the client SHOULD return MQ_ERROR_NOT_SUPPORTED (0xC00E03EB).<146> If the method
	// succeeds, the return value is 0. If the method fails, the return value is an implementation-specific
	// error code.
	//
	// ERROR_SUCCESS (0x00000000)
	//
	// MQ_ERROR_NOT_SUPPORTED (0xC00E03EB)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC extension protocol, as specified in [MS-RPCE].
	QMSetMachinePropertiesSignProc(context.Context, *QMSetMachinePropertiesSignProcRequest) (*QMSetMachinePropertiesSignProcResponse, error)

	// This method retrieves the security descriptor for a directory object specified by
	// an object identifier.
	//
	// Return Values: If the method succeeds, the return value is 0x00000000. If the method
	// fails, the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL (0xC00E0023)
	//
	// MQ_ERROR_USER_BUFFER_TOO_SMALL (0xC00E0028)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC extension protocol, as specified in [MS-RPCE].
	QMGetObjectSecurity(context.Context, *QMGetObjectSecurityRequest) (*QMGetObjectSecurityResponse, error)

	// S_DSQMGetObjectSecurityChallengeResponceProc is a callback method called by the server
	// during a client call to S_DSQMGetObjectSecurity. Through this method, the server
	// provides a challenge that the client must sign to authenticate itself.
	//
	// Return Values:  This method is obsolete. The server SHOULD NOT call this method,
	// and the client SHOULD return MQ_ERROR_NOT_SUPPORTED (0xC00E03EB).<147> If the method
	// succeeds, the return value is 0. If the method fails, the return value is an implementation-specific
	// error code.
	//
	// ERROR_SUCCESS (0x00000000)
	//
	// MQ_ERROR_NOT_SUPPORTED (0xC00E03EB)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol extension, as specified in [MS-RPCE].
	QMGetObjectSecurityChallengeResponseProc(context.Context, *QMGetObjectSecurityChallengeResponseProcRequest) (*QMGetObjectSecurityChallengeResponseProcResponse, error)

	// This method is a callback method called by the server during a client call to S_DSValidateServer.
	// These two methods are used to tunnel a GSS (as specified in [RFC2743]) security negotiation
	// to provide mutual authentication between the client and server.
	//
	// Return Values:  If the method succeeds, and the negotiation is complete, the return
	// value is 0. If the method succeeds, and the negotiation is not complete, the return
	// value is SEC_I_CONTINUE_NEEDED (0x00090312). If the method fails, the return value
	// is an implementation-specific error code.
	//
	// ERROR_SUCCESS (0x00000000)
	//
	// SEC_I_CONTINUE_NEEDED (0x00090312)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC extension protocol, as specified in [MS-RPCE].
	//
	// The caller MUST supply an input_token in pServerBuff computed through a call to GSS_Accept_sec_context.
	// The receiver MUST process this input_token through a call to GSS_Init_sec_context,
	// generating an output_token that MUST be returned in pServerBuff.
	//
	// If GSS_Init_sec_context returns GSS_S_CONTINUE_NEEDED, this is a signal that the
	// negotiation is not complete. The receiver MUST return SEC_I_CONTINUE_NEEDED (0x00090312).
	//
	// If GSS_Init_sec_context returns GSS_S_COMPLETE, the negotiation is complete. The
	// receiver MUST save the output context handle in the GSS security context state associated
	// with the dwContext parameter. The receiver MUST return SEC_E_OK (0x00000000).
	InitSecurityContext(context.Context, *InitSecurityContextRequest) (*InitSecurityContextResponse, error)

	// This method performs mutual authentication between the client and server, and establishes
	// a security context, as specified in [RFC2743]. The server uses the security context
	// to construct a digital signature in subsequent method calls of this protocol, and
	// the client uses the security context to validate the digital signature. The digital
	// signature is used in methods that return data to the client. It allows the client
	// to authenticate the source of the data and ensures that it has not been tampered
	// with en route from the server to the client.
	//
	// When the client has no further use of the RPC context handle returned from this method,
	// it releases the handle through a subsequent call to S_DSCloseServerHandle (section
	// 3.1.4.3).
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// MQ_ERROR_DS_ERROR (0xC00E0043)
	//
	// MQDS_E_CANT_INIT_SERVER_AUTH (0xC00E052B)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol as specified in [MS-RPCE].
	//
	// If the dwClientBuffSize parameter is zero, the server MUST initialize an empty security
	// context in the security context table associated with the pphServerAuth parameter
	// and MUST NOT invoke client callback methods. In addition, all signature parameters
	// in other methods in this protocol that return server signatures MUST be set to all
	// zeros.
	//
	// If the dwClientBuffSize parameter is nonzero, the server MUST construct a valid non-empty
	// security context in the security context table associated with the pphServerAuth
	// parameter.
	//
	// The client MUST supply an input_token in the pClientBuff parameter, acquired through
	// an initial call to GSS_Init_sec_context, as specified in [RFC2743] section 2.2.1.
	// The server MUST perform the following processing.
	//
	// *
	//
	// Let inputToken point to an input_token initialized to the pClientBuff parameter.
	//
	// *
	//
	// Call *GSS_Accept_sec_context* , as specified in [RFC2743] section 2.2.2, with the
	// input_token contained in inputToken and a NULL input_context_handle.
	//
	// *
	//
	// If *GSS_Accept_sec_context* returns GSS_S_COMPLETE, the negotiation is complete.
	// The server MUST allocate a PCONTEXT_HANDLE_SERVER_AUTH_TYPE RPC context handle and
	// MUST allocate a security context entry in the security table keyed by the context
	// handle. The server MUST associate the GSS security context (output_context_handle
	// from the GSSAPI call) with the security context entry. The server MUST return the
	// RPC context handle in the pphServerAuth parameter and return MQ_OK.
	//
	// *
	//
	// If *GSS_Accept_sec_context* returns GSS_S_CONTINUE_NEEDED, the server MUST issue
	// a callback to the client through the S_InitSecCtx (section 3.2.4.3) method with the
	// dwContext parameter set to the value supplied by the client in the dwContext parameter
	// and the pServerBuff parameter set to the output_token returned from *GSS_Accept_sec_context*.
	// When the callback to S_InitSecCtx returns, the server MUST set inputToken to the
	// pClientBuff parameter returned by S_InitSecCtx and MUST continue at step 2.
	//
	// *
	//
	// If *GSS_Accept_sec_context* returns any other value, the server MUST take no further
	// action and return a failure HRESULT ( ../ms-dtyp/a9046ed2-bfb2-4d56-a719-2824afce59ac
	// ).
	//
	// The GSS security context is used by the server in subsequent calls to GSSWrap, as
	// specified in [RFC2743] section 2.3.3.
	//
	// On successful return, the client MUST retrieve the GSS security context associated
	// with the dwContext parameter and MUST associate it with the PCONTEXT_HANDLE_SERVER_AUTH_TYPE
	// RPC context handle returned in the pphServerAuth parameter. The GSS security context
	// will be used by the client in subsequent calls to GSSUnwrap, as specified in [RFC2743]
	// section 2.3.4.
	ValidateServer(context.Context, *ValidateServerRequest) (*ValidateServerResponse, error)

	// This method closes the RPC context handle returned by a previous call to S_DSValidateServer.
	// The server releases resources associated with the RPC context handle.
	//
	// Return Values:  If the method succeeds, the return value is 0. If the method fails,
	// the return value is an implementation-specific error code.
	//
	// MQ_OK (0x00000000)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol as specified in [MS-RPCE].
	CloseServer(context.Context, *CloseServerRequest) (*CloseServerResponse, error)

	// This method returns the RPC endpoint port for a transport protocol. The client establishes
	// a new binding to the server by using the returned port number.
	//
	// Return Values:  If the method succeeds, the return value is the RPC endpoint port
	// number. If the method fails, the server MUST return 0.
	//
	// MQ_OK (0x00000000)
	//
	// Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying
	// RPC protocol as specified in [MS-RPCE].
	GetServerPort(context.Context, *GetServerPortRequest) (*GetServerPortResponse, error)
}

dscomm server interface.

type GetObjectSecurityGUIDRequest

type GetObjectSecurityGUIDRequest struct {
	// dwObjectType:  Specifies the type of object for which security properties are to
	// be retrieved. MUST be set to one of the object types specified in section 2.2.8.
	ObjectType uint32 `idl:"name:dwObjectType" json:"object_type"`
	// pGuid:  MUST be set by the client to a pointer to the GUID of the object for which
	// to retrieve security information.
	GUID *dtyp.GUID `idl:"name:pGuid" json:"guid"`
	// SecurityInformation:  MUST be set by the client to a bitwise mask specifying the
	// information to return in the pSecurityDescriptor parameter. See the SecurityInformation
	// parameter description in section 3.1.4.11.
	SecurityInformation uint32 `idl:"name:SecurityInformation" json:"security_information"`
	// nLength: MUST be set by the client to the length in bytes of the pSecurityDescriptor
	// buffer.
	Length uint32 `idl:"name:nLength" json:"length"`
	// phServerAuth: A PCONTEXT_HANDLE_SERVER_AUTH_TYPE RPC context handle acquired from
	// the pphServerAuth parameter in a previous call to S_DSValidateServer. The server
	// MUST use this parameter as a key to locate the GSS security context used to compute
	// the signature returned in pbServerSignature. See section 3.1.4.2.
	ServerAuth *ServerAuthType `idl:"name:phServerAuth" json:"server_auth"`
	// pdwServerSignatureSize: A DWORD that contains the maximum length in bytes of the
	// server signature to return.
	ServerSignatureSize uint32 `idl:"name:pdwServerSignatureSize" json:"server_signature_size"`
}

GetObjectSecurityGUIDRequest structure represents the S_DSGetObjectSecurityGuid operation request

func (*GetObjectSecurityGUIDRequest) MarshalNDR

func (*GetObjectSecurityGUIDRequest) UnmarshalNDR

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

type GetObjectSecurityGUIDResponse

type GetObjectSecurityGUIDResponse struct {
	// XXX: nLength is an implicit input depedency for output parameters
	Length uint32 `idl:"name:nLength" json:"length"`

	// pSecurityDescriptor: If the SecurityInformation parameter is MQDS_SIGN_PUBLIC_KEY
	// or MQDS_KEYX_PUBLIC_KEY, it SHOULD<59> contain a pointer to a BLOBHEADER structure
	// followed by an RSAPUBKEY (section 2.2.18) structure. Otherwise, this parameter contains
	// a pointer to a security descriptor, as specified in [MS-DTYP] section 2.4.6.
	SecurityDescriptor []byte `idl:"name:pSecurityDescriptor;size_is:(nLength)" json:"security_descriptor"`
	// lpnLengthNeeded: A DWORD that the server MUST set to the length in bytes of the requested
	// security descriptor or public key. If the requested security descriptor or public
	// key is larger than nLength, the server MUST set this parameter to the size in bytes
	// needed for the requested security descriptor or public key, and return MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL
	// (0xC00E0023).
	LengthNeeded uint32 `idl:"name:lpnLengthNeeded" json:"length_needed"`
	// pbServerSignature: MUST point to the signed hash of the security descriptor.
	ServerSignature []byte `idl:"name:pbServerSignature;size_is:(pdwServerSignatureSize)" json:"server_signature"`
	// pdwServerSignatureSize: A DWORD that contains the maximum length in bytes of the
	// server signature to return.
	ServerSignatureSize uint32 `idl:"name:pdwServerSignatureSize" json:"server_signature_size"`
	// Return: The S_DSGetObjectSecurityGuid return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetObjectSecurityGUIDResponse structure represents the S_DSGetObjectSecurityGuid operation response

func (*GetObjectSecurityGUIDResponse) MarshalNDR

func (*GetObjectSecurityGUIDResponse) UnmarshalNDR

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

type GetObjectSecurityRequest

type GetObjectSecurityRequest struct {
	// dwObjectType:  Specifies the type of object for which security properties are to
	// be retrieved. MUST be set to one of the object types defined in section 2.2.8.
	ObjectType uint32 `idl:"name:dwObjectType" json:"object_type"`
	// pwcsPathName: Pointer to a NULL-terminated 16-bit Unicode string that MUST contain
	// the directory service pathname, as specified in section 2.2.9, of the object in the
	// directory service.
	PathName string `idl:"name:pwcsPathName;string" json:"path_name"`
	// SecurityInformation: A bitwise mask of the information to be returned in the pSecurityDescriptor
	// parameter. The bit fields are defined by the following table:
	//
	//	+---------------------------------------+-------------------------------------------------------+
	//	|                                       |                                                       |
	//	|                 VALUE                 |                        MEANING                        |
	//	|                                       |                                                       |
	//	+---------------------------------------+-------------------------------------------------------+
	//	+---------------------------------------+-------------------------------------------------------+
	//	| OWNER_SECURITY_INFORMATION 0x00000001 | OWNER field from the security descriptor.             |
	//	+---------------------------------------+-------------------------------------------------------+
	//	| GROUP_SECURITY_INFORMATION 0x00000002 | GROUP field from the security descriptor.             |
	//	+---------------------------------------+-------------------------------------------------------+
	//	| DACL_SECURITY_INFORMATION 0x00000004  | Discretionary ACL field from the security descriptor. |
	//	+---------------------------------------+-------------------------------------------------------+
	//	| SACL_SECURITY_INFORMATION 0x00000008  | System ACL field from the security descriptor.        |
	//	+---------------------------------------+-------------------------------------------------------+
	//	| MQDS_SIGN_PUBLIC_KEY 0x80000000       | Signing public key.                                   |
	//	+---------------------------------------+-------------------------------------------------------+
	//	| MQDS_KEYX_PUBLIC_KEY 0x40000000       | Encrypting public key.                                |
	//	+---------------------------------------+-------------------------------------------------------+
	//
	// The SecurityInformation parameter MUST specify one of:
	//
	// * MQDS_SIGN_PUBLIC_KEY, or
	//
	// * MQDS_KEYX_PUBLIC_KEY, or
	//
	// * A bitwise OR of any combination of:
	//
	// * OWNER_SECURITY_INFORMATION
	//
	// * GROUP_SECURITY_INFORMATION
	//
	// * DACL_SECURITY_INFORMATION
	//
	// * SACL_SECURITY_INFORMATION
	//
	// If the SecurityInformation parameter includes an invalid combination, the server
	// MUST NOT complete the call, and MUST return an error.
	SecurityInformation uint32 `idl:"name:SecurityInformation" json:"security_information"`
	// nLength:  MUST be set by the client to the length in bytes of the pSecurityDescriptor
	// buffer.
	Length uint32 `idl:"name:nLength" json:"length"`
	// phServerAuth:  A PCONTEXT_HANDLE_SERVER_AUTH_TYPE RPC context handle acquired from
	// the pphServerAuth parameter in a previous call to S_DSValidateServer. The server
	// MUST use this parameter as a key to locate the GSS security context used to compute
	// the signature returned in pbServerSignature. See section 3.1.4.2.
	ServerAuth *ServerAuthType `idl:"name:phServerAuth" json:"server_auth"`
	// pdwServerSignatureSize: A DWORD that contains the maximum length in bytes of the
	// server signature to return.
	ServerSignatureSize uint32 `idl:"name:pdwServerSignatureSize" json:"server_signature_size"`
}

GetObjectSecurityRequest structure represents the S_DSGetObjectSecurity operation request

func (*GetObjectSecurityRequest) MarshalNDR

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

func (*GetObjectSecurityRequest) UnmarshalNDR

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

type GetObjectSecurityResponse

type GetObjectSecurityResponse struct {
	// XXX: nLength is an implicit input depedency for output parameters
	Length uint32 `idl:"name:nLength" json:"length"`

	// pSecurityDescriptor: If the SecurityInformation parameter is MQDS_SIGN_PUBLIC_KEY
	// or MQDS_KEYX_PUBLIC_KEY, it SHOULD<55> contain a pointer to a BLOBHEADER (section
	// 2.2.19) structure followed by an RSAPUBKEY (section 2.2.18) structure. Otherwise,
	// this parameter contains a security descriptor, as specified in [MS-DTYP] section
	// 2.4.6.
	SecurityDescriptor []byte `idl:"name:pSecurityDescriptor;size_is:(nLength)" json:"security_descriptor"`
	// lpnLengthNeeded:  A DWORD representing the length in bytes of the requested security
	// descriptor or public key.
	LengthNeeded uint32 `idl:"name:lpnLengthNeeded" json:"length_needed"`
	// pbServerSignature: Contains a signed hash over the returned property values.
	ServerSignature []byte `idl:"name:pbServerSignature;size_is:(pdwServerSignatureSize)" json:"server_signature"`
	// pdwServerSignatureSize: A DWORD that contains the maximum length in bytes of the
	// server signature to return.
	ServerSignatureSize uint32 `idl:"name:pdwServerSignatureSize" json:"server_signature_size"`
	// Return: The S_DSGetObjectSecurity return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetObjectSecurityResponse structure represents the S_DSGetObjectSecurity operation response

func (*GetObjectSecurityResponse) MarshalNDR

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

func (*GetObjectSecurityResponse) UnmarshalNDR

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

type GetPropertiesGUIDRequest

type GetPropertiesGUIDRequest struct {
	// dwObjectType:  Specifies the type of object for which properties are retrieved.
	// MUST be set to one of the object types specified in section 2.2.8.
	ObjectType uint32 `idl:"name:dwObjectType" json:"object_type"`
	// pGuid:  MUST be set by the client to a pointer to the GUID of the object for which
	// properties are retrieved.
	GUID *dtyp.GUID `idl:"name:pGuid;pointer:unique" json:"guid"`
	// cp:  MUST be set to the size (in elements) of the arrays aProp and apVar. The arrays
	// aProp and apVar MUST have an identical number of elements and MUST contain at least
	// one element.
	CreatePartition uint32 `idl:"name:cp" json:"create_partition"`
	// aProp:  An array of identifiers of properties to retrieve from the object designated
	// by pGuid. Each element MUST specify a value from the property identifiers table (defined
	// in section 2.2.10.1) for the object type specified in dwObjectType. Each element
	// MUST specify the property identifier for the corresponding property value at the
	// same element index in apVar. The array MUST contain at least one element.
	Property []uint32 `idl:"name:aProp;size_is:(cp)" json:"property"`
	// apVar: On input, each element MUST be initialized to the appropriate VARTYPE ([MS-MQMQ]
	// section 2.2.12.1) for the associated property specified by the same element in aProp,
	// or VT_NULL. On success, the server MUST populate the elements of this array with
	// property values for the properties identified by the corresponding elements of aProp.
	// The array MUST contain at least one element.
	Var []*mqmq.PropertyVariant `idl:"name:apVar;size_is:(cp)" json:"var"`
	// phServerAuth:  A PCONTEXT_HANDLE_SERVER_AUTH_TYPE RPC context handle acquired from
	// the pphServerAuth parameter in a previous call to S_DSValidateServer. The server
	// MUST use this parameter as a key to locate the GSS security context used to compute
	// the signature returned in the pbServerSignature parameter. See section 3.1.4.2.
	ServerAuth *ServerAuthType `idl:"name:phServerAuth" json:"server_auth"`
	// pdwServerSignatureSize:  Contains the maximum length in bytes of the server signature
	// to return.
	ServerSignatureSize uint32 `idl:"name:pdwServerSignatureSize" json:"server_signature_size"`
}

GetPropertiesGUIDRequest structure represents the S_DSGetPropsGuid operation request

func (*GetPropertiesGUIDRequest) MarshalNDR

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

func (*GetPropertiesGUIDRequest) UnmarshalNDR

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

type GetPropertiesGUIDResponse

type GetPropertiesGUIDResponse struct {
	// XXX: cp is an implicit input depedency for output parameters
	CreatePartition uint32 `idl:"name:cp" json:"create_partition"`

	// apVar: On input, each element MUST be initialized to the appropriate VARTYPE ([MS-MQMQ]
	// section 2.2.12.1) for the associated property specified by the same element in aProp,
	// or VT_NULL. On success, the server MUST populate the elements of this array with
	// property values for the properties identified by the corresponding elements of aProp.
	// The array MUST contain at least one element.
	Var []*mqmq.PropertyVariant `idl:"name:apVar;size_is:(cp)" json:"var"`
	// pbServerSignature:  See the pbServerSignature parameter description, as specified
	// in section 3.1.4.7.
	ServerSignature []byte `idl:"name:pbServerSignature;size_is:(pdwServerSignatureSize)" json:"server_signature"`
	// pdwServerSignatureSize:  Contains the maximum length in bytes of the server signature
	// to return.
	ServerSignatureSize uint32 `idl:"name:pdwServerSignatureSize" json:"server_signature_size"`
	// Return: The S_DSGetPropsGuid return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetPropertiesGUIDResponse structure represents the S_DSGetPropsGuid operation response

func (*GetPropertiesGUIDResponse) MarshalNDR

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

func (*GetPropertiesGUIDResponse) UnmarshalNDR

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

type GetPropertiesRequest

type GetPropertiesRequest struct {
	// dwObjectType:  Specifies the type of object for which properties are to be retrieved.
	// MUST be set to one of the object types specified in section 2.2.8.
	ObjectType uint32 `idl:"name:dwObjectType" json:"object_type"`
	// pwcsPathName:  Pointer to a NULL-terminated 16-bit Unicode string that MUST contain
	// the directory service pathname, as specified in section 2.2.9, to the object in the
	// directory service.
	PathName string `idl:"name:pwcsPathName;string" json:"path_name"`
	// cp:  MUST be set to the size (in elements) of the arrays aProp and apVar. The arrays
	// aProp and apVar MUST have an identical number of elements and MUST contain at least
	// one element.
	CreatePartition uint32 `idl:"name:cp" json:"create_partition"`
	// aProp:  An array of property identifiers specifying the set of object properties
	// to be returned. Each element MUST specify a value from the property identifiers table
	// defined in section 2.2.10.1 for the object type specified in dwObjectType. Each element
	// MUST specify the property identifier for the corresponding property value at the
	// same element index in apVar. The array MUST contain at least one element.
	Property []uint32 `idl:"name:aProp;size_is:(cp)" json:"property"`
	// apVar: On input, each element MUST be initialized to the appropriate VARTYPE ([MS-MQMQ]
	// section 2.2.12.1) for the associated property specified by the same element in aProp,
	// or VT_NULL. On success, the server MUST populate the elements of this array with
	// property values for the properties identified by the corresponding elements of aProp.
	// The array MUST contain at least one element.
	Var []*mqmq.PropertyVariant `idl:"name:apVar;size_is:(cp)" json:"var"`
	// phServerAuth:  A PCONTEXT_HANDLE_SERVER_AUTH_TYPE RPC context handle acquired from
	// the pphServerAuth parameter in a previous call to S_DSValidateServer. The server
	// MUST use this parameter as a key to locate the GSS security context used to compute
	// the signature returned in pbServerSignature. See section 3.1.4.2.
	ServerAuth *ServerAuthType `idl:"name:phServerAuth" json:"server_auth"`
	// pdwServerSignatureSize: Contains the maximum length in bytes of the server signature
	// to return.
	ServerSignatureSize uint32 `idl:"name:pdwServerSignatureSize" json:"server_signature_size"`
}

GetPropertiesRequest structure represents the S_DSGetProps 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 {
	// XXX: cp is an implicit input depedency for output parameters
	CreatePartition uint32 `idl:"name:cp" json:"create_partition"`

	// apVar: On input, each element MUST be initialized to the appropriate VARTYPE ([MS-MQMQ]
	// section 2.2.12.1) for the associated property specified by the same element in aProp,
	// or VT_NULL. On success, the server MUST populate the elements of this array with
	// property values for the properties identified by the corresponding elements of aProp.
	// The array MUST contain at least one element.
	Var []*mqmq.PropertyVariant `idl:"name:apVar;size_is:(cp)" json:"var"`
	// pbServerSignature: Contains a signed hash over the returned property values.
	ServerSignature []byte `idl:"name:pbServerSignature;size_is:(pdwServerSignatureSize)" json:"server_signature"`
	// pdwServerSignatureSize: Contains the maximum length in bytes of the server signature
	// to return.
	ServerSignatureSize uint32 `idl:"name:pdwServerSignatureSize" json:"server_signature_size"`
	// Return: The S_DSGetProps return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetPropertiesResponse structure represents the S_DSGetProps 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 GetServerPortRequest

type GetServerPortRequest struct {
	// fIP:  Specifies the connected network protocol for which an RPC endpoint port is
	// to be returned.
	//
	//	+------------+----------------------------------------------------------------------------------+
	//	|            |                                                                                  |
	//	|   VALUE    |                                     MEANING                                      |
	//	|            |                                                                                  |
	//	+------------+----------------------------------------------------------------------------------+
	//	+------------+----------------------------------------------------------------------------------+
	//	| 0x00000000 | Causes the RPC endpoint port for an RPC over SPX protocol sequence, as specified |
	//	|            | in [MS-RPCE], to be returned.                                                    |
	//	+------------+----------------------------------------------------------------------------------+
	//	| 0x00000001 | Causes the RPC endpoint port for an RPC over TCP/IP protocol sequence, as        |
	//	|            | specified in [MS-RPCE], to be returned.                                          |
	//	+------------+----------------------------------------------------------------------------------+
	IP uint32 `idl:"name:fIP" json:"ip"`
}

GetServerPortRequest structure represents the S_DSGetServerPort operation request

func (*GetServerPortRequest) MarshalNDR

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

func (*GetServerPortRequest) UnmarshalNDR

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

type GetServerPortResponse

type GetServerPortResponse struct {
	// Return: The S_DSGetServerPort return value.
	Return uint32 `idl:"name:Return" json:"return"`
}

GetServerPortResponse structure represents the S_DSGetServerPort operation response

func (*GetServerPortResponse) MarshalNDR

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

func (*GetServerPortResponse) UnmarshalNDR

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

type InitSecurityContextRequest

type InitSecurityContextRequest struct {
	// dwContext:  MUST be set by the caller to the correlation value supplied by the client
	// in the dwContext parameter in the corresponding call to S_DSValidateServer. This
	// parameter provides a way for the receiver to correlate the callback with the receiver's
	// in-progress call to S_DSValidateServer.
	Context uint32 `idl:"name:dwContext" json:"context"`
	// pServerbuff:  MUST be set by the caller to point to a buffer that contains the output_token
	// from the GSS_Accept_sec_context, as specified in [RFC2743].
	ServerBuffer []byte `idl:"name:pServerbuff;size_is:(dwServerBuffSize)" json:"server_buffer"`
	// dwServerBuffSize:  MUST be set by the caller to the length, in bytes, of the output_token
	// within pServerBuff.
	ServerBufferSize uint32 `idl:"name:dwServerBuffSize" json:"server_buffer_size"`
	// dwClientBuffMaxSize:  MUST be set by the caller to the size, in bytes, of the buffer
	// to be returned in pClientBuff.
	ClientBufferMaxSize uint32 `idl:"name:dwClientBuffMaxSize" json:"client_buffer_max_size"`
}

InitSecurityContextRequest structure represents the S_InitSecCtx operation request

func (*InitSecurityContextRequest) MarshalNDR

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

func (*InitSecurityContextRequest) UnmarshalNDR

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

type InitSecurityContextResponse

type InitSecurityContextResponse struct {
	// XXX: dwClientBuffMaxSize is an implicit input depedency for output parameters
	ClientBufferMaxSize uint32 `idl:"name:dwClientBuffMaxSize" json:"client_buffer_max_size"`

	// pClientBuff:  MUST be set by the caller to point to a buffer to hold the returned
	// token. MUST be set by the receiver to the output_token from a call to GSS_Init_sec_context.
	// The buffer length MUST NOT exceed the value specified by dwClientBuffMaxSize. If
	// the negotiated token is larger than the supplied buffer, the server MUST return MQ_ERROR_USER_BUFFER_TOO_SMALL
	// (0xC00E0028).
	ClientBuffer []byte `idl:"name:pClientBuff;size_is:(dwClientBuffMaxSize);length_is:(pdwClientBuffSize)" json:"client_buffer"`
	// pdwClientBuffSize:  MUST be set by the receiver to the actual size, in bytes, of
	// the token in pClientBuff.
	ClientBufferSize uint32 `idl:"name:pdwClientBuffSize" json:"client_buffer_size"`
	// Return: The S_InitSecCtx return value.
	Return int32 `idl:"name:Return" json:"return"`
}

InitSecurityContextResponse structure represents the S_InitSecCtx operation response

func (*InitSecurityContextResponse) MarshalNDR

func (*InitSecurityContextResponse) UnmarshalNDR

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

type LookupBeginRequest

type LookupBeginRequest struct {
	// pwcsContext:  Unicode string that specifies a starting point of the query within
	// the directory service. The client SHOULD set this parameter to NULL, and the server
	// MUST ignore it.
	Context string `idl:"name:pwcsContext;pointer:unique" json:"context"`
	// pRestriction: A pointer to an MQRESTRICTION (section 2.2.12) structure specifying
	// a set of constraints over the objects to be returned. The server MUST restrict the
	// query results to include only objects that have properties that satisfy all of the
	// restrictions specified in this parameter. See section 2.2.12.
	Restriction *mqds.Restriction `idl:"name:pRestriction;pointer:unique" json:"restriction"`
	// pColumns: A pointer to an MQCOLUMNSET (section 2.2.13) structure that specifies the
	// object properties to be returned. The server MUST return (in the result set) only
	// the properties specified by this parameter in the order specified by this parameter.
	// See section 2.2.13.
	Columns *mqds.ColumnSet `idl:"name:pColumns;pointer:ref" json:"columns"`
	// pSort: A pointer to an MQSORTSET (section 2.2.15) structure that defines the sort
	// order of the result set. The server MUST sort the objects in the result set according
	// to this multikey sort order. See section 2.2.15.
	Sort *mqds.SortSet `idl:"name:pSort;pointer:unique" json:"sort"`
	// phServerAuth: A PCONTEXT_HANDLE_SERVER_AUTH_TYPE (section 2.2.5) RPC context handle
	// acquired from the pphServerAuth parameter in a previous call to S_DSValidateServer
	// (section 3.1.4.2).
	ServerAuth *ServerAuthType `idl:"name:phServerAuth" json:"server_auth"`
}

LookupBeginRequest structure represents the S_DSLookupBegin operation request

func (*LookupBeginRequest) MarshalNDR

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

func (*LookupBeginRequest) UnmarshalNDR

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

type LookupBeginResponse

type LookupBeginResponse struct {
	// pHandle:  MUST be set by the server to point to an RPC context handle to be used
	// in subsequent calls to S_DSLookupNext and S_DSLookupEnd.
	Handle *Type `idl:"name:pHandle" json:"handle"`
	// Return: The S_DSLookupBegin return value.
	Return int32 `idl:"name:Return" json:"return"`
}

LookupBeginResponse structure represents the S_DSLookupBegin operation response

func (*LookupBeginResponse) MarshalNDR

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

func (*LookupBeginResponse) UnmarshalNDR

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

type LookupEndRequest

type LookupEndRequest struct {
	// phContext:  MUST point to an RPC context handle returned by a previous call to S_DSLookupBegin.
	// MUST NOT have been used in a previous call to S_DSLookupEnd (section 3.1.4.19). The
	// server MUST set this parameter to NULL.
	Context *Type `idl:"name:phContext" json:"context"`
}

LookupEndRequest structure represents the S_DSLookupEnd operation request

func (*LookupEndRequest) MarshalNDR

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

func (*LookupEndRequest) UnmarshalNDR

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

type LookupEndResponse

type LookupEndResponse struct {
	// phContext:  MUST point to an RPC context handle returned by a previous call to S_DSLookupBegin.
	// MUST NOT have been used in a previous call to S_DSLookupEnd (section 3.1.4.19). The
	// server MUST set this parameter to NULL.
	Context *Type `idl:"name:phContext" json:"context"`
	// Return: The S_DSLookupEnd return value.
	Return int32 `idl:"name:Return" json:"return"`
}

LookupEndResponse structure represents the S_DSLookupEnd operation response

func (*LookupEndResponse) MarshalNDR

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

func (*LookupEndResponse) UnmarshalNDR

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

type LookupNextRequest

type LookupNextRequest struct {
	// Handle: MUST contain an RPC context handle acquired from a previous call to S_DSLookupBegin.
	// The handle MUST NOT have been used in a previous call to S_DSLookupEnd (section 3.1.4.19).
	Handle *Type `idl:"name:Handle" json:"handle"`
	// dwSize:  MUST point to an unsigned long that contains the maximum number of elements
	// to be returned in the pbBuffer array. If this parameter is less than the number of
	// elements in the pColumns parameter in the corresponding call to S_DSLookupBegin,
	// the server MUST set the dwOutSize parameter to 0x00000000 and return without retrieving
	// any object properties.
	Size uint32 `idl:"name:dwSize" json:"size"`
	// phServerAuth: A PCONTEXT_HANDLE_SERVER_AUTH_TYPE (section 2.2.5) RPC context handle
	// acquired from the pphServerAuth parameter in a previous call to S_DSValidateServer
	// (section 3.1.4.2). The server MUST use this parameter as a key to locate the GSS
	// security context used to compute the signature returned in pbServerSignature. See
	// section 3.1.4.2.
	ServerAuth *ServerAuthType `idl:"name:phServerAuth" json:"server_auth"`
	// pdwServerSignatureSize:  MUST be set by the client to point to an unsigned LONG
	// that contains the maximum length in bytes of the server signature to return. MUST
	// be set by the server to the actual length in bytes of the server signature on output.
	// If the server signature is larger than the supplied buffer, the server MUST return
	// MQ_ERROR_USER_BUFFER_TOO_SMALL (0xC00E0028).
	ServerSignatureSize uint32 `idl:"name:pdwServerSignatureSize" json:"server_signature_size"`
}

LookupNextRequest structure represents the S_DSLookupNext operation request

func (*LookupNextRequest) MarshalNDR

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

func (*LookupNextRequest) UnmarshalNDR

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

type LookupNextResponse

type LookupNextResponse struct {
	// XXX: dwSize is an implicit input depedency for output parameters
	Size uint32 `idl:"name:dwSize" json:"size"`

	// dwOutSize: A pointer to an unsigned LONG that the server MUST set to the number of
	// properties returned in pbBuffer for the set of objects being returned from this invocation
	// of the S_DSLookupNext method. The server MUST return as many completed sets of properties
	// as will fit in the buffer. If no matching objects are found, the server MUST set
	// this parameter to 0 to inform the client that there is no more data.
	OutSize uint32 `idl:"name:dwOutSize" json:"out_size"`
	// pbBuffer: MUST point to an array of PROPVARIANT (section 2.2.3) structures to contain
	// the returned properties.
	Buffer []*mqmq.PropertyVariant `idl:"name:pbBuffer;size_is:(dwSize);length_is:(dwOutSize)" json:"buffer"`
	// pbServerSignature:  MUST point to the signed hash over the property values returned
	// in pbBuffer. See the pbServerSignature parameter description in section 3.1.4.7.
	ServerSignature []byte `idl:"name:pbServerSignature;size_is:(pdwServerSignatureSize)" json:"server_signature"`
	// pdwServerSignatureSize:  MUST be set by the client to point to an unsigned LONG
	// that contains the maximum length in bytes of the server signature to return. MUST
	// be set by the server to the actual length in bytes of the server signature on output.
	// If the server signature is larger than the supplied buffer, the server MUST return
	// MQ_ERROR_USER_BUFFER_TOO_SMALL (0xC00E0028).
	ServerSignatureSize uint32 `idl:"name:pdwServerSignatureSize" json:"server_signature_size"`
	// Return: The S_DSLookupNext return value.
	Return int32 `idl:"name:Return" json:"return"`
}

LookupNextResponse structure represents the S_DSLookupNext operation response

func (*LookupNextResponse) MarshalNDR

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

func (*LookupNextResponse) UnmarshalNDR

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

type QMGetObjectSecurityChallengeResponseProcRequest

type QMGetObjectSecurityChallengeResponseProcRequest struct {
	// abChallenge:  MUST be set by the caller to a pointer to a buffer that contains the
	// challenge to be signed. The challenge SHOULD be cryptographically random.
	Challenge []byte `idl:"name:abChallenge;size_is:(dwCallengeSize)" json:"challenge"`
	// dwCallengeSize:  MUST be set by the caller to the size, in bytes, of the challenge
	// in the abChallenge parameter.
	ChallengeSize uint32 `idl:"name:dwCallengeSize" json:"challenge_size"`
	// dwContext:  MUST be set by the caller to the value that was supplied in the dwContext
	// parameter of the corresponding call to the S_DSQMGetObjectSecurity method. This parameter
	// provides a way for the receiver to correlate the callback with the receiver's in-progress
	// call to S_DSQMGetObjectSecurity.
	Context uint32 `idl:"name:dwContext" json:"context"`
	// abCallengeResponce:  MUST be set by the caller to a pointer to a buffer to contain
	// the returned signature. MUST be set by the receiver to a signature over the challenge
	// in abChallenge. The algorithm for creating this signature is specified by the following
	// pseudocode.
	ChallengeResponse []byte `` /* 127-byte string literal not displayed */
	// pdwCallengeResponceSize:  Size in bytes of the signature in the abCallengeResponce
	// parameter. MUST be set by the receiver to the actual length, in bytes, of the signature
	// returned in abCallengeResponce on output.
	ChallengeResponseSize uint32 `idl:"name:pdwCallengeResponceSize" json:"challenge_response_size"`
	// dwCallengeResponceMaxSize:  MUST be set by the caller to the maximum length in bytes
	// of the server signature to be returned in abCallengeResponce. If the server signature
	// is larger than the supplied buffer, the server MUST return MQ_ERROR_USER_BUFFER_TOO_SMALL
	// (0xC00E0028).
	ChallengeResponseMaxSize uint32 `idl:"name:dwCallengeResponceMaxSize" json:"challenge_response_max_size"`
}

QMGetObjectSecurityChallengeResponseProcRequest structure represents the S_DSQMGetObjectSecurityChallengeResponceProc operation request

func (*QMGetObjectSecurityChallengeResponseProcRequest) MarshalNDR

func (*QMGetObjectSecurityChallengeResponseProcRequest) UnmarshalNDR

type QMGetObjectSecurityChallengeResponseProcResponse

type QMGetObjectSecurityChallengeResponseProcResponse struct {
	// XXX: dwCallengeResponceMaxSize is an implicit input depedency for output parameters
	ChallengeResponseMaxSize uint32 `idl:"name:dwCallengeResponceMaxSize" json:"challenge_response_max_size"`

	// abCallengeResponce:  MUST be set by the caller to a pointer to a buffer to contain
	// the returned signature. MUST be set by the receiver to a signature over the challenge
	// in abChallenge. The algorithm for creating this signature is specified by the following
	// pseudocode.
	ChallengeResponse []byte `` /* 127-byte string literal not displayed */
	// pdwCallengeResponceSize:  Size in bytes of the signature in the abCallengeResponce
	// parameter. MUST be set by the receiver to the actual length, in bytes, of the signature
	// returned in abCallengeResponce on output.
	ChallengeResponseSize uint32 `idl:"name:pdwCallengeResponceSize" json:"challenge_response_size"`
	// Return: The S_DSQMGetObjectSecurityChallengeResponceProc return value.
	Return int32 `idl:"name:Return" json:"return"`
}

QMGetObjectSecurityChallengeResponseProcResponse structure represents the S_DSQMGetObjectSecurityChallengeResponceProc operation response

func (*QMGetObjectSecurityChallengeResponseProcResponse) MarshalNDR

func (*QMGetObjectSecurityChallengeResponseProcResponse) UnmarshalNDR

type QMGetObjectSecurityRequest

type QMGetObjectSecurityRequest struct {
	// dwObjectType: Specifies the type of object for which the security descriptor is retrieved.
	// MUST be set to one of the object types specified in section 2.2.8.
	ObjectType uint32 `idl:"name:dwObjectType" json:"object_type"`
	// pGuid: MUST be set by the client to a pointer to the GUID of the object to retrieve
	// security information.
	GUID *dtyp.GUID `idl:"name:pGuid" json:"guid"`
	// SecurityInformation:  MUST be set by the client to a bitwise mask specifying the
	// information to return in the pSecurityDescriptor parameter. See the SecurityInformation
	// parameter description in section 3.1.4.11.
	SecurityInformation uint32 `idl:"name:SecurityInformation" json:"security_information"`
	// nLength: MUST be set by the client to the length in bytes of the pSecurityDescriptor
	// buffer.
	Length uint32 `idl:"name:nLength" json:"length"`
	// dwContext:  MUST be set by the client to a value that the client can use to correlate
	// callbacks with the initial call to S_DSQMGetObjectSecurityChallengeResponceProc.
	// The server MUST supply this value in the dwContext parameter in the related calls
	// of the S_DSQMGetObjectSecurityChallengeResponceProc (section 3.2.4.2) callback method.
	Context uint32 `idl:"name:dwContext" json:"context"`
	// phServerAuth:  A PCONTEXT_HANDLE_SERVER_AUTH_TYPE RPC context handle acquired from
	// the pphServerAuth parameter in a previous call to S_DSValidateServer. The server
	// MUST use this parameter as a key to locate the GSS security context used to compute
	// the signature returned in pbServerSignature. See section 3.1.4.2.
	ServerAuth *ServerAuthType `idl:"name:phServerAuth" json:"server_auth"`
	// pdwServerSignatureSize: A DWORD that contains the maximum length in bytes of the
	// server signature to return.
	ServerSignatureSize uint32 `idl:"name:pdwServerSignatureSize" json:"server_signature_size"`
}

QMGetObjectSecurityRequest structure represents the S_DSQMGetObjectSecurity operation request

func (*QMGetObjectSecurityRequest) MarshalNDR

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

func (*QMGetObjectSecurityRequest) UnmarshalNDR

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

type QMGetObjectSecurityResponse

type QMGetObjectSecurityResponse struct {
	// XXX: nLength is an implicit input depedency for output parameters
	Length uint32 `idl:"name:nLength" json:"length"`

	// pSecurityDescriptor: If the SecurityInformation parameter is MQDS_SIGN_PUBLIC_KEY
	// or MQDS_KEYX_PUBLIC_KEY, it SHOULD <73> contain a pointer to a BLOBHEADER structure
	// followed by an RSAPUBKEY (section 2.2.18) structure. Otherwise, this parameter contains
	// a security descriptor, as specified in [MS-DTYP] section 2.4.6.
	SecurityDescriptor []byte `idl:"name:pSecurityDescriptor;size_is:(nLength)" json:"security_descriptor"`
	// lpnLengthNeeded: A DWORD that the server MUST set to the length in bytes of the requested
	// security descriptor or Public Key. If the requested security descriptor or Public
	// Key is larger than nLength, the server MUST set this parameter to the size in bytes
	// needed for the requested security descriptor or Public Key, and return MQ_ERROR_SECURITY_DESCRIPTOR_TOO_SMALL
	// (0xC00E0023).
	LengthNeeded uint32 `idl:"name:lpnLengthNeeded" json:"length_needed"`
	// pbServerSignature: MUST point to the signed hash of the security descriptor.
	ServerSignature []byte `idl:"name:pbServerSignature;size_is:(pdwServerSignatureSize)" json:"server_signature"`
	// pdwServerSignatureSize: A DWORD that contains the maximum length in bytes of the
	// server signature to return.
	ServerSignatureSize uint32 `idl:"name:pdwServerSignatureSize" json:"server_signature_size"`
	// Return: The S_DSQMGetObjectSecurity return value.
	Return int32 `idl:"name:Return" json:"return"`
}

QMGetObjectSecurityResponse structure represents the S_DSQMGetObjectSecurity operation response

func (*QMGetObjectSecurityResponse) MarshalNDR

func (*QMGetObjectSecurityResponse) UnmarshalNDR

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

type QMSetMachinePropertiesRequest

type QMSetMachinePropertiesRequest struct {
	// pwcsPathName: Pointer to a NULL-terminated 16-bit Unicode string that MUST contain
	// the directory service pathname, as specified in section 2.2.9, of a machine object
	// in the directory service.
	PathName string `idl:"name:pwcsPathName;string" json:"path_name"`
	// cp: MUST be set to the size (in elements) of the arrays aProp and apVar. The arrays
	// aProp and apVar MUST have an identical number of elements, and MUST contain at least
	// one element.
	CreatePartition uint32 `idl:"name:cp" json:"create_partition"`
	// aProp:  An array of identifiers of properties to associate with the machine object.
	// Each element MUST specify a value from the property identifiers table, as specified
	// in section 2.2.10.1. Each element MUST specify the property identifier for the corresponding
	// property value at the same element index in apVar. The array MUST contain at least
	// one element.
	Property []uint32 `idl:"name:aProp;size_is:(cp)" json:"property"`
	// apVar:  An array that specifies the property values to associate with the machine
	// object. Each element MUST specify the property value for the corresponding property
	// identifier at the same element index in aProp. The array MUST contain at least one
	// element.
	Var []*mqmq.PropertyVariant `idl:"name:apVar;size_is:(cp)" json:"var"`
	// dwContext:  MUST be set by the client to a value that the client can use to correlate
	// callbacks with the initial call to S_DSQMSetMachineProperties. The server MUST supply
	// this value in the dwContext parameter in the related calls of the S_DSQMSetMachinePropertiesSignProc
	// (section 3.2.4.1) callback method.
	Context uint32 `idl:"name:dwContext" json:"context"`
}

QMSetMachinePropertiesRequest structure represents the S_DSQMSetMachineProperties operation request

func (*QMSetMachinePropertiesRequest) MarshalNDR

func (*QMSetMachinePropertiesRequest) UnmarshalNDR

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

type QMSetMachinePropertiesResponse

type QMSetMachinePropertiesResponse struct {
	// Return: The S_DSQMSetMachineProperties return value.
	Return int32 `idl:"name:Return" json:"return"`
}

QMSetMachinePropertiesResponse structure represents the S_DSQMSetMachineProperties operation response

func (*QMSetMachinePropertiesResponse) MarshalNDR

func (*QMSetMachinePropertiesResponse) UnmarshalNDR

type QMSetMachinePropertiesSignProcRequest

type QMSetMachinePropertiesSignProcRequest struct {
	// abChallenge:  MUST be set by the caller to a pointer to a buffer that contains the
	// challenge to be signed. The challenge SHOULD be cryptographically random.
	Challenge []byte `idl:"name:abChallenge;size_is:(dwCallengeSize)" json:"challenge"`
	// dwCallengeSize:  MUST be set by the caller to the size in bytes of the challenge
	// in the abChallenge parameter.
	ChallengeSize uint32 `idl:"name:dwCallengeSize" json:"challenge_size"`
	// dwContext:  MUST be set by the caller to the value supplied by the client in the
	// dwContext parameter of the corresponding call to the S_DSQMSetMachineProperties method.
	// This parameter provides a way for the receiver to correlate the callback with the
	// receiver's in-progress call to S_DSQMSetMachineProperties.
	Context uint32 `idl:"name:dwContext" json:"context"`
	// abSignature: MUST be set by the caller to a pointer to a buffer to contain the returned
	// signature. MUST be set by the receiver to a signature over the challenge in abChallenge.
	// The algorithm for creating this signature is specified by the following pseudocode.
	Signature []byte `idl:"name:abSignature;size_is:(dwSignatureMaxSize);length_is:(pdwSignatureSize)" json:"signature"`
	// pdwSignatureSize:  Size in bytes of the signature in the abSignature parameter.
	// MUST be set by the receiver to the actual length in bytes of the signature returned
	// in abSignature on output.
	SignatureSize uint32 `idl:"name:pdwSignatureSize" json:"signature_size"`
	// dwSignatureMaxSize:  MUST be set by the caller to the maximum length in bytes of
	// the server signature to be returned in abSignature. If the signature is larger than
	// the supplied buffer, the server MUST return MQ_ERROR_USER_BUFFER_TOO_SMALL (0xC00E0028).
	SignatureMaxSize uint32 `idl:"name:dwSignatureMaxSize" json:"signature_max_size"`
}

QMSetMachinePropertiesSignProcRequest structure represents the S_DSQMSetMachinePropertiesSignProc operation request

func (*QMSetMachinePropertiesSignProcRequest) MarshalNDR

func (*QMSetMachinePropertiesSignProcRequest) UnmarshalNDR

type QMSetMachinePropertiesSignProcResponse

type QMSetMachinePropertiesSignProcResponse struct {
	// XXX: dwSignatureMaxSize is an implicit input depedency for output parameters
	SignatureMaxSize uint32 `idl:"name:dwSignatureMaxSize" json:"signature_max_size"`

	// abSignature: MUST be set by the caller to a pointer to a buffer to contain the returned
	// signature. MUST be set by the receiver to a signature over the challenge in abChallenge.
	// The algorithm for creating this signature is specified by the following pseudocode.
	Signature []byte `idl:"name:abSignature;size_is:(dwSignatureMaxSize);length_is:(pdwSignatureSize)" json:"signature"`
	// pdwSignatureSize:  Size in bytes of the signature in the abSignature parameter.
	// MUST be set by the receiver to the actual length in bytes of the signature returned
	// in abSignature on output.
	SignatureSize uint32 `idl:"name:pdwSignatureSize" json:"signature_size"`
	// Return: The S_DSQMSetMachinePropertiesSignProc return value.
	Return int32 `idl:"name:Return" json:"return"`
}

QMSetMachinePropertiesSignProcResponse structure represents the S_DSQMSetMachinePropertiesSignProc operation response

func (*QMSetMachinePropertiesSignProcResponse) MarshalNDR

func (*QMSetMachinePropertiesSignProcResponse) UnmarshalNDR

type ServerAuthType

type ServerAuthType dcetypes.ContextHandle

ServerAuthType structure represents PCONTEXT_HANDLE_SERVER_AUTH_TYPE RPC structure.

func (*ServerAuthType) ContextHandle

func (o *ServerAuthType) ContextHandle() *dcetypes.ContextHandle

func (*ServerAuthType) MarshalNDR

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

func (*ServerAuthType) UnmarshalNDR

func (o *ServerAuthType) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type SetObjectSecurityGUIDRequest

type SetObjectSecurityGUIDRequest struct {
	// dwObjectType:  Specifies the type of object for which security properties are set.
	// MUST be set to one of the object types specified in section 2.2.8.
	ObjectType uint32 `idl:"name:dwObjectType" json:"object_type"`
	// pGuid: MUST be set by the client to a pointer to the GUID of the object for which
	// properties are to be set.
	GUID *dtyp.GUID `idl:"name:pGuid" json:"guid"`
	// SecurityInformation: MUST be set by the client to a bitwise mask specifying the information
	// to set from the pSecurityDescriptor parameter. See the SecurityInformation parameter
	// description in section 3.1.4.11.
	SecurityInformation uint32 `idl:"name:SecurityInformation" json:"security_information"`
	// pSecurityDescriptor: MUST contain a pointer to security descriptor, as specified
	// in [MS-DTYP] section 2.4.6, or to an MQDS_PublicKey structure.<68> See the pSecurityDescriptor
	// parameter description in section 3.1.4.11. Note that while section 3.1.4.11 indicates
	// that pSecurityDescriptor contains a BLOBHEADER followed by an RSAPUBKEY (section
	// 2.2.18) structure, this method actually contains an MQDS_PublicKey structure, which
	// is the same structure prefixed by a 4-byte length field.
	SecurityDescriptor []byte `idl:"name:pSecurityDescriptor;size_is:(nLength);pointer:unique" json:"security_descriptor"`
	// nLength: MUST be set by the client to the length in bytes of the pSecurityDescriptor
	// buffer.
	Length uint32 `idl:"name:nLength" json:"length"`
}

SetObjectSecurityGUIDRequest structure represents the S_DSSetObjectSecurityGuid operation request

func (*SetObjectSecurityGUIDRequest) MarshalNDR

func (*SetObjectSecurityGUIDRequest) UnmarshalNDR

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

type SetObjectSecurityGUIDResponse

type SetObjectSecurityGUIDResponse struct {
	// Return: The S_DSSetObjectSecurityGuid return value.
	Return int32 `idl:"name:Return" json:"return"`
}

SetObjectSecurityGUIDResponse structure represents the S_DSSetObjectSecurityGuid operation response

func (*SetObjectSecurityGUIDResponse) MarshalNDR

func (*SetObjectSecurityGUIDResponse) UnmarshalNDR

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

type SetObjectSecurityRequest

type SetObjectSecurityRequest struct {
	// dwObjectType: Specifies the type of object for which security properties are to be
	// set. MUST be one of the object types specified in section 2.2.8.
	ObjectType uint32 `idl:"name:dwObjectType" json:"object_type"`
	// pwcsPathName: Pointer to a NULL-terminated 16-bit Unicode string that MUST contain
	// the directory service pathname, as specified in section 2.2.9, of the object in the
	// directory service.
	PathName string `idl:"name:pwcsPathName;string" json:"path_name"`
	// SecurityInformation: MUST be set by the client to a bitwise mask specifying the information
	// to set from the pSecurityDescriptor parameter. See the SecurityInformation parameter
	// description in section 3.1.4.11. Information in the pSecurityDescriptor parameter
	// not associated with bits set in this field MUST be ignored.
	SecurityInformation uint32 `idl:"name:SecurityInformation" json:"security_information"`
	// pSecurityDescriptor: MUST contain a pointer to a security descriptor, as specified
	// in [MS-DTYP] section 2.4.6, or to an MQDS_PublicKey structure.<63> See the pSecurityDescriptor
	// parameter description in section 3.1.4.11. Note that where 3.1.4.11 indicates that
	// pSecurityDescriptor contains a BLOBHEADER followed by an RSAPUBKEY (section 2.2.18)
	// structure, this method actually contains an MQDS_PublicKey structure, which is the
	// same structure prefixed by a 4-byte length field.
	SecurityDescriptor []byte `idl:"name:pSecurityDescriptor;size_is:(nLength);pointer:unique" json:"security_descriptor"`
	// nLength:  MUST be set by the client to the length in bytes of the pSecurityDescriptor
	// buffer.
	Length uint32 `idl:"name:nLength" json:"length"`
}

SetObjectSecurityRequest structure represents the S_DSSetObjectSecurity operation request

func (*SetObjectSecurityRequest) MarshalNDR

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

func (*SetObjectSecurityRequest) UnmarshalNDR

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

type SetObjectSecurityResponse

type SetObjectSecurityResponse struct {
	// Return: The S_DSSetObjectSecurity return value.
	Return int32 `idl:"name:Return" json:"return"`
}

SetObjectSecurityResponse structure represents the S_DSSetObjectSecurity operation response

func (*SetObjectSecurityResponse) MarshalNDR

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

func (*SetObjectSecurityResponse) UnmarshalNDR

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

type SetPropertiesGUIDRequest

type SetPropertiesGUIDRequest struct {
	// dwObjectType:  Specifies the type of object for which properties are to be set.
	// MUST be one of the object types specified in section 2.2.8.
	ObjectType uint32 `idl:"name:dwObjectType" json:"object_type"`
	// pGuid:  Pointer to the GUID of the object for which properties are to be set.
	GUID *dtyp.GUID `idl:"name:pGuid" json:"guid"`
	// cp:  MUST be set to the size (in elements) of the arrays aProp and apVar. The arrays
	// aProp and apVar MUST have an identical number of elements and MUST contain at least
	// one element.
	CreatePartition uint32 `idl:"name:cp" json:"create_partition"`
	// aProp:  An array of identifiers of properties to associate with the object designated
	// by pGuid. Each element MUST specify a value from the property identifiers table,
	// as specified in section 2.2.10.1, for the object type specified in dwObjectType.
	// Each element MUST specify the property identifier for the corresponding property
	// value at the same element index in apVar. The array MUST contain at least one element.
	Property []uint32 `idl:"name:aProp;size_is:(cp)" json:"property"`
	// apVar:  An array that specifies the property values to associate with the created
	// object. Each element MUST specify the property value for the corresponding property
	// identifier at the same element index in aProp. The array MUST contain at least one
	// element.
	Var []*mqmq.PropertyVariant `idl:"name:apVar;size_is:(cp)" json:"var"`
}

SetPropertiesGUIDRequest structure represents the S_DSSetPropsGuid operation request

func (*SetPropertiesGUIDRequest) MarshalNDR

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

func (*SetPropertiesGUIDRequest) UnmarshalNDR

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

type SetPropertiesGUIDResponse

type SetPropertiesGUIDResponse struct {
	// Return: The S_DSSetPropsGuid return value.
	Return int32 `idl:"name:Return" json:"return"`
}

SetPropertiesGUIDResponse structure represents the S_DSSetPropsGuid operation response

func (*SetPropertiesGUIDResponse) MarshalNDR

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

func (*SetPropertiesGUIDResponse) UnmarshalNDR

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

type SetPropertiesRequest

type SetPropertiesRequest struct {
	// dwObjectType:  MUST specify the type of object for which properties are to be set.
	// For supported object types, see the table of object types specified in section 2.2.8.
	ObjectType uint32 `idl:"name:dwObjectType" json:"object_type"`
	// pwcsPathName:  Pointer to a NULL-terminated 16-bit Unicode string that MUST contain
	// the directory service pathname, as specified in section 2.2.9, to the object in the
	// directory service.
	PathName string `idl:"name:pwcsPathName;string" json:"path_name"`
	// cp:  MUST be set to the size (in elements) of the arrays aProp and apVar. The arrays
	// aProp and apVar MUST have an identical number of elements and MUST contain at least
	// one element.
	CreatePartition uint32 `idl:"name:cp" json:"create_partition"`
	// aProp:  An array of identifiers of properties to associate with the object identified
	// by pwcsPathName. Each element MUST specify a value from the property identifiers
	// table defined in section 2.2.10.1 for the object type specified in dwObjectType.
	// Each element MUST specify the property identifier for the corresponding property
	// value at the same element index in apVar. The array MUST contain at least one element.
	Property []uint32 `idl:"name:aProp;size_is:(cp)" json:"property"`
	// apVar:  An array that specifies the property values to associate with the object.
	// Each element MUST specify the property value for the corresponding property identifier
	// at the same element index in aProp. The array MUST contain at least one element.
	Var []*mqmq.PropertyVariant `idl:"name:apVar;size_is:(cp)" json:"var"`
}

SetPropertiesRequest structure represents the S_DSSetProps operation request

func (*SetPropertiesRequest) MarshalNDR

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

func (*SetPropertiesRequest) UnmarshalNDR

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

type SetPropertiesResponse

type SetPropertiesResponse struct {
	// Return: The S_DSSetProps return value.
	Return int32 `idl:"name:Return" json:"return"`
}

SetPropertiesResponse structure represents the S_DSSetProps operation response

func (*SetPropertiesResponse) MarshalNDR

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

func (*SetPropertiesResponse) UnmarshalNDR

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

type Type

Type structure represents PCONTEXT_HANDLE_TYPE RPC structure.

func (*Type) ContextHandle

func (o *Type) ContextHandle() *dcetypes.ContextHandle

func (*Type) MarshalNDR

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

func (*Type) UnmarshalNDR

func (o *Type) UnmarshalNDR(ctx context.Context, w ndr.Reader) error

type UnimplementedDscommServer added in v1.1.5

type UnimplementedDscommServer struct {
}

Unimplemented dscomm

func (UnimplementedDscommServer) CloseServer added in v1.1.5

func (UnimplementedDscommServer) CreateObject added in v1.1.5

func (UnimplementedDscommServer) CreateServersCache added in v1.1.5

func (UnimplementedDscommServer) DeleteObject added in v1.1.5

func (UnimplementedDscommServer) DeleteObjectGUID added in v1.1.5

func (UnimplementedDscommServer) GetObjectSecurity added in v1.1.5

func (UnimplementedDscommServer) GetObjectSecurityGUID added in v1.1.5

func (UnimplementedDscommServer) GetProperties added in v1.1.5

func (UnimplementedDscommServer) GetPropertiesGUID added in v1.1.5

func (UnimplementedDscommServer) GetServerPort added in v1.1.5

func (UnimplementedDscommServer) InitSecurityContext added in v1.1.5

func (UnimplementedDscommServer) LookupBegin added in v1.1.5

func (UnimplementedDscommServer) LookupEnd added in v1.1.5

func (UnimplementedDscommServer) LookupNext added in v1.1.5

func (UnimplementedDscommServer) QMGetObjectSecurity added in v1.1.5

func (UnimplementedDscommServer) QMSetMachineProperties added in v1.1.5

func (UnimplementedDscommServer) QMSetMachinePropertiesSignProc added in v1.1.5

func (UnimplementedDscommServer) SetObjectSecurity added in v1.1.5

func (UnimplementedDscommServer) SetObjectSecurityGUID added in v1.1.5

func (UnimplementedDscommServer) SetProperties added in v1.1.5

func (UnimplementedDscommServer) SetPropertiesGUID added in v1.1.5

func (UnimplementedDscommServer) ValidateServer added in v1.1.5

type ValidateServerRequest

type ValidateServerRequest struct {
	// pguidEnterpriseId:  MUST be set by the client to a pointer to the GUID of the enterprise
	// that owns the server. The server SHOULD ignore it.<17>
	EnterpriseID *dtyp.GUID `idl:"name:pguidEnterpriseId" json:"enterprise_id"`
	// fSetupMode:  Boolean value that defines the setup mode. Clients SHOULD set this
	// value to FALSE (0x00000000). The server SHOULD ignore it.<18>
	SetupMode bool `idl:"name:fSetupMode" json:"setup_mode"`
	// dwContext:  MUST be set by the client to a value that the client can use to correlate
	// callbacks with the initial call to S_DSValidateServer. The server MUST supply this
	// value in the dwContext parameter in the related calls of the S_InitSecCtx (section
	// 3.2.4.3) callback method.
	Context uint32 `idl:"name:dwContext" json:"context"`
	// dwClientBuffMaxSize:  MUST be set by the client to the size of the buffer pointed
	// to by the pClientBuff parameter.
	ClientBufferMaxSize uint32 `idl:"name:dwClientBuffMaxSize" json:"client_buffer_max_size"`
	// pClientBuff: A pointer that MUST be set by the client to point to a buffer that contains
	// the output_token from an initial call to GSS_Init_sec_context, as specified in [RFC2743]
	// section 2.2.1.
	ClientBuffer []byte `idl:"name:pClientBuff;size_is:(dwClientBuffMaxSize);length_is:(dwClientBuffSize)" json:"client_buffer"`
	// dwClientBuffSize:  MUST be set by the client to the size in bytes of the output_token
	// within the client buffer pointed at by the pClientBuff parameter.
	ClientBufferSize uint32 `idl:"name:dwClientBuffSize" json:"client_buffer_size"`
}

ValidateServerRequest structure represents the S_DSValidateServer operation request

func (*ValidateServerRequest) MarshalNDR

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

func (*ValidateServerRequest) UnmarshalNDR

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

type ValidateServerResponse

type ValidateServerResponse struct {
	// pphServerAuth:  MUST be set by the server to a PCONTEXT_HANDLE_SERVER_AUTH_TYPE
	// (section 2.2.5) RPC context handle.
	ServerAuth *ServerAuthType `idl:"name:pphServerAuth" json:"server_auth"`
	// Return: The S_DSValidateServer return value.
	Return int32 `idl:"name:Return" json:"return"`
}

ValidateServerResponse structure represents the S_DSValidateServer operation response

func (*ValidateServerResponse) MarshalNDR

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

func (*ValidateServerResponse) UnmarshalNDR

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

Jump to

Keyboard shortcuts

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