CeOpenDatabase (CEDB) (Compact 2013)


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


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


  • 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.




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


    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.




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.


Indicates that a parameter was invalid.


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


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.






See Also


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