Skip to content
This SDK only works with devices released within the past 3 years. We regularly optimize and update the SDK to ensure compatibility and performance. We do not guarantee compatibility or provide technical support for devices older than 3 years.

# SUBSCRIBE_CALLBACK

### Callback Definition

    1
    void SUBSCRIBE_CALLBACK(LONG lUserID, DWORD dwCommand, char* pBuf, DWORD dwBufLen, void* pUser);

### Function Description

The analysis data uploaded when the subscribed intelligent event occurs is called back.

### Parameter Description

Parameters | Type | Remark
--- | --- | ---
lUserIDin | LONG | User ID, the return value of `NET_SDK_Login` or `NET_SDK_LoginEx`.
dwCommandout | DWORD | Smart event type, refer to `NET_SDK_SMART_EVENT_TYPE`.
pBufout | char* | The data returned.
dwBufLenout | DWORD | The length of the returned data.
pUserin | void* | User-defined parameters are passed in when setting the callback function.

### Return Value

None

### Remarks

Depending on the dwCommand, the corresponding data structure is as follows:

dwCommand macro definition | dwCommand corresponding value | dwCommand meaning | data structure definition
--- | --- | --- | ---
NET_SDK_SMART_EVENT_TYPE_OSC | 5 | Item care detection event (IPC only) | `NET_SDK_IVE_OSC_T`
NET_SDK_SMART_EVENT_TYPE_AVD | 6 | Video anomaly diagnostic function detection (IPC only) | `NET_SDK_IVE_AVD_T`
NET_SDK_SMART_EVENT_TYPE_VFD | 12 | Face detection (IPC only) | `NET_DVR_IVE_VFD_RESULT_HEAD_T`+[`NET_DVR_IVE_VFD_RESULT_DATA_INFO_T`+source image]+[`NET_DVR_IVE_VFD_RESULT_FACE_DATA_INFO_T`+face image+face feature value ]+...+[`NET_DVR_IVE_VFD_RESULT_FACE_DATA_INFO_T`+face image+face feature value]
NET_SDK_SMART_EVENT_TYPE_CDD | 13 | Crowd density detection (IPC only) | _
NET_SDK_SMART_EVENT_TYPE_IPD | 14 | Human intrusion (IPC only) | _
NET_SDK_SMART_EVENT_TYPE_CPC | 15 | People counting (IPC only) | _
NET_SDK_SMART_EVENT_TYPE_FACE_MATCH | 16 | Face comparison | NVR `NET_SDK_IVE_FACE_MATCH_T`+ Capture image + `NET_SDK_AVPSTORE_FACE_ABSTRACT_INFO` + `NET_DVR_IVE_VFD_RESULT_FACE_DATA_INFO_T`+ Target image + `NET_SDK_TLV_BUFFER_DESC`+ background image
NET_SDK_SMART_EVENT_TYPE_FACE_MATCH_FOR_IPC | 17 | Face comparison (IPC only) | `NET_SDK_IVE_BASE_INFO`+ `NET_SDK_IVE_PICTURE_INFO` + fullPicture + `NET_SDK_IVE_PICTURE_INFO` + snapPicture
NET_SDK_SMART_EVENT_TYPE_PEA_FOR_IPC | 18 | Cross-border detection and area intrusion detection (IPC only) | `NET_SDK_IVE_PEA_T`
NET_SDK_SMART_EVENT_TYPE_TRAJECT | 19 | Target tracking trajectory | `NET_SDK_TRAIECT_RECT` (Note: The coordinates of each rect in `NET_SDK_TRAIECT_RECT` are ten thousandths
NET_SDK_SMART_EVENT_TYPE_VEHICE | 20 | License plate recognition (IPC only) | `NET_SDK_IVE_VEHICE_HEAD_INFO` + `NET_SDK_IVE_VEHICE_ITEM_INFO` + fullPicture + [`NET_SDK_IVE_VEHICE_ITEM_INFO` + snapPicture]*count
NET_SDK_SMART_EVENT_TYPE_AOIENTRY | NET_SDK_SMART_EVENT_TYPE_PVD | 32 | Illegal parking detection, with snapshot information.
NET_SDK_SMART_EVENT_TYPE_LOITER | 33 | Loitering detection, with snapshot information. | `NET_SDK_EVENT` + `NET_SDK_IVE_PICTURE_INFO` + fullPicture + [`NET_SDK_IVE_PICTURE_INFO` + snapPicture]*count
NET_SDK_SMART_EVENT_TYPE_ASD | 34 | Abnormal sound. | `NET_SDK_EVENT` + `NET_SDK_AUDIO_ABNORMAL_INFO_T`*count
NET_SDK_SMART_EVENT_TYPE_VFD_MATCH_FAILED | 35 | DEPRECATED | __
NET_SDK_SMART_EVENT_TYPE_BINOCULARCOUNT | 36 | Binocular statistics. | `NET_SDK_EVENT` + [`NET_SDK_TLV_BUFFER_DESC` + `NET_SDK_IVE_BINOCULARCOUNT_T`] + [`NET_SDK_TLV_BUFFER_DESC`+ `NET_SDK_IVE_BINOCULARCOUNT_INFO_T` n] + [`NET_SDK_TLV_BUFFER_DESC` + (`NET_SDK_IVE_BINOCULARCOUNT_RULE_T` + rulePointNumA `NET_SDK_IVE_POINT_T` + rulePointNumB`NET_SDK_IVE_POINT_T`)n] + [`NET_SDK_TLV_BUFFER_DESC` + `NET_SDK_IVE_IMAGEDESC_T`] + [`NET_SDK_TLV_BUFFER_DESC` + fullPicture]
NET_SDK_SMART_EVENT_TYPE_FALLING | 37 | High-altitude parabola (not supported yet). | __
NET_SDK_SMART_EVENT_TYPE_TRIPWIRE | 38 | Perimeter prevention, cross-border detection, with target capture related information. | __
NET_SDK_SMART_EVENT_TYPE_HEATMAP | 39 | Heat map. | __
NET_SDK_SMART_EVENT_TYPE_THERMAL_PEA | 40 | Thermal imaging area intrusion, with target capture related information (currently only supports IPC). | `NET_SDK_EVENT` + `NET_SDK_IVE_PICTURE_INFO` + fullPicture + [`NET_SDK_IVE_PICTURE_INFO` + snapPicture]*count
NET_SDK_SMART_EVENT_TYPE_THERMAL_AOIENTRY | 41 | The thermal imaging channel enters the area, with target capture related information (currently only supports IPC). | `NET_SDK_EVENT` + `NET_SDK_IVE_PICTURE_INFO` + fullPicture + [`NET_SDK_IVE_PICTURE_INFO` + snapPicture]*count
NET_SDK_SMART_EVENT_TYPE_THERMAL_AOILEAVE | 42 | Thermal imaging channel leaves the area with target capture related information (currently only supports IPC). | `NET_SDK_EVENT` + `NET_SDK_IVE_PICTURE_INFO` + fullPicture + [`NET_SDK_IVE_PICTURE_INFO` + snapPicture]*count
NET_SDK_SMART_EVENT_TYPE_THERMAL_TRIPWIRE | 43 | Thermal imaging channel cross-border detection, with target capture related information (currently only supports IPC). | `NET_SDK_EVENT` + `NET_SDK_IVE_PICTURE_INFO` + fullPicture + [`NET_SDK_IVE_PICTURE_INFO` + snapPicture]*count

Error Code