Поделиться через


Метод ISCardDatabase::GetProviderCardId

[Метод GetProviderCardId доступен для использования в операционных системах, указанных в разделе Требования. Он недоступен для использования в Windows Server 2003 с пакетом обновления 1 (SP1) и более поздних версиях, Windows Vista, Windows Server 2008 и последующих версиях операционной системы. Модули смарт-карт предоставляют аналогичные функции.]

Метод GetProviderCardId извлекает идентификатор (GUID) основного поставщика услуг для указанного смарт-карта.

Синтаксис

HRESULT GetProviderCardId(
  [in]  BSTR   bstrCardName,
  [out] LPGUID *ppguidProviderId
);

Параметры

bstrCardName [in]

Имя смарт-карта.

ppguidProviderId [out]

Указатель на идентификатор основного поставщика услуг (GUID) в случае успешного выполнения; Значение NULL , если операция завершилась сбоем.

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

Метод возвращает одно из следующих возможных значений.

Код возврата Описание
S_OK
Operation completed successfully (Операция выполнена успешно).
E_INVALIDARG
Недопустимый параметр.
E_POINTER
Недопустимый указатель был передан в ppguidProviderId.
E_OUTOFMEMORY
Недостаточно памяти.

 

Комментарии

Чтобы получить список интерфейсов смарт-карта, вызовите ListCardInterfaces.

Чтобы получить все известные смарт-карты, читатели и группы читателей вызывают ListCards, ListReaders и ListReaderGroups соответственно.

Список всех методов, предоставляемых этим интерфейсом, см. в разделе ISCardDatabase.

В дополнение к приведенным выше кодам com-ошибок этот интерфейс может возвращать код ошибки смарт-карта, если для выполнения запроса была вызвана функция смарт-карта. Дополнительные сведения см. в разделе Возвращаемые значения смарт-карты.

Примеры

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

BSTR     bstrCard = NULL;
LPGUID   pguidProvId = NULL;
HRESULT  hr;

bstrCard = SysAllocString(L"My Card");
hr = pISCDataBase->GetProviderCardId(bstrCard,&pguidProvId);
if (FAILED(hr))
{
   printf("Failed GetProviderCardId\n");
}
else
{
    // Use pguidProvId as needed.
}

// Free BSTR when done.
if ( NULL != bstrCard )
{
    SysFreeString(bstrCard);
    bstrCard=NULL;
}

Требования

Требование Значение
Минимальная версия клиента
Windows XP [только классические приложения]
Минимальная версия сервера
Windows Server 2003 [только классические приложения]
Окончание поддержки клиентов
Windows XP
Прекращение поддержки сервера
Windows Server 2003
Заголовок
Scardmgr.h
Библиотека типов
Scardmgr.tlb
DLL
Scardssp.dll
IID
IID_ISCardDatabase определяется как 1461AAC8-6810-11D0-918F-00AA00C18068

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

ISCardDatabase

ListCardInterfaces

ListCards

ListReaderGroups

ListReaders