Share via


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