imsadminbasew

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 (
	// IMSAdminBaseW interface identifier 70b51430-b6ca-11d0-b9b9-00a0c922e750
	IMSAdminBaseWIID = &dcom.IID{Data1: 0x70b51430, Data2: 0xb6ca, Data3: 0x11d0, Data4: []byte{0xb9, 0xb9, 0x00, 0xa0, 0xc9, 0x22, 0xe7, 0x50}}
	// Syntax UUID
	IMSAdminBaseWSyntaxUUID = &uuid.UUID{TimeLow: 0x70b51430, TimeMid: 0xb6ca, TimeHiAndVersion: 0x11d0, ClockSeqHiAndReserved: 0xb9, ClockSeqLow: 0xb9, Node: [6]uint8{0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x50}}
	// Syntax ID
	IMSAdminBaseWSyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: IMSAdminBaseWSyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "dcom/imsa"
)

Functions

func IMSAdminBaseWServerHandle

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

func NewIMSAdminBaseWServerHandle

func NewIMSAdminBaseWServerHandle(o IMSAdminBaseWServer) dcerpc.ServerHandle

func RegisterIMSAdminBaseWServer

func RegisterIMSAdminBaseWServer(conn dcerpc.Conn, o IMSAdminBaseWServer, opts ...dcerpc.Option)

Types

type AddKeyRequest

type AddKeyRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// hMDHandle: An unsigned 32-bit integer value containing an open metabase handle specifying
	// the node in the metabase where the new key is to be added.
	Handle uint32 `idl:"name:hMDHandle" json:"handle"`
	// pszMDPath: A pointer to a Unicode string that contains the new node's path, relative
	// to the path of the hMDHandle parameter.
	Path string `idl:"name:pszMDPath;string;pointer:unique" json:"path"`
}

AddKeyRequest structure represents the AddKey operation request

func (*AddKeyRequest) MarshalNDR

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

func (*AddKeyRequest) UnmarshalNDR

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

type AddKeyResponse

type AddKeyResponse 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 AddKey return value.
	Return int32 `idl:"name:Return" json:"return"`
}

AddKeyResponse structure represents the AddKey operation response

func (*AddKeyResponse) MarshalNDR

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

func (*AddKeyResponse) UnmarshalNDR

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

type BackupRequest

type BackupRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// pszMDBackupName: A string of up to 100 Unicode characters that names the backup.
	BackupName string `idl:"name:pszMDBackupName;string;pointer:unique" json:"backup_name"`
	// dwMDVersion: An integer value specifying the version number to be used for the backup.
	//
	//	+--------------------------------------+-------------------------------------------------------------------------------+
	//	|                                      |                                                                               |
	//	|                VALUE                 |                                    MEANING                                    |
	//	|                                      |                                                                               |
	//	+--------------------------------------+-------------------------------------------------------------------------------+
	//	+--------------------------------------+-------------------------------------------------------------------------------+
	//	| MD_BACKUP_HIGHEST_VERSION 0xFFFFFFFE | Overwrite the highest existing backup version with the specified backup name. |
	//	+--------------------------------------+-------------------------------------------------------------------------------+
	//	| MD_BACKUP_NEXT_VERSION 0xFFFFFFFF    | Use the next backup version number available with the specified backup name.  |
	//	+--------------------------------------+-------------------------------------------------------------------------------+
	Version uint32 `idl:"name:dwMDVersion" json:"version"`
	// dwMDFlags: An integer value containing the bit flags describing the type of backup
	// operation to be performed. The flags can be one or more of the following values.
	//
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	|                                   |                                                                                  |
	//	|               VALUE               |                                     MEANING                                      |
	//	|                                   |                                                                                  |
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	| MD_BACKUP_FORCE_BACKUP 0x00000004 | Force the backup even if the SaveData operation specified by                     |
	//	|                                   | MD_BACKUP_SAVE_FIRST fails.                                                      |
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	| MD_BACKUP_OVERWRITE 0x00000001    | Back up even if a backup of the same name and version exists, overwriting it if  |
	//	|                                   | necessary.                                                                       |
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	//	| MD_BACKUP_SAVE_FIRST 0x00000002   | Perform a SaveData operation before the backup.                                  |
	//	+-----------------------------------+----------------------------------------------------------------------------------+
	Flags uint32 `idl:"name:dwMDFlags" json:"flags"`
}

BackupRequest structure represents the Backup operation request

func (*BackupRequest) MarshalNDR

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

func (*BackupRequest) UnmarshalNDR

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

type BackupResponse

type BackupResponse 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 Backup return value.
	Return int32 `idl:"name:Return" json:"return"`
}

BackupResponse structure represents the Backup operation response

func (*BackupResponse) MarshalNDR

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

func (*BackupResponse) UnmarshalNDR

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

type ChangePermissionsRequest

type ChangePermissionsRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// hMDHandle: An unsigned 32-bit integer value containing the handle to change the permissions
	// for, as returned by the OpenKey method.
	Handle uint32 `idl:"name:hMDHandle" json:"handle"`
	// dwMDTimeOut: An integer value specifying the time, in milliseconds, for the method
	// to wait on a successful permission change operation.
	Timeout uint32 `idl:"name:dwMDTimeOut" json:"timeout"`
	// dwMDAccessRequested: A set of bit flags specifying the requested permissions for
	// the handle. This parameter MUST be set to at least one of the following values.
	//
	//	+--------------------------------------+----------------------------+
	//	|                                      |                            |
	//	|                VALUE                 |          MEANING           |
	//	|                                      |                            |
	//	+--------------------------------------+----------------------------+
	//	+--------------------------------------+----------------------------+
	//	| METADATA_PERMISSION_READ 0x00000001  | Open the node for reading. |
	//	+--------------------------------------+----------------------------+
	//	| METADATA_PERMISSION_WRITE 0x00000002 | Open the node for writing. |
	//	+--------------------------------------+----------------------------+
	AccessRequested uint32 `idl:"name:dwMDAccessRequested" json:"access_requested"`
}

ChangePermissionsRequest structure represents the ChangePermissions operation request

func (*ChangePermissionsRequest) MarshalNDR

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

func (*ChangePermissionsRequest) UnmarshalNDR

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

type ChangePermissionsResponse

type ChangePermissionsResponse 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 ChangePermissions return value.
	Return int32 `idl:"name:Return" json:"return"`
}

ChangePermissionsResponse structure represents the ChangePermissions operation response

func (*ChangePermissionsResponse) MarshalNDR

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

func (*ChangePermissionsResponse) UnmarshalNDR

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

type CloseKeyRequest

type CloseKeyRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// hMDHandle: An unsigned 32-bit integer value containing the handle to close, as returned
	// by the OpenKey method.
	Handle uint32 `idl:"name:hMDHandle" json:"handle"`
}

CloseKeyRequest structure represents the CloseKey operation request

func (*CloseKeyRequest) MarshalNDR

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

func (*CloseKeyRequest) UnmarshalNDR

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

type CloseKeyResponse

type CloseKeyResponse 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 CloseKey return value.
	Return int32 `idl:"name:Return" json:"return"`
}

CloseKeyResponse structure represents the CloseKey operation response

func (*CloseKeyResponse) MarshalNDR

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

func (*CloseKeyResponse) UnmarshalNDR

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

type CopyDataRequest

type CopyDataRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// hMDSourceHandle: An unsigned 32-bit integer value containing an open metabase handle
	// specifying the source node from which the data is to be copied or moved.
	SourceHandle uint32 `idl:"name:hMDSourceHandle" json:"source_handle"`
	// pszMDSourcePath: A pointer to a Unicode string that contains the path of the node
	// with which the source data is associated, relative to the path of the hMDSourceHandle
	// parameter.
	SourcePath string `idl:"name:pszMDSourcePath;string;pointer:unique" json:"source_path"`
	// hMDDestHandle: An unsigned 32-bit integer value containing an open metabase handle
	// specifying the destination node to which the data is to be copied or moved.
	DestinationHandle uint32 `idl:"name:hMDDestHandle" json:"destination_handle"`
	// pszMDDestPath: A pointer to a Unicode string that contains the path of the node for
	// data to be copied to or moved to, relative to the path of the hMDDestHandle parameter.
	DestinationPath string `idl:"name:pszMDDestPath;string;pointer:unique" json:"destination_path"`
	// dwMDAttributes: Flags used to filter the data, as specified in the METADATA_RECORD
	// structure.
	Attributes uint32 `idl:"name:dwMDAttributes" json:"attributes"`
	// dwMDUserType: An integer value specifying the data to copy based on the user type.
	//
	//	+-----------------------------+---------------------------------------------------------------------------------+
	//	|                             |                                                                                 |
	//	|            VALUE            |                                     MEANING                                     |
	//	|                             |                                                                                 |
	//	+-----------------------------+---------------------------------------------------------------------------------+
	//	+-----------------------------+---------------------------------------------------------------------------------+
	//	| ALL_METADATA 0x00000000     | Specifies all data, regardless of user type.                                    |
	//	+-----------------------------+---------------------------------------------------------------------------------+
	//	| ASP_MD_UT_APP 0x00000065    | Specifies data specific to ASP application configuration.                       |
	//	+-----------------------------+---------------------------------------------------------------------------------+
	//	| IIS_MD_UT_FILE 0x00000002   | Specifies data specific to a file, such as access permissions or logon methods. |
	//	+-----------------------------+---------------------------------------------------------------------------------+
	//	| IIS_MD_UT_SERVER 0x00000001 | Specifies data specific to the server, such as ports in use and IP addresses.   |
	//	+-----------------------------+---------------------------------------------------------------------------------+
	//	| IIS_MD_UT_WAM 0x00000064    | Specifies data specific to WAM.                                                 |
	//	+-----------------------------+---------------------------------------------------------------------------------+
	UserType uint32 `idl:"name:dwMDUserType" json:"user_type"`
	// dwMDDataType: An integer value specifying a data type. If this parameter is not set
	// to ALL_METADATA, the data item will be copied only if its data type matches the specified
	// type.
	//
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	|                              |                                                                                  |
	//	|            VALUE             |                                     MEANING                                      |
	//	|                              |                                                                                  |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| ALL_METADATA 0x00000000      | Specifies all data, regardless of type.                                          |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| BINARY_METADATA 0x00000003   | Specifies binary data in any form.                                               |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| DWORD_METADATA 0x00000001    | Specifies all DWORD (unsigned 32-bit integer) data.                              |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| EXPANDSZ_METADATA 0x00000004 | Specifies all data consisting of a string that includes the terminating null     |
	//	|                              | character, which contains unexpanded environment variables.                      |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| MULTISZ_METADATA 0x00000005  | Specifies all data represented as an array of strings, where each string         |
	//	|                              | contains two occurrences of the terminating null character.                      |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| STRING_METADATA 0x00000002   | Specifies all data consisting of an ASCII string that includes the terminating   |
	//	|                              | null character.                                                                  |
	//	+------------------------------+----------------------------------------------------------------------------------+
	DataType uint32 `idl:"name:dwMDDataType" json:"data_type"`
	// bMDCopyFlag: A Boolean value that specifies whether to copy or move the data. If
	// this parameter is set to TRUE, the data is copied. If it is FALSE, the data is moved.
	CopyFlag bool `idl:"name:bMDCopyFlag" json:"copy_flag"`
}

CopyDataRequest structure represents the CopyData operation request

func (*CopyDataRequest) MarshalNDR

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

func (*CopyDataRequest) UnmarshalNDR

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

type CopyDataResponse

type CopyDataResponse 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 CopyData return value.
	Return int32 `idl:"name:Return" json:"return"`
}

CopyDataResponse structure represents the CopyData operation response

func (*CopyDataResponse) MarshalNDR

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

func (*CopyDataResponse) UnmarshalNDR

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

type CopyKeyRequest

type CopyKeyRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// hMDSourceHandle: An unsigned 32-bit integer value containing an open metabase handle
	// specifying the source node to be copied or moved.
	SourceHandle uint32 `idl:"name:hMDSourceHandle" json:"source_handle"`
	// pszMDSourcePath: A pointer to a Unicode string that contains the path of the node
	// to be copied or moved relative to the path of the hMDSourceHandle parameter.
	SourcePath string `idl:"name:pszMDSourcePath;string;pointer:unique" json:"source_path"`
	// hMDDestHandle: An unsigned 32-bit integer value containing an open metabase handle
	// specifying the destination node of the moved or copied metabase key.
	DestinationHandle uint32 `idl:"name:hMDDestHandle" json:"destination_handle"`
	// pszMDDestPath: A pointer to a string that contains the path of the new or moved node,
	// relative to the hMDDestHandle parameter.
	DestinationPath string `idl:"name:pszMDDestPath;string;pointer:unique" json:"destination_path"`
	// bMDOverwriteFlag: A Boolean value that determine the behavior if a node with the
	// same name as source is already a child of destination node. If TRUE, the existing
	// node and all its data and children are deleted prior to copying or moving the source.
	// If FALSE, the existing node, data, and children remain, and the source is merged
	// with that data. In cases of data conflicts, the source data overwrites the destination
	// data.
	OverwriteFlag bool `idl:"name:bMDOverwriteFlag" json:"overwrite_flag"`
	// bMDCopyFlag: A Boolean value that specifies whether to copy or move the specified
	// node. If TRUE, the node is copied. If FALSE, the node is moved, and the source node
	// is deleted from its original location.
	CopyFlag bool `idl:"name:bMDCopyFlag" json:"copy_flag"`
}

CopyKeyRequest structure represents the CopyKey operation request

func (*CopyKeyRequest) MarshalNDR

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

func (*CopyKeyRequest) UnmarshalNDR

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

type CopyKeyResponse

type CopyKeyResponse 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 CopyKey return value.
	Return int32 `idl:"name:Return" json:"return"`
}

CopyKeyResponse structure represents the CopyKey operation response

func (*CopyKeyResponse) MarshalNDR

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

func (*CopyKeyResponse) UnmarshalNDR

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

type DeleteAllDataRequest

type DeleteAllDataRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// hMDHandle: An unsigned 32-bit integer value containing an open metabase handle specifying
	// the node in the metabase where the key data is to be deleted.
	Handle uint32 `idl:"name:hMDHandle" json:"handle"`
	// pszMDPath: A pointer to a Unicode string that contains the path of the node with
	// which the data to be deleted is associated, relative to the path of the hMDHandle
	// parameter.
	Path string `idl:"name:pszMDPath;string;pointer:unique" json:"path"`
	// dwMDUserType: An integer value specifying the data to delete based on user type.
	//
	//	+-----------------------------+---------------------------------------------------------------------------------+
	//	|                             |                                                                                 |
	//	|            VALUE            |                                     MEANING                                     |
	//	|                             |                                                                                 |
	//	+-----------------------------+---------------------------------------------------------------------------------+
	//	+-----------------------------+---------------------------------------------------------------------------------+
	//	| ALL_METADATA 0x00000000     | Specifies all data, regardless of type.                                         |
	//	+-----------------------------+---------------------------------------------------------------------------------+
	//	| ASP_MD_UT_APP 0x00000065    | Specifies data specific to ASP application configuration.                       |
	//	+-----------------------------+---------------------------------------------------------------------------------+
	//	| IIS_MD_UT_FILE 0x00000002   | Specifies data specific to a file, such as access permissions or logon methods. |
	//	+-----------------------------+---------------------------------------------------------------------------------+
	//	| IIS_MD_UT_SERVER 0x00000001 | Specifies data specific to the server, such as ports in use and IP addresses.   |
	//	+-----------------------------+---------------------------------------------------------------------------------+
	//	| IIS_MD_UT_WAM 0x00000064    | Specifies data specific to WAM.                                                 |
	//	+-----------------------------+---------------------------------------------------------------------------------+
	UserType uint32 `idl:"name:dwMDUserType" json:"user_type"`
	// dwMDDataType: An integer value specifying a data type. If this parameter is not set
	// to ALL_METADATA, the data item will be removed only if its data type matches the
	// specified type.
	//
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	|                              |                                                                                  |
	//	|            VALUE             |                                     MEANING                                      |
	//	|                              |                                                                                  |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| ALL_METADATA 0x00000000      | Specifies all data, regardless of type.                                          |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| BINARY_METADATA 0x00000003   | Specifies binary data in any form.                                               |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| DWORD_METADATA 0x00000001    | Specifies all DWORD (unsigned 32-bit integer) data.                              |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| EXPANDSZ_METADATA 0x00000004 | Specifies all data consisting of a string that includes the terminating null     |
	//	|                              | character, which contains unexpanded environment variables.                      |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| MULTISZ_METADATA 0x00000005  | Specifies all data represented as an array of strings, where each string         |
	//	|                              | contains two occurrences of the terminating null character.                      |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| STRING_METADATA 0x00000002   | Specifies all data consisting of an ASCII string that includes the terminating   |
	//	|                              | null character.                                                                  |
	//	+------------------------------+----------------------------------------------------------------------------------+
	DataType uint32 `idl:"name:dwMDDataType" json:"data_type"`
}

DeleteAllDataRequest structure represents the DeleteAllData operation request

func (*DeleteAllDataRequest) MarshalNDR

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

func (*DeleteAllDataRequest) UnmarshalNDR

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

type DeleteAllDataResponse

type DeleteAllDataResponse 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 DeleteAllData return value.
	Return int32 `idl:"name:Return" json:"return"`
}

DeleteAllDataResponse structure represents the DeleteAllData operation response

func (*DeleteAllDataResponse) MarshalNDR

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

func (*DeleteAllDataResponse) UnmarshalNDR

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

type DeleteBackupRequest

type DeleteBackupRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// pszMDBackupName: A string of up to 100 Unicode characters that names the backup.
	BackupName string `idl:"name:pszMDBackupName;string;pointer:unique" json:"backup_name"`
	// dwMDVersion: Either an integer value specifying the version number of the backup
	// to be deleted or the following constant.
	//
	//	+--------------------------------------+-------------------------------------------------------------+
	//	|                                      |                                                             |
	//	|                VALUE                 |                           MEANING                           |
	//	|                                      |                                                             |
	//	+--------------------------------------+-------------------------------------------------------------+
	//	+--------------------------------------+-------------------------------------------------------------+
	//	| MD_BACKUP_HIGHEST_VERSION 0xFFFFFFFE | Delete the existing backup with the highest version number. |
	//	+--------------------------------------+-------------------------------------------------------------+
	Version uint32 `idl:"name:dwMDVersion" json:"version"`
}

DeleteBackupRequest structure represents the DeleteBackup operation request

func (*DeleteBackupRequest) MarshalNDR

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

func (*DeleteBackupRequest) UnmarshalNDR

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

type DeleteBackupResponse

type DeleteBackupResponse 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 DeleteBackup return value.
	Return int32 `idl:"name:Return" json:"return"`
}

DeleteBackupResponse structure represents the DeleteBackup operation response

func (*DeleteBackupResponse) MarshalNDR

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

func (*DeleteBackupResponse) UnmarshalNDR

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

type DeleteChildKeysRequest

type DeleteChildKeysRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// hMDHandle: An unsigned 32-bit integer value containing an open metabase handle specifying
	// the node in the metabase where the child key is to be deleted.
	Handle uint32 `idl:"name:hMDHandle" json:"handle"`
	// pszMDPath: A pointer to a Unicode string that contains the path of the node whose
	// subnodes are to be deleted, relative to the path of the hMDHandle parameter.
	Path string `idl:"name:pszMDPath;string;pointer:unique" json:"path"`
}

DeleteChildKeysRequest structure represents the DeleteChildKeys operation request

func (*DeleteChildKeysRequest) MarshalNDR

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

func (*DeleteChildKeysRequest) UnmarshalNDR

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

type DeleteChildKeysResponse

type DeleteChildKeysResponse 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 DeleteChildKeys return value.
	Return int32 `idl:"name:Return" json:"return"`
}

DeleteChildKeysResponse structure represents the DeleteChildKeys operation response

func (*DeleteChildKeysResponse) MarshalNDR

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

func (*DeleteChildKeysResponse) UnmarshalNDR

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

type DeleteDataRequest

type DeleteDataRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// hMDHandle: An unsigned 32-bit integer value containing an open metabase handle specifying
	// the node in the metabase where the key data is to be deleted.
	Handle uint32 `idl:"name:hMDHandle" json:"handle"`
	// pszMDPath: A pointer to a Unicode string that contains the path of the node whose
	// data is to be deleted, relative to the path of the hMDHandle parameter.
	Path string `idl:"name:pszMDPath;string;pointer:unique" json:"path"`
	// dwMDIdentifier: An integer value specifying the data identifier.
	ID uint32 `idl:"name:dwMDIdentifier" json:"id"`
	// dwMDDataType: An integer value specifying a data type. If this parameter is not set
	// to ALL_METADATA, the data item will be removed only if its data type matches the
	// specified type.
	//
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	|                              |                                                                                  |
	//	|            VALUE             |                                     MEANING                                      |
	//	|                              |                                                                                  |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| ALL_METADATA 0x00000000      | Specifies all data, regardless of type.                                          |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| BINARY_METADATA 0x00000003   | Specifies binary data in any form.                                               |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| DWORD_METADATA 0x00000001    | Specifies all DWORD (unsigned 32-bit integer) data.                              |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| EXPANDSZ_METADATA 0x00000004 | Specifies all data consisting of a string that includes the terminating null     |
	//	|                              | character, which contains unexpanded environment variables.                      |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| MULTISZ_METADATA 0x00000005  | Specifies all data represented as an array of strings, where each string         |
	//	|                              | contains two occurrences of the terminating null character.                      |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| STRING_METADATA 0x00000002   | Specifies all data consisting of an ASCII string that includes the terminating   |
	//	|                              | null character.                                                                  |
	//	+------------------------------+----------------------------------------------------------------------------------+
	DataType uint32 `idl:"name:dwMDDataType" json:"data_type"`
}

DeleteDataRequest structure represents the DeleteData operation request

func (*DeleteDataRequest) MarshalNDR

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

func (*DeleteDataRequest) UnmarshalNDR

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

type DeleteDataResponse

type DeleteDataResponse 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 DeleteData return value.
	Return int32 `idl:"name:Return" json:"return"`
}

DeleteDataResponse structure represents the DeleteData operation response

func (*DeleteDataResponse) MarshalNDR

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

func (*DeleteDataResponse) UnmarshalNDR

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

type DeleteKeyRequest

type DeleteKeyRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// hMDHandle: An unsigned 32-bit integer value containing an open metabase handle specifying
	// a node in the metabase where the key is to be deleted.
	Handle uint32 `idl:"name:hMDHandle" json:"handle"`
	// pszMDPath: A pointer to a Unicode string that contains the path of the node to be
	// deleted, relative to the path of the hMDHandle parameter. This parameter MUST NOT
	// be NULL.
	Path string `idl:"name:pszMDPath;string;pointer:unique" json:"path"`
}

DeleteKeyRequest structure represents the DeleteKey operation request

func (*DeleteKeyRequest) MarshalNDR

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

func (*DeleteKeyRequest) UnmarshalNDR

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

type DeleteKeyResponse

type DeleteKeyResponse 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 DeleteKey return value.
	Return int32 `idl:"name:Return" json:"return"`
}

DeleteKeyResponse structure represents the DeleteKey operation response

func (*DeleteKeyResponse) MarshalNDR

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

func (*DeleteKeyResponse) UnmarshalNDR

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

type EnumBackupsRequest

type EnumBackupsRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// pszMDBackupName: A buffer of size MD_BACKUP_MAX_LEN. On input, the buffer can contain
	// either a string of Unicode characters that names the backup set to be enumerated
	// or an empty string.
	BackupName string `idl:"name:pszMDBackupName;size_is:(100)" json:"backup_name"`
	// dwMDEnumIndex: An integer value specifying the index number of the backup to be enumerated.
	EnumIndex uint32 `idl:"name:dwMDEnumIndex" json:"enum_index"`
}

EnumBackupsRequest structure represents the EnumBackups operation request

func (*EnumBackupsRequest) MarshalNDR

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

func (*EnumBackupsRequest) UnmarshalNDR

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

type EnumBackupsResponse

type EnumBackupsResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// pszMDBackupName: A buffer of size MD_BACKUP_MAX_LEN. On input, the buffer can contain
	// either a string of Unicode characters that names the backup set to be enumerated
	// or an empty string.
	BackupName string `idl:"name:pszMDBackupName;size_is:(100)" json:"backup_name"`
	// pdwMDVersion: An integer value containing the version number of the backup.
	Version uint32 `idl:"name:pdwMDVersion" json:"version"`
	// pftMDBackupTime: A FILETIME structure containing the Coordinated Universal Time (UTC)
	// date and time when this backup was created.
	BackupTime *dtyp.Filetime `idl:"name:pftMDBackupTime" json:"backup_time"`
	// Return: The EnumBackups return value.
	Return int32 `idl:"name:Return" json:"return"`
}

EnumBackupsResponse structure represents the EnumBackups operation response

func (*EnumBackupsResponse) MarshalNDR

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

func (*EnumBackupsResponse) UnmarshalNDR

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

type EnumDataRequest

type EnumDataRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// hMDHandle: An unsigned 32-bit integer value containing an open metabase handle specifying
	// the key to be enumerated.
	Handle uint32 `idl:"name:hMDHandle" json:"handle"`
	// pszMDPath: A pointer to a Unicode string that contains the path of the node to be
	// enumerated, relative to the path of the hMDHandle parameter.
	Path string `idl:"name:pszMDPath;string;pointer:unique" json:"path"`
	// pmdrMDData: A pointer to a METADATA_RECORD structure that specifies the retrieved
	// data.
	Data *imsa.MetadataRecord `idl:"name:pmdrMDData" json:"data"`
	// dwMDEnumDataIndex: An integer value specifying the index of the entry retrieved.
	EnumDataIndex uint32 `idl:"name:dwMDEnumDataIndex" json:"enum_data_index"`
}

EnumDataRequest structure represents the R_EnumData operation request

func (*EnumDataRequest) MarshalNDR

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

func (*EnumDataRequest) UnmarshalNDR

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

type EnumDataResponse

type EnumDataResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// pmdrMDData: A pointer to a METADATA_RECORD structure that specifies the retrieved
	// data.
	Data *imsa.MetadataRecord `idl:"name:pmdrMDData" json:"data"`
	// pdwMDRequiredDataLen: Pointer to a DWORD that receives the required buffer size if
	// the method returns ERROR_INSUFFICIENT_BUFFER as specified in [MS-ERREF].
	RequiredDataLength uint32 `idl:"name:pdwMDRequiredDataLen" json:"required_data_length"`
	// ppDataBlob: An IIS_CRYPTO_BLOB structure containing the data value as encrypted opaque
	// data.
	DataBlob *imsa.IISCryptoBlob `idl:"name:ppDataBlob" json:"data_blob"`
	// Return: The R_EnumData return value.
	Return int32 `idl:"name:Return" json:"return"`
}

EnumDataResponse structure represents the R_EnumData operation response

func (*EnumDataResponse) MarshalNDR

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

func (*EnumDataResponse) UnmarshalNDR

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

type EnumKeysRequest

type EnumKeysRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// hMDHandle: An unsigned 32-bit integer value containing an open metabase handle specifying
	// the key to be enumerated.
	Handle uint32 `idl:"name:hMDHandle" json:"handle"`
	// pszMDPath: A pointer to a Unicode string that contains the path of the node whose
	// subnodes are to be enumerated, relative to the path of the hMDHandle parameter.
	Path string `idl:"name:pszMDPath;string;pointer:unique" json:"path"`
	// dwMDEnumObjectIndex: An integer value specifying the index of the subnode to be retrieved.
	EnumObjectIndex uint32 `idl:"name:dwMDEnumObjectIndex" json:"enum_object_index"`
}

EnumKeysRequest structure represents the EnumKeys operation request

func (*EnumKeysRequest) MarshalNDR

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

func (*EnumKeysRequest) UnmarshalNDR

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

type EnumKeysResponse

type EnumKeysResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// pszMDName: A pointer to a string buffer that receives the names of the enumerated
	// metabase subnodes.
	Name string `idl:"name:pszMDName;size_is:(256)" json:"name"`
	// Return: The EnumKeys return value.
	Return int32 `idl:"name:Return" json:"return"`
}

EnumKeysResponse structure represents the EnumKeys operation response

