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 method sets parameters for a database on a remote Windows Embedded CE–based device. The database can exist in the device's object store or in a mounted database volume. The parameters that can be set include the name, type, and sort-order descriptions.

Syntax

BOOL CeSetDatabaseInfoEx( 
  PCEGUID 
pceguid, 
  CEOID 
oidDbase,
  CEDBASEINFO * 
pNewInfo 
);

Parameters

pceguid

[in] Pointer to the CEGUIDthat contains the globally unique identifier(GUID) of a mounted database volume.

oidDbase

[in] Object identifier of the database for which parameters are to be set.

pNewInfo

[in] Pointer to a CEDBASEINFOstructure that contains new parameter information for the database. The wNumRecordsmember of the structure is not used.

Return Values

Nonzero indicates success. Zero indicates failure. To get extended error information, call IRAPISession::CeGetLastErrorand IRAPISession::CeRapiGetError. Possible values for CeGetLastErrorinclude the following:

ERROR_INVALID_PARAMETER

A parameter was invalid.

ERROR_DISK_FULL

The object store or mounted volume is full and any size changes required could not be accommodated. Changing sort orders can minimally change the size of the stored records.

ERROR_SHARING_VIOLATION

The method tried to remove a sort order that is being used by a currently open database.

Remarks

Use IRAPISession::CeSetDatabaseInfoExto change the database parameters passed in while creating the database. Changing the sort order or compression of a database is a very expensive operation, possibly taking a few minutes. Before calling this function, warn the user that this is a lengthy process. For Windows CE 3.0 and later, the sort orders of a database cannot be changed while a handle to that database remains open.

Changing the compression of a database affects only new and modified records.

Note:
Earlier versions of Windows Embedded CE assigned object identifiers to objects in other file systems, such as the file allocation table (FAT) file system. These object identifiers were guaranteed to be unique within a volume, but not across multiple volumes. Effective with version 3.0, only objects in the object store have valid, unique object identifiers and the object store is the only volume that can return an object identifier.

Requirements

Header rapi2.h
Library ole32.lib, rapiuuid.lib
Windows Embedded CE Windows Embedded CE 6.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also