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


Функция WinBioAcquireFocus (winbio.h)

Получает фокус окна.

Синтаксис

HRESULT WinBioAcquireFocus();

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

Если функция выполняется успешно, она возвращает S_OK. Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.

Код возврата Описание
E_ACCESSDENIED
Вызывающий процесс должен выполняться под учетной записью Локальной системы.

Комментарии

Windows Biometric Framework использует фокус окна для арбитража между несколькими сеансами, подключенными к системным пулам.

Способ получения фокуса зависит от типа приложения, которое вы пишете. Например, при создании приложения графического пользовательского интерфейса можно реализовать обработчик сообщений, который захватывает WM_ACTIVATE, WM_SETFOCUS или другое соответствующее сообщение. Если вы пишете приложение CUI, вызовите Метод GetConsoleWindow , чтобы получить дескриптор в окне консоли и передать этот дескриптор в функцию SetForegroundWindow , чтобы принудительно поместить окно консоли на передний план и назначить ему фокус. Если приложение выполняется в отсоединяемом процессе или является службой Windows и не имеет окна, используйте WinBioAcquireFocus и WinBioReleaseFocus для управления фокусом вручную.

В следующем списке перечислены основные моменты, которые следует учитывать перед вызовом этой функции.

  • Вызывающий процесс должен выполняться под учетной записью Локальной системы.
  • Процесс, который непосредственно отображает пользовательский интерфейс, не должен вызывать эту функцию. Ознакомьтесь с предыдущим обсуждением, чтобы определить, как сосредоточиться на приложениях графического пользовательского интерфейса и CUI.
  • Только служба или отсоединяемый процесс, который не отображает пользовательский интерфейс напрямую во время вызовов биометрических API, должен вызывать эту функцию.
  • Если функция выполнена успешно, необходимо вызвать WinBioReleaseFocus , чтобы освободить фокус.
Если не получить фокус при вызове следующих функций, они будут работать непредвиденным образом:

Требования

Требование Значение
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Целевая платформа Windows
Header winbio.h (включая Winbio.h)
Библиотека Winbio.lib
DLL Winbio.dll

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

Функции клиентских приложений

WinBioEnrollBegin