Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This function searches a directory for a file with the specified name in an installable file system. This function examines subdirectory, names as well as file names. The application does not call this function directly. Instead, it uses the corresponding standard Win32 function FindFirstFile. The File Ssystem Disk Manager (FSDMGR) determines the file system type and calls the MyFSD _FindFirstFileWimplementation of the function.

Syntax

HANDLE MyFSD_FindFirstFileW( 
  PVOLUME 
pVolume, 
  HANDLE 
hProc,
  PCWSTR 
pwsFileSpec, 
  PWIN32_FIND_DATAW 
pfd
); 

Parameters

pVolume

[in] Pointer to the value that a file system driver (FSD) passes to the FSDMGR_RegisterVolumefunction when it creates the file handle.

hProc

[in] Handle of the process that calls FindFirstFile.

pwsFileSpec

[in] Pointer to a null-terminated string that specifies a valid directory or path and file name, which can contain wildcard characters, such as the asterisk (*) and question mark (?).

There is a default string size limit for paths of MAX_PATH characters. This limit is related to how the FindFirstFilefunction parses paths.

pfd

[out] Pointer to the WIN32_FIND_DATAstructure that receives information about the found file or subdirectory.

Return Value

A search handle used in a subsequent call to the MyFSD_FindNextFileWor the MyFSD_FindCloseindicates success. INVALID_HANDLE_VALUE indicates failure. To get extended error information, call GetLastError.

Remarks

This function opens a search handle and returns information about the first file with the specified name. Once the search handle is established, the MyFSD_ FindNextFileWfunction searches for other files with the same name. When the search handle is no longer needed, close it by using the MyFSD_ FindClosefunction.

This function searches for files by name only. It cannot be used for attribute-based searches.

An FSD exports this function, if it supports the FindFirstFilefunction. 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 for an FSD 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 service functions to FSDs. The FSDMGR_RegisterVolume, the FSDMGR_CreateFileHandle, and the FSDMGR_CreateSearchHandlefunctions record a DWORDof 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 wants to create a folder on a device that contains an installable file system, it calls the CreateDirectoryfunction. 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 MyFSD file system is MyFSD_CreateDirectoryW. That is, the application calls CreateDirectory, causing FSDMGR to call MyFSD_ CreateDirectoryW.

Requirements

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

See Also