다음을 통해 공유


KsCreateDefaultAllocatorEx 함수(ks.h)

지정된 메모리 풀을 사용하는 기본 할당자를 만들고 내부 디스패치 테이블(KSDISPATCH_TABLE)을 사용하여 IoGetCurrentIrpStackLocation(pIrp)>FileObject 이 할당자와 연결합니다.

통사론

KSDDKAPI NTSTATUS KsCreateDefaultAllocatorEx(
  [in]           PIRP                     Irp,
  [in, optional] PVOID                    InitializeContext,
  [in, optional] PFNKSDEFAULTALLOCATE     DefaultAllocate,
  [in, optional] PFNKSDEFAULTFREE         DefaultFree,
  [in, optional] PFNKSINITIALIZEALLOCATOR InitializeAllocator,
  [in, optional] PFNKSDELETEALLOCATOR     DeleteAllocator
);

매개 변수

[in] Irp

처리 중인 할당자 만들기 요청이 있는 IRP를 포함합니다.

[in, optional] InitializeContext

필요에 따라 외부 할당자와 함께 사용할 컨텍스트를 포함합니다. 할당자 컨텍스트를 만들 때 선택적 InitializeAllocator 콜백에 대한 초기화 컨텍스트로만 사용됩니다. 매개 변수는 사용되지 않습니다. 외부 할당자가 제공되지 않은 경우 이 매개 변수는 NULL 설정해야 합니다.

[in, optional] DefaultAllocate

필요에 따라 기본 풀 할당 대신 사용되는 외부 할당 함수를 포함합니다. NULL 경우 기본 할당이 사용됩니다.

[in, optional] DefaultFree

필요에 따라 기본 풀 할당 대신 사용되는 외부 사용 가능한 함수를 포함합니다. 외부 할당자가 제공되지 않은 경우 이 매개 변수는 NULL 설정해야 합니다.

[in, optional] InitializeAllocator

선택적으로 InitializeContext 매개 변수가 전달되는 외부 할당자 초기화 함수를 포함합니다. 이 함수는 할당자 프레이밍에 따라 할당자 컨텍스트를 반환해야 합니다. 외부 할당자가 제공되지 않은 경우 이 매개 변수는 NULL 설정해야 합니다.

[in, optional] DeleteAllocator

필요에 따라 외부 할당자에 사용되는 외부 할당자 삭제 함수를 포함합니다. 외부 할당자가 제공되지 않은 경우 이 매개 변수는 NULL 설정해야 합니다.

반환 값

STATUS_SUCCESS 반환하고, 그렇지 않으면 기본 할당자 만들기 실패에 대한 오류를 반환합니다. IRP를 완료하거나 IRP에서 상태를 설정하지 않습니다.

발언

이 루틴을 호출하기 전에 KSCREATE_ITEM_IRP_STORAGE(Irp) 매크로는 이 할당자에 대한 만들기 항목인 KSOBJECT_CREATE_ITEM 구조체에 대한 포인터를 반환해야 합니다. KsCreateDefaultAllocatorEx 이 매크로의 반환 값을 가리키도록 FsContext 설정합니다. 따라서 FsContext 나중에 보안 설명자 쿼리 또는 변경에 사용할 수 있습니다.

ks.hKSCREATE_ITEM_IRP_STORAGE(Irp) 및 관련 매크로를 찾을 수 있습니다.

요구 사항

요구
대상 플랫폼 보편적
헤더 ks.h(Ks.h 포함)
라이브러리 Ks.lib