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 |