PsCreateSiloContext 函数 (ntddk.h)

此例程创建一个对象,该对象将插入 Silo 中。

语法

NTSTATUS PsCreateSiloContext(
  [in]           PESILO                        Silo,
  [in]           ULONG                         Size,
  [in]           POOL_TYPE                     PoolType,
  [in, optional] SILO_CONTEXT_CLEANUP_CALLBACK ContextCleanupCallback,
                 PVOID                         *ReturnedSiloContext
);

参数

[in] Silo

指向 silo 的指针。  此参数是必需的,不能为 NULL

[in] Size

调用方定义的对象部分的大小(以字节为单位)。

[in] PoolType

要从中分配的池的类型。 此参数是必需的,并且必须是下列参数之一: NonPagedPoolNxPagedPool

[in, optional] ContextCleanupCallback

指向SILO_CONTEXT_CLEANUP_CALLBACK回调函数 指针。 当返回的对象对函数的引用为零时,将调用该函数。 此参数是可选的,可以为 NULL

ReturnedSiloContext

指向调用方分配的变量的指针,该变量接收新创建对象的地址。

返回值

返回以下 NT 状态代码。

返回代码 说明
STATUS_INSUFFICIENT_RESOURCES 例程遇到池分配失败。 这是错误代码。
STATUS_INVALID_PARAMETER 池类型无效。 这是错误代码。
STATUS_SUCCESS 操作已成功完成。

要求

要求
最低受支持的客户端 Windows 10 版本 1607
最低受支持的服务器 Windows Server 2016
目标平台 Windows
标头 ntddk.h