This function provides the list of readers within a set of named reader groups, eliminating duplicates.

The caller supplies a list of reader groups, and receives the list of readers within the named groups. Unrecognized group names are ignored.

LONG SCardListReaders(
IN LPCTSTR mszGroups, 
OUT LPTSTR mszReaders, 
IN OUT LPDWORD pcchReaders );


  • hContext
    Handle to the resource manager context for the query. The resource manager context can be set by a previous call to SCardEstablishContext or set to NULL if the query is not directed towards a specific context.
  • mszGroups
    Supplies the names of the reader groups defined to the system as a multi-string. For Windows CE, set to NULL to list all readers in the system (that is, the SCard$AllReaders group).
  • mszReaders
    Receives a multi-string that lists the card readers within the supplied reader groups. If this value is NULL, SCardListReaders ignores the buffer length supplied in pcchReaders, writes the length of the buffer that would have been returned if this parameter had not been NULL to pcchReaders, and returns a success code.
  • pcchReaders
    Pointer to the length, in characters, of the mszReaders buffer; receives the actual length of the multi-string structure, including all trailing Null characters.

Return Values

Value Description
Fails An error value (see Smart Card Error values for a list of all error values)


SCardListReaders is a database query function.


Runs on Versions Defined in Include Link to
Windows CE OS 3.0 and later Winscard.h   Winscard.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.

See Also

SCardEstablishContext, SCardGetProviderId, SCardListCards, SCardListInterfaces

 Last updated on Tuesday, July 13, 2004

© 1992-2000 Microsoft Corporation. All rights reserved.