MyFSD_UnmountDisk (Compact 2013)

3/26/2014

This function unmounts the specified disk containing a file system of the type defined by a file system driver (FSD). This function is exported by an implementation of FSD and is called indirectly by Files System Disk Manager (FSDMGR).

Syntax

BOOL MyFSD_UnmountDisk( 
  HDSK hdsk
);

Parameters

  • hdsk
    [in] Handle to the disk.

Return Value

TRUE indicates success. FALSE indicates failure.

Remarks

A requirement of returning TRUE is that all volumes on the disk previously registered with the FSDMGR_RegisterVolume function must first be deregistered with the FSDMGR_DeregisterVolume function.

A definition (.def) file for the MyFSD.dll file must export this function as FSD_UnmountDisk. When determining how to unmount an FSD, Device.exe looks for FSD_UnmountDisk.

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 the 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

See Also

Reference

MyFSD Functions
CreateDirectory
FSDMGR_CreateFileHandle
FSDMGR_CreateSearchHandle
FSDMGR_DeregisterVolume
FSDMGR_RegisterVolume
MyFSD_MountDisk