197 |
|
|
198 |
DWORD CleanContext(__in PCARD_DATA pCardData) |
DWORD CleanContext(__in PCARD_DATA pCardData) |
199 |
{ |
{ |
200 |
DWORD dwReturn = 0; |
DWORD dwReturn = 0, dwI; |
201 |
__try |
__try |
202 |
{ |
{ |
203 |
if (pCardData) |
if (pCardData) |
204 |
{ |
{ |
205 |
if ( pCardData->pvVendorSpecific) |
if ( pCardData->pvVendorSpecific) |
206 |
{ |
{ |
207 |
|
POPENPGP_CONTEXT pContext = (POPENPGP_CONTEXT) pCardData->pvVendorSpecific; |
208 |
|
for(dwI = 0; dwI < KeyMax; dwI++) |
209 |
|
{ |
210 |
|
if (pContext->pbModulusInLittleEndian[dwI] != NULL) |
211 |
|
{ |
212 |
|
pCardData->pfnCspFree(pContext->pbModulusInLittleEndian[dwI]); |
213 |
|
pContext->pbModulusInLittleEndian[dwI] = NULL; |
214 |
|
} |
215 |
|
} |
216 |
pCardData->pfnCspFree( pCardData->pvVendorSpecific); |
pCardData->pfnCspFree( pCardData->pvVendorSpecific); |
217 |
pCardData->pvVendorSpecific = NULL; |
pCardData->pvVendorSpecific = NULL; |
218 |
} |
} |
371 |
} |
} |
372 |
} |
} |
373 |
} |
} |
374 |
dwReturn = CCIDgetFeatures(pCardData); |
/*dwReturn = CCIDgetFeatures(pCardData); |
375 |
if (dwReturn) |
if (dwReturn) |
376 |
{ |
{ |
377 |
__leave; |
__leave; |
378 |
} |
}*/ |
379 |
dwReturn = 0; |
dwReturn = 0; |
380 |
} |
} |
381 |
__finally |
__finally |