mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 08:25:03 +00:00
[WINSCARD]
* Import from Wine 1.7.17. * Properly stub some exports thanks to our previous code. * Add to build. CORE-8224 #resolve #comment Added in r63328. Thanks for reporting! CORE-8080 svn path=/trunk/; revision=63329
This commit is contained in:
parent
b0f91e882d
commit
1a4036b369
8 changed files with 825 additions and 880 deletions
|
@ -227,7 +227,7 @@ add_subdirectory(wing32)
|
|||
add_subdirectory(winhttp)
|
||||
add_subdirectory(wininet)
|
||||
add_subdirectory(winmm)
|
||||
#add_subdirectory(winscard) # not built in trunk
|
||||
add_subdirectory(winscard)
|
||||
add_subdirectory(winspool)
|
||||
add_subdirectory(winsta)
|
||||
add_subdirectory(wintrust)
|
||||
|
|
21
reactos/dll/win32/winscard/CMakeLists.txt
Normal file
21
reactos/dll/win32/winscard/CMakeLists.txt
Normal file
|
@ -0,0 +1,21 @@
|
|||
|
||||
add_definitions(-D__WINESRC__)
|
||||
include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine)
|
||||
spec2def(winscard.dll winscard.spec)
|
||||
|
||||
list(APPEND SOURCE
|
||||
winscard.c
|
||||
stubs.c
|
||||
precomp.h
|
||||
${CMAKE_CURRENT_BINARY_DIR}/winscard_stubs.c)
|
||||
|
||||
add_library(winscard SHARED
|
||||
${SOURCE}
|
||||
winscard.rc
|
||||
${CMAKE_CURRENT_BINARY_DIR}/winscard.def)
|
||||
|
||||
set_module_type(winscard win32dll)
|
||||
target_link_libraries(winscard wine)
|
||||
add_importlibs(winscard msvcrt kernel32 ntdll)
|
||||
add_pch(winscard precomp.h SOURCE)
|
||||
add_cd_file(TARGET winscard DESTINATION reactos/system32 FOR all)
|
|
@ -1,5 +1,19 @@
|
|||
#include <windows.h>
|
||||
#include <WinSCard.h>
|
||||
#include <debug.h>
|
||||
#ifndef _WINSCARD_PCH_
|
||||
#define _WINSCARD_PCH_
|
||||
|
||||
/* EOF */
|
||||
#include <wine/config.h>
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#define WIN32_NO_STATUS
|
||||
#define _INC_WINDOWS
|
||||
#define COM_NO_WINDOWS_H
|
||||
|
||||
#include <windef.h>
|
||||
#include <winbase.h>
|
||||
#include <winscard.h>
|
||||
|
||||
#include <wine/debug.h>
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(winscard);
|
||||
|
||||
#endif /* _WINSCARD_PCH_ */
|
||||
|
|
645
reactos/dll/win32/winscard/stubs.c
Normal file
645
reactos/dll/win32/winscard/stubs.c
Normal file
|
@ -0,0 +1,645 @@
|
|||
/*
|
||||
* PROJECT: ReactOS SmartCard API
|
||||
* FILE: dll/win32/winscard/stubs.c
|
||||
* PURPOSE: ReactOS SmartCard API
|
||||
* PROGRAMMER: Thomas Weidenmueller <w3seek@reactos.com>
|
||||
*
|
||||
* UPDATE HISTORY:
|
||||
* 11/07/2004 Created
|
||||
*/
|
||||
|
||||
#include <precomp.h>
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardBeginTransaction(SCARDHANDLE hCard)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardCancel(SCARDCONTEXT hContext)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardConnectA(SCARDCONTEXT hContext,
|
||||
LPCSTR szReader,
|
||||
DWORD dwShareMode,
|
||||
DWORD dwPreferredProtocols,
|
||||
LPSCARDHANDLE phCard,
|
||||
LPDWORD pdwActiveProtocol)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardConnectW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szReader,
|
||||
DWORD dwShareMode,
|
||||
DWORD dwPreferredProtocols,
|
||||
LPSCARDHANDLE phCard,
|
||||
LPDWORD pdwActiveProtocol)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardControl(SCARDHANDLE hCard,
|
||||
DWORD dwControlCode,
|
||||
LPCVOID lpInBuffer,
|
||||
DWORD nInBufferSize,
|
||||
LPVOID lpOutBuffer,
|
||||
DWORD nOutBufferSize,
|
||||
LPDWORD lpBytesReturned)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardDisconnect(SCARDHANDLE hCard,
|
||||
DWORD dwDisposition)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardEndTransaction(SCARDHANDLE hCard,
|
||||
DWORD dwDisposition)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardForgetCardTypeA(SCARDCONTEXT hContext,
|
||||
LPCSTR szCardName)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardForgetCardTypeW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szCardName)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardForgetReaderA(SCARDCONTEXT hContext,
|
||||
LPCSTR szReaderName)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardForgetReaderW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szReaderName)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardForgetReaderGroupA(SCARDCONTEXT hContext,
|
||||
LPCSTR szGroupName)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardForgetReaderGroupW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szGroupName)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardFreeMemory(SCARDCONTEXT hContext,
|
||||
LPCVOID pvMem)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardGetAttrib(SCARDHANDLE hCard,
|
||||
DWORD dwAttrId,
|
||||
LPBYTE pbAttr,
|
||||
LPDWORD pcbAttrLen)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardGetCardTypeProviderNameA(SCARDCONTEXT hContext,
|
||||
LPCSTR szCardName,
|
||||
DWORD dwProviderId,
|
||||
LPSTR szProvider,
|
||||
LPDWORD pcchProvider)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardGetCardTypeProviderNameW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szCardName,
|
||||
DWORD dwProviderId,
|
||||
LPWSTR szProvider,
|
||||
LPDWORD pcchProvider)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardGetProviderIdA(SCARDCONTEXT hContext,
|
||||
LPCSTR szCard,
|
||||
LPGUID pguidProviderId)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardGetProviderIdW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szCard,
|
||||
LPGUID pguidProviderId)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardGetStatusChangeA(SCARDCONTEXT hContext,
|
||||
DWORD dwTimeout,
|
||||
LPSCARD_READERSTATEA rgReaderState,
|
||||
DWORD cReaders)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardGetStatusChangeW(SCARDCONTEXT hContext,
|
||||
DWORD dwTimeout,
|
||||
LPSCARD_READERSTATEW rgReaderState,
|
||||
DWORD cReaders)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardIntroduceCardTypeA(SCARDCONTEXT hContext,
|
||||
LPCSTR szCardName,
|
||||
LPCGUID pguidPrimaryProvider,
|
||||
LPCGUID rgguidInterfaces,
|
||||
DWORD dwInterfaceCount,
|
||||
LPCBYTE pbAtr,
|
||||
LPCBYTE pbAtrMask,
|
||||
DWORD cbAtrLen)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardIntroduceCardTypeW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szCardName,
|
||||
LPCGUID pguidPrimaryProvider,
|
||||
LPCGUID rgguidInterfaces,
|
||||
DWORD dwInterfaceCount,
|
||||
LPCBYTE pbAtr,
|
||||
LPCBYTE pbAtrMask,
|
||||
DWORD cbAtrLen)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardIntroduceReaderA(SCARDCONTEXT hContext,
|
||||
LPCSTR szReaderName,
|
||||
LPCSTR szDeviceName)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardIntroduceReaderW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szReaderName,
|
||||
LPCWSTR szDeviceName)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardIntroduceReaderGroupA(SCARDCONTEXT hContext,
|
||||
LPCSTR szGroupName)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardIntroduceReaderGroupW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szGroupName)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardListCardsW(SCARDCONTEXT hContext,
|
||||
LPCBYTE pbAtr,
|
||||
LPCGUID rgguidInterface,
|
||||
DWORD cguidInterfaceCount,
|
||||
LPWSTR mszCards,
|
||||
LPDWORD pcchCards)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardListInterfacesA(SCARDCONTEXT hContext,
|
||||
LPCSTR szCard,
|
||||
LPGUID pguidInterfaces,
|
||||
LPDWORD pcguidInteraces)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardListInterfacesW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szCard,
|
||||
LPGUID pguidInterfaces,
|
||||
LPDWORD pcguidInteraces)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardListReaderGroupsA(SCARDCONTEXT hContext,
|
||||
LPSTR mszGroups,
|
||||
LPDWORD pcchGroups)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardListReaderGroupsW(SCARDCONTEXT hContext,
|
||||
LPWSTR mszGroups,
|
||||
LPDWORD pcchGroups)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardListReadersA(SCARDCONTEXT Context,
|
||||
LPCSTR mszGroups,
|
||||
LPSTR mszReaders,
|
||||
LPDWORD pcchReaders)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardListReadersW(SCARDCONTEXT Context,
|
||||
LPCWSTR mszGroups,
|
||||
LPWSTR mszReaders,
|
||||
LPDWORD pcchReaders)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardLocateCardsA(SCARDCONTEXT hContext,
|
||||
LPCSTR mszCards,
|
||||
LPSCARD_READERSTATEA rgReaderStates,
|
||||
DWORD cReaders)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardLocateCardsW(SCARDCONTEXT hContext,
|
||||
LPCWSTR mszCards,
|
||||
LPSCARD_READERSTATEW rgReaderStates,
|
||||
DWORD cReaders)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardLocateCardsByATRA(SCARDCONTEXT hContext,
|
||||
LPSCARD_ATRMASK rgAtrMasks,
|
||||
DWORD cAtrs,
|
||||
LPSCARD_READERSTATEA rgReaderStates,
|
||||
DWORD cReaders)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardLocateCardsByATRW(SCARDCONTEXT hContext,
|
||||
LPSCARD_ATRMASK rgAtrMasks,
|
||||
DWORD cAtrs,
|
||||
LPSCARD_READERSTATEW rgReaderStates,
|
||||
DWORD cReaders)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardReconnect(SCARDHANDLE hCard,
|
||||
DWORD dwShareMode,
|
||||
DWORD dwPreferredProtocols,
|
||||
DWORD dwInitialization,
|
||||
LPDWORD pdwActiveProtocol)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardRemoveReaderFromGroupA(SCARDCONTEXT hContext,
|
||||
LPCSTR szReaderName,
|
||||
LPCSTR szGroupname)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardRemoveReaderFromGroupW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szReaderName,
|
||||
LPCWSTR szGroupname)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardSetAttrib(SCARDHANDLE hCard,
|
||||
DWORD dwAttrId,
|
||||
LPCBYTE pbAttr,
|
||||
DWORD cbAttrLen)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardSetCardTypeProviderNameA(SCARDCONTEXT hContext,
|
||||
LPCSTR szCardName,
|
||||
DWORD dwProviderId,
|
||||
LPCSTR szProvider)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardSetCardTypeProviderNameW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szCardName,
|
||||
DWORD dwProviderId,
|
||||
LPCWSTR szProvider)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardState(SCARDHANDLE hCard,
|
||||
LPDWORD pdwState,
|
||||
LPDWORD pdwProtocol,
|
||||
LPBYTE pbAtr,
|
||||
LPDWORD pcbAtrlen)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardTransmit(SCARDHANDLE hCard,
|
||||
LPCSCARD_IO_REQUEST pioSendPci,
|
||||
LPCBYTE pbSendBuffer,
|
||||
DWORD cbSendLength,
|
||||
LPSCARD_IO_REQUEST pioRecvPci,
|
||||
LPBYTE pbRecvBuffer,
|
||||
LPDWORD pcbRecvLength)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
|
@ -1,6 +1,5 @@
|
|||
/*
|
||||
* ReactOS SmartCard API
|
||||
* Copyright (C) 2004 ReactOS Team
|
||||
* Copyright 2007 Mounir IDRASSI (mounir.idrassi@idrix.fr, for IDRIX)
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -14,843 +13,113 @@
|
|||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
/*
|
||||
* PROJECT: ReactOS SmartCard API
|
||||
* FILE: lib/winscard/winscard.c
|
||||
* PURPOSE: ReactOS SmartCard API
|
||||
* PROGRAMMER: Thomas Weidenmueller <w3seek@reactos.com>
|
||||
*
|
||||
* UPDATE HISTORY:
|
||||
* 11/07/2004 Created
|
||||
*/
|
||||
#include "precomp.h"
|
||||
|
||||
const SCARD_IO_REQUEST g_rgSCardT0Pci;
|
||||
const SCARD_IO_REQUEST g_rgSCardT1Pci;
|
||||
const SCARD_IO_REQUEST g_rgSCardRawPci;
|
||||
#include <precomp.h>
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
HANDLE
|
||||
WINAPI
|
||||
SCardAccessStartedEvent(VOID)
|
||||
#include <winternl.h>
|
||||
|
||||
static HANDLE g_startedEvent = NULL;
|
||||
|
||||
const SCARD_IO_REQUEST g_rgSCardT0Pci = { SCARD_PROTOCOL_T0, 8 };
|
||||
const SCARD_IO_REQUEST g_rgSCardT1Pci = { SCARD_PROTOCOL_T1, 8 };
|
||||
const SCARD_IO_REQUEST g_rgSCardRawPci = { SCARD_PROTOCOL_RAW, 8 };
|
||||
|
||||
|
||||
BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return NULL;
|
||||
TRACE("%p,%x,%p\n", hinstDLL, fdwReason, lpvReserved);
|
||||
|
||||
switch (fdwReason)
|
||||
{
|
||||
case DLL_PROCESS_ATTACH:
|
||||
DisableThreadLibraryCalls(hinstDLL);
|
||||
/* FIXME: for now, we act as if the pcsc daemon is always started */
|
||||
g_startedEvent = CreateEventA(NULL,TRUE,TRUE,NULL);
|
||||
break;
|
||||
case DLL_PROCESS_DETACH:
|
||||
if (lpvReserved) break;
|
||||
CloseHandle(g_startedEvent);
|
||||
break;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardAddReaderToGroupA(SCARDCONTEXT hContext,
|
||||
LPCSTR szReaderName,
|
||||
LPCSTR szGroupName)
|
||||
HANDLE WINAPI SCardAccessStartedEvent(void)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
return g_startedEvent;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardAddReaderToGroupW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szReaderName,
|
||||
LPCWSTR szGroupName)
|
||||
LONG WINAPI SCardAddReaderToGroupA(SCARDCONTEXT context, LPCSTR reader, LPCSTR group)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
LONG retval;
|
||||
UNICODE_STRING readerW, groupW;
|
||||
|
||||
if(reader) RtlCreateUnicodeStringFromAsciiz(&readerW,reader);
|
||||
else readerW.Buffer = NULL;
|
||||
if(group) RtlCreateUnicodeStringFromAsciiz(&groupW,group);
|
||||
else groupW.Buffer = NULL;
|
||||
|
||||
retval = SCardAddReaderToGroupW(context, readerW.Buffer, groupW.Buffer);
|
||||
|
||||
RtlFreeUnicodeString(&readerW);
|
||||
RtlFreeUnicodeString(&groupW);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardBeginTransaction(SCARDHANDLE hCard)
|
||||
LONG WINAPI SCardAddReaderToGroupW(SCARDCONTEXT context, LPCWSTR reader, LPCWSTR group)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
FIXME("%x %s %s\n", (unsigned int) context, debugstr_w(reader), debugstr_w(group));
|
||||
return SCARD_S_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardCancel(SCARDCONTEXT hContext)
|
||||
LONG WINAPI SCardEstablishContext(DWORD dwScope, LPCVOID pvReserved1,
|
||||
LPCVOID pvReserved2, LPSCARDCONTEXT phContext)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
FIXME("(%x,%p,%p,%p) stub\n", dwScope, pvReserved1, pvReserved2, phContext);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return SCARD_F_INTERNAL_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardConnectA(SCARDCONTEXT hContext,
|
||||
LPCSTR szReader,
|
||||
DWORD dwShareMode,
|
||||
DWORD dwPreferredProtocols,
|
||||
LPSCARDHANDLE phCard,
|
||||
LPDWORD pdwActiveProtocol)
|
||||
LONG WINAPI SCardIsValidContext(SCARDCONTEXT context)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
FIXME("(%lx) stub\n", context);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return SCARD_F_INTERNAL_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardConnectW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szReader,
|
||||
DWORD dwShareMode,
|
||||
DWORD dwPreferredProtocols,
|
||||
LPSCARDHANDLE phCard,
|
||||
LPDWORD pdwActiveProtocol)
|
||||
LONG WINAPI SCardListCardsA(SCARDCONTEXT hContext, LPCBYTE pbAtr, LPCGUID rgguidInterfaces, DWORD cguidInterfaceCount, LPSTR mszCards, LPDWORD pcchCards)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
FIXME(": stub\n");
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return SCARD_F_INTERNAL_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardControl(SCARDHANDLE hCard,
|
||||
DWORD dwControlCode,
|
||||
LPCVOID lpInBuffer,
|
||||
DWORD nInBufferSize,
|
||||
LPVOID lpOutBuffer,
|
||||
DWORD nOutBufferSize,
|
||||
LPDWORD lpBytesReturned)
|
||||
LONG WINAPI SCardReleaseContext(SCARDCONTEXT context)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
FIXME("(%lx) stub\n", context);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return SCARD_F_INTERNAL_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardDisconnect(SCARDHANDLE hCard,
|
||||
DWORD dwDisposition)
|
||||
LONG WINAPI SCardStatusA(SCARDHANDLE context, LPSTR szReaderName, LPDWORD pcchReaderLen, LPDWORD pdwState, LPDWORD pdwProtocol, LPBYTE pbAtr, LPDWORD pcbAtrLen)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
FIXME("(%lx) stub\n", context);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return SCARD_F_INTERNAL_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardEndTransaction(SCARDHANDLE hCard,
|
||||
DWORD dwDisposition)
|
||||
LONG WINAPI SCardStatusW(SCARDHANDLE context, LPWSTR szReaderName, LPDWORD pcchReaderLen, LPDWORD pdwState,LPDWORD pdwProtocol,LPBYTE pbAtr,LPDWORD pcbArtLen)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
FIXME("(%lx) stub\n", context);
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return SCARD_F_INTERNAL_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardEstablishContext(DWORD dwScope,
|
||||
LPCVOID pvReserved1,
|
||||
LPCVOID pvReserved2,
|
||||
LPSCARDCONTEXT phContext)
|
||||
void WINAPI SCardReleaseStartedEvent(void)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
FIXME("stub\n");
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardForgetCardTypeA(SCARDCONTEXT hContext,
|
||||
LPCSTR szCardName)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardForgetCardTypeW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szCardName)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardForgetReaderA(SCARDCONTEXT hContext,
|
||||
LPCSTR szReaderName)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardForgetReaderW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szReaderName)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardForgetReaderGroupA(SCARDCONTEXT hContext,
|
||||
LPCSTR szGroupName)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardForgetReaderGroupW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szGroupName)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardFreeMemory(SCARDCONTEXT hContext,
|
||||
LPCVOID pvMem)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardGetAttrib(SCARDHANDLE hCard,
|
||||
DWORD dwAttrId,
|
||||
LPBYTE pbAttr,
|
||||
LPDWORD pcbAttrLen)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardGetCardTypeProviderNameA(SCARDCONTEXT hContext,
|
||||
LPCSTR szCardName,
|
||||
DWORD dwProviderId,
|
||||
LPSTR szProvider,
|
||||
LPDWORD pcchProvider)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardGetCardTypeProviderNameW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szCardName,
|
||||
DWORD dwProviderId,
|
||||
LPWSTR szProvider,
|
||||
LPDWORD pcchProvider)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardGetProviderIdA(SCARDCONTEXT hContext,
|
||||
LPCSTR szCard,
|
||||
LPGUID pguidProviderId)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardGetProviderIdW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szCard,
|
||||
LPGUID pguidProviderId)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardGetStatusChangeA(SCARDCONTEXT hContext,
|
||||
DWORD dwTimeout,
|
||||
LPSCARD_READERSTATEA rgReaderState,
|
||||
DWORD cReaders)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardGetStatusChangeW(SCARDCONTEXT hContext,
|
||||
DWORD dwTimeout,
|
||||
LPSCARD_READERSTATEW rgReaderState,
|
||||
DWORD cReaders)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardIntroduceCardTypeA(SCARDCONTEXT hContext,
|
||||
LPCSTR szCardName,
|
||||
LPCGUID pguidPrimaryProvider,
|
||||
LPCGUID rgguidInterfaces,
|
||||
DWORD dwInterfaceCount,
|
||||
LPCBYTE pbAtr,
|
||||
LPCBYTE pbAtrMask,
|
||||
DWORD cbAtrLen)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardIntroduceCardTypeW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szCardName,
|
||||
LPCGUID pguidPrimaryProvider,
|
||||
LPCGUID rgguidInterfaces,
|
||||
DWORD dwInterfaceCount,
|
||||
LPCBYTE pbAtr,
|
||||
LPCBYTE pbAtrMask,
|
||||
DWORD cbAtrLen)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardIntroduceReaderA(SCARDCONTEXT hContext,
|
||||
LPCSTR szReaderName,
|
||||
LPCSTR szDeviceName)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardIntroduceReaderW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szReaderName,
|
||||
LPCWSTR szDeviceName)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardIntroduceReaderGroupA(SCARDCONTEXT hContext,
|
||||
LPCSTR szGroupName)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardIntroduceReaderGroupW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szGroupName)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardIsValidContext(SCARDCONTEXT hContext)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardListCardsA(SCARDCONTEXT hContext,
|
||||
LPCBYTE pbAtr,
|
||||
LPCGUID rgguidInterface,
|
||||
DWORD cguidInterfaceCount,
|
||||
LPCSTR mszCards,
|
||||
LPDWORD pcchCards)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardListCardsW(SCARDCONTEXT hContext,
|
||||
LPCBYTE pbAtr,
|
||||
LPCGUID rgguidInterface,
|
||||
DWORD cguidInterfaceCount,
|
||||
LPCWSTR mszCards,
|
||||
LPDWORD pcchCards)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardListInterfacesA(SCARDCONTEXT hContext,
|
||||
LPCSTR szCard,
|
||||
LPGUID pguidInterfaces,
|
||||
LPDWORD pcguidInteraces)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardListInterfacesW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szCard,
|
||||
LPGUID pguidInterfaces,
|
||||
LPDWORD pcguidInteraces)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardListReaderGroupsA(SCARDCONTEXT hContext,
|
||||
LPSTR mszGroups,
|
||||
LPDWORD pcchGroups)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardListReaderGroupsW(SCARDCONTEXT hContext,
|
||||
LPWSTR mszGroups,
|
||||
LPDWORD pcchGroups)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardListReadersA(SCARDCONTEXT Context,
|
||||
LPCSTR mszGroups,
|
||||
LPSTR mszReaders,
|
||||
LPDWORD pcchReaders)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardListReadersW(SCARDCONTEXT Context,
|
||||
LPCWSTR mszGroups,
|
||||
LPWSTR mszReaders,
|
||||
LPDWORD pcchReaders)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardLocateCardsA(SCARDCONTEXT hContext,
|
||||
LPCSTR mszCards,
|
||||
LPSCARD_READERSTATEA rgReaderStates,
|
||||
DWORD cReaders)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardLocateCardsW(SCARDCONTEXT hContext,
|
||||
LPCWSTR mszCards,
|
||||
LPSCARD_READERSTATEW rgReaderStates,
|
||||
DWORD cReaders)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardLocateCardsByATRA(SCARDCONTEXT hContext,
|
||||
LPSCARD_ATRMASK rgAtrMasks,
|
||||
DWORD cAtrs,
|
||||
LPSCARD_READERSTATEA rgReaderStates,
|
||||
DWORD cReaders)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardLocateCardsByATRW(SCARDCONTEXT hContext,
|
||||
LPSCARD_ATRMASK rgAtrMasks,
|
||||
DWORD cAtrs,
|
||||
LPSCARD_READERSTATEW rgReaderStates,
|
||||
DWORD cReaders)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardReconnect(SCARDHANDLE hCard,
|
||||
DWORD dwShareMode,
|
||||
DWORD dwPreferredProtocols,
|
||||
DWORD dwInitialization,
|
||||
LPDWORD pdwActiveProtocol)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardReleaseContext(SCARDCONTEXT hContext)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
VOID
|
||||
WINAPI
|
||||
SCardReleaseStartedEvent(HANDLE hStartedEventHandle)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardRemoveReaderFromGroupA(SCARDCONTEXT hContext,
|
||||
LPCSTR szReaderName,
|
||||
LPCSTR szGroupname)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardRemoveReaderFromGroupW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szReaderName,
|
||||
LPCWSTR szGroupname)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardSetAttrib(SCARDHANDLE hCard,
|
||||
DWORD dwAttrId,
|
||||
LPCBYTE pbAttr,
|
||||
DWORD cbAttrLen)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardSetCardTypeProviderNameA(SCARDCONTEXT hContext,
|
||||
LPCSTR szCardName,
|
||||
DWORD dwProviderId,
|
||||
LPCSTR szProvider)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardSetCardTypeProviderNameW(SCARDCONTEXT hContext,
|
||||
LPCWSTR szCardName,
|
||||
DWORD dwProviderId,
|
||||
LPCWSTR szProvider)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardState(SCARDHANDLE hCard,
|
||||
LPDWORD pdwState,
|
||||
LPDWORD pdwProtocol,
|
||||
LPBYTE pbAtr,
|
||||
LPDWORD pcbAtrlen)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardStatusA(SCARDHANDLE hCard,
|
||||
LPSTR szReaderName,
|
||||
LPDWORD pcchReaderLen,
|
||||
LPDWORD pdwState,
|
||||
LPDWORD pdwProtocol,
|
||||
LPBYTE pbAtr,
|
||||
LPDWORD pcbAtrLen)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardStatusW(SCARDHANDLE hCard,
|
||||
LPWSTR szReaderName,
|
||||
LPDWORD pcchReaderLen,
|
||||
LPDWORD pdwState,
|
||||
LPDWORD pdwProtocol,
|
||||
LPBYTE pbAtr,
|
||||
LPDWORD pcbAtrLen)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
LONG
|
||||
WINAPI
|
||||
SCardTransmit(SCARDHANDLE hCard,
|
||||
LPCSCARD_IO_REQUEST pioSendPci,
|
||||
LPCBYTE pbSendBuffer,
|
||||
DWORD cbSendLength,
|
||||
LPSCARD_IO_REQUEST pioRecvPci,
|
||||
LPBYTE pbRecvBuffer,
|
||||
LPDWORD pcbRecvLength)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return SCARD_F_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,68 +0,0 @@
|
|||
LIBRARY winscard.dll
|
||||
|
||||
EXPORTS
|
||||
;ClassInstall32@0 @1
|
||||
;SCardAccessNewReaderEvent@0 @2
|
||||
;SCardReleaseAllEvents@0 @3
|
||||
;SCardReleaseNewReaderEvent@0 @4
|
||||
SCardAccessStartedEvent@0 @5
|
||||
SCardAddReaderToGroupA@12 @6
|
||||
SCardAddReaderToGroupW@12 @7
|
||||
SCardBeginTransaction@4 @8
|
||||
SCardCancel@4 @9
|
||||
SCardConnectA@24 @10
|
||||
SCardConnectW@24 @11
|
||||
SCardControl@28 @12
|
||||
SCardDisconnect@8 @13
|
||||
SCardEndTransaction@8 @14
|
||||
SCardEstablishContext@16 @15
|
||||
SCardForgetCardTypeA@8 @16
|
||||
SCardForgetCardTypeW@8 @17
|
||||
SCardForgetReaderA@8 @18
|
||||
SCardForgetReaderGroupA@8 @19
|
||||
SCardForgetReaderGroupW@8 @20
|
||||
SCardForgetReaderW@8 @21
|
||||
SCardFreeMemory@8 @22
|
||||
SCardGetAttrib@16 @23
|
||||
SCardGetCardTypeProviderNameA@20 @24
|
||||
SCardGetCardTypeProviderNameW@20 @25
|
||||
SCardGetProviderIdA@12 @26
|
||||
SCardGetProviderIdW@12 @27
|
||||
SCardGetStatusChangeA@16 @28
|
||||
SCardGetStatusChangeW@16 @29
|
||||
SCardIntroduceCardTypeA@32 @30
|
||||
SCardIntroduceCardTypeW@32 @31
|
||||
SCardIntroduceReaderA@12 @32
|
||||
SCardIntroduceReaderGroupA@8 @33
|
||||
SCardIntroduceReaderGroupW@8 @34
|
||||
SCardIntroduceReaderW@12 @35
|
||||
SCardIsValidContext@4 @36
|
||||
SCardListCardsA@24 @37
|
||||
SCardListCardsW@24 @38
|
||||
SCardListInterfacesA@16 @39
|
||||
SCardListInterfacesW@16 @40
|
||||
SCardListReaderGroupsA@12 @41
|
||||
SCardListReaderGroupsW@12 @42
|
||||
SCardListReadersA@16 @43
|
||||
SCardListReadersW@16 @44
|
||||
SCardLocateCardsA@16 @45
|
||||
SCardLocateCardsByATRA@20 @46
|
||||
SCardLocateCardsByATRW@20 @47
|
||||
SCardLocateCardsW@16 @48
|
||||
SCardReconnect@20 @49
|
||||
SCardReleaseContext@4 @50
|
||||
SCardReleaseStartedEvent@4 @51
|
||||
SCardRemoveReaderFromGroupA@12 @52
|
||||
SCardRemoveReaderFromGroupW@12 @53
|
||||
SCardSetAttrib@16 @54
|
||||
SCardSetCardTypeProviderNameA@16 @55
|
||||
SCardSetCardTypeProviderNameW@16 @56
|
||||
SCardState@20 @57
|
||||
SCardStatusA@28 @58
|
||||
SCardStatusW@28 @59
|
||||
SCardTransmit@28 @60
|
||||
g_rgSCardRawPci @61 DATA
|
||||
g_rgSCardT0Pci @62 DATA
|
||||
g_rgSCardT1Pci @63 DATA
|
||||
|
||||
; EOF
|
63
reactos/dll/win32/winscard/winscard.spec
Normal file
63
reactos/dll/win32/winscard/winscard.spec
Normal file
|
@ -0,0 +1,63 @@
|
|||
@ stdcall -stub ClassInstall32(long ptr ptr)
|
||||
@ stdcall -stub SCardAccessNewReaderEvent()
|
||||
@ stdcall -stub SCardReleaseAllEvents()
|
||||
@ stub SCardReleaseNewReaderEvent
|
||||
@ stdcall SCardAccessStartedEvent()
|
||||
@ stdcall SCardAddReaderToGroupA(long str str)
|
||||
@ stdcall SCardAddReaderToGroupW(long wstr wstr)
|
||||
@ stdcall SCardBeginTransaction(long)
|
||||
@ stdcall SCardCancel(long)
|
||||
@ stdcall SCardConnectA(long ptr long long ptr ptr)
|
||||
@ stdcall SCardConnectW(long ptr long long ptr ptr)
|
||||
@ stdcall SCardControl(long long ptr long ptr long ptr)
|
||||
@ stdcall SCardDisconnect(long long)
|
||||
@ stdcall SCardEndTransaction(long long)
|
||||
@ stdcall SCardEstablishContext(long ptr ptr ptr)
|
||||
@ stdcall SCardForgetCardTypeA(long ptr)
|
||||
@ stdcall SCardForgetCardTypeW(long ptr)
|
||||
@ stdcall SCardForgetReaderA(long ptr)
|
||||
@ stdcall SCardForgetReaderGroupA(long ptr)
|
||||
@ stdcall SCardForgetReaderGroupW(long ptr)
|
||||
@ stdcall SCardForgetReaderW(long ptr)
|
||||
@ stdcall SCardFreeMemory(long ptr)
|
||||
@ stdcall SCardGetAttrib(long long ptr ptr)
|
||||
@ stdcall SCardGetCardTypeProviderNameA(long ptr long ptr ptr)
|
||||
@ stdcall SCardGetCardTypeProviderNameW(long ptr long ptr ptr)
|
||||
@ stdcall SCardGetProviderIdA(long ptr ptr)
|
||||
@ stdcall SCardGetProviderIdW(long ptr ptr)
|
||||
@ stdcall SCardGetStatusChangeA(long long ptr long)
|
||||
@ stdcall SCardGetStatusChangeW(long long ptr long)
|
||||
@ stdcall SCardIntroduceCardTypeA(long ptr ptr ptr long ptr ptr long)
|
||||
@ stdcall SCardIntroduceCardTypeW(long ptr ptr ptr long ptr ptr long)
|
||||
@ stdcall SCardIntroduceReaderA(long ptr ptr)
|
||||
@ stdcall SCardIntroduceReaderGroupA(long ptr)
|
||||
@ stdcall SCardIntroduceReaderGroupW(long ptr)
|
||||
@ stdcall SCardIntroduceReaderW(long ptr ptr)
|
||||
@ stdcall SCardIsValidContext(long)
|
||||
@ stdcall SCardListCardsA(long ptr ptr long str long)
|
||||
@ stdcall SCardListCardsW(long ptr ptr long str long)
|
||||
@ stdcall SCardListInterfacesA(long ptr ptr ptr)
|
||||
@ stdcall SCardListInterfacesW(long ptr ptr ptr)
|
||||
@ stdcall SCardListReaderGroupsA(long ptr ptr)
|
||||
@ stdcall SCardListReaderGroupsW(long ptr ptr)
|
||||
@ stdcall SCardListReadersA(long ptr ptr ptr)
|
||||
@ stdcall SCardListReadersW(long ptr ptr ptr)
|
||||
@ stdcall SCardLocateCardsA(long ptr ptr long)
|
||||
@ stdcall SCardLocateCardsByATRA(long ptr long ptr long)
|
||||
@ stdcall SCardLocateCardsByATRW(long ptr long ptr long)
|
||||
@ stdcall SCardLocateCardsW(long ptr ptr long)
|
||||
@ stdcall SCardReconnect(long long long long ptr)
|
||||
@ stdcall SCardReleaseContext(long)
|
||||
@ stdcall SCardReleaseStartedEvent()
|
||||
@ stdcall SCardRemoveReaderFromGroupA(long ptr ptr)
|
||||
@ stdcall SCardRemoveReaderFromGroupW(long ptr ptr)
|
||||
@ stdcall SCardSetAttrib(long long ptr long)
|
||||
@ stdcall SCardSetCardTypeProviderNameA(long ptr long ptr)
|
||||
@ stdcall SCardSetCardTypeProviderNameW(long ptr long ptr)
|
||||
@ stdcall SCardState(long ptr ptr ptr ptr)
|
||||
@ stdcall SCardStatusA (long str long long long ptr long )
|
||||
@ stdcall SCardStatusW (long wstr long long long ptr long )
|
||||
@ stdcall SCardTransmit(long ptr ptr long ptr ptr ptr)
|
||||
@ extern g_rgSCardRawPci
|
||||
@ extern g_rgSCardT0Pci
|
||||
@ extern g_rgSCardT1Pci
|
|
@ -212,6 +212,7 @@ reactos/dll/win32/wininet # Synced to Wine-1.7.17
|
|||
reactos/dll/win32/winmm # Forked at Wine-20050628
|
||||
reactos/dll/win32/winmm/midimap # Forked at Wine-20050628
|
||||
reactos/dll/win32/winmm/wavemap # Forked at Wine-20050628
|
||||
reactos/dll/win32/winscard # Synced to Wine-1.7.17
|
||||
reactos/dll/win32/wintrust # Synced to Wine-1.7.17
|
||||
reactos/dll/win32/wldap32 # Synced to Wine-1.7.17
|
||||
reactos/dll/win32/wmi # Synced to Wine-1.7.17
|
||||
|
|
Loading…
Reference in a new issue