CeSeekDatabase (EDB)

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

This function seeks the specified record in an open database. This function is obsolete for EDB databases. Use the CeSeekDatabaseEx (EDB) function instead.

Syntax

CEOID CeSeekDatabase(
  HANDLE hDatabase, 
  DWORD dwSeekType, 
  DWORD dwValue, 
  LPDWORD lpdwIndex
);

Parameters

  • hDatabase
    [in] Handle to the open database in which to seek the record.
  • dwSeekType
    [in] Type of seek operation to perform. The following table shows possible values.

    Value Description

    CEDB_SEEK_BEGINNING

    Seeks until finding the record at the specified position from the beginning of the database. The dwValue parameter specifies the number of records to seek from the beginning.

    CEDB_SEEK_CEOID

    Seeks until finding an object that has the specified object identifier (OID). The dwValue parameter specifies the OID. This type of seek operation is very efficient.

    CEDB_SEEK_CURRENT

    Seeks backward or forward from the current position of the seek pointer for the specified number of records. The dwValue parameter specifies the number of records to seek from the current position. The function seeks forward if dwValue is a positive value or backward if it is negative.

    CEDB_SEEK_END

    Seeks backward for the specified number of records from the end of the database. The dwValue parameter specifies the number of records to seek from the end.

    CEDB_SEEK_VALUEFIRSTEQUAL

    Begins at the start of the sort and seeks forward until finding the first value that is equal to the specified value. Always seeks forward, regardless of sort order. If the seek operation fails, the seek pointer is left at the end of the database and the function returns zero. The dwValue parameter is a pointer to a CEPROPVAL structure.

    CEDB_SEEK_VALUEGREATER

    Starting from the current seek position, seeks forward toward the end of the sort. Always seeks forward, regardless of sort order. In ascending order, this finds the smallest value greater than or equal to the specified value. In descending order, this finds the largest value smaller than or equal to the specified value.

    If none of the following records has a value that meets the search criteria, the seek pointer is left at the end of the database, and the function returns zero. The dwValue parameter is a pointer to a CEPROPVAL structure.

    CEDB_SEEK_VALUENEXTEQUAL

    Starting from the current seek position, seeks exactly one position forward in the sorted order and checks whether the next record is equal in value to the specified value. If so, returns the object identifier of this next record. Otherwise, it returns zero, and leaves the seek pointer at the end of the database. You can use this operation in conjunction with the CEDB_SEEK_VALUEFIRSTEQUAL operation to enumerate all records with an equal value. The dwValue parameter is a pointer to a CEPROPVAL structure.

    CEDB_SEEK_VALUESMALLER

    Starting from the current seek position, seeks backward toward the start of the sort, regardless of the sort order. In ascending order, this finds the largest value smaller than or equal to the specified value, In descending order, this finds the smallest value larger than or equal to the specified value.

    If none of the previous records has a value that meets the search criteria, the seek pointer is left at the end of the database, and the function returns zero. The dwValue parameter is a pointer to a CEPROPVAL structure.

  • dwValue
    [in] Value to use for the seek operation. The meaning of this parameter depends on the value of dwSeekType. It can be a CEOID, a DWORD counter, or a pointer to a CEPROPVAL structure.
  • lpdwIndex
    [out] Pointer to a variable that receives the index from the start of the database to the beginning of the record that was found. This parameter can be set to NULL.

    Passing a non-NULL value for lpdwIndex causes the call to be slower and should be avoided whenever possible.

Return Value

The object identifier of the record on which the seek ends indicates success. Zero indicates failure. To get extended error information, call GetLastError. GetLastError returns ERROR_INVALID_PARAMETER if a parameter is invalid.

Remarks

When you use the CeSeekDatabase function to seek with an EDB database, this function calls the EDB version of the CeSeekDatabaseEx function, passing a value of 1 for the wNumVals ** parameter.

Requirements

Header windbase.h
Library coredll.lib
Windows Embedded CE Windows CE 5.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

EDB Functions
CeSeekDatabaseEx (EDB)

Other Resources