Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вызывается биометрической платформой Windows для подготовки конвейера обработки биометрической единицы для новой операции. Эта функция должна очищать временные данные из контекста подсистемы и переводить адаптер подсистемы в четко определенное начальное состояние.
Синтаксис
PIBIO_STORAGE_CLEAR_CONTEXT_FN PibioStorageClearContextFn;
HRESULT PibioStorageClearContextFn(
[in, out] PWINBIO_PIPELINE Pipeline
)
{...}
Параметры
[in, out] Pipeline
Указатель на структуру WINBIO_PIPELINE , связанную с биометрической единицей, выполняющей операцию.
Возвращаемое значение
Если функция выполняется успешно, она возвращает S_OK. Если функция завершается сбоем, она должна вернуть одно из следующих значений HRESULT , чтобы указать на ошибку.
| Код возврата | Описание |
|---|---|
|
Аргумент Pipeline не может иметь значение NULL. |
|
Элемент StorageContext структуры WINBIO_PIPELINE , на который указывает аргумент Pipeline, имеет значение NULL. |
Комментарии
Необходимо очистить следующие элементы контекста адаптера хранения:
- Результирующий набор — коллекция записей, созданных последней операцией запроса базы данных.
- Курсор результирующих наборов — индикатор текущей позиции в результирующем наборе. Используется для итерации по результирующем набору и доступности отдельных записей.
Примеры
В следующем псевдокоде показана одна из возможных реализаций этой функции. Пример не компилируется. Вы должны адаптировать его в соответствии с вашей целью.
/////////////////////////////////////////////////////////////////////////////////////////
//
// StorageAdapterClearContext
//
// Purpose:
// Prepare the processing pipeline of the biometric unit for a
// new operation.
//
// Parameters:
// Pipeline - Pointer to a WINBIO_PIPELINE structure associated with
// the biometric unit performing the operation.
//
static HRESULT
WINAPI
StorageAdapterClearContext(
__inout PWINBIO_PIPELINE Pipeline
)
{
HRESULT hr = S_OK;
// Verify that the Pipeline parameter is not NULL.
if (!ARGUMENT_PRESENT(Pipeline))
{
hr = E_POINTER;
goto cleanup;
}
// Retrieve the context from the pipeline.
PWINBIO_STORAGE_CONTEXT storageContext =
(PWINBIO_STORAGE_CONTEXT)Pipeline->StorageContext;
// Verify the pipeline state.
if (storageContext == NULL)
{
hr = WINBIO_E_INVALID_DEVICE_STATE;
goto cleanup;
}
// Release data structures attached to the context. The following
// example code shows how to release structures that will likely
// be associated with your adapter context.
_ResultSetClearContents(&storageContext->ResultSet);
if (storageContext->RawRecordData != NULL)
{
_AdapterRelease(storageContext->RawRecordData);
storageContext->RawRecordData = NULL;
storageContext->PayloadBlob = NULL;
}
if (storageContext->DecryptedTemplate != NULL)
{
SecureZeroMemory(
storageContext->DecryptedTemplate,
storageContext->DecryptedTemplateSize
);
_AdapterRelease(storageContext->DecryptedTemplate);
storageContext->DecryptedTemplate = NULL;
storageContext->DecryptedTemplateSize = 0;
}
// TODO: Release any other allocated data structures attached
// to the context (not shown).
cleanup:
return hr;
}
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Windows 7 [только классические приложения] |
| Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
| Целевая платформа | Windows |
| Header | winbio_adapter.h (включая Winbio_adapter.h) |