Microsoft Windows CE 3.0  

CeOpenDatabase

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.

This function opens an existing database. This function is obsolete. Applications should call CeOpenDatabaseExinstead.

A remote application interface (RAPI) version of this function exists, and it is also called CeOpenDatabase.

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 poidto zero to receive the object identifer 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 poidis nonzero.
propid
[in] Property identifier of the key for the sort order in which the database is to be traversed. All subsequent calls to CeSeekDatabaseassume this sort order. This parameter can be zero if the sort order is not important.
dwFlags
[in] Specifies a bitmask of action flags. It is one of the following values:
Value Description
CEDB_AUTOINCREMENT Causes the current seek position to be automatically incremented with each call to the CeReadRecordPropsfunction.
0 (ZERO) Current seek position is not incremented with each call to CeReadRecordProps.
hwndNotify
[in] Handle to the window to which notification messages (DB_CEOID_*) will be posted if another thread modifies the specified database while you have it open. This parameter can be NULL if you do not need to receive notifications.

Return Values

The handle to the open database indicates success. INVALID_HANDLE_VALUE indicates failure. To get extended error information within a Windows CE program, call GetLastError. Possible values for GetLastErrorinclude the following:

ERROR_INVALID_PARAMETER
A parameter was invalid.
ERROR_FILE_NOT_FOUND
No database exists with the specified name. This value 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 a database handle.

Remarks

Use the CloseHandlefunction to close the handle returned by the CeOpenDatabasefunction.

Unlike many other traditional databases, opening and closing a database does not imply any transactioning. In other words, the database is not committed at the closing—it is committed after each individual call.

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

Note   Earlier versions (2.12 and prior) of Windows CE OIDs were assigned to objects in other file systems, such as the FAT file system. These OIDs 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 OIDs and the object store is the only volume that can return an object identifier.

Requirements

Runs on Versions Defined in Include Link to
Windows CE OS 1.01 and later Windbase.h Winbase.h Fsdbase.lib
Note   This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.

See Also

CeCloseHandle, CeCreateDatabase, CeOpenDatabase, CeOpenDatabaseEx, CeSeekDatabase