On Sunday, June 14, 2015, Marcus Meissner <marcus@jet.franken.de> wrote:
From: Austin English <austinenglish@gmail.com>

Fixes http://bugs.winehq.org/show_bug.cgi?id=26978
---
 dlls/winscard/winscard.c    | 12 ++++++++++++
 dlls/winscard/winscard.spec |  4 ++--
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/dlls/winscard/winscard.c b/dlls/winscard/winscard.c
index bcf8129..cf7d52d 100644
--- a/dlls/winscard/winscard.c
+++ b/dlls/winscard/winscard.c
@@ -129,3 +129,15 @@ void WINAPI SCardReleaseStartedEvent(void)
 {
     FIXME("stub\n");
 }
+
+LONG WINAPI SCardListReadersA(SCARDCONTEXT context, LPCSTR groups, LPSTR readers, LPDWORD buflen)
+{
+    FIXME("(%lx, %s, %p, %p) stub\n", context, debugstr_a(groups), readers, buflen);
+    return SCARD_F_INTERNAL_ERROR;
+}
+
+LONG WINAPI SCardListReadersW(SCARDCONTEXT context, LPCWSTR groups, LPWSTR readers, LPDWORD buflen)
+{
+    FIXME("(%lx, %s, %p, %p) stub\n", context, debugstr_w(groups), readers, buflen);
+    return SCARD_F_INTERNAL_ERROR;
+}

Hi, that is not a good return code for error, it's better to return SCARD_E_NO_READERS_AVAILABLE. Most applications I tested will understand this error more properly and display better diagnose message to user.

Best Regards, 
Bruno