Share via


IRAPISession::CeOpenDatabaseEx

Send Feedback

This method opens an existing database in the object store or in a mounted database volume on a remote Microsoft® Windows® CE–based device.

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

Parameters

  • pceguid
    [in] Pointer to the CEGUID that contains the globally unique identifier (GUID) of a mounted database volume. If pceguid is set to the value returned by CREATE_INVALIDGUID, then poid is 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 poid to zero, set lpszName to the database name, and set pceguid to 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 zero. If the value pointed to by poid is nonzero, lpszName is ignored.

  • propid
    [in] Property identifier of the primary sort key for the database. All subsequent calls to IRAPISession::CeSeekDatabase assume 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 IRAPISession::CeReadRecordPropsEx.
    0 Current seek position is not incremented with each call to IRAPISession::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 IRAPISession::CeGetLastError and IRAPISession::CeRapiGetError. Possible values for CeGetLastError include 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 poid was 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 IRAPISession::CeCloseHandle method to close the handle returned by the IRAPISession::CeOpenDatabaseEx method.

Opening and closing a Windows 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.

RAPI method calls that access databases will fail on devices running in restricted mode unless the database permissions are explicitly set to allow RAPI access. For more information, see RAPI Restricted Mode Security.

Requirements

OS Versions: Windows CE 5.01 and later.
Header: Rapi2.h.
Link Library: Ole32.lib, Rapiuuid.lib

See Also

IRAPISession::IUnknown | IRAPISession::CeCreateDatabaseEx | IRAPISession::CeSeekDatabase | IRAPISession::CeReadRecordPropsEx | IRAPISession::CeCloseHandle | IRAPISession::CeOpenDatabase

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.