intmsobjectmanagement1

package
v1.2.16 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// INtmsObjectManagement1 interface identifier b057dc50-3059-11d1-8faf-00a024cb6019
	ObjectManagement1IID = &dcom.IID{Data1: 0xb057dc50, Data2: 0x3059, Data3: 0x11d1, Data4: []byte{0x8f, 0xaf, 0x00, 0xa0, 0x24, 0xcb, 0x60, 0x19}}
	// Syntax UUID
	ObjectManagement1SyntaxUUID = &uuid.UUID{TimeLow: 0xb057dc50, TimeMid: 0x3059, TimeHiAndVersion: 0x11d1, ClockSeqHiAndReserved: 0x8f, ClockSeqLow: 0xaf, Node: [6]uint8{0x0, 0xa0, 0x24, 0xcb, 0x60, 0x19}}
	// Syntax ID
	ObjectManagement1SyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: ObjectManagement1SyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "dcom/rsmp"
)

Functions

func NewObjectManagement1ServerHandle

func NewObjectManagement1ServerHandle(o ObjectManagement1Server) dcerpc.ServerHandle

func ObjectManagement1ServerHandle

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

func RegisterObjectManagement1Server

func RegisterObjectManagement1Server(conn dcerpc.Conn, o ObjectManagement1Server, opts ...dcerpc.Option)

Types

type DisableNTMSObjectRequest

type DisableNTMSObjectRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// dwType: One of the NTMS_DRIVE, NTMS_LIBRARY, or NTMS_PHYSICAL_MEDIA values from the
	// NtmsObjectsTypes (section 2.2.1.6) enumeration, specifying the type of the object.
	Type uint32 `idl:"name:dwType" json:"type"`
	// lpObjectId: A pointer to the identifier of the object to disable.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x00000000 S_OK                    | The call was successful.                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070005 ERROR_ACCESS_DENIED     | NTMS_CONTROL_ACCESS to the library containing the object is denied.              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070057 ERROR_INVALID_PARAMETER | The parameter is NULL or invalid.                                                |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x800710D1 ERROR_LIBRARY_OFFLINE   | The lpObjectId parameter refers to an offline library that cannot be enabled or  |
	//	|                                    | disabled.                                                                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x800710D8 ERROR_OBJECT_NOT_FOUND  | The lpObjectId parameter is invalid.                                             |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x800710D9 ERROR_DATABASE_FAILURE  | The database is inaccessible or damaged.                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x8007139F ERROR_INVALID_STATE     | The object is already disabled.                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	ObjectID *dtyp.GUID `idl:"name:lpObjectId" json:"object_id"`
}

DisableNTMSObjectRequest structure represents the DisableNtmsObject operation request

func (*DisableNTMSObjectRequest) MarshalNDR

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

func (*DisableNTMSObjectRequest) UnmarshalNDR

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

type DisableNTMSObjectResponse

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

DisableNTMSObjectResponse structure represents the DisableNtmsObject operation response

func (*DisableNTMSObjectResponse) MarshalNDR

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

func (*DisableNTMSObjectResponse) UnmarshalNDR

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

type EnableNTMSObjectRequest

type EnableNTMSObjectRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// dwType: One of the NTMS_DRIVE, NTMS_LIBRARY, or NTMS_PHYSICAL_MEDIA values from the
	// NtmsObjectsTypes (section 2.2.1.6) enumeration, specifying the type of the object.
	Type uint32 `idl:"name:dwType" json:"type"`
	// lpObjectId: A pointer to the identifier of the object to enable.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x00000000 S_OK                    | The call was successful.                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070005 ERROR_ACCESS_DENIED     | NTMS_CONTROL_ACCESS to the library containing the object is denied.              |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070057 ERROR_INVALID_PARAMETER | The parameter is NULL or invalid.                                                |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x800710D1 ERROR_LIBRARY_OFFLINE   | The lpObjectId parameter refers to an offline library that cannot be enabled or  |
	//	|                                    | disabled.                                                                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x800710D8 ERROR_OBJECT_NOT_FOUND  | The lpObjectId parameter is invalid.                                             |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x800710D9 ERROR_DATABASE_FAILURE  | The database is inaccessible or damaged.                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x8007139F ERROR_INVALID_STATE     | The object is already enabled.                                                   |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	ObjectID *dtyp.GUID `idl:"name:lpObjectId" json:"object_id"`
}

