VBRAPI

Up
3DGraphics
CECards
ControlPanel
CreateEMail
Painter
ImageProcessing
DIBRotation
HexEdit
ProfileStrings
VBRAPI
CEShopper
CEThreads
HideTaskBar
HardwareKey
KeepAlive
CEMonkey
Pinging
POOMSamples
FrameBuffer
ICENStall

Home
Up

 

Name: VBRAPI

Download: VBRapi.zip

What is it: Using RAPI from VB on the desktop.

Features:

For Windows CE 2.0!

No Rights Reserved (i.e. FreeWare)

NOTE: Not all exposed functions are thoroughly tested. So use at your own risk. However, the functions used in the samples are tested thoroughly.

 

RemoteCE.tlb is a typelibrary that will allow the programmer to use the RAPI functions easily (hopefully) from within any COM aware development environment. For example, you can use the typelibrary to build a backup program entirely within the VBA implementation in MS Word.

The RemoteCE typelibrary functions as a simple way to utilize the RAPI.dll from within Visual Basic, without the use of the 'Declare' statement. For more details about this type of typelibrary construction, consult 'Hardcore Visual Basic' by Bruce McKinney. With his book he also provides a typelibrary which covers most (if not all necessary) Window 32 API functions and constants.

If you wish to use an ActiveX control which incorporate more functionality, such as connection notification, etc… just wait… Mr. Ethan Hunt (of Mission Impossible fame) is working on it…

How Do I Install?

You must register the typelibrary on your machine in order to use it. The use of the typelibrary is only necessary for a developer. The typelibrary does not need to ship with the application after the application is compiled.

For example, to register the RemoteCE.tlb in Visual Basic 5, just go to the Project/References dialog. Select Browse and find the file RemoteCE.tlb. By selecting the file you register it on your system.

How Do I Use?

  1. Unzip the files into a directory
  2. For developers: Register the typelibrary
  3. Review the documentation (what there is) and the sample applications
  4. Create cool Desktop applications

 

Sample Applications

Application Name: RCeCopy.exe

What does it do? Demonstrates how to use the RemoteCE.tlb in a Visual Basic application to copy a file from one location to another location on the WindowsCE device.

 

Application Name: RCeDBList.exe

What does it do? Demonstrates how to use the RemoteCE.tlb in a Visual Basic application to list the Databases on the WindowsCE device.

 

Application Name: RCeDBView.exe

What does it do? Not included in this release

 

Application Name: RCeFileList.exe

What does it do? Demonstrates how to use the RemoteCE.tlb in a Visual Basic application to list the Files on the WindowsCE device.

 

Application Name: RCeGet.exe

What does it do? Demonstrates how to use the RemoteCE.tlb in a Visual Basic application to 'GET' (i.e. copy from) a file on the WindowsCE device

 

Application Name: RCePut.exe

What does it do? Demonstrates how to use the RemoteCE.tlb in a Visual Basic application to 'PUT' (i.e. copy to) a file to the WindowsCE device.

 

Application Name: RCeRegView.exe

What does it do? Demonstrates how to use the RemoteCE.tlb in a Visual Basic application to view the details of the registry. Works like the SDK standard 'Monkey' program.

 

Application Name: RCeSysInfo.exe

What does it do? Demonstrates how to use the RemoteCE.tlb in a Visual Basic application to view the details of the system.

 

Application Group: RceGrabBag

What does it do? Contains samples for various RAPI functions. These samples were used in testing.

RAPI functions:

This documentation helps to describe the RAPI functions as incorporated into the RemoteCE typelibrary. It is based on the original 'C/C++' documentation and therefore may have some glaring inaccuracies. [Editor: It will be continually upgraded, as knew things are added/modified/corrected]

Detailed documentation for all function calls can be found in the Win32 SDK documentation.

See the end of the document for the CONSTANT numbers (i.e. for example ERROR_DISK_FULL = 112)

IMPORTANT NOTE: Strings passed to the typelib are ASCII. String returned from the typelib are Integer arrays (Unicode).

CeCheckPassword

The CeCheckPassword function compares a specified string to the system password. This function is the RAPI version of the CheckPassword function.

Syntax

Function CeCheckPassword(lpszPassword As String) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Parameters

 

lpszPassword
Pointer to an ASCII character string to compare with the system password.

Return Values

Returns TRUE if lpszPassword matches the system password, else FALSE.

Remarks

Upon a RAPI related failure, the return value is FALSE.

See Also

RCeCheckPassword.frm

CeCloseHandle

The CeCloseHandle function closes an open object handle. This is the RAPI version of the CloseHandle function.

Syntax

