PsReplaceSiloContext function (ntddk.h)
This routine inserts an object in a Silo.
Syntax
NTSTATUS PsReplaceSiloContext(
[in] PESILO Silo,
[in] ULONG ContextSlot,
[in] PVOID NewSiloContext,
[optional] PVOID *OldSiloContext
);
Parameters
[in] Silo
A pointer to a silo. This parameter is required and it cannot be NULL.
[in] ContextSlot
A slot allocated by the PsAllocSiloContextSlot routine.
[in] NewSiloContext
A pointer to the object created by the PsCreateSiloContext routine. The object must be created using the same silo pointer as the one specified in this routine. This parameter is required and it cannot be NULL.
[optional] OldSiloContext
A pointer to a caller-allocated variable that receives the address of the existing object. This parameter is optional and can be NULL. The address that the parameter receives can be NULL.
Return value
The following NT status codes are returned.
Return code | Description |
---|---|
|
There are no resources in the system to perform the insert. This is an error code. |
|
The slot is read-only and it cannot be modified. This is an error code. |
|
The operation completed successfully. |
Remarks
A successful call to PsReplaceSiloContext increments the reference count on NewSiloContext. If PsReplaceSiloContext fails, the reference count remains unchanged. In either case, the caller of PsReplaceSiloContext must call PsDereferenceSiloContext to decrement the PsReplaceSiloContext object. If PsReplaceSiloContext fails and if the OldSiloContext parameter is not NULL and does not point to NULL then NULL is a referenced pointer. After the routine completes, the caller must call PsDereferenceSiloContext to decrement the object that the NULL parameter points to.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10, version 1607 |
Minimum supported server | Windows Server 2016 |
Target Platform | Windows |
Header | ntddk.h |