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

intersect ハンドラーで予期される省略可能な値。 この値は、サブユニット ドライバー (サブユニット ドライバーが交差ハンドラーを提供する場合) または交差ハンドラーを提供する下位ドライバーによって提供されます。

[in] PinId

交差するピンのオフセット (または ID) を指定します。

[in] DataRange

[in] MatchingDataRange

[in] DataBufferSize

Data メンバーによって渡されるバッファーのサイズ。 これが 0 以外の場合、intersect ハンドラーは、一致するデータ範囲のペアから得られるデータ形式の返しを試みる必要があります。 これが 0 の場合、intersect ハンドラーは ReportedDataSize に必要なバッファー サイズを指定し、STATUS_BUFFER_OVERFLOWを返す必要があります。

[out, optional] Data

一致するデータ範囲のペアから得られるデータ形式を受け取る省略可能なバッファー。 DataBufferSize が 0 の場合、このメンバーは無視されます。

[out] DataSize

戻り値

データ範囲に互換性があり、結果の形式を返すには十分なバッファー領域があった場合、intersect ハンドラーはSTATUS_SUCCESSを返す必要があります。

リターン コード 説明
STATUS_NO_MATCH データ範囲に互換性がありません。
STATUS_INTERNAL_ERROR 予期しない形式のサイズの不一致が発生しました。
STATUS_BUFFER_OVERFLOW intersect ハンドラーは、 ReportedDataSize メンバーを介して必要なバッファー サイズを返します。
STATUS_BUFFER_TOO_SMALL intersect ハンドラーに、結果の形式を保持するのに十分な大きさのバッファーが提供されませんでした。 必要なバッファー サイズを決定するには、 DataBufferSize を 0 に設定して、intersect ハンドラーを再度呼び出す必要があります。
STATUS_INSUFFICIENT_RESOURCES 内部バッファーの割り当てに失敗しました。

注釈

AV/C 交差ハンドラーは、上記の関数プロトタイプに基づいてユーザー定義です。

ハンドラーは、 AVC_FUNCTION_GET_PIN_DESCRIPTOR 関数コードと組み合わせて使用されます。 ハンドラーの目的は、同一のピン データ形式を照合し、呼び出し元に返します。

要件

要件
対象プラットフォーム デスクトップ
Header avc.h (Avc.h を含む)

こちらもご覧ください