dscomm

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2024 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
}

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 {
	// 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 {
	// 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 {
	// 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 {
	// 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 {
	// 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 {
	// 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 {
	// 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 {
	// 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 {
	// 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 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