From: Amine Khaldi Date: Sat, 17 May 2014 14:06:12 +0000 (+0000) Subject: [WINSCARD] X-Git-Tag: backups/0.3.17@66124~1229 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=1a4036b36935236e11be68ce5838ae054a308db0 [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 --- diff --git a/reactos/dll/win32/CMakeLists.txt b/reactos/dll/win32/CMakeLists.txt index 21f27e093ce..3355a269c2d 100644 --- a/reactos/dll/win32/CMakeLists.txt +++ b/reactos/dll/win32/CMakeLists.txt @@ -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) diff --git a/reactos/dll/win32/winscard/CMakeLists.txt b/reactos/dll/win32/winscard/CMakeLists.txt new file mode 100644 index 00000000000..c7b54e35e44 --- /dev/null +++ b/reactos/dll/win32/winscard/CMakeLists.txt @@ -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) diff --git a/reactos/dll/win32/winscard/precomp.h b/reactos/dll/win32/winscard/precomp.h index 4175448869f..0cbff0095f0 100644 --- a/reactos/dll/win32/winscard/precomp.h +++ b/reactos/dll/win32/winscard/precomp.h @@ -1,5 +1,19 @@ -#include -#include -#include +#ifndef _WINSCARD_PCH_ +#define _WINSCARD_PCH_ -/* EOF */ +#include + +#include + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COM_NO_WINDOWS_H + +#include +#include +#include + +#include +WINE_DEFAULT_DEBUG_CHANNEL(winscard); + +#endif /* _WINSCARD_PCH_ */ diff --git a/reactos/dll/win32/winscard/stubs.c b/reactos/dll/win32/winscard/stubs.c new file mode 100644 index 00000000000..25253ff0f3a --- /dev/null +++ b/reactos/dll/win32/winscard/stubs.c @@ -0,0 +1,645 @@ +/* + * PROJECT: ReactOS SmartCard API + * FILE: dll/win32/winscard/stubs.c + * PURPOSE: ReactOS SmartCard API + * PROGRAMMER: Thomas Weidenmueller + * + * UPDATE HISTORY: + * 11/07/2004 Created + */ + +#include + +/* + * @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; +} diff --git a/reactos/dll/win32/winscard/winscard.c b/reactos/dll/win32/winscard/winscard.c index e2eb7557c0d..39cdd0b77ee 100644 --- a/reactos/dll/win32/winscard/winscard.c +++ b/reactos/dll/win32/winscard/winscard.c @@ -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 - * - * 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; - -/* - * @unimplemented - */ -HANDLE -WINAPI -SCardAccessStartedEvent(VOID) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return NULL; -} - - -/* - * @unimplemented - */ -LONG -WINAPI -SCardAddReaderToGroupA(SCARDCONTEXT hContext, - LPCSTR szReaderName, - LPCSTR szGroupName) -{ - UNIMPLEMENTED; - return SCARD_F_UNKNOWN_ERROR; -} - - -/* - * @unimplemented - */ -LONG -WINAPI -SCardAddReaderToGroupW(SCARDCONTEXT hContext, - LPCWSTR szReaderName, - LPCWSTR szGroupName) -{ - UNIMPLEMENTED; - return SCARD_F_UNKNOWN_ERROR; -} - - -/* - * @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 -SCardEstablishContext(DWORD dwScope, - LPCVOID pvReserved1, - LPCVOID pvReserved2, - LPSCARDCONTEXT phContext) -{ - 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 -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; -} +#include +#include -/* - * @unimplemented - */ -LONG -WINAPI -SCardListReaderGroupsW(SCARDCONTEXT hContext, - LPWSTR mszGroups, - LPDWORD pcchGroups) -{ - UNIMPLEMENTED; - return SCARD_F_UNKNOWN_ERROR; -} +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 }; -/* - * @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) +BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { - UNIMPLEMENTED; - return SCARD_F_UNKNOWN_ERROR; -} + 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; + } -/* - * @unimplemented - */ -LONG -WINAPI -SCardLocateCardsA(SCARDCONTEXT hContext, - LPCSTR mszCards, - LPSCARD_READERSTATEA rgReaderStates, - DWORD cReaders) -{ - UNIMPLEMENTED; - return SCARD_F_UNKNOWN_ERROR; + return TRUE; } - -/* - * @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) +HANDLE WINAPI SCardAccessStartedEvent(void) { - UNIMPLEMENTED; - return SCARD_F_UNKNOWN_ERROR; + return g_startedEvent; } - -/* - * @unimplemented - */ -LONG -WINAPI -SCardReleaseContext(SCARDCONTEXT hContext) +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; -/* - * @unimplemented - */ -VOID -WINAPI -SCardReleaseStartedEvent(HANDLE hStartedEventHandle) -{ - UNIMPLEMENTED; -} + retval = SCardAddReaderToGroupW(context, readerW.Buffer, groupW.Buffer); + RtlFreeUnicodeString(&readerW); + RtlFreeUnicodeString(&groupW); -/* - * @unimplemented - */ -LONG -WINAPI -SCardRemoveReaderFromGroupA(SCARDCONTEXT hContext, - LPCSTR szReaderName, - LPCSTR szGroupname) -{ - UNIMPLEMENTED; - return SCARD_F_UNKNOWN_ERROR; + return retval; } - -/* - * @unimplemented - */ -LONG -WINAPI -SCardRemoveReaderFromGroupW(SCARDCONTEXT hContext, - LPCWSTR szReaderName, - LPCWSTR szGroupname) +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 -SCardSetAttrib(SCARDHANDLE hCard, - DWORD dwAttrId, - LPCBYTE pbAttr, - DWORD cbAttrLen) +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 -SCardSetCardTypeProviderNameA(SCARDCONTEXT hContext, - LPCSTR szCardName, - DWORD dwProviderId, - LPCSTR szProvider) +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 -SCardSetCardTypeProviderNameW(SCARDCONTEXT hContext, - LPCWSTR szCardName, - DWORD dwProviderId, - LPCWSTR szProvider) +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 -SCardState(SCARDHANDLE hCard, - LPDWORD pdwState, - LPDWORD pdwProtocol, - LPBYTE pbAtr, - LPDWORD pcbAtrlen) +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 -SCardStatusA(SCARDHANDLE hCard, - LPSTR szReaderName, - LPDWORD pcchReaderLen, - LPDWORD pdwState, - LPDWORD pdwProtocol, - LPBYTE pbAtr, - LPDWORD pcbAtrLen) +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 -SCardStatusW(SCARDHANDLE hCard, - LPWSTR szReaderName, - LPDWORD pcchReaderLen, - LPDWORD pdwState, - LPDWORD pdwProtocol, - LPBYTE pbAtr, - LPDWORD pcbAtrLen) +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 -SCardTransmit(SCARDHANDLE hCard, - LPCSCARD_IO_REQUEST pioSendPci, - LPCBYTE pbSendBuffer, - DWORD cbSendLength, - LPSCARD_IO_REQUEST pioRecvPci, - LPBYTE pbRecvBuffer, - LPDWORD pcbRecvLength) +void WINAPI SCardReleaseStartedEvent(void) { - UNIMPLEMENTED; - return SCARD_F_UNKNOWN_ERROR; + FIXME("stub\n"); } - diff --git a/reactos/dll/win32/winscard/winscard.def b/reactos/dll/win32/winscard/winscard.def deleted file mode 100644 index a4b193a82b4..00000000000 --- a/reactos/dll/win32/winscard/winscard.def +++ /dev/null @@ -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 diff --git a/reactos/dll/win32/winscard/winscard.spec b/reactos/dll/win32/winscard/winscard.spec new file mode 100644 index 00000000000..a20d780f4c5 --- /dev/null +++ b/reactos/dll/win32/winscard/winscard.spec @@ -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 diff --git a/reactos/media/doc/README.WINE b/reactos/media/doc/README.WINE index b88a56ed424..781541477d4 100644 --- a/reactos/media/doc/README.WINE +++ b/reactos/media/doc/README.WINE @@ -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