Compartir a través de


Método ISCard::get_Status

[El método get_Status está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. No está disponible para su uso en Windows Server 2003 con Service Pack 1 (SP1) y versiones posteriores, Windows Vista, Windows Server 2008 y versiones posteriores del sistema operativo. Los módulos de tarjeta inteligente proporcionan una funcionalidad similar.]

El método get_Status recupera el estado actual de la tarjeta inteligente.

Sintaxis

HRESULT get_Status(
  [out] SCARD_STATES *pStatus
);

Parámetros

pStatus [out]

Puntero a la variable de estado.

Valor devuelto

El método devuelve uno de los siguientes valores posibles.

Código devuelto Descripción
S_OK
Operación completada correctamente.
E_INVALIDARG
El parámetro pStatus no es válido.
E_POINTER
Se pasó un puntero incorrecto en pStatus.

 

Comentarios

Además de los códigos de error COM enumerados anteriormente, esta interfaz puede devolver un código de error de tarjeta inteligente si se llamó a una función de tarjeta inteligente para completar la solicitud. Para obtener más información, consulte Valores devueltos de tarjeta inteligente.

Ejemplos

En el ejemplo siguiente se muestra cómo recuperar el estado actual de la tarjeta inteligente.

SCARD_STATES    scState;
HRESULT         hr;

// Determine the current state of the smart card.
hr = pISCard->get_Status(&scState);
if (FAILED(hr))
{
   printf("Failed get_Status\n");
   exit(1);  // Or other error handling action.
}
// Use the retrieved value. (This example merely displays it.)
switch (scState)
{
    case ABSENT:
        printf("Absent state\n");
        break;
    case PRESENT:
        printf("Present state\n");
        break;
    case SWALLOWED:
        printf("Swallowed state\n");
        break;
    case POWERED:
        printf("Powered state\n");
        break;
    case NEGOTIABLEMODE:
        printf("Negotiable mode state\n");
        break;
    case SPECIFICMODE:
        printf("Specific mode state\n");
        break;
    default:
        printf("Unexpected state\n");
        break;
}

Requisitos

Requisito Value
Cliente mínimo compatible
Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2003 [solo aplicaciones de escritorio]
Fin de compatibilidad de cliente
Windows XP
Fin de compatibilidad de servidor
Windows Server 2003
Encabezado
Scardmgr.h
Biblioteca de tipos
Scardmgr.tlb
Archivo DLL
Scardssp.dll
IID
IID_ISCard se define como 1461AAC3-6810-11D0-918F-00AA00C18068

Consulte también

get_Atr

get_CardHandle

get_Context

get_Protocol

ISCard