Microsoft Windows CE 3.0  

CeCreateDatabase

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 creates a new database. This function is obsolete. Applications instead should call CeCreateDatabaseEx.

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

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

Parameters

lpszName
[in] Long 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 and the database is created. Do not use an empty string as the database name.
dwDbaseType
[in] Specifies the 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 CeFindFirstDatabasefor details. The type identifier is not meant to be a unique identifier for the database. The system does not use this value.
wNumSortOrder
[in] 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. If this value is zero, then the database engine creates a default sort order where "rgSortSpecs[0].propid = 0". This is only a placeholder and does not influence the insertion order of the records.
rgSortSpecs
[in] Pointer to an array of actual sort order descriptions. The size of the array is specified by wNumSortOrder. This parameter can be NULL if wNumSortOrderis zero.

Return Values

The object identifier of the newly created database—not a handle to an open database—indicates success. NULL indicates failure. To get extended error information within a Windows CE program, call GetLastError. Possible values for GetLastErrorinclude the following:

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

Note   Earlier versions (2.12 and prior) of Windows CE assigned OIDs 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.

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 CeSetDatabaseInfoExfunction to change the sort order later; however, this function is even more expensive in terms of system resources.

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.

CeCreateDatabaseEx, CeDeleteDatabaseEx, CeOidGetInfoEx, CeOpenDatabaseEx, CeSetDatabaseInfoEx, SORTORDERSPEC