> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PFLocalStorageHooks

> Struct encapsulating the storage hooks.

Struct encapsulating the storage hooks.

## Syntax

```cpp theme={null}
typedef struct PFLocalStorageHooks {  
    XTaskQueueHandle queueHandle;  
    PFPlatformLocalStorageReadAsyncHandler* read;  
    PFPlatformLocalStorageWriteAsyncHandler* write;  
    PFPlatformLocalStorageClearAsyncHandler* clear;  
    void* context;  
} PFLocalStorageHooks;  
```

### Members

**`queueHandle`**   XTaskQueueHandle<br />*may be nullptr*

(Optional) Queue that the hooks should be invoked on. If not specified, the callbacks will be invoked on the background queue provided to PFInitialize.

**`read`**   PFPlatformLocalStorageReadAsyncHandler\*

Custom read hook.

**`write`**   PFPlatformLocalStorageWriteAsyncHandler\*

Custom write hook.

**`clear`**   PFPlatformLocalStorageClearAsyncHandler\*

Custom clear hook.

**`context`**   void\*<br />*may be nullptr*

(Optional) Client context that will be passed to storage hooks.

## Remarks

All 3 handlers must be set at the same time.

## Requirements

**Header:** PFPlatform.h

## See also

[PFPlatform members](/services/playfab/api-references/c/pfplatform/pfplatform_members)


## Related topics

- [PFPlatformLocalStorageSetHandlers](/services/playfab/api-references/c/pfplatform/functions/pfplatformlocalstoragesethandlers.md)
- [Services C API overview - PFPlatform.h](/services/playfab/api-references/c/pfplatform/pfplatform_members.md)
- [Storage](/build/console-features/storage/index.md)
- [XPersistentLocalStorage](/reference/system/xpersistentlocalstorage/xpersistentlocalstorage_members.md)
- [PFMemoryHooks](/services/playfab/api-references/c/pfplatform/structs/pfmemoryhooks.md)
