IMSAdminBase::CopyKey

The IMSAdminBase::CopyKey method copies or moves a key, including its subkeys and data, to a specified destination. The copied or moved key becomes a subkey of the destination key.

HRESULT CopyKey(
      METADATA_HANDLE hMDSourceHandle,
      LPCWSTR pszMDSourcePath,
      METADATA_HANDLE hMDDestHandle,
      LPCWSTR pszMDDestPath,
      BOOL bMDOverwriteFlag,
      BOOL bMDCopyFlag
);

Parameters

  • hMDSourceHandle
    Specifies the handle of the key to be copied or moved. If the key is to be copied ( bMDCopyFlag is set to TRUE) hMDSourceHandle must have read permissions. If the key is to be moved ( bMDCopyFlag is set to FALSE), hMDSourceHandle must have read/write permissions.

  • pszMDSourcePath
    Points to a string that contains the path of the key to be copied or moved relative to the path of hMDSourceHandle. For example, if the handle references the /LM key, you could specify the Web services subkey using the path /W3SVC.

  • hMDDestHandle
    Specifies a handle with write permissions that specifies the destination of the moved or copied key.

  • pszMDDestPath
    Points to a string that contains the path of the new or moved key, relative to hMDDestHandle.

  • bMDOverwriteFlag
    Determines the behavior if the destination key already exists. If set to TRUE, the existing key and all of its data and children are deleted prior to copying or moving the source. If FALSE, the existing key, data, and children remain, and the source is merged with that data. In cases of data conflicts, the source data overwrites the destination data.

  • bMDCopyFlag
    Specifies whether to copy or move the specified key. If bMDCopyFlag is TRUE, the key is copied. If bMDCopyFlag is FALSE, the key is moved, and the source key is deleted from its original location.

Return Values

Returns an HRESULT that contains one of the following values:

Value

Description

E_ACCESSDENIED

Access is denied. Either the open handle does not have read or write permission as needed, or the user does not have sufficient permissions to perform the operation.

HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS)

A key of that name already exists in the metabase.

E_INVALIDARG

The parameter is incorrect.

HRESULT_FROM_WIN32(ERROR_NOT_ENOUGH_MEMORY)

Not enough memory is available to process this command.

HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND)

The specified path was not found in the metabase.

S_OK

The method succeeded.

Requirements

Client: Requires Windows XP Professional, Windows 2000 Professional, or Windows NT Workstation 4.0.

Server: Requires Windows Server 2003, Windows 2000 Server, or Windows NT Server 4.0.

Product: IIS

Header: Declared in iadmw.h; include iiscnfg.h.