Função SCardListInterfacesA (winscard.h)
A função SCardListInterfaces fornece uma lista de interfaces fornecidas por um determinado cartão.
O chamador fornece o nome de um cartão inteligente introduzido anteriormente no subsistema e recebe a lista de interfaces compatíveis com o cartão.
Sintaxe
LONG SCardListInterfacesA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szCard,
[out] LPGUID pguidInterfaces,
[in, out] LPDWORD pcguidInterfaces
);
Parâmetros
[in] hContext
Identificador que identifica o de contexto do gerenciador de recursos
[in] szCard
Nome do cartão inteligente já introduzido no subsistema de cartão inteligente .
[out] pguidInterfaces
Matriz de GUIDs (identificadores de interface) que indicam as interfaces compatíveis com o cartão inteligente. Se esse valor for NULL, SCardListInterfaces ignorará o comprimento da matriz fornecido em pcguidInterfaces, retornando o tamanho da matriz que teria sido retornada se esse parâmetro não tivesse sido NULL para pcguidInterfaces e um código de êxito.
[in, out] pcguidInterfaces
Tamanho do pcguidInterfaces matriz e recebe o tamanho real da matriz retornada. Se o tamanho da matriz for especificado como SCARD_AUTOALLOCATE, pcguidInterfaces será convertido em um ponteiro para um ponteiro GUID e receberá o endereço de um bloco de memória que contém a matriz. Esse bloco de memória deve ser desalocado com SCardFreeMemory.
Valor de retorno
Essa função retorna valores diferentes dependendo se ela é bem-sucedida ou falha.
Código de retorno | Descrição |
---|---|
|
SCARD_S_SUCCESS. |
|
Um código de erro. Para obter mais informações, consulte valores de retorno de cartão inteligente. |
Observações
Essa função não é redirecionada, mas chamar a função ao tentar uma sessão de Área de Trabalho Remota não resultará em um erro. Isso significa apenas que o resultado será do computador remoto em vez do computador local.
A função
Exemplos
O exemplo a seguir mostra a listagem das interfaces de um cartão inteligente.
LPGUID pGuids = NULL;
LONG lReturn;
DWORD cGuid = SCARD_AUTOALLOCATE;
// Retrieve the list of interfaces.
lReturn = SCardListInterfaces(NULL,
(LPCSTR) "MyCard",
(LPGUID)&pGuids,
&cGuid );
if ( SCARD_S_SUCCESS != lReturn )
{
printf("Failed SCardListInterfaces\n");
exit(1); // Or other appropriate action
}
if ( 0 != cGuid )
{
// Do something with the array of Guids.
// Remember to free pGuids when done (by SCardFreeMemory).
// ...
}
Nota
O cabeçalho winscard.h define SCardListInterfaces como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows XP [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows Server 2003 [somente aplicativos da área de trabalho] |
da Plataforma de Destino |
Windows |
cabeçalho | winscard.h |
biblioteca | Winscard.lib |
de DLL |
Winscard.dll |
Consulte também
SCardListReaderGroups