Имеется код.
#include <stdio>
#include <iostream.h>
#include <wtypes.h>
#include <winsmcrd.h>
#include <winscard.h>
#include <ok.h>
#include <scardcl.h>
using namespace std;
int main(int argc, char* argv[])
{
cout << "Start work\n";
cin >> Z;
LPSCARDCONTEXT hContext;
SCARDCONTEXT hSC;
LONG lReturn;
[b]lReturn = SCardEstablishContext(SCARD_SCOPE_USER,
NULL,
NULL,
&hSC);[/b]
cout << "hSC = " << hSC << "\n";
cout << "lReturn = " << lReturn << "\n";
cin >> Z;
if ( SCARD_S_SUCCESS != lReturn )
{
cout << "Failed SCardEstablishContext\n";
cin >> Z;
}
else
{
LPTSTR pmszReaders = NULL;
LPTSTR pReader;
cout << "pmszReaders = " << &pmszReaders << "\n";
cout << "pReader = " << &pReader << "\n";
DWORD cch = SCARD_AUTOALLOCATE;
cin >> Z;
lReturn = SCardListReaders(hSC,
NULL,
(LPTSTR)&pmszReaders,
&cch );
cout << "pmszReaders = " << &pmszReaders << "\n";
cout << "cch = " << &cch << "\n";
cin >> Z;
}
return 0;
}
Выделенная функция почему-то упрямо возвращает ноль, хотя в справке такой вариант не предусмотрен (сама функция просто скопированна из соотв раздела в help-е), и похоже вообще не работает.
Подскажите пожалуста, с чем это может быть связано? Что я пропустил/сделал не так?