共用方式為


KsPinDataIntersectionEx 函式 (ks.h)

KsPinDataIntersectionEx 函式會透過回呼函式處理 KSPROPERTY_PIN_DATAINTERSECTION

語法

KSDDKAPI NTSTATUS KsPinDataIntersectionEx(
  [in]           PIRP                    Irp,
  [in]           PKSP_PIN                Pin,
  [out]          PVOID                   Data,
  [in]           ULONG                   DescriptorsCount,
  [in]           const KSPIN_DESCRIPTOR  *Descriptor,
  [in]           ULONG                   DescriptorSize,
  [in, optional] PFNKSINTERSECTHANDLEREX IntersectHandler,
  [in, optional] PVOID                   HandlerContext
);

參數

[in] Irp

指定描述屬性要求的 IRP。

[in] Pin

指定正在查詢的特定屬性。

[out] Data

指定 pin 屬性特定數據。

[in] DescriptorsCount

指定描述元結構的數目。

[in] Descriptor

指定針腳信息結構的指標。

[in] DescriptorSize

描述項結構的大小,以位元組為單位。

[in, optional] IntersectHandler

包含選擇性的 minidriver 定義 KStrIntersectHandlerEx 回呼函式來比較數據範圍。

[in, optional] HandlerContext

提供給處理程式的選擇性內容。

傳回值

傳回STATUS_SUCCESS;否則,所處理之屬性特有的錯誤。

言論

KsPinDataIntersectionExKsPinDataIntersection非常類似,但下列部分稍有差異:

  • KsPinDataIntersectionEx中,會傳遞描述項的大小,這是允許擴充描述項的功能。
  • 數據交集回呼函式在擴充版本(NTSTATUS 回呼(ContextIrpPinDataRangeMatchingDataRangeDataBufferSizeDataDataSize)) 與 KsPinDataIntersection (NTSTATUS 回呼 (IrpPinDataRangeData) 。
  • 輸出緩衝區 (Data) 長度會當做參數傳遞至數據交集回呼函式 (DataBufferSize),而不是從目前的 I/O 堆棧位置擷取。
  • 數據交集回呼函式會傳遞 Context 參數(傳遞 至 KsPinDataIntersectionEx的相同 Context 參數)。
  • 結果格式的大小會傳回 DataSize,而不是 Irp->IoStatus.Information。
除了這些差異以外,KsPinDataIntersectionKsPinDataIntersectionEx 的運作方式類似。

要求

要求 價值
目標平臺 桌面
標頭 ks.h (包括 Ks.h)

另請參閱

KStrIntersectHandlerEx