Share via


MyFSD_MoveFileW (Compact 2013)

3/26/2014

This function renames a file or directory, including all its children, in an installable file system. The application does not call this function directly. Instead, it uses the corresponding standard Win32 function MoveFile. The File System Disk Manager (FSDMGR) determines the file system type and calls the MyFSD_MoveFileW implementation of the function.

Syntax

BOOL MyFSD_MoveFileW( 
  PVOLUME pVolume,
  PCWSTR pwsOldFileName, 
  PCWSTR pwsNewFileName
); 

Parameters

  • pVolume
    [in] Pointer to the value that a file system driver (FSD) defines and passes to the FSDMGR_RegisterVolume function when registering the volume. The definition of this parameter can point to private structures.
  • pwsOldFileName
    [in] Pointer to a null-terminated string that names an existing file or directory.
  • pwsNewFileName
    [in] Pointer to a null-terminated string that specifies the new name of a file or directory. The new name must not already exist. A new file can be on a different file system or drive. A new directory must be on the same drive.

Return Value

Nonzero indicates success. Zero indicates failure. To get extended error information, call GetLastError.

Remarks

An FSD exports this function if it supports the MoveFile function. 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 avolume. 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.

The MoveFile function moves, or renames, either a file or a directory, including all its children, either in the same directory or across directories. However, the MoveFile function fails on directory moves to a different volume.

Requirements

Header

fsdmgr.h

Library

Fsdmgr.lib

See Also

Reference

MyFSD Functions
CreateDirectory
FSDMGR_CreateFileHandle
FSDMGR_CreateSearchHandle
FSDMGR_RegisterVolume
MoveFile