func (*EnumKeysResponse) MarshalNDR

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

func (*EnumKeysResponse) UnmarshalNDR

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

type GetAllDataRequest

type GetAllDataRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// hMDHandle: An unsigned 32-bit integer value containing an open metabase handle specifying
	// the key to be queried.
	Handle uint32 `idl:"name:hMDHandle" json:"handle"`
	// pszMDPath: A pointer to a Unicode string that contains the path of the node with
	// which the data to be returned is associated, relative to the path of the hMDHandle
	// parameter.
	Path string `idl:"name:pszMDPath;string;pointer:unique" json:"path"`
	// dwMDAttributes: Flags used to specify the data, as listed in the METADATA_RECORD
	// structure.
	Attributes uint32 `idl:"name:dwMDAttributes" json:"attributes"`
	// dwMDUserType: An integer value specifying the data to return based on user type.
	//
	//	+-----------------------------+-------------------------------------------------------------------------------+
	//	|                             |                                                                               |
	//	|            VALUE            |                                    MEANING                                    |
	//	|                             |                                                                               |
	//	+-----------------------------+-------------------------------------------------------------------------------+
	//	+-----------------------------+-------------------------------------------------------------------------------+
	//	| ALL_METADATA 0x00000000     | Returns all data, regardless of user type.                                    |
	//	+-----------------------------+-------------------------------------------------------------------------------+
	//	| ASP_MD_UT_APP 0x00000065    | Returns data specific to ASP application configuration.                       |
	//	+-----------------------------+-------------------------------------------------------------------------------+
	//	| IIS_MD_UT_FILE 0x00000002   | Returns data specific to a file, such as access permissions or logon methods. |
	//	+-----------------------------+-------------------------------------------------------------------------------+
	//	| IIS_MD_UT_SERVER 0x00000001 | Returns data specific to the server, such as ports in use and IP addresses.   |
	//	+-----------------------------+-------------------------------------------------------------------------------+
	//	| IIS_MD_UT_WAM 0x00000064    | Returns data specific to WAM.                                                 |
	//	+-----------------------------+-------------------------------------------------------------------------------+
	UserType uint32 `idl:"name:dwMDUserType" json:"user_type"`
	// dwMDDataType: An integer value specifying a data type. If this parameter is not set
	// to ALL_METADATA, the data item will be returned only if its data type matches the
	// specified type.
	//
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	|                              |                                                                                  |
	//	|            VALUE             |                                     MEANING                                      |
	//	|                              |                                                                                  |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| ALL_METADATA 0x00000000      | Specifies all data, regardless of type.                                          |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| BINARY_METADATA 0x00000003   | Specifies binary data in any form.                                               |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| DWORD_METADATA 0x00000001    | Specifies all DWORD (unsigned 32-bit integer) data.                              |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| EXPANDSZ_METADATA 0x00000004 | Specifies all data that consists of a null-terminated string containing          |
	//	|                              | environment variables that are not expanded.                                     |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| MULTISZ_METADATA 0x00000005  | Specifies all data represented as an array of null-terminated strings,           |
	//	|                              | terminated by two null characters.                                               |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| STRING_METADATA 0x00000002   | Specifies all data consisting of a null-terminated ASCII string.                 |
	//	+------------------------------+----------------------------------------------------------------------------------+
	DataType uint32 `idl:"name:dwMDDataType" json:"data_type"`
	// dwMDBufferSize: An integer value specifying the size, in bytes, required to hold
	// the decrypted data returned by the ppDataBlob parameter.
	BufferSize uint32 `idl:"name:dwMDBufferSize" json:"buffer_size"`
}

GetAllDataRequest structure represents the R_GetAllData operation request

func (*GetAllDataRequest) MarshalNDR

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

func (*GetAllDataRequest) UnmarshalNDR

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

type GetAllDataResponse

type GetAllDataResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// pdwMDNumDataEntries: A pointer to an integer value that contains the number of entries
	// in the array of METADATA_GETALL_RECORD structures returned in the ppDataBlob parameter.
	DataEntriesLength uint32 `idl:"name:pdwMDNumDataEntries" json:"data_entries_length"`
	// pdwMDDataSetNumber: A pointer to an integer value used to identify the dataset number
	// for the metabase node whose data is being retrieved. The dataset number is obtained
	// by the GetDataSetNumber (section 3.1.4.18) method.
	DataSetNumber uint32 `idl:"name:pdwMDDataSetNumber" json:"data_set_number"`
	// pdwMDRequiredBufferSize: A pointer to an integer value that contains the buffer length
	// required, in bytes, to contain the decrypted data referenced by the ppDataBlob parameter.
	RequiredBufferSize uint32 `idl:"name:pdwMDRequiredBufferSize" json:"required_buffer_size"`
	// ppDataBlob: An IIS_CRYPTO_BLOB structure containing the requested values as encrypted
	// opaque data. The encrypted data returned in IIS_CRYPTO_BLOB is a contiguous buffer
	// containing an array of METADATA_GETALL_RECORD structures followed by the data referenced
	// by the METADATA_GETALL_RECORD structures.
	DataBlob *imsa.IISCryptoBlob `idl:"name:ppDataBlob" json:"data_blob"`
	// Return: The R_GetAllData return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetAllDataResponse structure represents the R_GetAllData operation response

func (*GetAllDataResponse) MarshalNDR

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

func (*GetAllDataResponse) UnmarshalNDR

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

type GetDataPathsRequest

type GetDataPathsRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// hMDHandle: An unsigned 32-bit integer value containing an open metabase handle specifying
	// the key to be queried.
	Handle uint32 `idl:"name:hMDHandle" json:"handle"`
	// pszMDPath: A pointer to a Unicode string that contains the path of the node to be
	// queried, relative to the hMDHandle parameter.
	Path string `idl:"name:pszMDPath;string;pointer:unique" json:"path"`
	// dwMDIdentifier: An integer value identifying the data to be queried.
	ID uint32 `idl:"name:dwMDIdentifier" json:"id"`
	// dwMDDataType: An integer value specifying a data type. If this parameter is not set
	// to ALL_METADATA, the data item will be returned only if its data type matches the
	// specified type.
	//
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	|                              |                                                                                  |
	//	|            VALUE             |                                     MEANING                                      |
	//	|                              |                                                                                  |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| ALL_METADATA 0x00000000      | Specifies all data, regardless of type.                                          |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| BINARY_METADATA 0x00000003   | Specifies binary data in any form.                                               |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| DWORD_METADATA 0x00000001    | Specifies all DWORD (unsigned 32-bit integer) data.                              |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| EXPANDSZ_METADATA 0x00000004 | Specifies all data consisting of a string that includes the terminating null     |
	//	|                              | character, which contains unexpanded environment variables.                      |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| MULTISZ_METADATA 0x00000005  | Specifies all data represented as an array of strings, where each string         |
	//	|                              | contains two occurrences of the terminating null character.                      |
	//	+------------------------------+----------------------------------------------------------------------------------+
	//	| STRING_METADATA 0x00000002   | Specifies all data consisting of an ASCII string that includes the terminating   |
	//	|                              | null character.                                                                  |
	//	+------------------------------+----------------------------------------------------------------------------------+
	DataType uint32 `idl:"name:dwMDDataType" json:"data_type"`
	// dwMDBufferSize: An integer value specifying the size, in WCHARs, of the pszBuffer
	// parameter.
	BufferSize uint32 `idl:"name:dwMDBufferSize" json:"buffer_size"`
}

GetDataPathsRequest structure represents the GetDataPaths operation request

func (*GetDataPathsRequest) MarshalNDR

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

func (*GetDataPathsRequest) UnmarshalNDR

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

type GetDataPathsResponse

type GetDataPathsResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// pszBuffer: A pointer to a buffer that contains the retrieved data. If the method
	// call is successful, the buffer will contain a contiguous sequence of null-terminated
	// strings in "multi-string" format. Each string in the sequence is a metabase path
	// at which data matching the dwMDIdentifier and dwMDDataType fields were found.
	Buffer string `idl:"name:pszBuffer;size_is:(dwMDBufferSize)" json:"buffer"`
	// pdwMDRequiredBufferSize: A pointer to an integer value that contains the buffer length
	// required, in WCHARs.
	RequiredBufferSize uint32 `idl:"name:pdwMDRequiredBufferSize" json:"required_buffer_size"`
	// Return: The GetDataPaths return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetDataPathsResponse structure represents the GetDataPaths operation response

func (*GetDataPathsResponse) MarshalNDR

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

func (*GetDataPathsResponse) UnmarshalNDR

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

type GetDataRequest

type GetDataRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// hMDHandle: An unsigned 32-bit integer value containing an open metabase handle specifying
	// the key to be queried.
	Handle uint32 `idl:"name:hMDHandle" json:"handle"`
	// pszMDPath: A pointer to a Unicode string that contains the path of the node containing
	// the data, relative to the path of the hMDHandle parameter.
	Path string `idl:"name:pszMDPath;string;pointer:unique" json:"path"`
	// pmdrMDData: A pointer to a METADATA_RECORD structure that describes the requested
	// data.
	Data *imsa.MetadataRecord `idl:"name:pmdrMDData" json:"data"`
}

GetDataRequest structure represents the R_GetData operation request

func (*GetDataRequest) MarshalNDR

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

func (*GetDataRequest) UnmarshalNDR

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

type GetDataResponse

type GetDataResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// pmdrMDData: A pointer to a METADATA_RECORD structure that describes the requested
	// data.
	Data *imsa.MetadataRecord `idl:"name:pmdrMDData" json:"data"`
	// pdwMDRequiredDataLen: A pointer to an integer value that contains the buffer length
	// required, in bytes, to contain the decrypted data referenced by the ppDataBlob parameter.
	RequiredDataLength uint32 `idl:"name:pdwMDRequiredDataLen" json:"required_data_length"`
	// ppDataBlob: An IIS_CRYPTO_BLOB structure containing the requested data value as encrypted
	// opaque data.
	DataBlob *imsa.IISCryptoBlob `idl:"name:ppDataBlob" json:"data_blob"`
	// Return: The R_GetData return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetDataResponse structure represents the R_GetData operation response

func (*GetDataResponse) MarshalNDR

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

func (*GetDataResponse) UnmarshalNDR

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

type GetDataSetNumberRequest

type GetDataSetNumberRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// hMDHandle: An unsigned 32-bit integer value containing an open metabase handle specifying
	// the key to be queried.
	Handle uint32 `idl:"name:hMDHandle" json:"handle"`
	// pszMDPath: A pointer to a Unicode string that contains the path of the node to have
	// its dataset number retrieved, relative to the path of the hMDHandle parameter.
	Path string `idl:"name:pszMDPath;string;pointer:unique" json:"path"`
}

GetDataSetNumberRequest structure represents the GetDataSetNumber operation request

func (*GetDataSetNumberRequest) MarshalNDR

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

func (*GetDataSetNumberRequest) UnmarshalNDR

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

type GetDataSetNumberResponse

type GetDataSetNumberResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// pdwMDDataSetNumber: A pointer to an integer value that returns the number associated
	// with this dataset. This value can be used to identify datasets common to multiple
	// nodes.
	DataSetNumber uint32 `idl:"name:pdwMDDataSetNumber" json:"data_set_number"`
	// Return: The GetDataSetNumber return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetDataSetNumberResponse structure represents the GetDataSetNumber operation response

func (*GetDataSetNumberResponse) MarshalNDR

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

func (*GetDataSetNumberResponse) UnmarshalNDR

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

type GetHandleInfoRequest

type GetHandleInfoRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// hMDHandle: An unsigned 32-bit integer value containing a handle to a node in the
	// metabase as returned by the OpenKey method.
	Handle uint32 `idl:"name:hMDHandle" json:"handle"`
}

GetHandleInfoRequest structure represents the GetHandleInfo operation request

func (*GetHandleInfoRequest) MarshalNDR

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

func (*GetHandleInfoRequest) UnmarshalNDR

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

type GetHandleInfoResponse

type GetHandleInfoResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// pmdhiInfo: A pointer to a METADATA_HANDLE_INFO structure containing information about
	// the specified handle.
	Info *imsa.MetadataHandleInfo `idl:"name:pmdhiInfo" json:"info"`
	// Return: The GetHandleInfo return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetHandleInfoResponse structure represents the GetHandleInfo operation response

func (*GetHandleInfoResponse) MarshalNDR

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

func (*GetHandleInfoResponse) UnmarshalNDR

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

type GetLastChangeTimeRequest

type GetLastChangeTimeRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// hMDHandle: An unsigned 32-bit integer value containing an open metabase handle specifying
	// the key to be queried.
	Handle uint32 `idl:"name:hMDHandle" json:"handle"`
	// pszMDPath: A pointer to a Unicode string containing the path of the node to be queried,
	// relative to the path of the hMDHandle parameter.
	Path string `idl:"name:pszMDPath;string;pointer:unique" json:"path"`
	// bLocalTime: A Boolean value indicating whether the time value returned in the pftMDLastChangeTime
	// parameter is specified as local time (TRUE) or UTC time (FALSE).
	LocalTime bool `idl:"name:bLocalTime" json:"local_time"`
}

GetLastChangeTimeRequest structure represents the GetLastChangeTime operation request

func (*GetLastChangeTimeRequest) MarshalNDR

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

func (*GetLastChangeTimeRequest) UnmarshalNDR

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

type GetLastChangeTimeResponse

type GetLastChangeTimeResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// pftMDLastChangeTime: A pointer to a FILETIME structure that returns the last change
	// time for the node.
	LastChangeTime *dtyp.Filetime `idl:"name:pftMDLastChangeTime" json:"last_change_time"`
	// Return: The GetLastChangeTime return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetLastChangeTimeResponse structure represents the GetLastChangeTime operation response

func (*GetLastChangeTimeResponse) MarshalNDR

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

func (*GetLastChangeTimeResponse) UnmarshalNDR

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

type GetServerGUIDRequest

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

GetServerGUIDRequest structure represents the R_GetServerGuid operation request

func (*GetServerGUIDRequest) MarshalNDR

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

func (*GetServerGUIDRequest) UnmarshalNDR

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

type GetServerGUIDResponse

type GetServerGUIDResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// pServerGuid: A GUID uniquely identifying this DCOM object.
	ServerGUID *dtyp.GUID `idl:"name:pServerGuid" json:"server_guid"`
	// Return: The R_GetServerGuid return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetServerGUIDResponse structure represents the R_GetServerGuid operation response

func (*GetServerGUIDResponse) MarshalNDR

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

func (*GetServerGUIDResponse) UnmarshalNDR

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

type GetSystemChangeNumberRequest

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

GetSystemChangeNumberRequest structure represents the GetSystemChangeNumber operation request

func (*GetSystemChangeNumberRequest) MarshalNDR

func (*GetSystemChangeNumberRequest) UnmarshalNDR

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

type GetSystemChangeNumberResponse

type GetSystemChangeNumberResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// pdwSystemChangeNumber: A pointer to an unsigned 32-bit integer value containing the
	// system change number. This number is increased each time the metabase is updated.
	SystemChangeNumber uint32 `idl:"name:pdwSystemChangeNumber" json:"system_change_number"`
	// Return: The GetSystemChangeNumber return value.
	Return int32 `idl:"name:Return" json:"return"`
}

GetSystemChangeNumberResponse structure represents the GetSystemChangeNumber operation response

func (*GetSystemChangeNumberResponse) MarshalNDR

func (*GetSystemChangeNumberResponse) UnmarshalNDR

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

type IMSAdminBaseWClient

