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.
BOOL CeSetDatabaseInfoEx( PCEGUID pceguid, CEOID oidDbase, CEDBASEINFO * pNewInfo );
[in] Pointer to the CEGUID that contains the globally unique identifier(GUID) of a mounted database volume.
[in] Object identifier of the database for which parameters are to be set.
[in] Pointer to a CEDBASEINFO structure that contains new parameter information for the database. The wNumRecords member of the structure is not used.
Nonzero indicates success. Zero indicates failure. To get extended error information, call IRAPISession::CeGetLastError and IRAPISession::CeRapiGetError. Possible values for CeGetLastError include the following:
A parameter was invalid.
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.
The method tried to remove a sort order that is being used by a currently open database.
Use IRAPISession::CeSetDatabaseInfoEx to 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.
|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.|