WdDeleteRemoteFiles
Realiza la eliminación de archivos y directorios en un dispositivo remoto según el mejor esfuerzo. Introducido en: RIT 0.0.13-preview.Sintaxis
Parámetros
_In_z_ remoteDeviceTipo: const char* Dirección o nombre del dispositivo remoto (UTF-8), por ejemplo
"192.168.1.100" o "MyDevKit".
_In_z_ remoteFolderPathTipo: const char* Ruta de acceso del dispositivo remoto que se va a eliminar (UTF-8). Puede ser una ruta de acceso de carpeta, en cuyo caso se elimina su contenido, o una ruta de acceso de un solo archivo, en cuyo caso solo se elimina ese archivo. Si
remoteFolderPath es una ruta de acceso absoluta, se omite el valor commonRootAlias de WdDeleteOptions.
_In_opt_ deleteOptionsTipo: const WdDeleteOptions* Opcional. Especifica el alias de raíz común que se usa para resolver la ruta de acceso y si se intenta quitar la propia carpeta raíz. Pase
nullptr para usar la ubicación raíz común predeterminada cuando remoteFolderPath sea una ruta de acceso relativa y para dejar la carpeta raíz en su lugar, de modo que solo se elimine su contenido. Cuando remoteFolderPath se resuelve en un solo archivo, se omite deleteRootFolder.
_In_opt_ searchOptionsTipo: const WdDeleteSearchOptions* Opcional. Especifica patrones de inclusión y exclusión y filtros de atributos que seleccionan los archivos y directorios que se eliminan. Pase
nullptr para incluir todos los elementos. Estas opciones solo se aplican cuando remoteFolderPath se resuelve en una carpeta; se omiten cuando se resuelve en un solo archivo.
_In_opt_ statusCallbacksTipo: const WdDeleteStatusCallbacks* Actualmente se omite. Pase
nullptr; no se invoca ninguna devolución de llamada de progreso ni de error.
_In_opt_ cancellationHandleTipo: WdCancellationHandle Opcional. Identificador de cancelación creado por WdCreateCancellationHandle que se puede pasar a WdCancelRemoteDelete desde un subproceso independiente para detener la espera del cliente. Pase
nullptr si no se necesita la cancelación.
Valor devuelto
Tipo: HRESULT DevuelveS_OK cuando el punto de conexión notifica que se ha realizado correctamente o el cliente detecta la cancelación; de lo contrario, devuelve un código de error. S_OK no garantiza que se haya eliminado cada elemento seleccionado. Para obtener la lista de códigos de error específicos de la API, incluidas las causas principales y las instrucciones de solución de problemas, consulte Códigos de error de la API XBOX PC Remote Iteration.
Comentarios
WdDeleteRemoteFiles es una llamada sincrónica y de bloqueo. Espera un resultado del punto de conexión, un error o la cancelación detectada mediante WdCancelRemoteDelete. La eliminación se realiza según el mejor esfuerzo: no se devuelven resultados por elemento y los errores de eliminación de archivos solo se notifican en los registros del punto de conexión.
Para habilitar la cancelación, cree un WdCancellationHandle mediante WdCreateCancellationHandle antes de llamar a WdDeleteRemoteFiles y, a continuación, páselo a WdCancelRemoteDelete desde un subproceso independiente. Cuando WdDeleteRemoteFiles devuelva un valor, cierre el identificador con WdCloseCancellationHandle.
La cancelación detiene la espera del cliente, no la eliminación ya iniciada en el punto de conexión. Cuando se detecta la cancelación, la llamada devuelve S_OK sin confirmar la finalización en el punto de conexión.
De forma predeterminada, solo se elimina el contenido de remoteFolderPath y la propia carpeta se deja en su lugar. Establezca deleteRootFolder en WdDeleteOptions en true para intentar también quitar la carpeta una vez eliminado su contenido. La eliminación se realiza según el mejor esfuerzo y solo se intenta si la carpeta queda vacía; una eliminación filtrada que deja elementos conserva la carpeta.
Independientemente de deleteRootFolder, la operación también intenta quitar los subdirectorios vacíos que superan los filtros de directorio, incluidos los directorios que ya estaban vacíos.
Si remoteFolderPath es una ruta de acceso absoluta, se omite el valor commonRootAlias de WdDeleteOptions. Si remoteFolderPath es una ruta de acceso relativa, se usa la ubicación raíz común predeterminada, a menos que se especifique un commonRootAlias.
[!WARNING] La eliminación puede seguir uniones de directorio y vínculos simbólicos de directorio situados bajoremoteFolderPathy eliminar archivos coincidentes fuera de ese directorio. La operación puede devolverS_OKigualmente; no se proporcionan resultados por elemento ni una operación para deshacer. Asegúrese de que la raíz no sea un directorio vinculado y useexcludeDirPatternpara excluir por nombre los subdirectorios vinculados conocidos.
