IRAPISession::CeSetDatabaseInfoEx (Windows Embedded CE 6.0)
1/6/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 CEGUID that 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 CEDBASEINFO structure that contains new parameter information for the database. The wNumRecords member of the structure is not used.
Return Values
Nonzero indicates success. Zero indicates failure. To get extended error information, call IRAPISession::CeGetLastError and IRAPISession::CeRapiGetError. Possible values for CeGetLastError include 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::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.
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 |
See Also
Reference
IRAPISession
IRAPISession::CeCreateDatabaseEx
IRAPISession::CeSetDatabaseInfo
CEDBASEINFO
IRAPISession::CeOidGetInfo
IRAPISession::CeOidGetInfoEx