列表部分

每个列表 API 都提供了一个输入参数部分,一个头部分和一个列表数据部分。

表 1. 以用户空间格式列出部分
列表部分 内容
输入参数部分 在对 API 的调用中编码的参数的精确副本。 通常,此部分包含所有可用的参数。
标题部分 每个对象的参数反馈和全局信息。 某些 API 不使用此部分; 在这些情况下, "头大小部分" 字段的值为零。
"列示数据" 部分 生成的列表数据。 列表部分中的所有条目都具有相同的长度。

从用户空间检索列表条目信息时,请使用应用程序中定义的已分配大小。 要获取下一个条目,请使用通用头中返回的条目大小。 可以在末尾填充每个条目的大小。 如果不使用通用头中的条目大小,那么结果可能无效。

部分列表注意事项

某些 API 可能能够向应用程序返回比接收方变量或用户空间中的信息更多的信息。 返回的信息正确,但不完整。

如果列表信息不完整,那么会出现第一种情况,也可能出现第二种情况:

  • 在通用用户空间布局的信息状态字段中返回 P
  • API 支持连续句柄。

如果返回了部分列表的指示符,并且 API 支持连续句柄,那么应用程序应使用列表头部分中的连续句柄再次调用 API ,并指定列表从要返回的下一个条目开始。

注: 如果这是 API 首次尝试返回信息,那么必须将连续句柄设置为空白。 如果 API 不支持连续句柄,那么需要再次调用 API 并对参数使用更严格的值。