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 버전 1607
지원되는 최소 서버 Windows Server 2016
대상 플랫폼 Windows
헤더 ntddk.h