type IMSAdminBaseWClient interface {

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

	// The AddKey method creates a node and adds it to the metabase as a subnode of an existing
	// node at the specified path.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+--------------------------------------------------------+
	//	|             RETURN              |                                                        |
	//	|           VALUE/CODE            |                      DESCRIPTION                       |
	//	|                                 |                                                        |
	//	+---------------------------------+--------------------------------------------------------+
	//	+---------------------------------+--------------------------------------------------------+
	//	| 0x00000000 S_OK                 | The call was successful.                               |
	//	+---------------------------------+--------------------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED       | General access denied error.                           |
	//	+---------------------------------+--------------------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE | The handle is invalid.                                 |
	//	+---------------------------------+--------------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG         | One or more arguments are invalid.                     |
	//	+---------------------------------+--------------------------------------------------------+
	//	| 0x800700B7 ERROR_ALREADY_EXISTS | Cannot create a file because that file already exists. |
	//	+---------------------------------+--------------------------------------------------------+
	//
	// The opnum field value for this method is 3.
	AddKey(context.Context, *AddKeyRequest, ...dcerpc.CallOption) (*AddKeyResponse, error)

	// The DeleteKey method deletes a node and all its data from the metabase. All of the
	// subnodes are recursively deleted.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+--------------------------------------------+
	//	|             RETURN              |                                            |
	//	|           VALUE/CODE            |                DESCRIPTION                 |
	//	|                                 |                                            |
	//	+---------------------------------+--------------------------------------------+
	//	+---------------------------------+--------------------------------------------+
	//	| 0x00000000 S_OK                 | The call was successful.                   |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND | The system cannot find the path specified. |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED       | General access denied error.               |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE | The handle is invalid.                     |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070057 E_INVALIDARG         | One or more arguments are invalid.         |
	//	+---------------------------------+--------------------------------------------+
	//
	// The opnum field value for this method is 4.
	DeleteKey(context.Context, *DeleteKeyRequest, ...dcerpc.CallOption) (*DeleteKeyResponse, error)

	// The DeleteChildKeys method deletes all subnodes of the specified node and any data
	// they contain. It also recursively deletes all nodes below the subnodes.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+--------------------------------------------+
	//	|             RETURN              |                                            |
	//	|           VALUE/CODE            |                DESCRIPTION                 |
	//	|                                 |                                            |
	//	+---------------------------------+--------------------------------------------+
	//	+---------------------------------+--------------------------------------------+
	//	| 0x00000000 S_OK                 | The call was successful.                   |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND | The system cannot find the path specified. |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED       | General access denied error.               |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE | The handle is invalid.                     |
	//	+---------------------------------+--------------------------------------------+
	//
	// The opnum field value for this method is 5.
	DeleteChildKeys(context.Context, *DeleteChildKeysRequest, ...dcerpc.CallOption) (*DeleteChildKeysResponse, error)

	// The EnumKeys method enumerates the subnodes of the specified node.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+--------------------------------------------+
	//	|             RETURN              |                                            |
	//	|           VALUE/CODE            |                DESCRIPTION                 |
	//	|                                 |                                            |
	//	+---------------------------------+--------------------------------------------+
	//	+---------------------------------+--------------------------------------------+
	//	| 0x00000000 S_OK                 | The call was successful.                   |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND | The system cannot find the path specified. |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED       | General access denied error.               |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE | The handle is invalid.                     |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070057 E_INVALIDARG         | One or more arguments are invalid.         |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070103 ERROR_NO_MORE_ITEMS  | No more data is available.                 |
	//	+---------------------------------+--------------------------------------------+
	//
	// The opnum field value for this method is 6.
	//
	// A subnode can be enumerated once per call. Subnodes are numbered from zero to (NumKeys
	// - 1), with NumKeys equal to the number of subnodes below the node.
	EnumKeys(context.Context, *EnumKeysRequest, ...dcerpc.CallOption) (*EnumKeysResponse, error)

	// The CopyKey method copies or moves a node, including its subnodes and data, to a
	// specified destination. The copied or moved node becomes a subnode of the destination
	// node.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+--------------------------------------------+
	//	|             RETURN              |                                            |
	//	|           VALUE/CODE            |                DESCRIPTION                 |
	//	|                                 |                                            |
	//	+---------------------------------+--------------------------------------------+
	//	+---------------------------------+--------------------------------------------+
	//	| 0x00000000 S_OK                 | The call was successful.                   |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND | The system cannot find the path specified. |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED       | General access denied error.               |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE | The handle is invalid.                     |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070057 E_INVALIDARG         | One or more arguments are invalid.         |
	//	+---------------------------------+--------------------------------------------+
	//
	// The opnum field value for this method is 7.
	CopyKey(context.Context, *CopyKeyRequest, ...dcerpc.CallOption) (*CopyKeyResponse, error)

	// The RenameKey method renames a node in the metabase.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+----------------------------------------------------+
	//	|             RETURN              |                                                    |
	//	|           VALUE/CODE            |                    DESCRIPTION                     |
	//	|                                 |                                                    |
	//	+---------------------------------+----------------------------------------------------+
	//	+---------------------------------+----------------------------------------------------+
	//	| 0x00000000 S_OK                 | The call was successful.                           |
	//	+---------------------------------+----------------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND | The system cannot find the path specified.         |
	//	+---------------------------------+----------------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED       | General access denied error.                       |
	//	+---------------------------------+----------------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE | The handle is invalid.                             |
	//	+---------------------------------+----------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG         | An invalid parameter value was specified.          |
	//	+---------------------------------+----------------------------------------------------+
	//	| 0x800700B7 ERROR_ALREADY_EXISTS | A key of that name already exists in the database. |
	//	+---------------------------------+----------------------------------------------------+
	//
	// The opnum field value for this method is 8.
	RenameKey(context.Context, *RenameKeyRequest, ...dcerpc.CallOption) (*RenameKeyResponse, error)

	// The R_SetData method sets a data item for a particular node in the metabase.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16 27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+----------------------------------------------------+----------------------------------------------------------------------------------+
	//	|                       RETURN                       |                                                                                  |
	//	|                     VALUE/CODE                     |                                   DESCRIPTION                                    |
	//	|                                                    |                                                                                  |
	//	+----------------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x00000000 S_OK                                    | The call was successful.                                                         |
	//	+----------------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND                    | The system cannot find the path specified.                                       |
	//	+----------------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED                          | General access denied error.                                                     |
	//	+----------------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG                            | An invalid parameter value was specified.                                        |
	//	+----------------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x800CC808 MD_ERROR_CANNOT_REMOVE_SECURE_ATTRIBUTE | The METADATA_SECURE attribute cannot be removed from a data item via the         |
	//	|                                                    | R_GetData method. Use the DeleteData method to remove the secure data.           |
	//	+----------------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070008 ERROR_NOT_ENOUGH_MEMORY                 | There is not enough memory to complete the operation.                            |
	//	+----------------------------------------------------+----------------------------------------------------------------------------------+
	//
	// The opnum field value for this method is 9.
	SetData(context.Context, *SetDataRequest, ...dcerpc.CallOption) (*SetDataResponse, error)

	// The R_GetData method returns a data entry from a particular node in the metabase.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+--------------------------------------+-----------------------------------------------------+
	//	|                RETURN                |                                                     |
	//	|              VALUE/CODE              |                     DESCRIPTION                     |
	//	|                                      |                                                     |
	//	+--------------------------------------+-----------------------------------------------------+
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x00000000 S_OK                      | The call was successful.                            |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND      | The system cannot find the path specified.          |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED            | General access denied error.                        |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG              | An invalid parameter value was specified.           |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x8007007A ERROR_INSUFFICIENT_BUFFER | The data area passed to a system call is too small. |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x800CC801 MD_ERROR_DATA_NOT_FOUND   | The specified metadata was not found.               |
	//	+--------------------------------------+-----------------------------------------------------+
	//
	// The opnum field value for this method is 10.
	//
	// The client describes the data it is requesting by initializing the METADATA_RECORD
	// passed in the pmdrMDData parameter.
	//
	// The client indicates how much decrypted data it is ready to receive by passing the
	// number of bytes in the dwMDDataLen field of the pmdrMDData parameter.
	//
	// The pbMDData field of the pmdrMDData parameter is not used to transfer the actual
	// data value. The client MUST set the pbMDData field of pmdrMDData to NULL. The IIS_CRYPTO_BLOB
	// structure is used to transfer the actual data value returned by the server and can
	// be encrypted when the server sends data marked as secure.
	GetData(context.Context, *GetDataRequest, ...dcerpc.CallOption) (*GetDataResponse, error)

	// The DeleteData method deletes specific data entries from a node in the metabase.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+------------------------------------+--------------------------------------------+
	//	|               RETURN               |                                            |
	//	|             VALUE/CODE             |                DESCRIPTION                 |
	//	|                                    |                                            |
	//	+------------------------------------+--------------------------------------------+
	//	+------------------------------------+--------------------------------------------+
	//	| 0x00000000 S_OK                    | The call was successful.                   |
	//	+------------------------------------+--------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND    | The system cannot find the path specified. |
	//	+------------------------------------+--------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED          | General access denied error.               |
	//	+------------------------------------+--------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE    | The handle is invalid.                     |
	//	+------------------------------------+--------------------------------------------+
	//	| 0x800CC801 MD_ERROR_DATA_NOT_FOUND | The specified metadata was not found.      |
	//	+------------------------------------+--------------------------------------------+
	//
	// The opnum field value for this method is 11.
	DeleteData(context.Context, *DeleteDataRequest, ...dcerpc.CallOption) (*DeleteDataResponse, error)

	// The R_EnumData method enumerates the data entries of a node in the metabase.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+--------------------------------------+-----------------------------------------------------+
	//	|                RETURN                |                                                     |
	//	|              VALUE/CODE              |                     DESCRIPTION                     |
	//	|                                      |                                                     |
	//	+--------------------------------------+-----------------------------------------------------+
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x00000000 S_OK                      | The call was successful.                            |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND      | The system cannot find the path specified.          |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED            | General access denied error.                        |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE      | The handle is invalid.                              |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG              | One or more arguments are invalid.                  |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x8007007A ERROR_INSUFFICIENT_BUFFER | The data area passed to a system call is too small. |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070103 ERROR_NO_MORE_ITEMS       | No more data is available.                          |
	//	+--------------------------------------+-----------------------------------------------------+
	//
	// The opnum field value for this method is 12.
	//
	// The client indicates how much decrypted data it is ready to receive by passing the
	// number of bytes in the dwMDDataLen field of the pmdrMDData parameter. If this value
	// is too small to contain the decrypted data value, the server MUST return ERROR_INSUFFICIENT_BUFFER
	// and return the number of bytes required to hold the data in the pdwMDRequiredDataLen
	// parameter.
	EnumData(context.Context, *EnumDataRequest, ...dcerpc.CallOption) (*EnumDataResponse, error)

	// The R_GetAllData method returns all data associated with a node in the metabase,
	// including all values that the node inherits.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	// Note  Invalid dwMDUserType or dwMDDataType parameters result in a E_INVALIDARG return
	// status.
	//
	//	+--------------------------------------+-----------------------------------------------------+
	//	|                RETURN                |                                                     |
	//	|              VALUE/CODE              |                     DESCRIPTION                     |
	//	|                                      |                                                     |
	//	+--------------------------------------+-----------------------------------------------------+
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x00000000 S_OK                      | The call was successful.                            |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND      | The system cannot find the path specified.          |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED            | General access denied error.                        |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG              | An invalid parameter value was specified.           |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x8007007A ERROR_INSUFFICIENT_BUFFER | The data area passed to a system call is too small. |
	//	+--------------------------------------+-----------------------------------------------------+
	//
	// The opnum field value for this method is 13.
	//
	// The client indicates how much decrypted data it is ready to receive by passing the
	// number of bytes in the dwMDBufferSize parameter.
	GetAllData(context.Context, *GetAllDataRequest, ...dcerpc.CallOption) (*GetAllDataResponse, error)

	// The DeleteAllData method deletes all or a subset of local data associated with a
	// particular node.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+------------------------------+
	//	|             RETURN              |                              |
	//	|           VALUE/CODE            |         DESCRIPTION          |
	//	|                                 |                              |
	//	+---------------------------------+------------------------------+
	//	+---------------------------------+------------------------------+
	//	| 0x00000000 S_OK                 | The call was successful.     |
	//	+---------------------------------+------------------------------+
	//	| 0x80070005 E_ACCESSDENIED       | General access denied error. |
	//	+---------------------------------+------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE | The handle is invalid.       |
	//	+---------------------------------+------------------------------+
	//
	// The opnum field value for this method is 14.
	DeleteAllData(context.Context, *DeleteAllDataRequest, ...dcerpc.CallOption) (*DeleteAllDataResponse, error)

	// The CopyData method copies or moves data between nodes.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+------------------------------------+-------------------------------------------------------+
	//	|               RETURN               |                                                       |
	//	|             VALUE/CODE             |                      DESCRIPTION                      |
	//	|                                    |                                                       |
	//	+------------------------------------+-------------------------------------------------------+
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x00000000 S_OK                    | The call was successful.                              |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND    | The system cannot find the path specified.            |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED          | General access denied error.                          |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE    | The handle is invalid.                                |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG            | One or more arguments are invalid.                    |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x80070008 ERROR_NOT_ENOUGH_MEMORY | There is not enough memory to complete the operation. |
	//	+------------------------------------+-------------------------------------------------------+
	//
	// The opnum field value for this method is 15.
	CopyData(context.Context, *CopyDataRequest, ...dcerpc.CallOption) (*CopyDataResponse, error)

	// The GetDataPaths method returns the paths of all nodes in the subtree relative to
	// a specified starting node that contains the supplied identifier.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+--------------------------------------+-----------------------------------------------------+
	//	|                RETURN                |                                                     |
	//	|              VALUE/CODE              |                     DESCRIPTION                     |
	//	|                                      |                                                     |
	//	+--------------------------------------+-----------------------------------------------------+
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x00000000 S_OK                      | The call was successful.                            |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND      | The system cannot find the path specified.          |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE      | The handle is invalid.                              |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG              | One or more arguments are invalid.                  |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x8007007A ERROR_INSUFFICIENT_BUFFER | The data area passed to a system call is too small. |
	//	+--------------------------------------+-----------------------------------------------------+
	//
	// The opnum field value for this method is 16.
	GetDataPaths(context.Context, *GetDataPathsRequest, ...dcerpc.CallOption) (*GetDataPathsResponse, error)

	// The OpenKey method opens a node for read access, write access, or both. The returned
	// handle can be used by several of the other methods in the IMSAdminBaseW interface.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+-------------------------------------------------+
	//	|             RETURN              |                                                 |
	//	|           VALUE/CODE            |                   DESCRIPTION                   |
	//	|                                 |                                                 |
	//	+---------------------------------+-------------------------------------------------+
	//	+---------------------------------+-------------------------------------------------+
	//	| 0x00000000 S_OK                 | The call was successful.                        |
	//	+---------------------------------+-------------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND | The system cannot find the path specified.      |
	//	+---------------------------------+-------------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE | The handle is invalid.                          |
	//	+---------------------------------+-------------------------------------------------+
	//	| 0x80070094 ERROR_PATH_BUSY      | The path specified cannot be used at this time. |
	//	+---------------------------------+-------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG         | One or more arguments are invalid.              |
	//	+---------------------------------+-------------------------------------------------+
	//
	// The opnum field value for this method is 17.
	OpenKey(context.Context, *OpenKeyRequest, ...dcerpc.CallOption) (*OpenKeyResponse, error)

	// The CloseKey method closes a handle to a node.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+--------------------------+
	//	|             RETURN              |                          |
	//	|           VALUE/CODE            |       DESCRIPTION        |
	//	|                                 |                          |
	//	+---------------------------------+--------------------------+
	//	+---------------------------------+--------------------------+
	//	| 0x00000000 S_OK                 | The call was successful. |
	//	+---------------------------------+--------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE | The handle is invalid.   |
	//	+---------------------------------+--------------------------+
	//
	// The opnum field value for this method is 18.
	CloseKey(context.Context, *CloseKeyRequest, ...dcerpc.CallOption) (*CloseKeyResponse, error)

	// The ChangePermissions method changes permissions on an open handle.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+-------------------------------------------------+
	//	|             RETURN              |                                                 |
	//	|           VALUE/CODE            |                   DESCRIPTION                   |
	//	|                                 |                                                 |
	//	+---------------------------------+-------------------------------------------------+
	//	+---------------------------------+-------------------------------------------------+
	//	| 0x00000000 S_OK                 | The call was successful.                        |
	//	+---------------------------------+-------------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE | The handle is invalid.                          |
	//	+---------------------------------+-------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG         | One or more arguments are invalid.              |
	//	+---------------------------------+-------------------------------------------------+
	//	| 0x80070094 ERROR_PATH_BUSY      | The path specified cannot be used at this time. |
	//	+---------------------------------+-------------------------------------------------+
	//
	// The opnum field value for this method is 19.
	ChangePermissions(context.Context, *ChangePermissionsRequest, ...dcerpc.CallOption) (*ChangePermissionsResponse, error)

	// The SaveData method explicitly flushes the metabase data resident in memory to configuration
	// storage.
	//
	// This method has no parameters.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+----------------------------+-------------------------------------------------+
	//	|           RETURN           |                                                 |
	//	|         VALUE/CODE         |                   DESCRIPTION                   |
	//	|                            |                                                 |
	//	+----------------------------+-------------------------------------------------+
	//	+----------------------------+-------------------------------------------------+
	//	| 0x00000000 S_OK            | The call was successful.                        |
	//	+----------------------------+-------------------------------------------------+
	//	| 0x80070094 ERROR_PATH_BUSY | The path specified cannot be used at this time. |
	//	+----------------------------+-------------------------------------------------+
	//
	// The opnum field value for this method is 20.
	SaveData(context.Context, *SaveDataRequest, ...dcerpc.CallOption) (*SaveDataResponse, error)

	// The GetHandleInfo method returns information associated with the specified metabase
	// handle.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+--------------------------+
	//	|             RETURN              |                          |
	//	|           VALUE/CODE            |       DESCRIPTION        |
	//	|                                 |                          |
	//	+---------------------------------+--------------------------+
	//	+---------------------------------+--------------------------+
	//	| 0x00000000 S_OK                 | The call was successful. |
	//	+---------------------------------+--------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE | The handle is invalid.   |
	//	+---------------------------------+--------------------------+
	//
	// The opnum field value for this method is 21.
	GetHandleInfo(context.Context, *GetHandleInfoRequest, ...dcerpc.CallOption) (*GetHandleInfoResponse, error)

	// The GetSystemChangeNumber method returns the number of changes made to data since
	// the metabase was created.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+-------------------+--------------------------+
	//	|      RETURN       |                          |
	//	|    VALUE/CODE     |       DESCRIPTION        |
	//	|                   |                          |
	//	+-------------------+--------------------------+
	//	+-------------------+--------------------------+
	//	| 0x00000000 S_OK   | The call was successful. |
	//	+-------------------+--------------------------+
	//
	// The opnum field value for this method is 22.
	GetSystemChangeNumber(context.Context, *GetSystemChangeNumberRequest, ...dcerpc.CallOption) (*GetSystemChangeNumberResponse, error)

	// The GetDataSetNumber method returns the dataset number associated with a node in
	// the metabase. A dataset number is a unique number identifying the data items at that
	// node, including inherited data items. Nodes with the same dataset number have identical
	// data.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+-------------------------+------------------------------------+
	//	|         RETURN          |                                    |
	//	|       VALUE/CODE        |            DESCRIPTION             |
	//	|                         |                                    |
	//	+-------------------------+------------------------------------+
	//	+-------------------------+------------------------------------+
	//	| 0x00000000 S_OK         | The call was successful.           |
	//	+-------------------------+------------------------------------+
	//	| 0x80070057 E_INVALIDARG | One or more arguments are invalid. |
	//	+-------------------------+------------------------------------+
	//
	// The opnum field value for this method is 23.
	GetDataSetNumber(context.Context, *GetDataSetNumberRequest, ...dcerpc.CallOption) (*GetDataSetNumberResponse, error)

	// The SetLastChangeTime method sets the last change time associated with a node in
	// the metabase.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+--------------------------------------------+
	//	|             RETURN              |                                            |
	//	|           VALUE/CODE            |                DESCRIPTION                 |
	//	|                                 |                                            |
	//	+---------------------------------+--------------------------------------------+
	//	+---------------------------------+--------------------------------------------+
	//	| 0x00000000 S_OK                 | The call was successful.                   |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND | The system cannot find the path specified. |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED       | General access denied error.               |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070057 E_INVALIDARG         | One or more arguments are invalid.         |
	//	+---------------------------------+--------------------------------------------+
	//
	// The opnum field value for this method is 24.
	SetLastChangeTime(context.Context, *SetLastChangeTimeRequest, ...dcerpc.CallOption) (*SetLastChangeTimeResponse, error)

	// The GetLastChangeTime method returns the last change time associated with a node
	// in the metabase.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+--------------------------------------------+
	//	|             RETURN              |                                            |
	//	|           VALUE/CODE            |                DESCRIPTION                 |
	//	|                                 |                                            |
	//	+---------------------------------+--------------------------------------------+
	//	+---------------------------------+--------------------------------------------+
	//	| 0x00000000 S_OK                 | The call was successful.                   |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND | The system cannot find the path specified. |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070057 E_INVALIDARG         | One or more arguments are invalid.         |
	//	+---------------------------------+--------------------------------------------+
	//
	// The opnum field value for this method is 25.
	GetLastChangeTime(context.Context, *GetLastChangeTimeRequest, ...dcerpc.CallOption) (*GetLastChangeTimeResponse, error)

	// The R_KeyExchangePhase1 method receives a pair of encrypted client keys and returns
	// server encryption and session keys.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+-------------------+--------------------------+
	//	|      RETURN       |                          |
	//	|    VALUE/CODE     |       DESCRIPTION        |
	//	|                   |                          |
	//	+-------------------+--------------------------+
	//	+-------------------+--------------------------+
	//	| 0x00000000 S_OK   | The call was successful. |
	//	+-------------------+--------------------------+
	//
	// The opnum field value for this method is 26.
	KeyExchangePhase1(context.Context, *KeyExchangePhase1Request, ...dcerpc.CallOption) (*KeyExchangePhase1Response, error)

	// The R_KeyExchangePhase2 method receives the encrypted client session and hash keys
	// in response to the R_KeyExchangePhase1 method and returns the encrypted server hash
	// keys.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+-------------------+--------------------------+
	//	|      RETURN       |                          |
	//	|    VALUE/CODE     |       DESCRIPTION        |
	//	|                   |                          |
	//	+-------------------+--------------------------+
	//	+-------------------+--------------------------+
	//	| 0x00000000 S_OK   | The call was successful. |
	//	+-------------------+--------------------------+
	//
	// The opnum field value for this method is 27.
	KeyExchangePhase2(context.Context, *KeyExchangePhase2Request, ...dcerpc.CallOption) (*KeyExchangePhase2Response, error)

	// The Backup method backs up the metabase.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x00000000 S_OK                    | The call was successful.                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG            | One or more arguments are invalid.                                               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x000CC809 MD_WARNING_SAVE FAILED  | The metadata save prior to backup failed. The previous version of the data was   |
	//	|                                    | backed up.                                                                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070008 ERROR_NOT_ENOUGH_MEMORY | There is not enough memory to complete the operation.                            |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// The opnum field value for this method is 28.
	//
	// The location string can be up to 100 Unicode characters in length. Multiple metabase
	// backups can be stored with the same name.
	Backup(context.Context, *BackupRequest, ...dcerpc.CallOption) (*BackupResponse, error)

	// The Restore method restores the metabase from a backup.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+-------------------------------------+-------------------------------------------------------+
	//	|               RETURN                |                                                       |
	//	|             VALUE/CODE              |                      DESCRIPTION                      |
	//	|                                     |                                                       |
	//	+-------------------------------------+-------------------------------------------------------+
	//	+-------------------------------------+-------------------------------------------------------+
	//	| 0x00000000 S_OK                     | The call was successful.                              |
	//	+-------------------------------------+-------------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG             | One or more arguments are invalid.                    |
	//	+-------------------------------------+-------------------------------------------------------+
	//	| 0x80070013 ERROR_INVALID_DATA       | The data is invalid.                                  |
	//	+-------------------------------------+-------------------------------------------------------+
	//	| 0x800CC802 MD_ERROR_INVALID_VERSION | The version specified by dwMDVersion is invalid.      |
	//	+-------------------------------------+-------------------------------------------------------+
	//	| 0x000CC805L MD_WARNING_INVALID_DATA | Invalid metabase data.                                |
	//	+-------------------------------------+-------------------------------------------------------+
	//	| 0x80070008 ERROR_NOT_ENOUGH_MEMORY  | There is not enough memory to complete the operation. |
	//	+-------------------------------------+-------------------------------------------------------+
	//
	// The opnum field value for this method is 29.
	Restore(context.Context, *RestoreRequest, ...dcerpc.CallOption) (*RestoreResponse, error)

	// The EnumBackups method enumerates metabase backups with a specified backup name or
	// all backups.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+--------------------------------+----------------------------------------+
	//	|             RETURN             |                                        |
	//	|           VALUE/CODE           |              DESCRIPTION               |
	//	|                                |                                        |
	//	+--------------------------------+----------------------------------------+
	//	+--------------------------------+----------------------------------------+
	//	| 0x00000000 S_OK                | The call was successful.               |
	//	+--------------------------------+----------------------------------------+
	//	| 0x80070103 ERROR_NO_MORE_ITEMS | No more data is available.             |
	//	+--------------------------------+----------------------------------------+
	//	| 0x80070057 E_INVALIDARG        | The pszMDBackupName parameter is NULL. |
	//	+--------------------------------+----------------------------------------+
	//
	// The opnum field value for this method is 30.
	EnumBackups(context.Context, *EnumBackupsRequest, ...dcerpc.CallOption) (*EnumBackupsResponse, error)

	// The DeleteBackup method deletes a metabase backup.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+------------------------------------+-------------------------------------------------------+
	//	|               RETURN               |                                                       |
	//	|             VALUE/CODE             |                      DESCRIPTION                      |
	//	|                                    |                                                       |
	//	+------------------------------------+-------------------------------------------------------+
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x00000000 S_OK                    | The call was successful.                              |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG            | One or more arguments are invalid.                    |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x80070002 ERROR_FILE_NOT_FOUND    | The system cannot find the file specified.            |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x80070008 ERROR_NOT_ENOUGH_MEMORY | There is not enough memory to complete the operation. |
	//	+------------------------------------+-------------------------------------------------------+
	//
	// The opnum field value for this method is 31.
	DeleteBackup(context.Context, *DeleteBackupRequest, ...dcerpc.CallOption) (*DeleteBackupResponse, error)

	// The UnmarshalInterface method returns a pointer to the IMSAdminBaseW interface.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+-------------------+--------------------------+
	//	|      RETURN       |                          |
	//	|    VALUE/CODE     |       DESCRIPTION        |
	//	|                   |                          |
	//	+-------------------+--------------------------+
	//	+-------------------+--------------------------+
	//	| 0x00000000 S_OK   | The call was successful. |
	//	+-------------------+--------------------------+
	//
	// The opnum field value for this method is 32.
	UnmarshalInterface(context.Context, *UnmarshalInterfaceRequest, ...dcerpc.CallOption) (*UnmarshalInterfaceResponse, error)

	// The R_GetServerGuid method returns a GUID for this DCOM object.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+-------------------+--------------------------+
	//	|      RETURN       |                          |
	//	|    VALUE/CODE     |       DESCRIPTION        |
	//	|                   |                          |
	//	+-------------------+--------------------------+
	//	+-------------------+--------------------------+
	//	| 0x00000000 S_OK   | The call was successful. |
	//	+-------------------+--------------------------+
	//
	// The opnum field value for this method is 33.
	GetServerGUID(context.Context, *GetServerGUIDRequest, ...dcerpc.CallOption) (*GetServerGUIDResponse, error)

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

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

IMSAdminBaseW interface.

func NewIMSAdminBaseWClient

func NewIMSAdminBaseWClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (IMSAdminBaseWClient, error)

type IMSAdminBaseWServer

type IMSAdminBaseWServer interface {

	// IUnknown base class.
	iunknown.UnknownServer

	// The AddKey method creates a node and adds it to the metabase as a subnode of an existing
	// node at the specified path.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+--------------------------------------------------------+
	//	|             RETURN              |                                                        |
	//	|           VALUE/CODE            |                      DESCRIPTION                       |
	//	|                                 |                                                        |
	//	+---------------------------------+--------------------------------------------------------+
	//	+---------------------------------+--------------------------------------------------------+
	//	| 0x00000000 S_OK                 | The call was successful.                               |
	//	+---------------------------------+--------------------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED       | General access denied error.                           |
	//	+---------------------------------+--------------------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE | The handle is invalid.                                 |
	//	+---------------------------------+--------------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG         | One or more arguments are invalid.                     |
	//	+---------------------------------+--------------------------------------------------------+
	//	| 0x800700B7 ERROR_ALREADY_EXISTS | Cannot create a file because that file already exists. |
	//	+---------------------------------+--------------------------------------------------------+
	//
	// The opnum field value for this method is 3.
	AddKey(context.Context, *AddKeyRequest) (*AddKeyResponse, error)

	// The DeleteKey method deletes a node and all its data from the metabase. All of the
	// subnodes are recursively deleted.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+--------------------------------------------+
	//	|             RETURN              |                                            |
	//	|           VALUE/CODE            |                DESCRIPTION                 |
	//	|                                 |                                            |
	//	+---------------------------------+--------------------------------------------+
	//	+---------------------------------+--------------------------------------------+
	//	| 0x00000000 S_OK                 | The call was successful.                   |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND | The system cannot find the path specified. |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED       | General access denied error.               |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE | The handle is invalid.                     |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070057 E_INVALIDARG         | One or more arguments are invalid.         |
	//	+---------------------------------+--------------------------------------------+
	//
	// The opnum field value for this method is 4.
	DeleteKey(context.Context, *DeleteKeyRequest) (*DeleteKeyResponse, error)

	// The DeleteChildKeys method deletes all subnodes of the specified node and any data
	// they contain. It also recursively deletes all nodes below the subnodes.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+--------------------------------------------+
	//	|             RETURN              |                                            |
	//	|           VALUE/CODE            |                DESCRIPTION                 |
	//	|                                 |                                            |
	//	+---------------------------------+--------------------------------------------+
	//	+---------------------------------+--------------------------------------------+
	//	| 0x00000000 S_OK                 | The call was successful.                   |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND | The system cannot find the path specified. |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED       | General access denied error.               |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE | The handle is invalid.                     |
	//	+---------------------------------+--------------------------------------------+
	//
	// The opnum field value for this method is 5.
	DeleteChildKeys(context.Context, *DeleteChildKeysRequest) (*DeleteChildKeysResponse, error)

	// The EnumKeys method enumerates the subnodes of the specified node.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+--------------------------------------------+
	//	|             RETURN              |                                            |
	//	|           VALUE/CODE            |                DESCRIPTION                 |
	//	|                                 |                                            |
	//	+---------------------------------+--------------------------------------------+
	//	+---------------------------------+--------------------------------------------+
	//	| 0x00000000 S_OK                 | The call was successful.                   |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND | The system cannot find the path specified. |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED       | General access denied error.               |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE | The handle is invalid.                     |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070057 E_INVALIDARG         | One or more arguments are invalid.         |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070103 ERROR_NO_MORE_ITEMS  | No more data is available.                 |
	//	+---------------------------------+--------------------------------------------+
	//
	// The opnum field value for this method is 6.
	//
	// A subnode can be enumerated once per call. Subnodes are numbered from zero to (NumKeys
	// - 1), with NumKeys equal to the number of subnodes below the node.
	EnumKeys(context.Context, *EnumKeysRequest) (*EnumKeysResponse, error)

	// The CopyKey method copies or moves a node, including its subnodes and data, to a
	// specified destination. The copied or moved node becomes a subnode of the destination
	// node.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+--------------------------------------------+
	//	|             RETURN              |                                            |
	//	|           VALUE/CODE            |                DESCRIPTION                 |
	//	|                                 |                                            |
	//	+---------------------------------+--------------------------------------------+
	//	+---------------------------------+--------------------------------------------+
	//	| 0x00000000 S_OK                 | The call was successful.                   |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND | The system cannot find the path specified. |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED       | General access denied error.               |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE | The handle is invalid.                     |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070057 E_INVALIDARG         | One or more arguments are invalid.         |
	//	+---------------------------------+--------------------------------------------+
	//
	// The opnum field value for this method is 7.
	CopyKey(context.Context, *CopyKeyRequest) (*CopyKeyResponse, error)

	// The RenameKey method renames a node in the metabase.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+----------------------------------------------------+
	//	|             RETURN              |                                                    |
	//	|           VALUE/CODE            |                    DESCRIPTION                     |
	//	|                                 |                                                    |
	//	+---------------------------------+----------------------------------------------------+
	//	+---------------------------------+----------------------------------------------------+
	//	| 0x00000000 S_OK                 | The call was successful.                           |
	//	+---------------------------------+----------------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND | The system cannot find the path specified.         |
	//	+---------------------------------+----------------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED       | General access denied error.                       |
	//	+---------------------------------+----------------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE | The handle is invalid.                             |
	//	+---------------------------------+----------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG         | An invalid parameter value was specified.          |
	//	+---------------------------------+----------------------------------------------------+
	//	| 0x800700B7 ERROR_ALREADY_EXISTS | A key of that name already exists in the database. |
	//	+---------------------------------+----------------------------------------------------+
	//
	// The opnum field value for this method is 8.
	RenameKey(context.Context, *RenameKeyRequest) (*RenameKeyResponse, error)

	// The R_SetData method sets a data item for a particular node in the metabase.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16 27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+----------------------------------------------------+----------------------------------------------------------------------------------+
	//	|                       RETURN                       |                                                                                  |
	//	|                     VALUE/CODE                     |                                   DESCRIPTION                                    |
	//	|                                                    |                                                                                  |
	//	+----------------------------------------------------+----------------------------------------------------------------------------------+
	//	+----------------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x00000000 S_OK                                    | The call was successful.                                                         |
	//	+----------------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND                    | The system cannot find the path specified.                                       |
	//	+----------------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED                          | General access denied error.                                                     |
	//	+----------------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG                            | An invalid parameter value was specified.                                        |
	//	+----------------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x800CC808 MD_ERROR_CANNOT_REMOVE_SECURE_ATTRIBUTE | The METADATA_SECURE attribute cannot be removed from a data item via the         |
	//	|                                                    | R_GetData method. Use the DeleteData method to remove the secure data.           |
	//	+----------------------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070008 ERROR_NOT_ENOUGH_MEMORY                 | There is not enough memory to complete the operation.                            |
	//	+----------------------------------------------------+----------------------------------------------------------------------------------+
	//
	// The opnum field value for this method is 9.
	SetData(context.Context, *SetDataRequest) (*SetDataResponse, error)

	// The R_GetData method returns a data entry from a particular node in the metabase.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+--------------------------------------+-----------------------------------------------------+
	//	|                RETURN                |                                                     |
	//	|              VALUE/CODE              |                     DESCRIPTION                     |
	//	|                                      |                                                     |
	//	+--------------------------------------+-----------------------------------------------------+
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x00000000 S_OK                      | The call was successful.                            |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND      | The system cannot find the path specified.          |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED            | General access denied error.                        |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG              | An invalid parameter value was specified.           |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x8007007A ERROR_INSUFFICIENT_BUFFER | The data area passed to a system call is too small. |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x800CC801 MD_ERROR_DATA_NOT_FOUND   | The specified metadata was not found.               |
	//	+--------------------------------------+-----------------------------------------------------+
	//
	// The opnum field value for this method is 10.
	//
	// The client describes the data it is requesting by initializing the METADATA_RECORD
	// passed in the pmdrMDData parameter.
	//
	// The client indicates how much decrypted data it is ready to receive by passing the
	// number of bytes in the dwMDDataLen field of the pmdrMDData parameter.
	//
	// The pbMDData field of the pmdrMDData parameter is not used to transfer the actual
	// data value. The client MUST set the pbMDData field of pmdrMDData to NULL. The IIS_CRYPTO_BLOB
	// structure is used to transfer the actual data value returned by the server and can
	// be encrypted when the server sends data marked as secure.
	GetData(context.Context, *GetDataRequest) (*GetDataResponse, error)

	// The DeleteData method deletes specific data entries from a node in the metabase.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+------------------------------------+--------------------------------------------+
	//	|               RETURN               |                                            |
	//	|             VALUE/CODE             |                DESCRIPTION                 |
	//	|                                    |                                            |
	//	+------------------------------------+--------------------------------------------+
	//	+------------------------------------+--------------------------------------------+
	//	| 0x00000000 S_OK                    | The call was successful.                   |
	//	+------------------------------------+--------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND    | The system cannot find the path specified. |
	//	+------------------------------------+--------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED          | General access denied error.               |
	//	+------------------------------------+--------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE    | The handle is invalid.                     |
	//	+------------------------------------+--------------------------------------------+
	//	| 0x800CC801 MD_ERROR_DATA_NOT_FOUND | The specified metadata was not found.      |
	//	+------------------------------------+--------------------------------------------+
	//
	// The opnum field value for this method is 11.
	DeleteData(context.Context, *DeleteDataRequest) (*DeleteDataResponse, error)

	// The R_EnumData method enumerates the data entries of a node in the metabase.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+--------------------------------------+-----------------------------------------------------+
	//	|                RETURN                |                                                     |
	//	|              VALUE/CODE              |                     DESCRIPTION                     |
	//	|                                      |                                                     |
	//	+--------------------------------------+-----------------------------------------------------+
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x00000000 S_OK                      | The call was successful.                            |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND      | The system cannot find the path specified.          |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED            | General access denied error.                        |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE      | The handle is invalid.                              |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG              | One or more arguments are invalid.                  |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x8007007A ERROR_INSUFFICIENT_BUFFER | The data area passed to a system call is too small. |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070103 ERROR_NO_MORE_ITEMS       | No more data is available.                          |
	//	+--------------------------------------+-----------------------------------------------------+
	//
	// The opnum field value for this method is 12.
	//
	// The client indicates how much decrypted data it is ready to receive by passing the
	// number of bytes in the dwMDDataLen field of the pmdrMDData parameter. If this value
	// is too small to contain the decrypted data value, the server MUST return ERROR_INSUFFICIENT_BUFFER
	// and return the number of bytes required to hold the data in the pdwMDRequiredDataLen
	// parameter.
	EnumData(context.Context, *EnumDataRequest) (*EnumDataResponse, error)

	// The R_GetAllData method returns all data associated with a node in the metabase,
	// including all values that the node inherits.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	// Note  Invalid dwMDUserType or dwMDDataType parameters result in a E_INVALIDARG return
	// status.
	//
	//	+--------------------------------------+-----------------------------------------------------+
	//	|                RETURN                |                                                     |
	//	|              VALUE/CODE              |                     DESCRIPTION                     |
	//	|                                      |                                                     |
	//	+--------------------------------------+-----------------------------------------------------+
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x00000000 S_OK                      | The call was successful.                            |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND      | The system cannot find the path specified.          |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED            | General access denied error.                        |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG              | An invalid parameter value was specified.           |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x8007007A ERROR_INSUFFICIENT_BUFFER | The data area passed to a system call is too small. |
	//	+--------------------------------------+-----------------------------------------------------+
	//
	// The opnum field value for this method is 13.
	//
	// The client indicates how much decrypted data it is ready to receive by passing the
	// number of bytes in the dwMDBufferSize parameter.
	GetAllData(context.Context, *GetAllDataRequest) (*GetAllDataResponse, error)

	// The DeleteAllData method deletes all or a subset of local data associated with a
	// particular node.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+------------------------------+
	//	|             RETURN              |                              |
	//	|           VALUE/CODE            |         DESCRIPTION          |
	//	|                                 |                              |
	//	+---------------------------------+------------------------------+
	//	+---------------------------------+------------------------------+
	//	| 0x00000000 S_OK                 | The call was successful.     |
	//	+---------------------------------+------------------------------+
	//	| 0x80070005 E_ACCESSDENIED       | General access denied error. |
	//	+---------------------------------+------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE | The handle is invalid.       |
	//	+---------------------------------+------------------------------+
	//
	// The opnum field value for this method is 14.
	DeleteAllData(context.Context, *DeleteAllDataRequest) (*DeleteAllDataResponse, error)

	// The CopyData method copies or moves data between nodes.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+------------------------------------+-------------------------------------------------------+
	//	|               RETURN               |                                                       |
	//	|             VALUE/CODE             |                      DESCRIPTION                      |
	//	|                                    |                                                       |
	//	+------------------------------------+-------------------------------------------------------+
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x00000000 S_OK                    | The call was successful.                              |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND    | The system cannot find the path specified.            |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED          | General access denied error.                          |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE    | The handle is invalid.                                |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG            | One or more arguments are invalid.                    |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x80070008 ERROR_NOT_ENOUGH_MEMORY | There is not enough memory to complete the operation. |
	//	+------------------------------------+-------------------------------------------------------+
	//
	// The opnum field value for this method is 15.
	CopyData(context.Context, *CopyDataRequest) (*CopyDataResponse, error)

	// The GetDataPaths method returns the paths of all nodes in the subtree relative to
	// a specified starting node that contains the supplied identifier.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+--------------------------------------+-----------------------------------------------------+
	//	|                RETURN                |                                                     |
	//	|              VALUE/CODE              |                     DESCRIPTION                     |
	//	|                                      |                                                     |
	//	+--------------------------------------+-----------------------------------------------------+
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x00000000 S_OK                      | The call was successful.                            |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND      | The system cannot find the path specified.          |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE      | The handle is invalid.                              |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG              | One or more arguments are invalid.                  |
	//	+--------------------------------------+-----------------------------------------------------+
	//	| 0x8007007A ERROR_INSUFFICIENT_BUFFER | The data area passed to a system call is too small. |
	//	+--------------------------------------+-----------------------------------------------------+
	//
	// The opnum field value for this method is 16.
	GetDataPaths(context.Context, *GetDataPathsRequest) (*GetDataPathsResponse, error)

	// The OpenKey method opens a node for read access, write access, or both. The returned
	// handle can be used by several of the other methods in the IMSAdminBaseW interface.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+-------------------------------------------------+
	//	|             RETURN              |                                                 |
	//	|           VALUE/CODE            |                   DESCRIPTION                   |
	//	|                                 |                                                 |
	//	+---------------------------------+-------------------------------------------------+
	//	+---------------------------------+-------------------------------------------------+
	//	| 0x00000000 S_OK                 | The call was successful.                        |
	//	+---------------------------------+-------------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND | The system cannot find the path specified.      |
	//	+---------------------------------+-------------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE | The handle is invalid.                          |
	//	+---------------------------------+-------------------------------------------------+
	//	| 0x80070094 ERROR_PATH_BUSY      | The path specified cannot be used at this time. |
	//	+---------------------------------+-------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG         | One or more arguments are invalid.              |
	//	+---------------------------------+-------------------------------------------------+
	//
	// The opnum field value for this method is 17.
	OpenKey(context.Context, *OpenKeyRequest) (*OpenKeyResponse, error)

	// The CloseKey method closes a handle to a node.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+--------------------------+
	//	|             RETURN              |                          |
	//	|           VALUE/CODE            |       DESCRIPTION        |
	//	|                                 |                          |
	//	+---------------------------------+--------------------------+
	//	+---------------------------------+--------------------------+
	//	| 0x00000000 S_OK                 | The call was successful. |
	//	+---------------------------------+--------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE | The handle is invalid.   |
	//	+---------------------------------+--------------------------+
	//
	// The opnum field value for this method is 18.
	CloseKey(context.Context, *CloseKeyRequest) (*CloseKeyResponse, error)

	// The ChangePermissions method changes permissions on an open handle.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+-------------------------------------------------+
	//	|             RETURN              |                                                 |
	//	|           VALUE/CODE            |                   DESCRIPTION                   |
	//	|                                 |                                                 |
	//	+---------------------------------+-------------------------------------------------+
	//	+---------------------------------+-------------------------------------------------+
	//	| 0x00000000 S_OK                 | The call was successful.                        |
	//	+---------------------------------+-------------------------------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE | The handle is invalid.                          |
	//	+---------------------------------+-------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG         | One or more arguments are invalid.              |
	//	+---------------------------------+-------------------------------------------------+
	//	| 0x80070094 ERROR_PATH_BUSY      | The path specified cannot be used at this time. |
	//	+---------------------------------+-------------------------------------------------+
	//
	// The opnum field value for this method is 19.
	ChangePermissions(context.Context, *ChangePermissionsRequest) (*ChangePermissionsResponse, error)

	// The SaveData method explicitly flushes the metabase data resident in memory to configuration
	// storage.
	//
	// This method has no parameters.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+----------------------------+-------------------------------------------------+
	//	|           RETURN           |                                                 |
	//	|         VALUE/CODE         |                   DESCRIPTION                   |
	//	|                            |                                                 |
	//	+----------------------------+-------------------------------------------------+
	//	+----------------------------+-------------------------------------------------+
	//	| 0x00000000 S_OK            | The call was successful.                        |
	//	+----------------------------+-------------------------------------------------+
	//	| 0x80070094 ERROR_PATH_BUSY | The path specified cannot be used at this time. |
	//	+----------------------------+-------------------------------------------------+
	//
	// The opnum field value for this method is 20.
	SaveData(context.Context, *SaveDataRequest) (*SaveDataResponse, error)

	// The GetHandleInfo method returns information associated with the specified metabase
	// handle.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+--------------------------+
	//	|             RETURN              |                          |
	//	|           VALUE/CODE            |       DESCRIPTION        |
	//	|                                 |                          |
	//	+---------------------------------+--------------------------+
	//	+---------------------------------+--------------------------+
	//	| 0x00000000 S_OK                 | The call was successful. |
	//	+---------------------------------+--------------------------+
	//	| 0x80070006 ERROR_INVALID_HANDLE | The handle is invalid.   |
	//	+---------------------------------+--------------------------+
	//
	// The opnum field value for this method is 21.
	GetHandleInfo(context.Context, *GetHandleInfoRequest) (*GetHandleInfoResponse, error)

	// The GetSystemChangeNumber method returns the number of changes made to data since
	// the metabase was created.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+-------------------+--------------------------+
	//	|      RETURN       |                          |
	//	|    VALUE/CODE     |       DESCRIPTION        |
	//	|                   |                          |
	//	+-------------------+--------------------------+
	//	+-------------------+--------------------------+
	//	| 0x00000000 S_OK   | The call was successful. |
	//	+-------------------+--------------------------+
	//
	// The opnum field value for this method is 22.
	GetSystemChangeNumber(context.Context, *GetSystemChangeNumberRequest) (*GetSystemChangeNumberResponse, error)

	// The GetDataSetNumber method returns the dataset number associated with a node in
	// the metabase. A dataset number is a unique number identifying the data items at that
	// node, including inherited data items. Nodes with the same dataset number have identical
	// data.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+-------------------------+------------------------------------+
	//	|         RETURN          |                                    |
	//	|       VALUE/CODE        |            DESCRIPTION             |
	//	|                         |                                    |
	//	+-------------------------+------------------------------------+
	//	+-------------------------+------------------------------------+
	//	| 0x00000000 S_OK         | The call was successful.           |
	//	+-------------------------+------------------------------------+
	//	| 0x80070057 E_INVALIDARG | One or more arguments are invalid. |
	//	+-------------------------+------------------------------------+
	//
	// The opnum field value for this method is 23.
	GetDataSetNumber(context.Context, *GetDataSetNumberRequest) (*GetDataSetNumberResponse, error)

	// The SetLastChangeTime method sets the last change time associated with a node in
	// the metabase.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+--------------------------------------------+
	//	|             RETURN              |                                            |
	//	|           VALUE/CODE            |                DESCRIPTION                 |
	//	|                                 |                                            |
	//	+---------------------------------+--------------------------------------------+
	//	+---------------------------------+--------------------------------------------+
	//	| 0x00000000 S_OK                 | The call was successful.                   |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND | The system cannot find the path specified. |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070005 E_ACCESSDENIED       | General access denied error.               |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070057 E_INVALIDARG         | One or more arguments are invalid.         |
	//	+---------------------------------+--------------------------------------------+
	//
	// The opnum field value for this method is 24.
	SetLastChangeTime(context.Context, *SetLastChangeTimeRequest) (*SetLastChangeTimeResponse, error)

	// The GetLastChangeTime method returns the last change time associated with a node
	// in the metabase.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+---------------------------------+--------------------------------------------+
	//	|             RETURN              |                                            |
	//	|           VALUE/CODE            |                DESCRIPTION                 |
	//	|                                 |                                            |
	//	+---------------------------------+--------------------------------------------+
	//	+---------------------------------+--------------------------------------------+
	//	| 0x00000000 S_OK                 | The call was successful.                   |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070003 ERROR_PATH_NOT_FOUND | The system cannot find the path specified. |
	//	+---------------------------------+--------------------------------------------+
	//	| 0x80070057 E_INVALIDARG         | One or more arguments are invalid.         |
	//	+---------------------------------+--------------------------------------------+
	//
	// The opnum field value for this method is 25.
	GetLastChangeTime(context.Context, *GetLastChangeTimeRequest) (*GetLastChangeTimeResponse, error)

	// The R_KeyExchangePhase1 method receives a pair of encrypted client keys and returns
	// server encryption and session keys.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+-------------------+--------------------------+
	//	|      RETURN       |                          |
	//	|    VALUE/CODE     |       DESCRIPTION        |
	//	|                   |                          |
	//	+-------------------+--------------------------+
	//	+-------------------+--------------------------+
	//	| 0x00000000 S_OK   | The call was successful. |
	//	+-------------------+--------------------------+
	//
	// The opnum field value for this method is 26.
	KeyExchangePhase1(context.Context, *KeyExchangePhase1Request) (*KeyExchangePhase1Response, error)

	// The R_KeyExchangePhase2 method receives the encrypted client session and hash keys
	// in response to the R_KeyExchangePhase1 method and returns the encrypted server hash
	// keys.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+-------------------+--------------------------+
	//	|      RETURN       |                          |
	//	|    VALUE/CODE     |       DESCRIPTION        |
	//	|                   |                          |
	//	+-------------------+--------------------------+
	//	+-------------------+--------------------------+
	//	| 0x00000000 S_OK   | The call was successful. |
	//	+-------------------+--------------------------+
	//
	// The opnum field value for this method is 27.
	KeyExchangePhase2(context.Context, *KeyExchangePhase2Request) (*KeyExchangePhase2Response, error)

	// The Backup method backs up the metabase.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	|               RETURN               |                                                                                  |
	//	|             VALUE/CODE             |                                   DESCRIPTION                                    |
	//	|                                    |                                                                                  |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x00000000 S_OK                    | The call was successful.                                                         |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG            | One or more arguments are invalid.                                               |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x000CC809 MD_WARNING_SAVE FAILED  | The metadata save prior to backup failed. The previous version of the data was   |
	//	|                                    | backed up.                                                                       |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//	| 0x80070008 ERROR_NOT_ENOUGH_MEMORY | There is not enough memory to complete the operation.                            |
	//	+------------------------------------+----------------------------------------------------------------------------------+
	//
	// The opnum field value for this method is 28.
	//
	// The location string can be up to 100 Unicode characters in length. Multiple metabase
	// backups can be stored with the same name.
	Backup(context.Context, *BackupRequest) (*BackupResponse, error)

	// The Restore method restores the metabase from a backup.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+-------------------------------------+-------------------------------------------------------+
	//	|               RETURN                |                                                       |
	//	|             VALUE/CODE              |                      DESCRIPTION                      |
	//	|                                     |                                                       |
	//	+-------------------------------------+-------------------------------------------------------+
	//	+-------------------------------------+-------------------------------------------------------+
	//	| 0x00000000 S_OK                     | The call was successful.                              |
	//	+-------------------------------------+-------------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG             | One or more arguments are invalid.                    |
	//	+-------------------------------------+-------------------------------------------------------+
	//	| 0x80070013 ERROR_INVALID_DATA       | The data is invalid.                                  |
	//	+-------------------------------------+-------------------------------------------------------+
	//	| 0x800CC802 MD_ERROR_INVALID_VERSION | The version specified by dwMDVersion is invalid.      |
	//	+-------------------------------------+-------------------------------------------------------+
	//	| 0x000CC805L MD_WARNING_INVALID_DATA | Invalid metabase data.                                |
	//	+-------------------------------------+-------------------------------------------------------+
	//	| 0x80070008 ERROR_NOT_ENOUGH_MEMORY  | There is not enough memory to complete the operation. |
	//	+-------------------------------------+-------------------------------------------------------+
	//
	// The opnum field value for this method is 29.
	Restore(context.Context, *RestoreRequest) (*RestoreResponse, error)

	// The EnumBackups method enumerates metabase backups with a specified backup name or
	// all backups.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+--------------------------------+----------------------------------------+
	//	|             RETURN             |                                        |
	//	|           VALUE/CODE           |              DESCRIPTION               |
	//	|                                |                                        |
	//	+--------------------------------+----------------------------------------+
	//	+--------------------------------+----------------------------------------+
	//	| 0x00000000 S_OK                | The call was successful.               |
	//	+--------------------------------+----------------------------------------+
	//	| 0x80070103 ERROR_NO_MORE_ITEMS | No more data is available.             |
	//	+--------------------------------+----------------------------------------+
	//	| 0x80070057 E_INVALIDARG        | The pszMDBackupName parameter is NULL. |
	//	+--------------------------------+----------------------------------------+
	//
	// The opnum field value for this method is 30.
	EnumBackups(context.Context, *EnumBackupsRequest) (*EnumBackupsResponse, error)

	// The DeleteBackup method deletes a metabase backup.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+------------------------------------+-------------------------------------------------------+
	//	|               RETURN               |                                                       |
	//	|             VALUE/CODE             |                      DESCRIPTION                      |
	//	|                                    |                                                       |
	//	+------------------------------------+-------------------------------------------------------+
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x00000000 S_OK                    | The call was successful.                              |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x80070057 E_INVALIDARG            | One or more arguments are invalid.                    |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x80070002 ERROR_FILE_NOT_FOUND    | The system cannot find the file specified.            |
	//	+------------------------------------+-------------------------------------------------------+
	//	| 0x80070008 ERROR_NOT_ENOUGH_MEMORY | There is not enough memory to complete the operation. |
	//	+------------------------------------+-------------------------------------------------------+
	//
	// The opnum field value for this method is 31.
	DeleteBackup(context.Context, *DeleteBackupRequest) (*DeleteBackupResponse, error)

	// The UnmarshalInterface method returns a pointer to the IMSAdminBaseW interface.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+-------------------+--------------------------+
	//	|      RETURN       |                          |
	//	|    VALUE/CODE     |       DESCRIPTION        |
	//	|                   |                          |
	//	+-------------------+--------------------------+
	//	+-------------------+--------------------------+
	//	| 0x00000000 S_OK   | The call was successful. |
	//	+-------------------+--------------------------+
	//
	// The opnum field value for this method is 32.
	UnmarshalInterface(context.Context, *UnmarshalInterfaceRequest) (*UnmarshalInterfaceResponse, error)

	// The R_GetServerGuid method returns a GUID for this DCOM object.
	//
	// Return Values: A signed 32-bit value that indicates return status. If the method
	// returns a negative value, it failed. If the 12-bit facility code (bits 16–27) is
	// set to 0x007, the value contains a Win32 error code in the lower 16 bits. Zero or
	// positive values indicate success, with the lower 16 bits in positive nonzero values
	// containing warnings or flags defined in the method implementation. For more information
	// about Win32 error codes and HRESULT values, see [MS-ERREF].
	//
	//	+-------------------+--------------------------+
	//	|      RETURN       |                          |
	//	|    VALUE/CODE     |       DESCRIPTION        |
	//	|                   |                          |
	//	+-------------------+--------------------------+
	//	+-------------------+--------------------------+
	//	| 0x00000000 S_OK   | The call was successful. |
	//	+-------------------+--------------------------+
	//
	// The opnum field value for this method is 33.
	GetServerGUID(context.Context, *GetServerGUIDRequest) (*GetServerGUIDResponse, error)
}

IMSAdminBaseW server interface.

type KeyExchangePhase1Request

type KeyExchangePhase1Request struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// pClientKeyExchangeKeyBlob: A pointer to an IIS_CRYPTO_BLOB structure containing the
	// encrypted client key used to decrypt client data.
	ClientKeyExchangeKeyBlob *imsa.IISCryptoBlob `idl:"name:pClientKeyExchangeKeyBlob;pointer:unique" json:"client_key_exchange_key_blob"`
	// pClientSignatureKeyBlob: A pointer to an IIS_CRYPTO_BLOB structure containing the
	// encrypted client signature key used for data verification.
	ClientSignatureKeyBlob *imsa.IISCryptoBlob `idl:"name:pClientSignatureKeyBlob;pointer:unique" json:"client_signature_key_blob"`
}