Function CeCloseHandle(hObject As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC

 

See Also

RCeDBlist.vbp 

 

CeCopyFile

The CeCopyFile function copies an existing file to a new file. This is the RAPI version of the CopyFile function.

Syntax

Function CeCopyFile(lpExistingFileName As String, lpNewFileName As String, bFailIfExists As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

Strings passed to the typelib are ascii. String returned from the typelib are Integer arrays (Unicode).

See Also

RCeCopyFile.vbp 

CeCreateDatabase

The CeCreateDatabase function creates a new database.

Syntax

Function CeCreateDatabase(lpszName As String, dwDbaseType As Long, wNumSortOrder As Integer, rgSortSpecs As SORTORDERSPEC) As ceOID

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 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.

See Also

CeDeleteDatabase, CeOidGetInfo, CeOpenDatabase, CeSetDatabaseInfo, SORTORDERSPEC

 

CeCreateDirectory

The CeCreateDirectory function creates a new directory. This is the RAPI version of the CreateDirectory function.

Syntax

Function CeCreateDirectory(lpPathName As String, SetToNull As Any) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

RCeCreateDirectory.frm

CeCreateFile

The CeCreateFile function creates, opens, or truncates a file, pipe, communications resource, disk device, or console. It returns a handle that can be used to access the object. It can also open and return a handle to a directory. This is the RAPI version of the CreateFile function.

The CreateFile function creates or opens the following objects and returns a handle that can be used to access the object:

files
pipes
mailslots
communications resources
consoles
directories (open only)

 

Syntax

Function CeCreateFile(lpFileName As String, dwDesiredAccess As Long, dwShareMode As Long, dwNull As Any, dwCreationDistribution As Long, dwFlagsAndAttributes As Long, hTemplateFile As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

RCePutFile.vbp

 

CeCreateProcess

The CeCreateProcess function is used to run a new program. It creates a new process and its primary thread. The new process executes the specified executable file. This is the remote API version of the CreateProcess function.

Syntax

Function CeCreateProcess(lpApplicationName As String, lpCommandLine As String, dwNull0 As Any, dwNull1 As Any, False As Long, dwCreationFlags As Long, dwNull2 As Any, dwNull4 As Any, dwNull5 As Any, lpProcessInformation As PROCESS_INFORMATION) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

The name of the module to execute must be specified by the lpApplicationName parameter. Windows CE does not support passing NULL for lpApplicationName. The execution module cannot be specified in the command line string.

Windows CE searches the directories indicated by the lpApplicationName parameter in the following order:

The root of the PC Card if it exists
The windows (\windows) directory
The root (\ ) directory of the device

The following parameters are not supported and require the following settings:

lpProcessAttributes must be NULL
lpThreadAttributes must be NULL
bInheritHandles must be FALSE
lpEnvironment must be NULL
lpCurrentDirectory must be NULL
lpStartupInfo must be NULL

For Windows CE version 1.0, the dwCreationFlags parameter only supports the following values: CREATE_SUSPENDED and zero.

For Windows CE version 2.0, the dwCreationFlags parameter only supports the following values: CREATE_SUSPENDED, DEBUG_PROCESS, DEBUG_ONLY_THIS_PROCESS and zero.

Priority classes for processes are not supported.

The loader has a limited search path.

 

See Also

RceCreateProcess.frm

 

CeRecordOidGetInfo

The CeRecordOidGetInfo function retrieves information about a RECORD in the object store.

Syntax

Function CeRecordOidGetInfo(oid As ceOID, poidInfo As CERECORDOIDINFO) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Parameters

 

oid
Identifier of the object for which information is to be retrieved.
poidInfo

 

Pointer to a CERECORDOIDINFO structure that contains information about the object. This structure is a CEOIDINFO structure with the 'Union' value returning CERECORDINFO.

Return Values

If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. To get extended error information, call GetLastError. GetLastError may return ERROR_INVALID_HANDLE if the given object identifier is invalid.

Remarks

Use the CeRecordOidGetInfo function to retrieve information about a record in the object store database or file system.

See Also

 

 

CeDirOidGetInfo

The CeDirOidGetInfo function retrieves information about a DIR in the object store.

Syntax

Function CeDirOidGetInfo(oid As ceOID, poidInfo As CEDIROIDINFO) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Parameters

 

oid
Identifier of the object for which information is to be retrieved.
poidInfo

 

Pointer to a CEDIROIDINFO structure that contains information about the object. This structure is a CEOIDINFO structure with the 'Union' value returning CEDIRINFO.

Return Values

If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. To get extended error information, call GetLastError. GetLastError may return ERROR_INVALID_HANDLE if the given object identifier is invalid.

Remarks

Use the CeDirOidGetInfo function to retrieve information about a DIR in the object store database or file system.

See Also

 

CeFileOidGetInfo

The CeFileOidGetInfo function retrieves information about a FILE in the object store.

Syntax

Function CeFileOidGetInfo(oid As ceOID, poidInfo As CEFILEOIDINFO) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Parameters

 

oid
Identifier of the object for which information is to be retrieved.
poidInfo
Pointer to a CEFILEOIDINFO structure that contains information about the object. This structure is a CEOIDINFO structure with the 'Union' value returning CEFILEINFO.

Return Values

If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. To get extended error information, call GetLastError. GetLastError may return ERROR_INVALID_HANDLE if the given object identifier is invalid.

Remarks

Use the CeFileOidGetInfo function to retrieve information about any object in the object store database or file system.

See Also

 

CeDBaseOidGetInfo

The CeDBaseOidGetInfo function retrieves information about a DBASE in the object store.

Syntax

Function CeDBaseOidGetInfo(oid As ceOID, poidInfo As CEDBASEOIDINFO) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Parameters

 

oid
Identifier of the object for which information is to be retrieved.
poidInfo
Pointer to a CEDBASEOIDINFO structure that contains information about the object. This structure is a CEOIDINFO structure with the 'Union' value returning CEDBASEINFO.

Return Values

If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. To get extended error information, call GetLastError. GetLastError may return ERROR_INVALID_HANDLE if the given object identifier is invalid.

Remarks

Use the CeDBaseOidGetInfo function to retrieve information about any object in the object store database or file system.

See Also

RCeDBList.vbp

 

CeDeleteDatabase

The CeDeleteDatabase function removes a database from the object store.

Syntax

Function CeDeleteDatabase(oidDbase As ceOID) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Parameters

 

oidDbase
Object identifier of the database to be deleted.

Return Values

If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. 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_INVALID_PARAMETER
A parameter was invalid.
ERROR_SHARING_VIOLATION
Another thread has an open handle to the database.

Remarks

The CeDeleteDatabase function deletes a database, including all records in the database.

See Also

CeCreateDatabase

 

CeDeleteFile

The CeDeleteFile function deletes an existing file from the object store. This function is the RAPI version of the DeleteFile function.

Syntax

Function CeDeleteFile(lpFileName As String) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 RceDeleteFile.frm

CeDeleteRecord

The CeDeleteRecord function deletes a record from a database.

Syntax

Function CeDeleteRecord(hDatabase As Long, oidRecord As ceOID) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Parameters

 

hDatabase
Handle to the database from which the record is to be deleted. The database must be open. Open a database by calling the CeOpenDatabase function.
oidRecord
Object identifier of the record to be deleted; this is obtained from CeOpenDatabase.

Return Values

If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. To get extended error information when within a CE program call GetLastError. If within a RAPI program, call CeGetLastError. GetLastError and CeGetLastError may return ERROR_INVALID_PARAMETER if the handle or object identifier is invalid.

Remarks

If the CEDB_AUTOINCREMENT flag was not specified when the database was opened, and the record being deleted is the current record, the next read operation that uses the database handle will fail. If the CEDB_AUTOINCREMENT flag was specified, the system automatically moves the current seek pointer forward by one.

See Also

CeOpenDatabase

 

CeFindAllDatabases

Not available in the RemoteCE.tlb. Use CeFindFirstDatabase and CeFindNextDatabase.

 See Also

RceDblist.vbp

CeFindAllFiles

Not available in the RemoteCE.tlb. Use CeFindFirstFile and CeFindNextFile

 See Also

RCeFilelist.vbp

CeFindClose

The CeFindClose function closes the specified search handle. This is the RAPI version of the FindClose function.

Syntax

Function CeFindClose(hFindFile As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 

CeFindFirstDatabase

The CeFindFirstDatabase function opens an enumeration context for all databases in the system. A RAPI version of this function exists and is also called CeFindFirstDatabase.

Syntax

Function CeFindFirstDatabase(dwDbaseType As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Parameters

 

dwDbaseType
Type identifier of the databases to enumerate. If this parameter is zero, all databases are enumerated.

Return Values

If the function succeeds, the return value is a handle to an enumeration context. To find the next database of the given type, specify the handle in a call to the CeFindNextDatabase function. If the function fails, the return value is INVALID_HANDLE_VALUE. To get extended error information when within a CE program call GetLastError. If within a RAPI program, call CeGetLastError. GetLastError and CeGetLastError may return ERROR_OUTOFMEMORY if no memory is available to allocate a database handle.

Remarks

Use the CeCloseHandle function to close the handle returned by the CeFindFirstDatabase function.

See Also

RceDblist.vbp 

CeFindFirstFile

The CeFindFirstFile function searches a directory for a file whose name matches the specified filename. CeFindFirstFile examines subdirectory names as well as filenames. This is the RAPI version of the FindFirstFile function.

Syntax

Function CeFindFirstFile(lpFileName As String, lpFindFileData As CE_FIND_DATA) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

RceFilelist.vbp 

CeFindNextDatabase

The CeFindNextDatabase function retrieves the next database in an enumeration context. A RAPI version of this function exists and is also called CeFindNextDatabase.

Syntax

Function CeFindNextDatabase(hEnum As Long) As ceOID

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Parameters

 

hEnum
Handle to an enumeration context; this handle is returned from CeFindFirstDatabase.

Return Values

If the function succeeds, the return value is the object identifier of the next database to be enumerated. If no more databases are left to enumerate, or if an error occurs, the return value is zero. 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_NO_MORE_ITEMS
The object store contains no more databases to enumerate.
ERROR_INVALID_PARAMETER
The hEnum parameter specified an invalid handle.

Remarks

See Also

RCeDBList.vbp 

CeFindNextFile

The CeFindNextFile function continues a file search from a previous call to the CeFindFirstFile function. This is the RAPI version of the FindNextFile function.

Syntax

Function CeFindNextFile(hFindFile As Long, lpFindFileData As CE_FIND_DATA) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

RceFileList.vbp 

CeGetClassName

The CeGetClassName function retrieves the name of the class to which the specified window belongs. This is the RAPI version of the GetClassName function.

Syntax

Function CeGetClassName(hWnd As Long, lpString As String, nMaxCount As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

Returned ClassName is Unicode.

See Also

 

CeGetDesktopDeviceCaps

The CeGetDesktopDeviceCaps function retrieves device-specific information about a specified device. This is the RAPI version of the GetDeviceCaps function.

Syntax

Function CeGetDesktopDeviceCaps(nIndex As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

RceSysInfo.vbp

CeGetFileAttributes

The CeGetFileAttributes function returns attributes for a specified file or directory. This is the RAPI version of the GetFileAttributes function.

Syntax

Function CeGetFileAttributes(lpFileName As String) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 RceGetFileAttributes.frm

CeGetFileSize

The CeGetFileSize function retrieves the size, in bytes, of the specified file. This is the RAPI version of the GetFileSize function.

Syntax

Function CeGetFileSize(hFile As Long, lpFileSizeHigh As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 RceGetFileSize.frm

CeGetFileTime

The CeGetFileTime function retrieves the date and time that a file was created, last accessed, and last modified. This is the RAPI version of the GetFileTime function.

Syntax

Function CeGetFileTime(hFile As Long, lpCreationTime As FILETIME, lpLastAccessTime As FILETIME, lpLastWriteTime As FILETIME) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 RceGetFileTime.frm

CeGetLastError

The CeGetLastError function returns the calling thread’s last error code. This is the RAPI version of the GetLastError function.

Syntax

Function CeGetLastError() As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 

CeGetSpecialFolderPath

The CeGetSpecialFolderPath function gets the path to a special shell folder.

Syntax

Function CeGetSpecialFolderPath(nFolder As Long, nBufferLength As Long, lpBuffer As String) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Parameters

 

nFolder
Value specifying the folder for which to retrieve the location. This parameter can be one of the following values:
CSIDL_BITBUCKET
Recycle bin—file system directory containing file objects in the user’s recycle bin. The location of this directory is not in the registry; it is marked with the hidden and system attributes to prevent the user from moving or deleting it.
CSIDL_COMMON_DESKTOP
File system directory that contains files and folders that appear on the desktop for all users.
CSIDL_COMMON_PROGRAMS
File system directory that contains the directories for the common program groups that appear on the Start menu for all users.
CSIDL_COMMON_STARTMENU
File system directory that contains the programs and folders that appear on the Start menu for all users.
CSIDL_COMMON_STARTUP
File system directory that contains the programs that appear in the Startup folder for all users. The system starts these programs whenever any user logs on to a Windows desktop platform.
CSIDL_CONTROLS
Control Panel—virtual folder containing icons for the control panel applications.
CSIDL_DESKTOP
Windows desktop—virtual folder at the root of the name space.
CSIDL_DESKTOPDIRECTORY
File system directory used to physically store file objects on the desktop — not to be confused with the desktop folder itself.
CSIDL_DRIVES
My Computer—virtual folder containing everything on the local computer: storage devices, printers, and Control Panel. The folder can also contain mapped network drives.
CSIDL_FONTS
Virtual folder containing fonts.
CSIDL_NETHOOD
File system directory containing objects that appear in the network neighborhood.
CSIDL_NETWORK
Network Neighborhood—virtual folder representing the top level of the network hierarchy.
CSIDL_PERSONAL
File system directory that serves as a common repository for documents.
CSIDL_PRINTERS
Printers folder—virtual folder containing installed printers.
CSIDL_PROGRAMS
File system directory that contains the user’s program groups which are also file system directories.
CSIDL_RECENT
File system directory containing the user’s most recently used documents.
CSIDL_SENDTO
File system directory containing Send To menu items.
CSIDL_STARTMENU
File system directory containing Start menu items.
CSIDL_STARTUP
File system directory that corresponds to the user’s Startup program group.
CSIDL_TEMPLATES
File system directory that serves as a common repository for document templates.
nBufferLength
Size of lpBuffer in characters.
lpBuffer
Unicode string.

Return Values

The return value is the length of the returned string; if a RAPI related failure, return value is FALSE.

 

CeGetStoreInformation

The CeGetStoreInformation function fills in a STORE_INFORMATION structure with the size of the object store and the amount of free space currently in the object store. This is the RAPI version of GetStoreInformation.

Syntax

Function CeGetStoreInformation(lpsi As STORE_INFORMATION) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

Upon a RAPI-related failure, the return value is FALSE.

See Also

 RceGetStoreInformation.frm

 

CeGetSystemInfo

The CeGetSystemInfo function returns information about the current system. This is the RAPI version of the GetSystemInfo function.

Syntax

Sub CeGetSystemInfo(lpSystemInfo As SYSTEM_INFO)

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

RceSysInfo.vbp

CeGetSystemMetrics

The CeGetSystemMetrics function retrieves the dimensions (widths and heights) of Windows display elements and system configuration settings. All dimensions retrieved by CeGetSystemMetrics are in pixels. This is the RAPI version of the GetSystemMetrics function.

Syntax

Function CeGetSystemMetrics(nIndex As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

RceSysInfo.vbp

CeGetSystemPowerStatusEx

The CeGetSystemPowerStatusEx function retrieves the power status of the system. The status indicates whether the system is running on AC or DC power, whether or not the batteries are currently charging, and the remaining life of main and backup batteries. This is the RAPI version of the GetSystemPowerStatusEx function.

Syntax

Function CeGetSystemPowerStatusEx(pstatus As SYSTEM_POWER_STATUS_EX, fUpdate As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Parameters

 

pstatus
Pointer to the SYSTEM_POWER_STATUS_EX structure receiving the power status information.
fUpdate
If this parameter is set to TRUE, CeGetSystemPowerStatusEx gets the latest information from the device driver, otherwise it retrieves cached information that may be out-of-date by several seconds.

Return Values

This function returns TRUE if successful, otherwise FALSE.

Remarks

See Also

RceSysInfo.vbp

CeGetTempPath

This function does not work correctly.

The CeGetTempPath function gets the path to the directory designated for temporary files.

Syntax

Function CeGetTempPath(nBufferLength As Long, lpBuffer As String) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Parameters

 

nBufferLength
Size of lpBuffer in characters.
lpBuffer
Address of the buffer for the folder path.

Return Values

The return value is the length, in characters, of the string copied to lpBuffer, not including the terminating null character. If the return value is greater than nBufferLength, the return value is the size of the buffer required to hold the path.

The returned value is a Unicode string. Use an integer array to retrieve the string.

If CeGetTempPath fails, the return value is 0. To get extended error information, call CeGetLastError.

Remarks

The CeGetTempPath function gets the temporary file path as follows:

1. The path specified by the TMP environment variable.

2. The path specified by the TEMP environment variable, if TMP is not defined.

3. The current directory, if both TMP and TEMP are not defined.

 

CeGetVersionEx

The CeGetVersionEx function obtains extended information about the version of the operating system that is currently running. This is the RAPI version of the GetVersionEx function.

Syntax

Function CeGetVersionEx(lpVersionInformation As CEOSVERSIONINFO) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

When writing applications for Windows CE Japanese 2.01 be aware that the Tool Bar will indicate that the version is 2.0.

See Also

 RceSysInfo.vbp

CeGetWindow

The CeGetWindow function retrieves the handle to a window that has the specified relationship to the specified window. This is the RAPI version of the GetWindow function.

Syntax

Function CeGetWindow(hWnd As Long, uCmd As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 

CeGetWindowLong

The CeGetWindowLong function retrieves information about the specified window. CeGetWindowLong also retrieves the 32-bit (long) value at the specified offset into the extra window memory of a window. This is the RAPI version of the GetWindowLong function.

Syntax

Function CeGetWindowLong(hWnd As Long, nIndex As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 

CeGetWindowText

The CeGetWindowText function copies the text of the specified window’s title bar (if it has one) into a buffer. If the specified window is a control, the text of the control is copied. This is the RAPI version of the GetWindowText function.

Syntax

Function CeGetWindowText(hWnd As Long, lpString As String, nMaxCount As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 

CeGlobalMemoryStatus

The CeGlobalMemoryStatus function gets information on the physical and virtual memory of the system. This is the RAPI version of the GlobalMemoryStatus function.

Syntax

Sub CeGlobalMemoryStatus(lpmst As MEMORYSTATUS)

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 RceSysInfo.vbp

CeMoveFile

The CeMoveFile function renames an existing file or a directory — including all its children. This is the RAPI version of the MoveFile function.

Syntax

Function CeMoveFile(lpExistingFileName As String, lpNewFileName As String) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 

CeOidGetInfo

Use the CeDBaseOidGetInfo, CeDirOidGetInfo, CeFileOidGetInfo, amd CeRecordOidGetInfo to retrieve information from the respective Object Store Items.

CeOpenDatabase

The CeOpenDatabase function opens an existing database.

Syntax

Function CeOpenDatabase(poid As ceOID, lpszName As String, propid As cePROPID, dwFlags As Long, hwndNotify As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Parameters

 

poid
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 to receive the object identifer of the newly opened database when a database name is specified for lpszName.
lpszName
Pointer to the name of the database to be opened. This parameter is ignored if the value pointed to by poid is non-zero.
propid
Property identifier of the primary key for the sort order in which the database is to be traversed. All subsequent calls to CeSeekDatabase assume this sort order. This parameter can be zero if the sort order is not important.
dwFlags
Action flag. The following values are supported:
CEDB_AUTOINCREMENT
Causes the current seek position to be automatically incremented with each call to the CeReadRecordProps function.
0 (ZERO)
Current seek position is not incremented with each call to CeReadRecordProps.
hwndNotify
Handle to the window to which notification messages (DB_CEOID_*) will be posted if another thread modifies the given database while you have it open. This parameter can be NULL if you do not need to receive notifications.

Return Values

If the function succeeds, the return value is a handle to the open database. If the function fails, the return value is INVALID_HANDLE_VALUE. 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_INVALID_PARAMETER
A parameter was invalid.
ERROR_FILE_NOT_FOUND
No database exists with the specified name. This value applies only if the value pointed to by poid was set to NULLwhen the function was called.
ERROR_NOT_ENOUGH_MEMORY
No memory was available to allocate a database handle.

Remarks

Use the CeCloseHandle function to close the handle returned by the CeOpenDatabase function.

Unlike many other traditional databases, opening and closing a database does not imply any transactioning. In other words, the database is not committed at the closing—it is committed after each individual call.

See Also

 

CeRapiFreeBuffer

The CeRapiFreeBuffer function frees the memory on the desktop PC allocated by a call to CeReadRecordProps.

Syntax

HRESULT CeRapiFreeBuffer(LPVOID Buffer);

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Parameters

 

Buffer
Pointer to the buffer to be freed.

Return Values

If the function completes successfully it returns the value SOK, otherwise it returns E_FAIL.

Remarks

Any RAPI function that allocates memory on the desktop PC on the users behalf must be freed by calling the CeRapiFreeBuffer function.

See Also

CeReadRecordProps

 

CeRapiGetError

The CeRapiGetError function reports remote API related failures. CeRapiGetError can be used to determine if a call failed due to a failure in the remote API.

Syntax

Function CeRapiGetError() As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Parameters

None.

Return Values

This function returns standard Win32 error values.

Remarks

 

CeRapiInit

The CeRapiInit function attempts to initialize the Windows CE Remote API.

Syntax

Function CeRapiInit() As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Parameters

None.

Return Values

If this function succeeds, the return value is E_SUCCESS. If this function is called when already initialized, it returns E_FAIL.

Remarks

The functions CeRapiInit or CeRapiInitEx must be called before any remote API calls can be performed. They initialize the underlying communications layers between the desktop PC and the target platform device.

A call to CeRapiInit does not return until the connection is made, an error occurs, or another thread calls CeRapiUninit. The CeRapiInitEx function does not block the calling thread. Instead, it uses an event to signal when initialization is complete.

See Also

All sample applications

 

CeRapiInitEx

The CeRapiInitEx function attempts to initialize the Windows CE Remote API and initially returns an event handle.

Avoid this function.

Syntax

Function CeRapiInitEx(pRapiInit As RAPIINIT) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Parameters

 

pRapiInit
Pointer to a RAPIINIT structure. The cbSize member of this structure contains the size of the structure being passed in. Initially, a handle to an event is passed back in the heRapiInit member of this structure. When the connection is made or an error occurs the event is set. The hrRapiInit member of this structure contains the value E_SUCCESS if the connection is successful or E_FAIL if an error occurred.

Return Values

If this function initially succeeds, it returns E_SUCCESS. If this function is called when RAPI is already initialized, it returns E_FAIL.

Remarks

The CeRapiInitEx or CeRapiInit functions must be called before any remote API calls can be performed. They initialize the underlying communications layers between the desktop PC and the target platform device.

Call CeRapiInitEx to avoid blocking a thread inside of a call to CeRapiInit. CeRapiInitEx returns immediately and continues initialization until the connection is made, until an error occurs, or until there is a call to CeRapiUninit. When CeRapiInitEx is complete it then sets the event specified in the heRapiInit member of the RAPIINIT structure.

After calling CeRapiInitEx, check the return value to see if an error occurred. If the call was initially successful, call the MsgWaitForMultipleObjects function to wait on the event handle passed back in the heRapiInit member of the RAPIINIT structure. When the event is set, check the hrRapiInit member of the structure to determine if the connection was successful.

To shut down or to abort the connection process, call the CeRapiUnInit function.

See Also

 

CeRapiUninit

The CeRapiUnInit function uninitializes the Windows CE Remote API. Use CeRapiInit and CeRapiUninit to open and close sessions with the Windows CE devices.

Syntax

Function CeRapiUninit() As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Parameters

None.

Return Values

If this function is called when not initialized, it will return E_FAIL.

Remarks

The CeRapiUnInit function should be called when the application has completed its use of the remote API services. It gracefully closes down the connection to the Windows CE device. If called when not in an initialized state, it will return E_FAIL.

 

CeReadFile

The CeReadFile function reads data from a file, starting at the position indicated by the file pointer. After the read operation has been completed, the file pointer is adjusted by the number of bytes actually read. This is the RAPI version of the ReadFile function.

Using this version of CeReadFile will return a byte array. Review the sample file (RceGetFile.vbp) to see how the lpBuffer should be initialized and used in Visual Basic.

Syntax

Function CeReadFile(hFile As Long, lpBuffer As Any, nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, CeReadFileNull As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

ReadFile

 

CeReadFileStr

The CeReadFileStr function reads data from a file, starting at the position indicated by the file pointer. After the read operation has been completed, the file pointer is adjusted by the number of bytes actually read. This is the RAPI version of the ReadFile function.

Using this version of CeReadFileStr will return a string. Review the sample file (RceGetFile.vbp) to see how the lpBuffer should be initialized and used in Visual Basic.

Syntax

 Function CeReadFileStr(hFile As Long, lpBuffer As String, nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, CeReadFileNull As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

ReadFile

 

CeReadRecordProps

The CeReadRecordProps function reads properties from the current record. This function is untested.

Syntax

Function CeReadRecordProps(hDbase As Long, dwFlags As Long, lpcPropID As <Unsupported variant type>, rgPropID As cePROPID, lplpBuffer As Byte, lpcbBuffer As Long) As ceOID

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Parameters

 

hDbase
Handle to an open database. The database must have been opened by a previous call to the CeOpenDatabase function.
dwFlags
Read flags. The following value is supported:
CEDB_ALLOWREALLOC
The LocalAlloc function was used to allocate the buffer specified by the lplpBuffer parameter, and the server can reallocate the buffer if it is not large enough to hold the requested properties.
lpcPropID
Number of property identifiers in the array specified by the rgPropID parameter. If rgPropID is NULL, this parameter receives the number of properties retrieved.
rgPropID
Pointer to an array of property identifiers for the properties to be retrieved. If this parameter is NULL, CeReadRecordProps retrieves all properties in the record.
lplpBuffer
Address of a pointer to a buffer that receives the requested properties. If the dwFlags parameter includes the CEDB_ALLOWREALLOC flag, the buffer may be reallocated if necessary. If the CEDB_ALLOWREALLOC flag is specified and this parameter is NULL, the server uses the LocalAlloc function to allocate a buffer of the appropriate size in the caller’s address space and returns a pointer to the buffer. Note that if the CEDB_ALLOWREALLOC flag is specified, it is possible for the value of this pointer to change even on failure. For example, the old memory might be freed and the allocation might then fail, leaving the pointer set to NULL.
lpcbBuffer
Pointer to a variable that contains the size, in bytes, of the buffer specified by the lplpBuffer parameter. When CeReadRecordProps returns, lpcbBuffer receives a value that indicates the actual size of the data copied to the buffer. If the buffer was too small to contain the data, this parameter can be used to calculate the amount of memory to allocate for the buffer if CEDB_ALLOWREALLOC was not specified.

Return Values

If the function succeeds, the return value is the object identifier of the record from which the function read. If the function fails, the return value is zero. 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_INVALID_PARAMETER
A parameter was invalid.
ERROR_NO_DATA
None of the requested properties was found. The output buffer and the size are valid.
ERROR_INSUFFICIENT_BUFFER
The given buffer was not large enough, and the reallocation failed — if the CEDB_ALLOWREALLOC flag was specified. The lpcbBuffer parameter contains the required buffer size.
ERROR_KEY_DELETED
The record that was about to be read was deleted by another thread. If the current record was reached as a result of an autoseek, this error is not returned, and the next record is returned.
ERROR_NO_MORE_ITEMS
The current seek pointer is at the end of the database.

Remarks

The CeReadRecordProps function reads the specified set of properties from the current record. If the database was opened with the autoseek flag — that is, if the dwFlags parameter of CeOpenDatabase was set to CEDB_AUTOINCREMENT — CeReadRecordProps increments the seek pointer by one so that the next call reads the next record in the current sort order. That is, if the database was opened with a sort order active, then CeReadRecordProps will return the records in sorted order. If the database was not opened with a sort order active, then the order in which records are returned is not predictable.

Read all needed properties from the record in a single call. The entire record is stored in a compressed format, and each time a property is read it must be decompressed. All the properties are returned in a single marshalled structure, which consists of an array of CEPROPVAL structures, one for each property requested — or one for each property found if the application set the rgPropID parameter to NULL when calling the function.

If a property was requested, such as strings or blobs that are packed in at the end of the array, the pointers in the CEPROPVAL structures point into this marshalled structure. This means that the only memory that must be freed is the original pointer to the buffer passed in to the call. Even if the function fails, it may have allocated memory on the caller’s behalf. Free the pointer returned by this function if the pointer is not NULL.

See Also

 

CeRegCloseKey

The CeRegCloseKey function releases the handle to the specified key. This is the RAPI version of the RegCloseKey function.

Syntax

Function CeRegCloseKey(hKey As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

RceRegView.vbp 

CeRegCreateKeyEx

The CeRegCreateKeyEx function creates the specified key. If the key already exists in the registry, CeRegCreateKeyEx opens it. This is the RAPI version of the RegCreateKeyEx function.

Syntax

Function CeRegCreateKeyEx(hKey As Long, lpszSubKey As String, dwReserved As Long, lpszClass As String, dwOptions As Long, samDesired As Long, lpSecurityAttributes As _SECURITY_ATTRIBUTES, phkResult As Long, lpdwDisposition As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 

CeRegDeleteKey

The CeRegDeleteKey function deletes a key and all its descendants. This is the RAPI version of the RegDeleteKey function.

Syntax

Function CeRegDeleteKey(hKey As Long, lpszSubKey As String) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 

CeRegDeleteValue

The CeRegDeleteValue function removes a named value from the specified registry key. This is the RAPI version of the RegDeleteValue function.

Syntax

Function CeRegDeleteValue(hKey As Long, lpszValueName As String) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 

CeRegEnumKeyEx

The CeRegEnumKeyEx function enumerates subkeys of the specified open registry key. CeRegEnumKeyEx retrieves information about one subkey each time it is called; it retrieves the class name of the subkey and the time it was last modified. This is the RAPI version of the RegEnumKeyEx function.

Syntax

Function CeRegEnumKeyEx(hKey As Long, dwIndex As Long, lpszName As Any, lpcchName As Long, lpReserved As Long, lpszClass As String, lpcchClass As Long, lpftLastWrite As FILETIME) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

 

CeRegEnumValue

The CeRegEnumValue function enumerates the values for the specified open registry key. CeRegEnumValue copies one indexed value name and data block for the key each time it is called. This is the RAPI version of the RegEnumValue function.

Syntax

Function CeRegEnumValue(hKey As Long, dwIndex As Long, lpszName As Any, lpcchName As Long, lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

RceRegView.vbp 

CeRegOpenKeyEx

The CeRegOpenKeyEx function opens the specified key. This is the RAPI version of the RegOpenKeyEx function.

Syntax

Function CeRegOpenKeyEx(hKey As Long, lpszSubKey As String, dwReserved As Long, samDesired As Long, phkResult As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 

CeRegQueryInfoKey

The CeRegQueryInfoKey function retrieves information about a specified registry key. This is the RAPI version of the RegQueryInfoKey function.

Syntax

Function CeRegQueryInfoKey(hKey As Long, lpszClass As Any, lpcchClass As Long, lpReserved As Long, lpcSubKeys As Long, lpcchMaxSubKeyLen As Long, lpcchMaxClassLen As Long, lpcValues As Long, lpcchMaxValueNameLen As Long, lpcbMaxValueData As Long, lpcbSecurityDescriptor As Long, lpftLastWriteTime As Any) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 

CeRegQueryValueEx

The CeRegQueryValueEx function retrieves the type and data for a specified value name associated with an open registry key. This is the RAPI version of the RegQueryValueEx function.

Syntax

Function CeRegQueryValueEx(hKey As Long, lpszValueName As Any, lpReserved As Long, lpType As Long, lpData As Byte, lpcbData As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 

CeRegSetValueEx

The CeRegSetValueEx function stores data in the value field of an open registry key. It can also set additional value and type information for the specified key. This is the RAPI version of the RegSetValueEx function.

Syntax

Function CeRegSetValueEx(hKey As Long, lpValueName As String, Reserved As Long, dwType As Long, lpData As Byte, cbData As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 

CeRemoveDirectory

The CeRemoveDirectory function deletes an existing empty directory. This is the RAPI version of the RemoveDirectory function.

Syntax

Function CeRemoveDirectory(lpPathName As String) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

  

CeSeekDatabase

The CeSeekDatabase function seeks the specified record in an open database.

Syntax

Function CeSeekDatabase(hDatabase As Long, dwSeekType As Long, dwValue As Long, lpdwIndex As Long) As ceOID

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Parameters

 

hDatabase
Handle to the open database in which to seek.
dwSeekType
Type of seek operation to perform. This parameter can be one of the following values:
CEDB_SEEK_CEOID
Seek until finding an object that has the given object identifier. The dwValue parameter specifies the object identifier. This type of seek operation is very efficient.
CEDB_SEEK_VALUESMALLER
Seek until finding the largest value that is smaller than the given value. If none of the records has a smaller value, 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_VALUEFIRSTEQUAL
Seek until finding the first value that is equal to the given value. If the seek operation fails, the seek pointer is left pointing 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, seek exactly one position forward in the sorted order and check if the next record is equal in value to the given value. If so, return the object identifier of this next record; otherwise, return zero and leave the seek pointer at the end of the database. This operation can be used in conjunction with the CEDB_SEEK_VALUEFIRSTEQUAL operation to enumerate all records with an equal value. The dwValue parameter specifies the value for which to seek.
CEDB_SEEK_VALUEGREATER
Seek until finding a value greater than or equal to the given value. If all records are smaller, 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_BEGINNING
Seek until finding the record at the given position from the beginning of the database. The dwValue parameter specifies the number of records to seek.
CEDB_SEEK_CURRENT
Seek backward or forward from the current position of the seek pointer for the given number of records. The dwValue parameter specifies the number of records from the current position. The function seeks forward if dwValue is a positive value, or backward if it is negative. A forward seek operation is efficient.
CEDB_SEEK_END
Seek backward for the given number of records from the end of the database. The dwValue parameter specifies the number of records.
dwValue
Value to use for the seek operation. The meaning of this parameter depends on the value of dwSeekType.
lpdwIndex
Pointer to a variable that receives the index from the start of the database to the beginning of the record that was found.

Return Values

If the function succeeds, the return value is the object identifier of the record on which the seek ends. If the function fails, the return value is zero. To get extended error information when within a CE program call GetLastError. If within a RAPI program, call CeGetLastError. GetLastError and CeGetLastError may return ERROR_INVALID_PARAMETER if a parameter is invalid.

Remarks

The CeSeekDatabase function always uses the current sort order as specified in the call to the CeOpenDatabase function. If the CEDB_AUTOINCREMENT flag was specified, an automatic seek of one from the current position is done with each read operation that occurs on the database.

Note that a seek can only be performed on a sorted property value. After creating a database (using CeCreateDatabase) and opening the database (using CeOpenDatabase), subsequent calls to CeSeekDatabase assume the sort order that was specified in the propid parameter of the call to CeOpenDatabase. Although property identifiers can be modified using CeWriteRecordProps, it is best to use the same property identifier for CeOpenDatabase that was used for the propid member of the SORTORDERSPEC structure that was passed in the call to CeCreateDatabase.

To enter negative values for the CEDB_SEEK_CURRENT case, cast a signed long. This changes the effective range on the record indexes to 31 bits from 32.

Multiple sort orders cannot be specified for a single property.

See Also

 

CeSetDatabaseInfo

The CeSetDatabaseInfo function sets various database parameters, including the name, type, and sort-order descriptions.

Syntax

Function CeSetDatabaseInfo(oidDbase As ceOID, pNewInfo As CEDBASEINFO) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Parameters

 

oidDbase
Object identifier of the database for which parameters are to be set.
pNewInfo
Pointer to a CEDBASEINFO structure that contains new parameter information for the database. The wNumRecords member of the structure is not used.

Return Values

If the function succeeds, the return value is TRUE. If the function fails, the return value is FALSE. 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_INVALID_PARAMETER
A parameter was invalid.
ERROR_DISK_FULL
The object store is full and any size changes required could not be accomodated. Changing sort orders can change the size of the stored records, though not by much.
ERROR_SHARING_VIOLATION
CeSetDatabaseInfo tried to remove a sort order that is being used by a currently open database.

Remarks

The CeSetDatabaseInfo function can be used to change the database parameters passed in while creating the database. Note that changing the sort order of the database can take several minutes. Before calling CeSetDatabaseInfo, an application should warn the user that this operation can be lengthy.

See Also

 

CeSetEndOfFile

The CeSetEndOfFile function moves the end-of-file position for the specified file to the current position of the file pointer. This is the RAPI version of the SetEndOfFile function.

Syntax

Function CeSetEndOfFile(hFile As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 

CeSetFileAttributes

The CeSetFileAttributes function sets a file’s attributes. This is the RAPI version of the SetFileAttributes function.

Syntax

Function CeSetFileAttributes(lpFileName As String, dwFileAttributes As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 

CeSetFilePointer

The CeSetFilePointer function moves the file pointer of an open file. This is the RAPI version of the SetFilePointer function.

Syntax

Function CeSetFilePointer(hFile As Long, lDistanceToMove As Long, lpDistanceToMoveHigh As Long, dwMoveMethod As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 

CeSetFileTime

The CeSetFileTime function sets the date and time that a file was created, last accessed, or last modified. This is the RAPI version of the SetFileTime function.

Syntax

Function CeSetFileTime(hFile As Long, lpCreationTime As FILETIME, lpLastAccessTime As FILETIME, lpLastWriteTime As FILETIME) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 

CeSHCreateShortcut

The CeSHCreateShortcut function creates a shortcut. This is the RAPI version of the SHCreateShortcut function.

Syntax

Function CeSHCreateShortcut(lpszShortcut As String, lpszTarget As String) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 

CeSHGetShortcutTarget

The CeSHGetShortcutTarget function retrieves the shortcut’s target path. This is the RAPI version of the SHGetShortcutTarget function.

Syntax

Function CeSHGetShortcutTarget(lpszShortcut As String, lpszTarget As String, Arg3 As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

CeWriteFile

The CeWriteFile function writes data to a file. CeWriteFile starts writing data to the file at the position indicated by the file pointer. After the write operation has been completed, the file pointer is adjusted by the number of bytes actually written. This is the RAPI version of the WriteFile function.

This function call writes data from a byte array. See RcePutFile.vbp.

Syntax

Function CeWriteFile(hFile As Long, lpBuffer As Any, nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, CeWriteFileNull As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 

CeWriteFileStr

The CeWriteFileStr function writes data to a file. CeWriteFileStr starts writing data to the file at the position indicated by the file pointer. After the write operation has been completed, the file pointer is adjusted by the number of bytes actually written. This is the RAPI version of the WriteFile function.

This function call writes data from a string. See RcePutFile.vbp.

Syntax

Function CeWriteFileStr(hFile As Long, lpBuffer As String, nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, CeWriteFileNull As Long) As Long

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Remarks

See Also

 

CeWriteRecordProps

The CeWriteRecordProps function writes a set of properties to a single record, creating the record if necessary. A RAPI version of this function exists and is also called CeWriteRecordProps.

Syntax

Function CeWriteRecordProps(hDbase As Long, oidRecord As ceOID, cPropID As Integer, rgPropVal As CEPROPVAL) As ceOID

At a Glance

Platforms: H/PC, Palm-size PC
Windows CE versions: 2.0 and later

 

Parameters

 

hDbase
Handle to an open database. The database must have been opened by a previous call to the CeOpenDatabase function.
oidRecord
Object identifier of the record to which the given properties are to be written. If this parameter is zero, a new record is created and filled in with the given properties.
cPropID
Number of properties in the array specified by the rgPropVal parameter. The cPropID parameter must not be zero.
rgPropVal
Pointer to an array of CEPROPVAL structures that specify the property values to be written to the given record.

Return Values

If the function succeeds, the return value is the object identifier of the record to which the properties were written. If the function fails, the return value is zero. 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
There was not enough space in the object store to write the properties.
ERROR_INVALID_PARAMETER
A parameter was invalid.

Remarks

The CeWriteRecordProps function writes all the requested properties into the specified record. CeWriteRecordProps does not move the seek pointer.

To delete a property, set the CEDB_PROPDELETE flag in the appropriate property value. This allows multiple deletes and changes in a single call, which is much more efficient than multiple calls.

 

 

Error Codes:

ERROR_SUCCESS 0
ERROR_INVALID_FUNCTION 1
ERROR_FILE_NOT_FOUND 2
ERROR_PATH_NOT_FOUND 3
ERROR_TOO_MANY_OPEN_FILES 4
ERROR_ACCESS_DENIED 5
ERROR_INVALID_HANDLE 6
ERROR_ARENA_TRASHED 7
ERROR_NOT_ENOUGH_MEMORY 8
ERROR_INVALID_BLOCK 9
ERROR_BAD_ENVIRONMENT 10
ERROR_BAD_FORMAT 11
ERROR_INVALID_ACCESS 12
ERROR_INVALID_DATA 13
ERROR_OUTOFMEMORY 14
ERROR_INVALID_DRIVE 15
ERROR_CURRENT_DIRECTORY 16
ERROR_NOT_SAME_DEVICE 17
ERROR_NO_MORE_FILES 18
ERROR_WRITE_PROTECT 19
ERROR_BAD_UNIT 20
ERROR_NOT_READY 21
ERROR_BAD_COMMAND 22
ERROR_CRC 23
ERROR_BAD_LENGTH 24
ERROR_SEEK 25
ERROR_NOT_DOS_DISK 26
ERROR_SECTOR_NOT_FOUND 27
ERROR_OUT_OF_PAPER 28
ERROR_WRITE_FAULT 29
ERROR_READ_FAULT 30
ERROR_GEN_FAILURE 31
ERROR_SHARING_VIOLATION 32
ERROR_LOCK_VIOLATION 33
ERROR_WRONG_DISK 34
ERROR_SHARING_BUFFER_EXCEEDED 36
ERROR_HANDLE_EOF 38
ERROR_HANDLE_DISK_FULL 39
ERROR_NOT_SUPPORTED 50
ERROR_REM_NOT_LIST 51
ERROR_DUP_NAME 52
ERROR_BAD_NETPATH 53
ERROR_NETWORK_BUSY 54
ERROR_DEV_NOT_EXIST 55
ERROR_TOO_MANY_CMDS 56
ERROR_ADAP_HDW_ERR 57
ERROR_BAD_NET_RESP 58
ERROR_UNEXP_NET_ERR 59
ERROR_BAD_REM_ADAP 60
ERROR_PRINTQ_FULL 61
ERROR_NO_SPOOL_SPACE 62
ERROR_PRINT_CANCELLED 63
ERROR_NETNAME_DELETED 64
ERROR_NETWORK_ACCESS_DENIED 65
ERROR_BAD_DEV_TYPE 66
ERROR_BAD_NET_NAME 67
ERROR_TOO_MANY_NAMES 68
ERROR_TOO_MANY_SESS 69
ERROR_SHARING_PAUSED 70
ERROR_REQ_NOT_ACCEP 71
ERROR_REDIR_PAUSED 72
ERROR_FILE_EXISTS 80
ERROR_CANNOT_MAKE 82
ERROR_FAIL_I24 83
ERROR_OUT_OF_STRUCTURES 84
ERROR_ALREADY_ASSIGNED 85
ERROR_INVALID_PASSWORD 86
ERROR_INVALID_PARAMETER 87
ERROR_NET_WRITE_FAULT 88
ERROR_NO_PROC_SLOTS 89
ERROR_TOO_MANY_SEMAPHORES 100
ERROR_EXCL_SEM_ALREADY_OWNED 101
ERROR_SEM_IS_SET 102
ERROR_TOO_MANY_SEM_REQUESTS 103
ERROR_INVALID_AT_INTERRUPT_TIME 104
ERROR_SEM_OWNER_DIED 105
ERROR_SEM_USER_LIMIT 106
ERROR_DISK_CHANGE 107
ERROR_DRIVE_LOCKED 108
ERROR_BROKEN_PIPE 109
ERROR_OPEN_FAILED 110
ERROR_BUFFER_OVERFLOW 111
ERROR_DISK_FULL 112
ERROR_NO_MORE_SEARCH_HANDLES 113
ERROR_INVALID_TARGET_HANDLE 114
ERROR_INVALID_CATEGORY 117
ERROR_INVALID_VERIFY_SWITCH 118
ERROR_BAD_DRIVER_LEVEL 119
ERROR_CALL_NOT_IMPLEMENTED 120
ERROR_SEM_TIMEOUT 121
ERROR_INSUFFICIENT_BUFFER 122
ERROR_INVALID_NAME 123
ERROR_INVALID_LEVEL 124
ERROR_NO_VOLUME_LABEL 125
ERROR_MOD_NOT_FOUND 126
ERROR_PROC_NOT_FOUND 127
ERROR_WAIT_NO_CHILDREN 128
ERROR_CHILD_NOT_COMPLETE 129
ERROR_DIRECT_ACCESS_HANDLE 130
ERROR_NEGATIVE_SEEK 131
ERROR_SEEK_ON_DEVICE 132
ERROR_IS_JOIN_TARGET 133
ERROR_IS_JOINED 134
ERROR_IS_SUBSTED 135
ERROR_NOT_JOINED 136
ERROR_NOT_SUBSTED 137
ERROR_JOIN_TO_JOIN 138
ERROR_SUBST_TO_SUBST 139
ERROR_JOIN_TO_SUBST 140
ERROR_SUBST_TO_JOIN 141
ERROR_BUSY_DRIVE 142
ERROR_SAME_DRIVE 143
ERROR_DIR_NOT_ROOT 144
ERROR_DIR_NOT_EMPTY 145
ERROR_IS_SUBST_PATH 146
ERROR_IS_JOIN_PATH 147
ERROR_PATH_BUSY 148
ERROR_IS_SUBST_TARGET 149
ERROR_SYSTEM_TRACE 150
ERROR_INVALID_EVENT_COUNT 151
ERROR_TOO_MANY_MUXWAITERS 152
ERROR_INVALID_LIST_FORMAT 153
ERROR_LABEL_TOO_LONG 154
ERROR_TOO_MANY_TCBS 155
ERROR_SIGNAL_REFUSED 156
ERROR_DISCARDED 157
ERROR_NOT_LOCKED 158
ERROR_BAD_THREADID_ADDR 159
ERROR_BAD_ARGUMENTS 160
ERROR_BAD_PATHNAME 161
ERROR_SIGNAL_PENDING 162
ERROR_MAX_THRDS_REACHED 164
ERROR_LOCK_FAILED 167
ERROR_BUSY 170
ERROR_CANCEL_VIOLATION 173
ERROR_ATOMIC_LOCKS_NOT_SUPPORTED 174
ERROR_INVALID_SEGMENT_NUMBER 180
ERROR_INVALID_ORDINAL 182
ERROR_ALREADY_EXISTS 183
ERROR_INVALID_FLAG_NUMBER 186
ERROR_SEM_NOT_FOUND 187
ERROR_INVALID_STARTING_CODESEG 188
ERROR_INVALID_STACKSEG 189
ERROR_INVALID_MODULETYPE 190
ERROR_INVALID_EXE_SIGNATURE 191
ERROR_EXE_MARKED_INVALID 192
ERROR_BAD_EXE_FORMAT 193
ERROR_ITERATED_DATA_EXCEEDS_64k 194
ERROR_INVALID_MINALLOCSIZE 195
ERROR_DYNLINK_FROM_INVALID_RING 196
ERROR_IOPL_NOT_ENABLED 197
ERROR_INVALID_SEGDPL 198
ERROR_AUTODATASEG_EXCEEDS_64k 199
ERROR_RING2SEG_MUST_BE_MOVABLE 200
ERROR_RELOC_CHAIN_XEEDS_SEGLIM 201
ERROR_INFLOOP_IN_RELOC_CHAIN 202
ERROR_ENVVAR_NOT_FOUND 203
ERROR_NO_SIGNAL_SENT 205
ERROR_FILENAME_EXCED_RANGE 206
ERROR_RING2_STACK_IN_USE 207
ERROR_META_EXPANSION_TOO_LONG 208
ERROR_INVALID_SIGNAL_NUMBER 209
ERROR_THREAD_1_INACTIVE 210
ERROR_LOCKED 212
ERROR_TOO_MANY_MODULES 214
ERROR_NESTING_NOT_ALLOWED 215
ERROR_BAD_PIPE 230
ERROR_PIPE_BUSY 231
ERROR_NO_DATA 232
ERROR_PIPE_NOT_CONNECTED 233
ERROR_MORE_DATA 234
ERROR_VC_DISCONNECTED 240
ERROR_INVALID_EA_NAME 254
ERROR_EA_LIST_INCONSISTENT 255
ERROR_NO_MORE_ITEMS 259
ERROR_CANNOT_COPY 266
ERROR_DIRECTORY 267
ERROR_EAS_DIDNT_FIT 275
ERROR_EA_FILE_CORRUPT 276
ERROR_EA_TABLE_FULL 277
ERROR_INVALID_EA_HANDLE 278
ERROR_EAS_NOT_SUPPORTED 282
ERROR_NOT_OWNER 288
ERROR_TOO_MANY_POSTS 298
ERROR_PARTIAL_COPY 299
ERROR_MR_MID_NOT_FOUND 317
ERROR_INVALID_ADDRESS 487
ERROR_ARITHMETIC_OVERFLOW 534
ERROR_PIPE_CONNECTED 535
ERROR_PIPE_LISTENING 536
ERROR_EA_ACCESS_DENIED 994
ERROR_OPERATION_ABORTED 995
ERROR_IO_INCOMPLETE 996
ERROR_IO_PENDING 997
ERROR_NOACCESS 998
ERROR_SWAPERROR 999
ERROR_STACK_OVERFLOW 1001
ERROR_INVALID_MESSAGE 1002
ERROR_CAN_NOT_COMPLETE 1003
ERROR_INVALID_FLAGS 1004
ERROR_UNRECOGNIZED_VOLUME 1005
ERROR_FILE_INVALID 1006
ERROR_FULLSCREEN_MODE 1007
ERROR_NO_TOKEN 1008
ERROR_BADDB 1009
ERROR_BADKEY 1010
ERROR_CANTOPEN 1011
ERROR_CANTREAD 1012
ERROR_CANTWRITE 1013
ERROR_REGISTRY_RECOVERED 1014
ERROR_REGISTRY_CORRUPT 1015
ERROR_REGISTRY_IO_FAILED 1016
ERROR_NOT_REGISTRY_FILE 1017
ERROR_KEY_DELETED 1018
ERROR_NO_LOG_SPACE 1019
ERROR_KEY_HAS_CHILDREN 1020
ERROR_CHILD_MUST_BE_VOLATILE 1021
ERROR_NOTIFY_ENUM_DIR 1022
ERROR_DEPENDENT_SERVICES_RUNNING 1051
ERROR_INVALID_SERVICE_CONTROL 1052
ERROR_SERVICE_REQUEST_TIMEOUT 1053
ERROR_SERVICE_NO_THREAD 1054
ERROR_SERVICE_DATABASE_LOCKED 1055
ERROR_SERVICE_ALREADY_RUNNING 1056
ERROR_INVALID_SERVICE_ACCOUNT 1057
ERROR_SERVICE_DISABLED 1058
ERROR_CIRCULAR_DEPENDENCY 1059
ERROR_SERVICE_DOES_NOT_EXIST 1060
ERROR_SERVICE_CANNOT_ACCEPT_CTRL 1061
ERROR_SERVICE_NOT_ACTIVE 1062
ERROR_FAILED_SERVICE_CONTROLLER_CONNECT 1063
ERROR_EXCEPTION_IN_SERVICE 1064
ERROR_DATABASE_DOES_NOT_EXIST 1065
ERROR_SERVICE_SPECIFIC_ERROR 1066
ERROR_PROCESS_ABORTED 1067
ERROR_SERVICE_DEPENDENCY_FAIL 1068
ERROR_SERVICE_LOGON_FAILED 1069
ERROR_SERVICE_START_HANG 1070
ERROR_INVALID_SERVICE_LOCK 1071
ERROR_SERVICE_MARKED_FOR_DELETE 1072
ERROR_SERVICE_EXISTS 1073
ERROR_ALREADY_RUNNING_LKG 1074
ERROR_SERVICE_DEPENDENCY_DELETED 1075
ERROR_BOOT_ALREADY_ACCEPTED 1076
ERROR_SERVICE_NEVER_STARTED 1077
ERROR_DUPLICATE_SERVICE_NAME 1078
ERROR_END_OF_MEDIA 1100
ERROR_FILEMARK_DETECTED 1101
ERROR_BEGINNING_OF_MEDIA 1102
ERROR_SETMARK_DETECTED 1103
ERROR_NO_DATA_DETECTED 1104
ERROR_PARTITION_FAILURE 1105
ERROR_INVALID_BLOCK_LENGTH 1106
ERROR_DEVICE_NOT_PARTITIONED 1107
ERROR_UNABLE_TO_LOCK_MEDIA 1108
ERROR_UNABLE_TO_UNLOAD_MEDIA 1109
ERROR_MEDIA_CHANGED 1110
ERROR_BUS_RESET 1111
ERROR_NO_MEDIA_IN_DRIVE 1112
ERROR_NO_UNICODE_TRANSLATION 1113
ERROR_DLL_INIT_FAILED 1114
ERROR_SHUTDOWN_IN_PROGRESS 1115
ERROR_NO_SHUTDOWN_IN_PROGRESS 1116
ERROR_IO_DEVICE 1117
ERROR_SERIAL_NO_DEVICE 1118
ERROR_IRQ_BUSY 1119
ERROR_MORE_WRITES 1120
ERROR_COUNTER_TIMEOUT 1121
ERROR_FLOPPY_ID_MARK_NOT_FOUND 1122
ERROR_FLOPPY_WRONG_CYLINDER 1123
ERROR_FLOPPY_UNKNOWN_ERROR 1124
ERROR_FLOPPY_BAD_REGISTERS 1125
ERROR_DISK_RECALIBRATE_FAILED 1126
ERROR_DISK_OPERATION_FAILED 1127
ERROR_DISK_RESET_FAILED 1128
ERROR_EOM_OVERFLOW 1129
ERROR_NOT_ENOUGH_SERVER_MEMORY 1130
ERROR_POSSIBLE_DEADLOCK 1131
ERROR_MAPPED_ALIGNMENT 1132
ERROR_SET_POWER_STATE_VETOED 1140
ERROR_SET_POWER_STATE_FAILED 1141
ERROR_OLD_WIN_VERSION 1150
ERROR_APP_WRONG_OS 1151
ERROR_SINGLE_INSTANCE_APP 1152
ERROR_RMODE_APP 1153
ERROR_INVALID_DLL 1154
ERROR_NO_ASSOCIATION 1155
ERROR_DDE_FAIL 1156
ERROR_DLL_NOT_FOUND 1157
ERROR_BAD_DEVICE 1200
ERROR_CONNECTION_UNAVAIL 1201
ERROR_DEVICE_ALREADY_REMEMBERED 1202
ERROR_NO_NET_OR_BAD_PATH 1203
ERROR_BAD_PROVIDER 1204
ERROR_CANNOT_OPEN_PROFILE 1205
ERROR_BAD_PROFILE 1206
ERROR_NOT_CONTAINER 1207
ERROR_EXTENDED_ERROR 1208
ERROR_INVALID_GROUPNAME 1209
ERROR_INVALID_COMPUTERNAME 1210
ERROR_INVALID_EVENTNAME 1211
ERROR_INVALID_DOMAINNAME 1212
ERROR_INVALID_SERVICENAME 1213
ERROR_INVALID_NETNAME 1214
ERROR_INVALID_SHARENAME 1215
ERROR_INVALID_PASSWORDNAME 1216
ERROR_INVALID_MESSAGENAME 1217
ERROR_INVALID_MESSAGEDEST 1218
ERROR_SESSION_CREDENTIAL_CONFLICT 1219
ERROR_REMOTE_SESSION_LIMIT_EXCEEDED 1220
ERROR_DUP_DOMAINNAME 1221
ERROR_NO_NETWORK 1222
ERROR_CANCELLED 1223
ERROR_USER_MAPPED_FILE 1224
ERROR_CONNECTION_REFUSED 1225
ERROR_GRACEFUL_DISCONNECT 1226
ERROR_ADDRESS_ALREADY_ASSOCIATED 1227
ERROR_ADDRESS_NOT_ASSOCIATED 1228
ERROR_CONNECTION_INVALID 1229
ERROR_CONNECTION_ACTIVE 1230
ERROR_NETWORK_UNREACHABLE 1231
ERROR_HOST_UNREACHABLE 1232
ERROR_PROTOCOL_UNREACHABLE 1233
ERROR_PORT_UNREACHABLE 1234
ERROR_REQUEST_ABORTED 1235
ERROR_CONNECTION_ABORTED 1236
ERROR_RETRY 1237
ERROR_CONNECTION_COUNT_LIMIT 1238
ERROR_LOGIN_TIME_RESTRICTION 1239
ERROR_LOGIN_WKSTA_RESTRICTION 1240
ERROR_INCORRECT_ADDRESS 1241
ERROR_ALREADY_REGISTERED 1242
ERROR_SERVICE_NOT_FOUND 1243
ERROR_NOT_AUTHENTICATED 1244
ERROR_NOT_LOGGED_ON 1245
ERROR_CONTINUE 1246
ERROR_ALREADY_INITIALIZED 1247
ERROR_NO_MORE_DEVICES 1248
ERROR_NOT_ALL_ASSIGNED 1300
ERROR_SOME_NOT_MAPPED 1301
ERROR_NO_QUOTAS_FOR_ACCOUNT 1302
ERROR_LOCAL_USER_SESSION_KEY 1303
ERROR_NULL_LM_PASSWORD 1304
ERROR_UNKNOWN_REVISION 1305
ERROR_REVISION_MISMATCH 1306
ERROR_INVALID_OWNER 1307
ERROR_INVALID_PRIMARY_GROUP 1308
ERROR_NO_IMPERSONATION_TOKEN 1309
ERROR_CANT_DISABLE_MANDATORY 1310
ERROR_NO_LOGON_SERVERS 1311
ERROR_NO_SUCH_LOGON_SESSION 1312
ERROR_NO_SUCH_PRIVILEGE 1313
ERROR_PRIVILEGE_NOT_HELD 1314
ERROR_INVALID_ACCOUNT_NAME 1315
ERROR_USER_EXISTS 1316
ERROR_NO_SUCH_USER 1317
ERROR_GROUP_EXISTS 1318
ERROR_NO_SUCH_GROUP 1319
ERROR_MEMBER_IN_GROUP 1320
ERROR_MEMBER_NOT_IN_GROUP 1321
ERROR_LAST_ADMIN 1322
ERROR_WRONG_PASSWORD 1323
ERROR_ILL_FORMED_PASSWORD 1324
ERROR_PASSWORD_RESTRICTION 1325
ERROR_LOGON_FAILURE 1326
ERROR_ACCOUNT_RESTRICTION 1327
ERROR_INVALID_LOGON_HOURS 1328
ERROR_INVALID_WORKSTATION 1329
ERROR_PASSWORD_EXPIRED 1330
ERROR_ACCOUNT_DISABLED 1331
ERROR_NONE_MAPPED 1332
ERROR_TOO_MANY_LUIDS_REQUESTED 1333
ERROR_LUIDS_EXHAUSTED 1334
ERROR_INVALID_SUB_AUTHORITY 1335
ERROR_INVALID_ACL 1336
ERROR_INVALID_SID 1337
ERROR_INVALID_SECURITY_DESCR 1338
ERROR_BAD_INHERITANCE_ACL 1340
ERROR_SERVER_DISABLED 1341
ERROR_SERVER_NOT_DISABLED 1342
ERROR_INVALID_ID_AUTHORITY 1343
ERROR_ALLOTTED_SPACE_EXCEEDED 1344
ERROR_INVALID_GROUP_ATTRIBUTES 1345
ERROR_BAD_IMPERSONATION_LEVEL 1346
ERROR_CANT_OPEN_ANONYMOUS 1347
ERROR_BAD_VALIDATION_CLASS 1348
ERROR_BAD_TOKEN_TYPE 1349
ERROR_NO_SECURITY_ON_OBJECT 1350
ERROR_CANT_ACCESS_DOMAIN_INFO 1351
ERROR_INVALID_SERVER_STATE 1352
ERROR_INVALID_DOMAIN_STATE 1353
ERROR_INVALID_DOMAIN_ROLE 1354
ERROR_NO_SUCH_DOMAIN 1355
ERROR_DOMAIN_EXISTS 1356
ERROR_DOMAIN_LIMIT_EXCEEDED 1357
ERROR_INTERNAL_DB_CORRUPTION 1358
ERROR_INTERNAL_ERROR 1359
ERROR_GENERIC_NOT_MAPPED 1360
ERROR_BAD_DESCRIPTOR_FORMAT 1361
ERROR_NOT_LOGON_PROCESS 1362
ERROR_LOGON_SESSION_EXISTS 1363
ERROR_NO_SUCH_PACKAGE 1364
ERROR_BAD_LOGON_SESSION_STATE 1365
ERROR_LOGON_SESSION_COLLISION 1366
ERROR_INVALID_LOGON_TYPE 1367
ERROR_CANNOT_IMPERSONATE 1368
ERROR_RXACT_INVALID_STATE 1369
ERROR_RXACT_COMMIT_FAILURE 1370
ERROR_SPECIAL_ACCOUNT 1371
ERROR_SPECIAL_GROUP 1372
ERROR_SPECIAL_USER 1373
ERROR_MEMBERS_PRIMARY_GROUP 1374
ERROR_TOKEN_ALREADY_IN_USE 1375
ERROR_NO_SUCH_ALIAS 1376
ERROR_MEMBER_NOT_IN_ALIAS 1377
ERROR_MEMBER_IN_ALIAS 1378
ERROR_ALIAS_EXISTS 1379
ERROR_LOGON_NOT_GRANTED 1380
ERROR_TOO_MANY_SECRETS 1381
ERROR_SECRET_TOO_LONG 1382
ERROR_INTERNAL_DB_ERROR 1383
ERROR_TOO_MANY_CONTEXT_IDS 1384
ERROR_LOGON_TYPE_NOT_GRANTED 1385
ERROR_NT_CROSS_ENCRYPTION_REQUIRED 1386
ERROR_NO_SUCH_MEMBER 1387
ERROR_INVALID_MEMBER 1388
ERROR_TOO_MANY_SIDS 1389
ERROR_LM_CROSS_ENCRYPTION_REQUIRED 1390
ERROR_NO_INHERITANCE 1391
ERROR_FILE_CORRUPT 1392
ERROR_DISK_CORRUPT 1393
ERROR_NO_USER_SESSION_KEY 1394
ERROR_INVALID_WINDOW_HANDLE 1400
ERROR_INVALID_MENU_HANDLE 1401
ERROR_INVALID_CURSOR_HANDLE 1402
ERROR_INVALID_ACCEL_HANDLE 1403
ERROR_INVALID_HOOK_HANDLE 1404
ERROR_INVALID_DWP_HANDLE 1405
ERROR_TLW_WITH_WSCHILD 1406
ERROR_CANNOT_FIND_WND_CLASS 1407
ERROR_WINDOW_OF_OTHER_THREAD 1408
ERROR_HOTKEY_ALREADY_REGISTERED 1409
ERROR_CLASS_ALREADY_EXISTS 1410
ERROR_CLASS_DOES_NOT_EXIST 1411
ERROR_CLASS_HAS_WINDOWS 1412
ERROR_INVALID_INDEX 1413
ERROR_INVALID_ICON_HANDLE 1414
ERROR_PRIVATE_DIALOG_INDEX 1415
ERROR_LISTBOX_ID_NOT_FOUND 1416
ERROR_NO_WILDCARD_CHARACTERS 1417
ERROR_CLIPBOARD_NOT_OPEN 1418
ERROR_HOTKEY_NOT_REGISTERED 1419
ERROR_WINDOW_NOT_DIALOG 1420
ERROR_CONTROL_ID_NOT_FOUND 1421
ERROR_INVALID_COMBOBOX_MESSAGE 1422
ERROR_WINDOW_NOT_COMBOBOX 1423
ERROR_INVALID_EDIT_HEIGHT 1424
ERROR_DC_NOT_FOUND 1425
ERROR_INVALID_HOOK_FILTER 1426
ERROR_INVALID_FILTER_PROC 1427
ERROR_HOOK_NEEDS_HMOD 1428
ERROR_GLOBAL_ONLY_HOOK 1429
ERROR_JOURNAL_HOOK_SET 1430
ERROR_HOOK_NOT_INSTALLED 1431
ERROR_INVALID_LB_MESSAGE 1432
ERROR_SETCOUNT_ON_BAD_LB 1433
ERROR_LB_WITHOUT_TABSTOPS 1434
ERROR_DESTROY_OBJECT_OF_OTHER_THREAD 1435
ERROR_CHILD_WINDOW_MENU 1436
ERROR_NO_SYSTEM_MENU 1437
ERROR_INVALID_MSGBOX_STYLE 1438
ERROR_INVALID_SPI_VALUE 1439
ERROR_SCREEN_ALREADY_LOCKED 1440
ERROR_HWNDS_HAVE_DIFF_PARENT 1441
ERROR_NOT_CHILD_WINDOW 1442
ERROR_INVALID_GW_COMMAND 1443
ERROR_INVALID_THREAD_ID 1444
ERROR_NON_MDICHILD_WINDOW 1445
ERROR_POPUP_ALREADY_ACTIVE 1446
ERROR_NO_SCROLLBARS 1447
ERROR_INVALID_SCROLLBAR_RANGE 1448
ERROR_INVALID_SHOWWIN_COMMAND 1449
ERROR_EVENTLOG_FILE_CORRUPT 1500
ERROR_EVENTLOG_CANT_START 1501
ERROR_LOG_FILE_FULL 1502
ERROR_EVENTLOG_FILE_CHANGED 1503
ERROR_INVALID_USER_BUFFER 1784
ERROR_UNRECOGNIZED_MEDIA 1785
ERROR_NO_TRUST_LSA_SECRET 1786
ERROR_NO_TRUST_SAM_ACCOUNT 1787
ERROR_TRUSTED_DOMAIN_FAILURE 1788
ERROR_TRUSTED_RELATIONSHIP_FAILURE 1789
ERROR_TRUST_FAILURE 1790
ERROR_NETLOGON_NOT_STARTED 1792
ERROR_ACCOUNT_EXPIRED 1793
ERROR_REDIRECTOR_HAS_OPEN_HANDLES 1794
ERROR_PRINTER_DRIVER_ALREADY_INSTALLED 1795
ERROR_UNKNOWN_PORT 1796
ERROR_UNKNOWN_PRINTER_DRIVER 1797
ERROR_UNKNOWN_PRINTPROCESSOR 1798
ERROR_INVALID_SEPARATOR_FILE 1799
ERROR_INVALID_PRIORITY 1800
ERROR_INVALID_PRINTER_NAME 1801
ERROR_PRINTER_ALREADY_EXISTS 1802
ERROR_INVALID_PRINTER_COMMAND 1803
ERROR_INVALID_DATATYPE 1804
ERROR_INVALID_ENVIRONMENT 1805
ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT 1807
ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT 1808
ERROR_NOLOGON_SERVER_TRUST_ACCOUNT 1809
ERROR_DOMAIN_TRUST_INCONSISTENT 1810
ERROR_SERVER_HAS_OPEN_HANDLES 1811
ERROR_RESOURCE_DATA_NOT_FOUND 1812
ERROR_RESOURCE_TYPE_NOT_FOUND 1813
ERROR_RESOURCE_NAME_NOT_FOUND 1814
ERROR_RESOURCE_LANG_NOT_FOUND 1815
ERROR_NOT_ENOUGH_QUOTA 1816
ERROR_INVALID_TIME 1901
ERROR_INVALID_FORM_NAME 1902
ERROR_INVALID_FORM_SIZE 1903
ERROR_ALREADY_WAITING 1904
ERROR_PRINTER_DELETED 1905
ERROR_INVALID_PRINTER_STATE 1906
ERROR_PASSWORD_MUST_CHANGE 1907
ERROR_DOMAIN_CONTROLLER_NOT_FOUND 1908
ERROR_ACCOUNT_LOCKED_OUT 1909
ERROR_INVALID_PIXEL_FORMAT 2000
ERROR_BAD_DRIVER 2001
ERROR_INVALID_WINDOW_STYLE 2002
ERROR_METAFILE_NOT_SUPPORTED 2003
ERROR_TRANSFORM_NOT_SUPPORTED 2004
ERROR_CLIPPING_NOT_SUPPORTED 2005
ERROR_BAD_USERNAME 2202
ERROR_NOT_CONNECTED 2250
ERROR_OPEN_FILES 2401
ERROR_ACTIVE_CONNECTIONS 2402
ERROR_DEVICE_IN_USE 2404
ERROR_UNKNOWN_PRINT_MONITOR 3000
ERROR_PRINTER_DRIVER_IN_USE 3001
ERROR_SPOOL_FILE_NOT_FOUND 3002
ERROR_SPL_NO_STARTDOC 3003
ERROR_SPL_NO_ADDJOB 3004
ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED 3005
ERROR_PRINT_MONITOR_ALREADY_INSTALLED 3006
ERROR_WINS_INTERNAL 4000
ERROR_CAN_NOT_DEL_LOCAL_WINS 4001
ERROR_STATIC_INIT 4002
ERROR_INC_BACKUP 4003
ERROR_FULL_BACKUP 4004
ERROR_REC_NON_EXISTENT 4005
ERROR_RPL_NOT_ALLOWED 4006
ERROR_NO_BROWSER_SERVERS_FOUND 6118
REGDB_E_CLASSNOTREG 0x80040154
REGDB_E_FIRST 0x80040150
REGDB_E_IIDNOTREG 0x80040155
REGDB_E_INVALIDVALUE 0x80040153
REGDB_E_KEYMISSING 0x80040152
REGDB_E_LAST 0x8004015F
REGDB_E_READREGDB 0x80040150
REGDB_E_WRITEREGDB 0x80040151
REGDB_S_FIRST 0x00040150
REGDB_S_LAST 0x0004015F

This page was last updated on 06/04/99.

 Feedback mailto:ppcdev@conduits.com