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) |