Saltar al contenido principal
Controlador de borrado del almacenamiento al que PlayFab llama cuando necesita borrar datos del almacenamiento. Impleméntelo como un XAsyncProvider.

Sintaxis

Parámetros

context   _In_opt_ void* El miembro context de la estructura PFLocalStorageHooks que pasó a PFPlatformLocalStorageSetHandlers. Puede ser nullptr. PlayFab no es propietario de este puntero. key   _In_z_ const char* Identifica los datos. Normalmente, una ruta de acceso de archivo. Borre los datos almacenados con esta clave. async   _Inout_ XAsyncBlock* El XAsyncBlock de la operación de borrado.

Valor devuelto

Tipo: HRESULT Devuelva S_OK si inició la operación asincrónica en async, por ejemplo con XAsyncBegin. Si el controlador devuelve un HRESULT de error, PlayFab hace que la operación de almacenamiento produzca un error con ese HRESULT y no espera a que se complete async, por lo que solo debe devolver un error cuando no haya iniciado ninguna operación en async. Informe del resultado de la propia operación de almacenamiento completando async con XAsyncComplete.

Comentarios

Para instalar este controlador, establézcalo en el miembro clear de una estructura PFLocalStorageHooks, junto con los otros dos controladores de almacenamiento, y pase la estructura a PFPlatformLocalStorageSetHandlers antes de llamar a PFInitialize. PFPlatformLocalStorageSetHandlers devuelve E_INVALIDARG si alguno de los tres controladores es nullptr. Si no establece controladores personalizados, PlayFab usa una implementación predeterminada basada en objetos cstdio y std::fstream. Complete async con XAsyncComplete y pase el resultado del borrado y un tamaño de resultado de 0. La implementación predeterminada intenta eliminar el archivo con el nombre indicado por key y se completa con S_OK aunque la eliminación produzca un error, por ejemplo, porque el archivo no existe. Trate también una clave que falta como un resultado correcto en el controlador. Cuando la salida de seguimiento a un archivo está habilitada con PFTraceEnableTraceToFile, PFInitialize llama a este controlador para el archivo de seguimiento y espera a que se complete la operación antes de continuar. El puerto de trabajo de la cola en la que se ejecuta la operación debe seguir avanzando mientras PFInitialize espera. Si distribuye ese puerto de trabajo manualmente, distribúyalo desde otro subproceso; distribuir solo el puerto de finalización no es suficiente. PlayFab puede llamar a este controlador en línea en el subproceso que inicia la operación de almacenamiento, por lo que no dependa del subproceso en el que se ejecuta. La cola de async es una cola que PlayFab deriva del miembro queueHandle de PFLocalStorageHooks. Si queueHandle es nullptr, PlayFab la deriva de la cola en segundo plano que pasó a PFInitialize, o de la cola de tareas del proceso si esa cola también era nullptr. Las devoluciones de llamada de trabajo y de finalización de la cola derivada se ejecutan en el puerto de trabajo de la cola de la que se deriva. PlayFab ejecuta una operación de almacenamiento cada vez e inicia la siguiente solo después de que se complete la actual. PlayFab puede cancelar una operación pendiente llamando a XAsyncCancel en async. Controle XAsyncOp::Cancel en el proveedor si la operación de almacenamiento se puede cancelar. Los argumentos key y async son propiedad de PlayFab y siguen siendo válidos hasta que se completa la operación. El argumento context no está cubierto por esta garantía.

Requisitos

Encabezado: PFPlatform.h Biblioteca: PlayFabCore.lib Plataformas compatibles: Windows, consolas de la familia XBOX One y consolas XBOX Series

Consulte también

Miembros de PFPlatform PFLocalStorageHooks PFPlatformLocalStorageSetHandlers XAsyncProvider PFPlatformLocalStorageReadAsyncHandler PFPlatformLocalStorageWriteAsyncHandler
Última modificación el 5 de noviembre de 2026