MyFSD_RegisterFileSystemFunction

This function is called by the file system driver manager (FSDMGR) to register a file or folder change notification function with the FSD to insure that the shell maintains an accurate view of the file system.

At a Glance

Header file: Fsdmgr.h
Windows CE versions: 2.10 and later

Syntax

BOOL MyFSD_RegisterFileSystemFunction( PVOLUME pVolume
SHELLFILECHANGEFUNC_t pfn );

Parameters

pVolume

Pointer to the value that the file system driver (FSD) defines in its DLL and passes to the FSDMGR_RegisterVolume function when registering the volume. The definition of pVolume can point to private structures.

pfn

Pointer to the function used for file or folder change notifications.

Return Values

TRUE indicates success. FALSE indicates failure.

Remarks

When a non-NULL SHELLFILECHANGEFUNC address is registered, the FSD needs to fill in a FILECHANGEINFO structure with all the appropriate information every time a file or folder change occurs. At a minimum, fill FILECHANGEINFO for the following functions, assuming they succeed:

Also register a file information change after the following calls:

SHELLFILECHANGEFUNC and FILECHANGEINFO are defined in Extfile.h.

An FSD exports this function if it wants to support this functionality. All FSD functions can be called reentryly, therefore, FSD developers must take this into account when developing an FSD.

The Fsdmgr component is a dynamic-link library (DLL) that manages all operating system interaction with installable files systems. Each installable file system requires an FSD, which is a DLL that exports an API needed to support an installable file system. The name of the DLL and the names of the functions it exports start with the name of the associated installable file system. For example, if the name of file system is MyFSD, then its DLL is MyFSD.dll and its exported functions are prefaced with MyFSD_*.

Fsdmgr provides services to FSDs. The FSDMGR_RegisterVolume, FSDMGR_CreateFileHandle, and FSDMGR_CreateSearchHandle functions record a DWORD of volume-specific data the FSD needs to keep associated with volume. This volume-specific data is passed as the first parameter of these three functions.

Applications that access an installable file system use standard Win32 functions. For example, when an application wants to create a folder on a device that contains an installable file system, it calls CreateDirectory. Fsdmgr recognizes that the path is to a device containing an installable file system and calls the appropriate function, which in the case of the FAT file system is FATFSD_CreateDirectoryW. That is, the application calls CreateDirectory, causing Fsdmgr to call FATFSD_CreateDirectoryW.

See Also

MyFSD_CloseFile, MyFSD_CreateDirectoryW, MyFSD_CreateFileW, MyFSD_DeleteFileW, MyFSD_FlushFileBuffers, MyFSD_MoveFileW, MyFSD_RemoveDirectoryW, MyFSD_SetFileAttributesW