Compartir a través de


Función SCardGetProviderIdA (winscard.h)

La función SCardGetProviderId devuelve el identificador (GUID) del proveedor de servicios principal de para una tarjeta determinada.

El autor de la llamada proporciona el nombre de un tarjeta inteligente (introducido anteriormente en el sistema) y recibe el identificador registrado del GUID del proveedor de servicios principal, si existe alguno.

Sintaxis

LONG SCardGetProviderIdA(
  [in]  SCARDCONTEXT hContext,
  [in]  LPCSTR       szCard,
  [out] LPGUID       pguidProviderId
);

Parámetros

[in] hContext

Identificador que identifica el de contexto del administrador de recursos de para la consulta. El contexto del administrador de recursos se puede establecer mediante una llamada anterior a SCardEstablishContext. Este parámetro no puede ser NULL.

[in] szCard

Nombre de la tarjeta definida en el sistema.

[out] pguidProviderId

Identificador (GUID) del proveedor de servicios principal. Este proveedor puede activarse mediante COM y proporcionará acceso a otros servicios de la tarjeta.

Valor devuelto

Esta función devuelve valores diferentes en función de si se realiza correctamente o no.

Código devuelto Descripción
correcto
SCARD_S_SUCCESS.
error de
Un código de error. Para obtener más información, consulte valores devueltos de tarjeta inteligente.

Observaciones

Esta función no se redirige, pero llamar a la función cuando se encuentra dentro de una sesión de Escritorio remoto no producirá un error. Solo significa que el resultado será del equipo remoto en lugar del equipo local.

La función SCardGetProviderId es una función de consulta de base de datos. Para obtener más información sobre otras funciones de consulta de base de datos, consulte funciones de consulta de base de datos de tarjeta inteligente.

Ejemplos

En el ejemplo siguiente se muestra cómo obtener el identificador de proveedor de la tarjeta especificada. En el ejemplo se supone que hContext es un identificador válido obtenido de una llamada anterior a la función SCardEstablishContext y que "MyCardName" se introdujo mediante una llamada anterior a la función SCardIntroduceCardType.

GUID    guidProv;
LONG    lReturn;

lReturn = SCardGetProviderId(hContext, 
                             L"MyCardName",
                             &guidProv);
if ( SCARD_S_SUCCESS != lReturn )
    printf("Failed SCardGetProviderId - %x\n", lReturn);
else
{
    // Use the provider GUID as needed.
    // ...
}

Nota

El encabezado winscard.h define SCardGetProviderId como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows XP [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2003 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de winscard.h
biblioteca de Winscard.lib
DLL de Winscard.dll

Consulte también

SCardEstablishContext

SCardListCards

SCardListInterfaces

SCardListReaderGroups

SCardListReaders