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 function opens an existing CEDB database in the object store or in a mounted database volume on a remote Windows Embedded CE–based device.

Syntax

HANDLE CeOpenDatabaseEx( 
  PCEGUID 
pceguid, 
  PCEOID 
poid,
  LPWSTR 
lpszName, 
  CEPROPID 
propid, 
  DWORD 
dwFlags,
  CENOTIFYREQUEST * 
pRequest 
);

Parameters

pceguid

[in] Pointer to the CEGUIDthat contains the globally unique identifier(GUID)of a mounted database. If pceguidequals CREATE_INVALIDGUID, then poidis ignored, and the object store and all mounted databases are searched for a database whose name matches lpszName. The search is completed when the first match is located.

poid

[in, out] Pointer to the object identifier of the database to be opened. To open a database by name, set the value pointed to by poidto zero, set lpszNameto the database name, and set pceguidto the database volume.

lpszName

[in] Long pointer to the null-terminated string that contains the name of the database to be opened. This is used along with pceguidto specify the database if the value pointed to by poidis zero. If the value pointed to by poidis nonzero, lpszNameis ignored.

propid

[in] Property identifier of the primary sort key for the database. All subsequent calls to CeSeekDatabaseassume this sort order. This parameter can be zero if the sort order is not important. In that case, a sort order will be chosen for you.

dwFlags

[in] Specifies an action flag. It is one of the following flags.

Value Description

CEDB_AUTOINCREMENT

Current seek position is automatically incremented with each call to CeReadRecordPropsEx.

0

Current seek position is not incremented with each call to CeReadRecordPropsEx.

pRequest

[in] Not supported; set to NULL.

Return Values

A handle to the open database indicates success. INVALID_HANDLE_VALUE indicates failure. To get extended error information, call CeGetLastErrorand CeRapiGetError. Possible values for CeGetLastErrorinclude the following:

ERROR_INVALID_PARAMETER

A parameter was invalid.

ERROR_FILE_NOT_FOUND

No database exists with the specified name. This error code applies only if the value pointed to by poidwas set to NULL, when the function was called.

ERROR_NOT_ENOUGH_MEMORY

No memory was available to allocate the database handle.

Remarks

An application must use the CeCloseHandlefunction to close the handle returned by the CeOpenDatabaseExfunction.

Opening and closing a Windows Embedded CE database does not cause any transactions to be committed. In other words, database transactions are not committed when the database is closed, they are committed after each individual call.

Requirements

Header rapi.h
Library rapi.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Pocket PC 2000 and later, Smartphone 2002 and later

See Also