KeyExchangePhase1Request structure represents the R_KeyExchangePhase1 operation request

func (*KeyExchangePhase1Request) MarshalNDR

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

func (*KeyExchangePhase1Request) UnmarshalNDR

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

type KeyExchangePhase1Response

type KeyExchangePhase1Response struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// ppServerKeyExchangeKeyBlob: A pointer to a set of IIS_CRYPTO_BLOB structures containing
	// encrypted server keys used by the client to decrypt server data.
	ServerKeyExchangeKeyBlob *imsa.IISCryptoBlob `idl:"name:ppServerKeyExchangeKeyBlob" json:"server_key_exchange_key_blob"`
	// ppServerSignatureKeyBlob: A pointer to a set of IIS_CRYPTO_BLOB structures containing
	// encrypted server signature keys used for data verification.
	ServerSignatureKeyBlob *imsa.IISCryptoBlob `idl:"name:ppServerSignatureKeyBlob" json:"server_signature_key_blob"`
	// ppServerSessionKeyBlob: A pointer to a set of IIS_CRYPTO_BLOB structures containing
	// encrypted server session keys.
	ServerSessionKeyBlob *imsa.IISCryptoBlob `idl:"name:ppServerSessionKeyBlob" json:"server_session_key_blob"`
	// Return: The R_KeyExchangePhase1 return value.
	Return int32 `idl:"name:Return" json:"return"`
}

