CeEnumDBVolumes (RAPI)

Windows Mobile 6.5
A version of this page is also available for

This method enumerates all mounted database volumes on a remote Windows Embedded CE–based device and returns the name for each.

BOOL CeEnumDBVolumes (
  PCEGUID pceguid, 
  LPWSTR lpBuf,
  DWORD dwNumChars 


[in] To begin enumeration, set this parameter to the value returned by CREATE_INVALIDGUID macro


[out] Pointer to the allocated buffer that receives the database volume names.


[in] Specifies the length, in characters, of the buffer.

Nonzero indicates success. Zero indicates failure. To get extended error information, call CeGetLastError and CeRapiGetError. Possible values for CeGetLastError include the following:


One of the parameters is invalid.


There are no more mounted volumes to enumerate.


The specified buffer was not large enough.

To begin enumeration, set the pceguid parameter to the value returned by the CREATE_INVALIDGUID macro.On successful completion, pceguid and lpBuf are set to the CEGUID and the database volume name of the first of the database volume, respectively. To continue enumeration, call IRAPISession::CeEnumDBVolumes and set the pceguid parameter to the value returned by the previous call. Continue until an error occurs.

If the return value is ERROR_INSUFFICIENT_BUFFER, reallocate the buffer and use the pceguid that was returned from the failure to resume the enumeration. This eliminates the need to completely restart the process.

Windows Embedded CEWindows CE 3.0 and later
Windows MobilePocket PC 2000 and later, Smartphone 2002 and later

Community Additions