EnableNTMSObjectRequest structure represents the EnableNtmsObject operation request

func (*EnableNTMSObjectRequest) MarshalNDR

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

func (*EnableNTMSObjectRequest) UnmarshalNDR

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

type EnableNTMSObjectResponse

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

EnableNTMSObjectResponse structure represents the EnableNtmsObject operation response

func (*EnableNTMSObjectResponse) MarshalNDR

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

func (*EnableNTMSObjectResponse) UnmarshalNDR

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

type EnumerateNTMSObjectRequest

type EnumerateNTMSObjectRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// lpContainerId: A pointer to the GUID of the container for which to enumerate objects;
	// can be set to NULL to enumerate all objects of type dwType.
	ContainerID *dtyp.GUID `idl:"name:lpContainerId;pointer:unique" json:"container_id"`
	// lpdwListBufferSize: A pointer to the size, in bytes, of lpList.
	ListBufferSize uint32 `idl:"name:lpdwListBufferSize" json:"list_buffer_size"`
	// dwType: A value from the NtmsObjectsTypes (section 2.2.1.6) enumeration specifying
	// the type of the object.
	Type uint32 `idl:"name:dwType" json:"type"`
	// dwOptions: This parameter is unused. It MUST be 0 and MUST be ignored on receipt.
	//
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                |                                                                                  |
	//	|              VALUE/CODE              |                                   DESCRIPTION                                    |
	//	|                                      |                                                                                  |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x00000000 S_OK                      | The call was successful.                                                         |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070005 ERROR_ACCESS_DENIED       | Access to an object was denied.                                                  |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070008 ERROR_NOT_ENOUGH_MEMORY   | An allocation failure occurred during processing.                                |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070057 ERROR_INVALID_PARAMETER   | The lpdwListSize pointer is NULL, or lpContainerId is not of the object type     |
	//	|                                      | specified by dwType.                                                             |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x8007007A ERROR_INSUFFICIENT_BUFFER | The specified buffer size is too small. The required size is returned in the     |
	//	|                                      | lpdwListSize parameter.                                                          |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x800710D8 ERROR_OBJECT_NOT_FOUND    | The lpContainerId is not the identifier of any container in the database.        |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	Options uint32 `idl:"name:dwOptions" json:"options"`
}

EnumerateNTMSObjectRequest structure represents the EnumerateNtmsObject operation request

func (*EnumerateNTMSObjectRequest) MarshalNDR

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

func (*EnumerateNTMSObjectRequest) UnmarshalNDR

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

type EnumerateNTMSObjectResponse

type EnumerateNTMSObjectResponse struct {
	// XXX: lpdwListBufferSize is an implicit input depedency for output parameters
	ListBufferSize uint32 `idl:"name:lpdwListBufferSize" json:"list_buffer_size"`

	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// lpList: An array of object identifiers.
	List []*dtyp.GUID `idl:"name:lpList;size_is:(lpdwListBufferSize);length_is:(lpdwListBufferSize)" json:"list"`
	// lpdwListSize: A pointer to the number of elements in lpList.
	ListSize uint32 `idl:"name:lpdwListSize" json:"list_size"`
	// Return: The EnumerateNtmsObject return value.
	Return int32 `idl:"name:Return" json:"return"`
}

EnumerateNTMSObjectResponse structure represents the EnumerateNtmsObject operation response

func (*EnumerateNTMSObjectResponse) MarshalNDR

func (*EnumerateNTMSObjectResponse) UnmarshalNDR

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

type GetNTMSObjectAttributeARequest

type GetNTMSObjectAttributeARequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// lpObjectId: A pointer to the identifier of the object for which to retrieve private
	// data.
	ObjectID *dtyp.GUID `idl:"name:lpObjectId" json:"object_id"`
	// dwType: A value from the NtmsObjectsTypes (section 2.2.1.6) enumeration specifying
	// the type of the object.
	Type uint32 `idl:"name:dwType" json:"type"`
	// lpAttributeName: A null-terminated sequence of ASCII characters specifying the name
	// of the extended attribute to retrieve. The attribute name MUST be identical to that
	// specified when creating this attribute using SetNtmsObjectAttributeA.
	AttributeName uint8 `idl:"name:lpAttributeName" json:"attribute_name"`
	// lpdwAttributeBufferSize: A pointer to the size, in bytes, of the client buffer for
	// lpAttributeData.
	AttributeBufferSize uint32 `idl:"name:lpdwAttributeBufferSize" json:"attribute_buffer_size"`
}

GetNTMSObjectAttributeARequest structure represents the GetNtmsObjectAttributeA operation request

func (*GetNTMSObjectAttributeARequest) MarshalNDR

func (*GetNTMSObjectAttributeARequest) UnmarshalNDR

type GetNTMSObjectAttributeAResponse

type GetNTMSObjectAttributeAResponse struct {
	// XXX: lpdwAttributeBufferSize is an implicit input depedency for output parameters
	AttributeBufferSize uint32 `idl:"name:lpdwAttributeBufferSize" json:"attribute_buffer_size"`

	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// lpAttributeData: A buffer containing the attribute.
	AttributeData []byte `idl:"name:lpAttributeData;size_is:(lpdwAttributeBufferSize);length_is:(lpAttributeSize)" json:"attribute_data"`
	// lpAttributeSize: The size of lpAttributeData. If the specified client buffer was
	// not large enough, lpAttributeSize MUST point to the required size of lpAttributeData;
	// otherwise, it MUST point to the number of bytes that are returned by the server in
	// the buffer lpAttributeData.
	//
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                |                                                                                  |
	//	|              VALUE/CODE              |                                   DESCRIPTION                                    |
	//	|                                      |                                                                                  |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x00000000 S_OK                      | The call was successful.                                                         |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070005 ERROR_ACCESS_DENIED       | Access to the object is denied; other security errors are possible but indicate  |
	//	|                                      | a security subsystem error.                                                      |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070057 ERROR_INVALID_PARAMETER   | The parameter is not valid.                                                      |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x8007007A ERROR_INSUFFICIENT_BUFFER | The specified buffer size is not large enough.                                   |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x800700E8 ERROR_NO_DATA             | The specified attribute is greater than or equal to NTMS_MAXATTR_LENGTH, defined |
	//	|                                      | in the Platform SDK file NTMSApi.h.                                              |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x800706C6 ERROR_RPC_S_INVALID_BOUND | The array bounds are invalid.                                                    |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x800710D8 ERROR_OBJECT_NOT_FOUND    | The specified attribute was not found.                                           |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x800710D9 ERROR_DATABASE_FAILURE    | The database query or update failed.                                             |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	AttributeSize uint32 `idl:"name:lpAttributeSize" json:"attribute_size"`
	// Return: The GetNtmsObjectAttributeA return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetNTMSObjectAttributeAResponse structure represents the GetNtmsObjectAttributeA operation response

func (*GetNTMSObjectAttributeAResponse) MarshalNDR

func (*GetNTMSObjectAttributeAResponse) UnmarshalNDR

type GetNTMSObjectAttributeWRequest

type GetNTMSObjectAttributeWRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// lpObjectId: A pointer to the identifier of the object for which to retrieve private
	// data.
	ObjectID *dtyp.GUID `idl:"name:lpObjectId" json:"object_id"`
	// dwType: A value from the NtmsObjectsTypes (section 2.2.1.6) enumeration specifying
	// the type of the object.
	Type uint32 `idl:"name:dwType" json:"type"`
	// lpAttributeName: A null-terminated sequence of Unicode characters specifying the
	// name of the extended attribute to retrieve. The attribute name MUST be identical
	// to that specified when creating this attribute using SetNtmsObjectAttributeW.
	AttributeName string `idl:"name:lpAttributeName;string" json:"attribute_name"`
	// lpdwAttributeBufferSize: A pointer to the size, in bytes, of the client buffer for
	// lpAttributeData.
	AttributeBufferSize uint32 `idl:"name:lpdwAttributeBufferSize" json:"attribute_buffer_size"`
}

