CeEnumDBVolumes

This function enumerates all mounted database volumes and returns the name for each. A remote application interface (RAPI) version of this function exists, and it is also called CeEnumDBVolumes.

At a Glance

Header file: Windbase.h
Windows CE versions: 2.10 and later

Syntax

BOOL CeEnumDBVolumes( PCEGUID pceguid, LPWSTR lpBuf,
DWORD dwNumChars );

Parameters

pceguid

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

lpBuf

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

dwNumChars

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

Return Values

TRUE indicates success. FALSE indicates failure. To get extended error information, call GetLastError. Possible values for GetLastError include the following:

ERROR_INVALID_PARAMETER

One of the parameters is invalid.

ERROR_NO_MORE_ITEMS

There are no more mounted volumes to enumerate.

ERROR_INSUFFICIENT_BUFFER

The specified buffer was not large enough.

Remarks

To enumerate all mounted volumes

  1. The operating system sets up the process of enumerating all database volumes.

  2. On the first successful completion, pceguid and lpBuf are set to the CEGUID and the database volume name of the first of the database volumes, respectively.

To continue enumeration

  1. Call CeEnumDBVolumes with the previously returned CEGUID. Continue until an error occurs.

  2. 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 prevents the necessity to completely restart the process.

See Also

CREATE_INVALIDGUID