LPVOID XWF_GetMetadataEx(
HANDLE hItem,
PDWORD lpnFlags
);
Доступно в версии 18.9 и новее. Может извлекать обширные внутренние метаданные файлов различных типов, точно так же, как в режиме «Подробности» в X-Ways Forensics, как правило, гораздо больше, чем GetMetadata. Заполняет буфер памяти либо открытым текстом UTF-16 с нулевым символом в конце, либо HTML-кодом ASCII с нулевым символом в конце и возвращает указатель на него. Вы можете проанализировать буфер для получения определенных метаданных, которые вам нужны. Формат может теоретически измениться с одной версии на другую. Вы должны освободить выделенную память, передав этот указатель в XWF_ReleaseMem, когда он вам больше не нужен. Если метаданные не извлекаются, вместо этого возвращается NULL.
В отличие от XWF_GetMetadata, эта функция является поточно-ориентированной. В отличие от XWF_GetExtractedMetadata, файл должен быть открыт с помощью XWF_OpenItem, поскольку эта функция читает содержимое файла, а не данные, сохраненные в моментальном снимке тома. Метаданные берутся из самого файла, в котором они содержатся, например, в случае документов Office в формате zip из файлов XML.
lpnFlags
указывает на флаги для ввода и вывода. Единственный в настоящее время определенный флаг ввода - 0x01. В нем говорится, что X-Ways Forensics извлекает только подмножество доступных метаданных, как показано в программном обеспечении в столбце Метаданные. Результирующий буфер в настоящее время всегда содержит обычный текст UTF-16. Если флаг не установлен, извлекаются полные метаданные, отображаемые в режиме «Подробности». Полученный буфер может иметь любой из вышеупомянутых форматов.
Единственный в настоящее время определенный выходной флаг - 0x01 (указывающий, если установлен, что результирующий буфер имеет формат ASCII в формате HTML вместо обычного текста UTF-16). Если какой-либо из 8 старших битов установлен, вы не должны касаться результирующего буфера, просто отпустите его с помощью XWF_ReleaseMem. Выходные флаги действительны, только если функция была успешной, то есть если она вернула указатель.