共用方式為


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)