共用方式為


PFNAVCINTERSECTHANDLER 回呼函式 (avc.h)

AV/C 交集處理程式會判斷數據範圍是否相容。 這是以下列原型為基礎的使用者定義函式:

語法

typedef NTSTATUS ( *PFNAVCINTERSECTHANDLER)(
  _In_      PVOID        Context,
  _In_      ULONG        PinId,
  _In_      PKSDATARANGE CallerDataRange,
  _In_      PKSDATARANGE DescriptorDataRange,
  _In_      ULONG        DataBufferSize,
  _Out_opt_ PVOID        Data,
  _Out_     PULONG       ReportedDataSize
);

參數

[in] Context

交集處理程式預期的選擇性值。 如果子單位驅動程式提供交集處理程式) ,或由提供交集處理程式的較低驅動程式提供,則這個值是由子單位驅動程式提供 (。

[in] PinId

指定完成交集之針腳的位移 (或標識子) 。

[in] DataRange

[in] MatchingDataRange

[in] DataBufferSize

數據成員所傳遞之緩衝區的大小。 如果這是非零的,則交集處理程式應該嘗試傳回由相符的數據範圍配對所產生的數據格式。 如果這是零,則交集處理程序應該在 ReportedDataSize 中提供必要的緩衝區大小,並傳回STATUS_BUFFER_OVERFLOW。

[out, optional] Data

選擇性緩衝區,可接收由相符的數據範圍配對所產生的數據格式。 如果 DataBufferSize 為零,則會忽略這個成員。

[out] DataSize

傳回值

如果數據範圍相容,則交集處理程式應該傳回STATUS_SUCCESS,而且有足夠的緩衝區空間可傳回產生的格式。

傳回碼 Description
STATUS_NO_MATCH 數據範圍不相容。
STATUS_INTERNAL_ERROR 格式大小不符。
STATUS_BUFFER_OVERFLOW 交集處理程式會透過 ReportDataSize 成員傳回所需的緩衝區大小。
STATUS_BUFFER_TOO_SMALL 未提供相交處理程式,緩衝區夠大,無法保存產生的格式。 必須再次呼叫交集處理程式, 並將 DataBufferSize 設定為零,才能判斷所需的緩衝區大小。
STATUS_INSUFFICIENT_RESOURCES 內部緩衝區配置失敗。

備註

AV/C 交集處理程式是根據上述函式原型的用戶定義。

處理程式會與 AVC_FUNCTION_GET_PIN_DESCRIPTOR 函式程式代碼搭配使用。 處理程式的目的是要符合相同的釘選數據格式,並將其傳回給呼叫端。

規格需求

需求
目標平台 桌面
標頭 avc.h (包含 Avc.h)

另請參閱