структура CERT_STORE_PROV_INFO (wincrypt.h)
Структура CERT_STORE_PROV_INFO содержит сведения, возвращаемые установленной функцией CertDllOpenStoreProv при открытии хранилища с помощью
Функция CertOpenStore .
При открытии хранилища функция CertOpenStore задает для всех полей в структуре CERT_STORE_PROV_INFO нулевое значение, за исключением cbSize, для которого задан размер CERT_STORE_PROV_INFO. Структура обновляется с помощью устанавливаемой функции CertDllOpenStoreProv . Если нет дополнительных функций обратного вызова, cStoreProvFunc остается равным нулю при возврате.
Синтаксис
typedef struct _CERT_STORE_PROV_INFO {
DWORD cbSize;
DWORD cStoreProvFunc;
void **rgpvStoreProvFunc;
HCERTSTOREPROV hStoreProv;
DWORD dwStoreProvFlags;
HCRYPTOIDFUNCADDR hStoreProvFuncAddr2;
} CERT_STORE_PROV_INFO, *PCERT_STORE_PROV_INFO;
Члены
cbSize
Содержит размер этой структуры в байтах.
cStoreProvFunc
Содержит количество элементов в массиве rgpvStoreProvFunc . Это число должно включать все значения NULL , которые использовались в индексах до последней реализованной функции обратного вызова. Например, если реализована только одна функция обратного вызова, но она находится с индексом 2 (CERT_STORE_PROV_WRITE_CERT_FUNC) с значением NULL для индексов 0 и 1, то для этого параметра следует передать число 3.
rgpvStoreProvFunc
Массив указателей на функции обратного вызова, реализованные поставщиком. Этот массив индексируется по значениям, приведенным в следующей таблице, и они должны быть в указанном порядке. Также отображается связанная функция обратного вызова. Все функции обратного вызова, которые не реализованы, должны иметь значение NULL. Массив не обязательно должен содержать все индексы функций обратного вызова, он должен содержать только самый высокий реализованный индекс функции обратного вызова. Например, если реализована только функция обратного вызова CERT_STORE_PROV_WRITE_CERT_FUNC (2), массив должен содержать только три элемента.
hStoreProv
32-разрядное определяемое приложением значение, которое является первым параметром, передаваемым во все обратные вызовы. Приложение может указать содержимое этого элемента по желанию. Как правило, это указатель на данные, относящиеся к приложению, например сведения о состоянии поставщика для каждого открытого хранилища.
dwStoreProvFlags
Содержит набор флагов, указывающих, как работает поставщик. Содержит ноль или сочетание одного или нескольких из следующих значений.
Значение | Значение |
---|---|
|
Поставщик хранит сертификаты, спискиотзыва сертификатов и списки доверия сертификатов , которые являются внешними для кэша хранилища. |
|
Хранилище было успешно удалено. Обратный вызов CertStoreProvCloseCallback не вызывается. |
|
По умолчанию поставщик сохраняет изменения, внесенные в хранилище. Если этот флаг установлен, поставщик не сохраняет изменения, внесенные в хранилище. |
|
Поставщик сохраняет контексты в системном хранилище. |
|
Поставщик сохраняет контексты в системном хранилище LocalMachine. |
hStoreProvFuncAddr2
Содержит дескриптор, возвращенный CryptGetOIDFunctionAddress. CertCloseStore вызывает CryptFreeOIDFunctionAddress для освобождения hStoreProvFuncAddr2, отличного от null. Это позволяет обратному вызову вызывать другую устанавливаемую функцию, которая будет освобождена при закрытии хранилища.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | wincrypt.h |