Функция WTHelperGetFileHash

[Функция WTHelperGetFileHash доступна для использования в операционных системах, указанных в разделе Требования. Он может быть изменен или недоступен в последующих версиях.]

Функция WTHelperGetFileHash проверяет подпись подписанного файла и получает хэш-значение и идентификатор алгоритма для файла.

Примечание

Эта функция не объявлена в опубликованном файле заголовка. Чтобы использовать эту функцию, объявите ее в точном формате. Эта функция также не имеет связанной библиотеки импорта. Для динамической связи с Wintrust.dll необходимо использовать функции LoadLibrary и GetProcAddress .

 

Синтаксис

LONG WINAPI WTHelperGetFileHash(
  _In_        LPCWSTR pwszFilename,
  _In_        DWORD   dwFlags,
  _Inout_opt_ PVOID   pvReserved,
  _Out_opt_   BYTE    *pbFileHash,
  _Inout_opt_ DWORD   *pcbFileHash,
  _Out_opt_   ALG_ID  *pHashAlgid
);

Параметры

pwszFilename [in]

Указатель на строку Юникода, завершающуюся null, которая содержит путь и имя файла, для которого требуется получить хэш.

dwFlags [in]

Этот параметр не используется и должен быть равен нулю.

pvReserved [in, out, optional]

Этот параметр не используется и должен иметь значение NULL.

pbFileHash [out, optional]

Указатель на буфер для получения хэш-значения для файла. Параметр pcbFileHash содержит размер этого буфера.

pcbFileHash [in, out, optional]

Указатель на переменную DWORD , которая во входных данных содержит размер буфера pbFileHash в байтах, а на выходных данных получает размер хэш-значения в байтах.

Чтобы получить требуемый размер хэш-значения, передайте значение NULL для параметра pbFileHash . Эта функция размещает требуемый размер хэш-значения в байтах в этом расположении.

Если параметр pbFileHash не имеет значения NULL, а размер недостаточно велик для получения хэш-значения, эта функция поместит необходимый размер в байтах в это расположение и вернет ERROR_MORE_DATA.

pHashAlgid [out, optional]

Указатель на переменную ALG_ID для получения идентификатора алгоритма, используемого для создания хэш-значения. Этот параметр может иметь значение NULL , если эти сведения не требуются.

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

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

Возможные коды возврата включают, помимо прочего, следующие.

Код возврата Описание
ERROR_SUCCESS
Файл подписан, а подпись проверена.
ERROR_MORE_DATA
Параметр pbFileHash не имеет значения NULL, а размер, заданный параметром pcbFileHash , недостаточно велик для получения хэша.
ERROR_NOT_ENOUGH_MEMORY
Произошел сбой выделения памяти.
TRUST_E_BAD_DIGEST
Подпись файла не была проверена.
TRUST_E_NOSIGNATURE
Файл не был подписан или имел недопустимую подпись.

 

Требования

Требование Значение
Минимальная версия клиента
Windows XP [только классические приложения]
Минимальная версия сервера
Windows Server 2003 [только классические приложения]
DLL
Wintrust.dll