GetNTMSObjectAttributeWRequest structure represents the GetNtmsObjectAttributeW operation request

func (*GetNTMSObjectAttributeWRequest) MarshalNDR

func (*GetNTMSObjectAttributeWRequest) UnmarshalNDR

type GetNTMSObjectAttributeWResponse

type GetNTMSObjectAttributeWResponse struct {
	// XXX: lpdwAttributeBufferSize is an implicit input depedency for output parameters
	AttributeBufferSize uint32 `idl:"name:lpdwAttributeBufferSize" json:"attribute_buffer_size"`

	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// lpAttributeData: A buffer containing the attribute.
	AttributeData []byte `idl:"name:lpAttributeData;size_is:(lpdwAttributeBufferSize);length_is:(lpAttributeSize)" json:"attribute_data"`
	// lpAttributeSize: The size of lpAttributeData. If the specified client buffer was
	// not large enough, lpAttributeSize MUST point to the required size of lpAttributeData;
	// otherwise, it MUST point to the number of bytes that are returned by the server in
	// the buffer lpAttributeData.
	//
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	|                RETURN                |                                                                                  |
	//	|              VALUE/CODE              |                                   DESCRIPTION                                    |
	//	|                                      |                                                                                  |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x00000000 S_OK                      | The call was successful.                                                         |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070005 ERROR_ACCESS_DENIED       | Access to the object is denied; other security errors are possible but indicate  |
	//	|                                      | a security subsystem error.                                                      |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070057 ERROR_INVALID_PARAMETER   | The parameter is not valid.                                                      |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x8007007A ERROR_INSUFFICIENT_BUFFER | The specified buffer size is not large enough.                                   |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x800700E8 ERROR_NO_DATA             | The specified attribute is greater than or equal to NTMS_MAXATTR_LENGTH, defined |
	//	|                                      | in the Platform SDK file NTMSApi.h.                                              |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x800710D8 ERROR_OBJECT_NOT_FOUND    | The specified attribute was not found.                                           |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x800710D9 ERROR_DATABASE_FAILURE    | The database query or update failed.                                             |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	AttributeSize uint32 `idl:"name:lpAttributeSize" json:"attribute_size"`
	// Return: The GetNtmsObjectAttributeW return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetNTMSObjectAttributeWResponse structure represents the GetNtmsObjectAttributeW operation response

func (*GetNTMSObjectAttributeWResponse) MarshalNDR

func (*GetNTMSObjectAttributeWResponse) UnmarshalNDR

type GetNTMSObjectSecurityRequest

type GetNTMSObjectSecurityRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// lpObjectId: A pointer to the identifier of the object for which to retrieve information.
	ObjectID *dtyp.GUID `idl:"name:lpObjectId" json:"object_id"`
	// dwType: A value from the NtmsObjectsTypes (section 2.2.1.6) enumeration specifying
	// the type of the object.
	Type uint32 `idl:"name:dwType" json:"type"`
	// SecurityInformation: A SECURITY_INFORMATION structure specifying the security data
	// to retrieve.
	SecurityInformation uint32 `idl:"name:SecurityInformation" json:"security_information"`
	// nLength: The size, in bytes, of the client buffer for lpSecurityDescriptor.
	Length uint32 `idl:"name:nLength" json:"length"`
}

GetNTMSObjectSecurityRequest structure represents the GetNtmsObjectSecurity operation request

