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 状态代码。
返回代码 | 说明 |
---|---|
|
系统中没有用于执行插入的资源。 这是错误代码。 |
|
槽是只读的,无法修改。 这是错误代码。 |
|
操作已成功完成。 |
注解
成功调用 PsReplaceSiloContext 会递增 NewSiloContext 上的引用计数。 如果 PsReplaceSiloContext 失败,引用计数保持不变。 在任一情况下, PsReplaceSiloContext 的调用方都必须调用 PsDereferenceSiloContext 以递减 PsReplaceSiloContext 对象。 如果 PsReplaceSiloContext 失败,并且 OldSiloContext 参数不是 NULL 且不指向 NULL ,则 NULL 是引用的指针。 例程完成后,调用方必须调用 PsDereferenceSiloContext 以递减 NULL 参数指向的对象。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 版本 1607 |
最低受支持的服务器 | Windows Server 2016 |
目标平台 | Windows |
标头 | ntddk.h |