KsCreateDefaultAllocatorEx 函式 (ks.h)
建立使用指定記憶體集區的預設配置器,並使用內部分派數據表將 IoGetCurrentIrpStackLocation(pIrp)->FileObject 與這個配置器產生關聯。KSDISPATCH_TABLE。
語法
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 |