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


Функция ImageGetCertificateData (imagehlp.h)

Извлекает полный сертификат из файла.

Синтаксис

BOOL IMAGEAPI ImageGetCertificateData(
  [in]      HANDLE            FileHandle,
  [in]      DWORD             CertificateIndex,
  [out]     LPWIN_CERTIFICATE Certificate,
  [in, out] PDWORD            RequiredLength
);

Параметры

[in] FileHandle

Дескриптор файла изображения. Этот дескриптор должен быть открыт для доступа FILE_READ_DATA .

[in] CertificateIndex

Индекс возвращаемого сертификата.

[out] Certificate

Указатель на структуру WIN_CERTIFICATE , получающую данные сертификата. Если буфер недостаточно велик, чтобы вместить структуру, функция завершается сбоем и для последнего кода ошибки устанавливается значение ERROR_INSUFFICIENT_BUFFER.

[in, out] RequiredLength

При входе этот параметр задает длину буфера сертификата в байтах. При успешном выполнении он получает длину сертификата.

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

Если функция выполняется успешно, возвращается значение TRUE.

Если функция завершается сбоем, возвращается значение FALSE. Чтобы получить расширенные сведения об ошибке, вызовите Метод GetLastError.

Комментарии

Структура WIN_CERTIFICATE определяется следующим образом:

typedef struct _WIN_CERTIFICATE {
    DWORD       dwLength;
    WORD        wRevision;
    WORD        wCertificateType;   // WIN_CERT_TYPE_xxx
    BYTE        bCertificate[ANYSIZE_ARRAY];
} WIN_CERTIFICATE, *LPWIN_CERTIFICATE;

Все функции ImageHlp, такие как эта, являются однопоточными. Поэтому вызовы из нескольких потоков к этой функции, скорее всего, приведут к непредвиденному поведению или повреждению памяти. Чтобы избежать этого, необходимо синхронизировать все параллельные вызовы из нескольких потоков в эту функцию.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header imagehlp.h
Библиотека Imagehlp.lib
DLL Imagehlp.dll

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

Функции ImageHlp