BUG: SCardGetAttrib() Returns ERROR_OUTOFMEMORY When SCARD_AUTOALLOCATE Is Used (229960)



The information in this article applies to:

  • Microsoft Win32 Application Programming Interface (API), when used with:
    • the operating system: Microsoft Windows 95
    • the operating system: Microsoft Windows 98
    • the operating system: Microsoft Windows Millennium Edition
    • the operating system: Microsoft Windows NT

This article was previously published under Q229960

SYMPTOMS

For Smart Card Resource Manager version 1.0, the SCardGetAttrib() API may fail with ERROR_OUTOFMEMORY if the SCARD_AUTOALLOCATE feature is used.

CAUSE

The problem is caused by an anomaly in this API.

RESOLUTION

To work around this problem, instead, allocate the memory yourself.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

MORE INFORMATION

The following code snippet reproduces the problem described above:
   LPBYTE pbValue = NULL;
   DWORD dwArrtId = SCARD_ATTR_VENDOR_NAME;
   DWORD dwLength = SCARD_AUTOALLOCATE;
 
   SCardGetAttrib(hCard, dwAttrId,(LPBYTE)&pbValue, &dwLength);
				

REFERENCES

Please see the MSDN online help for more information on SCardGetAttrib(), SCARD_AUTO_ALLOCATE, and other SCard APIs.

Modification Type:MinorLast Reviewed:9/27/2004
Keywords:kbAPI kbbug kbfix kbKernBase kbSmartCard KB229960