PsReplaceSiloContext 函数 (ntddk.h)

此例程在 接收器中插入对象。

语法

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

参数

[in] Silo

指向接收器的指针。  此参数是必需的,不能 NULL

[in] ContextSlot

PsAllocSiloContextSlot 例程分配的槽。

[in] NewSiloContext

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

[optional] OldSiloContext

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

返回值

返回以下 NT 状态代码。

返回代码 描述
STATUS_INSUFFICIENT_RESOURCES
系统中没有执行插入的资源。 这是一个错误代码。 
STATUS_NOT_SUPPORTED
槽是只读的,不能修改。 这是一个错误代码。
STATUS_SUCCESS
作已成功完成。

言论

成功调用 PsReplaceSiloContextNewSiloContext递增引用计数。 如果 PsReplaceSiloContext 失败,则引用计数保持不变。 无论哪种情况,PsReplaceSiloContext 的调用方都必须调用 PsDereferenceSiloContext 来递减 psReplaceSiloContext 对象。 如果 PsReplaceSiloContext 失败,并且如果 OldSiloContext 参数未 NULL,并且不指向 NULL,则 NULL 是引用的指针。 例程完成后,调用方必须调用 PsDereferenceSiloContext 来递减 NULL 参数指向的对象。

要求

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