Função SCardGetReaderDeviceInstanceIdA (winscard.h)
A função SCardGetReaderDeviceInstanceId obtém o identificador da instância do dispositivo do leitor de cartão para o nome do leitor fornecido. Essa função não afeta o estado do leitor.
Sintaxe
LONG SCardGetReaderDeviceInstanceIdA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szReaderName,
[out, optional] LPSTR szDeviceInstanceId,
[in, out] LPDWORD pcchDeviceInstanceId
);
Parâmetros
[in] hContext
Identificador que identifica o contexto do gerenciador de recursos para a consulta. Você pode definir o contexto do gerenciador de recursos por uma chamada anterior para a função SCardEstablishContext. Esse parâmetro não pode ser NULL.
[in] szReaderName
Nome do leitor. Você pode obter esse valor chamando a função SCardListReaders.
[out, optional] szDeviceInstanceId
Buffer que recebe a ID da instância do dispositivo do leitor. Se esse valor for NULL, a função ignorará o comprimento do buffer fornecido no parâmetro cchDeviceInstanceId, gravará o comprimento do buffer que teria sido retornado se esse parâmetro não tivesse sido NULL para cchDeviceInstanceIde retornará um código de êxito.
[in, out] pcchDeviceInstanceId
Comprimento, em caracteres, do buffer szDeviceInstanceId do
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. Chamar a função SCardGetReaderDeviceInstanceId quando dentro de uma sessão de Área de Trabalho Remota falha com o código de erro SCARD_E_READER_UNAVAILABLE.
Exemplos
LONG lReturn;
LPTSTR szReaderName = "USB Smart Card Reader 0";
WCHAR szDeviceInstanceId[256];
DWORD cchDeviceInstanceId = 256;
// Retrieve the reader's device instance ID.
// hContext was set by a previous call to SCardEstablishContext.
lReturn = SCardGetReaderDeviceInstanceId (hContext,
szReaderName,
szDeviceInstanceId,
&cchDeviceInstanceId);
if ( SCARD_S_SUCCESS != lReturn )
{
printf("Failed SCardGetReaderDeviceInstanceId - %x\n", lReturn);
// Take appropriate action.
}
Nota
O cabeçalho winscard.h define SCardGetReaderDeviceInstanceId 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 8 [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows Server 2012 [somente aplicativos da área de trabalho] |
da Plataforma de Destino |
Windows |
cabeçalho | winscard.h |