PsInsertPermanentSiloContext function (ntddk.h)

This routine inserts an object in an empty slot in a Silo.

Syntax

NTSTATUS PsInsertPermanentSiloContext(
  [in] PESILO Silo,
  [in] ULONG  ContextSlot,
  [in] PVOID  SiloContext
);

Parameters

[in] Silo

The silo in which the object is to be inserted. This parameter is required and it cannot be NULL.

[in] ContextSlot

The slot in which the object is to be inserted. A slot allocated by the PsAllocSiloContextSlot routine.

[in] SiloContext

The object to be inserted, created by the PsCreateSiloContext routine. The object must be created using the same silo as specified in the Silo parameter. This parameter is required and it cannot be NULL.

Return value

The following NT status codes are returned.

Return code Description
STATUS_INSUFFICIENT_RESOURCES
There are no resources in the system to perform the insert. This is an error code. 
STATUS_NOT_SUPPORTED
The slot is not empty. This is an error code.
STATUS_SUCCESS
The operation completed successfully.

Remarks

A successful call to PsInsertPermanentSiloContext increments the reference count on SiloContext. If PsInsertPermanentSiloContext fails, the reference count remains unchanged. In either case, after the routine completes, the caller must call PsDereferenceSiloContext to decrement the SiloContext object.

Requirements

Requirement Value
Minimum supported client Windows 10, version 1607
Minimum supported server Windows Server 2016
Target Platform Windows
Header ntddk.h