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
操作は正常に完了しました。

注釈

PsReplaceSiloContext を正常に呼び出すと、NewSiloContext の参照カウントがインクリメントされます。 PsReplaceSiloContext が失敗した場合、参照カウントは変更されません。 どちらの場合も、 PsReplaceSiloContext の呼び出し元は PsDereferenceSiloContext を呼び出して PsReplaceSiloContext オブジェクトをデクリメントする必要があります。 PsReplaceSiloContext が失敗し、OldSiloContext パラメーターが NULL ではなく NULL を指していない場合、NULL は参照先ポインターです。 ルーチンが完了したら、呼び出し元は PsDereferenceSiloContext を呼び出して 、NULL パラメーターが指すオブジェクトをデクリメントする必要があります。

要件

要件
サポートされている最小のクライアント Windows 10 Version 1607
サポートされている最小のサーバー Windows Server 2016
対象プラットフォーム Windows
ヘッダー ntddk.h