Share via


CeOpenDatabaseEx2 (CEDB) (Compact 2013)

3/26/2014

This function opens an existing database on any database volume, including mounted database volumes.

Syntax

HANDLE CeOpenDatabaseEx2( 
  PCEGUID pguid, 
  PCEOID poid,
  LPWSTR lpszName, 
  SORTORDERSPECEX* psort, 
  DWORD dwFlags,
  CENOTIFYREQUEST* pRequest
);

Parameters

  • pguid
    [in] Pointer to the CEGUID that contains the globally unique identifier of a mounted database volume, or of the object store. Use the CREATE_SYSTEMGUID macro to obtain the GUID of the object store. If this parameter points to a CEGUID created with the CREATE_INVALIDGUID macro, this parameter is ignored, and the object stores and all mounted database volumes are searched for a database whose name matches the lpszName parameter. 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 this parameter to zero, set lpszName to 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 pceguid to specify the database if the value pointed to by poid is set to zero. If the value pointed to by poid is set to nonzero, this parameter is ignored.
  • psort
    [in] Active sort order for the database. All subsequent calls to the CeSeekDatabaseEx (CEDB) function assume this sort order. This parameter can be set to NULL 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

    Increments the current seek position with each call to the CeReadRecordPropsEx (CEDB) function.

    Zero

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

  • pRequest
    [in] Pointer to a CENOTIFYREQUEST [CEDB] structure that requests notifications be sent to an identified window. This parameter can be set to NULL if an application does not need to receive notifications.

    The sort pointer does not have to point to one of the sort structures used in the create call, but the propids have to match one of the database sorts.

Return Value

A 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 error code applies only if the value pointed to by poid was set to NULL when the function was called.

ERROR_INVALID_PARAMETER

Indicates that a parameter was invalid.

ERROR_NOT_ENOUGH_MEMORY

Indicates that there was not enough available memory to allocate the database handle.

Remarks

An application must use the CloseHandle function to close the handle returned by this function.

Changes to Windows Embedded Compact databases are committed after each individual call, not when opening and closing a database.

Requirements

Header

windbase.h

Library

coredll.lib

See Also

Reference

CEDB Functions
CeCreateDatabaseEx2 (CEDB)
CeReadRecordPropsEx (CEDB)
CeSeekDatabaseEx (CEDB)
CloseHandle
CREATE_INVALIDGUID
CENOTIFICATION[CEDB]