PsReplaceSiloContext 函数 (ntddk.h)

此例程在 Silo 中插入对象。

语法

NTSTATUS PsReplaceSiloContext(
  [in]       PESILO Silo,
  [in]       ULONG  ContextSlot,
  [in]       PVOID  NewSiloContext,
  [optional] PVOID  *OldSiloContext
);

参数

[in] Silo

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

[in] ContextSlot

PsAllocSiloContextSlot 例程分配的槽。

[in] NewSiloContext

指向 由 PsCreateSiloContext 例程创建的 对象的指针。 必须使用此例程中指定的接收器指针创建对象。 此参数是必需的,不能为 NULL

[optional] OldSiloContext

指向调用方分配的变量的指针,该变量接收现有对象的地址。 此参数是可选的,可以为 NULL。 参数接收的地址可以为 NULL

返回值

返回以下 NT 状态代码。

返回代码 说明
STATUS_INSUFFICIENT_RESOURCES
系统中没有用于执行插入的资源。 这是错误代码。 
STATUS_NOT_SUPPORTED
槽是只读的,无法修改。 这是错误代码。
STATUS_SUCCESS
操作已成功完成。

注解

成功调用 PsReplaceSiloContext 会递增 NewSiloContext 上的引用计数。 如果 PsReplaceSiloContext 失败,引用计数保持不变。 在任一情况下, PsReplaceSiloContext 的调用方都必须调用 PsDereferenceSiloContext 以递减 PsReplaceSiloContext 对象。 如果 PsReplaceSiloContext 失败,并且 OldSiloContext 参数不是 NULL 且不指向 NULL ,则 NULL 是引用的指针。 例程完成后,调用方必须调用 PsDereferenceSiloContext 以递减 NULL 参数指向的对象。

要求

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