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
交差を行うピンのオフセット (または ID) を指定します。
[in] DataRange
[in] MatchingDataRange
[in] DataBufferSize
Data メンバーによって渡されるバッファーのサイズ。 これが 0 以外の場合、交差ハンドラーは、一致するデータ範囲のペアから得られるデータ形式の返しを試みる必要があります。 これが 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 関数コードと組み合わせて使用されます。 ハンドラーの目的は、同じピン データ形式を照合し、呼び出し元に返します。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | avc.h (Avc.h を含む) |
関連項目
- AVC_FUNCTION_GET_PIN_DESCRIPTOR
- AVC_PIN_DESCRIPTOR
- AVStrMiniIntersectHandlerEx の
- AVStream での DataRange 交差の