func (*GetNTMSObjectSecurityRequest) MarshalNDR

func (*GetNTMSObjectSecurityRequest) UnmarshalNDR

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

type GetNTMSObjectSecurityResponse

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

	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// lpSecurityDescriptor: A pointer to a SECURITY_DESCRIPTOR structure that describes
	// the security of the object.
	SecurityDescriptor []byte `idl:"name:lpSecurityDescriptor;size_is:(nLength)" json:"security_descriptor"`
	// lpnLengthNeeded: A pointer to the required size of lpSecurityDescriptor if the specified
	// client buffer was not large enough.
	//
	//	+----------------------------------------+------------------------------------------------+
	//	|                 RETURN                 |                                                |
	//	|               VALUE/CODE               |                  DESCRIPTION                   |
	//	|                                        |                                                |
	//	+----------------------------------------+------------------------------------------------+
	//	+----------------------------------------+------------------------------------------------+
	//	| 0x00000000 S_OK                        | The call was successful.                       |
	//	+----------------------------------------+------------------------------------------------+
	//	| 0x80070005 ERROR_ACCESS_DENIED         | Access to an object was denied.                |
	//	+----------------------------------------+------------------------------------------------+
	//	| 0x80070057 ERROR_INVALID_PARAMETER     | A parameter is not valid.                      |
	//	+----------------------------------------+------------------------------------------------+
	//	| 0x8007007A ERROR_INSUFFICIENT_BUFFER   | The specified buffer size is not large enough. |
	//	+----------------------------------------+------------------------------------------------+
	//	| 0x80070546 ERROR_NO_SECURITY_ON_OBJECT | The object has no security information.        |
	//	+----------------------------------------+------------------------------------------------+
	//	| 0x800710D8 ERROR_OBJECT_NOT_FOUND      | The object was not found.                      |
	//	+----------------------------------------+------------------------------------------------+
	//	| 0x800710D9 ERROR_DATABASE_FAILURE      | The database query or update failed.           |
	//	+----------------------------------------+------------------------------------------------+
	LengthNeeded uint32 `idl:"name:lpnLengthNeeded" json:"length_needed"`
	// Return: The GetNtmsObjectSecurity return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetNTMSObjectSecurityResponse structure represents the GetNtmsObjectSecurity operation response

func (*GetNTMSObjectSecurityResponse) MarshalNDR

func (*GetNTMSObjectSecurityResponse) UnmarshalNDR

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

type ObjectManagement1Client

