CeCreateDatabase

The CeCreateDatabase function creates a new database. A RAPI version of this function exists and is also called CeCreateDatabase.

Syntax

CEOID CeCreateDatabase(LPWSTR lpszName, DWORD dwDbaseType, WORD wNumSortOrder, SORTORDERSPEC * rgSortSpecs);

At a Glance

Header file: Winbase.h
Component: fsdbase
Platforms: H/PC
Windows CE versions: 1.01 and later

Parameters

lpszName
Pointer to a null-terminated string that specifies the name for the new database. The name can have up to 32 characters, including the terminating null character. If the name is too long, it is truncated.
dwDbaseType
Type identifier for the database. This is an application-defined value that can be used for any application-defined purpose. For example, an application can use the type identifier to distinguish address book data from to-do list data or use the identifier during a database enumeration sequence. See CeFindFirstDatabase for details. The type identifier is not meant to be a unique identifier for the database. The system does not use this value.
wNumSortOrder
Number of sort orders active in the database, with four being the maximum number. This parameter can be zero if no sort orders are active.
rgSortSpecs
Pointer to an array of actual sort order descriptions. The size of the array is specified by wNumSortOrder. This parameter can be NULL if wNumSortOrder is zero.

Return Values

If the function succeeds, the return value is the object identifier of the newly created database — not a handle to an open database. If the function fails, the return value is NULL. To get extended error information when within a CE program call GetLastError. If within a RAPI program, call CeGetLastError. GetLastError and CeGetLastError may return one of the following values:

ERROR_DISK_FULL
The object store does not contain enough space to create the new database.
ERROR_INVALID_PARAMETER
A parameter was invalid.
ERROR_DUP_NAME
A database already exists with the specified name.

Remarks

Because sort orders increase the system resources needed to perform each insert and delete operation, keep the number of sort orders to a minimum. However, try not to specify too few sort orders. If you do, you can use the CeSetDatabaseInfo function to change the sort order later; however, this function is even more expensive in terms of system resources.

For more information, see Accessing Persistent Storage.

When writing applications for Windows CE version 1.0, use the PegCreateDatabase function.

See Also

CeDeleteDatabase, CeOidGetInfo, CeOpenDatabase, CeSetDatabaseInfo, SORTORDERSPEC