124 |
dwReturn = SCARD_E_INVALID_PARAMETER; |
dwReturn = SCARD_E_INVALID_PARAMETER; |
125 |
__leave; |
__leave; |
126 |
} |
} |
127 |
if (bContainerIndex >= MaxContainer) |
if (bContainerIndex >= ContainerMax) |
128 |
{ |
{ |
129 |
Trace(WINEVENT_LEVEL_ERROR, L"bContainerIndex == %d", bContainerIndex); |
Trace(WINEVENT_LEVEL_ERROR, L"bContainerIndex == %d", bContainerIndex); |
130 |
dwReturn = SCARD_E_NO_KEY_CONTAINER ; |
dwReturn = SCARD_E_NO_KEY_CONTAINER ; |
150 |
__leave; |
__leave; |
151 |
} |
} |
152 |
*pdwDataLen = cbData; |
*pdwDataLen = cbData; |
153 |
if(bContainerIndex >= MaxContainer) |
if(bContainerIndex >= ContainerMax) |
154 |
{ |
{ |
155 |
dwReturn = SCARD_E_NO_KEY_CONTAINER; |
dwReturn = SCARD_E_NO_KEY_CONTAINER; |
156 |
Trace(WINEVENT_LEVEL_ERROR, L"SCARD_E_NO_KEY_CONTAINER %d", bContainerIndex); |
Trace(WINEVENT_LEVEL_ERROR, L"SCARD_E_NO_KEY_CONTAINER %d", bContainerIndex); |
644 |
dwReturn = SCARD_E_INVALID_PARAMETER; |
dwReturn = SCARD_E_INVALID_PARAMETER; |
645 |
__leave; |
__leave; |
646 |
} |
} |
|
if (dwFlags) |
|
|
{ |
|
|
Trace(WINEVENT_LEVEL_ERROR, L"dwFlags == %d", dwFlags); |
|
|
dwReturn = SCARD_E_INVALID_PARAMETER; |
|
|
__leave; |
|
|
} |
|
647 |
if (wcscmp(wszProperty,CP_CARD_FREE_SPACE) == 0 |
if (wcscmp(wszProperty,CP_CARD_FREE_SPACE) == 0 |
648 |
|| wcscmp(wszProperty,CP_CARD_CAPABILITIES) == 0 |
|| wcscmp(wszProperty,CP_CARD_CAPABILITIES) == 0 |
649 |
|| wcscmp(wszProperty,CP_CARD_KEYSIZES) == 0 |
|| wcscmp(wszProperty,CP_CARD_KEYSIZES) == 0 |
656 |
|| wcscmp(wszProperty,CP_SUPPORTS_WIN_X509_ENROLLMENT) == 0 |
|| wcscmp(wszProperty,CP_SUPPORTS_WIN_X509_ENROLLMENT) == 0 |
657 |
|| wcscmp(wszProperty,CP_CARD_CACHE_MODE) == 0 |
|| wcscmp(wszProperty,CP_CARD_CACHE_MODE) == 0 |
658 |
|| wcscmp(wszProperty,CP_CARD_SERIAL_NO) == 0 |
|| wcscmp(wszProperty,CP_CARD_SERIAL_NO) == 0 |
659 |
|| wcscmp(wszProperty,CP_CARD_GUID) == 0 |
|| wcscmp(wszProperty,CP_CARD_GUID) == 0) |
660 |
|| wcscmp(wszProperty,CP_CARD_PIN_INFO) == 0 |
{ |
661 |
|
if (dwFlags) |
662 |
|
{ |
663 |
|
Trace(WINEVENT_LEVEL_ERROR, L"dwFlags == %d", dwFlags); |
664 |
|
dwReturn = SCARD_E_INVALID_PARAMETER; |
665 |
|
__leave; |
666 |
|
} |
667 |
|
if ( pbData == NULL ) |
668 |
|
{ |
669 |
|
Trace(WINEVENT_LEVEL_ERROR, L"pbData == NULL"); |
670 |
|
dwReturn = SCARD_E_INVALID_PARAMETER; |
671 |
|
__leave; |
672 |
|
} |
673 |
|
Trace(WINEVENT_LEVEL_ERROR, L"wszProperty == %s SCARD_E_UNSUPPORTED_FEATURE", wszProperty); |
674 |
|
dwReturn = SCARD_E_UNSUPPORTED_FEATURE ; |
675 |
|
__leave; |
676 |
|
} |
677 |
|
else if (wcscmp(wszProperty,CP_CARD_PIN_INFO) == 0 |
678 |
|| wcscmp(wszProperty,CP_CARD_PIN_STRENGTH_VERIFY) == 0) |
|| wcscmp(wszProperty,CP_CARD_PIN_STRENGTH_VERIFY) == 0) |
679 |
{ |
{ |
680 |
|
if (dwFlags > ContainerMax) |
681 |
|
{ |
682 |
|
Trace(WINEVENT_LEVEL_ERROR, L"dwFlags == %d", dwFlags); |
683 |
|
dwReturn = SCARD_E_INVALID_PARAMETER; |
684 |
|
__leave; |
685 |
|
} |
686 |
if ( pbData == NULL ) |
if ( pbData == NULL ) |
687 |
{ |
{ |
688 |
Trace(WINEVENT_LEVEL_ERROR, L"pbData == NULL"); |
Trace(WINEVENT_LEVEL_ERROR, L"pbData == NULL"); |
695 |
} |
} |
696 |
else if (wcscmp(wszProperty,CP_CARD_READ_ONLY) == 0) |
else if (wcscmp(wszProperty,CP_CARD_READ_ONLY) == 0) |
697 |
{ |
{ |
698 |
|
if (dwFlags) |
699 |
|
{ |
700 |
|
Trace(WINEVENT_LEVEL_ERROR, L"dwFlags == %d", dwFlags); |
701 |
|
dwReturn = SCARD_E_INVALID_PARAMETER; |
702 |
|
__leave; |
703 |
|
} |
704 |
if ( pbData == NULL ) |
if ( pbData == NULL ) |
705 |
{ |
{ |
706 |
Trace(WINEVENT_LEVEL_ERROR, L"pbData == NULL"); |
Trace(WINEVENT_LEVEL_ERROR, L"pbData == NULL"); |
711 |
} |
} |
712 |
else if (wcscmp(wszProperty,CP_PARENT_WINDOW) == 0) |
else if (wcscmp(wszProperty,CP_PARENT_WINDOW) == 0) |
713 |
{ |
{ |
714 |
|
if (dwFlags) |
715 |
|
{ |
716 |
|
Trace(WINEVENT_LEVEL_ERROR, L"dwFlags == %d", dwFlags); |
717 |
|
dwReturn = SCARD_E_INVALID_PARAMETER; |
718 |
|
__leave; |
719 |
|
} |
720 |
if ( pbData == NULL ) |
if ( pbData == NULL ) |
721 |
{ |
{ |
722 |
Trace(WINEVENT_LEVEL_ERROR, L"pbData == NULL"); |
Trace(WINEVENT_LEVEL_ERROR, L"pbData == NULL"); |
729 |
dwReturn = SCARD_E_INVALID_PARAMETER ; |
dwReturn = SCARD_E_INVALID_PARAMETER ; |
730 |
__leave; |
__leave; |
731 |
} |
} |
732 |
if ( *pbData != 0 && !IsWindow((HWND) *pbData) ) |
if ( *pbData != 0) |
733 |
{ |
{ |
734 |
Trace(WINEVENT_LEVEL_ERROR, L"*pbData == %d GetLastError == %d", *pbData, GetLastError()); |
if (IsWindow( *((HWND*)pbData)) == 0) |
735 |
dwReturn = SCARD_E_INVALID_PARAMETER ; |
{ |
736 |
__leave; |
Trace(WINEVENT_LEVEL_ERROR, L"*pbData == %d GetLastError == %d", *((HWND*)pbData), GetLastError()); |
737 |
|
dwReturn = SCARD_E_INVALID_PARAMETER ; |
738 |
|
__leave; |
739 |
|
} |
740 |
} |
} |
741 |
|
Trace(WINEVENT_LEVEL_VERBOSE, L"CP_PARENT_WINDOW = %d", *((HWND*)pbData)); |
742 |
dwReturn = 0; |
dwReturn = 0; |
743 |
} |
} |
744 |
else if (wcscmp(wszProperty,CP_PIN_CONTEXT_STRING) == 0) |
else if (wcscmp(wszProperty,CP_PIN_CONTEXT_STRING) == 0) |
745 |
{ |
{ |
746 |
if ( pbData == NULL ) |
if (dwFlags) |
747 |
{ |
{ |
748 |
Trace(WINEVENT_LEVEL_ERROR, L"pbData == NULL"); |
Trace(WINEVENT_LEVEL_ERROR, L"dwFlags == %d", dwFlags); |
749 |
dwReturn = SCARD_E_INVALID_PARAMETER; |
dwReturn = SCARD_E_INVALID_PARAMETER; |
750 |
__leave; |
__leave; |
751 |
} |
} |