type ObjectManagement1Client interface {

	// IUnknown retrieval method.
	Unknown() iunknown.UnknownClient

	// The GetNtmsObjectSecurity method retrieves the security descriptor of an object.
	GetNTMSObjectSecurity(context.Context, *GetNTMSObjectSecurityRequest, ...dcerpc.CallOption) (*GetNTMSObjectSecurityResponse, error)

	// The SetNtmsObjectSecurity method changes the security descriptor of an object.
	SetNTMSObjectSecurity(context.Context, *SetNTMSObjectSecurityRequest, ...dcerpc.CallOption) (*SetNTMSObjectSecurityResponse, error)

	// The GetNtmsObjectAttributeA method retrieves private data of an object, with strings
	// encoded using ASCII.
	GetNTMSObjectAttributeA(context.Context, *GetNTMSObjectAttributeARequest, ...dcerpc.CallOption) (*GetNTMSObjectAttributeAResponse, error)

	// The GetNtmsObjectAttributeW method retrieves private data from an object, with strings
	// encoded using Unicode.
	GetNTMSObjectAttributeW(context.Context, *GetNTMSObjectAttributeWRequest, ...dcerpc.CallOption) (*GetNTMSObjectAttributeWResponse, error)

	// The SetNtmsObjectAttributeA method changes the private data of an object, with strings
	// encoded using ASCII.
	SetNTMSObjectAttributeA(context.Context, *SetNTMSObjectAttributeARequest, ...dcerpc.CallOption) (*SetNTMSObjectAttributeAResponse, error)

	// The SetNtmsObjectAttributeW method changes the private data of an object, with strings
	// encoded using Unicode.
	SetNTMSObjectAttributeW(context.Context, *SetNTMSObjectAttributeWRequest, ...dcerpc.CallOption) (*SetNTMSObjectAttributeWResponse, error)

	// The EnumerateNtmsObject method enumerates the objects of the container specified
	// by the lpContainerId parameter.
	EnumerateNTMSObject(context.Context, *EnumerateNTMSObjectRequest, ...dcerpc.CallOption) (*EnumerateNTMSObjectResponse, error)

	// The DisableNtmsObject method disables an object.
	DisableNTMSObject(context.Context, *DisableNTMSObjectRequest, ...dcerpc.CallOption) (*DisableNTMSObjectResponse, error)

	// The EnableNtmsObject method enables an object.
	EnableNTMSObject(context.Context, *EnableNTMSObjectRequest, ...dcerpc.CallOption) (*EnableNTMSObjectResponse, error)

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

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

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

INtmsObjectManagement1 interface.

func NewObjectManagement1Client

func NewObjectManagement1Client(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (ObjectManagement1Client, error)

type ObjectManagement1Server

type ObjectManagement1Server interface {

	// IUnknown base class.
	iunknown.UnknownServer

	// The GetNtmsObjectSecurity method retrieves the security descriptor of an object.
	GetNTMSObjectSecurity(context.Context, *GetNTMSObjectSecurityRequest) (*GetNTMSObjectSecurityResponse, error)

	// The SetNtmsObjectSecurity method changes the security descriptor of an object.
	SetNTMSObjectSecurity(context.Context, *SetNTMSObjectSecurityRequest) (*SetNTMSObjectSecurityResponse, error)

	// The GetNtmsObjectAttributeA method retrieves private data of an object, with strings
	// encoded using ASCII.
	GetNTMSObjectAttributeA(context.Context, *GetNTMSObjectAttributeARequest) (*GetNTMSObjectAttributeAResponse, error)

	// The GetNtmsObjectAttributeW method retrieves private data from an object, with strings
	// encoded using Unicode.
	GetNTMSObjectAttributeW(context.Context, *GetNTMSObjectAttributeWRequest) (*GetNTMSObjectAttributeWResponse, error)

	// The SetNtmsObjectAttributeA method changes the private data of an object, with strings
	// encoded using ASCII.
	SetNTMSObjectAttributeA(context.Context, *SetNTMSObjectAttributeARequest) (*SetNTMSObjectAttributeAResponse, error)

	// The SetNtmsObjectAttributeW method changes the private data of an object, with strings
	// encoded using Unicode.
	SetNTMSObjectAttributeW(context.Context, *SetNTMSObjectAttributeWRequest) (*SetNTMSObjectAttributeWResponse, error)

	// The EnumerateNtmsObject method enumerates the objects of the container specified
	// by the lpContainerId parameter.
	EnumerateNTMSObject(context.Context, *EnumerateNTMSObjectRequest) (*EnumerateNTMSObjectResponse, error)

	// The DisableNtmsObject method disables an object.
	DisableNTMSObject(context.Context, *DisableNTMSObjectRequest) (*DisableNTMSObjectResponse, error)

	// The EnableNtmsObject method enables an object.
	EnableNTMSObject(context.Context, *EnableNTMSObjectRequest) (*EnableNTMSObjectResponse, error)
}

INtmsObjectManagement1 server interface.

type SetNTMSObjectAttributeARequest

type SetNTMSObjectAttributeARequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// lpObjectId: A pointer to the identifier of the object for which to set private data.
	ObjectID *dtyp.GUID `idl:"name:lpObjectId" json:"object_id"`
	// dwType: A value from the NtmsObjectsTypes (section 2.2.1.6) enumeration specifying
	// the type of the object.
	Type uint32 `idl:"name:dwType" json:"type"`
	// lpAttributeName: A null-terminated sequence of ASCII characters specifying the name
	// of the extended attribute to set. The client can give any name to the extended attribute
	// and MUST use the same name in the GetNtmsObjectAttributeA method.
	AttributeName uint8 `idl:"name:lpAttributeName" json:"attribute_name"`
	// lpAttributeData: A buffer containing the attribute.
	AttributeData []byte `idl:"name:lpAttributeData;size_is:(AttributeSize)" json:"attribute_data"`
	// AttributeSize: The size of lpAttributeData.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x00000000 S_OK                    | The call was successful.                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070005 ERROR_ACCESS_DENIED     | Access to the object is denied; other security errors are possible but indicate  |
	//	|                                    | a security subsystem error.                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070008 ERROR_NOT_ENOUGH_MEMORY | An allocation failure occurred during processing.                                |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070057 ERROR_INVALID_PARAMETER | The parameter is not valid.                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x8007007B ERROR_INVALID_NAME      | The attribute name is invalid or too long. The NTMS_MAXATTR_NAMELEN              |
	//	|                                    | value, defined in the Platform SDK file NTMSApi.h, specifies the maximum         |
	//	|                                    | null-terminated attribute name length.                                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x800710D8 ERROR_OBJECT_NOT_FOUND  | The object was not found.                                                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x800708CA ERROR_NOT_CONNECTED     | Unable to connect to the RSM service.                                            |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	AttributeSize uint32 `idl:"name:AttributeSize" json:"attribute_size"`
}

SetNTMSObjectAttributeARequest structure represents the SetNtmsObjectAttributeA operation request

func (*SetNTMSObjectAttributeARequest) MarshalNDR

func (*SetNTMSObjectAttributeARequest) UnmarshalNDR

type SetNTMSObjectAttributeAResponse

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

SetNTMSObjectAttributeAResponse structure represents the SetNtmsObjectAttributeA operation response

func (*SetNTMSObjectAttributeAResponse) MarshalNDR

func (*SetNTMSObjectAttributeAResponse) UnmarshalNDR

type SetNTMSObjectAttributeWRequest

type SetNTMSObjectAttributeWRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// lpObjectId: A pointer to the identifier of the object for which to set private data.
	ObjectID *dtyp.GUID `idl:"name:lpObjectId" json:"object_id"`
	// dwType: A value from the NtmsObjectsTypes (section 2.2.1.6) enumeration specifying
	// the type of the object.
	Type uint32 `idl:"name:dwType" json:"type"`
	// lpAttributeName: A null-terminated sequence of Unicode characters specifying the
	// name of the extended attribute to set. The client can give any name to the extended
	// attribute and MUST use the same name in the GetNtmsObjectAttributeW method.
	AttributeName string `idl:"name:lpAttributeName;string" json:"attribute_name"`
	// lpAttributeData: The buffer containing the attribute.
	AttributeData []byte `idl:"name:lpAttributeData;size_is:(AttributeSize)" json:"attribute_data"`
	// AttributeSize: The size of lpAttributeData.
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x00000000 S_OK                    | The call was successful.                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070005 ERROR_ACCESS_DENIED     | Access to the object is denied; other security errors are possible but indicate  |
	//	|                                    | a security subsystem error.                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070008 ERROR_NOT_ENOUGH_MEMORY | An allocation failure occurred during processing.                                |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070057 ERROR_INVALID_PARAMETER | The parameter is not valid.                                                      |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x8007007B ERROR_INVALID_NAME      | The attribute name is invalid or too long. The NTMS_MAXATTR_NAMELEN              |
	//	|                                    | value, defined in the Platform SDK file NTMSApi.h, specifies the maximum         |
	//	|                                    | null-terminated attribute name length.                                           |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x800710D8 ERROR_OBJECT_NOT_FOUND  | The object was not found.                                                        |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x800708CA ERROR_NOT_CONNECTED     | Unable to connect to the RSM service.                                            |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	AttributeSize uint32 `idl:"name:AttributeSize" json:"attribute_size"`
}

