CeOpenDatabase (CEDB) (Compact 2013)

3/26/2014

This function opens an existing database. This function is obsolete. Call the CeOpenDatabaseEx2 (CEDB) funciton instead.

Syntax

HANDLE CeOpenDatabase(
  PCEOID poid, 
  LPWSTR lpszName, 
  CEPROPID propid, 
  DWORD dwFlags, 
  HWND hwndNotify
); 

Parameters

  • poid
    [in] Pointer to the object identifier of the database to be opened. To open a database by name, set the value pointed to by this parameter to zero to receive the object identifier of the newly opened database when a database name is specified for lpszName.
  • lpszName
    [in] Pointer to the null-terminated string that contains the name of the database to be opened. This parameter is ignored if the value pointed to by poid is set to nonzero.
  • propid
    [in] Property identifier of the key for the sort order in which the database is to be traversed. All subsequent calls to the CeSeekDatabase (CEDB) function assume this sort order. This parameter can be set to zero if the sort order is not important. In that case, a sort order is chosen for you.
  • dwFlags
    [in] Bitmask of action flags. The following table shows possible values.

    Value

    Description

    CEDB_AUTOINCREMENT

    Causes the current seek position to be automatically incremented with each call to the CeReadRecordProps (CEDB) function.

    Zero

    Prevents the current seek position from being incremented with each call to CeReadRecordProps. The seek position is changed only by calls to the CeSeekDatabaseEx (CEDB) function.

  • hwndNotify
    [in] Handle to the window to which notification messages (DB_CEOID_*) will be posted if another thread modifies the specified database while it is open. This parameter can be set to NULL if you do not need to receive notifications.

Return Value

The handle to the open database indicates success. INVALID_HANDLE_VALUE indicates failure. To get extended error information, call GetLastError. The following table shows possible values.

Value

Description

ERROR_FILE_NOT_FOUND

Indicates that no database exists with the specified name. This value applies only if the value pointed to by the poid parameter was set to NULL when the function was called.

ERROR_INVALID_PARAMETER

Indicates that a parameter was invalid.

ERROR_NOT_ENOUGH_MEMORY

Indicates that no memory was available to allocate a database handle.

Remarks

Use the CloseHandle function to close the handle returned by this function.

Unlike many other traditional databases, opening and closing a database does not imply that transactions occur. In other words, the database is not committed on closing. It is committed after each individual call.

An application that opens the same database more than once and requests to be notified about changes to the database receives change notification for changes that its process has made on the database. The change notification process is not done on a process level, but on a per-open-database level.

Requirements

Header

windbase.h

Library

coredll.lib

See Also

Reference

CEDB Functions
CeCreateDatabase (CEDB)
CeOpenDatabaseEx (CEDB)
CeSeekDatabase (CEDB)
CeOpenDatabaseEx2 (CEDB)
CloseHandle