Функция SCardEstablishContext (winscard.h)
Функция SCardEstablishContext устанавливает контекст resource manager (область), в котором выполняются операции с базой данных.
Синтаксис
LONG SCardEstablishContext(
[in] DWORD dwScope,
[in] LPCVOID pvReserved1,
[in] LPCVOID pvReserved2,
[out] LPSCARDCONTEXT phContext
);
Параметры
[in] dwScope
Область контекста resource manager. Этот параметр может принимать одно из указанных ниже значений.
[in] pvReserved1
Зарезервировано для использования в будущем и должно иметь значение NULL. Этот параметр позволит приложению управления с соответствующими привилегиями действовать от имени другого пользователя.
[in] pvReserved2
Зарезервировано для использования в будущем и должно иметь значение NULL.
[out] phContext
Дескриптор для установленного контекста resource manager. Теперь этот дескриптор можно предоставить другим функциям, пытающимся выполнить работу в этом контексте.
Возвращаемое значение
Если функция выполняется успешно, функция возвращает SCARD_S_SUCCESS.
Если функция завершается сбоем, она возвращает код ошибки. Дополнительные сведения см. в разделе Возвращаемые значения смарт-карты.
Комментарии
Дескриптор контекста, возвращаемый SCardEstablishContext , может использоваться для запросов к базе данных и функций управления. Дополнительные сведения см. в разделах Функции запросов к базе данных смарт-карт и Функции управления базами данных смарт-карт.
Чтобы освободить установленный контекст resource manager, используйте SCardReleaseContext.
Если клиент пытается выполнить операцию интеллектуального карта в удаленном сеансе, например сеансе клиента, запущенном на сервере терминалов, а используемая операционная система не поддерживает перенаправление смарт-карта, эта функция возвращает ERROR_BROKEN_PIPE.
Примеры
В следующем примере устанавливается контекст диспетчера ресурсов.
SCARDCONTEXT hSC;
LONG lReturn;
// Establish the context.
lReturn = SCardEstablishContext(SCARD_SCOPE_USER,
NULL,
NULL,
&hSC);
if ( SCARD_S_SUCCESS != lReturn )
printf("Failed SCardEstablishContext\n");
else
{
// Use the context as needed. When done,
// free the context by calling SCardReleaseContext.
// ...
}
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | winscard.h |
Библиотека | Winscard.lib |
DLL | Winscard.dll |