Функция SCardIntroduceReaderA (winscard.h)

Функция SCardIntroduceReader вводит новое имя для существующего интеллектуального картаreader.

Примечание Средство чтения смарт-карта автоматически вводится в систему. Программа настройки поставщика интеллектуальных карта читателей также может ввести интеллектуальный карта читатель в систему.
 

Синтаксис

LONG SCardIntroduceReaderA(
  [in] SCARDCONTEXT hContext,
  [in] LPCSTR       szReaderName,
  [in] LPCSTR       szDeviceName
);

Параметры

[in] hContext

Дескриптор, идентифицирующий контекст Resource Manager. Контекст диспетчера ресурсов задается предыдущим вызовом SCardEstablishContext. Этот параметр не может иметь значение NULL.

[in] szReaderName

Отображаемое имя, назначаемое средству чтения.

[in] szDeviceName

Системное имя средства чтения смарт-карта, например MyReader 01.

Возвращаемое значение

Эта функция возвращает различные значения в зависимости от того, является ли она успешной или неудачной.

Код возврата Описание
Успешно
SCARD_S_SUCCESS.
Failure
Код ошибки. Дополнительные сведения см. в разделе Возвращаемые значения смарт-карты.

Комментарии

Все средства чтения, установленные в системе, автоматически отображаются под их системным именем. Как правило, SCardIntroduceReader вызывается только для изменения имени существующего средства чтения.

Функция SCardIntroduceReader — это функция управления базами данных. Дополнительные сведения о других функциях управления базами данных см. в разделе Функции управления базами данных смарт-карт.

Чтобы удалить средство чтения, используйте SCardForgetReader.

Примеры

В следующем примере показано знакомство с интеллектуальным средством чтения карта.

// This example renames the reader name.
// This is a two-step process (first add the new
// name, then forget the old name).
LPBYTE    pbAttr = NULL;
DWORD     cByte = SCARD_AUTOALLOCATE;
LONG      lReturn;

// Step 1: Add the new reader name.
// The device name attribute is a necessary value.
// hCardHandle was set by a previous call to SCardConnect.
lReturn = SCardGetAttrib(hCardHandle,
                         SCARD_ATTR_DEVICE_SYSTEM_NAME,
                         (LPBYTE)&pbAttr,
                         &cByte);
if ( SCARD_S_SUCCESS != lReturn )
{
    printf("Failed SCardGetAttrib\n");
    exit(1);  // Or other error action
}
// Add the reader name.
// hContext was set earlier by SCardEstablishContext.
lReturn = SCardIntroduceReader(hContext,
                               TEXT("My New Reader Name"),
                               (LPCTSTR)pbAttr );
if ( SCARD_S_SUCCESS != lReturn )
{
    printf("Failed SCardIntroduceReader\n");
    exit(1);  // Or other error action
}

// Step 2: Forget the old reader name.
lReturn = SCardForgetReader(hContext,
                            (LPCTSTR)pbAttr );
if ( SCARD_S_SUCCESS != lReturn )
{
    printf("Failed SCardForgetReader\n");
    exit(1);  // Or other error action
}

// Free the memory when done.
lReturn = SCardFreeMemory( hContext, pbAttr );

Примечание

Заголовок winscard.h определяет SCardIntroduceReader в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header winscard.h
Библиотека Winscard.lib
DLL Winscard.dll

См. также раздел

SCardEstablishContext

SCardForgetReader

SCardIntroduceCardType

SCardIntroduceReaderGroup