RasEnumDevices

[New - Windows NT]

The RasEnumDevices function returns the name and type of all available RAS-capable devices.

DWORD RasEnumDevices(

LPRASDEVINFO lpRasDevInfo, // buffer to receive information about RAS devices
LPDWORD lpcb, // size, in bytes, of the buffer
LPDWORD lpcDevices // receives the number of entries written to the buffer
);  

Parameters

lpRasDevInfo

Pointer to a buffer that receives an array of RASDEVINFO structures, one for each RAS-capable device. Before calling the function, set the dwSize member of the first RASDEVINFO structure in the buffer to sizeof(RASDEVINFO) to identify the version of the structure.

lpcb

Pointer to a variable that contains the size, in bytes, of the lpRasDevInfo buffer. On return, the function sets this variable to the number of bytes required to enumerate the devices.

To determine the required buffer size, call RasEnumDevices with the lpRasDevInfo parameter set to NULL and the variable pointed to by lpcb set to zero. The function returns the required buffer size in the variable pointed to by lpcb.

lpcDevices

Pointer to a variable that the function sets to the number of RASDEVINFO structures written to the lpRasDevInfo buffer.

Return Values

If the function succeeds, the return value is zero.

If the function fails, the return value is a nonzero RAS error value or one of following error codes.

Value Meaning
ERROR_BUFFER_TOO_SMALL The lpRasDevInfo buffer is not large enough. The function returns the required buffer size in the variable pointed to by lpcb.
ERROR_NOT_ENOUGH_MEMORY Indicates insufficient memory.
ERROR_INVALID_PARAMETER Indicates an invalid parameter value.
ERROR_INVALID_USER_BUFFER The address or buffer specified by lpRasDevInfo is invalid.

See Also

RASDEVINFO