KeyExchangePhase1Response structure represents the R_KeyExchangePhase1 operation response

func (*KeyExchangePhase1Response) MarshalNDR

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

func (*KeyExchangePhase1Response) UnmarshalNDR

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

type KeyExchangePhase2Request

type KeyExchangePhase2Request struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// pClientSessionKeyBlob: A pointer to an IIS_CRYPTO_BLOB structure containing the encrypted
	// client session key.
	ClientSessionKeyBlob *imsa.IISCryptoBlob `idl:"name:pClientSessionKeyBlob;pointer:unique" json:"client_session_key_blob"`
	// pClientHashBlob: A pointer to an IIS_CRYPTO_BLOB structure containing the encrypted
	// client hash key.
	ClientHashBlob *imsa.IISCryptoBlob `idl:"name:pClientHashBlob;pointer:unique" json:"client_hash_blob"`
}

KeyExchangePhase2Request structure represents the R_KeyExchangePhase2 operation request

func (*KeyExchangePhase2Request) MarshalNDR

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

func (*KeyExchangePhase2Request) UnmarshalNDR

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

type KeyExchangePhase2Response

type KeyExchangePhase2Response struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// ppServerHashBlob: A pointer to a set of IIS_CRYPTO_BLOB structures containing the
	// encrypted session hash keys.
	ServerHashBlob *imsa.IISCryptoBlob `idl:"name:ppServerHashBlob" json:"server_hash_blob"`
	// Return: The R_KeyExchangePhase2 return value.
	Return int32 `idl:"name:Return" json:"return"`
}

