SerializeAccess Property

Whether non-intersecting operations against the same file should execute serially or in parallel.

Syntax

ANSI (Cross Platform)
int GetSerializeAccess();
int SetSerializeAccess(int bSerializeAccess); Unicode (Windows) BOOL GetSerializeAccess();
INT SetSerializeAccess(BOOL bSerializeAccess);
#define PID_CBFS_SERIALIZEACCESS 35

CBFSCONNECT_EXTERNAL void* CBFSCONNECT_CALL CBFSConnect_CBFS_Get(void *lpObj, int propid, int arridx, int *lpcbVal, int64 *lpllVal);
CBFSCONNECT_EXTERNAL int CBFSCONNECT_CALL CBFSConnect_CBFS_Set(void *lpObj, int propid, int arridx, const void *val, int cbVal);

Default Value

TRUE

Remarks

This property specifies whether the class should force non-intersecting operations against a single file or directory to execute serially (default), or allow them to execute in parallel.

Parallel processing can speed up operations, to a certain extent. When this property is disabled, and two or more requests (which don't change filesystem information) are made against the same file or directory, those requests are surfaced in parallel via the appropriate events (assuming that there are enough worker threads available to service them at the time). By default this property is enabled, and such requests are serialized. Please refer to the Threading and Concurrency topic for more information.

Please note that in order for parallel processing to work, the SerializeEvents property must be disabled, and the MinWorkerThreadCount and MaxWorkerThreadCount configuration settings must be set such that parallel processing can actually occur.

Note: This property cannot be changed after a virtual drive is created, and cannot be changed within events.

Data Type

Boolean

Copyright (c) 2022 Callback Technologies, Inc. - All rights reserved.
CBFS Connect 2020 C++ Edition - Version 20.0 [Build 8348]