Share via


MyFSD_RegisterFileSystemFunction

4/8/2010

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

Syntax

BOOL MyFSD_RegisterFileSystemFunction(
  PVOLUME pVolume,
  SHELLFILECHANGEFUNC_t pfn
);

Parameters

  • pVolume
    [in] Pointer to the value that an FSD defines and passes to the FSDMGR_RegisterVolume function when registering the volume. The definition of this parameter can point to private structures.
  • pfn
    [in] Pointer to the function used for file or folder change notifications.

Return Value

TRUE indicates success. FALSE indicates failure.

Remarks

When a non-NULL SHELLFILECHANGEFUNC_t address is registered, an FSD must fill a FILECHANGEINFO structure with information each time a file or folder change occurs. At a minimum, fill FILECHANGEINFO for the following functions, assuming they succeed:

Register file information changes after the following calls:

SHELLFILECHANGEFUNC_t and FILECHANGEINFO are defined in Extfile.h.

An FSD exports this function if it supports this functionality. All FSD functions can be called on re-entry. Therefore, take this into account when developing an FSD.

FSDMGR is a DLL that manages all OS interaction with installable files systems. Each installable file system requires an FSD, which is a DLL that supports 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, its DLL is MyFSD.dll, and its exported functions are prefaced with MyFSD_*.

FSDMGR provides services to FSDs. The FSDMGR_RegisterVolume, the FSDMGR_CreateFileHandle, and the FSDMGR_CreateSearchHandle functions record a DWORD of volume-specific data that an FSD associates with a 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 creates a folder on a device that contains an installable file system, it calls the CreateDirectory function. 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.

Requirements

Header fsdmgr.h
Library Fsdmgr.lib
Windows Embedded CE Windows CE 2.10 through Windows CE 4.1
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

MyFSD Functions
CreateDirectory
FSDMGR_CreateFileHandle
FSDMGR_CreateSearchHandle
FSDMGR_RegisterVolume
MyFSD_CloseFile
MyFSD_CreateDirectoryW
MyFSD_CreateFileW
MyFSD_DeleteFileW
MyFSD_FlushFileBuffers
MyFSD_MoveFileW
MyFSD_RemoveDirectoryW
MyFSD_SetFileAttributesW
FILECHANGEINFO
SHELLFILECHANGEFUNC_t