Функция CryptGetKeyIdentifierProperty (wincrypt.h)
Синтаксис
BOOL CryptGetKeyIdentifierProperty(
[in] const CRYPT_HASH_BLOB *pKeyIdentifier,
[in] DWORD dwPropId,
[in] DWORD dwFlags,
[in] LPCWSTR pwszComputerName,
[in] void *pvReserved,
[out] void *pvData,
[in, out] DWORD *pcbData
);
Параметры
[in] pKeyIdentifier
Указатель на CRYPT_HASH_BLOB , содержащий идентификатор ключа.
[in] dwPropId
Определяет извлекаемое свойство. Значение dwPropId определяет тип и содержимое параметра pvData . Можно использовать любой идентификатор свойства сертификата.
[in] dwFlags
Можно использовать следующие флаги. Их можно сочетать с побитовой операцией ИЛИ .
[in] pwszComputerName
Указатель на имя удаленного компьютера для поиска. Если CRYPT_KEYID_MACHINE_FLAG флаг установлен, выполняет поиск на удаленном компьютере списка идентификаторов ключей. Если поиск выполняется на локальном компьютере, а не на удаленном компьютере, задайте для pwszComputerName значение NULL.
[in] pvReserved
Зарезервировано для использования в будущем и должно иметь значение NULL.
[out] pvData
Указатель на буфер для получения данных в соответствии с dwPropId. Элементы, на которые указывают поля в структуре pvData , следуют за структурой . Таким образом, размер, содержащийся в pcbData, может превышать размер структуры.
Если параметр dwPropId CERT_KEY_PROV_INFO_PROP_ID, pvData указывает на структуру CRYPT_KEY_PROV_INFO, содержащую свойство идентификатора ключа.
Если параметр dwPropId не CERT_KEY_PROV_INFO_PROP_ID, pvData указывает на массив байтов, содержащий свойство идентификатора ключа.
Чтобы получить размер этих сведений для целей выделения памяти, этот параметр может иметь значение NULL , если CRYPT_KEYID_ALLOC_FLAG не задан. Дополнительные сведения см. в разделе Извлечение данных неизвестной длины.
Если задано CRYPT_KEYID_ALLOC_FLAG, pvData — это адрес указателя на обновляемый буфер. Так как выделена память, а ее указатель хранится в *pvData, параметр pvData не должен иметь значение NULL.
[in, out] pcbData
Указатель на DWORD , содержащий размер (в байтах) буфера, на который указывает параметр pvData . При возврате функции DWORD содержит количество байтов, хранящихся в буфере. Размер, содержащийся в переменной, на которую указывает pcbData , может указывать на размер, превышающий CRYPT_KEY_PROV_INFO структуру, так как структура может содержать указатели на вспомогательные данные. Это сумма размера, необходимого для структуры и всех вспомогательных данных.
Если задан CRYPT_KEYID_ALLOC_FLAG, pcbData — это адрес указателя на обновляемый параметр DWORD .
Возвращаемое значение
Если функция выполняется успешно, функция возвращает ненулевое значение (TRUE).
Если функция завершается сбоем, она возвращает ноль (FALSE). Для получения дополнительных сведений об ошибке вызовите Метод GetLastError.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | wincrypt.h |
Библиотека | Crypt32.lib |
DLL | Crypt32.dll |