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 |