共用方式為


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

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

[out, optional] Data

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

[out] DataSize

傳回值

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

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

言論

AV/C 交集處理程式是以上述函式原型為基礎的用戶定義。

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

要求

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

另請參閱