Compartir a través de


IMAPISupport::CopyFolder

Hace referencia a: Outlook 2013 | Outlook 2016

Copia o mueve una carpeta de su carpeta primaria actual a otra carpeta primaria.

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

Parameters

lpSrcInterface

[in] Puntero al identificador de interfaz (IID) que representa la interfaz que se va a usar para acceder a la carpeta primaria de la carpeta que se va a copiar o mover.

lpSrcFolder

[in] Puntero a la carpeta primaria de la carpeta que se va a copiar o mover.

cbEntryID

[in] Recuento de bytes en el identificador de entrada al que apunta lpEntryID.

lpEntryID

[in] Puntero al identificador de entrada de la carpeta que se va a copiar o mover.

lpInterface

[in] Reservados; debe ser NULL.

lpDestFolder

[in] Puntero a la carpeta que va a recibir la carpeta que se va a copiar o mover.

lpszNewFolderName

[in] Puntero al nombre de la carpeta copiada o movida; De lo contrario, NULL, que indica que la carpeta copiada o movida debe tener el mismo nombre que la carpeta de origen (la carpeta a la que apunta lpEntryID).

ulUIParam

[in] Identificador de la ventana para el cuadro de diálogo del indicador de progreso y las ventanas relacionadas. El parámetro ulUIParam se omite a menos que se establezca la marca FOLDER_DIALOG en el parámetro ulFlags .

lpProgress

[in] Puntero a un objeto de progreso que muestra un indicador de progreso. Si se pasa NULL en lpProgress, el proveedor del almacén de mensajes muestra un indicador de progreso mediante la implementación del objeto de progreso MAPI. El parámetro lpProgress se omite a menos que la marca de FOLDER_DIALOG se establezca en ulFlags.

ulFlags

[in] Máscara de bits de marcas que controla cómo se realiza la operación de copia o movimiento. Se pueden establecer las siguientes marcas:

COPY_SUBFOLDERS

Todas las subcarpetas de la carpeta se deben copiar o mover. Cuando no se establece COPY_SUBFOLDERS para una operación de copia, solo se copia la carpeta identificada por lpEntryID . Con una operación de movimiento, el comportamiento de COPY_SUBFOLDERS es el predeterminado independientemente de si se establece la marca.

FOLDER_DIALOG

Solicita la visualización de un indicador de progreso.

FOLDER_MOVE

La carpeta debe moverse en lugar de copiarse. Si no se establece FOLDER_MOVE, se copiará la carpeta.

MAPI_UNICODE

El nombre de la carpeta está en formato Unicode. Si no se establece la marca de MAPI_UNICODE, el nombre de la carpeta está en formato ANSI.

Valor devuelto

S_OK

La carpeta se ha copiado o movido correctamente.

MAPI_E_COLLISION

El nombre de la carpeta que se mueve o copia es el mismo que el de una subcarpeta de la carpeta de destino. El proveedor del almacén de mensajes requiere que los nombres de carpeta sean únicos. La operación se detiene sin completarse.

MAPI_W_PARTIAL_COMPLETION

La llamada se realizó correctamente, pero no todas las entradas se copiaron correctamente. Cuando se devuelve esta advertencia, la llamada debe controlarse correctamente. Para probar esta advertencia, use la macro HR_FAILED . Para obtener más información, vea Uso de macros para el control de errores.

Comentarios

El método IMAPISupport::CopyFolder se implementa para los objetos de soporte técnico del proveedor de mensajes. Los proveedores de almacén de mensajes pueden llamar a IMAPISupport::CopyFolder en su implementación de IMAPIFolder::CopyFolder para copiar o mover una sola carpeta de una carpeta primaria a otra.

IMAPISupport::CopyFolder agrega la carpeta copiada o movida como subcarpeta de la carpeta de destino.

Notas para los llamadores

IMAPISupport::CopyFolder permite cambiar el nombre y mover carpetas simultáneamente y copiar o mover subcarpetas de la carpeta afectada. Para copiar o mover todas las subcarpetas anidadas en la carpeta copiada o movida, pase la marca COPY_SUBFOLDERS en ulFlags.

Espere los siguientes valores devueltos en las condiciones siguientes:

Condition Valor devuelto
CopyFolder copió o movió correctamente la carpeta y todas sus subcarpetas, si procede. S_OK
CopyFolder no pudo copiar o mover correctamente todas las carpetas. MAPI_W_PARTIAL_COMPLETION
CopyFolder no pudo completarse. Cualquier valor de error

Si CopyFolder devuelve un valor de error, no continúe con la suposición de que no se ha realizado ningún trabajo. Una o varias carpetas podrían haberse copiado o movido antes de que CopyFolder experimentara el error.

Vea también

IMAPISupport: IUnknown