Поделиться через


ICcConnection::GetFileInfo (Windows Embedded CE 6.0)

1/5/2010

This method returns file information in a FileInfostructure.

In Windows Embedded CE 6.0, CoreCon HLAPI has been deprecated.

Syntax

HRESULT GetFileInfo(
  LPCOLESTR in_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 Value

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

Header ccconnection.h
Windows Windows 2000, Windows Server 2003, Windows Server 2003 Service Pack 1, Windows XP Home, Windows XP Pro

See Also

Reference

ICcConnection
Core Connectivity Interfaces