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 を含む) |