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.h에서 KSCREATE_ITEM_IRP_STORAGE(Irp) 및 관련 매크로를 찾을 수 있습니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 ks.h(Ks.h 포함)
라이브러리 Ks.lib