共用方式為


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) 和相關宏。

規格需求

需求
目標平台 Universal
標頭 ks.h (包含 Ks.h)
程式庫 Ks.lib