SetNTMSObjectAttributeWRequest structure represents the SetNtmsObjectAttributeW operation request

func (*SetNTMSObjectAttributeWRequest) MarshalNDR

func (*SetNTMSObjectAttributeWRequest) UnmarshalNDR

type SetNTMSObjectAttributeWResponse

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

SetNTMSObjectAttributeWResponse structure represents the SetNtmsObjectAttributeW operation response

func (*SetNTMSObjectAttributeWResponse) MarshalNDR

func (*SetNTMSObjectAttributeWResponse) UnmarshalNDR

type SetNTMSObjectSecurityRequest

type SetNTMSObjectSecurityRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// lpObjectId: A pointer to the identifier of the object for which to change security
	// information.
	ObjectID *dtyp.GUID `idl:"name:lpObjectId" json:"object_id"`
	// dwType: A value from the NtmsObjectsTypes (section 2.2.1.6) enumeration specifying
	// the type of the object.
	Type uint32 `idl:"name:dwType" json:"type"`
	// SecurityInformation: A SECURITY_INFORMATION structure specifying the security data
	// to change.
	SecurityInformation uint32 `idl:"name:SecurityInformation" json:"security_information"`
	// lpSecurityDescriptor: A pointer to a SECURITY_DESCRIPTOR structure that describes
	// the security descriptor to write to the object.
	SecurityDescriptor []byte `idl:"name:lpSecurityDescriptor;size_is:(nLength)" json:"security_descriptor"`
	// nLength: The length, in bytes, of lpSecurityDescriptor.
	//
	//	+------------------------------------+-------------------------------------------------------------------+
	//	|               RETURN               |                                                                   |
	//	|             VALUE/CODE             |                            DESCRIPTION                            |
	//	|                                    |                                                                   |
	//	+------------------------------------+-------------------------------------------------------------------+
	//	+------------------------------------+-------------------------------------------------------------------+
	//	| 0x00000000 S_OK                    | The call was successful.                                          |
	//	+------------------------------------+-------------------------------------------------------------------+
	//	| 0x80070005 ERROR_ACCESS_DENIED     | Privileges required to modify the security descriptor are denied. |
	//	+------------------------------------+-------------------------------------------------------------------+
	//	| 0x80070057 ERROR_INVALID_PARAMETER | A parameter is not valid.                                         |
	//	+------------------------------------+-------------------------------------------------------------------+
	//	| 0x800710D8 ERROR_OBJECT_NOT_FOUND  | The object was not found.                                         |
	//	+------------------------------------+-------------------------------------------------------------------+
	//	| 0x800710D9 ERROR_DATABASE_FAILURE  | The database query or update failed.                              |
	//	+------------------------------------+-------------------------------------------------------------------+
	//	| 0x800710DA ERROR_DATABASE_FULL     | The database is full.                                             |
	//	+------------------------------------+-------------------------------------------------------------------+
	Length uint32 `idl:"name:nLength" json:"length"`
}

SetNTMSObjectSecurityRequest structure represents the SetNtmsObjectSecurity operation request

func (*SetNTMSObjectSecurityRequest) MarshalNDR

func (*SetNTMSObjectSecurityRequest) UnmarshalNDR

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

type SetNTMSObjectSecurityResponse

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

SetNTMSObjectSecurityResponse structure represents the SetNtmsObjectSecurity operation response

func (*SetNTMSObjectSecurityResponse) MarshalNDR

func (*SetNTMSObjectSecurityResponse) UnmarshalNDR

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

type UnimplementedObjectManagement1Server

type UnimplementedObjectManagement1Server struct {
	iunknown.UnimplementedUnknownServer
}

Unimplemented INtmsObjectManagement1

func (UnimplementedObjectManagement1Server) DisableNTMSObject

func (UnimplementedObjectManagement1Server) EnableNTMSObject

func (UnimplementedObjectManagement1Server) EnumerateNTMSObject

Jump to

Keyboard shortcuts

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