winscard.h内定义如下:
extern WINSCARDAPI LONG WINAPI
SCardListReadersA(
    IN      SCARDCONTEXT hContext,
    IN      LPCSTR mszGroups,
    OUT     LPSTR mszReaders,
    IN OUT  LPDWORD pcchReaders);
extern WINSCARDAPI LONG WINAPI
SCardListReadersW(
    IN      SCARDCONTEXT hContext,
    IN      LPCWSTR mszGroups,
    OUT     LPWSTR mszReaders,
    IN OUT  LPDWORD pcchReaders);
#ifdef UNICODE
#define SCardListReaders  SCardListReadersW
#else
#define SCardListReaders  SCardListReadersA
#endif // !UNICODE我在VB模块中声明:
Declare Function SCardListReaders Lib "Winscard.dll" Alias "SCardListReadersA" (ByVal PhContext As Long, ByVal mszGroups As Long, ByRef mszReaders As String, ByRef pcchReaders As Long) As Long但当我调用时函数返回值IRe得到正确值,mreader却总是返回空值,我试过改变变量类型,但都没用,请各位兄弟帮忙。。
Dim IRe As Long
'Dim mreader As String * 90
'Dim mreader(100) As Byte
Dim mreader(100) As String
Dim num As LongIRe = SCardListReaders(hContext, 0, mreader(0), num)
If (IRe <> 0) Then
MsgBox ("SCardListReaders err")
End If