このルーチンは、サイロにオブジェクトを挿入します。
構文
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 状態コードが返されます。
リターン コード | 形容 |
---|---|
|
挿入を実行するリソースがシステムにありません。 これはエラー コードです。 |
|
スロットは読み取り専用であり、変更できません。 これはエラー コードです。 |
|
操作が正常に完了しました。 |
備考
PsReplaceSiloContext 正常に呼び出されると、NewSiloContext 参照カウントがインクリメントされます。 PsReplaceSiloContext 失敗した場合、参照カウントは変更されません。 どちらの場合も、PsReplaceSiloContext の呼び出し元 PsDereferenceSiloContext を呼び出して、PsReplaceSiloContext オブジェクトをデクリメントする必要があります。 PsReplaceSiloContext 失敗し、OldSiloContext パラメーターが NULL されず、NULL を指していない場合、NULL 参照ポインターになります。 ルーチンが完了したら、呼び出し元は PsDereferenceSiloContext を呼び出して、NULL パラメーターが指すオブジェクトをデクリメントする必要があります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 10 バージョン 1607 |
サポートされる最小サーバー | Windows Server 2016 |
ターゲット プラットフォーム の | ウィンドウズ |
ヘッダー | ntddk.h |