2.2.2.3 ListReaderGroups_Call

The ListReaderGroups_Call structure contains the parameters for the List Readers Groups call (for more information, see sections 3.1.4.5 and 3.1.4.6).

 typedef struct _ListReaderGroups_Call {
   REDIR_SCARDCONTEXT Context;
   long fmszGroupsIsNULL;
   unsigned long cchGroups;
 } ListReaderGroups_Call;

Context: A valid context, as specified in section 2.2.1.1.

fmszGroupsIsNULL: A Boolean value specifying whether the caller wants to retrieve just the length of the data. Set to FALSE (0x00000000) in order to allow the data to be returned. Set to TRUE (0x00000001) and only the length of the data will be returned.

cchGroups: The length of the string buffer specified by the caller. If cchGroups is set to SCARD_AUTOALLOCATE with a value of 0xFFFFFFFF, a string of any length can be returned. Otherwise, the returned string MUST NOT exceed cchGroups characters in length, including any null characters. When the string to be returned exceeds cchGroups characters in length, including any null characters, ListReaderGroups_Return.ReturnCode MUST be set to SCARD_E_INSUFFICIENT_BUFFER (0x80100008). The cchGroups field MUST be ignored if fmszGroupsIsNULL is set to TRUE (0x00000001). Also, if fmszGroupsIsNULL is set to FALSE (0x00000000) but cchGroups is set to 0x00000000, then the call MUST succeed, ListReaderGroups_Return.cBytes MUST be set to the length of the data, in bytes, and ListReaderGroups_Return.msz MUST be set to NULL.