IAmsiStream::GetAttribute 方法 (amsi.h)

从流中返回请求的属性。

语法

HRESULT GetAttribute(
  [in]  AMSI_ATTRIBUTE attribute,
  [in]  ULONG          dataSize,
  [out] unsigned char  *data,
  [out] ULONG          *retData
);

参数

[in] attribute

指定要返回的属性的类型。 请参阅“备注”。

[in] dataSize

输出缓冲区的大小 ,数据,以字节为单位。

[out] data

用于接收所请求属性的缓冲区。 必须将数据设置为其大小(以字节为单位)。

[out] retData

数据中返回的字节数。 如果此方法返回 E_NOT_SUFFICIENT_BUFFER则 retData 包含所需的字节数。

返回值

此方法可以返回其中一个值。

返回代码 说明
S_OK
成功。
E_NOTIMPL
不支持 特性。
E_NOT_SUFFICIENT_BUFFER
数据指示的输出缓冲区大小不够大。 retData 包含所需的字节数。
E_INVALIDARG
一个或多个参数无效。
E_NOT_VALID_STATE
对象未初始化。

注解

根据 属性中请求的属性,应将以下数据复制到 数据

attribute data
AMSI_ATTRIBUTE_APP_NAME LPWSTR 复制的调用应用程序的名称、版本或 GUID 字符串。
AMSI_ATTRIBUTE_CONTENT_NAME LPWSTR 复制的文件名、URL、唯一脚本 ID 或类似内容。
AMSI_ATTRIBUTE_CONTENT_SIZE 输入的大小,作为 ULONGLONG
AMSI_ATTRIBUTE_CONTENT_ADDRESS 如果内容已完全加载到内存中,则为内存地址。
AMSI_ATTRIBUTE_SESSION 会话用于关联不同的扫描调用,例如要扫描的内容是否属于同一原始脚本。 如果内容是自包含的,则返回 nullptr

要求

要求
最低受支持的客户端 Windows 10 [仅限桌面应用]
最低受支持的服务器 Windows Server 2016 [仅限桌面应用]
目标平台 Windows
标头 amsi.h

另请参阅

AMSI_ATTRIBUTE

IAmsiStream