Partager via


ICcConnection::GetFileInfo (Windows CE 5.0)

Send Feedback

This method returns file information in a FileInfo structure.

HRESULT GetFileInfo(  LPCOLESTRin_szDeviceFile,FileInfo*out_pFileInfo);

Parameters

  • in_szDeviceFile
    [in] The device file name.

    This parameter can also designate a CSIDL special directory. For more information, see Remarks.

  • out_pFileInfo
    [out] Pointer to the FileInfo structure.

Return Values

If the method fails, it returns an HRESULT error code.

If the method succeeds, it returns one of the following:

Value Description
S_OK Indicates the method call was successful.
E_INVALIDARG Indicates invalid arguments.
E_FAIL Indicates any other failure.

Remarks

The FileInfo structure returned in out_pFileInfo combines the file attribute information from GetFileAttributes, GetFileSize, and GetFileTime.

The following code example shows how to use ICcConnection::GetFileInfo to determine of a directory exists.

FileInfo tempFileInfo;
LPCOLESTR directoryName = L"\\windows\\SomeDirectory";
HRESULT hr = piICcConnection->GetFileInfo(directoryName,&tempFileInfo);
bool IsDirectory = ((tempFileInfo.m_FileAttributes & 
FILE_ATTRIBUTE_DIRECTORY)>0)?true :false;
The call to ICcConnection::GetFileInfo returns E_FAIL if SomeDirectory does not exist.

In addtion, the caller can specify a CSIDL file path for in_szDesktopFile and in_szDeviceFile using a special string substitution format.

CSIDL values provide a unique system-independent way to identify these special folders. The values supersede the use of environment variables for this purpose.

The format of the substitution string is %CSIDL_<tag>%\mydirectory\myfile.ext, where CSIDL_<tag>``must be one of the following strings.

CSIDL_<tag> string Description
CSIDL_APPDATA File system directory that serves as a common repository for application-specific data.
CSIDL_COMMON_APPDATA File system directory containing application data for all users.

A typical path is C:\Documents and Settings\All Users\Application Data.

CSIDL_DESKTOPDIRECTORY Prior to Windows CE .NET 4.2, not supported.

In Windows CE .NET 4.2 and later, the file system path to the desktop directory.

CSIDL_FAVORITES File system directory that serves as a common repository for the user's favorite items.
CSIDL_FONTS Virtual folder containing fonts.
CSIDL_PERSONAL File system directory that serves as a common repository for documents.
CSIDL_PROFILE Folder that contains the profile of the user.
CSIDL_PROGRAM_FILES Program files folder.
CSIDL_PROGRAMS File system directory that contains the user's program groups, which are also file system directories.
CSIDL_STARTMENU File system directory that contains Start menu items.
CSIDL_STARTUP File system directory that corresponds to the user's Startup program group.

The system starts these programs when a device is turned on.

CSIDL_WINDOWS Windows folder.

Each of the CSIDL tags expands to the information provided by SHGetSpecialFolderPath.

That is, the following string

%CSIDL_WINDOWS%\myfile.txt 

expands to \WINDOWS\myfile.txt,

if SHGetSpecialFolderPath returns

\Windows

when passed CSIDL_WINDOWS.

The CSIDL_<tag> string must appear as the first element in the argument.

Requirements

OS Version: Windows 2000, Windows XP Home, Windows XP Pro, Windows Server 2003, and Windows Server 2003 Service Pack 1.
Header: CcConnection.h.
Link Library: none.

See Also

Core Connectivity Interfaces

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.