Compartilhar via


IMAPISupport::CopyFolder

Aplica-se a: Outlook 2013 | Outlook 2016

Copia ou move uma pasta de sua pasta pai atual para outra pasta pai.

HRESULT CopyFolder(
  LPCIID lpSrcInterface,
  LPVOID lpSrcFolder,
  ULONG cbEntryID,
  LPENTRYID lpEntryID,
  LPCIID lpInterface,
  LPVOID lpDestFolder,
  LPSTR lpszNewFolderName,
  ULONG_PTR ulUIParam,
  LPMAPIPROGRESS lpProgress,
  ULONG ulFlags
);

Parâmetros

lpSrcInterface

[in] Um ponteiro para o IID (identificador de interface) que representa a interface a ser usada para acessar a pasta pai da pasta a ser copiada ou movida.

lpSrcFolder

[in] Um ponteiro para a pasta pai da pasta a ser copiada ou movida.

cbEntryID

[in] A contagem de bytes no identificador de entrada apontada por lpEntryID.

Lpentryid

[in] Um ponteiro para o identificador de entrada da pasta a ser copiada ou movida.

lpInterface

[in] Reservados; deve ser NULL.

lpDestFolder

[in] Um ponteiro para a pasta que deve receber a pasta a ser copiada ou movida.

lpszNewFolderName

[in] Um ponteiro para o nome da pasta copiada ou movida; caso contrário, NULL, que indica que a pasta copiada ou movida deve ter o mesmo nome que a pasta de origem (a pasta apontada por lpEntryID).

ulUIParam

[in] Um identificador da janela para a caixa de diálogo indicador de progresso e janelas relacionadas. O parâmetro ulUIParam é ignorado, a menos que o sinalizador FOLDER_DIALOG seja definido no parâmetro ulFlags .

lpProgress

[in] Um ponteiro para um objeto de progresso que exibe um indicador de progresso. Se NULL for passado em lpProgress, o provedor do repositório de mensagens exibirá um indicador de progresso usando a implementação do objeto de progresso MAPI. O parâmetro lpProgress é ignorado, a menos que o sinalizador FOLDER_DIALOG seja definido em ulFlags.

ulFlags

[in] Um bitmask de sinalizadores que controla como a operação de cópia ou movimentação é realizada. Os seguintes sinalizadores podem ser definidos:

COPY_SUBFOLDERS

Todas as subpastas da pasta devem ser copiadas ou movidas. Quando COPY_SUBFOLDERS não está definido para uma operação de cópia, apenas a pasta identificada por lpEntryID é copiada. Com uma operação de movimentação, o comportamento COPY_SUBFOLDERS é o padrão, independentemente de o sinalizador ser definido.

FOLDER_DIALOG

Solicita a exibição de um indicador de progresso.

FOLDER_MOVE

A pasta deve ser movida em vez de copiada. Se FOLDER_MOVE não estiver definido, a pasta será copiada.

MAPI_UNICODE

O nome da pasta está no formato Unicode. Se o sinalizador MAPI_UNICODE não estiver definido, o nome da pasta estará no formato ANSI.

Valor de retorno

S_OK

A pasta foi copiada ou movida com êxito.

MAPI_E_COLLISION

O nome da pasta que está sendo movida ou copiada é o mesmo de uma subpasta na pasta de destino. O provedor do repositório de mensagens exige que os nomes de pasta sejam exclusivos. A operação para sem concluir.

MAPI_W_PARTIAL_COMPLETION

A chamada foi bem-sucedida, mas nem todas as entradas foram copiadas com êxito. Quando esse aviso é retornado, a chamada deve ser tratada como bem-sucedida. Para testar esse aviso, use a macro HR_FAILED . Para obter mais informações, confira Usando macros para tratamento de erros.

Comentários

O método IMAPISupport::CopyFolder é implementado para objetos de suporte do provedor do repositório de mensagens. Os provedores do repositório de mensagens podem chamar IMAPISupport::CopyFolder na implementação do IMAPIFolder::CopyFolder para copiar ou mover uma única pasta de uma pasta pai para outra.

IMAPISupport::CopyFolder adiciona a pasta copiada ou movida como uma subpasta da pasta de destino.

Notas para chamadores

IMAPISupport::CopyFolder permite renomeação e movimentação simultâneas de pastas e a cópia ou movimentação de subpastas da pasta afetada. Para copiar ou mover todas as subpastas aninhadas na pasta copiada ou movida, passe o sinalizador COPY_SUBFOLDERS em ulFlags.

Espere os seguintes valores retornados nas seguintes condições:

Condition Valor de retorno
CopyFolder copiou ou moveu com êxito a pasta e todas as subpastas, se aplicável. S_OK
O CopyFolder não pôde copiar ou mover com êxito todas as pastas. MAPI_W_PARTIAL_COMPLETION
CopyFolder não pôde ser concluído. Qualquer valor de erro

Se CopyFolder retornar um valor de erro, não prossiga na suposição de que nenhum trabalho foi feito. Uma ou mais pastas poderiam ter sido copiadas ou movidas antes do CopyFolder sofrer a falha.

Confira também

IMAPISupport: IUnknown