KeyExchangePhase2Response structure represents the R_KeyExchangePhase2 operation response

func (*KeyExchangePhase2Response) MarshalNDR

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

func (*KeyExchangePhase2Response) UnmarshalNDR

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

type OpenKeyRequest

type OpenKeyRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// hMDHandle: An unsigned 32-bit integer value containing a handle to a node in the
	// metabase with read permissions as returned by the OpenKey method or the metabase
	// master root handle (0x00000000).
	Handle uint32 `idl:"name:hMDHandle" json:"handle"`
	// pszMDPath: A pointer to a Unicode string that contains the path of the node to be
	// opened, relative to the hMDHandle parameter.
	Path string `idl:"name:pszMDPath;string;pointer:unique" json:"path"`
	// dwMDAccessRequested: A set of bit flags specifying the requested permissions for
	// the handle. This parameter MUST be set to at least one of the following values.
	//
	//	+--------------------------------------+----------------------------+
	//	|                                      |                            |
	//	|                VALUE                 |          MEANING           |
	//	|                                      |                            |
	//	+--------------------------------------+----------------------------+
	//	+--------------------------------------+----------------------------+
	//	| METADATA_PERMISSION_READ 0x00000001  | Open the node for reading. |
	//	+--------------------------------------+----------------------------+
	//	| METADATA_PERMISSION_WRITE 0x00000002 | Open the node for writing. |
	//	+--------------------------------------+----------------------------+
	AccessRequested uint32 `idl:"name:dwMDAccessRequested" json:"access_requested"`
	// dwMDTimeOut: An unsigned 32-bit integer value specifying the time, in milliseconds,
	// for the method to wait on a successful open operation.
	Timeout uint32 `idl:"name:dwMDTimeOut" json:"timeout"`
}

OpenKeyRequest structure represents the OpenKey operation request

func (*OpenKeyRequest) MarshalNDR

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

func (*OpenKeyRequest) UnmarshalNDR

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

type OpenKeyResponse

type OpenKeyResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// phMDNewHandle: A pointer to the newly opened metadata handle (see DWORD).
	MDNewHandle uint32 `idl:"name:phMDNewHandle" json:"md_new_handle"`
	// Return: The OpenKey return value.
	Return int32 `idl:"name:Return" json:"return"`
}

OpenKeyResponse structure represents the OpenKey operation response

func (*OpenKeyResponse) MarshalNDR

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

func (*OpenKeyResponse) UnmarshalNDR

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

type RenameKeyRequest

type RenameKeyRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// hMDHandle: An unsigned 32-bit integer value containing an open metabase handle specifying
	// the key to be renamed.
	Handle uint32 `idl:"name:hMDHandle" json:"handle"`
	// pszMDPath: A pointer to a Unicode string that contains the path of the node to be
	// renamed, relative to the path of the hMDHandle parameter.
	Path string `idl:"name:pszMDPath;string;pointer:unique" json:"path"`
	// pszMDNewName: A pointer to a string that contains the new name for the node.
	NewName string `idl:"name:pszMDNewName;string;pointer:unique" json:"new_name"`
}

RenameKeyRequest structure represents the RenameKey operation request

func (*RenameKeyRequest) MarshalNDR

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

func (*RenameKeyRequest) UnmarshalNDR

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

type RenameKeyResponse

type RenameKeyResponse 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 RenameKey return value.
	Return int32 `idl:"name:Return" json:"return"`
}

RenameKeyResponse structure represents the RenameKey operation response

func (*RenameKeyResponse) MarshalNDR

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

func (*RenameKeyResponse) UnmarshalNDR

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

type RestoreRequest

type RestoreRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// pszMDBackupName: A string of up to 100 Unicode characters that identifies the backup
	// to be restored.
	BackupName string `idl:"name:pszMDBackupName;string;pointer:unique" json:"backup_name"`
	// dwMDVersion: An integer value specifying either the version number of the backup
	// to be restored or the following constant.
	//
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	|                                      |                                                                                  |
	//	|                VALUE                 |                                     MEANING                                      |
	//	|                                      |                                                                                  |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	//	| MD_BACKUP_HIGHEST_VERSION 0xFFFFFFFE | Restore from the highest existing backup version in the specified backup         |
	//	|                                      | location.                                                                        |
	//	+--------------------------------------+----------------------------------------------------------------------------------+
	Version uint32 `idl:"name:dwMDVersion" json:"version"`
	// dwMDFlags: This parameter is reserved and SHOULD always be set to zero.
	Flags uint32 `idl:"name:dwMDFlags" json:"flags"`
}

RestoreRequest structure represents the Restore operation request

func (*RestoreRequest) MarshalNDR

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

func (*RestoreRequest) UnmarshalNDR

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

type RestoreResponse

type RestoreResponse 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 Restore return value.
	Return int32 `idl:"name:Return" json:"return"`
}

RestoreResponse structure represents the Restore operation response

func (*RestoreResponse) MarshalNDR

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

func (*RestoreResponse) UnmarshalNDR

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

type SaveDataRequest

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

SaveDataRequest structure represents the SaveData operation request

func (*SaveDataRequest) MarshalNDR

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

func (*SaveDataRequest) UnmarshalNDR

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

type SaveDataResponse

type SaveDataResponse 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 SaveData return value.
	Return int32 `idl:"name:Return" json:"return"`
}

SaveDataResponse structure represents the SaveData operation response

func (*SaveDataResponse) MarshalNDR

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

func (*SaveDataResponse) UnmarshalNDR

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

type SetDataRequest

type SetDataRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// hMDHandle: An unsigned 32-bit integer value specifying a handle to a node in the
	// metabase with write permissions as returned by the OpenKey method.
	Handle uint32 `idl:"name:hMDHandle" json:"handle"`
	// pszMDPath: A pointer to a Unicode string that contains the path of the node that
	// stores the entry, relative to the path of the hMDHandle parameter.
	Path string `idl:"name:pszMDPath;string;pointer:unique" json:"path"`
	// pmdrMDData: A pointer to a METADATA_RECORD structure that contains the data to set.
	Data *imsa.MetadataRecord `idl:"name:pmdrMDData" json:"data"`
}

SetDataRequest structure represents the R_SetData operation request

func (*SetDataRequest) MarshalNDR

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

func (*SetDataRequest) UnmarshalNDR

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

type SetDataResponse

type SetDataResponse 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 R_SetData return value.
	Return int32 `idl:"name:Return" json:"return"`
}

SetDataResponse structure represents the R_SetData operation response

func (*SetDataResponse) MarshalNDR

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

func (*SetDataResponse) UnmarshalNDR

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

type SetLastChangeTimeRequest

type SetLastChangeTimeRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// hMDHandle: An unsigned 32-bit integer value containing a handle to a node in the
	// metabase as returned by the OpenKey method.
	Handle uint32 `idl:"name:hMDHandle" json:"handle"`
	// pszMDPath: A pointer to a Unicode string containing the path of the node to be set,
	// relative to the path of the hMDHandle parameter.
	Path string `idl:"name:pszMDPath;string;pointer:unique" json:"path"`
	// pftMDLastChangeTime: A pointer to a FILETIME structure that contains the last change
	// time to set for the node.
	LastChangeTime *dtyp.Filetime `idl:"name:pftMDLastChangeTime" json:"last_change_time"`
	// bLocalTime: A Boolean value indicating whether the time value specified in the pftMDLastChangeTime
	// parameter is local time (TRUE) or UTC time (FALSE).
	LocalTime bool `idl:"name:bLocalTime" json:"local_time"`
}

SetLastChangeTimeRequest structure represents the SetLastChangeTime operation request

func (*SetLastChangeTimeRequest) MarshalNDR

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

func (*SetLastChangeTimeRequest) UnmarshalNDR

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

type SetLastChangeTimeResponse

type SetLastChangeTimeResponse 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 SetLastChangeTime return value.
	Return int32 `idl:"name:Return" json:"return"`
}

SetLastChangeTimeResponse structure represents the SetLastChangeTime operation response

func (*SetLastChangeTimeResponse) MarshalNDR

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

func (*SetLastChangeTimeResponse) UnmarshalNDR

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

type UnmarshalInterfaceRequest

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

UnmarshalInterfaceRequest structure represents the UnmarshalInterface operation request

func (*UnmarshalInterfaceRequest) MarshalNDR

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

func (*UnmarshalInterfaceRequest) UnmarshalNDR

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

type UnmarshalInterfaceResponse

type UnmarshalInterfaceResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// piadmbwInterface: The address of the pointer that contains the pointer to IMSAdminBaseW.
	Interface *imsa.IMSAdminBaseW `idl:"name:piadmbwInterface" json:"interface"`
	// Return: The UnmarshalInterface return value.
	Return int32 `idl:"name:Return" json:"return"`
}

UnmarshalInterfaceResponse structure represents the UnmarshalInterface operation response

func (*UnmarshalInterfaceResponse) MarshalNDR

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

func (*UnmarshalInterfaceResponse) UnmarshalNDR

func (o *UnmarshalInterfaceResponse) 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