共用方式為


PFNKSALLOCATOR 回呼函式 (ks.h)

Minidrivers 可以選擇性地提供 類型為 PFNKSALLOCATOR 的回調函式,做為呼叫 KsEnableEventWithAllocatorKsPropertyHandlerWithAllocatorKsMethodHandlerWithAllocator 的參數。

語法

PFNKSALLOCATOR Pfnksallocator;

NTSTATUS Pfnksallocator(
  [in] PIRP Irp,
  [in] ULONG BufferSize,
  [in] BOOLEAN InputOperation
)
{...}

參數

[in] Irp

指定要進行緩衝區配置要求的 IRP。

[in] BufferSize

指定所需的緩衝區大小。 此大小涵蓋要求中的所有參數。

[in] InputOperation

如果這是輸入作業,則設定為 TRUE ,這表示成功傳回時,Irp-IoStatus.Information> 字段會包含要複製回原始輸入緩衝區的位元組數目。

傳回值

如果處理要求,則傳回STATUS_SUCCESS。 否則會傳回適當的錯誤碼。

備註

一般而言,集區內存會用於緩衝區配置。 這可讓篩選條件直接將事件、屬性和方法查詢傳遞至硬體,以避免額外的數據複製,方法是允許它們提供標準處理函式放置這類數據的緩衝區。 因此,篩選條件可能會有記憶體區塊,這些區塊已經對應至可能發生緩衝區配置的配接器。

由於此記憶體可能不是一般集區配置的記憶體,因此篩選條件必須在 Irp 完成時執行緩衝區清除。 這表示對於非同步使用者模式的輸入作業,配置器必須為目的地緩衝區配置 MDL、探查和鎖定它,以及擷取系統位址。 這必須完成,才能將傳回數據複製到原始緩衝區。

規格需求

需求
目標平台 桌面
標頭 ks.h (包含 Ks.h)