IAmsiStream, GetAttribute, AMSI_ATTRIBUTE_SESSION

Я хочу связать запросы на сканирование, относящиеся к определенному сценарию; Поскольку в процессе выполнения скрипта мы получаем несколько блоков скриптов, нам необходимо их связать.

Я реализовал COM-компонент «IAntimalwareProvider». Я получаю «IAmsiStream» в качестве формата ввода для метода «scan», который сам имеет «GetAttribute» в качестве метода.

Теперь я хочу вызвать метод, чтобы получить атрибут «AMSI_ATTRIBUTE_SESSION». Мне не понятно, как вызвать этот метод для получения информации. Обычно система предоставляет уникальный идентификатор для связи вызовов, но из объяснений на следующей странице кажется, что мы должны вернуть значение …!

Я получаю 0x80070057, E_INVALIDARG, вызывающий метод для «AMSI_ATTRIBUTE_SESSION».

примечание: в качестве примечания у меня нет проблем с вызовом IAmsiStream :: GetAttribute для получения информации о других атрибутах. проблема конкретно связана с «AMSI_ATTRIBUTE_SESSION».

https://msdn.microsoft.com/en-us/library/windows/desktop/dn889590(v=vs.85).aspx

    HRESULT hRes = stream->GetAttribute(attribute, 0, NULL, &readSize);

if (hRes != S_OK)
{
itoa(hRes, (char *)buffer, 0x10);

MessageBoxA(NULL, (LPCSTR)buffer, "HRESULT", MB_OK);
// The output is 0x80070057 always

memset(buffer, 0, 0x10);
itoa(readSize, (char *)buffer, 0x10);

MessageBoxA(NULL, (LPCSTR)buffer, "ReadSize", MB_OK);
// The output is 0 always

}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]