Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

NetDEVSDK User Manual

Download as pdf or txt
Download as pdf or txt
You are on page 1of 767

Network Device SDK (Windows) User Manual

Network Device SDK (Windows)


User Manual

1 / 767
Network Device SDK (Windows) User Manual
1. INTRODUCTION .............................................................................. 29

1.1 Disclaimer .............................................................................. 29


1.2 Intended Audience ....................................................................... 29
1.3 Overview ................................................................................ 29
1.4 Glossary ................................................................................ 30
1.5 System Requirements ..................................................................... 30
1.6 Applicable Products ..................................................................... 30

2. VERSION UPDATE ............................................................................ 31

2.1 Release Notes V2.5 ...................................................................... 31


2.2 Release Notes V2.6 ...................................................................... 31

3. PROGRAMMING GUIDE ......................................................................... 31

3.1 Overview ................................................................................ 31


3.2 Major Process ........................................................................... 32
3.2.1 Flowchart ......................................................................... 32
3.2.2 Sample code for NVR or IPC login .................................................. 34
3.2.3 Sample code for VMS login ......................................................... 35
3.3 Process of Parameter Configuration Module ............................................... 38
3.3.1 Flowchart ......................................................................... 38
3.3.2 Sample code for image configuration ............................................... 38
3.4 Process of Playback & Recording Download Module ......................................... 41
3.4.1 Flowchart ......................................................................... 41
3.4.2 Sample code for recording search and playback by time ............................. 41
3.4.3 Sample code for recording search and download by time ............................. 44
3.4.4 Sample code for recording search and download by filename ......................... 47
3.5 Process of Live View Module ............................................................. 51
3.5.1 Flowchart ......................................................................... 51
3.5.2 Sample code for live view ......................................................... 51
3.6 Process of Audio Module ................................................................. 54
3.6.1 Process of two-way audio module ................................................... 54
3.6.2 Process of audio forwarding module ................................................ 57
3.7 Process of Maintenance Module ........................................................... 60
3.7.1 Flowchart ......................................................................... 60
3.7.2 Sample code ....................................................................... 60
3.8 Process of Exception Module ............................................................. 62
3.8.1 Flowchart ......................................................................... 62
3.8.2 Sample code ....................................................................... 62
3.9 Process of Alarm Module ................................................................. 65
3.9.1 Flowchart ......................................................................... 65
3.9.2 Sample code ....................................................................... 65
3.10 Process of PTZ Module .................................................................. 68
3.10.1 PTZ control process .............................................................. 68
3.10.2 Process of preset and patrol module .............................................. 71
3.11 Process of Smart Module ................................................................ 72

2 / 767
Network Device SDK (Windows) User Manual
3.11.1 Alarm process of person module ................................................... 72
3.11.2 Function process of people counting module ....................................... 80
3.11.3 Function process of vehicle module ............................................... 81
3.11.4 Process of structured data (passing persons and vehicles) ........................ 87

4. BASIC INTERFACE DEFINITION ................................................................ 92

4.1 SDK Initialization ...................................................................... 92


4.1.1 SDK initialization ................................................................ 92
4.1.2 SDK cleanup ....................................................................... 93
4.2 SDK Local Functions ..................................................................... 93
4.2.1 Set log size and quantity ......................................................... 93
4.2.2 Set log file path ................................................................. 94
4.2.3 Set the flag for writing to logs .................................................. 94
4.2.4 Get SDK version ................................................................... 95
4.2.5 Get interface error code .......................................................... 95
4.2.6 Register the callback function to receive exceptions .............................. 96
4.2.7 Set the maximum number of decoding channels ....................................... 97
4.2.8 Set keep-alive interval and times ................................................. 97
4.2.9 Set receiving timeout ............................................................. 98
4.2.10 Set local listening address ...................................................... 98
4.3 Device Discovery ........................................................................ 99
4.3.1 Register the callback function to discover devices ................................ 99
4.3.2 Discover devices ................................................................. 100
4.4 Configure No Login ..................................................................... 100
4.4.1 Modify device IP address ......................................................... 100
4.5 User Login ............................................................................. 101
4.5.1 User logs into the device ........................................................ 101
4.5.2 User logout ...................................................................... 102
4.6 Live View .............................................................................. 102
4.6.1 Live view ........................................................................ 102
4.6.2 Stop live view ................................................................... 103
4.6.3 Start local recording ............................................................ 104
4.6.4 Stop local recording ............................................................. 104
4.6.5 Get live view URL ................................................................ 105
4.6.6 Start live view by URL ........................................................... 106
4.6.7 Snapshot in preview .............................................................. 107
4.6.8 Snapshot without preview ......................................................... 108
4.6.9 Get image data without preview ................................................... 109
4.6.10 Set recording file size ......................................................... 109
4.7 Remote Playback ........................................................................ 110
4.7.1 Search recording ................................................................. 110
4.7.2 Get recording days ............................................................... 112
4.7.3 Search the recording distribution info of a specified month ...................... 113
4.7.4 Get playback URL ................................................................. 114
4.7.5 Play recording file by URL ....................................................... 115

3 / 767
Network Device SDK (Windows) User Manual
4.7.6 Play recording file by filename .................................................. 115
4.7.7 Play recording file by time ...................................................... 116
4.7.8 Playback by frame ................................................................ 117
4.7.9 Playback control ................................................................. 117
4.7.10 Stop playback ................................................................... 118
4.7.11 Download recording file by filename ............................................. 118
4.7.12 Download recording file by time ................................................. 119
4.7.13 Stop downloading recording file ................................................. 120
4.7.14 Search recording start and end times ............................................ 120
4.8 Stream Data Callback ................................................................... 121
4.8.1 Register the callback function to receive raw streams ............................ 121
4.8.2 Register the callback function to receive decoded audio data ..................... 122
4.8.3 Register the callback function to receive decoded video data ..................... 123
4.8.4 Register callback function to receive assembled audio data ....................... 124
4.8.5 Register callback function to receive assembled video data ....................... 125
4.8.6 Register image callback .......................................................... 126
4.9 Video Parameter Configuration .......................................................... 127
4.9.1 Get packet loss rate of window ................................................... 127
4.9.2 Reset packet loss rate of window ................................................. 128
4.9.3 Get bit rate of window ........................................................... 129
4.9.4 Get frame rate of window ......................................................... 129
4.9.5 Get window resolution ............................................................ 129
4.9.6 Get image parameters ............................................................. 130
4.9.7 Adjust image parameters .......................................................... 130
4.9.8 Get encoding format of window .................................................... 131
4.9.9 Generate a keyframe dynamically .................................................. 131
4.9.10 Set digital zoom ................................................................ 132
4.9.11 Enable/disable metadata processing .............................................. 133
4.9.12 Set metadata processing parameter ............................................... 133
4.9.13 Set video fluency ............................................................... 134
4.9.14 Set image display scale ......................................................... 134
4.10 Audio Function ........................................................................ 135
4.10.1 Start two-way audio ............................................................. 135
4.10.2 Stop two-way audio .............................................................. 136
4.10.3 Enable audio data forwarding .................................................... 136
4.10.4 Audio data forwarding ........................................................... 137
4.10.5 Stop audio data forwarding ...................................................... 137
4.10.6 Start audio broadcast ........................................................... 138
4.10.7 Stop audio broadcast ............................................................ 138
4.10.8 Enable audio broadcast group .................................................... 139
4.10.9 Modify audio broadcast group .................................................... 140
4.10.10 Get channel status in audio broadcast group .................................... 140
4.10.11 Modify channel status in audio broadcast group ................................. 141
4.10.12 Turn on speaker sound .......................................................... 141
4.10.13 Get speaker volume ............................................................. 142

4 / 767
Network Device SDK (Windows) User Manual
4.10.14 Set speaker volume ............................................................. 143
4.10.15 Turn off speaker sound ......................................................... 143
4.10.16 Set mute status ................................................................ 144
4.10.17 Get mute status ................................................................ 144
4.10.18 Turn on microphone ............................................................. 145
4.10.19 Get microphone volume .......................................................... 145
4.10.20 Set microphone volume .......................................................... 146
4.10.21 Turn off microphone ............................................................ 147
4.11 Play Local Video ...................................................................... 147
4.11.1 Open local file ................................................................. 147
4.11.2 Start to play local file ........................................................ 148
4.11.3 Stop playing local file ......................................................... 148
4.11.4 Get total duration of local file ................................................ 149
4.12 Fisheye Dewarping ..................................................................... 149
4.12.1 Determine fisheye stream ........................................................ 149
4.12.2 Set 5ePTZ display mode .......................................................... 150
4.12.3 Mouse movement mode ............................................................. 150
4.12.4 Get fisheye dewarping parameters ................................................ 151
4.12.5 Set mode and mount position ..................................................... 151
4.12.6 Get mode and mount position ..................................................... 152
4.13 Manual Recording ...................................................................... 153
4.13.1 Get manual recording status ..................................................... 153
4.13.2 Start manual recording .......................................................... 153
4.13.3 Stop manual recording ........................................................... 154
4.14 PTZ Control ........................................................................... 154
4.14.1 3D positioning .................................................................. 154
4.14.2 3D positioning without preview .................................................. 155
4.14.3 Drag to zoom in ................................................................. 156
4.14.4 Drag to zoom in without preview ................................................. 156
4.14.5 Drag to zoom out ................................................................ 157
4.14.6 Drag to zoom out without preview ................................................ 157
4.14.7 Drag to zoom in/out ............................................................. 158
4.14.8 Drag to zoom in/out without preview ............................................. 158
4.14.9 PTZ control operations .......................................................... 159
4.14.10 PTZ control operation without preview .......................................... 160
4.14.11 Get or set auto guard info ..................................................... 160
4.14.12 Home position operation ........................................................ 161
4.14.13 Home position operation without preview ........................................ 162
4.14.14 Absolute PTZ coordinates movement .............................................. 162
4.14.15 Get PTZ status ................................................................. 163
4.14.16 Get recorded patrol route ...................................................... 163
4.14.17 Get recorded patrol route (including patrol route ID) .......................... 164
4.14.18 Get patrol status of specified channel ......................................... 164
4.14.19 Recorded patrol operation ...................................................... 165
4.14.20 Recorded patrol operation without preview ...................................... 166

5 / 767
Network Device SDK (Windows) User Manual
4.14.21 Get preset position list ....................................................... 166
4.14.22 Preset operation ............................................................... 167
4.14.23 Preset operation without preview ............................................... 167
4.14.24 Preset patrol operation ........................................................ 168
4.14.25 Preset patrol operation without preview ........................................ 169
4.14.26 Get preset patrol route ........................................................ 169
4.14.27 PTZ calibration ................................................................ 170
4.14.28 Get current lens angle ......................................................... 170
4.14.29 Get PTZ latitude and longitude info ............................................ 171
4.14.30 Set PTZ latitude and longitude info ............................................ 171
4.14.31 Get current zoom ratio ......................................................... 172
4.14.32 Set zoom ratio ................................................................. 173
4.15 System Configuration .................................................................. 173
4.15.1 Enable/disable Telnet ........................................................... 173
4.15.2 Export configuration file ....................................................... 174
4.15.3 Import configuration file ....................................................... 174
4.15.4 Get device configuration info ................................................... 175
4.15.5 Set device configuration info ................................................... 175
4.15.6 Get disk mode ................................................................... 176
4.15.7 Set disk mode ................................................................... 177
4.15.8 Get system time of device ....................................................... 177
4.15.9 Set system time of device ....................................................... 178
4.15.10 Modify device IP address without login ......................................... 178
4.15.11 Change device name ............................................................. 179
4.15.12 Get device capabilities ........................................................ 179
4.15.13 Get device list by device type ................................................. 180
4.15.14 Get device info one by one ..................................................... 180
4.15.15 Stop searching device info, release resource ................................... 181
4.15.16 Get device channel list ........................................................ 181
4.15.17 Get device channel basic info one bye one ...................................... 182
4.15.18 Stop getting basic info about device channel ................................... 182
4.15.19 Get channel list by device ID or channel type .................................. 183
4.15.20 Get device channel info one by one ............................................. 183
4.15.21 Stop searching device channel info, release resource ........................... 184
4.15.22 Get detailed channel info by channel type and channel ID ....................... 184
4.15.23 Set alarm output channel info by channel type and channel ID ................... 185
4.15.24 Get channel type ............................................................... 185
4.15.25 Get device channel basic info .................................................. 186
4.15.26 Get basic device info .......................................................... 186
4.15.27 Get device info ................................................................ 187
4.15.28 Get detailed device info ....................................................... 187
4.15.29 Get device location info ....................................................... 188
4.15.30 Get Wi-Fi sniffer’s MAC address info .......................................... 188
4.15.31 Get video channel list ......................................................... 189
4.15.32 Get video channel list ......................................................... 189

6 / 767
Network Device SDK (Windows) User Manual
4.15.33 Get video channel info ......................................................... 190
4.15.34 Import audio file .............................................................. 191
4.15.35 Delete audio file .............................................................. 191
4.15.36 Get audio file ................................................................. 192
4.15.37 Get audio output parameters .................................................... 194
4.15.38 Set audio output parameters .................................................... 194
4.16 Alarm-Triggered Snapshot .............................................................. 195
4.16.1 Get alarm-triggered snapshot URL ................................................ 195
4.16.2 Save alarm snapshot ............................................................. 197
4.17 Alarm Message ......................................................................... 198
4.17.1 Register the callback function to receive alarm messages ........................ 198
4.17.2 Get device alarm info proactively ............................................... 199
4.18 People Flow Counting .................................................................. 199
4.18.1 Get people counting list ........................................................ 199
4.18.2 Get people counting info one by one ............................................. 200
4.18.3 Stop the search and release resource ............................................ 200
4.18.4 Get people counting statistics .................................................. 201
4.18.5 Reset people counting statistics ................................................ 201
4.18.6 Get time interval of reporting people counting statistics ....................... 202
4.18.7 Start getting people counting statistics ........................................ 202
4.18.8 Stop getting people counting statistics ......................................... 203
4.18.9 Start getting multi-channel people counting statistics .......................... 203
4.18.10 Get people counting progress ................................................... 204
4.18.11 Register the callback function to receive people counting statistics ........... 204
4.19 Monitoring Task ....................................................................... 205
4.19.1 Add person ...................................................................... 205
4.19.2 Delete person ................................................................... 206
4.19.3 Add a face monitoring task ...................................................... 206
4.19.4 Delete a face monitoring task ................................................... 207
4.19.5 Delete face monitoring tasks in batches ......................................... 208
4.19.6 Create person library info ...................................................... 208
4.19.7 Modify person library info ...................................................... 209
4.19.8 Delete a person library ......................................................... 209
4.19.9 Get configuration of a face monitoring task ..................................... 210
4.19.10 Set a face monitoring task ..................................................... 210
4.19.11 Get capacity info of all person libraries ...................................... 211
4.19.12 Search person info with criteria ............................................... 212
4.19.13 Get all the existing person libraries .......................................... 214
4.19.14 Search all the face monitoring tasks ........................................... 216
4.19.15 Add a vehicle library .......................................................... 218
4.19.16 Delete a vehicle library ....................................................... 218
4.19.17 Modify a vehicle library ....................................................... 219
4.19.18 Add vehicle members in batches ................................................. 220
4.19.19 Delete vehicle members in batches .............................................. 220
4.19.20 Delete a vehicle member ........................................................ 221

7 / 767
Network Device SDK (Windows) User Manual
4.19.21 Add a vehicle monitoring task .................................................. 221
4.19.22 Delete vehicle monitoring tasks in batches ..................................... 222
4.19.23 Get detailed info about a vehicle member ....................................... 222
4.19.24 Modify vehicle info in a vehicle library ....................................... 223
4.19.25 Get configuration of a vehicle monitoring task ................................. 224
4.19.26 Set a vehicle monitoring task .................................................. 224
4.19.27 Assign vehicle members in batches to a vehicle library ......................... 225
4.19.28 Remove vehicle members in batches from a vehicle library ....................... 225
4.19.29 Get vehicle image info of a vehicle recognition record ......................... 226
4.19.30 Get vehicle library list ....................................................... 227
4.19.31 Search vehicle recognition records with criteria ............................... 229
4.19.32 Get all vehicle monitoring tasks ............................................... 231
4.19.33 Search vehicle members with criteria ........................................... 233
4.19.34 Modify a person ................................................................ 235
4.19.35 Delete persons in batches ...................................................... 236
4.20 Transparent Transmission of Data ...................................................... 237
4.20.1 Create transparent channel ...................................................... 237
4.20.2 Send data to device’s serial port through transparent channel .................. 238
4.20.3 Disconnect transparent channel .................................................. 238
4.21 User Configuration .................................................................... 239
4.21.1 Add user info ................................................................... 239
4.21.2 Modify user info ................................................................ 239
4.21.3 Delete user info ................................................................ 240
4.21.4 Change current user’s password ................................................. 240
4.21.5 Change a specified user’s password ............................................. 241
4.21.6 Get current device password ..................................................... 242
4.21.7 Get detailed info of a user ..................................................... 242
4.21.8 Get detailed info of a user ..................................................... 243
4.22 Organization Management ............................................................... 243
4.22.1 Add Organization ................................................................ 243
4.22.2 Modify Organization ............................................................. 244
4.22.3 Delete organizations in batches ................................................. 244
4.22.4 Modify channel by organization ID ............................................... 245
4.22.5 Get channel by organization ID .................................................. 245
4.22.6 Get channel list by organization ID ............................................. 246
4.22.7 Get organization list ........................................................... 248
4.23 Network Configuration ................................................................. 250
4.23.1 Get NAT types ................................................................... 250
4.23.2 Get mapped port ................................................................. 251
4.23.3 Set mapped port ................................................................. 251
4.24 Decoding Device ....................................................................... 252
4.24.1 Get capabilities ................................................................ 252
4.24.2 Get the number of local encoding channels ....................................... 252
4.24.3 Get video channel list .......................................................... 253
4.24.4 Create video wall configuration ................................................. 254

8 / 767
Network Device SDK (Windows) User Manual
4.24.5 Modify video wall configuration ................................................. 254
4.24.6 Delete video wall configuration ................................................. 255
4.24.7 Get video wall configuration .................................................... 255
4.24.8 Get configuration of a video wall ............................................... 258
4.24.9 Create a virtual LED ............................................................ 258
4.24.10 Delete a virtual LED ........................................................... 259
4.24.11 Configure a virtual LED ........................................................ 259
4.24.12 Get a virtual LED .............................................................. 260
4.24.13 Get virtual LED list ........................................................... 261
4.24.14 Create a window ................................................................ 263
4.24.15 Create windows in batches ...................................................... 263
4.24.16 Modify a window ................................................................ 264
4.24.17 Modify windows in batches ...................................................... 265
4.24.18 Delete a window ................................................................ 265
4.24.19 Magnify/restore a window ....................................................... 266
4.24.20 Delete windows in batches ...................................................... 267
4.24.21 Get window configuration list .................................................. 267
4.24.22 Get configuration of a window .................................................. 269
4.24.23 Get binding info of single live video service .................................. 270
4.24.24 Bind a live view service ....................................................... 270
4.24.25 Unbind a live view service ..................................................... 271
4.24.26 Get live view binding info in the scene ........................................ 272
4.24.27 Start passive decoding ......................................................... 274
4.24.28 Send data to passive decoding channel .......................................... 275
4.24.29 Stop passive decoding .......................................................... 275
4.24.30 Service stream info ............................................................ 276
4.24.31 Get all sequence resources of device ........................................... 278
4.24.32 Add a sequence resource to device .............................................. 279
4.24.33 Modify a sequence resource ..................................................... 279
4.24.34 Delete a sequence resource ..................................................... 280
4.24.35 Get detailed info about a sequence resource .................................... 280
4.24.36 Create a scene ................................................................. 281
4.24.37 Modify a scene ................................................................. 281
4.24.38 Delete a scene ................................................................. 282
4.24.39 Get the associated scenes of the current scene ................................. 283
4.24.40 Switch scene ................................................................... 283
4.24.41 Get info about the current scene ............................................... 284
4.24.42 Get scene info ................................................................. 284
4.24.43 Get scene configuration list ................................................... 285
4.24.44 Bind sequence resource to the scene ............................................ 287
4.24.45 Modify the sequence resource bound to the scene ................................ 288
4.24.46 Delete the sequence resource bound to the scene ................................ 288
4.24.47 Control sequence playing ....................................................... 289
4.24.48 Add a scene sequence plan ...................................................... 289
4.24.49 Modify a scene sequence plan ................................................... 290

9 / 767
Network Device SDK (Windows) User Manual
4.24.50 Delete a scene sequence plan ................................................... 291
4.24.51 Get a scene sequence plan ...................................................... 291
4.24.52 Get scene sequence plan list ................................................... 292
4.24.53 Control the playing of scene sequence plans .................................... 294
4.25 Smart Function ........................................................................ 295
4.25.1 Get system image info ........................................................... 295
4.25.2 Manual linkage operations ....................................................... 295
4.25.3 Register the callback function to receive plate recognition data ................ 296
4.25.4 Register the callback function to receive face recognition alarms ............... 297
4.25.5 Register the callback function to receive captured face images .................. 298
4.25.6 Register the callback function to receive heatmap data .......................... 298
4.25.7 Register the callback function to receive face alarms ........................... 299
4.25.8 Register the callback function to receive structured alarms ..................... 300
4.25.9 Register the callback function to receive plate recognition alarms .............. 301
4.25.10 Subscribe to VCA events ........................................................ 302
4.25.11 Cancel VCA event subscription .................................................. 303
4.25.12 Alarm subscription via LAPI .................................................... 303
4.25.13 Cancel alarm subscription via LAPI ............................................. 304
4.25.14 Face recognition record ........................................................ 305
4.25.15 Parking lot .................................................................... 307
4.25.16 Time template .................................................................. 311
4.25.17 Access control ................................................................. 315
4.25.18 Deep Learning Perimeter Protection ............................................. 338
4.25.19 Get data related to an alarm ................................................... 341
4.25.20 Register the callback function to receive alarm images ......................... 343
4.25.21 People counting ................................................................ 344
4.26 System Maintenance .................................................................... 350
4.26.1 Search logs ..................................................................... 350
4.26.2 Get device alarms ............................................................... 352
4.26.3 Get alarm logs .................................................................. 354
4.26.4 Restart device .................................................................. 356
4.26.5 Restore device to factory defaults .............................................. 357
4.27 Structure Definition .................................................................. 357
4.27.1 Structure of device login info .................................................. 357
4.27.2 Structure of security login info ................................................ 358
4.27.3 Structure of timeout ............................................................ 358
4.27.4 Structure of discovered device info ............................................. 359
4.27.5 Structure of abnormal player output info ........................................ 360
4.27.6 Structure of device address info ................................................ 360
4.27.7 Structure of live view parameters ............................................... 361
4.27.8 Structure of decoded audio data ................................................. 362
4.27.9 Structure of audio parameters ................................................... 362
4.27.10 Structure of channel operation info ............................................ 362
4.27.11 Structure of channel list ...................................................... 363
4.27.12 Structure of info about batch processing audio broadcast group ................. 363

10 / 767
Network Device SDK (Windows) User Manual
4.27.13 Structure of info about audio broadcast channels ............................... 363
4.27.14 Structure of info about audio broadcast group channels ......................... 364
4.27.15 Structure of info about audio broadcast group control .......................... 364
4.27.16 Structure of audio data ........................................................ 365
4.27.17 Structure of image data ........................................................ 365
4.27.18 Structure of assembled audio data .............................................. 366
4.27.19 Structure of parsed video data ................................................. 366
4.27.20 Structure of image info ........................................................ 367
4.27.21 Structure of rectangular area .................................................. 367
4.27.22 Structure of recording search info ............................................. 368
4.27.23 Structure of recording file info ............................................... 368
4.27.24 Structure of info about searching recording location by month .................. 369
4.27.25 Structure of recording status by month ......................................... 369
4.27.26 Structure of channel list ...................................................... 370
4.27.27 Structure of playback by time parameters ....................................... 370
4.27.28 Structure of playback by filename parameters ................................... 372
4.27.29 Structure of drag-to-zoom ...................................................... 372
4.27.30 Structure of info about PTZ areas .............................................. 373
4.27.31 Structure of info about PTZ auto-guard ......................................... 373
4.27.32 Absolute coordinates movement .................................................. 374
4.27.33 PTZ status ..................................................................... 374
4.27.34 Structure of PTZ recorded patrol route ......................................... 375
4.27.35 PTZ recorded patrol route list ................................................. 375
4.27.36 Structure of PTZ recorded patrol route ......................................... 375
4.27.37 Structure of info about status of PTZ recorded patrol .......................... 376
4.27.38 Structure of all PTZ presets ................................................... 376
4.27.39 Structure of PTZ preset info ................................................... 377
4.27.40 Structure of detailed info about PTZ preset patrol routes ...................... 377
4.27.41 Structure of PTZ presets in preset patrol route ................................ 377
4.27.42 Structure of PTZ preset patrol route list ...................................... 378
4.27.43 Structure of PTZ direction info ................................................ 378
4.27.44 Structure of PTZ lens angle .................................................... 379
4.27.45 PTZ latitude and longitude info unit ........................................... 379
4.27.46 Structure of log search criteria ............................................... 379
4.27.47 Structure of log info .......................................................... 380
4.27.48 Structure of alarm info search criteria ........................................ 381
4.27.49 Structure of alarm info ........................................................ 381
4.27.50 Alarm log search criteria list ................................................. 382
4.27.51 Structure of alarm log search criteria ......................................... 382
4.27.52 Structure of alarm log info .................................................... 382
4.27.53 Structure of person list ....................................................... 384
4.27.54 Structure of person info ....................................................... 384
4.27.55 Structure of member’s region info ............................................. 386
4.27.56 Structure of time template info ................................................ 386
4.27.57 Structure of member’s ID info ................................................. 386

11 / 767
Network Device SDK (Windows) User Manual
4.27.58 Structure of face image list ................................................... 387
4.27.59 Structure of file info ......................................................... 387
4.27.60 Structure of custom attribute info ............................................. 388
4.27.61 Structure of staff info ........................................................ 388
4.27.62 Structure of visitor info ...................................................... 388
4.27.63 Structure of person info result list ........................................... 389
4.27.64 Structure of person info processing result ..................................... 389
4.27.65 Structure of face info processing result ....................................... 390
4.27.66 Structure of monitoring task info .............................................. 390
4.27.67 Structure of info about monitoring task configuration .......................... 391
4.27.68 Structure of face/vehicle member list .......................................... 392
4.27.69 Structure of alarm linkage configuration info .................................. 392
4.27.70 Structure of linkage actions list of monitoring task ........................... 392
4.27.71 Structure of info about linkage action list .................................... 393
4.27.72 Structure of channel linkage info .............................................. 393
4.27.73 Structure of linkage enablement ................................................ 393
4.27.74 Structure of linked PTZ preset list ............................................ 394
4.27.75 Structure of info about linked PTZ presets ..................................... 394
4.27.76 Structure of linked alarm output ............................................... 394
4.27.77 Structure of logical alarm status of alarm output (manual alarm) ............... 395
4.27.78 Structure of schedule configuration (weekly) ................................... 395
4.27.79 Schedule of schedule configuration (daily) ..................................... 395
4.27.80 Structure of time period configuration ......................................... 396
4.27.81 Structure of arming info ....................................................... 396
4.27.82 Structure of monitoring list returned after adding monitoring .................. 396
4.27.83 Structure of monitoring info returned after adding monitoring .................. 397
4.27.84 Structure of person library info ............................................... 397
4.27.85 Structure of person library list ............................................... 398
4.27.86 Structure of flag for deleting a library ....................................... 398
4.27.87 Structure of info about capacity of all person libraries ....................... 399
4.27.88 Structure of info about capacity of a face library ............................. 399
4.27.89 Structure of person info search criteria ....................................... 399
4.27.90 Structure of basic info returned for a batch search ............................ 400
4.27.91 Structure of list returned for batch deleting face monitoring .................. 400
4.27.92 Structure of batch operation info .............................................. 401
4.27.93 Criteria for searching alarm snapshot URL ...................................... 401
4.27.94 Alarm snapshot image info ...................................................... 401
4.27.95 Structure of snapshot image info ............................................... 402
4.27.96 Structure of point coordinates ................................................. 403
4.27.97 Structure of manual recording .................................................. 403
4.27.98 Basic device info .............................................................. 403
4.27.99 NTP parameters ................................................................. 404
4.27.100 Struct of address ............................................................. 404
4.27.101 NTP list ...................................................................... 405
4.27.102 Video stream information of a channel ......................................... 405

12 / 767
Network Device SDK (Windows) User Manual
4.27.103 Video stream list ............................................................. 406
4.27.104 Video stream info ............................................................. 406
4.27.105 Video encoding parameter info ................................................. 406
4.27.106 Video collection capability ................................................... 407
4.27.107 Basic attributes of OSD ....................................................... 408
4.27.108 OSD time configuration info ................................................... 408
4.27.109 OSD text ...................................................................... 409
4.27.110 Area .......................................................................... 409
4.27.111 OSD configuration list ........................................................ 409
4.27.112 OSD configuration ............................................................. 410
4.27.113 OSD content style ............................................................. 410
4.27.114 All alarm input info .......................................................... 411
4.27.115 Alarm output info ............................................................. 411
4.27.116 Link alarm input .............................................................. 412
4.27.117 All alarm input info .......................................................... 412
4.27.118 Alarm input info .............................................................. 412
4.27.119 Logical alarm status list of alarm output (manual alarm) ...................... 413
4.27.120 Logical alarm status of alarm output (manual alarm) ........................... 413
4.27.121 Structure of logical alarm status of triggering or clearing switch output (manual
alarm) ................................................................................. 414
4.27.122 Alarm input configuration list ................................................ 414
4.27.123 Alarm input info .............................................................. 414
4.27.124 Image settings ................................................................ 415
4.27.125 Image exposure parameters ..................................................... 416
4.27.126 Iris info ..................................................................... 416
4.27.127 Shutter info .................................................................. 417
4.27.128 Gain info ..................................................................... 418
4.27.129 WDR info ...................................................................... 418
4.27.130 Metering info ................................................................. 419
4.27.131 Metering area ................................................................. 419
4.27.132 Upper left area ............................................................... 420
4.27.133 Lower right area .............................................................. 420
4.27.134 Day/night mode info ........................................................... 421
4.27.135 Illuminator info .............................................................. 421
4.27.136 White balance info ............................................................ 422
4.27.137 Network configuration info .................................................... 422
4.27.138 VPN client info ............................................................... 423
4.27.139 Device DNS info ............................................................... 424
4.27.140 DNS address ................................................................... 425
4.27.141 NIC info ...................................................................... 425
4.27.142 Detailed NIC info ............................................................. 426
4.27.143 NIC IPv4 info ................................................................. 427
4.27.144 Detailed IPv4 address info .................................................... 427
4.27.145 NIC IPv6 info ................................................................. 428
4.27.146 Detailed IPv6 address info .................................................... 428

13 / 767
Network Device SDK (Windows) User Manual
4.27.147 Port information .............................................................. 428
4.27.148 Privacy mask configuration info ............................................... 429
4.27.149 Structure of area configuration ............................................... 429
4.27.150 Tampering detection info ...................................................... 430
4.27.151 Motion detection analysis info ................................................ 430
4.27.152 Cross line detection analysis info ............................................ 431
4.27.153 Area info ..................................................................... 431
4.27.154 Intrusion detection info ...................................................... 432
4.27.155 Intrusion detection area info ................................................. 432
4.27.156 Coordinates of intrusion detection area ....................................... 433
4.27.157 HDD list ...................................................................... 433
4.27.158 Detailed HDD info ............................................................. 433
4.27.159 Focus info .................................................................... 434
4.27.160 Day/night mode info ........................................................... 434
4.27.161 Defog info .................................................................... 435
4.27.162 Image enhancement parameters of specified channel ............................. 435
4.27.163 Info about audio input parameters ............................................. 436
4.27.164 Audio input channel info ...................................................... 436
4.27.165 DST configuration info ........................................................ 437
4.27.166 DST configuration ............................................................. 437
4.27.167 Time configuration ............................................................ 438
4.27.168 Recording schedule configuration info ......................................... 438
4.27.169 Recording schedule rules ...................................................... 439
4.27.170 Recording schedule (weekly) configuration ..................................... 439
4.27.171 Recording schedule (daily) configuration ...................................... 440
4.27.172 Video time period configuration ............................................... 440
4.27.173 Snapshot info of video input channel .......................................... 440
4.27.174 Video source resolution information ........................................... 441
4.27.175 Schedule (weekly) configuration ............................................... 441
4.27.176 Schedule (daily) configuration ................................................ 442
4.27.177 Time period configuration ..................................................... 442
4.27.178 Arming schedule configuration of alarm input/output (weekly) .................. 443
4.27.179 Recording status list ......................................................... 443
4.27.180 Recording status info ......................................................... 443
4.27.181 Serial port info .............................................................. 444
4.27.182 Serial port configuration info ................................................ 444
4.27.183 Serial port parameters ........................................................ 445
4.27.184 Audio status list ............................................................. 445
4.27.185 Audio status info ............................................................. 446
4.27.186 Video loss alarm configuration info ........................................... 446
4.27.187 Linkage action list ........................................................... 446
4.27.188 Linkage actions of task ....................................................... 447
4.27.189 Channel linkage info .......................................................... 447
4.27.190 Linkage action enablement parameter ........................................... 448
4.27.191 PTZ preset .................................................................... 448

14 / 767
Network Device SDK (Windows) User Manual
4.27.192 Info about linked PTZ preset .................................................. 448
4.27.193 Alarm output .................................................................. 449
4.27.194 Logical alarm status of alarm output (manual alarm) ........................... 449
4.27.195 Linkage action enablement parameters .......................................... 450
4.27.196 Tampering detection configuration info ........................................ 450
4.27.197 Structure of info about temperature detection blackbody ....................... 450
4.27.198 Structure of info about temperature detection correction ...................... 451
4.27.199 Structure of info about temperature detection unit ............................ 451
4.27.200 Motion detection area type info ............................................... 452
4.27.201 Motion detection grid area info ............................................... 452
4.27.202 Motion detection rectangle area list .......................................... 452
4.27.203 Motion detection rectangle area info .......................................... 453
4.27.204 Coordinates info of rectangle area ............................................ 453
4.27.205 Linkage actions of alarm input/output ......................................... 454
4.27.206 RAID status info .............................................................. 454
4.27.207 HDD list ...................................................................... 455
4.27.208 HDD info ...................................................................... 455
4.27.209 Storage container list ........................................................ 456
4.27.210 Storage container info ........................................................ 457
4.27.211 Expansion storage container info .............................................. 458
4.27.212 HDD S.M.A.R.T. info ........................................................... 458
4.27.213 HDD S.M.A.R.T. info ........................................................... 459
4.27.214 Photo server configuration list ............................................... 460
4.27.215 Enhancement configuration info ................................................ 460
4.27.216 Smart server list ............................................................. 460
4.27.217 Smart server configuration info ............................................... 461
4.27.218 Server user info .............................................................. 462
4.27.219 Motion detection alarm parameters ............................................. 462
4.27.220 Management server list ........................................................ 463
4.27.221 Visible range parameters ...................................................... 463
4.27.222 Verification info ............................................................. 464
4.27.223 Storage quota info ............................................................ 464
4.27.224 Custom protocol info .......................................................... 465
4.27.225 Custom protocol configuration info ............................................ 466
4.27.226 Custom stream protocol info ................................................... 466
4.27.227 Simple info of custom protocol ................................................ 466
4.27.228 Custom protocol info .......................................................... 467
4.27.229 Storage policy info ........................................................... 467
4.27.230 Video storage policy info ..................................................... 468
4.27.231 Image storage policy info ..................................................... 468
4.27.232 Back focus finetune parameters ................................................ 469
4.27.233 Smart attribute configuration ................................................. 469
4.27.234 Face attribute configuration .................................................. 469
4.27.235 Temperature attribute configuration ........................................... 470
4.27.236 Image correction parameters ................................................... 470

15 / 767
Network Device SDK (Windows) User Manual
4.27.237 Device time synchronization ................................................... 471
4.27.238 Automatic scene switching ..................................................... 471
4.27.239 Scene template info ........................................................... 472
4.27.240 All scene info ................................................................ 472
4.27.241 Scene info .................................................................... 472
4.27.242 Detailed info about automatic scene switching triggers ........................ 473
4.27.243 Environment parameter info .................................................... 473
4.27.244 Attribute collection info ..................................................... 474
4.27.245 Face attributes enable/disable info ........................................... 474
4.27.246 Pedestrian attributes enable/disable info ..................................... 475
4.27.247 Non-motor vehicle attributes enable/disable info .............................. 476
4.27.248 Motor vehicle attributes enable/disable info .................................. 477
4.27.249 Time configuration ............................................................ 478
4.27.250 Time parameters ............................................................... 479
4.27.251 System IP address ............................................................. 479
4.27.252 Position relative to video wall ............................................... 480
4.27.253 Coordinates info .............................................................. 480
4.27.254 Detailed HDD S.M.A.R.T. info .................................................. 480
4.27.255 Photo server configuration info ............................................... 481
4.27.256 Smart server configuration info ............................................... 482
4.27.257 All OSD contents. ............................................................. 483
4.27.258 OSD content info .............................................................. 483
4.27.259 Content info .................................................................. 484
4.27.260 Temperature detection alarm configuration info ................................ 484
4.27.261 Structure of basic info about temperature detection ........................... 484
4.27.262 Temperature detection common rule list ........................................ 485
4.27.263 Structure of general info about temperature detection ......................... 486
4.27.264 Temperature detection comparison rule list .................................... 486
4.27.265 Structure of comparison info about temperature detection ...................... 487
4.27.266 Basic device info ............................................................. 487
4.27.267 IP address info ............................................................... 489
4.27.268 User account info ............................................................. 490
4.27.269 Onvif info .................................................................... 490
4.27.270 GB info ....................................................................... 490
4.27.271 Smart lock info ............................................................... 491
4.27.272 Player info ................................................................... 492
4.27.273 Resolution information ........................................................ 492
4.27.274 Device channel info ........................................................... 493
4.27.275 Channel info about Xware device’s local signal source ........................ 493
4.27.276 Basic channel info of device .................................................. 494
4.27.277 Basic device info ............................................................. 494
4.27.278 Time info ..................................................................... 495
4.27.279 Client version list ........................................................... 496
4.27.280 Client version info ........................................................... 496
4.27.281 Device info ................................................................... 497

16 / 767
Network Device SDK (Windows) User Manual
4.27.282 Detailed device info .......................................................... 497
4.27.283 Device firmware info .......................................................... 498
4.27.284 Geolocation info .............................................................. 498
4.27.285 Wi-Fi sniffer MAC array info .................................................. 499
4.27.286 Wi-Fi sniffer MAC info ........................................................ 499
4.27.287 Detailed video channel info ................................................... 499
4.27.288 Detailed video channel info ................................................... 500
4.27.289 Detailed video channel info (expansion) ....................................... 501
4.27.290 Alarm/event report info ....................................................... 502
4.27.291 Alarm message ................................................................. 503
4.27.292 Event info .................................................................... 504
4.27.293 Event resource info ........................................................... 505
4.27.294 Pull alarm info ............................................................... 505
4.27.295 People counting ............................................................... 506
4.27.296 People counting command ....................................................... 506
4.27.297 People counting ............................................................... 507
4.27.298 Time interval for reporting people counting statistics ........................ 507
4.27.299 Multi-channel people counting command ......................................... 507
4.27.300 People counting info .......................................................... 508
4.27.301 Structure of info about Xware device capability ............................... 509
4.27.302 Structure of video wall capability ............................................ 510
4.27.303 Structure of video output format list ......................................... 510
4.27.304 Structure of window capability ................................................ 511
4.27.305 Structure of background image capability ...................................... 511
4.27.306 Structure of virtual LED capability ........................................... 512
4.27.307 Structure of sequence display capability ...................................... 512
4.27.308 Structure of feature capability ............................................... 513
4.27.309 Structure of info about window layout supported by Xware device ............... 514
4.27.310 Structure of video output expansion format of Xware device .................... 514
4.27.311 Structure of info about the number of channels ................................ 514
4.27.312 Structure of info about decoding channels ..................................... 515
4.27.313 Structure of info about video input channels .................................. 516
4.27.314 Structure of info about video output channel of Xware device .................. 516
4.27.315 Structure of info about audio input channel ................................... 517
4.27.316 Structure of info about audio output channel .................................. 517
4.27.317 Structure of info about serial interface channel .............................. 518
4.27.318 Structure of video wall info .................................................. 518
4.27.319 Structure of video wall screen configuration .................................. 519
4.27.320 Structure of special output format specs ...................................... 519
4.27.321 Structure of LED screens ...................................................... 520
4.27.322 Structure of physical output configuration .................................... 520
4.27.323 Structure of virtual LED info ................................................. 520
4.27.324 Structure of background ....................................................... 521
4.27.325 Structure of font info ........................................................ 521
4.27.326 Structure of window info ...................................................... 523

17 / 767
Network Device SDK (Windows) User Manual
4.27.327 Structure of split window info ................................................ 524
4.27.328 Structure of window list info ................................................. 524
4.27.329 Structure of window info for batch window opening ............................. 525
4.27.330 Structure of info about batch operation results ............................... 525
4.27.331 Structure of returned result of opening windows in batches .................... 525
4.27.332 Structure of screen zoom info ................................................. 526
4.27.333 Structure of decoding device ID info .......................................... 526
4.27.334 Structure of video source info ................................................ 527
4.27.335 Structure of authentication info .............................................. 527
4.27.336 Structure of font info ........................................................ 528
4.27.337 Structure of info about control parameters of sending passive decoding data ... 528
4.27.338 Structure of detailed stream session info ..................................... 529
4.27.339 Structure of basic info about sequence resource ............................... 529
4.27.340 Structure of detailed info about sequence resource ............................ 530
4.27.341 Structure of info about video sources of sequence resource .................... 530
4.27.342 Structure of basic video source info for remote live video .................... 531
4.27.343 Structure of basic scene info ................................................. 531
4.27.344 Structure of scene modification info .......................................... 532
4.27.345 Structure of detailed scene info .............................................. 532
4.27.346 Structure of all background image info ........................................ 533
4.27.347 Structure of sequence resource list ........................................... 534
4.27.348 Structure of sequence resource info ........................................... 534
4.27.349 Structure of brief scene info ................................................. 535
4.27.350 Structure of sequence resource binding info ................................... 535
4.27.351 Structure of info about sequence play control ................................. 536
4.27.352 Structure of basic info about scene sequence plan ............................. 536
4.27.353 Structure of info about scene switching timer ................................. 537
4.27.354 Structure of info about scene switching time table ............................ 537
4.27.355 Structure of info about 24-hour time table .................................... 537
4.27.356 Structure of info about scene sequence plan playing control ................... 538
4.27.357 Structure of stream source info ............................................... 538
4.27.358 Structure of stream destination info .......................................... 539
4.27.359 Structure of detailed stream info ............................................. 539
4.27.360 Structure of manual alarm linkage ............................................. 540
4.27.361 Structure of rectangle coordinates ............................................ 540
4.27.362 Structure of plate recognition data info ...................................... 540
4.27.363 Structure of plate recognition xml info ....................................... 541
4.27.364 Structure of plate recognition image info ..................................... 541
4.27.365 Structure of face recognition record .......................................... 542
4.27.366 Structure of info about face snapshot comparison .............................. 542
4.27.367 Structure of face library member info ......................................... 543
4.27.368 Structure of snapshot image info .............................................. 544
4.27.369 Structure of region info of face library members .............................. 544
4.27.370 Structure of member’s ID info ................................................ 544
4.27.371 Structure of area coordinates ................................................. 545

18 / 767
Network Device SDK (Windows) User Manual
4.27.372 Structure of face snapshot info ............................................... 545
4.27.373 Structure of face position info ............................................... 546
4.27.374 Structure of heatmap data info ................................................ 547
4.27.375 Structure of heatmap xml info ................................................. 547
4.27.376 Structure of heatmap area info ................................................ 548
4.27.377 Person alarm info ............................................................. 548
4.27.378 Face pass-through records info ................................................ 549
4.27.379 Face comparison info .......................................................... 549
4.27.380 Semi-structured attribute info ................................................ 550
4.27.381 Face attribute info ........................................................... 550
4.27.382 Person attributes ............................................................. 551
4.27.383 Structured alarm info ......................................................... 552
4.27.384 Structured data info .......................................................... 552
4.27.385 Object info ................................................................... 553
4.27.386 Face info ..................................................................... 553
4.27.387 Person info ................................................................... 554
4.27.388 Non-motor vehicle info ........................................................ 555
4.27.389 Non-motor vehicle attribute info .............................................. 556
4.27.390 Vehicle info .................................................................. 556
4.27.391 Vehicle attribute info ........................................................ 557
4.27.392 Plate attribute info .......................................................... 558
4.27.393 Structure of vehicle recognition event ........................................ 558
4.27.394 Structure of vehicle comparison alarm info .................................... 558
4.27.395 Structure of vehicle recognition record info .................................. 559
4.27.396 Structure of plate info ....................................................... 560
4.27.397 Structure of info about smart event subscription .............................. 560
4.27.398 Structure of smart event info ................................................. 560
4.27.399 Structure of info about LAPI alarm subscription ............................... 561
4.27.400 Structure of returned result for successful subscriptions ..................... 561
4.27.401 Structure of returned alarm records (face recognition and plate recognition) .. 562
4.27.402 Structure of parking lot entrance/exit list ................................... 562
4.27.403 Structure of parking lot entrance/exit info ................................... 563
4.27.404 Structure of parking lot list ................................................. 563
4.27.405 Structure of parking log info ................................................. 564
4.27.406 Structure of parking lot entrance/exit ID ..................................... 564
4.27.407 Structure of lane list ........................................................ 565
4.27.408 Structure of lane info ........................................................ 565
4.27.409 Structure of custom time periods .............................................. 566
4.27.410 Structure of vehicle let-through info ......................................... 566
4.27.411 Structure of parking payment order info ....................................... 566
4.27.412 Structure of parking cost ..................................................... 567
4.27.413 Structure of parking event info ............................................... 567
4.27.414 Structure of vehicle entry image .............................................. 568
4.27.415 Structure of vehicle leaving image ............................................ 569
4.27.416 Structure of time template configuration ...................................... 569

19 / 767
Network Device SDK (Windows) User Manual
4.27.417 Structure of exceptions of monitoring task schedule ........................... 570
4.27.418 Structure of detailed info about daily arming schedule ........................ 570
4.27.419 Structure of general-purpose ID list .......................................... 571
4.27.420 Structure of time template .................................................... 571
4.27.421 Structure of access control person info ....................................... 572
4.27.422 Structure of image info ....................................................... 572
4.27.423 Structure of staff info ....................................................... 573
4.27.424 Structure of time info ........................................................ 573
4.27.425 Structure of visitor info ..................................................... 574
4.27.426 Structure of info about person’s access control card ......................... 574
4.27.427 Structure of blocklist info ................................................... 575
4.27.428 Structure of person list ...................................................... 575
4.27.429 Structure of permission info .................................................. 576
4.27.430 Structure of batch operation list of face recognition module .................. 576
4.27.431 Structure of batch operation info of face recognition module .................. 577
4.27.432 Structure of entry/exit record info ........................................... 577
4.27.433 Structure of face comparison info ............................................. 578
4.27.434 Structure of search criteria .................................................. 578
4.27.435 Structure of basic info about access control persons .......................... 579
4.27.436 Structure of visitor record info .............................................. 579
4.27.437 Structure of door permission info ............................................. 580
4.27.438 Structure of permission group info ............................................ 581
4.27.439 Structure of person verification .............................................. 581
4.27.440 Structure of face info ........................................................ 582
4.27.441 Structure of card info ........................................................ 583
4.27.442 Structure of gate info ........................................................ 584
4.27.443 Structure of library comparison info .......................................... 584
4.27.444 Structure of matching person info ............................................. 585
4.27.445 Structure of image info ....................................................... 585
4.27.446 Structure of plate monitoring and alarm info .................................. 586
4.27.447 Vehicle member info ........................................................... 586
4.27.448 Vehicle info .................................................................. 587
4.27.449 Plate info .................................................................... 587
4.27.450 Structure of vehicle list ..................................................... 588
4.27.451 Structure of batch operation member list ...................................... 588
4.27.452 Structure of returned alarm records ........................................... 588
4.27.453 Structure of vehicle attribute info ........................................... 589
4.27.454 Structure of plate monitoring and alarm info .................................. 589
4.27.455 Structure of transparent channel creation ..................................... 590
4.27.456 Structure of user info ........................................................ 590
4.27.457 Structure of channel permission info .......................................... 591
4.27.458 Structure of modifying detailed user info ..................................... 591
4.27.459 Structure of user password info ............................................... 592
4.27.460 Structure of user list ........................................................ 592
4.27.461 Structure of organization info ................................................ 592

20 / 767
Network Device SDK (Windows) User Manual
4.27.462 Structure of info about organizations to be deleted ........................... 593
4.27.463 Structure of response to organization deletion ................................ 593
4.27.464 Structure of info about channels in an organization ........................... 594
4.27.465 Structure of info about channels in an organization ........................... 594
4.27.466 Structure of info about network port number and status ........................ 595
4.27.467 Structure of protocol info .................................................... 595
4.27.468 Structure of monitoring info search criteria .................................. 595
4.27.469 Structure of criteria for searching organization list ......................... 596
4.27.470 Area people counting rule info ................................................ 596
4.27.471 Area detection rule info ...................................................... 597
4.27.472 Area location info ............................................................ 597
4.27.473 Coordinates of each vertex of the detection area .............................. 597
4.27.474 Tripwire people counting rule info ............................................ 598
4.27.475 Tripwire detection rule info .................................................. 598
4.27.476 Tripwire people counting reset info ........................................... 599
4.27.477 List of linked dome cameras ................................................... 599
4.27.478 Info about linked dome camera ................................................. 599
4.27.479 System time configuration ..................................................... 600
4.27.480 Structure of object list ...................................................... 600
4.27.481 Structure of VIID info ........................................................ 601
4.27.482 Structure of temperature info ................................................. 601
4.27.483 Recording time info ........................................................... 602
4.27.484 Recording time list ........................................................... 602
4.27.485 Detection area vertex coordinates info ........................................ 602
4.27.486 Rule info ..................................................................... 603
4.27.487 Info on a single object ....................................................... 603
4.27.488 Audio output parameters ....................................................... 604
4.27.489 Audio file information ........................................................ 604
4.27.490 Channel list .................................................................. 604
4.27.491 Structure of channel search criteria .......................................... 605
4.27.492 Image search criteria ......................................................... 605
4.27.493 Image search results .......................................................... 606
4.27.494 Object result info ............................................................ 606
4.27.495 Object info list .............................................................. 607
4.27.496 Alarm related data ............................................................ 607
4.27.497 Basic info about alarm image .................................................. 607
4.27.498 Alarm snapshot data ........................................................... 608
4.27.499 People counting alarm info .................................................... 608
4.27.500 Area people counting statistics info .......................................... 609
4.27.501 Tripwire people counting statistics info ...................................... 609
4.27.502 Crowd density statistics info ................................................. 610
4.27.503 Area people counting statistics ............................................... 611
4.27.504 Tripwire people counting statistics ........................................... 611
4.27.505 Crowd density counting statistics ............................................. 611
4.27.506 Crowd density statistics summary info ......................................... 612

21 / 767
Network Device SDK (Windows) User Manual
4.27.507 Crowd density group info ...................................................... 612
4.27.508 Channel rule info ............................................................. 613
4.27.509 Crowd density rule info ....................................................... 613
4.27.510 Alarm rule Info ............................................................... 614
4.28 Definition of Enumerations ............................................................ 614
4.28.1 Enumeration of access protocols ................................................. 614
4.28.2 Enumeration of exception message types .......................................... 614
4.28.3 Enumeration of device types ..................................................... 615
4.28.4 Enumeration of stream types ..................................................... 615
4.28.5 Enumeration of media transport protocols ........................................ 615
4.28.6 Enumeration of image fluency .................................................... 615
4.28.7 Enumeration of stream modes ..................................................... 616
4.28.8 Enumeration of transport types .................................................. 616
4.28.9 Enumeration of streaming protocols .............................................. 616
4.28.10 Enumeration of media file formats .............................................. 616
4.28.11 Enumeration of snapshot image formats .......................................... 617
4.28.12 Enumeration of audio formats ................................................... 617
4.28.13 Enumeration of audio bit widths ................................................ 618
4.28.14 Enumeration of media stream formats ............................................ 618
4.28.15 Enumeration of audio encoding formats .......................................... 618
4.28.16 Enumeration of video frame types ............................................... 618
4.28.17 Enumeration of video compression formats ....................................... 619
4.28.18 Enumeration of metadata display types .......................................... 619
4.28.19 Enumeration of video display scales ............................................ 619
4.28.20 Enumeration of recording storage types ......................................... 619
4.28.21 Enumeration of recording storage locations ..................................... 620
4.28.22 Enumeration of recording search locations ...................................... 621
4.28.23 Enumeration of recording status ................................................ 621
4.28.24 Enumeration of recording download speeds ....................................... 621
4.28.25 Enumeration of play/download speeds ............................................ 621
4.28.26 Enumeration of PTZ commands .................................................... 622
4.28.27 PTZ auto guard configuration commands .......................................... 623
4.28.28 PTZ auto guard modes ........................................................... 624
4.28.29 PTZ home position commands ..................................................... 624
4.28.30 Focus status ................................................................... 624
4.28.31 Enumeration of patrol statuses ................................................. 624
4.28.32 Enumeration of PTZ patrol operation ............................................ 624
4.28.33 Enumeration of PTZ preset operation commands ................................... 625
4.28.34 Enumeration of PTZ patrol operation ............................................ 625
4.28.35 Enumeration of PTZ directions .................................................. 625
4.28.36 Enumeration of playback control commands ....................................... 625
4.28.37 Enumeration of main log types .................................................. 626
4.28.38 Enumeration of log sub types ................................................... 628
4.28.39 Enumeration of alarm types ..................................................... 635
4.28.40 Enumeration of alarm log search criteria ....................................... 636

22 / 767
Network Device SDK (Windows) User Manual
4.28.41 Enumeration of alarm types ..................................................... 638
4.28.42 Enumeration of face search types ............................................... 644
4.28.43 Enumeration of organization types .............................................. 644
4.28.44 Enumeration of modeling statuses ............................................... 644
4.28.45 Enumeration of mask wearing statuses ........................................... 644
4.28.46 Enumeration of logic types of search criteria .................................. 645
4.28.47 Enumeration of alarm sub types ................................................. 645
4.28.48 Enumeration of alarm source types .............................................. 656
4.28.49 Enumeration of member genders .................................................. 656
4.28.50 Enumeration of ID types ........................................................ 656
4.28.51 Enumeration of file info ....................................................... 656
4.28.52 Enumeration of face processing result codes .................................... 657
4.28.53 Enumeration of person comparison results ....................................... 658
4.28.54 Enumeration of linkage actions ................................................. 658
4.28.55 Enumeration alarm output status ................................................ 659
4.28.56 Enumeration of arming schedule enablement ...................................... 659
4.28.57 Enumeration of days of a week .................................................. 659
4.28.58 Enumeration of arming types .................................................... 659
4.28.59 Enumeration of person library types ............................................ 660
4.28.60 Enumeration of face monitoring operation result codes .......................... 660
4.28.61 Enumeration of alarm snapshot types ............................................ 661
4.28.62 Enumeration of 5ePTZ display modes ............................................. 662
4.28.63 Enumeration of fisheye dewarping modes ......................................... 662
4.28.64 Enumeration of device mounting modes ........................................... 663
4.28.65 Enumeration of mouse movement modes ............................................ 663
4.28.66 Enumeration of recording types ................................................. 663
4.28.67 Enumeration of recording status ................................................ 663
4.28.68 Device configuration commands .................................................. 663
4.28.69 IP protocol types .............................................................. 672
4.28.70 Image quality .................................................................. 673
4.28.71 Main stream types .............................................................. 673
4.28.72 Bitrate types .................................................................. 673
4.28.73 GOP types ...................................................................... 673
4.28.74 Extended image encoding modes .................................................. 674
4.28.75 Enumeration of OSD time formats ................................................ 674
4.28.76 OSD types ...................................................................... 674
4.28.77 Enumeration of OSD font styles ................................................. 674
4.28.78 Enumeration of OSD font sizes .................................................. 674
4.28.79 Date format .................................................................... 675
4.28.80 Enumeration of OSD time formats ................................................ 675
4.28.81 Enumeration of OSD alignments .................................................. 675
4.28.82 Enumeration of OSD margin sizes ................................................ 676
4.28.83 Operation modes of alarm input ................................................. 676
4.28.84 Commands used to control manual alarm output ................................... 676
4.28.85 Exposure modes ................................................................. 676

23 / 767
Network Device SDK (Windows) User Manual
4.28.86 Supported shutter times ........................................................ 676
4.28.87 Metering control modes ......................................................... 677
4.28.88 Day/night mode types ........................................................... 677
4.28.89 Illuminator types .............................................................. 678
4.28.90 White balance modes ............................................................ 678
4.28.91 Enumeration of HDD working modes ............................................... 678
4.28.92 Focus modes .................................................................... 679
4.28.93 Day/night mode ................................................................. 679
4.28.94 Enumeration of defog modes ..................................................... 679
4.28.95 Enumeration of audio collection ports .......................................... 679
4.28.96 Enumeration of audio encoding formats .......................................... 679
4.28.97 Enumeration of audio sampling rates ............................................ 680
4.28.98 Enumeration of audio input modes ............................................... 680
4.28.99 DST offset time ................................................................ 680
4.28.100 Week .......................................................................... 681
4.28.101 Enumeration pre-alarm recording time .......................................... 681
4.28.102 Enumeration of post-alarm recording time ...................................... 681
4.28.103 Enumeration of motion detection area types .................................... 681
4.28.104 HDD types ..................................................................... 682
4.28.105 HDD working modes ............................................................. 682
4.28.106 HDD status .................................................................... 682
4.28.107 Storage container status ...................................................... 682
4.28.108 Storage container attributes .................................................. 683
4.28.109 Address types ................................................................. 683
4.28.110 Storage container usage ....................................................... 683
4.28.111 HDD health assessment status .................................................. 683
4.28.112 HDD S.M.A.R.T. test status .................................................... 683
4.28.113 HDD S.M.A.R.T. test types ..................................................... 684
4.28.114 Access protocols of management server ......................................... 684
4.28.115 Storage space unit ............................................................ 684
4.28.116 Transport protocol ............................................................ 684
4.28.117 Storage resources ............................................................. 684
4.28.118 Overwrite policy .............................................................. 685
4.28.119 Live view index ............................................................... 685
4.28.120 Image storage modes ........................................................... 685
4.28.121 Back focus control commands ................................................... 685
4.28.122 Time zone ..................................................................... 686
4.28.123 Illuminator control modes ..................................................... 687
4.28.124 HDD S.M.A.R.T. test result .................................................... 687
4.28.125 Communication protocol of photo server ........................................ 687
4.28.126 Sub communication protocols of photo server ................................... 688
4.28.127 Access protocols of smart server .............................................. 688
4.28.128 OSD content type .............................................................. 688
4.28.129 Enumeration of device types ................................................... 689
4.28.130 IP address types .............................................................. 689

24 / 767
Network Device SDK (Windows) User Manual
4.28.131 Lock signals .................................................................. 690
4.28.132 Channel type .................................................................. 690
4.28.133 Status of encoding channel .................................................... 690
4.28.134 Alarm input channel status .................................................... 691
4.28.135 Alarm output channel status ................................................... 691
4.28.136 Enumeration of video input types .............................................. 691
4.28.137 Enumeration of language types ................................................. 691
4.28.138 Enumeration of client types ................................................... 693
4.28.139 Enumeration of channel statuses ............................................... 693
4.28.140 Channel type .................................................................. 693
4.28.141 Video standard ................................................................ 693
4.28.142 Enumeration of PoE port status ................................................ 693
4.28.143 Enumeration of device offline causes .......................................... 694
4.28.144 Device status ................................................................. 694
4.28.145 Device sub types .............................................................. 695
4.28.146 Access protocol ............................................................... 695
4.28.147 Access mode ................................................................... 695
4.28.148 Types of devices connected to channels (for NVR only) ......................... 696
4.28.149 Alarm/event report type ....................................................... 696
4.28.150 Alarm resource types .......................................................... 696
4.28.151 Enumerations of media types ................................................... 697
4.28.152 Enumeration of types of operation info reported by the decoding layer ......... 697
4.28.153 Enumeration of event action types ............................................. 698
4.28.154 Enumeration of event resources types .......................................... 698
4.28.155 People counting types ......................................................... 700
4.28.156 People counting report types .................................................. 701
4.28.157 People counting report types .................................................. 701
4.28.158 Enumeration of resolutions .................................................... 701
4.28.159 Enumeration of window splitting capability .................................... 702
4.28.160 Enumeration of window roaming capability ...................................... 702
4.28.161 Enumeration of window opening capability ...................................... 702
4.28.162 Enumeration of video output formats ........................................... 703
4.28.163 Enumeration of video port types ............................................... 704
4.28.164 Enumeration of audio channel ports ............................................ 704
4.28.165 Enumeration of serial ports ................................................... 704
4.28.166 Enumeration of virtual LED types .............................................. 704
4.28.167 Enumeration of optional command words for modifying virtual LEDs .............. 705
4.28.168 Enumeration of virtual LED font format ........................................ 705
4.28.169 Enumeration of virtual LED font sizes ......................................... 705
4.28.170 Enumeration of virtual LED font spacing ....................................... 705
4.28.171 Enumeration of horizontal text alignment modes ................................ 706
4.28.172 Enumeration of vertical text alignment modes .................................. 706
4.28.173 Enumeration of text scroll modes .............................................. 706
4.28.174 Enumeration of window magnification types ..................................... 706
4.28.175 Enumeration of window types ................................................... 707

25 / 767
Network Device SDK (Windows) User Manual
4.28.176 Enumeration of zoom statuses .................................................. 707
4.28.177 Enumeration of video service in split window .................................. 707
4.28.178 Enumeration of screen magnification types ..................................... 707
4.28.179 Enumeration of screen magnification modes ..................................... 707
4.28.180 Enumeration of media transport protocols ...................................... 708
4.28.181 Enumeration of live view types ................................................ 708
4.28.182 Enumeration of decoding types ................................................. 708
4.28.183 Enumeration of encryption types ............................................... 708
4.28.184 Enumeration of text positions ................................................. 708
4.28.185 Enumeration of resource management types ...................................... 709
4.28.186 Enumeration of stream types ................................................... 709
4.28.187 Enumeration of scene modification types ....................................... 709
4.28.188 Enumeration of scene modes .................................................... 709
4.28.189 Enumeration of background image types ......................................... 709
4.28.190 Enumeration of sequence statuses .............................................. 710
4.28.191 Enumeration of sequence playing control ....................................... 710
4.28.192 Enumeration of scene sequence plan modes ...................................... 710
4.28.193 Enumeration of encoding formats ............................................... 710
4.28.194 Enumeration of command words for modifying scene windows ...................... 711
4.28.195 Enumeration of sequence statuses .............................................. 711
4.28.196 Enumeration of stream service types ........................................... 711
4.28.197 Enumeration of access control person management commands ...................... 712
4.28.198 Enumeration of alarm point channel control commands ........................... 712
4.28.199 Enumeration of manual linkage action types .................................... 712
4.28.200 Enumeration of face member ID types ........................................... 712
4.28.201 Enumeration of image types .................................................... 712
4.28.202 Enumeration of image formats .................................................. 713
4.28.203 Enumeration of face pass-through record types ................................. 713
4.28.204 Enumeration of age ranges ..................................................... 713
4.28.205 Enumeration of glasses wearing status ......................................... 713
4.28.206 Enumeration of glasses styles ................................................. 714
4.28.207 Enumeration of sleeve lengths ................................................. 714
4.28.208 Enumeration of clothes colors ................................................. 714
4.28.209 Enumeration of trousers length ................................................ 715
4.28.210 Enumeration of captured body directions ....................................... 715
4.28.211 Enumeration of shoe tube lengths .............................................. 715
4.28.212 Enumeration of hair lengths ................................................... 715
4.28.213 Enumeration of bag carrying status ............................................ 716
4.28.214 Enumeration of mask wearing statuses .......................................... 716
4.28.215 Enumeration of coat textures .................................................. 716
4.28.216 Enumeration of person movement directions ..................................... 716
4.28.217 Enumeration of speed types of non-motor vehicles in structured scenes ......... 717
4.28.218 Enumeration of movement directions (relative to image) of non-motor vehicles in
structured scenes ...................................................................... 717
4.28.219 Enumeration of non-motor vehicle types ........................................ 717

26 / 767
Network Device SDK (Windows) User Manual
4.28.220 Enumeration of vehicle types .................................................. 718
4.28.221 Enumeration of plate colors ................................................... 718
4.28.222 Enumeration of plate types .................................................... 719
4.28.223 Enumeration of notification types ............................................. 720
4.28.224 Enumeration of smart alarm types .............................................. 720
4.28.225 Enumeration of LAPI subscription types ........................................ 720
4.28.226 Enumeration of lane types ..................................................... 720
4.28.227 Enumeration of vehicle releasing types ........................................ 721
4.28.228 Enumeration of order payment statuses ......................................... 721
4.28.229 Enumeration of payment types .................................................. 721
4.28.230 Enumeration of person types ................................................... 721
4.28.231 Enumeration of visitor statuses ............................................... 721
4.28.232 Enumeration of collection sources ............................................. 722
4.28.233 Enumeration of match statuses ................................................. 722
4.28.234 Enumeration of image formats .................................................. 722
4.28.235 Plate colors .................................................................. 723
4.28.236 Plate types ................................................................... 723
4.28.237 Vehicle types ................................................................. 724
4.28.238 Enumeration of speed types of non-motor vehicles in structured scenes ......... 725
4.28.239 Enumeration of movement directions (relative to image) of non-motor vehicles in
structured scenes ...................................................................... 725
4.28.240 Enumeration of channel permissions ............................................ 726
4.28.241 Enumeration of response statuses .............................................. 726
4.28.242 Enumeration of NAT types ...................................................... 726
4.28.243 Enumeration of protocol types ................................................. 726
4.28.244 Enumeration of organization search modes ...................................... 727
4.28.245 Enumeration of basic permissions .............................................. 727
4.28.246 HDD modes ..................................................................... 727
4.28.247 Capability commands ........................................................... 727
4.28.248 OSD date format capability .................................................... 728
4.28.249 Enumeration of time sync modes ................................................ 728
4.28.250 Stream data callback function ................................................. 728
4.28.251 People counting types ......................................................... 729
4.28.252 Enumeration of listening types ................................................ 729
4.28.253 Enumeration of supported alarm types .......................................... 729
4.28.254 Enumeration of plate colors ................................................... 730
4.28.255 Enumeration of recording search types ......................................... 730
4.28.256 Enumeration of skin tones ..................................................... 731
4.28.257 Emotions ...................................................................... 731
4.28.258 Smile flag .................................................................... 732
4.28.259 Beard flag .................................................................... 732
4.28.260 Enumeration of object types ................................................... 732
4.28.261 Enumeration of rule types ..................................................... 732
4.28.262 Enumeration of rule trigger types ............................................. 732
4.28.263 Target record types ........................................................... 733

27 / 767
Network Device SDK (Windows) User Manual
4.28.264 People counting alarm types ................................................... 733
4.28.265 Crowd density alarm statistics type ........................................... 733
4.29 Error Code List ....................................................................... 733
4.29.1 Common Error Codes .............................................................. 733
4.29.2 Stream Media Related Error Code ................................................. 735
4.29.3 Error Codes of PTZ Module ....................................................... 740
4.29.4 Error Code of Playback Module ................................................... 741
4.29.5 Error Code of Storage Module .................................................... 741
4.29.6 Error Code of User Management Module ............................................ 741
4.29.7 Error Code of Device Management Module .......................................... 742
4.29.8 Error Code of Organization Management Module .................................... 743
4.29.9 Error Code of Video Wall Management Module ...................................... 743
4.29.10 Network Related Error Code ..................................................... 744

5. DEFINITION OF PRODUCT RELATED INTERFACES .................................................. 746

5.1 Common Interfaces ...................................................................... 746


5.2 Network Camera ......................................................................... 749
5.3 NVR .................................................................................... 752
5.4 VMS .................................................................................... 756

6. HELP .................................................................................... 762

6.1 Programming Environment Setup .......................................................... 762


6.1.1 Development and Compilation Environment on Windows ............................... 762
6.1.2 Development and Compilation Environment on Linux ................................. 762
6.1.3 Development and Compilation Environment on Android ............................... 763
6.1.4 Development and Compilation Environment on iOS ................................... 764
6.2 Precautions ............................................................................ 764
6.3 FAQ .................................................................................... 764

28 / 767
Network Device SDK (Windows) User Manual

1. Introduction

1.1 Disclaimer

Thank you for choosing our product. Should you have any questions, please do not hesitate to contact
us.
This manual is only for informational purpose, and all statements, information, and recommendations
in this manual are presented without warranty of any kind, expressed or implied.
Users must assume total responsibility and all risks for using this manual or our products. In no
event shall we be liable for any special, incidental, indirect, or consequential damages, including,
without limitation, lost profits or loss or damage to data arising out of the use or inability to use
this manual or our products, or arising from abnormal operation of our product or data leakage due
to network attack, hacker attack, virus infection, etc.
This manual may contain technical inaccuracies or typographical errors. Changes are periodically made
to the information herein; these changes will be incorporated in the new editions of this manual. We
may make improvements and/or changes in the product(s) and/or the program(s) described in this manual
at any time without prior notice.

1.2 Intended Audience

This document is intended for the development, maintenance or management personnel who have certain
development capabilities, understand C/C++, C# and other languages, and have certain experience and
understanding of SDK integration.

1.3 Overview

NetDEVSDK (also known as network device SDK) is a set of supporting modules developed based on private
network communication protocols to serve IPC, NVR, VMS and other products. It includes interfaces for
surveillance management and control, device management, resource management, and system maintenance.
Users can use these interfaces to made custom software development to achieve remote access and device
control.
The SDK mainly provides video service functions such as device management, live view, playback, alarm,
PTZ, and parameter configuration.
This manual details interface functions, the usage, and relationship between interfaces. It supports
C/C++, C#, Objective-C, etc.
When you get this manual, you should have got the complete SDK, including header files, static
libraries, dynamic libraries, demo, and developer documentation.

29 / 767
Network Device SDK (Windows) User Manual

1.4 Glossary

Term Description
Live view View the live video of a camera
Playback Search and play stored videos, control the playback.
Stream During live view or playback, the SDK acts as the server and can obtain video stream
callback data by setting the stream callback function.
Recording
Download videos from a storage device to the local
download
Local
Record live or recorded video images being played and save to a local path.
recording
Local Take snapshots of live video images or video images being played back and save to
snapshot a local path.

1.5 System Requirements

 SDK for 32-bit Windows


Windows 7, Windows 8, Windows 10
 SDK for 64-bit Windows
Windows 7, Windows 8, Windows 10
 SDK for 64-bit Linux

GCC 4.4.7 or later

OS: CentOS 6.5 or later

 SDK for 32-bit Linux

GCC 4.4.7 or later

OS: CentOS 6.5 or later

 SDK for Android

Supported system: Android 5 or later

 SDK for iOS

Supported system: iOS 8.0 or later

1.6 Applicable Products

 Encoding and decoding devices


NVR: NVR202 series, NVR204 series, NVR208 series, NVR301series, NVR302 series, NVR304 series, NVR308
series, NVR-B100 series, NVR-B200 series, NVR-S200 series, NVR-S300 series, NVS-B100 series;
VMS: VMS-B200-A16, VMS-B180-A, VMS-B230 series, VMS-B260 series;
30 / 767
Network Device SDK (Windows) User Manual
 Network cameras
IPC-B2 series, IPC-B3 series, IPC-B5 series, IPC-B6 series, IPC-B8 series, IPC-S2 series, IPC-S3
series, IPC-S5 series, IPC-S6 series, IPC-E2 series, IPC-E3 series, IPC-E5 series, IPC-E6 series,
IPC2C series, IPC2D series, HIC25 series, HIC26 series, HIC27 series, HIC28 series, HIC29 series,
HIC35 series, HIC36 series, HIC37 series, HIC54 series, HIC56 series, HIC58 series, HIC66 series,
IPC67 series, HIC68 series, HIC74 series, HIC76 series, HIC78 series, IPC81 series, HIC85 series,
IPC86 series, lHIC95 series, HIC98 series, TIC22 series, TIC25 series, TIC68 series, TIC76 series,
TIC78 series, EXC21 series, EXC22 series, EXC23 series, EXC26 series, EXC27 series, EXC66 series,
EXC75 series.

2. Version Update

2.1 Release Notes V2.5

New Version Revision Date Description


2.5.15.0 2021-07-06 Bug fixes

2.2 Release Notes V2.6

New Version Revision Date Description


2.6.0.0 2021-11-20 1、 Bug fixes
2、 Added support for people counting
3、 Added support for fire detection alarm
4、 Added contents about customer needs
5、 Refined stream error codes

3. Programming Guide

3.1 Overview

The SDK is used to access service function interfaces provided by IPC, NVR, and VMS. Users can develop
various media services (live view, playback and recording download, PTZ control, and parameter
configuration, etc) by following the basic framework of SDK programming and by referring to the
interface descriptions provided in this guide.
 SDK function interface files
NetDEVSDK.h: Provides definitions of macros, enumerations, data structures, and functional interfaces
for the SDK.
 Note
1. Character string format

31 / 767
Network Device SDK (Windows) User Manual
Non-English characters must be UTF-8 encoded.
2. Time description
Unix time: Seconds that have elapsed since 1970 January 1 00:00:00 GMT
3. Error codes
False will be returned if a function encountered an exception inside after being called. Use
NETDEV_GetLastError() to get the error code. See Error Code List for details.

3.2 Major Process

3.2.1 Flowchart

Exception
NETDEV_SetLogPath
Module

NETDEV_Init Alarm Module

Live View
NETDEV_Login_V30
Module

No
Download &
Is VMS device? NETDEV_QueryVideoChlDetailList Playback NETDEV_Logout
Module

Yes

NETDEV_FindDevList Parameter
NETDEV_Cleanup
Config Module

NETDEV_FindNextDevInfo

Two-way Audio
Module

NETDEV_FindCloseDevInfo

Maintenance
Module

NETDEV_FindDevChnList

PTZ Module
NETDEV_FindNextDevChn NETDEV_FindCloseDevChn

Smart Module

The dotted lines indicate optional parts of the process, which has no impact on other processes or
modules. As shown in this figure, the whole process is divided into different modules according to

32 / 767
Network Device SDK (Windows) User Manual
their functions. To implement the functions of each module, five processes are required:
Initialization, Login, Get Channel Info, Logout, and Cleanup.

 Set log path NETDEV_SetLogPath is optional.


 Initialization NETDEV_Init: Initialize the whole SDK and complete operations such as memory
preallocation.
 Device login: Applicable to devices on the local area network (LAN) and the public network,
and the prerequisite is that the device is accessible from a local PC or a mobile phone
browser. Local device login NETDEV_Login_V30: Implements user login; and after login
succeeded, returns the user ID as the only identifier for other operations.
 Get IPC/NVR channel info: Use NETDEV_QueryVideoChlDetailListEx to get channel information
after login succeeded.
 Get information about devices and channels under VMS: The following interfaces are used to
get the list of devices under the VMS: NETDEV_FindDevList, NETDEV_FindNextDevInfo,
NETDEV_FindCloseDevInfo. The following interfaces are used to get channel information by
device ID. NETDEV_FindDevChnList, NETDEV_FindNextDevChn, NETDEV_FindCloseDevChn.
 Exception module: Used to receive information about exceptions that occurred in live view,
playback, download, and other modules. See Process of Exception Module.
 Alarm module: Mainly used to get real-time and historical alarms of devices. See Process of
Alarm Module.
 Live view module: Get live video streams from front-end devices and decode to display. See
Process of Live View Module.
 Playback & download module: Searches recorded videos and replays remotely, or downloads
recording files from devices, and then decodes or saves to a storage device. See Process of
Playback & Recording Download Module.
 Parameter configuration module: Get and set device parameters, mainly including video
encoding parameters. See Process of Parameter Configuration Module.
 Two-way audio module: Two-way audio and broadcast operations. See Process of Audio Module.
 Maintenance module: Restore factory default settings, restart device, etc. See Process of
Maintenance Module.
 PTZ module: Control pan/tilt, presets, patrol, etc. See Process of PTZ Module.
 Smart module: Searching faces, plates, people counting, etc. See Process of Smart Module.
 User Logout NETDEV_Logout: User exits the system.
 Release SDK Resources NETDEV_Cleanup: Call this interface to release SDK resources before
exiting the system.

33 / 767
Network Device SDK (Windows) User Manual
3.2.2 Sample code for NVR or IPC login

The following C++ sample code shows the device login process of NVR or IPC. For reference only.
#include <iostream>
#include "NetDEVSDK.h"

void main()
{

NETDEV_Init();

NETDEV_REV_TIMEOUT_S stRevTimeout = {0};


stRevTimeout.dwRevTimeOut = 5;
stRevTimeout.dwFileReportTimeOut = 30;
NETDEV_SetRevTimeOut(&stRevTimeout);

NETDEV_DEVICE_LOGIN_INFO_S stDevLoginInfo = {0};


strncpy(stDevLoginInfo.szIPAddr, "192.168.3.122",
sizeof(stDevLoginInfo.szIPAddr));
strncpy(stDevLoginInfo.szUserName, "admin", sizeof(stDevLoginInfo.szUserName));
strncpy(stDevLoginInfo.szPassword, "123456", sizeof(stDevLoginInfo.szPassword));
stDevLoginInfo.dwPort = 80;
stDevLoginInfo.dwLoginProto = NETDEV_LOGIN_PROTO_ONVIF;

NETDEV_SELOG_INFO_S stSELogInfo = {0};


LPVOID lUserID = NETDEV_Login_V30(&stDevLoginInfo, &stSELogInfo);
if (NULL == lUserID)
{
printf("Login failed, error code: %d\n", NETDEV_GetLastError());

NETDEV_Cleanup();
return;
}

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S stVideoChlDetailInfoEx[128] = {0};


INT32 dwCount = 128;
BOOL bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
stVideoChlDetailInfoEx);
if (FALSE == bRet && NETDEV_E_NEEDMOREDATA == NETDEV_GetLastError())
{

34 / 767
Network Device SDK (Windows) User Manual

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S* pstVideoChlDetailInfoEx = new


NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S[dwCount];
memset(pstVideoChlDetailInfoEx, 0,
sizeof(NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S)*dwCount);
bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
pstVideoChlDetailInfoEx);

delete []pstVideoChlDetailInfoEx;
}
if (TRUE == bRet)
{
printf("QueryVideoChlDetailList Success\n");
}
else
{
printf("QueryVideoChlDetailList failed, error code: %d\n",
NETDEV_GetLastError());
}

NETDEV_Logout(lUserID);

NETDEV_Cleanup();
}

3.2.3 Sample code for VMS login

The following C++ sample code shows the device login process of VMS. For reference only.
#include <iostream>
#include "NetDEVSDK.h"

void main()
{

NETDEV_Init();

NETDEV_REV_TIMEOUT_S stRevTimeout = {0};


stRevTimeout.dwRevTimeOut = 5;
stRevTimeout.dwFileReportTimeOut = 30;

35 / 767
Network Device SDK (Windows) User Manual
NETDEV_SetRevTimeOut(&stRevTimeout);

NETDEV_DEVICE_LOGIN_INFO_S stDevLoginInfo = {0};


strncpy(stDevLoginInfo.szIPAddr, "192.168.3.108",
sizeof(stDevLoginInfo.szIPAddr));
strncpy(stDevLoginInfo.szUserName, "admin", sizeof(stDevLoginInfo.szUserName));
strncpy(stDevLoginInfo.szPassword, "123456", sizeof(stDevLoginInfo.szPassword));
stDevLoginInfo.dwPort = 80;
stDevLoginInfo.dwLoginProto = NETDEV_LOGIN_PROTO_PRIVATE;

NETDEV_SELOG_INFO_S stSELogInfo = {0};


LPVOID lUserID = NETDEV_Login_V30(&stDevLoginInfo, &stSELogInfo);
if (NULL == lUserID)
{
printf("Login failed, error code: %d\n", NETDEV_GetLastError());

NETDEV_Cleanup();
return;
}

INT32 nDeviceType[] = {NETDEV_DTYPE_MAIN_ENCODE, NETDEV_DTYPE_MAIN_BAYONET};


for (INT32 i =0; i<sizeof(nDeviceType)/sizeof(INT32); i++)
{

LPVOID lpDevFindHandle = NETDEV_FindDevList(lUserID, nDeviceType[i]);


if(NULL == lpDevFindHandle)
{
continue;
}

NETDEV_DEV_BASIC_INFO_S stDevInfo = {0};


while(TRUE == NETDEV_FindNextDevInfo(lpDevFindHandle, &stDevInfo))
{

LPVOID lpChnFindHandle = NETDEV_FindDevChnList(lUserID, stDevInfo.dwDevID,


NETDEV_CHN_TYPE_ENCODE);
if(NULL == lpChnFindHandle)
{
continue;
}

36 / 767
Network Device SDK (Windows) User Manual
else
{

NETDEV_DEV_CHN_ENCODE_INFO_S stDevChnEncodeInfo = {0};


INT32 dwBytesReturned;
while(TRUE == NETDEV_FindNextDevChn(lpChnFindHandle,
&stDevChnEncodeInfo,sizeof(NETDEV_DEV_CHN_ENCODE_INFO_S),&dwBytesReturned))
{
printf("DeviceType[%d],%s:ChannelID[%d]\n",
nDeviceType[i],stDevChnEncodeInfo.stChnBaseInfo.szChnName,
stDevChnEncodeInfo.stChnBaseInfo.dwChannelID);
}

NETDEV_FindCloseDevChn(lpChnFindHandle);
}
}

NETDEV_FindCloseDevInfo(lpDevFindHandle);
}

NETDEV_Logout(lUserID);

NETDEV_Cleanup();
}

37 / 767
Network Device SDK (Windows) User Manual

3.3 Process of Parameter Configuration Module

3.3.1 Flowchart

Log in and get channel info

NETDEV_GetDevConfig NETDEV_SetDevConfig

NETDEV_Logout

NETDEV_Cleanup

3.3.2 Sample code for image configuration

The following C++ sample code shows the image configuration process. For reference only.
#include <iostream>
#include "NetDEVSDK.h"

void main()
{

NETDEV_Init();

NETDEV_REV_TIMEOUT_S stRevTimeout = {0};


stRevTimeout.dwRevTimeOut = 5;
stRevTimeout.dwFileReportTimeOut = 30;
NETDEV_SetRevTimeOut(&stRevTimeout);

NETDEV_DEVICE_LOGIN_INFO_S stDevLoginInfo = {0};


strncpy(stDevLoginInfo.szIPAddr, "192.168.3.153",
sizeof(stDevLoginInfo.szIPAddr));
strncpy(stDevLoginInfo.szUserName, "admin", sizeof(stDevLoginInfo.szUserName));
strncpy(stDevLoginInfo.szPassword, "123456", sizeof(stDevLoginInfo.szPassword));
stDevLoginInfo.dwPort = 80;
stDevLoginInfo.dwLoginProto = NETDEV_LOGIN_PROTO_ONVIF;
38 / 767
Network Device SDK (Windows) User Manual

NETDEV_SELOG_INFO_S stSELogInfo = {0};


LPVOID lUserID = NETDEV_Login_V30(&stDevLoginInfo, &stSELogInfo);
if (NULL == lUserID)
{
printf("Login failed, error code: %d\n", NETDEV_GetLastError());

NETDEV_Cleanup();
return;
}

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S stVideoChlDetailInfoEx[128] = {0};


INT32 dwCount = 128;
BOOL bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
stVideoChlDetailInfoEx);
if (FALSE == bRet && NETDEV_E_NEEDMOREDATA == NETDEV_GetLastError())
{

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S* pstVideoChlDetailInfoEx = new


NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S[dwCount];
memset(pstVideoChlDetailInfoEx, 0,
sizeof(NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S)*dwCount);
bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
pstVideoChlDetailInfoEx);

delete []pstVideoChlDetailInfoEx;
}

INT32 dwBytesReturned = 0;
NETDEV_IMAGE_SETTING_S stImageInfo = {0};
bRet = NETDEV_GetDevConfig(lUserID, 1, NETDEV_GET_IMAGECFG, &stImageInfo,
sizeof(NETDEV_IMAGE_SETTING_S), &dwBytesReturned);
if (TRUE != bRet)
{
printf("NETDEV_GetDevConfig NETDEV_GET_IMAGECFG error");
}
else
{
stImageInfo.dwContrast = 100;

39 / 767
Network Device SDK (Windows) User Manual
bRet = NETDEV_SetDevConfig(lUserID, 1, NETDEV_SET_IMAGECFG, &stImageInfo,
sizeof(NETDEV_IMAGE_SETTING_S));
if (TRUE != bRet)
{
printf("NETDEV_SetDevConfig NETDEV_SET_IMAGECFG error");
}
else
{
NETDEV_GetDevConfig(lUserID, 1, NETDEV_GET_IMAGECFG, &stImageInfo,
sizeof(NETDEV_IMAGE_SETTING_S), &dwBytesReturned);
printf("Image Contrast is:%d\n", stImageInfo.dwContrast);
}
}

NETDEV_Logout(lUserID);

NETDEV_Cleanup();
}

40 / 767
Network Device SDK (Windows) User Manual

3.4 Process of Playback & Recording Download Module

3.4.1 Flowchart

Log in and get channel info

NETDEV_FindFile
NETDEV_FindNextFile
NETDEV_FindClose

Start plback Recording


stream download

NETDEV_PlayBackByTime NETDEV_PlayBackByName NETDEV_GetFileByTime NETDEV_GetFileByName

NETDEV_PlayBackControl

NETDEV_PlayBackControl

Download No
completed?

Yes

NETDEV_StopPlayBack NETDEV_StopGetFile

NETDEV_Logout

NETDEV_Cleanup

3.4.2 Sample code for recording search and playback by time

The following C++ sample code shows the process of recording search and playback by time. For
reference only.
#include <iostream>
#include <time.h>
#include "Windows.h"
#include "NetDEVSDK.h"

void playBack(LPVOID lpUserID,INT32 dwChannelID, NETDEV_FINDDATA_S stVodFile)


41 / 767
Network Device SDK (Windows) User Manual
{
HWND hWnd = GetConsoleWindow();

NETDEV_PLAYBACKCOND_S stPlayBackInfo = {0};


stPlayBackInfo.dwChannelID = dwChannelID;
stPlayBackInfo.tBeginTime = stVodFile.tBeginTime;
stPlayBackInfo.tEndTime = stVodFile.tEndTime;
stPlayBackInfo.hPlayWnd = hWnd;
stPlayBackInfo.dwLinkMode = 1;

LPVOID lpPlayHandle = NETDEV_PlayBackByTime(lpUserID, &stPlayBackInfo);


if (NULL == lpPlayHandle)
{
printf( "PlayBackByTime failed. error[%d]\n", NETDEV_GetLastError());
return;
}

Sleep(1000);
INT64 iPlayTime = 0;
BOOL bRet = NETDEV_PlayBackControl(lpPlayHandle,NETDEV_PLAY_CTRL_GETPLAYTIME,
&iPlayTime);
for(INT64 tTime = stVodFile.tBeginTime; iPlayTime < stVodFile.tEndTime; )
{
NETDEV_PlayBackControl(lpPlayHandle,NETDEV_PLAY_CTRL_GETPLAYTIME, &iPlayTime);

Sleep(1000);
}

NETDEV_StopPlayBack(lpPlayHandle);
}

void main()
{

NETDEV_Init();

NETDEV_REV_TIMEOUT_S stRevTimeout = {0};


stRevTimeout.dwRevTimeOut = 5;
stRevTimeout.dwFileReportTimeOut = 30;
NETDEV_SetRevTimeOut(&stRevTimeout);

42 / 767
Network Device SDK (Windows) User Manual
NETDEV_DEVICE_LOGIN_INFO_S stDevLoginInfo = {0};
strncpy(stDevLoginInfo.szIPAddr, "192.168.3.220",
sizeof(stDevLoginInfo.szIPAddr));
strncpy(stDevLoginInfo.szUserName, "admin", sizeof(stDevLoginInfo.szUserName));
strncpy(stDevLoginInfo.szPassword, "Admin12345",
sizeof(stDevLoginInfo.szPassword));
stDevLoginInfo.dwPort = 80;
stDevLoginInfo.dwLoginProto = NETDEV_LOGIN_PROTO_ONVIF;

NETDEV_SELOG_INFO_S stSELogInfo = {0};


LPVOID lUserID = NETDEV_Login_V30(&stDevLoginInfo, &stSELogInfo);
if (NULL == lUserID)
{
printf("Login failed, error code: %d\n", NETDEV_GetLastError());

NETDEV_Cleanup();
return;
}

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S stVideoChlDetailInfoEx[128] = {0};


INT32 dwCount = 128;
BOOL bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
stVideoChlDetailInfoEx);
if (FALSE == bRet && NETDEV_E_NEEDMOREDATA == NETDEV_GetLastError())
{

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S* pstVideoChlDetailInfoEx = new


NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S[dwCount];
memset(pstVideoChlDetailInfoEx, 0,
sizeof(NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S)*dwCount);
bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
pstVideoChlDetailInfoEx);

delete []pstVideoChlDetailInfoEx;
}

NETDEV_FILECOND_S stFileCond = {0};


stFileCond.dwChannelID = 1;
time_t tUTCTime = time(NULL);
stFileCond.tEndTime = time(&tUTCTime);

43 / 767
Network Device SDK (Windows) User Manual
stFileCond.tBeginTime = time(&tUTCTime)-60;
LPVOID dwFileHandle = NETDEV_FindFile(lUserID, &stFileCond);
if(NULL == dwFileHandle)
{
printf("FindFile fail, error code: %d\n", NETDEV_GetLastError());
}
else
{

NETDEV_FINDDATA_S stVodFile = {0};


while (NETDEV_FindNextFile(dwFileHandle, &stVodFile))
{
printf("FileName:%s, time:%lld——%lld\n", stVodFile.szFileName,
stVodFile.tBeginTime, stVodFile.tEndTime);

playBack(lUserID, stFileCond.dwChannelID, stVodFile);


}

NETDEV_FindClose(dwFileHandle);
}

NETDEV_Logout(lUserID);

NETDEV_Cleanup();
}

3.4.3 Sample code for recording search and download by time

The following C++ sample code shows the process of recording search and download by time. For
reference only.
#include <iostream>
#include <time.h>
#include "Windows.h"
#include "NetDEVSDK.h"

void saveRecordFile(LPVOID lpUserID,NETDEV_FINDDATA_S stVodFile)


{

NETDEV_PLAYBACKCOND_S stPlayBackInfo = {0};


stPlayBackInfo.dwChannelID = 1;
stPlayBackInfo.tBeginTime = stVodFile.tBeginTime;

44 / 767
Network Device SDK (Windows) User Manual
stPlayBackInfo.tEndTime = stVodFile.tEndTime;
stPlayBackInfo.dwDownloadSpeed = NETDEV_DOWNLOAD_SPEED_EIGHT;

LPVOID lpPlayHandle = NETDEV_GetFileByTime(lpUserID, &stPlayBackInfo, "./test",


0);
if (NULL == lpPlayHandle)
{
printf( "GetFileByTime failed. error[%d]\n", NETDEV_GetLastError());
return;
}

Sleep(1000);
INT64 iPlayTime = 0;
BOOL bRet = NETDEV_PlayBackControl(lpPlayHandle,NETDEV_PLAY_CTRL_GETPLAYTIME,
&iPlayTime);
for(INT64 tTime = stVodFile.tBeginTime; iPlayTime < stVodFile.tEndTime; )
{
NETDEV_PlayBackControl(lpPlayHandle,NETDEV_PLAY_CTRL_GETPLAYTIME, &iPlayTime);
printf("FileName:%s, time:%lld——%lld, iPlayTime=%lld\n", stVodFile.szFileName,
stVodFile.tBeginTime, stVodFile.tEndTime, iPlayTime);
Sleep(1000);
}

NETDEV_StopGetFile(lpPlayHandle);
}

void main()
{

NETDEV_Init();

NETDEV_REV_TIMEOUT_S stRevTimeout = {0};


stRevTimeout.dwRevTimeOut = 5;
stRevTimeout.dwFileReportTimeOut = 30;
NETDEV_SetRevTimeOut(&stRevTimeout);

NETDEV_DEVICE_LOGIN_INFO_S stDevLoginInfo = {0};


strncpy(stDevLoginInfo.szIPAddr, "192.168.3.220",
sizeof(stDevLoginInfo.szIPAddr));
strncpy(stDevLoginInfo.szUserName, "admin", sizeof(stDevLoginInfo.szUserName));
strncpy(stDevLoginInfo.szPassword, "Admin12345",
sizeof(stDevLoginInfo.szPassword));

45 / 767
Network Device SDK (Windows) User Manual
stDevLoginInfo.dwPort = 80;
stDevLoginInfo.dwLoginProto = NETDEV_LOGIN_PROTO_ONVIF;

NETDEV_SELOG_INFO_S stSELogInfo = {0};


LPVOID lUserID = NETDEV_Login_V30(&stDevLoginInfo, &stSELogInfo);
if (NULL == lUserID)
{
printf("Login failed, error code: %d\n", NETDEV_GetLastError());

NETDEV_Cleanup();
return;
}

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S stVideoChlDetailInfoEx[128] = {0};


INT32 dwCount = 128;
BOOL bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
stVideoChlDetailInfoEx);
if (FALSE == bRet && NETDEV_E_NEEDMOREDATA == NETDEV_GetLastError())
{

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S* pstVideoChlDetailInfoEx = new


NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S[dwCount];
memset(pstVideoChlDetailInfoEx, 0,
sizeof(NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S)*dwCount);
bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
pstVideoChlDetailInfoEx);

delete []pstVideoChlDetailInfoEx;
}

NETDEV_FILECOND_S stFileCond = {0};


stFileCond.dwChannelID = 1;
time_t tUTCTime = time(NULL);
stFileCond.tEndTime = time(&tUTCTime);
stFileCond.tBeginTime = time(&tUTCTime)-60;
LPVOID dwFileHandle = NETDEV_FindFile(lUserID, &stFileCond);
if(NULL == dwFileHandle)
{
printf("FindFile fail, error code: %d\n", NETDEV_GetLastError());
}

46 / 767
Network Device SDK (Windows) User Manual
else
{

NETDEV_FINDDATA_S stVodFile = {0};


while (NETDEV_FindNextFile(dwFileHandle, &stVodFile))
{
printf("FileName:%s, time:%lld——%lld\n", stVodFile.szFileName,
stVodFile.tBeginTime, stVodFile.tEndTime);

saveRecordFile(lUserID, stVodFile);
}

NETDEV_FindClose(dwFileHandle);
}

NETDEV_Logout(lUserID);

NETDEV_Cleanup();
}

3.4.4 Sample code for recording search and download by filename

The following C++ sample code shows the process of recording search and download by filename. For
reference only.
#include <iostream>
#include <time.h>
#include "Windows.h"
#include "NetDEVSDK.h"

void saveRecordFile(LPVOID lpUserID,NETDEV_FINDDATA_S stVodFile)


{

NETDEV_PLAYBACKINFO_S stPlayBackInfo = {0};


stPlayBackInfo.tBeginTime = stVodFile.tBeginTime;
stPlayBackInfo.tEndTime = stVodFile.tEndTime;
stPlayBackInfo.dwDownloadSpeed = NETDEV_DOWNLOAD_SPEED_EIGHT;
strcpy(stPlayBackInfo.szName, stVodFile.szFileName);
LPVOID lpPlayHandle = NETDEV_GetFileByName(lpUserID, &stPlayBackInfo, "./test",
0);
if (NULL == lpPlayHandle)
{

47 / 767
Network Device SDK (Windows) User Manual
printf( "GetFileByName failed. error[%d]\n", NETDEV_GetLastError());
return;
}

Sleep(1000);
INT64 iPlayTime = 0;
BOOL bRet = NETDEV_PlayBackControl(lpPlayHandle,NETDEV_PLAY_CTRL_GETPLAYTIME,
&iPlayTime);
for(INT64 tTime = stVodFile.tBeginTime; iPlayTime < stVodFile.tEndTime; )
{
NETDEV_PlayBackControl(lpPlayHandle,NETDEV_PLAY_CTRL_GETPLAYTIME, &iPlayTime);
printf("FileName:%s, time:%lld——%lld, iPlayTime=%lld\n", stVodFile.szFileName,
stVodFile.tBeginTime, stVodFile.tEndTime, iPlayTime);
Sleep(1000);
}

NETDEV_StopGetFile(lpPlayHandle);
}

void main()
{

NETDEV_Init();

NETDEV_REV_TIMEOUT_S stRevTimeout = {0};


stRevTimeout.dwRevTimeOut = 5;
stRevTimeout.dwFileReportTimeOut = 30;
NETDEV_SetRevTimeOut(&stRevTimeout);

NETDEV_DEVICE_LOGIN_INFO_S stDevLoginInfo = {0};


strncpy(stDevLoginInfo.szIPAddr, "192.168.3.220",
sizeof(stDevLoginInfo.szIPAddr));
strncpy(stDevLoginInfo.szUserName, "admin", sizeof(stDevLoginInfo.szUserName));
strncpy(stDevLoginInfo.szPassword, "Admin12345",
sizeof(stDevLoginInfo.szPassword));
stDevLoginInfo.dwPort = 80;
stDevLoginInfo.dwLoginProto = NETDEV_LOGIN_PROTO_ONVIF;

NETDEV_SELOG_INFO_S stSELogInfo = {0};


LPVOID lUserID = NETDEV_Login_V30(&stDevLoginInfo, &stSELogInfo);
if (NULL == lUserID)

48 / 767
Network Device SDK (Windows) User Manual
{
printf("Login failed, error code: %d\n", NETDEV_GetLastError());

NETDEV_Cleanup();
return;
}

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S stVideoChlDetailInfoEx[128] = {0};


INT32 dwCount = 128;
BOOL bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
stVideoChlDetailInfoEx);
if (FALSE == bRet && NETDEV_E_NEEDMOREDATA == NETDEV_GetLastError())
{

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S* pstVideoChlDetailInfoEx = new


NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S[dwCount];
memset(pstVideoChlDetailInfoEx, 0,
sizeof(NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S)*dwCount);
bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
pstVideoChlDetailInfoEx);

delete []pstVideoChlDetailInfoEx;
}

NETDEV_FILECOND_S stFileCond = {0};


stFileCond.dwChannelID = 1;
time_t tUTCTime = time(NULL);
stFileCond.tEndTime = time(&tUTCTime);
stFileCond.tBeginTime = time(&tUTCTime)-60;
LPVOID dwFileHandle = NETDEV_FindFile(lUserID, &stFileCond);
if(NULL == dwFileHandle)
{
printf("FindFile fail, error code: %d\n", NETDEV_GetLastError());
}
else
{

NETDEV_FINDDATA_S stVodFile = {0};


while (NETDEV_FindNextFile(dwFileHandle, &stVodFile))
{

49 / 767
Network Device SDK (Windows) User Manual
printf("FileName:%s, time:%lld——%lld\n", stVodFile.szFileName,
stVodFile.tBeginTime, stVodFile.tEndTime);

saveRecordFile(lUserID, stVodFile);
}

NETDEV_FindClose(dwFileHandle);
}

NETDEV_Logout(lUserID);

NETDEV_Cleanup();
}

50 / 767
Network Device SDK (Windows) User Manual

3.5 Process of Live View Module

3.5.1 Flowchart

Log in and get channel info

NETDEV_RealPlay
Stream data
Audio
callback

NETDEV_SetPlayDecodeVideoCB NETDEV_OpenSound

NETDEV_SetPlayParseCB NETDEV_SoundVolumeControl

NETDEV_SetPlayDataCallBack NETDEV_CloseSound

Local
NETDEV_SetPlayDecodeAudioCB NETDEV_SaveRealData recording

NETDEV_SetPlayParseAudioCB NETDEV_StopSaveRealData

NETDEV_SetPlayDisplayCB NETDEV_CapturePicture

NETDEV_StopRealPlay

NETDEV_Logout

NETDEV_Cleanup

3.5.2 Sample code for live view

The following C++ sample code shows the live view process. For reference only.
#include <iostream>
#include "Windows.h"
#include "NetDEVSDK.h"

51 / 767
Network Device SDK (Windows) User Manual
void main()
{
NETDEV_Init();

NETDEV_REV_TIMEOUT_S stRevTimeout = {0};


stRevTimeout.dwRevTimeOut = 5;
stRevTimeout.dwFileReportTimeOut = 30;
NETDEV_SetRevTimeOut(&stRevTimeout);

NETDEV_DEVICE_LOGIN_INFO_S stDevLoginInfo = {0};


strncpy(stDevLoginInfo.szIPAddr, "192.168.3.220",
sizeof(stDevLoginInfo.szIPAddr));
strncpy(stDevLoginInfo.szUserName, "admin", sizeof(stDevLoginInfo.szUserName));
strncpy(stDevLoginInfo.szPassword, "Admin12345",
sizeof(stDevLoginInfo.szPassword));
stDevLoginInfo.dwPort = 80;
stDevLoginInfo.dwLoginProto = NETDEV_LOGIN_PROTO_ONVIF;

NETDEV_SELOG_INFO_S stSELogInfo = {0};


LPVOID lUserID = NETDEV_Login_V30(&stDevLoginInfo, &stSELogInfo);
if (NULL == lUserID)
{
printf("Login failed, error code: %d\n", NETDEV_GetLastError());

NETDEV_Cleanup();
return;
}

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S stVideoChlDetailInfoEx[128] = {0};


INT32 dwCount = 128;
BOOL bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
stVideoChlDetailInfoEx);
if (FALSE == bRet && NETDEV_E_NEEDMOREDATA == NETDEV_GetLastError())
{

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S* pstVideoChlDetailInfoEx = new


NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S[dwCount];
memset(pstVideoChlDetailInfoEx, 0,
sizeof(NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S)*dwCount);
bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
pstVideoChlDetailInfoEx);

52 / 767
Network Device SDK (Windows) User Manual
delete []pstVideoChlDetailInfoEx;
}

HWND hWnd = GetConsoleWindow();


NETDEV_PREVIEWINFO_S stNetInfo = {0};
stNetInfo.dwChannelID = 1;
stNetInfo.hPlayWnd = hWnd;
stNetInfo.dwStreamType = 0;
stNetInfo.dwLinkMode = 1;
LPVOID lpPlayHandle = NETDEV_RealPlay(lUserID, &stNetInfo, NULL, 0);

if (NULL == lpPlayHandle)
{
printf("RealPlay failed, error code: %d\n", NETDEV_GetLastError());
}
else
{
Sleep(20000);

NETDEV_StopRealPlay(lpPlayHandle);
}

NETDEV_Logout(lUserID);

NETDEV_Cleanup();
}

53 / 767
Network Device SDK (Windows) User Manual

3.6 Process of Audio Module

3.6.1 Process of two-way audio module

Flowchart

Log in and get channel info

NETDEV_StartVoiceCom NETDEV_StartVoiceBroadcast

Speaker
control

NETDEV_OpenSound

NETDEV_SoundVolumeControl

NETDEV_GetSoundVolume

NETDEV_CloseSound

NETDEV_GetMuteStatus

NETDEV_SetMuteStatus

MIC control

NETDEV_OpenMic

NETDEV_MicVolumeControl

NETDEV_GetMicVolume

NETDEV_CloseMic

NETDEV_StopVoiceCom NETDEV_StopVoiceBroadcast

NETDEV_Logout

NETDEV_Cleanup

54 / 767
Network Device SDK (Windows) User Manual

Sample code

The following C++ sample code shows the two-way audio process. For reference only.
#include <iostream>
#include "Windows.h"
#include "NetDEVSDK.h"

void STDCALL NETDEV_DECODE_AUDIO_DATA_CALLBACK(LPVOID lpPlayHandle,const


NETDEV_WAVE_DATA_S *pstWaveData,LPVOID lpUserParam)
{
printf("DataLen: %d\n", pstWaveData->dwDataLen);
}

void main()
{

NETDEV_Init();

NETDEV_REV_TIMEOUT_S stRevTimeout = {0};


stRevTimeout.dwRevTimeOut = 5;
stRevTimeout.dwFileReportTimeOut = 30;
NETDEV_SetRevTimeOut(&stRevTimeout);

NETDEV_DEVICE_LOGIN_INFO_S stDevLoginInfo = {0};


strncpy(stDevLoginInfo.szIPAddr, "192.168.3.220",
sizeof(stDevLoginInfo.szIPAddr));
strncpy(stDevLoginInfo.szUserName, "admin", sizeof(stDevLoginInfo.szUserName));
strncpy(stDevLoginInfo.szPassword, "Admin12345",
sizeof(stDevLoginInfo.szPassword));
stDevLoginInfo.dwPort = 80;
stDevLoginInfo.dwLoginProto = NETDEV_LOGIN_PROTO_ONVIF;

NETDEV_SELOG_INFO_S stSELogInfo = {0};


LPVOID lUserID = NETDEV_Login_V30(&stDevLoginInfo, &stSELogInfo);
if (NULL == lUserID)
{
printf("Login failed, error code: %d\n", NETDEV_GetLastError());

NETDEV_Cleanup();

55 / 767
Network Device SDK (Windows) User Manual
return;
}

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S stVideoChlDetailInfoEx[128] = {0};


INT32 dwCount = 128;
BOOL bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
stVideoChlDetailInfoEx);
if (FALSE == bRet && NETDEV_E_NEEDMOREDATA == NETDEV_GetLastError())
{

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S* pstVideoChlDetailInfoEx = new


NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S[dwCount];
memset(pstVideoChlDetailInfoEx, 0,
sizeof(NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S)*dwCount);
bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
pstVideoChlDetailInfoEx);

delete []pstVideoChlDetailInfoEx;
}

LPVOID lpPlayHandle = NETDEV_StartVoiceCom(lUserID, 1,


NETDEV_DECODE_AUDIO_DATA_CALLBACK, 0);

if (NULL == lpPlayHandle)
{
printf("StartVoiceCom failed, error code: %d\n", NETDEV_GetLastError());
}
else
{
Sleep(20000);

NETDEV_StopVoiceCom(lpPlayHandle);
}

NETDEV_Logout(lUserID);

NETDEV_Cleanup();
}

56 / 767
Network Device SDK (Windows) User Manual
3.6.2 Process of audio forwarding module

Flowchart

NETDEV_Init

Log in and get channel info

NETDEV_RealPlay

NETDEV_StartInputVoiceSrv

NETDEV_InputVoiceData

Registered inside SDK


played directly in callback by upper layer

No
Stop
two-way NETDEV_SetParseVoiceDataCB
audio?

Yes
Call application layer
interface to play pcm audio

NETDEV_StopInputVoiceSrv

NETDEV_StopRealPlay

NETDEV_Logout

NETDEV_Cleanup

Sample code

The following C++ sample code shows the audio forwarding process. For reference only.
#include <iostream>

57 / 767
Network Device SDK (Windows) User Manual
#include "Windows.h"
#include "NetDEVSDK.h"

void STDCALL NETDEV_DECODE_AUDIO_DATA_CALLBACK(LPVOID lpPlayHandle,const


NETDEV_WAVE_DATA_S *pstWaveData,LPVOID lpUserParam)
{
printf("DataLen: %d\n", pstWaveData->dwDataLen);
}

void main()
{

NETDEV_Init();

NETDEV_REV_TIMEOUT_S stRevTimeout = {0};


stRevTimeout.dwRevTimeOut = 5;
stRevTimeout.dwFileReportTimeOut = 30;
NETDEV_SetRevTimeOut(&stRevTimeout);

NETDEV_DEVICE_LOGIN_INFO_S stDevLoginInfo = {0};


strncpy(stDevLoginInfo.szIPAddr, "192.168.3.220",
sizeof(stDevLoginInfo.szIPAddr));
strncpy(stDevLoginInfo.szUserName, "admin", sizeof(stDevLoginInfo.szUserName));
strncpy(stDevLoginInfo.szPassword, "Admin12345",
sizeof(stDevLoginInfo.szPassword));
stDevLoginInfo.dwPort = 80;
stDevLoginInfo.dwLoginProto = NETDEV_LOGIN_PROTO_ONVIF;

NETDEV_SELOG_INFO_S stSELogInfo = {0};


LPVOID lUserID = NETDEV_Login_V30(&stDevLoginInfo, &stSELogInfo);
if (NULL == lUserID)
{
printf("Login failed, error code: %d\n", NETDEV_GetLastError());

NETDEV_Cleanup();
return;
}

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S stVideoChlDetailInfoEx[128] = {0};


INT32 dwCount = 128;

58 / 767
Network Device SDK (Windows) User Manual
BOOL bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
stVideoChlDetailInfoEx);
if (FALSE == bRet && NETDEV_E_NEEDMOREDATA == NETDEV_GetLastError())
{

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S* pstVideoChlDetailInfoEx = new


NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S[dwCount];
memset(pstVideoChlDetailInfoEx, 0,
sizeof(NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S)*dwCount);
bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
pstVideoChlDetailInfoEx);

delete []pstVideoChlDetailInfoEx;
}

LPVOID lpPlayHandle = NETDEV_StartInputVoiceSrv(lUserID, 1);

if (NULL == lpPlayHandle)
{
printf("StartVoiceCom failed, error code: %d\n", NETDEV_GetLastError());
}
else
{
NETDEV_SetPlayDecodeAudioCB(lpPlayHandle, NETDEV_DECODE_AUDIO_DATA_CALLBACK,
1, NULL);

char szSendBuf[640] = {0};


int dwBufLen = 640;
NETDEV_AUDIO_SAMPLE_PARAM_S stVoiceParam = {0};
stVoiceParam.dwChannels = 1;
stVoiceParam.dwSampleRate = 16000;
stVoiceParam.enSampleFormat = NETDEV_AUDIO_SAMPLE_FMT_S16;
NETDEV_InputVoiceData(lpPlayHandle, szSendBuf, dwBufLen, &stVoiceParam);
Sleep(20000);

NETDEV_StopInputVoiceSrv(lpPlayHandle);
}

NETDEV_Logout(lUserID);

NETDEV_Cleanup();

59 / 767
Network Device SDK (Windows) User Manual
}

3.7 Process of Maintenance Module

3.7.1 Flowchart

Log in and get channel info

NETDEV_ReBoot NETDEV_RestoreConfig

NETDEV_Logout

NETDEV_Cleanup

3.7.2 Sample code

The following C++ sample code shows the audio forwarding process. For reference only.
#include <iostream>
#include "Windows.h"
#include "NetDEVSDK.h"

void STDCALL NETDEV_DECODE_AUDIO_DATA_CALLBACK(LPVOID lpPlayHandle,const


NETDEV_WAVE_DATA_S *pstWaveData,LPVOID lpUserParam)
{
printf("DataLen: %d\n", pstWaveData->dwDataLen);
}

void main()
{

NETDEV_Init();

NETDEV_REV_TIMEOUT_S stRevTimeout = {0};

60 / 767
Network Device SDK (Windows) User Manual
stRevTimeout.dwRevTimeOut = 5;
stRevTimeout.dwFileReportTimeOut = 30;
NETDEV_SetRevTimeOut(&stRevTimeout);

NETDEV_DEVICE_LOGIN_INFO_S stDevLoginInfo = {0};


strncpy(stDevLoginInfo.szIPAddr, "192.168.3.220",
sizeof(stDevLoginInfo.szIPAddr));
strncpy(stDevLoginInfo.szUserName, "admin", sizeof(stDevLoginInfo.szUserName));
strncpy(stDevLoginInfo.szPassword, "Admin12345",
sizeof(stDevLoginInfo.szPassword));
stDevLoginInfo.dwPort = 80;
stDevLoginInfo.dwLoginProto = NETDEV_LOGIN_PROTO_ONVIF;

NETDEV_SELOG_INFO_S stSELogInfo = {0};


LPVOID lUserID = NETDEV_Login_V30(&stDevLoginInfo, &stSELogInfo);
if (NULL == lUserID)
{
printf("Login failed, error code: %d\n", NETDEV_GetLastError());

NETDEV_Cleanup();
return;
}

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S stVideoChlDetailInfoEx[128] = {0};


INT32 dwCount = 128;
BOOL bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
stVideoChlDetailInfoEx);
if (FALSE == bRet && NETDEV_E_NEEDMOREDATA == NETDEV_GetLastError())
{

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S* pstVideoChlDetailInfoEx = new


NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S[dwCount];
memset(pstVideoChlDetailInfoEx, 0,
sizeof(NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S)*dwCount);
bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
pstVideoChlDetailInfoEx);

delete []pstVideoChlDetailInfoEx;
}

61 / 767
Network Device SDK (Windows) User Manual
bRet = NETDEV_Reboot(lUserID);
if (TRUE != bRet)
{
printf("Reboot failed\n");
}

NETDEV_Logout(lUserID);

NETDEV_Cleanup();
}

3.8 Process of Exception Module

3.8.1 Flowchart

NETDEV_Init

NETDEV_SetExceptionCallBack

Log in to device NETDEV_Logout

Triggered
device offline
Yes Close established service
exception
(0x8000)?

No

Normal service processing

NETDEV_Logout

NETDEV_Cleanup

3.8.2 Sample code

The following C++ sample code shows the exception handling process. For reference only.
#include <iostream>
#include "Windows.h"
#include "NetDEVSDK.h"

62 / 767
Network Device SDK (Windows) User Manual

void STDCALL ExceptionCallBack_PF(IN LPVOID dwUserID,


IN INT32 dwType,
IN LPVOID dwHandle,
IN LPVOID dwUserData,
OUT LPNETDEV_EXCEPTION_OUTPUT_INFO_S
pstExceptionOutputInfo
)
{
switch(dwType)
{
case NETDEV_EXCEPTION_EXCHANGE:
printf("----------Device offline--------\n");
break;
default:
break;
}
}

void main()
{

NETDEV_Init();

NETDEV_REV_TIMEOUT_S stRevTimeout = {0};


stRevTimeout.dwRevTimeOut = 5;
stRevTimeout.dwFileReportTimeOut = 30;
NETDEV_SetRevTimeOut(&stRevTimeout);

NETDEV_SetExceptionCallBack(ExceptionCallBack_PF,NULL);

NETDEV_DEVICE_LOGIN_INFO_S stDevLoginInfo = {0};


strncpy(stDevLoginInfo.szIPAddr, "192.168.3.220",
sizeof(stDevLoginInfo.szIPAddr));
strncpy(stDevLoginInfo.szUserName, "admin", sizeof(stDevLoginInfo.szUserName));
strncpy(stDevLoginInfo.szPassword, "Admin12345",
sizeof(stDevLoginInfo.szPassword));
stDevLoginInfo.dwPort = 80;
stDevLoginInfo.dwLoginProto = NETDEV_LOGIN_PROTO_ONVIF;

NETDEV_SELOG_INFO_S stSELogInfo = {0};

63 / 767
Network Device SDK (Windows) User Manual
LPVOID lUserID = NETDEV_Login_V30(&stDevLoginInfo, &stSELogInfo);
if (NULL == lUserID)
{
printf("Login failed, error code: %d\n", NETDEV_GetLastError());

NETDEV_Cleanup();
return;
}

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S stVideoChlDetailInfoEx[128] = {0};


INT32 dwCount = 128;
BOOL bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
stVideoChlDetailInfoEx);
if (FALSE == bRet && NETDEV_E_NEEDMOREDATA == NETDEV_GetLastError())
{

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S* pstVideoChlDetailInfoEx = new


NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S[dwCount];
memset(pstVideoChlDetailInfoEx, 0,
sizeof(NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S)*dwCount);
bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
pstVideoChlDetailInfoEx);

delete []pstVideoChlDetailInfoEx;
}

Sleep(120000);

NETDEV_Logout(lUserID);

NETDEV_Cleanup();
}

64 / 767
Network Device SDK (Windows) User Manual

3.9 Process of Alarm Module

3.9.1 Flowchart

Log in and get channel info

Real-time alarm Historical alarm

NETDEV_SetAlarmCallBack_V30 NETDEV_FindAlarmInfoList NETDEV_FindLogInfoList NETDEV_FindAlarmLogList

Monitor and handle exception NETDEV_FindNextAlarmInfo NETDEV_FindNextLogInfo NETDEV_FindNextAlarmLog

NETDEV_FindCloseAlarmInfo NETDEV_FindCloseLogInfo NETDEV_FindCloseAlarmLog

NETDEV_Logout

NETDEV_Cleanup

3.9.2 Sample code

The following C++ sample code shows the alarm process. For reference only.
#include <iostream>
#include "Windows.h"
#include "NetDEVSDK.h"

void STDCALL AlarmMessCallBack_PF(IN LPVOID lpUserID,


IN LPNETDEV_REPORT_INFO_S pstReportInfo,
IN LPVOID lpBuf,
IN INT32 dwBufLen,
IN LPVOID lpUserData
)
{
switch(pstReportInfo->stAlarmInfo.dwAlarmType)
{
case NETDEV_ALARM_MOVE_DETECT:
printf("Motion detection alarm\n");
65 / 767
Network Device SDK (Windows) User Manual
break;
case NETDEV_ALARM_MOVE_DETECT_RECOVER:
printf("Motion detection alarm recover\n");
break;
default:
break;
}

void main()
{

NETDEV_Init();

NETDEV_REV_TIMEOUT_S stRevTimeout = {0};


stRevTimeout.dwRevTimeOut = 5;
stRevTimeout.dwFileReportTimeOut = 30;
NETDEV_SetRevTimeOut(&stRevTimeout);

NETDEV_DEVICE_LOGIN_INFO_S stDevLoginInfo = {0};


strncpy(stDevLoginInfo.szIPAddr, "192.168.3.220",
sizeof(stDevLoginInfo.szIPAddr));
strncpy(stDevLoginInfo.szUserName, "admin", sizeof(stDevLoginInfo.szUserName));
strncpy(stDevLoginInfo.szPassword, "Admin12345",
sizeof(stDevLoginInfo.szPassword));
stDevLoginInfo.dwPort = 80;
stDevLoginInfo.dwLoginProto = NETDEV_LOGIN_PROTO_ONVIF;

NETDEV_SELOG_INFO_S stSELogInfo = {0};


LPVOID lUserID = NETDEV_Login_V30(&stDevLoginInfo, &stSELogInfo);
if (NULL == lUserID)
{
printf("Login failed, error code: %d\n", NETDEV_GetLastError());

NETDEV_Cleanup();
return;
}

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S stVideoChlDetailInfoEx[128] = {0};

66 / 767
Network Device SDK (Windows) User Manual
INT32 dwCount = 128;
BOOL bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
stVideoChlDetailInfoEx);
if (FALSE == bRet && NETDEV_E_NEEDMOREDATA == NETDEV_GetLastError())
{

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S* pstVideoChlDetailInfoEx = new


NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S[dwCount];
memset(pstVideoChlDetailInfoEx, 0,
sizeof(NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S)*dwCount);
bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
pstVideoChlDetailInfoEx);

delete []pstVideoChlDetailInfoEx;
}

bRet = NETDEV_SetAlarmCallBack_V30(lUserID, AlarmMessCallBack_PF, NULL);


if (FALSE == bRet)
{
printf("Set alarm callback error\n");
}
else
{
printf("Set alarm callback Success\n");
}

Sleep(120000);

NETDEV_Logout(lUserID);

NETDEV_Cleanup();
}

67 / 767
Network Device SDK (Windows) User Manual

3.10 Process of PTZ Module

3.10.1 PTZ control process

Flowchart

Log in and get channel info

NETDEV_PTZControl_Other
Rotation
control Zoom control
enumeration enumeration

NETDEV_PTZ_TILTUP NETDEV_PTZ_ZOOMTELE

NETDEV_PTZ_TILTDOWN NETDEV_PTZ_ZOOMWIDE

NETDEV_PTZ_PANRIGHT
Focus control
enumeration

NETDEV_PTZ_PANLEFT NETDEV_PTZ_FOCUSNEAR

NETDEV_PTZ_LEFTUP NETDEV_PTZ_FOCUSFAR

NETDEV_PTZ_LEFTDOWN Stop control


enumeration

NETDEV_PTZ_RIGHTUP NETDEV_PTZ_ALLSTOP

NETDEV_PTZ_RIGHTDOWN

NETDEV_Logout

NETDEV_Cleanup

68 / 767
Network Device SDK (Windows) User Manual

Sample code

The following C++ sample code shows the PTZ control process. For reference only.
#include <iostream>
#include "Windows.h"
#include "NetDEVSDK.h"

void main()
{

NETDEV_Init();

NETDEV_REV_TIMEOUT_S stRevTimeout = {0};


stRevTimeout.dwRevTimeOut = 5;
stRevTimeout.dwFileReportTimeOut = 30;
NETDEV_SetRevTimeOut(&stRevTimeout);

NETDEV_DEVICE_LOGIN_INFO_S stDevLoginInfo = {0};


strncpy(stDevLoginInfo.szIPAddr, "192.168.3.220",
sizeof(stDevLoginInfo.szIPAddr));
strncpy(stDevLoginInfo.szUserName, "admin", sizeof(stDevLoginInfo.szUserName));
strncpy(stDevLoginInfo.szPassword, "Admin12345",
sizeof(stDevLoginInfo.szPassword));
stDevLoginInfo.dwPort = 80;
stDevLoginInfo.dwLoginProto = NETDEV_LOGIN_PROTO_ONVIF;

NETDEV_SELOG_INFO_S stSELogInfo = {0};


LPVOID lUserID = NETDEV_Login_V30(&stDevLoginInfo, &stSELogInfo);
if (NULL == lUserID)
{
printf("Login failed, error code: %d\n", NETDEV_GetLastError());

NETDEV_Cleanup();
return;
}

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S stVideoChlDetailInfoEx[128] = {0};


INT32 dwCount = 128;
BOOL bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
stVideoChlDetailInfoEx);
if (FALSE == bRet && NETDEV_E_NEEDMOREDATA == NETDEV_GetLastError())

69 / 767
Network Device SDK (Windows) User Manual
{

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S* pstVideoChlDetailInfoEx = new


NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S[dwCount];
memset(pstVideoChlDetailInfoEx, 0,
sizeof(NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S)*dwCount);
bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
pstVideoChlDetailInfoEx);

delete []pstVideoChlDetailInfoEx;
}

INT32 dwChannelID = 1;

HWND hWnd = GetConsoleWindow();


NETDEV_PREVIEWINFO_S stNetInfo = {0};
stNetInfo.dwChannelID = dwChannelID;
stNetInfo.hPlayWnd = hWnd;
stNetInfo.dwStreamType = 0;
stNetInfo.dwLinkMode = 1;
LPVOID lpPlayHandle = NETDEV_RealPlay(lUserID, &stNetInfo, NULL, 0);
if (NULL == lpPlayHandle)
{
printf("RealPlay failed, error code: %d\n", NETDEV_GetLastError());
}

NETDEV_PTZControl_Other(lUserID, dwChannelID, NETDEV_PTZ_TILTUP, 6);


Sleep(5000);
NETDEV_PTZControl_Other(lUserID, dwChannelID, NETDEV_PTZ_TILTDOWN, 6);
Sleep(5000);
NETDEV_PTZControl_Other(lUserID, dwChannelID, NETDEV_PTZ_PANRIGHT, 6);
Sleep(5000);
NETDEV_PTZControl_Other(lUserID, dwChannelID, NETDEV_PTZ_PANLEFT, 6);
Sleep(5000);
NETDEV_PTZControl_Other(lUserID, dwChannelID, NETDEV_PTZ_ALLSTOP, 6);

if (NULL != lpPlayHandle)
{

NETDEV_StopRealPlay(lpPlayHandle);
}

NETDEV_Logout(lUserID);

70 / 767
Network Device SDK (Windows) User Manual

NETDEV_Cleanup();
}

3.10.2 Process of preset and patrol module

Flowchart

Log in and get channel info

Preset operation Patrol along a recorded route Patrol along presets

(NETDEV_PTZ_TRACKCRUISESTOP)
(NETDEV_PTZ_GOTO_PRESET)

NETDEV_PTZGetTrackCruise

(NETDEV_PTZ_TRACKCRUISE)

(NETDEV_PTZ_STOP_CRUISE)
(NETDEV_PTZ_SET_PRESET)

(NETDEV_PTZ_CLE_PRESET)

NETDEV_GetPTZPresetList

Add preset patrol route

(NETDEV_PTZ_RUN_CRUISE)

(NETDEV_PTZ_DEL_CRUISE)
NETDEV_PTZPreset_Other

NETDEV_PTZPreset_Other

NETDEV_PTZPreset_Other

NETDEV_PTZCruise_Other

NETDEV_PTZCruise_Other

NETDEV_PTZCruise_Other
NETDEV_PTZTrackCruise

NETDEV_PTZTrackCruise
Record patrol route

NETDEV_PTZGetCruise

NETDEV_PTZGetTrackCruise NETDEV_PTZGetCruise

Patrol route Patrol route


No No
available? available?

Yes Yes

NETDEV_PTZ_TRACKCRUISEADD NETDEV_PTZ_TRACKCRUISEREC (NETDEV_PTZ_MODIFY_CRUISE) (NETDEV_PTZ_ADD_CRUISE)


NETDEV_PTZTrackCruise NETDEV_PTZTrackCruise NETDEV_PTZCruise_Other NETDEV_PTZCruise_Other

NETDEV_Logout

NETDEV_Cleanup

71 / 767
Network Device SDK (Windows) User Manual

3.11 Process of Smart Module

3.11.1 Alarm process of person module

Flowchart

Log in and get channel info

Face comparison Face recognition


alarm alarm

NETDEV_SetPersonAlarmCallBack NETDEV_SetStructAlarmCallBack

VMS: NVR/IPC: NVR/IPC:


VMS:
NETDEV_SetAlarmCallBack_V30 NETDEV_SubscibeLapiAlarm NETDEV_SubscibeLapiAlarm
NETDEV_SubscribeSmart

Receive face monitoring data


(face library, person, monitoring Receive data
operations)

VMS: NVR/IPC: VMS: NVR/IPC:


NETDEV_SetAlarmCallBack_V30 NETDEV_UnSubLapiAlarm NETDEV_UnsubscribeSmart NETDEV_UnSubLapiAlarm

NETDEV_Logout

NETDEV_Cleanup

Flowchart of reporting person alarms

72 / 767
NETDEV_FindPersonMonitorList
NETDEV_FindNextPersonMonitorInfo
NETDEV_FindClosePersonMonitorList
Monitoring

NETDEV_SetPersonMonitorRuleInfo
operation

NETDEV_BatchDeletePersonMonitorInfo

Flowchart of operating persons, person libraries and monitoring


NETDEV_AddPersonMonitorInfo
Network Device SDK (Windows) User Manual

NETDEV_FindPersonInfoList
NETDEV_FindNextPersonInfo
NETDEV_FindClosePersonInfoList
Log in and get channel info

NETDEV_ModifyPersonInfo

NETDEV_Logout

NETDEV_Cleanup

73 / 767
operation
Person

VMS:
NETDEV_DeletePersonInfoList
IPC/NVR:
NETDEV_DeletePersonInfo
NETDEV_AddPersonInfo
NETDEV_FindPersonLibList
NETDEV_FindNextPersonLibInfo
NETDEV_FindClosePersonLibList
Person library NETDEV_ModifyPersonLibInfo
operation
NETDEV_DeletePersonLibInfo
NETDEV_CreatePersonLibInfo
Network Device SDK (Windows) User Manual

Log in and get channel info

Search face comparison and


face recognition records

NETDEV_FindFaceRecordDetailList

NETDEV_FindNextFaceRecordDetail

NETDEV_FindCloseFaceRecordDetail

NETDEV_Logout

NETDEV_Cleanup

Flowchart of searching face recognition records

Sample code for NVR or IPC reporting face recognition and comparison data

The following C++ sample code shows the face comparison process of NVR or IPC. For reference
only.
#include <iostream>
#include "Windows.h"
#include "NetDEVSDK.h"

void STDCALL PersonAlarmCallBack(IN LPVOID lpUserID,IN LPNETDEV_PERSON_EVENT_INFO_S


pstAlarmData,IN LPVOID lpUserData)
{
printf("Person alarm callback\n");
FILE* fp;
if (NULL !=
pstAlarmData->stCtrlFaceInfo->stCompareInfo.stPersonInfo.stImageInfo[0].stFileInfo.pc
Data &&

74 / 767
Network Device SDK (Windows) User Manual
0 !=
pstAlarmData->stCtrlFaceInfo->stCompareInfo.stPersonInfo.stImageInfo[0].stFileInfo.ud
wSize)
{
fp = fopen("PersonImage.jpg", "wb+");

fwrite(pstAlarmData->stCtrlFaceInfo->stCompareInfo.stPersonInfo.stImageInfo[0].stFile
Info.pcData,
pstAlarmData->stCtrlFaceInfo->stCompareInfo.stPersonInfo.stImageInfo[0].stFileInfo.ud
wSize, 1, fp);
fclose(fp);
}
if (NULL != pstAlarmData->stCtrlFaceInfo->stCompareInfo.stPanoImage.pcData &&
0 != pstAlarmData->stCtrlFaceInfo->stCompareInfo.stPanoImage.udwSize)
{
fp = fopen("PanoImage.jpg", "wb+");
fwrite(pstAlarmData->stCtrlFaceInfo->stCompareInfo.stPanoImage.pcData,
pstAlarmData->stCtrlFaceInfo->stCompareInfo.stPanoImage.udwSize, 1, fp);
fclose(fp);
}
if (NULL != pstAlarmData->stCtrlFaceInfo->stCompareInfo.stFaceImage.pcData &&
0 != pstAlarmData->stCtrlFaceInfo->stCompareInfo.stFaceImage.udwSize)
{
fp = fopen("FaceImage.jpg", "wb+");
fwrite(pstAlarmData->stCtrlFaceInfo->stCompareInfo.stFaceImage.pcData,
pstAlarmData->stCtrlFaceInfo->stCompareInfo.stFaceImage.udwSize, 1, fp);
fclose(fp);
}
}

void main()
{
NETDEV_Init();

NETDEV_REV_TIMEOUT_S stRevTimeout = {0};


stRevTimeout.dwRevTimeOut = 5;
stRevTimeout.dwFileReportTimeOut = 30;
NETDEV_SetRevTimeOut(&stRevTimeout);

NETDEV_DEVICE_LOGIN_INFO_S stDevLoginInfo = {0};


strncpy(stDevLoginInfo.szIPAddr, "192.168.3.220",
sizeof(stDevLoginInfo.szIPAddr));
strncpy(stDevLoginInfo.szUserName, "admin", sizeof(stDevLoginInfo.szUserName));
strncpy(stDevLoginInfo.szPassword, "Admin12345",
sizeof(stDevLoginInfo.szPassword));

75 / 767
Network Device SDK (Windows) User Manual
stDevLoginInfo.dwPort = 80;
stDevLoginInfo.dwLoginProto = NETDEV_LOGIN_PROTO_ONVIF;

NETDEV_SELOG_INFO_S stSELogInfo = {0};


LPVOID lUserID = NETDEV_Login_V30(&stDevLoginInfo, &stSELogInfo);
if (NULL == lUserID)
{
printf("Login failed, error code: %d\n", NETDEV_GetLastError());

NETDEV_Cleanup();
return;
}

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S stVideoChlDetailInfoEx[128] = {0};


INT32 dwCount = 128;
BOOL bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
stVideoChlDetailInfoEx);
if (FALSE == bRet && NETDEV_E_NEEDMOREDATA == NETDEV_GetLastError())
{

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S* pstVideoChlDetailInfoEx = new


NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S[dwCount];
memset(pstVideoChlDetailInfoEx, 0,
sizeof(NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S)*dwCount);
bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
pstVideoChlDetailInfoEx);

delete []pstVideoChlDetailInfoEx;
}

NETDEV_SetPersonAlarmCallBack(lUserID,PersonAlarmCallBack,lUserID);

NETDEV_LAPI_SUB_INFO_S stSubInfo = {0};


NETDEV_SUBSCRIBE_SUCC_INFO_S stSubSuccInfo = {0};
stSubInfo.udwType = 0;
stSubInfo.udwLibIDNum = 0xffff;

bRet = NETDEV_SubscibeLapiAlarm(lUserID, &stSubInfo, &stSubSuccInfo);


printf("Subscibe lapi alarm: %d\n", bRet);

76 / 767
Network Device SDK (Windows) User Manual
Sleep(120000);

bRet = NETDEV_UnSubLapiAlarm(lUserID, stSubSuccInfo.udwID);

NETDEV_Logout(lUserID);

NETDEV_Cleanup();
}

Sample code for VMS reporting face comparison data

The following C++ sample code shows the face comparison process of VMS. For reference only.
#include <iostream>
#include "Windows.h"
#include "NetDEVSDK.h"

void STDCALL AlarmMessCallBack_PF(IN LPVOID lpUserID,


IN LPNETDEV_REPORT_INFO_S pstReportInfo,
IN LPVOID lpBuf,
IN INT32 dwBufLen,
IN LPVOID lpUserData
)
{
switch(pstReportInfo->stAlarmInfo.dwAlarmType)
{
case NETDEV_ALARM_MOVE_DETECT:
printf("Motion detection alarm\n");
break;
case NETDEV_ALARM_MOVE_DETECT_RECOVER:
printf("Motion detection alarm recover\n");
break;
default:
break;
}

void STDCALL PersonAlarmCallBack(IN LPVOID lpUserID,IN LPNETDEV_PERSON_EVENT_INFO_S


pstAlarmData,IN LPVOID lpUserData)
{
printf("Person alarm callback\n");
FILE* fp;

77 / 767
Network Device SDK (Windows) User Manual
if (NULL !=
pstAlarmData->stCtrlFaceInfo->stCompareInfo.stPersonInfo.stImageInfo[0].stFileInfo.pc
Data &&
0 !=
pstAlarmData->stCtrlFaceInfo->stCompareInfo.stPersonInfo.stImageInfo[0].stFileInfo.ud
wSize)
{
fp = fopen("PersonImage.jpg", "wb+");

fwrite(pstAlarmData->stCtrlFaceInfo->stCompareInfo.stPersonInfo.stImageInfo[0].stFile
Info.pcData,
pstAlarmData->stCtrlFaceInfo->stCompareInfo.stPersonInfo.stImageInfo[0].stFileInfo.ud
wSize, 1, fp);
fclose(fp);
}
if (NULL != pstAlarmData->stCtrlFaceInfo->stCompareInfo.stPanoImage.pcData &&
0 != pstAlarmData->stCtrlFaceInfo->stCompareInfo.stPanoImage.udwSize)
{
fp = fopen("PanoImage.jpg", "wb+");
fwrite(pstAlarmData->stCtrlFaceInfo->stCompareInfo.stPanoImage.pcData,
pstAlarmData->stCtrlFaceInfo->stCompareInfo.stPanoImage.udwSize, 1, fp);
fclose(fp);
}
if (NULL != pstAlarmData->stCtrlFaceInfo->stCompareInfo.stFaceImage.pcData &&
0 != pstAlarmData->stCtrlFaceInfo->stCompareInfo.stFaceImage.udwSize)
{
fp = fopen("FaceImage.jpg", "wb+");
fwrite(pstAlarmData->stCtrlFaceInfo->stCompareInfo.stFaceImage.pcData,
pstAlarmData->stCtrlFaceInfo->stCompareInfo.stFaceImage.udwSize, 1, fp);
fclose(fp);
}
}

void main()
{

NETDEV_Init();

NETDEV_REV_TIMEOUT_S stRevTimeout = {0};


stRevTimeout.dwRevTimeOut = 5;
stRevTimeout.dwFileReportTimeOut = 30;
NETDEV_SetRevTimeOut(&stRevTimeout);

78 / 767
Network Device SDK (Windows) User Manual
NETDEV_DEVICE_LOGIN_INFO_S stDevLoginInfo = {0};
strncpy(stDevLoginInfo.szIPAddr, "192.168.3.108",
sizeof(stDevLoginInfo.szIPAddr));
strncpy(stDevLoginInfo.szUserName, "admin", sizeof(stDevLoginInfo.szUserName));
strncpy(stDevLoginInfo.szPassword, "123456", sizeof(stDevLoginInfo.szPassword));
stDevLoginInfo.dwPort = 80;
stDevLoginInfo.dwLoginProto = NETDEV_LOGIN_PROTO_PRIVATE;

NETDEV_SELOG_INFO_S stSELogInfo = {0};


LPVOID lUserID = NETDEV_Login_V30(&stDevLoginInfo, &stSELogInfo);
if (NULL == lUserID)
{
printf("Login failed, error code: %d\n", NETDEV_GetLastError());

NETDEV_Cleanup();
return;
}

NETDEV_SetAlarmCallBack_V30(lUserID, AlarmMessCallBack_PF, lUserID);

NETDEV_SetPersonAlarmCallBack(lUserID,PersonAlarmCallBack,lUserID);

Sleep(120000);

NETDEV_SetAlarmCallBack_V30(lUserID, NULL, lUserID);

NETDEV_Logout(lUserID);

NETDEV_Cleanup();
}

79 / 767
Network Device SDK (Windows) User Manual
3.11.2 Function process of people counting module

Flowchart

Log in to device and get channel info

IPC people counting NVR/VMS people counting

No
Need people
NETDEV_SetPassengerFlowStatisticCallBack
counting?

Yes

NETDEV_StartMultiTrafficStatistic

NETDEV_GetTrafficStatisticProgress

Progress reached
100%?
No

Yes

NETDEV_FindTrafficStatisticInfoList

NETDEV_FindNextTrafficStatisticInfo

NETDEV_FindCloseTrafficStatisticInfo

NETDEV_StopTrafficStatistic

Yes
Count again?

No

NETDEV_Logout

NETDEV_Cleanup

80 / 767
Network Device SDK (Windows) User Manual
3.11.3 Function process of vehicle module

Flowchart

Log in and get channel info

Vehicle
Vehicle
recognition
comparison alarm
alarm

NETDEV_SetVehicleAlarmCallBack NETDEV_SetStructAlarmCallBack

VMS: NVR/IPC: NVR/IPC:


VMS:
NETDEV_SetAlarmCallBack_V30 NETDEV_SubscibeLapiAlarm NETDEV_SubscibeLapiAlarm
NETDEV_SubscribeSmart

Receive vehicle monitoring data


(vehicle library, vehicle, and Receive data
monitoring operations)

VMS: NVR/IPC: VMS: NVR/IPC:


NETDEV_SetAlarmCallBack_V30 NETDEV_UnSubLapiAlarm NETDEV_UnsubscribeSmart NETDEV_UnSubLapiAlarm

NETDEV_Logout

NETDEV_Cleanup

Vehicle alarm flowchart

81 / 767
NETDEV_FindVehicleMonitorList
NETDEV_FindNextVehicleMonitorInfo
NETDEV_FindCloseVehicleMonitorList
Monitoring

NETDEV_SetVehicleMonitorInfo
operation

NETDEV_DeleteVehicleMonitorInfo

Vehicle, vehicle library, and monitoring flowchart


NETDEV_AddVehicleMonitorInfo
Network Device SDK (Windows) User Manual

NETDEV_FindVehicleMemberDetailList
NETDEV_FindNextVehicleMemberDetail
NETDEV_FindCloseVehicleMemberDetail
Log in and get channel info

NETDEV_Logout

NETDEV_Cleanup
NETDEV_ModifyVehicleMemberInfo

82 / 767
operation
Vehicle

NETDEV_DelVehicleMemberList
NETDEV_AddVehicleMemberList
NETDEV_FindVehicleLibList
NETDEV_FindNextVehicleLibInfo
NETDEV_FindCloseVehicleLibList
NETDEV_ModifyVehicleLibInfo
operation
Vehicle
library
NETDEV_DeleteVehicleLibInfo
NETDEV_AddVehicleLibInfo
Network Device SDK (Windows) User Manual

Log in and get channel info

Search vehicle comparison and


vehicle recognition records

NETDEV_FindVehicleRecordInfoList

NETDEV_FindNextVehicleRecordInfo

NETDEV_FindCloseVehicleRecordList

NETDEV_Logout

NETDEV_Cleanup

Flowchart of searching vehicle recognition records

Sample code for NVR or IPC reporting vehicle comparison data

The following C++ sample code shows the vehicle comparison process of NVR or IPC. For reference
only.
#include <iostream>
#include "Windows.h"
#include "NetDEVSDK.h"

void STDCALL VehicleAlarmMessCallBack(IN LPVOID lpUserID,


IN LPNETDEV_VEH_RECOGNITION_EVENT_S
pstVehicleAlarmInfo,
IN LPVOID lpBuf,
IN INT32 dwBufLen,
IN LPVOID lpUserData)
{
printf("Vehicle alarm callback\n");
FILE* fp;
for (int i=0; i<pstVehicleAlarmInfo->stVehicleEventInfo.udwVehicleInfoNum; i++)

83 / 767
Network Device SDK (Windows) User Manual
{
if (NULL !=
pstVehicleAlarmInfo->stVehicleEventInfo.pstVehicleRecordInfo[i].stPlateImage.pcData)
{
fp = fopen("Vehicle1.jpg", "wb+");

fwrite(pstVehicleAlarmInfo->stVehicleEventInfo.pstVehicleRecordInfo[i].stPlateImage.p
cData,
pstVehicleAlarmInfo->stVehicleEventInfo.pstVehicleRecordInfo[i].stPlateImage.udwSize,
1, fp);
fclose(fp);
}
if (NULL !=
pstVehicleAlarmInfo->stVehicleEventInfo.pstVehicleRecordInfo[i].stPanoImage.pcData)
{
fp = fopen("Vehicle2.jpg", "wb+");

fwrite(pstVehicleAlarmInfo->stVehicleEventInfo.pstVehicleRecordInfo[i].stPanoImage.pc
Data,
pstVehicleAlarmInfo->stVehicleEventInfo.pstVehicleRecordInfo[i].stPanoImage.udwSize,
1, fp);
fclose(fp);
}
if (NULL !=
pstVehicleAlarmInfo->stVehicleEventInfo.pstVehicleRecordInfo[i].stVehicleImage.pcData
)
{
fp = fopen("Vehicle3.jpg", "wb+");

fwrite(pstVehicleAlarmInfo->stVehicleEventInfo.pstVehicleRecordInfo[i].stVehicleImage
.pcData,
pstVehicleAlarmInfo->stVehicleEventInfo.pstVehicleRecordInfo[i].stVehicleImage.udwSiz
e, 1, fp);
fclose(fp);
}
}

void main()
{

NETDEV_Init();

84 / 767
Network Device SDK (Windows) User Manual
NETDEV_REV_TIMEOUT_S stRevTimeout = {0};
stRevTimeout.dwRevTimeOut = 5;
stRevTimeout.dwFileReportTimeOut = 30;
NETDEV_SetRevTimeOut(&stRevTimeout);

NETDEV_DEVICE_LOGIN_INFO_S stDevLoginInfo = {0};


strncpy(stDevLoginInfo.szIPAddr, "192.168.3.220",
sizeof(stDevLoginInfo.szIPAddr));
strncpy(stDevLoginInfo.szUserName, "admin", sizeof(stDevLoginInfo.szUserName));
strncpy(stDevLoginInfo.szPassword, "Admin12345",
sizeof(stDevLoginInfo.szPassword));
stDevLoginInfo.dwPort = 80;
stDevLoginInfo.dwLoginProto = NETDEV_LOGIN_PROTO_ONVIF;

NETDEV_SELOG_INFO_S stSELogInfo = {0};


LPVOID lUserID = NETDEV_Login_V30(&stDevLoginInfo, &stSELogInfo);
if (NULL == lUserID)
{
printf("Login failed, error code: %d\n", NETDEV_GetLastError());

NETDEV_Cleanup();
return;
}

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S stVideoChlDetailInfoEx[128] = {0};


INT32 dwCount = 128;
BOOL bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
stVideoChlDetailInfoEx);
if (FALSE == bRet && NETDEV_E_NEEDMOREDATA == NETDEV_GetLastError())
{

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S* pstVideoChlDetailInfoEx = new


NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S[dwCount];
memset(pstVideoChlDetailInfoEx, 0,
sizeof(NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S)*dwCount);
bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
pstVideoChlDetailInfoEx);

delete []pstVideoChlDetailInfoEx;
}

85 / 767
Network Device SDK (Windows) User Manual

NETDEV_SetVehicleAlarmCallBack(lUserID,VehicleAlarmMessCallBack,lUserID);

NETDEV_LAPI_SUB_INFO_S stSubInfo = {0};


NETDEV_SUBSCRIBE_SUCC_INFO_S stSubSuccInfo = {0};
stSubInfo.udwType = 0;
stSubInfo.udwLibIDNum = 0xffff;

bRet = NETDEV_SubscibeLapiAlarm(lUserID, &stSubInfo, &stSubSuccInfo);


printf("Subscibe lapi alarm: %d\n", bRet);

Sleep(120000);

bRet = NETDEV_UnSubLapiAlarm(lUserID, stSubSuccInfo.udwID);

NETDEV_Logout(lUserID);

NETDEV_Cleanup();
}

86 / 767
Network Device SDK (Windows) User Manual
3.11.4 Process of structured data (passing persons and vehicles)

Flowchart

Log in and get channel info

Structured alarm

NETDEV_SetStructAlarmCallBack

NVR/IPC:
VMS:
NETDEV_SubscibeLapiAlarm
NETDEV_SubscribeSmart

Receive data

VMS: NVR/IPC:
NETDEV_UnsubscribeSmart NETDEV_UnSubLapiAlarm

NETDEV_Logout

NETDEV_Cleanup

Sample code for NVR or IPC reporting structured data

The following C++ sample code shows the structured data process of NVR or IPC. For reference
only.
#include <iostream>
#include "Windows.h"
#include "NetDEVSDK.h"

87 / 767
Network Device SDK (Windows) User Manual
void STDCALL StructAlarmCallBack(IN LPVOID lpUserID, IN LPNETDEV_STRUCT_ALARM_INFO_S
pstAlarmInfo, IN LPNETDEV_STRUCT_DATA_INFO_S pstAlarmData, IN LPVOID lpUserData)
{
printf("Struct alarm callback\n");
FILE* fp;
if(NULL != pstAlarmData->stObjectInfo.pstFaceInfo && 0
<pstAlarmData->stObjectInfo.udwFaceNum && NULL != pstAlarmData->pstImageInfo && 0 <
pstAlarmData->udwImageNum)
{
for(UINT32 i = 0; i < pstAlarmData->stObjectInfo.udwFaceNum; i++)
{
for(UINT32 j = 0;j < pstAlarmData->udwImageNum; j++)
{
if(pstAlarmData->stObjectInfo.pstFaceInfo[i].udwLargePicAttachIndex ==
pstAlarmData->pstImageInfo[j].udwIndex)
{
fp = fopen("1.jpg", "wb+");
fwrite(pstAlarmData->pstImageInfo[j].pszData,
pstAlarmData->pstImageInfo[j].udwSize, 1, fp);
fclose(fp);
continue;
}
else
if(pstAlarmData->stObjectInfo.pstFaceInfo[i].udwSmallPicAttachIndex ==
pstAlarmData->pstImageInfo[j].udwIndex)
{
fp = fopen("2.jpg", "wb+");
fwrite(pstAlarmData->pstImageInfo[j].pszData,
pstAlarmData->pstImageInfo[j].udwSize, 1, fp);
fclose(fp);
continue;
}
}
}
}

if(NULL != pstAlarmData->stObjectInfo.udwPersonNum && 0


<pstAlarmData->stObjectInfo.udwPersonNum && NULL != pstAlarmData->pstImageInfo && 0
< pstAlarmData->udwImageNum)
{
for(UINT32 i = 0; i < pstAlarmData->stObjectInfo.udwPersonNum; i++)
{
for(UINT32 j = 0;j < pstAlarmData->udwImageNum; j++)
{

88 / 767
Network Device SDK (Windows) User Manual
if(pstAlarmData->stObjectInfo.pstPersonInfo[i].udwLargePicAttachIndex
== pstAlarmData->pstImageInfo[j].udwIndex)
{
fp = fopen("3.jpg", "wb+");
fwrite(pstAlarmData->pstImageInfo[j].pszData,
pstAlarmData->pstImageInfo[j].udwSize, 1, fp);
fclose(fp);
continue;
}
else
if(pstAlarmData->stObjectInfo.pstPersonInfo[i].udwSmallPicAttachIndex ==
pstAlarmData->pstImageInfo[j].udwIndex)
{
fp = fopen("3.jpg", "wb+");
fwrite(pstAlarmData->pstImageInfo[j].pszData,
pstAlarmData->pstImageInfo[j].udwSize, 1, fp);
fclose(fp);
continue;
}
}
}
}

if(NULL != pstAlarmData->stObjectInfo.pstNonMotorVehInfo && 0


<pstAlarmData->stObjectInfo.udwNonMotorVehNum && NULL != pstAlarmData->pstImageInfo
&& 0 < pstAlarmData->udwImageNum)
{
for(UINT32 i = 0; i < pstAlarmData->stObjectInfo.udwNonMotorVehNum; i++)
{
for(UINT32 j = 0;j < pstAlarmData->udwImageNum; j++)
{

if(pstAlarmData->stObjectInfo.pstNonMotorVehInfo[i].udwLargePicAttachIndex ==
pstAlarmData->pstImageInfo[j].udwIndex)
{
fp = fopen("4.jpg", "wb+");
fwrite(pstAlarmData->pstImageInfo[j].pszData,
pstAlarmData->pstImageInfo[j].udwSize, 1, fp);
fclose(fp);
continue;
}
else
if(pstAlarmData->stObjectInfo.pstNonMotorVehInfo[i].udwSmallPicAttachIndex ==
pstAlarmData->pstImageInfo[j].udwIndex)
{

89 / 767
Network Device SDK (Windows) User Manual
fp = fopen("5.jpg", "wb+");
fwrite(pstAlarmData->pstImageInfo[j].pszData,
pstAlarmData->pstImageInfo[j].udwSize, 1, fp);
fclose(fp);
continue;
}
}
}
}

if(NULL != pstAlarmData->stObjectInfo.pstVehInfo && 0


<pstAlarmData->stObjectInfo.udwVehicleNum && NULL != pstAlarmData->pstImageInfo && 0
< pstAlarmData->udwImageNum)
{
for(UINT32 i = 0; i < pstAlarmData->stObjectInfo.udwVehicleNum; i++)
{
for(UINT32 j = 0;j < pstAlarmData->udwImageNum; j++)
{
if(pstAlarmData->stObjectInfo.pstVehInfo[i].udwLargePicAttachIndex ==
pstAlarmData->pstImageInfo[j].udwIndex)
{
fp = fopen("6.jpg", "wb+");
fwrite(pstAlarmData->pstImageInfo[j].pszData,
pstAlarmData->pstImageInfo[j].udwSize, 1, fp);
fclose(fp);
continue;
}
else if(pstAlarmData->stObjectInfo.pstVehInfo[i].udwSmallPicAttachIndex
== pstAlarmData->pstImageInfo[j].udwIndex)
{
fp = fopen("6.jpg", "wb+");

fwrite(pstAlarmData->pstImageInfo[j].pszData,pstAlarmData->pstImageInfo[j].udwSize,
1, fp);
fclose(fp);
continue;
}
}
}
}
return ;
}

void main()
{

90 / 767
Network Device SDK (Windows) User Manual

NETDEV_Init();

NETDEV_REV_TIMEOUT_S stRevTimeout = {0};


stRevTimeout.dwRevTimeOut = 5;
stRevTimeout.dwFileReportTimeOut = 30;
NETDEV_SetRevTimeOut(&stRevTimeout);

NETDEV_DEVICE_LOGIN_INFO_S stDevLoginInfo = {0};


strncpy(stDevLoginInfo.szIPAddr, "192.168.3.220",
sizeof(stDevLoginInfo.szIPAddr));
strncpy(stDevLoginInfo.szUserName, "admin", sizeof(stDevLoginInfo.szUserName));
strncpy(stDevLoginInfo.szPassword, "Admin12345",
sizeof(stDevLoginInfo.szPassword));
stDevLoginInfo.dwPort = 80;
stDevLoginInfo.dwLoginProto = NETDEV_LOGIN_PROTO_ONVIF;

NETDEV_SELOG_INFO_S stSELogInfo = {0};


LPVOID lUserID = NETDEV_Login_V30(&stDevLoginInfo, &stSELogInfo);
if (NULL == lUserID)
{
printf("Login failed, error code: %d\n", NETDEV_GetLastError());

NETDEV_Cleanup();
return;
}

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S stVideoChlDetailInfoEx[128] = {0};


INT32 dwCount = 128;
BOOL bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
stVideoChlDetailInfoEx);
if (FALSE == bRet && NETDEV_E_NEEDMOREDATA == NETDEV_GetLastError())
{

NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S* pstVideoChlDetailInfoEx = new


NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S[dwCount];
memset(pstVideoChlDetailInfoEx, 0,
sizeof(NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S)*dwCount);
bRet = NETDEV_QueryVideoChlDetailListEx(lUserID, &dwCount,
pstVideoChlDetailInfoEx);

91 / 767
Network Device SDK (Windows) User Manual

delete []pstVideoChlDetailInfoEx;
}

NETDEV_SetStructAlarmCallBack(lUserID,StructAlarmCallBack,lUserID);

NETDEV_LAPI_SUB_INFO_S stSubInfo = {0};


NETDEV_SUBSCRIBE_SUCC_INFO_S stSubSuccInfo = {0};
stSubInfo.udwType = 0;
stSubInfo.udwLibIDNum = 0xffff;

bRet = NETDEV_SubscibeLapiAlarm(lUserID, &stSubInfo, &stSubSuccInfo);


printf("Subscibe lapi alarm: %d\n", bRet);

Sleep(120000);

bRet = NETDEV_UnSubLapiAlarm(lUserID, stSubSuccInfo.udwID);

NETDEV_Logout(lUserID);

NETDEV_Cleanup();
}

4. Basic Interface Definition

4.1 SDK Initialization

4.1.1 SDK initialization

Interface name:
BOOL STDCALL NETDEV_Init();

Interface description:
Initialize SDK, which must be performed before calling other SDK functions.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.
92 / 767
Network Device SDK (Windows) User Manual

Remarks:
 NETDEV_Init needs to be called once within the program, and NETDEV_Cleanup needs to be called
once when logging out.

See also:
NETDEV_Cleanup

4.1.2 SDK cleanup

Interface name:
BOOL STDCALL NETDEV_ Cleanup ();

Interface description:
SDK cleanup

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 No other SDK interfaces can be called when NETDEV_Cleanup is being called.
 NETDEV_Init and NETDEV_Cleanup must be used in pairs.
 NETDEV_Init needs to be called once within the program, and NETDEV_Cleanup needs to be called
once when logging out.

See also:
NETDEV_Init

4.2 SDK Local Functions

4.2.1 Set log size and quantity

Interface name:
BOOL STDCALL NETDEV_ConfigLogFile
(
INT32 dwLogFileSize,
INT32 dwLogFileNum
);

Interface description:
Set the size and quantity of log files.

Parameters:
Parameter Type Description
93 / 767
Network Device SDK (Windows) User Manual
dwLogFileSize IN Size of a log file. Unit: Byte.
dwLogFileNum IN Number of log files.

Return value:
TRUE means success, other values mean failure.

Remarks:
 This interface must be called prior to SDK initialization (NETDEV_Init).
 The default log file number is 10 and the size of a log file is 30M.

See also:
NETDEV_SetLogPath, NETDEV_SetWriteLogFlag

4.2.2 Set log file path

Interface name:
BOOL STDCALL NETDEV_SetLogPath
(
CHAR * pszLogPath
);

Interface description:
Set the path of log files.

Parameters:
Parameter Type Description
pszLogPath IN Log path (not including filename).

Return value:
TRUE means success, other values mean failure.

Remarks:
 This interface must be called prior to SDK initialization (NETDEV_Init).
 The default path is the path where the program runs.
 Make sure the log path you want to set already exists.

See also:
NETDEV_ConfigLogFile, NETDEV_SetWriteLogFlag

4.2.3 Set the flag for writing to logs

Interface name:
BOOL STDCALL NETDEV_SetWriteLogFlag
(
BOOL bWriteLogFlag
);
94 / 767
Network Device SDK (Windows) User Manual

Interface description:
Set the flag for writing to logs.

Parameters:
Parameter Type Description
bWriteLogFlag IN Flag for writing to logs. TRUE: Write to logs FALSE: Not write to
logs

Return value:
TRUE means success, other values mean failure.

Remarks:
 This interface must be called prior to SDK initialization (NETDEV_Init).
 Log writing is enabled by default and the flag is TRUE.

See also:
NETDEV_ConfigLogFile, NETDEV_SetLogPath

4.2.4 Get SDK version

Interface name:
INT32 STDCALL NETDEV_GetSDKVersion();

Interface description:
Get SDK version info.

Return value:
SDK version info.

Remarks:
 In the two high bytes, the high 8 bits means the major version, the low 8 bits means the minor
version. The two low bytes means the additional version number. For example, 0x01080000 means
version 1.8.0.0.

4.2.5 Get interface error code

Interface name:
INT32 STDCALL NETDEV_GetLastError();

Interface description:
Get the corresponding error code after calling an interface failed.

Return value:
The returned value is the error code. Error codes are mainly divided into common error, media related
error, PTZ module error, playback module error, etc. See Error Code List.
95 / 767
Network Device SDK (Windows) User Manual

Remarks:
 This interface can be called to get the error code only when an interface returns failure.

4.2.6 Register the callback function to receive exceptions

Interface name:
BOOL STDCALL NETDEV_SetExceptionCallBack
(
NETDEV_ExceptionCallBack_PF cbExceptionCallBack,
LPVOID lpUserData
);

Interface description:
Register the callback function to receive exception or reconnection messages.

Parameters:
Parameter Type Description
cbExceptionCallBack IN Callback function for receiving exception messages, which calls
back exception info.
lpUserData IN User data

Callback Function
typedef void(STDCALL *NETDEV_ExceptionCallBack_PF)
(
LPVOID lpUserID,
INT32 dwType,
LPVOID lpExpHandle,
LPVOID lpUserData,
LPNETDEV_EXCEPTION_OUTPUT_INFO_S pstExceptionOutputInfo
);

Callback Function Parameters


Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
dwType IN Exception or reconnect message type. See
NETDEV_EXCEPTION_TYPE_E
lpExpHandle IN Corresponding exception handle.
lpUserData IN User data. Corresponds to the lpUserData passed in when
registering callback.
pstExceptionOutputInfo IN Exception output info. Used by player only. See
NETDEV_EXCEPTION_OUTPUT_INFO_S.

Return value:

96 / 767
Network Device SDK (Windows) User Manual
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.2.7 Set the maximum number of decoding channels

Interface name:
BOOL STDCALL NETDEV_SetMaxDecChlNum
(
UINT32 dwMaxdecNum
) ;

Interface description:
Set the maximum number of decoding channels.

Parameters:
Parameter Type Description
dwMaxdecNum IN Maximum number of decoding channels.

Return value:
TRUE means success, other values mean failure.

Remarks:
 This interface must be called prior to SDK initialization (NETDEV_Init).
 A failed call means 128 decoding channels.
 SDK supports up to 128 decoding channels.
 The number of decoding channels is the total number of decoding channels for live view, playback,
and recording download.

4.2.8 Set keep-alive interval and times

Interface name:
BOOL STDCALL NETDEV_SetConnectTime
(
INT32 dwWaitTime,
INT32 dwTrytimes
);

Interface description:
Set keep-alive parameters.

Parameters:
Parameter Type Description
dwWaitTime IN Wait time interval (unit: second).
dwTrytimes IN Number of reconnecting attempts

Return value:
97 / 767
Network Device SDK (Windows) User Manual
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Both dwWaitTime and dwTrytimes must be greater than 0.

4.2.9 Set receiving timeout

Interface name:
BOOL STDCALL NETDEV_SetRevTimeOut
(
LPNETDEV_REV_TIMEOUT_S pstRevTimeout
);

Interface description:
Set a timeout for SDK interfaces.

Parameters:
Parameter Type Description
pstRevTimeout IN Timeout. See NETDEV_REV_TIMEOUT_S.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 The timeout for network messages must be greater than or equal to 1 second.
 The timeout for file transfer must be greater than or equal to 30 seconds.

4.2.10 Set local listening address

Interface name:
BOOL STDCALL NETDEV_SetListenAddr
(
INT32 dwListenType,
CHAR* pszAddr
);

Interface description:
Set local listening address

Parameters:
Parameter Type Description
dwListenType IN
Listen function type. See NETDEV_LISTEN_TYPE_E

pszAddr IN Listening address


98 / 767
Network Device SDK (Windows) User Manual

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 This interface must be called prior to SDK initialization (NETDEV_Init).

4.3 Device Discovery

4.3.1 Register the callback function to discover devices

Interface name:
BOOL STDCALL NETDEV_SetDiscoveryCallBack
(
NETDEV_DISCOVERY_CALLBACK_PF cbDiscoveryCallBack,
LPVOID lpUserData
);

Interface description:
Register the callback function to discover devices

Parameters:
Parameter Type Description
cbDiscoveryCallBack IN Callback function for device discovery
lpUserData IN User data

Callback Function
typedef void(STDCALL *NETDEV_DISCOVERY_CALLBACK_PF)
(
LPNETDEV_DISCOVERY_DEVINFO_S pstDevInfo,
LPVOID lpUserData
);

Callback Function Parameters


Parameter Type Description
pstDevInfo IN Device info. See NETDEV_DISCOVERY_DEVINFO_S
lpUserData IN User data. Corresponds to the lpUserData passed in when
registering callback.

Return value:
0 means failure, other values mean user ID. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

99 / 767
Network Device SDK (Windows) User Manual
Remarks:
 This interface must be called prior to SDK initialization (NETDEV_Init

See also:
NETDEV_Discovery

4.3.2 Discover devices

Interface name:
BOOL STDCALL NETDEV_Discovery
(
CHAR *pszBeginIP,
CHAR *pszEndIP
);

Interface description:
Discover devices

Parameters:
Parameter Type Description
pszBeginIP IN Start IP address
pszEndIP IN End IP address

Return value:
0 means failure, other values mean user ID. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 It means automatic search when both pszBeginIP and pszEndIP are “0.0.0.0”; otherwise, it means
search by network segment.
 First register the device discovery callback function, and then call this interface to discover
devices. The discovered device info will be shown in callback.

See also:
NETDEV_SetDiscoveryCallBack

4.4 Configure No Login

4.4.1 Modify device IP address

Interface name:
BOOL STDCALL NETDEV_ModifyDeviceAddr(LPNETDEV_DEV_ADDR_INFO_S pstDevAddrInfo);

Interface description:
Modify device IP address (without login)

100 / 767
Network Device SDK (Windows) User Manual

Parameters:
Parameter Type Description
pstDevAddrInfo IN Address of the device to be modified

Return value:
0 means failure, other values mean user ID. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Modify device IP address without login.

See also:
NETDEV_SetDiscoveryCallBack, NETDEV_Discovery

4.5 User Login

4.5.1 User logs into the device

Interface name:
LPVOID STDCALL NETDEV_Login_V30
(
LPNETDEV_DEVICE_LOGIN_INFO_S pstDevLoginInfo,
LPNETDEV_SELOG_INFO_S pstSELogInfo
);

Interface description:
User logs in to device

Parameters:
Parameter Type Description
pstDevLoginInfo IN Device login info
pstSELogInfo OUT Secure login info

Return value:
0 means failure, other values mean user ID. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 For local logins, SDK uses the same port as the one for accessing the device on webpage. The
default port number is 80.
 pstSELogInfo is only applicable to devices that are logged in to using the private protocol, for
example, VMS.
 NVR and IPC only support login via Onvif, and VMS only supports login via the private protocol.

101 / 767
Network Device SDK (Windows) User Manual
See also:
NETDEV_Logout

4.5.2 User logout

Interface name:
BOOL STDCALL NETDEV_Logout
(
LPVOID lpUserID
) ;

Interface description:
User logout

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the NETDEV_Login_V30
interface

Return value:
0 means failure, other values mean user ID. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_Login_V30

4.6 Live View

4.6.1 Live view

Interface name:
LPVOID STDCALL NETDEV_RealPlay(
LPVOID lpUserID,
LPNETDEV_PREVIEWINFO_S pstPreviewInfo,
NETDEV_SOURCE_DATA_CALLBACK_PF cbPlayDataCallBack,
LPVOID lpUserData
);

Interface description:
Start live view

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
102 / 767
Network Device SDK (Windows) User Manual
pstPreviewInfo IN Live view parameter. See NETDEV_PREVIEWINFO_S
cbPlayDataCallBack IN Stream data callback function
lpUserData IN User data

Callback Function
typedef void (STDCALL *NETDEV_SOURCE_DATA_CALLBACK_PF)
(
LPVOID lpPlayHandle,
const BYTE *pucBuffer,
INT32 dwBufSize,
INT32 dwMediaDataType,
LPVOID lpUserParam
);

Callback Function Parameters


Parameter Type Description
lpPlayHandle IN Current live view handle
pucBuffer IN Buffer storing unassembled media stream data
dwBufSize IN Buffer size
dwMediaDataType IN Media data type. See NETDEV_MEDIA_DATA_FORMAT_E
lpUserParam IN User parameter, which is the lpUserData passed in when user calls
the NETDEV_RealPlay interface.

Return value:
Stream startup handle. 0 means failure, other values are stream startup handles. Call
NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Cannot execute in the cbPlayDataCallBack callback function. It may take a long time.
 The callback function in this interface can be null, and so this function will not call back
stream data for user. But user can still use the NETDEV_SetPlayParseCB and
NETDEV_SetPlayDecodeVideoCB interfaces to register the callback function to receive stream data.
See also:
NETDEV_SetPlayParseCB, NETDEV_SetPlayDecodeVideoCB, NETDEV_StopRealPlay

4.6.2 Stop live view

Interface name:
BOOL STDCALL NETDEV_StopRealPlay
(
LPVOID lpPlayHandle
);

Interface description:
Stop live view

103 / 767
Network Device SDK (Windows) User Manual

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle, return value from the NETDEV_RealPlay interface

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_RealPlay, NETDEV_FastRealPlayByUrl

4.6.3 Start local recording

Interface name:
BOOL STDCALL NETDEV_SaveRealData
(
LPVOID lpPlayHandle,
CHAR *pszSaveFileName,
INT32 dwFormat
);

Interface description:
Start local recording

Parameters:
Parameter Type Description
lpPlayHandle IN Stream startup handle
pszSaveFileName IN Saved file name
dwFormat IN File format. See NETDEV_MEDIA_FILE_FORMAT_E

Remarks:
 Stream startup handles can be handles for live view and playback.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_StopSaveRealData

4.6.4 Stop local recording

Interface name:
BOOL STDCALL NETDEV_StopSaveRealData

104 / 767
Network Device SDK (Windows) User Manual
(
LPVOID lpPlayHandle
);

Interface description:
Stop local recording

Parameters:
Parameter Type Description
lpPlayHandle IN Stream startup handle

Remarks:
 Stream startup handles can be handles for live view and playback.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_SaveRealData

4.6.5 Get live view URL

Interface name:
BOOL STDCALL NETDEV_GetStreamUrl
(
LPVOID lpUserID,
INT32 dwChannelID,
INT32 dwStreamType,
CHAR *pszStreamUrl
);

Interface description:
Start live view

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the NETDEV_Login_V30
interface
dwChannelID IN Channel ID
dwStreamType IN Stream type. See NETDEV_LIVE_STREAM_INDEX_E.
pszStreamUrl OUT Stream URL. User allocates RAM. The size must be greater than or
equal to 260.

Return value:

105 / 767
Network Device SDK (Windows) User Manual
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 The pszStreamUrl parameter needs user to assign RAM. The size must be greater than or equal to
260.

See also:
NETDEV_FastRealPlayByUrl

4.6.6 Start live view by URL

Interface name:
LPVOID STDCALL NETDEV_FastRealPlayByUrl
(
LPVOID lpUserID,
CHAR *pszUrl,
LPNETDEV_PREVIEWINFO_S pstPreviewInfo,
NETDEV_SOURCE_DATA_CALLBACK_PF cbPlayDataCallBack,
LPVOID lpUserData
);

Interface description:
Start live view by URL

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pszUrl IN Stream URL, which is obtained using NETDEV_GetStreamUrl
pstPreviewInfo IN Live view parameter. See NETDEV_PREVIEWINFO_S
cbPlayDataCallBack IN Stream data callback function
lpUserData IN User data

Callback Function
typedef void (STDCALL *NETDEV_SOURCE_DATA_CALLBACK_PF)
(
LPVOID lpPlayHandle,
const BYTE *pucBuffer,
INT32 dwBufSize,
INT32 dwMediaDataType,
LPVOID lpUserParam
);

Callback Function Parameters

106 / 767
Network Device SDK (Windows) User Manual
Parameter Type Description
lpPlayHandle IN Current live view handle
pucBuffer IN Buffer storing unassembled media stream data
dwBufSize IN Buffer size
dwMediaDataType IN Media data type. See NETDEV_MEDIA_DATA_FORMAT_E
lpUserParam IN User parameter, which is the lpUserData passed in when user calls
the NETDEV_RealPlay interface.

Return value:
Stream startup handle. 0 means failure, other values are stream startup handles. Call
NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Cannot execute in the cbPlayDataCallBack callback function. It may take a long time.
 The callback function in this interface can be null, and so this function will not call back
stream data for user. But user can still use the NETDEV_SetPlayParseCB and
NETDEV_SetPlayDecodeVideoCB interfaces to register the callback function to receive stream data.
See also:
NETDEV_SetPlayParseCB, NETDEV_SetPlayDecodeVideoCB, NETDEV_StopRealPlay, NETDEV_GetStreamUrl,
NETDEV_FastRealPlayByUrl

4.6.7 Snapshot in preview

Interface name:
BOOL STDCALL NETDEV_CapturePicture
(
LPVOID lpPlayHandle,
char *pszFileName,
INT32 dwCaptureMode
);

Interface description:
Start live view by URL

Parameters:
Parameter Type Description
lpPlayHandle IN Stream startup handle
pszFileName IN Path to the saved image file, including filename
dwCaptureMode IN Image format. See NETDEV_PICTURE_FORMAT_E

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:

107 / 767
Network Device SDK (Windows) User Manual
 Stream startup handles can be handles for live view and playback.
 The image file path must include the filename.
 The filename must not include the suffix of the snapshot format.
 The snapshot file path must be existing path.

See also:
NETDEV_CaptureNoPreview, NETDEV_CaptureNoPreviewV2

4.6.8 Snapshot without preview

Interface name:
BOOL STDCALL NETDEV_CaptureNoPreview
(
LPVOID lpUserID,
INT32 dwChannelID,
INT32 dwStreamType,
CHAR *pszFileName,
INT32 dwCaptureMode
);

Interface description:
Capture image without preview

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
dwChannelID IN Channel ID
dwStreamType IN Stream type. See NETDEV_LIVE_STREAM_INDEX_E
pszFileName IN Image file path, including the filename
dwCaptureMode IN Format of saved image. See NETDEV_PICTURE_FORMAT_E.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 The image file path must include the filename.
 The filename must not include the suffix of the snapshot format.
 Currently only JPG format is supported.
 The snapshot file path must already exist.

See also:
NETDEV_CapturePreview, NETDEV_CaptureNoPreviewV2

108 / 767
Network Device SDK (Windows) User Manual
4.6.9 Get image data without preview

Interface name:
BOOL STDCALL NETDEV_CaptureNoPreviewV2
(
LPVOID lpUserID,
INT32 dwChannelID,
INT32 dwStreamType,
INT32 dwCaptureMode,
INT32 dwPicBufferSize,
CHAR *pszPicBuffer,
INT32 *pdwPicRealSize
);

Interface description:
Start live view by URL

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
dwChannelID IN Channel ID
dwStreamType IN Stream type. See NETDEV_LIVE_STREAM_INDEX_E.
dwCaptureMode IN Format of saved image. See NETDEV_PICTURE_FORMAT_E
dwPicBufferSize IN Size of buffer for receiving image data.
pszPicBuffer OUT Buffer for receiving image data.
pdwPicRealSize OUT Actual size of image data

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Buffer for receiving image data. User allocates RAM size and assigns the buffer size to
dwPicBufferSize.
 Currently only JPG format is supported.

See also:
NETDEV_CapturePreview, NETDEV_CaptureNoPreview

4.6.10 Set recording file size

Interface name:
BOOL STDCALL NETDEV_SetRecordSize
(

109 / 767
Network Device SDK (Windows) User Manual
LPVOID lpPlayHandle,
UINT32 ulFileSize
);

Interface description:
Set recording file size

Parameters:
Parameter Type Description
lpPlayHandle IN Play handle
ulFileSize IN Recording file size (MB). Range: 10MB-1024MB

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:

4.7 Remote Playback

4.7.1 Search recording

Search recording file list

Interface name:
LPVOID STDCALL NETDEV_FindFile
(
LPVOID lpUserID,
LPNETDEV_FILECOND_S pstFindCond
);

Interface description:
Search recording files by file type and time

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstFindCond IN Recording search criteria

Return value:
Null means failure, other values are used as input parameters of NETDEV_FindNextFile and

110 / 767
Network Device SDK (Windows) User Manual
NETDEV_FindClose.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 This interface is used with the NETDEV_FindFile and NETDEV_FindClose interfaces.
 After calling this interface successfully, call the NETDEV_FindNextFile interface repeatedly to
get the next info.
 The NETDEV_FindClose interface must be called to release resource and stop searching after
recording file info is obtained.

See also:
NETDEV_FindNextFile, NETDEV_FindClose

Get file info one by one

Interface name:
BOOL STDCALL NETDEV_FindNextFile
(
LPVOID lpFindHandle,
LPNETDEV_FINDDATA_S pstFindData
);

Interface description:
Get recording file info one by one

Parameters:
Parameter Type Description
lpFindHandle IN File search handle, which is the return value from the
NETDEV_FindFile interface
pstFindData OUT Recording file info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 This interface is used with the NETDEV_FindFile and NETDEV_FindClose interfaces.
 Call this interface repeatedly to get the next info.
 The NETDEV_FindClose interface must be called to release resource and stop searching after
recording file info is obtained.

See also:
NETDEV_FindFile, NETDEV_FindClose

111 / 767
Network Device SDK (Windows) User Manual

Stop searching recording file

Interface name:
BOOL STDCALL NETDEV_FindClose
(
LPVOID lpFindHandle
);

Interface description:
Stop searching recording file, release resource

Parameters:
Parameter Type Description
lpFindHandle IN File search handle, which is the return value from the
NETDEV_FindFile interface

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 This interface is used with the NETDEV_FindFile and NETDEV_FindNextFile interfaces.
 The NETDEV_FindClose interface must be called to release resource and stop searching after
recording file info is obtained.

See also:
NETDEV_FindFile, NETDEV_FindNextFile

4.7.2 Get recording days

Interface name:
BOOL STDCALL NETDEV_GetVideoDayNums
(
LPVOID lpUserID,
INT32 dwChannelID,
UINT32 *dwDayNums
);

Interface description:
Search the number of recording days of a channel.

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the

112 / 767
Network Device SDK (Windows) User Manual
NETDEV_Login_V30 interface
dwChannelID IN Channel ID
dwDayNums OUT Number of recording days

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_QuickSearch, NETDEV_QuickSearchMultiChl

4.7.3 Search the recording distribution info of a specified month

Sing-channel search

Interface name:
BOOL STDCALL NETDEV_QuickSearch
(
LPVOID lpUserID,
INT32 dwChannelID,
LPNETDEV_MONTH_INFO_S pstMonthInfo,
LPNETDEV_MONTH_STATUS_S pstMonthStatus
);

Interface description:
Search the recording distribution info in a specified month

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
dwChannelID IN Channel ID
pstMonthInfo IN Month info
pstMonthStatus OUT Recording distribution status

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 This interface can only search recording distribution info of one channel.

See also:
NETDEV_GetVideoDayNums, NETDEV_QuickSearchMultiChl

113 / 767
Network Device SDK (Windows) User Manual

Multi-channel search

Interface name:
BOOL STDCALL NETDEV_QuickSearchMultiChl
(
LPVOID lpUserID,
LPNETDEV_CHANNELS_S pstChannels,
LPNETDEV_MONTH_INFO_S pstMonthInfo,
LPNETDEV_MONTH_STATUS_S pstMonthStatus
);

Interface description:
Search the recording distribution info of multiple channels in a specified month

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstChannels IN Channel list
pstMonthInfo IN Month info
pstMonthStatus OUT Recording distribution status

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_QuickSearch, NETDEV_GetVideoDayNums

4.7.4 Get playback URL

Interface name:
BOOL STDCALL NETDEV_GetReplayUrl_V30
(
LPVOID lpUserID,
LPNETDEV_PLAYBACKCOND_S pstPlayBackCond,
CHAR* pszUrl
);

Interface description:
Get playback URL

Parameters:
Parameter Type Description

114 / 767
Network Device SDK (Windows) User Manual
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstPlayBackCond IN Recording playback parameter
pszUrl OUT Stream URL. RAM size must be greater than or equal to 260.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_FastPlayBackByUrl

4.7.5 Play recording file by URL

Interface name:
LPVOID STDCALL NETDEV_FastPlayBackByUrl
(
LPVOID lpUserID,
CHAR *pszUrl,
LPNETDEV_PLAYBACKCOND_S pstPlayBackParam
);

Interface description:
Play recording file by URL

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pszUrl IN Stream URL
pstPlayBackParam IN Structure of recording playback parameters

Return value:
Stream startup handle. 0 means failure, other values are stream startup handles. Call
NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

See also:
NETDEV_GetReplayUrl_V30

4.7.6 Play recording file by filename

Interface name:
LPVOID STDCALL NETDEV_PlayBackByName
(
LPVOID lpUserID,

115 / 767
Network Device SDK (Windows) User Manual
LPNETDEV_PLAYBACKINFO_S pstPlayBackInfo
);

Interface description:
Play recording file by filename

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstPlayBackInfo IN Recording playback info

Return value:
Stream startup handle. 0 means failure, other values are stream startup handles. Call
NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

See also:
NETDEV_PlayBackByTime

4.7.7 Play recording file by time

Interface name:
LPVOID STDCALL NETDEV_PlayBackByTime
(
LPVOID lpUserID,
LPNETDEV_PLAYBACKCOND_S pstPlayBackInfo
);

Interface description:
Play recording file by time

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstPlayBackInfo IN Recording playback info

Return value:
Stream startup handle. 0 means failure, other values are stream startup handles. Call
NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

See also:
NETDEV_PlayBackByName

116 / 767
Network Device SDK (Windows) User Manual
4.7.8 Playback by frame

Interface name:
BOOL STDCALL NETDEV_SetOneFramePlayWithTime
(
LPVOID lpPlayHandle,
INT64 dwPlayTime
);

Interface description:
Playback by frame at a specified time

Parameters:
Parameter Type Description
lpPlayHandle IN Playback handle
dwPlayTime IN Specified time

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PlayBackByName, NETDEV_PlayBackByTime, NETDEV_FastPlayBackByUrl

4.7.9 Playback control

Interface name:
BOOL STDCALL NETDEV_PlayBackControl
(
LPVOID lpPlayHandle,
INT32 dwControlCode,
LPVOID lpBuffer
);

Interface description:
Control playback status

Parameters:
Parameter Type Description
lpPlayHandle IN Playback handle
dwControlCode IN Playback control command. See NETDEV_VOD_PLAY_CTRL_E
Input/output parameter of playback control. If it is playback
lpBuffer INOUT
speed, see NETDEV_VOD_PLAY_STATUS_E

Return value:

117 / 767
Network Device SDK (Windows) User Manual
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.
Remarks:
 When starting, pausing or resuming playback, set IpBuffer to NULL.

See also:
NETDEV_PlayBackByName, NETDEV_PlayBackByTime, NETDEV_FastPlayBackByUrl

4.7.10 Stop playback

Interface name:
BOOL STDCALL NETDEV_StopPlayBack
(
LPVOID lpPlayHandle
);

Interface description:
Stop playback

Parameters:
Parameter Type Description
lpPlayHandle IN Playback handle

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PlayBackByName, NETDEV_PlayBackByTime, NETDEV_FastPlayBackByUrl

4.7.11 Download recording file by filename

Interface name:
LPVOID STDCALL NETDEV_GetFileByName
(
LPVOID lpUserID,
LPNETDEV_PLAYBACKINFO_S pstPlayBackInfo,
CHAR *pszSaveFileName,
INT32 dwFormat
);

Interface description:
Download recording file by filename

Parameters:
Parameter Type Description
118 / 767
Network Device SDK (Windows) User Manual
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstPlayBackInfo IN Recording playback parameter
pszSaveFileName IN File path (absolute path, including filename)
dwFormat IN Recording file format. See NETDEV_MEDIA_FILE_FORMAT_E

Return value:
Stream startup handle. 0 means failure, other values are stream startup handles. Call
NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 The file path must be an absolute path and include the filename.
 The snapshot file path must already exist.

See also:
NETDEV_GetFileByTime, NETDEV_StopGetFile

4.7.12 Download recording file by time

Interface name:
LPVOID STDCALL NETDEV_GetFileByTime
(
LPVOID lpUserID,
LPNETDEV_PLAYBACKCOND_S pstPlayBackCond,
CHAR *pszSaveFileName,
INT32 dwFormat
);

Interface description:
Download recording file by time

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstPlayBackCond IN Recording playback parameter
pszSaveFileName IN File path (absolute path, including filename)
dwFormat IN Recording file format. See NETDEV_MEDIA_FILE_FORMAT_E

Return value:
Stream startup handle. 0 means failure, other values are stream startup handles. Call
NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 The file path must be an absolute path and include the filename.

119 / 767
Network Device SDK (Windows) User Manual
 The snapshot file path must already exist.

See also:
NETDEV_GetFileByName, NETDEV_StopGetFile

4.7.13 Stop downloading recording file

Interface name:
BOOL STDCALL NETDEV_StopGetFile
(
LPVOID lpPlayHandle
);

Interface description:
Stop downloading recording file

Parameters:
Parameter Type Description
lpPlayHandle IN Recording download handle

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_GetFileByName, NETDEV_GetFileByTime

4.7.14 Search recording start and end times

Interface name:
BOOL STDCALL NETDEV_QueryRecordRange
(
LPVOID lpUserID,
LPNETDEV_CHANNEL_LIST_S pstChlList,
LPNETDEV_RECORD_TIME_LIST_S pstRecordTimeList
);

Interface description:
Search recording start and end times

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstChlList IN Channel list

120 / 767
Network Device SDK (Windows) User Manual
pstRecordTimeList OUT Recording time list

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.8 Stream Data Callback

4.8.1 Register the callback function to receive raw streams

Interface name:
BOOL STDCALL NETDEV_SetPlayDataCallBack
(
LPVOID lpPlayHandle,
NETDEV_SOURCE_DATA_CALLBACK_PF cbPlayDataCallBack,
INT32 bContinue,
LPVOID lpUser
);

Interface description:
Register the callback function to receive raw streams

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle/playback handle
cbPlayDataCallBack IN Stream data callback function
bContinue IN Whether to continue the subsequent assembly, decode and display
operations
lpUser IN User data

Callback Function
typedef void (STDCALL *NETDEV_SOURCE_DATA_CALLBACK_PF)
(
LPVOID lpPlayHandle,
const BYTE *pucBuffer,
INT32 dwBufSize,
INT32 dwMediaDataType,
LPVOID lpUserParam
);

Callback Function Parameters


Parameter Type Description
lpPlayHandle IN Current live view handle/playback handle

121 / 767
Network Device SDK (Windows) User Manual
pucBuffer IN Buffer storing unassembled media stream data
dwBufSize IN Buffer size
dwMediaDataType IN Media data type. See NETDEV_MEDIA_DATA_FORMAT_E
lpUserParam IN User data. User parameter specified when calling the
NETDEV_SetPlayDataCallBack function.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 To close the callback function, set the second parameter to NULL.
 User shall process the output data in time to ensure that the function is returned soon enough;
otherwise, media stream processing within the player will be affected.

See also:
NETDEV_RealPlay, NETDEV_FastRealPlayByUrl

4.8.2 Register the callback function to receive decoded audio data

Interface name:
BOOL STDCALL NETDEV_SetPlayDecodeAudioCB
(
LPVOID lpPlayHandle,
NETDEV_DECODE_AUDIO_DATA_CALLBACK_PF cbPlayDecodeAudioCallBack,
INT32 bContinue,
LPVOID lpUserData
);

Interface description:
Register the callback function to receive the decoded audio stream data

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle/playback handle
cbPlayDecodeAudioCallBack IN Stream data callback function
bContinue IN Whether to continue the play operation
lpUserData IN User data

Callback Function
typedef void (STDCALL* NETDEV_DECODE_AUDIO_DATA_CALLBACK_PF)
(
LPVOID lpPlayHandle,
const NETDEV_WAVE_DATA_S *pstWaveData,
LPVOID lpUserParam

122 / 767
Network Device SDK (Windows) User Manual
);

Callback Function Parameters


Parameter Type Description
lpPlayHandle IN Current live view handle/playback handle
pstWaveData IN Buffer storing info about decoded audio stream data. See
NETDEV_WAVE_DATA_S.
lpUserParam IN User data. User parameter specified when calling
NETDEV_SetPlayDecodeAudioCB.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 To close the callback function, set the second parameter to NULL.
 User shall process the output data in time to ensure that the function is returned soon enough;
otherwise, media stream processing within the player will be affected.

See also:
NETDEV_RealPlay, NETDEV_FastRealPlayByUrl

4.8.3 Register the callback function to receive decoded video data

Interface name:
BOOL STDCALL NETDEV_SetPlayDecodeVideoCB
(
LPVOID lpPlayHandle,
NETDEV_DECODE_VIDEO_DATA_CALLBACK_PF cbPlayDecodeVideoCALLBACK,
INT32 bContinue,
LPVOID lpUserData
);

Interface description:
Register the callback function to receive decoded video stream data.

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle/playback handle
cbPlayDecodeVideoCALLBACK IN Stream data callback function
bContinue IN Whether to continue the subsequent display operation
lpUserData IN User data

Callback Function
typedef void (STDCALL* NETDEV_DECODE_VIDEO_DATA_CALLBACK_PF)

123 / 767
Network Device SDK (Windows) User Manual
(
LPVOID lpPlayHandle,
const NETDEV_PICTURE_DATA_S *pstPictureData,
LPVOID lpUserParam
);

Callback Function Parameters


Parameter Type Description
lpPlayHandle IN Current live view handle/playback handle
Buffer storing info about decoded video stream data. See
pstPictureData IN
NETDEV_PICTURE_DATA_S
lpUserParam IN User data. User parameter specified when calling
NETDEV_SetPlayDecodeVideoCB.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 To close the callback function, set the second parameter to NULL.
 User shall process the output data in time to ensure that the function is returned soon enough;
otherwise, media stream processing within the player will be affected.

See also:
NETDEV_RealPlay, NETDEV_FastRealPlayByUrl

4.8.4 Register callback function to receive assembled audio data

Interface name:
BOOL STDCALL NETDEV_SetPlayParseAudioCB
(
LPVOID lpPlayHandle,
NETDEV_PARSE_AUDIO_DATA_CALLBACK_PF cbPlayParseAudioCallBack,
INT32 bContinue,
LPVOID lpUserData
);

Interface description:
Register the callback function to receive assembled audio stream data

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle/playback handle
cbPlayParseAudioCallBack IN Stream data callback function
bContinue IN Whether to continue the play operation

124 / 767
Network Device SDK (Windows) User Manual
lpUserData IN User data

Callback Function
typedef void (STDCALL* NETDEV_PARSE_AUDIO_DATA_CALLBACK_PF)
(
LPVOID lpPlayHandle,
const NETDEV_PARSE_AUDIO_DATA_S *pstParseAudioData,
LPVOID lpUserParam
);

Callback Function Parameters


Parameter Type Description
lpPlayHandle IN Current live view handle/playback handle
Buffer storing info about assembled audio stream data. See
pstParseAudioData IN
NETDEV_PARSE_AUDIO_DATA_S
lpUserParam IN User data. User parameter specified when calling
NETDEV_SetPlayParseAudioCB.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 To close the callback function, set the second parameter to NULL.
 User shall process the output data in time to ensure that the function is returned soon enough;
otherwise, media stream processing within the player will be affected.

See also:
NETDEV_RealPlay, NETDEV_FastRealPlayByUrl

4.8.5 Register callback function to receive assembled video data

Interface name:
BOOL STDCALL NETDEV_SetPlayParseCB
(
LPVOID lpPlayHandle,
NETDEV_PARSE_VIDEO_DATA_CALLBACK_PF cbParsePlayDataCallBack,
INT32 bContinue,
LPVOID lpUserData
);

Interface description:
Register the callback function to receive assembled video stream data

Parameters:

125 / 767
Network Device SDK (Windows) User Manual
Parameter Type Description
lpPlayHandle IN Live view handle/playback handle
cbParsePlayDataCallBack IN Stream data callback function
bContinue IN Whether to continue the subsequent decode and display
operations
lpUserData IN User data

Callback Function
typedef void (STDCALL *NETDEV_PARSE_VIDEO_DATA_CALLBACK_PF)
(
LPVOID lpPlayHandle,
const NETDEV_PARSE_VIDEO_DATA_S *pstParseVideoData,
LPVOID lpUserParam
);

Callback Function Parameters


Parameter Type Description
lpPlayHandle IN Current live view handle/playback handle
Buffer storing info about the assembled video stream data. See
pstParseVideoData IN
NETDEV_PARSE_VIDEO_DATA_S
lpUserParam IN User data. User parameter specified when calling
NETDEV_SetPlayParseCB.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 To close the callback function, set the second parameter to NULL.
 User shall process the output data in time to ensure that the function is returned soon enough;
otherwise, media stream processing within the player will be affected.

See also:
NETDEV_RealPlay, NETDEV_FastRealPlayByUrl

4.8.6 Register image callback

Interface name:
BOOL STDCALL NETDEV_SetPlayDisplayCB
(
LPVOID lpPlayHandle,
NETDEV_DISPLAY_CALLBACK_PF cbPlayDisplayCallBack,
LPVOID lpUserData
);

126 / 767
Network Device SDK (Windows) User Manual
Interface description:
Register the callback function to receive the displayed data

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle/playback handle
cbPlayDisplayCallBack IN Stream data callback function
lpUserData IN User data

Callback Function
typedef void (STDCALL* NETDEV_DISPLAY_CALLBACK_PF)
(
LPVOID lpHandle,
LPVOID hdc,
LPVOID lpUserParam
);

Callback Function Parameters


Parameter Type Description
lpHandle IN Live view handle/playback handle
hdc IN HDC, which user can use to do drawing.
lpUserParam IN User parameter specified when calling the NETDEV_ SetPlayDisplayCB
function.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 To close the callback function, set the second parameter to NULL.
 User shall process the output data in time to ensure that the function is returned soon enough;
otherwise, media stream processing within the player will be affected.

See also:
NETDEV_RealPlay, NETDEV_FastRealPlayByUrl

4.9 Video Parameter Configuration

4.9.1 Get packet loss rate of window

Interface name:
BOOL STDCALL NETDEV_GetLostPacketRate
(
LPVOID lpPlayHandle,

127 / 767
Network Device SDK (Windows) User Manual
INT32 *pulRecvPktNum,
INT32 *pulLostPktNum
);

Interface description:
Get packet loss rate of window

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle/playback handle
pulRecvPktNum OUT Number of packets received
pulLostPktNum OUT Number of packets lost

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 The packet loss rate (number of packets lost/number of packets received) needs to be calculated
by user.

See also:
NETDEV_ResetLostPacketRate

4.9.2 Reset packet loss rate of window

Interface name:
BOOL STDCALL NETDEV_ResetLostPacketRate
(
LPVOID lpPlayHandle
);

Interface description:
Reset packet loss rate of window

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle/playback handle

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_GetLostPacketRate

128 / 767
Network Device SDK (Windows) User Manual
4.9.3 Get bit rate of window

Interface name:
BOOL STDCALL NETDEV_GetBitRate
(
LPVOID lpPlayHandle,
INT32 *pdwBitRate
);

Interface description:
Get bit rate of window

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle/playback handle
pdwBitRate OUT Current bit rate of the window

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.9.4 Get frame rate of window

Interface name:
BOOL STDCALL NETDEV_GetFrameRate
(
LPVOID lpPlayHandle,
INT32 *pdwFrameRate
);

Interface description:
Get frame rate of window

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle/playback handle
pdwFrameRate OUT Current frame rate of the window

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.9.5 Get window resolution

Interface name:
BOOL STDCALL NETDEV_GetResolution
129 / 767
Network Device SDK (Windows) User Manual
(
LPVOID lpPlayHandle,
INT32 *pdwWidth,
INT32 *pdwHeight
);

Interface description:
Get video resolution of the window

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle/playback handle
pdwWidth OUT Obtained resolution - width
pdwHeight OUT Obtained resolution - height

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.9.6 Get image parameters

Interface name:
BOOL STDCALL NETDEV_GetVideoEffect
(
LPVOID lpPlayHandle,
LPNETDEV_VIDEO_EFFECT_S pstImageInfo
);

Interface description:
Get current image parameters

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle/playback handle
pstImageInfo OUT Image parameter. See NETDEV_VIDEO_EFFECT_S

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Get current image parameters only

4.9.7 Adjust image parameters

Interface name:
130 / 767
Network Device SDK (Windows) User Manual
BOOL STDCALL NETDEV_SetVideoEffect
(
LPVOID lpPlayHandle,
LPNETDEV_VIDEO_EFFECT_S pstImageInfo
);

Interface description:
Adjust current image parameters

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle/playback handle
pstImageInfo IN Image parameters. See NETDEV_VIDEO_EFFECT_S

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Adjust image parameters (current image only)

4.9.8 Get encoding format of window

Interface name:
BOOL STDCALL NETDEV_GetVideoEncodeFmt
(
LPVOID lpPlayHandle,
INT32 *pdwVideoEncFmt
);

Interface description:
Get encoding format of current window

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle/playback handle
pdwVideoEncFmt OUT Video encoding format. See NETDEV_VIDEO_CODE_TYPE_E

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.9.9 Generate a keyframe dynamically

Interface name:

131 / 767
Network Device SDK (Windows) User Manual
BOOL STDCALL NETDEV_MakeKeyFrame
(
LPVOID lpUserID,
INT32 dwChannelID,
INT32 dwStreamType
);

Interface description:
Generate a keyframe dynamically, that is, forced I frame.

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
dwChannelID IN Channel ID
dwStreamType IN Stream type. See NETDEV_LIVE_STREAM_INDEX_E.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.9.10 Set digital zoom

Interface name:
BOOL STDCALL NETDEV_SetDigitalZoom
(
LPVOID lpPlayHandle,
LPVOID hWnd,
LPNETDEV_RECT_S pstRect
);

Interface description:
Set digital zoom

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle/playback handle
hWnd IN Window handle
pstRect IN Rectangle area of digital zoom

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:

132 / 767
Network Device SDK (Windows) User Manual
 When pstRect is null, the whole image will be displayed (exit digital zoom)

4.9.11 Enable/disable metadata processing

Interface name:
BOOL STDCALL NETDEV_SetIVAEnable
(
LPVOID lpPlayHandle,
BOOL bEnableIVA
);

Interface description:
Enable/disable metadata processing

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle
bEnableIVA IN Whether to add metadata

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_SetIVAShowParam

4.9.12 Set metadata processing parameter

Interface name:
BOOL STDCALL NETDEV_SetIVAShowParam
(
INT32 dwShowParam
);

Interface description:
Set metadata display types

Parameters:
Parameter Type Description
dwShowParam IN Metadata display type. See NETDEV_IVA_SHOW_RULE_E

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
133 / 767
Network Device SDK (Windows) User Manual
NETDEV_SetIVAEnable

4.9.13 Set video fluency

Interface name:
BOOL STDCALL NETDEV_SetPictureFluency
(
LPVOID lpPlayHandle,
INT32 dwFluency
);

Interface description:
Set video fluency

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle/playback handle
dwFluency IN Fluency priority type. See NETDEV_PICTURE_FLUENCY_E.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.9.14 Set image display scale

Interface name:
BOOL STDCALL NETDEV_SetRenderScale
(
LPVOID lpPlayHandle,
NETDEV_RENDER_SCALE_E enRenderScalesss
);

Interface description:
Set image display scale

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle/playback handle
enRenderScale IN Image display scale

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

134 / 767
Network Device SDK (Windows) User Manual

4.10 Audio Function

4.10.1 Start two-way audio

Interface name:
LPVOID STDCALL NETDEV_StartVoiceCom
(
LPVOID lpUserID,
INT32 dwChannelID,
NETDEV_DECODE_AUDIO_DATA_CALLBACK_PF cbPlayDataCallBack,
LPVOID lpUserData
);

Interface description:
Start two-way audio

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
dwChannelID IN Channel ID
cbPlayDataCallBack IN Callback function for receiving decoded audio stream data
lpUserData IN User data

Callback Function
typedef void (STDCALL* NETDEV_DECODE_AUDIO_DATA_CALLBACK_PF)
(
LPVOID lpPlayHandle,
const NETDEV_WAVE_DATA_S *pstWaveData,
LPVOID lpUserParam
);

Callback Function Parameters


Parameter Type Description
lpPlayHandle IN Handle returned by the two-way audio interface
pstWaveData IN Info about parsed audio stream data. See NETDEV_WAVE_DATA_S
lpUserParam IN User parameter, which is the lpUserData passed in when user calls
the NETDEV_StartVoiceCom interface.

Return value:
0 means failure, other values are used as handle of functions such as NETDEV_StopVoiceCom. Call
NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:

135 / 767
Network Device SDK (Windows) User Manual
 Implementation of cbPlayDataCallBack should not take too long.
 The callback function and user parameters in this function can be null.
 For the device itself, the channel ID is 0. For channels under the device, the channel IDs are
queried by the SDK interface.

See also:
NETDEV_StopVoiceCom

4.10.2 Stop two-way audio

Interface name:
BOOL STDCALL NETDEV_StopVoiceCom (LPVOID lpPlayHandle);

Interface description:
Stop two-way audio

Parameters:
Parameter Type Description
lpPlayHandle IN Two-way audio handle, which is the return value from the
NETDEV_StartVoiceCom interface

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_StartVoiceCom

4.10.3 Enable audio data forwarding

Interface name:
LPVOID STDCALL NETDEV_StartInputVoiceSrv
(
LPVOID lpUserID,
INT32 dwChannelID
);

Interface description:
Enable audio data forwarding

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
dwChannelID IN Channel ID

136 / 767
Network Device SDK (Windows) User Manual
Return value:
0 means failure, other values are used as handle of functions such as NETDEV_StopInputVoiceSrv. Call
NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 For the device itself, the channel ID is 0. For channels under the device, the channel IDs are
queried by the SDK interface.

See also:
NETDEV_InputVoiceData, NETDEV_SetPlayDecodeAudioCB, NETDEV_StopInputVoiceSrv

4.10.4 Audio data forwarding

Interface name:
BOOL STDCALL NETDEV_InputVoiceData
(
LPVOID lpVoiceComHandle,
LPVOID lpDataBuf,
INT32 dwDataLen,
LPNETDEV_AUDIO_SAMPLE_PARAM_S pstVoiceParam
);

Interface description:
Enable audio data forwarding

Parameters:
Parameter Type Description
lpVoiceComHandle IN User login handle, which is the return value from the
NETDEV_StartInputVoiceSrv interface
lpDataBuf IN PCM audio data
dwDataLen IN Length of audio data
pstVoiceParam IN Audio parameter

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_StartInputVoiceSrv, NETDEV_SetPlayDecodeAudioCB, NETDEV_StopInputVoiceSrv

4.10.5 Stop audio data forwarding

Interface name:
BOOL STDCALL NETDEV_StopInputVoiceSrv (LPVOID lpVoiceComHandle);

Interface description:
137 / 767
Network Device SDK (Windows) User Manual
Stop two-way audio

Parameters:
Parameter Type Description
lpVoiceComHandle IN Turn on audio data forwarding handle, which is the return value
from NETDEV_StartInputVoiceSrv.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_StopInputVoiceSrv

4.10.6 Start audio broadcast

Interface name:
LPVOID STDCALL NETDEV_StartVoiceBroadcast
(
LPVOID lpUserID,
INT32 dwChannelID
);

Interface description:
Start audio broadcast

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
dwChannelID IN Channel ID

Return value:
0 means failure, other values are used as handle of functions such as NETDEV_StopVoiceBroadcast. Call
NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 For the device itself, the channel ID is 0. For channels under the device, the channel IDs are
queried by the SDK interface.

See also:
NETDEV_StopVoiceBroadcast

4.10.7 Stop audio broadcast

Interface name:
138 / 767
Network Device SDK (Windows) User Manual
BOOL STDCALL NETDEV_StopVoiceBroadcast (LPVOID lpPlayHandle);

Interface description:
Stop audio broadcast

Parameters:
Parameter Type Description
Audio broadcast handle,
lpPlayHandle IN which is the return value from the NETDEV_StartVoiceBroadcast and
NETDEV_CreateVoiceBroadcastGroup interfaces.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_StartVoiceBroadcast, NETDEV_CreateVoiceBroadcastGroup

4.10.8 Enable audio broadcast group

Interface name:
LPVOID STDCALL NETDEV_CreateVoiceBroadcastGroup
(
LPVOID lpUserID,
LPNETDEV_OPERATE_LIST_S pstChnList
);

Interface description:
Enable audio broadcast group

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstChnList IN Channel list

Return value:
0 means failure, other values are used as handle of functions such as NETDEV_StopVoiceBroadcast. Call
NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Supported by VMS only.

See also:
NETDEV_ModifyVoiceBroadcastGroup

139 / 767
Network Device SDK (Windows) User Manual
4.10.9 Modify audio broadcast group

Interface name:
BOOL STDCALL NETDEV_ModifyVoiceBroadcastGroup
(
LPVOID lpPlayHandle,
LPNETDEV_MODIFY_VOICE_BROADCAST_INFO_S pstModifyInfo
);

Interface description:
Modify audio broadcast group

Parameters:
Parameter Type Description
lpPlayHandle IN Audio broadcast group handle, which is the return value from the
NETDEV_CreateVoiceBroadcastGroup interface
pstModifyInfo IN Modify audio broadcast group info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Supported by VMS only.

See also:
NETDEV_CreateVoiceBroadcastGroup

4.10.10 Get channel status in audio broadcast group

Interface name:
BOOL STDCALL NETDEV_GetVoiceBroadcastChlStatus
(
LPVOID lpPlayHandle,
LPNETDEV_VOICE_BROADCAST_GROUP_INFO_S pstGroupInfo
);

Interface description:
Get channel status in audio broadcast group

Parameters:
Parameter Type Description
lpPlayHandle IN Audio broadcast group handle, which is the return value from the
NETDEV_CreateVoiceBroadcastGroup interface
pstGroupInfo OUT Audio broadcast group info

140 / 767
Network Device SDK (Windows) User Manual

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Supported by VMS only.

See also:
NETDEV_CreateVoiceBroadcastGroup

4.10.11 Modify channel status in audio broadcast group

Interface name:
BOOL STDCALL NETDEV_ModifyVoiceBroadcastStatus
(
LPVOID lpPlayHandle,
LPNETDEV_VOICE_BROADCAST_CTRL_INFO_S pstCtrlInfo
);

Interface description:
Modify channel status in audio broadcast group

Parameters:
Parameter Type Description
lpPlayHandle IN Audio broadcast group handle, which is the return value from the
NETDEV_CreateVoiceBroadcastGroup interface
pstCtrlInfo IN Audio broadcast group control info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Supported by VMS only.

See also:
NETDEV_CreateVoiceBroadcastGroup

4.10.12 Turn on speaker sound

Interface name:
BOOL STDCALL NETDEV_OpenSound(IN LPVOID lpPlayHandle);

Interface description:
Turn on speaker sound
141 / 767
Network Device SDK (Windows) User Manual

Parameters:
Parameter Type Description
lpPlayHandle IN Stream startup handle

Remarks:
 Stream startup handle, which can be the return value from the NETDEV_RealPlay,
NETDEV_StartVoiceCom interfaces.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_SoundVolumeControl, NETDEV_GetSoundVolume, NETDEV_CloseSound

4.10.13 Get speaker volume

Interface name:
BOOL STDCALL NETDEV_GetSoundVolume
(
LPVOID lpPlayHandle,
INT32* pdwVolume
);

Interface description:
Get speaker volume

Parameters:
Parameter Type Description
lpPlayHandle IN Stream startup handle
pdwVolume OUT Sound volume.

Remarks:
 Stream startup handle, which can be the return value from the NETDEV_RealPlay,
NETDEV_StartVoiceCom interfaces.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_OpenSound, NETDEV_SoundVolumeControl, NETDEV_CloseSound

142 / 767
Network Device SDK (Windows) User Manual
4.10.14 Set speaker volume

Interface name:
BOOL STDCALL NETDEV_SoundVolumeControl
(
LPVOID lpPlayHandle,
INT32 dwVolume
);

Interface description:
Set speaker volume

Parameters:
Parameter Type Description
lpPlayHandle IN Stream startup handle
dwVolume IN Sound volume. Range: [0-255]

Remarks:
 Stream startup handle, which can be the return value from the NETDEV_RealPlay,
NETDEV_StartVoiceCom interfaces.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_OpenSound, NETDEV_GetSoundVolume, NETDEV_CloseSound

4.10.15 Turn off speaker sound

Interface name:
BOOL STDCALL NETDEV_CloseSound(LPVOID lpPlayHandle)

Interface description:
Turn off speaker sound

Parameters:
Parameter Type Description
lpPlayHandle IN Stream startup handle

Remarks:
 Stream startup handle, which can be the return value from the NETDEV_RealPlay,
NETDEV_StartVoiceCom interfaces.

Return value:

143 / 767
Network Device SDK (Windows) User Manual
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_OpenSound, NETDEV_SoundVolumeControl, NETDEV_GetSoundVolume

4.10.16 Set mute status

Interface name:
BOOL STDCALL NETDEV_SetMuteStatus
(
LPVOID lpPlayHandle,
BOOL bMute
);

Interface description:
Set mute status

Parameters:
Parameter Type Description
lpPlayHandle IN Stream startup handle
bMute IN Mute status. 0: Disable mute 1: Enable mute

Remarks:
 Stream startup handle, which can be the return value from the NETDEV_RealPlay,
NETDEV_StartVoiceCom interfaces.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_GetMuteStatus

4.10.17 Get mute status

Interface name:
BOOL STDCALL NETDEV_GetMuteStatus
(
LPVOID lpPlayHandle,
BOOL* pbMute
);

Interface description:
Get mute status

144 / 767
Network Device SDK (Windows) User Manual
Parameters:
Parameter Type Description
lpPlayHandle IN Stream startup handle
pbMute OUT Mute status. 0: Disable mute 1: Enable mute

Remarks:
 Stream startup handle, which can be the return value from the NETDEV_RealPlay,
NETDEV_StartVoiceCom interfaces.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_SetMuteStatus

4.10.18 Turn on microphone

Interface name:
BOOL STDCALL NETDEV_OpenMic (LPVOID lpPlayHandle);

Interface description:
Turn on microphone

Parameters:
Parameter Type Description
lpPlayHandle IN Stream startup handle

Remarks:
 Stream startup handle, which can be the return value from the NETDEV_StartVoiceCom,
NETDEV_CreateVoiceBroadcastGroup interfaces.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_MicVolumeControl, NETDEV_GetMicVolume, NETDEV_CloseMic

4.10.19 Get microphone volume

Interface name:
BOOL STDCALL NETDEV_GetMicVolume
(
LPVOID lpPlayHandle,
INT32* pdwVolume
145 / 767
Network Device SDK (Windows) User Manual
);

Interface description:
Get microphone volume

Parameters:
Parameter Type Description
lpPlayHandle IN Stream startup handle
pdwVolume OUT Sound volume. Range: [0-255]

Remarks:
 Stream startup handle, which can be the return value from the NETDEV_StartVoiceCom,
NETDEV_CreateVoiceBroadcastGroup interfaces.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_OpenMic, NETDEV_MicVolumeControl, NETDEV_CloseMic

4.10.20 Set microphone volume

Interface name:
BOOL STDCALL NETDEV_MicVolumeControl
(
LPVOID lpPlayHandle,
INT32 dwVolume
);

Interface description:
Set microphone volume

Parameters:
Parameter Type Description
lpPlayHandle IN Stream startup handle
dwVolume OUT Sound volume. Range: [0-255]

Remarks:
 Stream startup handle, which can be the return value from the NETDEV_StartVoiceCom,
NETDEV_CreateVoiceBroadcastGroup interfaces.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

146 / 767
Network Device SDK (Windows) User Manual

See also:
NETDEV_OpenMic, NETDEV_GetMicVolume, NETDEV_CloseMic

4.10.21 Turn off microphone

Interface name:
BOOL STDCALL NETDEV_CloseMic (IN LPVOID lpPlayHandle);

Interface description:
Turn off microphone

Parameters:
Parameter Type Description
lpPlayHandle IN Stream startup handle

Remarks:
 Stream startup handle, which can be the return value from the NETDEV_StartVoiceCom,
NETDEV_CreateVoiceBroadcastGroup interfaces.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_OpenMic, NETDEV_MicVolumeControl, NETDEV_GetMicVolume

4.11 Play Local Video

4.11.1 Open local file

Interface name:
LPVOID STDCALL NETDEV_OpenMediaFile(CHAR *pszFilename);

Interface description:
Open local file

Parameters:
Parameter Type Description
pszFilename IN Filename, including the absolute path. The recommended length is no
more than 256 bytes.

Return value:
0 means failure, other values are used as handle of functions such as NETDEV_StartPlayMediaFile. Call
147 / 767
Network Device SDK (Windows) User Manual
NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

See also:
NETDEV_StartPlayMediaFile, NETDEV_GetMediaFileTime, NETDEV_StopPlayMediaFile

4.11.2 Start to play local file

Interface name:
BOOL STDCALL NETDEV_StartPlayMediaFile
(
LPVOID lpPlayHandle,
LPVOID lpPlayWnd
);

Interface description:
Start to play local file

Parameters:
Parameter Type Description
lpPlayHandle IN File handle, which is the return value from the NETDEV_OpenMediaFile
interface
lpPlayWnd IN Window handle

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Call NETDEV_PlayBackControl for playback control.

See also:
NETDEV_OpenMediaFile, NETDEV_GetMediaFileTime, NETDEV_StopPlayMediaFile

4.11.3 Stop playing local file

Interface name:
BOOL STDCALL NETDEV_StopPlayMediaFile(LPVOID lpPlayHandle);

Interface description:
Stop playing local file

Parameters:
Parameter Type Description
lpPlayHandle IN File handle, which is the return value from the NETDEV_OpenMediaFile
interface

148 / 767
Network Device SDK (Windows) User Manual
Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_OpenMediaFile, NETDEV_StartPlayMediaFile, NETDEV_GetMediaFileTime

4.11.4 Get total duration of local file

Interface name:
BOOL STDCALL NETDEV_GetMediaFileTime
(
LPVOID lpPlayHandle,
INT32* pdwTotalTime
);

Interface description:
Stop playing local file

Parameters:
Parameter Type Description
lpPlayHandle IN File handle, which is the return value from the NETDEV_OpenMediaFile
interface
pdwTotalTime OUT Total duration of local file (s)

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_OpenMediaFile, NETDEV_StartPlayMediaFile, NETDEV_StopPlayMediaFile

4.12 Fisheye Dewarping

4.12.1 Determine fisheye stream

Interface name:
BOOL STDCALL NETDEV_IsFishEyeStream
(
LPVOID lpPlayHandle,
BOOL *pbFishEyeStream
)

Interface description:
Determine whether is a fisheye stream
149 / 767
Network Device SDK (Windows) User Manual

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle, return value from the NETDEV_RealPlay
interface
pbFishEyeStream OUT Whether is a fisheye stream

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.12.2 Set 5ePTZ display mode

Interface name:
BOOL STDCALL NETDEV_SetPtzDisplayMode
(
LPVOID lpPlayHandle,
UINT32 udwPtzMode
);

Interface description:
Set 5ePTZ display mode

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle, return value from the NETDEV_RealPlay
interface
udwPtzMode IN 5ePTZ display mode. See NETDEV_PTZ_DISPLAY_MODE

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.12.3 Mouse movement mode

Interface name:
BOOL STDCALL NETDEV_SetMouseMoveMode
(
LPVOID lpPlayHandle,
INT32 dwOperateMode,
UINT32 udwFlag,
INT16 wDelta,
LPNETDEV_POINT_S pstPoint
);

Interface description:
150 / 767
Network Device SDK (Windows) User Manual
Mouse movement mode

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle, return value from the NETDEV_RealPlay
interface
dwOperateMode IN Mouse operation mode. See NETDEV_MOUSE_MOVE_MODE_E
udwFlag IN Reserved
wDelta IN Mouse wheel offset (optional)
pstPoint IN Movement coordinates

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.12.4 Get fisheye dewarping parameters

Interface name:
BOOL STDCALL NETDEV_GetFishEyeParam
(
LPVOID lpPlayHandle,
LPNETDEV_POINT_S pstCenterPoint,
UINT32 *pudwRadius,
LPVOID lpParm
);

Interface description:
Get fisheye dewarping parameters

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle, return value from the NETDEV_RealPlay
interface
pstCenterPoint OUT Center point of circular fisheye image
pudwRadius OUT Radius of circular fisheye image
lpParm OUT Reserved fisheye lens parameter

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.12.5 Set mode and mount position

Interface name:
BOOL STDCALL NETDEV_SetPtzAndFixMode

151 / 767
Network Device SDK (Windows) User Manual
(
LPVOID lpPlayHandle,
INT32 dwPtzMode,
INT32 dwInstallMode
)

Interface description:
Set mode and mount position

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle, return value from the NETDEV_RealPlay
interface
dwPtzMode IN Fisheye PTZ mode. See NETDEV_FISHEYE_PTZ_MODE_E
dwInstallMode IN Installation position. See NETDEV_INSTALL_MODE_E

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_GetPtzAndFixMode

4.12.6 Get mode and mount position

Interface name:
BOOL STDCALL NETDEV_GetPtzAndFixMode
(
LPVOID lpPlayHandle,
INT32 dwPtzMode,
INT32 dwInstallMode
)

Interface description:
Mouse movement mode

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle, return value from the NETDEV_RealPlay
interface
dwPtzMode OUT Fisheye PTZ mode. See NETDEV_FISHEYE_PTZ_MODE_E
dwInstallMode OUT Installation position. See NETDEV_INSTALL_MODE_E

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use

152 / 767
Network Device SDK (Windows) User Manual
the error code to determine the cause of error.

See also:
NETDEV_SetPtzAndFixMode

4.13 Manual Recording

4.13.1 Get manual recording status

Interface name:
BOOL STDCALL NETDEV_GetManualRecordStatus
(
LPVOID lpUserID,
LPNETDEV_MANUAL_RECORD_CFG_S pstManualRecordCfg,
UINT32 *pudwRecodeStatus
);

Interface description:
Get manual recording status

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstManualRecordCfg IN Manual recording parameter info
pudwRecodeStatus OUT Manual recording status. See NETDEV_MANUAL_RECORD_STATUS_E

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.13.2 Start manual recording

BOOL STDCALL NETDEV_StartManualRecord


(
LPVOID lpUserID,
LPNETDEV_MANUAL_RECORD_CFG_S pstManualRecordCfg
);

Interface description:
Start manual recording

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
153 / 767
Network Device SDK (Windows) User Manual
NETDEV_Login_V30 interface
pstManualRecordCfg IN Manual recording parameter info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_StopManualRecord

4.13.3 Stop manual recording

BOOL STDCALL NETDEV_StopManualRecord


(
LPVOID lpUserID,
LPNETDEV_MANUAL_RECORD_CFG_S pstManualRecordCfg
);

Interface description:
Stop manual recording

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstManualRecordCfg IN Manual recording parameter info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_StartManualRecord

4.14 PTZ Control

4.14.1 3D positioning

Interface name:
BOOL STDCALL NETDEV_PTZ3DPosition
(
LPVOID lpPlayHandle,
LPNETDEV_PTZ_ZOOM_AREA_INFO_S pstZoomAreaInfo
154 / 767
Network Device SDK (Windows) User Manual
);

Interface description:
3D positioning (preview needed)

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle
pstZoomAreaInfo IN Structure of drag-to-zoom

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PTZ3DPosition_Other

4.14.2 3D positioning without preview

Interface name:
BOOL STDCALL NETDEV_PTZ3DPosition_Other
(
LPVOID
lpUserID,
INT32
dwChannelID,
LPNETDEV_PTZ_ZOOM_AREA_INFO_S pstZoomAreaInfo
);

Interface description:
3D positioning (preview not needed)

Parameters:
Parameter Type Description
lpUserID IN User login ID
dwChannelID IN Channel ID
pstZoomAreaInfo IN Structure of drag-to-zoom

Remarks:
 No need to start live preview

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

155 / 767
Network Device SDK (Windows) User Manual
See also:
NETDEV_PTZ3DPosition

4.14.3 Drag to zoom in

Interface name:
BOOL STDCALL NETDEV_PTZAreaZoomIn
(
LPVOID lpPlayHandle,
LPNETDEV_PTZ_ZOOM_AREA_INFO_S pstZoomAreaInfo
);

Interface description:
Drag to zoom in (preview needed)

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle
pstZoomAreaInfo IN Structure of drag-to-zoom

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PTZAreaZoomIn_Other

4.14.4 Drag to zoom in without preview

Interface name:
BOOL STDCALL NETDEV_PTZAreaZoomIn_Other
(
LPVOID lpUserID,
INT32 dwChannelID,
LPNETDEV_PTZ_ZOOM_AREA_INFO_S pstZoomAreaInfo
);

Interface description:
Drag to zoom in (preview not needed)

Parameters:
Parameter Type Description
lpUserID IN User login ID
dwChannelID IN Channel ID
pstZoomAreaInfo IN Structure of drag-to-zoom

156 / 767
Network Device SDK (Windows) User Manual
Remarks:
 No need to start live preview

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PTZAreaZoomIn

4.14.5 Drag to zoom out

Interface name:
BOOL STDCALL NETDEV_PTZAreaZoomOut
(
LPVOID lpPlayHandle,
LPNETDEV_PTZ_ZOOM_AREA_INFO_S pstZoomAreaInfo
);

Interface description:
Drag to zoom out (preview not needed)

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle
pstZoomAreaInfo IN Structure of drag-to-zoom

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PTZAreaZoomOut_Other

4.14.6 Drag to zoom out without preview

Interface name:
BOOL STDCALL NETDEV_PTZAreaZoomOut_Other
(
LPVOID lpUserID,
INT32 dwChannelID,
LPNETDEV_PTZ_ZOOM_AREA_INFO_S pstZoomAreaInfo
);

Interface description:
Drag to zoom out (preview not needed)
157 / 767
Network Device SDK (Windows) User Manual

Parameters:
Parameter Type Description
lpUserID IN User login ID
dwChannelID IN Channel ID
pstZoomAreaInfo IN Structure of drag-to-zoom

Remarks:
 No need to start live preview

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PTZAreaZoomOut

4.14.7 Drag to zoom in/out

Interface name:
BOOL STDCALL NETDEV_PTZSelZoomIn
(
LPVOID lpPlayHandle,
LPNETDEV_PTZ_OPERATEAREA_S pstPtzOperateArea
);

Interface description:
Drag to zoom in/out (preview needed)

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle
pstPtzOperateArea IN Info about structure of drag-to-zoom

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PTZSelZoomIn_Other

4.14.8 Drag to zoom in/out without preview

Interface name:
BOOL STDCALL NETDEV_PTZSelZoomIn_Other

158 / 767
Network Device SDK (Windows) User Manual
(
LPVOID lpUserID,
INT32 dwChannelID,
LPNETDEV_PTZ_OPERATEAREA_S pstPtzOperateArea
);

Interface description:
Drag to zoom in/out (preview not needed)

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwChannelID IN Channel ID
pstPtzOperateArea IN Image area info Pay attention to the parameter value range

Remarks:
 No need to start live preview

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PTZSelZoomIn

4.14.9 PTZ control operations

Interface name:
BOOL STDCALL NETDEV_PTZControl
(
LPVOID lpPlayHandle,
INT32 dwPTZCommand,
INT32 dwSpeed
);

Interface description:
PTZ control operation (need to start live preview)

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle
dwPTZCommand IN PTZ control command. See NETDEV_PTZ_E
dwSpeed IN PTZ control speed. Range: [1, 9]

Return value:

159 / 767
Network Device SDK (Windows) User Manual
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PTZControl_Other

4.14.10 PTZ control operation without preview

Interface name:
BOOL STDCALL NETDEV_PTZControl_Other
(
LPVOID lpUserID,
INT32 dwChannelID,
INT32 dwPTZCommand,
INT32 dwSpeed
);

Interface description:
PTZ control operation (no need to start live preview)

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwChannelID IN Channel ID
dwPTZCommand IN PTZ control command. See NETDEV_PTZ_E
dwSpeed IN PTZ control speed. Range: [1, 9]

Remarks:
 No need to start live preview

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PTZControl

4.14.11 Get or set auto guard info

Interface name:
BOOL STDCALL NETDEV_PTZGetGuard_Other
(
LPVOID lpUserID,
INT32 dwChannelID,
INT32 dwPTZGuardCmd,
LPNETDEV_PTZ_GUARD_INFO_S pstPTZGuardInfo
160 / 767
Network Device SDK (Windows) User Manual
);

Interface description:
Get or set auto guard info of specified channel (preview not needed)

Parameters:
Parameter Type Description
lpUserID IN User login ID
dwChannelID IN Channel ID
dwPTZGuardCmd IN PTZ auto guard configuration commands See NETDEV_PTZ_GUARD_CMD_E
pstPTZGuardInfo OUT Structure of drag-to-zoom

Remarks:
 No need to start live preview

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PTZHomePosition, NETDEV_PTZHomePosition_Other

4.14.12 Home position operation

Interface name:
BOOL STDCALL NETDEV_PTZHomePosition
(
LPVOID lpRealHandle,
INT32 dwPTZHomePositionCmd
);

Interface description:
Home position operation (preview needed)

Parameters:
Parameter Type Description
lpRealHandle IN Live view handle
Home position operation commands. See
dwPTZHomePositionCmd IN
NETDEV_PTZ_HOMEPOSITIONCMD_E

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:

161 / 767
Network Device SDK (Windows) User Manual
NETDEV_PTZHomePosition_Other

4.14.13 Home position operation without preview

Interface name:
BOOL STDCALL NETDEV_PTZHomePosition_Other
(
LPVOID lpUserID,
INT32 dwChannelID,
INT32 dwPTZHomePositionCmd
);

Interface description:
Home position operation (preview not needed)

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwChannelID IN Channel ID
Home position operation commands See
dwPTZHomePositionCmd IN
NETDEV_PTZ_HOMEPOSITIONCMD_E
Remarks:
 No need to start live preview

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PTZHomePosition

4.14.14 Absolute PTZ coordinates movement

Interface name:
BOOL STDCALL NETDEV_PTZAbsoluteMove
(
LPVOID lpUserID,
INT32 dwChannelID,
LPNETDEV_PTZ_ABSOLUTE_MOVE_S pstAbsoluteMove
);

Interface description:
Absolute PTZ coordinates movement
Parameters:
Parameter Type Description

162 / 767
Network Device SDK (Windows) User Manual
lpUserID IN User login handle
dwChannelID IN Channel ID
pstAbsoluteMove IN Structure of absolute PTZ coordinates movement

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:

4.14.15 Get PTZ status

Interface name:
BOOL STDCALL NETDEV_PTZGetStatus
(
LPVOID lpUserID,
INT32 dwChannelID,
LPNETDEV_PTZ_STATUS_S pstPTZStaus
);

Interface description:
Get PTZ status

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwChannelID IN Channel ID
pstPTZStaus OUT PTZ status

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.14.16 Get recorded patrol route

Interface name:
BOOL STDCALL NETDEV_PTZGetTrackCruise
(
LPVOID lpUserID,
INT32 dwChannelID,
LPNETDEV_PTZ_TRACK_INFO_S pstTrackCruiseInfo
);

Interface description:
Get recorded patrol route

163 / 767
Network Device SDK (Windows) User Manual
Parameters:
Parameter Type Description
lpUserID IN User login handle
dwChannelID IN Channel ID
pstTrackCruiseInfo OUT Patrol route list

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PTZGetTrackCruise_V30

4.14.17 Get recorded patrol route (including patrol route ID)

Interface name:
BOOL STDCALL NETDEV_PTZGetTrackCruise_V30
(
LPVOID lpUserID,
INT32 dwChannelID,
LPNETDEV_PTZ_TRACK_LIST_V30_S pstTrackCruiseList
);

Interface description:
Get recorded patrol route

Parameters:
Parameter Type Description
lpUserID IN User login ID
dwChannelID IN Channel ID
pstTrackCruiseList OUT Patrol route list

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PTZGetTrackCruise

4.14.18 Get patrol status of specified channel

Interface name:
BOOL STDCALL NETDEV_PTZGetTrackStatus
(
LPVOID lpUserID,

164 / 767
Network Device SDK (Windows) User Manual
INT32 dwChannelID,
LPNETDEV_PTZ_TRACK_STATUS_INFO_S pstTrackStatus
);

Interface description:
Get patrol status of specified channel

Parameters:
Parameter Type Description
lpUserID IN User login ID
dwChannelID IN Channel ID
pstTrackStatus OUT Structure of patrol status info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PTZTrackCruise, NETDEV_PTZTrackCruise_V30

4.14.19 Recorded patrol operation

Interface name:
BOOL STDCALL NETDEV_PTZTrackCruise
(
LPVOID lpUserID,
INT32 dwChannelID,
INT32 dwPTZTrackCruiseCmd,
CHAR *pszTrackCruiseName
);

Interface description:
Recorded patrol operation (preview not needed)

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwChannelID IN Channel ID
dwPTZTrackCruiseCmd IN Recorded patrol operation commands See NETDEV_PTZ_TRACKCMD_E
Name of recorded patrol. Recommended length: 64 bytes. User
pszTrackCruiseName INOUT
allocates RAM.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

165 / 767
Network Device SDK (Windows) User Manual

See also:
NETDEV_PTZTrackCruise_V30

4.14.20 Recorded patrol operation without preview

Interface name:
BOOL STDCALL NETDEV_PTZTrackCruise_V30
(
LPVOID lpUserID,
INT32 dwChannelID,
INT32 dwPTZTrackCruiseCmd,
LPNETDEV_PTZ_TRACK_INFO_V30_S pstTrackCruiseInfo
);

Interface description:
Recorded patrol operation (preview not needed)

Parameters:
Parameter Type Description
lpUserID IN User login ID
dwChannelID IN Channel ID
dwPTZTrackCruiseCmd IN Recorded patrol operation commands See NETDEV_PTZ_TRACKCMD_E
pstTrackCruiseInfo IN Recorded patrol route info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PTZTrackCruise

4.14.21 Get preset position list

Interface name:
BOOL STDCALL NETDEV_GetPTZPresetList
(
LPVOID lpUserID,
INT32 dwChannelID,
LPNETDEV_PTZ_ALLPRESETS_S pstPresetList
);

Interface description:
Get preset position list

Parameters:
166 / 767
Network Device SDK (Windows) User Manual
Parameter Type Description
lpUserID IN User login ID
dwChannelID IN Channel ID
pstPresetList OUT Preset list

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PTZPreset,NETDEV_PTZPreset_Other

4.14.22 Preset operation

Interface name:
BOOL STDCALL NETDEV_PTZPreset
(
LPVOID lpPlayHandle,
INT32 dwPTZPresetCmd,
CHAR *pszPresetName,
INT32 dwPresetID
);

Interface description:
Preset operation (preview needed)

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle
dwPTZPresetCmd IN Preset operation commands See NETDEV_PTZ_PRESETCMD_E
pszPresetName IN Preset name
dwPresetID IN Preset ID (starts from 1). Up to 255 presets are allowed.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PTZPreset_Other

4.14.23 Preset operation without preview

Interface name:
BOOL STDCALL NETDEV_PTZPreset_Other
(

167 / 767
Network Device SDK (Windows) User Manual
LPVOID lpUserID,
INT32 dwChannelID,
INT32 dwPTZPresetCmd,
CHAR *pszPresetName,
INT32 dwPresetID
);

Interface description:
Preset operation (preview not needed)

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwChannelID IN Channel ID
dwPTZPresetCmd IN Preset operation commands See NETDEV_PTZ_PRESETCMD_E
pszPresetName IN Preset name
dwPresetID IN Preset ID (starts from 1). Up to 255 presets are allowed.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PTZPreset

4.14.24 Preset patrol operation

Interface name:
BOOL STDCALL NETDEV_PTZCruise
(
LPVOID lpPlayHandle,
INT32 dwPTZCruiseCmd,
LPNETDEV_CRUISE_INFO_S pstCruiseInfo
);

Interface description:
Preset patrol operation (preview needed)

Parameters:
Parameter Type Description
lpPlayHandle IN Live view handle
dwPTZCruiseCmd IN Patrol operation commands See NETDEV_PTZ_CRUISECMD_E
pstCruiseInfo IN Patrol route info

Return value:

168 / 767
Network Device SDK (Windows) User Manual
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PTZCruise_Other

4.14.25 Preset patrol operation without preview

Interface name:
BOOL STDCALL NETDEV_PTZCruise_Other
(
LPVOID lpUserID,
INT32 dwChannelID,
INT32 dwPTZCruiseCmd,
LPNETDEV_CRUISE_INFO_S pstCruiseInfo
);

Interface description:
Preset patrol operation (preview not needed)

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwChannelID IN Channel ID
dwPTZCruiseCmd IN Patrol operation commands See NETDEV_PTZ_CRUISECMD_E
pstCruiseInfo IN Patrol route info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PTZCruise

4.14.26 Get preset patrol route

Interface name:
BOOL STDCALL NETDEV_PTZGetCruise
(
LPVOID lpUserID,
INT32 dwChannelID,
LPNETDEV_CRUISE_LIST_S pstCruiseList
);

Interface description:
Get preset patrol route
169 / 767
Network Device SDK (Windows) User Manual

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwChannelID IN Channel ID
pstCruiseList OUT Patrol route list

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_PTZCruise, NETDEV_PTZCruise_Other

4.14.27 PTZ calibration

Interface name:
BOOL STDCALL NETDEV_PTZCalibrate
(
LPVOID lpUserID,
INT32 dwChannelID,
LPNETDEV_PTZ_ORIENTATION_INFO_S pstOrientationInfo
);

Interface description:
PTZ calibration

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwChannelID IN Channel ID
pstOrientationInfo IN PTZ direction info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.14.28 Get current lens angle

Interface name:
BOOL STDCALL NETDEV_PTZGetLensAngle
(
LPVOID lpUserID,
INT32 dwChannelID,
LPNETDEV_PTZ_LENSANGLE_S pstLensAngleInfo

170 / 767
Network Device SDK (Windows) User Manual
);

Interface description:
Get current lens angle of specified video channel

Parameters:
Parameter Type Description
lpUserID IN User login ID
dwChannelID IN Channel ID
pstLensAngleInfo OUT Current lens angle

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.14.29 Get PTZ latitude and longitude info

Interface name:
BOOL STDCALL NETDEV_GetPTZAbsolutePTInfo
(
LPVOID lpUserID,
INT32 dwChannelID,
LPNETDEV_PTZ_PT_POSITION_INFO_S pstPTPositionInfo
);

Interface description:
Get PTZ latitude and longitude info

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwChannelID IN Channel ID
pstPTPositionInfo OUT Position info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_SetPTZAbsolutePTInfo

4.14.30 Set PTZ latitude and longitude info

Interface name:
BOOL STDCALL NETDEV_SetPTZAbsolutePTInfo

171 / 767
Network Device SDK (Windows) User Manual
(
LPVOID lpUserID,
INT32 dwChannelID,
LPNETDEV_PTZ_PT_POSITION_INFO_S pstPTPositionInfo
);

Interface description:
Set PTZ latitude and longitude info

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwChannelID IN Channel ID
pstPTPositionInfo IN Position info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.
See also:
NETDEV_GetPTZAbsolutePTInfo

4.14.31 Get current zoom ratio

Interface name:
BOOL STDCALL NETDEV_GetPTZAbsoluteZoomInfo
(
LPVOID lpUserID,
INT32 dwChannelID,
FLOAT *pfZoomRatio
);

Interface description:
Get current zoom ratio

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwChannelID IN Channel ID
pfZoomRatio OUT Position info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.
See also:
NETDEV_SetPTZAbsoluteZoomInfo

172 / 767
Network Device SDK (Windows) User Manual
4.14.32 Set zoom ratio

Interface name:
BOOL STDCALL NETDEV_SetPTZAbsoluteZoomInfo
(
LPVOID lpUserID,
INT32 dwChannelID,
FLOAT fZoomRatio
);

Interface description:
Set zoom ratio

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwChannelID IN Channel ID
fZoomRatio IN Position info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.
See also:
NETDEV_GetPTZAbsoluteZoomInfo

4.15 System Configuration

4.15.1 Enable/disable Telnet

Interface name:
BOOL STDCALL NETDEV_EnableTelnet
(
LPVOID lpUserID,
BOOL bEnable
);

Interface description:
Enable/disable Telnet

Parameters:
Parameter Type Description
lpUserID IN User login ID
bEnable IN Telnet status. 0: Disable 1: Enable

Return value:
173 / 767
Network Device SDK (Windows) User Manual
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.15.2 Export configuration file

Interface name:
BOOL STDCALL NETDEV_GetConfigFile
(
LPVOID lpUserID,
CHAR* pszConfigPath
);

Interface description:
Export configuration file

Parameters:
Parameter Type Description
lpUserID IN User login ID
pszConfigPath IN Configuration file path (including filename, suffixed with tgz)

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_SetConfigFile

4.15.3 Import configuration file

Interface name:
BOOL STDCALL NETDEV_SetConfigFile
(
LPVOID lpUserID,
CHAR* pszConfigPath
);

Interface description:
Import configuration file

Parameters:
Parameter Type Description
lpUserID IN User login ID
Configuration file path (including filename, format: device
pszConfigPath IN model_IP_config.tgz, example: HIC5621E-L-
U_192.168.3.112_config.tgz)

174 / 767
Network Device SDK (Windows) User Manual
Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_GetConfigFile

4.15.4 Get device configuration info

Interface name:
BOOL STDCALL NETDEV_GetDevConfig
(
LPVOID lpUserID,
INT32 dwChannelID,
INT32 dwCommand,
LPVOID lpOutBuffer,
INT32 dwOutBufferSize,
INT32 *pdwBytesReturned
);

Interface description:
Get device configuration info

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwChannelID IN Channel ID
dwCommand IN Device configuration commands See NETDEV_CONFIG_COMMAND_E
lpOutBuffer INOUT Pointer to data receiving buffer
dwOutBufferSize OUT Size of data receiving buffer (unit: byte), cannot be 0.
pdwBytesReturned OUT Pointer to the length of received data, cannot be NULL.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_SetDevConfig

4.15.5 Set device configuration info

Interface name:
BOOL STDCALL NETDEV_SetDevConfig
(
LPVOID lpUserID,

175 / 767
Network Device SDK (Windows) User Manual
INT32 dwChannelID,
INT32 dwCommand,
LPVOID lpInBuffer,
INT32 dwInBufferSize
);

Interface description:
Set device configuration info

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwChannelID IN Channel ID
dwCommand IN Device configuration commands See NETDEV_CONFIG_COMMAND_E
lpInBuffer IN Pointer to the data receiving buffer
dwInBufferSize IN Size of data receiving buffer (unit: byte)

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_GetDevConfig

4.15.6 Get disk mode

Interface name:
BOOL STDCALL NETDEV_GetDiskMode
(
LPVOID lpUserID,
UINT32 * pudwDiskMode
);

Interface description:
Get disk mode

Parameters:
Parameter Type Description
lpUserID IN User login ID
pudwDiskMode OUT Disk mode See NETDEV_DISK_MODE_TYPE_E

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

176 / 767
Network Device SDK (Windows) User Manual
See also:
NETDEV_SetDiskMode

4.15.7 Set disk mode

Interface name:
BOOL STDCALL NETDEV_SetDiskMode
(
LPVOID lpUserID,
UINT32 udwDiskMode
);

Interface description:
Set disk mode

Parameters:
Parameter Type Description
lpUserID IN User login ID
udwDiskMode IN Disk mode See NETDEV_DISK_MODE_TYPE_E

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_GetDiskMode

4.15.8 Get system time of device

Interface name:
BOOL STDCALL NETDEV_GetSystemTimeCfg
(
LPVOID lpUserID,
LPNETDEV_TIME_CFG_S pstSystemTimeInfo
);

Interface description:
Get system time of device

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstSystemTimeInfo OUT Time configuration info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
177 / 767
Network Device SDK (Windows) User Manual
the error code to determine the cause of error.

See also:
NETDEV_SetSystemTimeCfg

4.15.9 Set system time of device

Interface name:
BOOL STDCALL NETDEV_SetSystemTimeCfg
(
LPVOID lpUserID,
LPNETDEV_TIME_CFG_S pstSystemTimeInfo
);

Interface description:
Set system time of device

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstSystemTimeInfo IN Time configuration info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_GetSystemTimeCfg

4.15.10 Modify device IP address without login

Interface name:
BOOL STDCALL NETDEV_ModifyDeviceAddr
(
LPNETDEV_DEV_ADDR_INFO_S pstDevAddrInfo
)

Interface description:
Modify device IP address (without login)

Parameters:
Parameter Type Description
pstDevAddrInfo IN Address of the device to be modified

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
178 / 767
Network Device SDK (Windows) User Manual
the error code to determine the cause of error.

4.15.11 Change device name

Interface name:
BOOL STDCALL NETDEV_ModifyDeviceName
(
LPVOID lpUserID,
CHAR *pszDeviceName
);

Interface description:
Change device name

Parameters:
Parameter Type Description
lpUserID IN User login handle
pszDeviceName IN Device name

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.15.12 Get device capabilities

Interface name:
BOOL STDCALL NETDEV_GetDeviceCapability
(
LPVOID lpUserID,
INT32 dwChannelID,
INT32 dwCommand,
LPVOID lpOutBuffer,
INT32 dwOutBufferSize,
INT32 *pdwBytesReturned
);

Interface description:
Get device capabilities

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwChannelID IN Channel ID
dwCommand IN Device capability type command See NETDEV_CAPABILITY_COMMOND_E
lpOutBuffer OUT Pointer to data receiving buffer

179 / 767
Network Device SDK (Windows) User Manual
dwOutBufferSize OUT Size of data receiving buffer (unit: byte)
pdwBytesReturned OUT Pointer to the length of the received data

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.15.13 Get device list by device type

Interface name:
LPVOID STDCALL NETDEV_FindDevList
(
LPVOID lpUserID,
INT32 dwDevType
);

Interface description:
Get device list by device type

Parameters:
Parameter Type Description
lpUserID IN User login ID
dwDevType IN Device type. See NETDEV_DEVICE_MAIN_TYPE_E

Return value:
Search handle. 0 means failure, other values are used as parameters of functions such as
NETDEV_FindNextDevInfo, NETDEV_FindCloseDevInfo.

See also:
NETDEV_FindNextDevInfo, NETDEV_FindCloseDevInfo

4.15.14 Get device info one by one

Interface name:
BOOL STDCALL NETDEV_FindNextDevInfo
(
LPVOID lpFindHandle,
LPNETDEV_DEV_BASIC_INFO_S pstDevBasicInfo
);

Interface description:
Get device list by device type

Parameters:
Parameter Type Description

180 / 767
Network Device SDK (Windows) User Manual
lpFindHandle IN Search handle
pstDevBasicInfo OUT Pointer to the saved basic device info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_FindDevList, NETDEV_FindCloseDevInfo

4.15.15 Stop searching device info, release resource

Interface name:
BOOL STDCALL NETDEV_FindCloseDevInfo(LPVOID lpFindHandle);

Interface description:
Stop searching device info, release resource
Parameters:
Parameter Type Description
lpFindHandle IN File search handle

Return value:
TRUE means success, other values mean failure.

See also:
NETDEV_FindDevList, NETDEV_FindNextDevInfo

4.15.16 Get device channel list

Interface name:
LPVOID STDCALL NETDEV_FindDevChlBasicInfoList(LPVOID lpUserID);

Interface description:
Get device channel list

Parameters:
Parameter Type Description
lpUserID IN User login ID

Return value:
Service ID. 0 means failure, other values are used as parameters of functions such as
NETDEV_FindNextChlDeviceInfo, NETDEV_FindCloseDevChlBasicInfo.

181 / 767
Network Device SDK (Windows) User Manual

See also:
NETDEV_FindNextChlDeviceInfo, NETDEV_FindCloseDevChlBasicInfo

4.15.17 Get device channel basic info one bye one

Interface name:
BOOL STDCALL NETDEV_FindNextDevChlBasicInfo
(
LPVOID lpFindHandle,
LPNETDEV_DEVICE_CHL_INFO_S pstDeviceInfo
);

Interface description:
Get device channel basic info one bye one

Parameters:
Parameter Type Description
lpFindHandle IN Search handle
pstDeviceInfo OUT Pointer to the device info structure

Return value:
TRUE means success, other values mean failure.

See also:
NETDEV_FindDevChlBasicInfoList, NETDEV_FindCloseDevChlBasicInfo

4.15.18 Stop getting basic info about device channel

Interface name:
BOOL STDCALL NETDEV_FindCloseDevChlBasicInfo(IN LPVOID lpFindHandle);

Interface description:
Stop getting basic info about device channel
Parameters:
Parameter Type Description
lpFindHandle IN Search handle

Return value:
TRUE means success, other values mean failure.

See also:
NETDEV_FindDevChlBasicInfoList, NETDEV_FindNextChlDeviceInfo

182 / 767
Network Device SDK (Windows) User Manual
4.15.19 Get channel list by device ID or channel type

Interface name:
LPVOID STDCALL NETDEV_FindDevChnList
(
LPVOID lpUserID,
INT32 dwDevID,
INT32 dwChnType
);

Interface description:
Get channel list by device ID or channel type

Parameters:
Parameter Type Description
lpUserID IN User login ID
dwDevID IN Device ID
dwChnType IN Channel type. See NETDEV_CHN_TYPE_E

Return value:
Search handle. 0 means failure, other values are used as parameters of functions such as
NETDEV_FindNextDevChn, NETDEV_FindCloseDevChn.

See also:
NETDEV_FindNextDevChn, NETDEV_FindCloseDevChn

4.15.20 Get device channel info one by one

Interface name:
BOOL STDCALL NETDEV_FindNextDevChn
(
LPVOID lpFindHandle,
LPVOID lpOutBuffer,
INT32 dwOutBufferSize,
INT32 *pdwBytesReturned
);

Interface description:
Get device channel info one by one

Parameters:
Parameter Type Description
lpFindHandle IN Search handle
lpOutBuffer OUT Pointer to data receiving buffer
dwOutBufferSize IN Size of data receiving buffer (unit: byte), cannot be 0

183 / 767
Network Device SDK (Windows) User Manual
pdwBytesReturned OUT Pointer to the length of received data, cannot be NULL.

Return value:
TRUE means success, other values mean failure.

See also:
NETDEV_FindDevChnList, NETDEV_FindCloseDevChn

4.15.21 Stop searching device channel info, release resource

Interface name:
BOOL STDCALL NETDEV_FindCloseDevChn(LPVOID lpFindHandle);

Interface description:
Stop searching device channel info, release resource

Parameters:
Parameter Type Description
lpFindHandle IN Search handle

Return value:
TRUE means success, other values mean failure.

See also:
NETDEV_FindNextDevChn, NETDEV_FindDevChnList

4.15.22 Get detailed channel info by channel type and channel ID

Interface name:
BOOL STDCALL NETDEV_GetChnDetailByChnType
(
LPVOID lpUserID,
INT32 dwChnID,
INT32 dwChnType,
LPVOID lpOutBuffer,
INT32 dwOutBufferSize,
INT32 *pdwBytesReturned
);
Interface description:
Get detailed channel info by channel type and channel ID

Parameters:
Parameter Type Description
lpUserID IN User login ID
dwChnID IN Channel ID

184 / 767
Network Device SDK (Windows) User Manual
dwChnType IN Channel type. See NETDEV_CHN_TYPE_E
lpOutBuffer INOUT Pointer to data receiving buffer
dwOutBufferSize IN Size of data receiving buffer (unit: byte), cannot be 0.
pdwBytesReturned OUT Pointer to the length of received data, cannot be NULL.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_SetChnDetailByChnType

4.15.23 Set alarm output channel info by channel type and channel ID

Interface name:
BOOL STDCALL NETDEV_SetChnDetailByChnType
(
LPVOID lpUserID,
INT32 dwChnID,
INT32 dwChnType,
LPVOID lpOutBuffer,
INT32 dwOutBufferSize
);

Interface description:
Set alarm output channel info by channel type and channel ID

Parameters:
Parameter Type Description
lpUserID IN User login ID
dwChnID IN Channel ID
dwChnType IN Channel type. See NETDEV_CHN_TYPE_E
lpOutBuffer IN Pointer to data receiving buffer
dwOutBufferSize IN Size of data receiving buffer (unit: byte), cannot be 0.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_GetChnDetailByChnType

4.15.24 Get channel type

Interface name:

185 / 767
Network Device SDK (Windows) User Manual
BOOL STDCALL NETDEV_GetChnType
(
LPVOID lpUserID,
INT32 dwChnID,
INT32 *pdwChnType
);
Interface description:
Get channel type

Parameters:
Parameter Type Description
lpUserID IN User login ID
dwChnID IN Channel ID
pdwChnType OUT Device channel type. See NETDEV_CHN_TYPE_E

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.15.25 Get device channel basic info

Interface name:
BOOL STDCALL NETDEV_GetDevChlBasicInfo
(
LPVOID lpUserID,
INT32 dwChannelID,
LPNETDEV_DEVICE_CHL_INFO_S pstDeviceChlInfo
);

Interface description:
Get device channel basic info

Parameters:
Parameter Type Description
lpUserID IN User login ID
dwChannelID IN Channel ID
pstDeviceChlInfo OUT Basic device info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.15.26 Get basic device info

Interface name:

186 / 767
Network Device SDK (Windows) User Manual
BOOL STDCALL NETDEV_GetDeviceBaseInfo
(
LPVOID lpUserID,
LPNETDEV_DEVICE_BASE_INFO_S pstDeviceInfo
);
Interface description:
Get device info

Parameters:
Parameter Type Description
lpUserID IN User login ID
pstDeviceInfo OUT Device info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.15.27 Get device info

Interface name:
BOOL STDCALL NETDEV_GetDeviceInfo
(
LPVOID lpUserID ,
LPNETDEV_DEVICE_INFO_S pstDevInfo
);

Interface description:
Get device info

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstDevInfo OUT Pointer to the device info structure

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.15.28 Get detailed device info

Interface name:
BOOL STDCALL NETDEV_GetDeviceInfo_V30
(
LPVOID lpUserID,
INT32 dwDevID,

187 / 767
Network Device SDK (Windows) User Manual
LPNETDEV_DEV_INFO_V30_S pstDevDetailInfo
);

Interface description:
Get detailed device info

Parameters:
Parameter Type Description
lpUserID IN User login ID
dwDevID IN Device ID
pstDevDetailInfo OUT Detailed device info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.15.29 Get device location info

Interface name:
BOOL STDCALL NETDEV_GetGeolocationInfo
(
LPVOID lpUserID,
INT32 dwChannelID,
LPNETDEV_GEOLACATION_INFO_S pstGPSInfo
);

Interface description:
Get device location info

Parameters:
Parameter Type Description
lpUserID IN User login ID
dwChannelID IN Channel ID
pstGPSInfo OUT Geolocation info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.15.30 Get Wi-Fi sniffer’s MAC address info

Interface name:
BOOL STDCALL NETDEV_GetWifiSnifferMacList
(
LPVOID lpUserID,

188 / 767
Network Device SDK (Windows) User Manual
INT32 dwChannelID,
LPNETDEV_WIFISNIFFER_MAC_LIST_S pstMACList
);

Interface description:
Get Wi-Fi sniffer’s MAC address info

Parameters:
Parameter Type Description
lpUserID IN User login ID
dwChannelID IN Channel ID
pstMACList OUT Array of Wi-Fi sniffer’s MAC addresses

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.15.31 Get video channel list

Interface name:
BOOL STDCALL NETDEV_QueryVideoChlDetailList
(
LPVOID lpUserID,
INT32 *pdwChlCount,
LPNETDEV_VIDEO_CHL_DETAIL_INFO_S pstVideoChlList
);

Interface description:
Get video channel list

Parameters:
Parameter Type Description
lpUserID IN User login handle
pdwChlCount INOUT Number of channels
pdwChlCount OUT Channel capability list

Return value:
TRUE means success, other values mean failure.

See also:
NETDEV_QueryVideoChlDetailListEx, NETDEV_QueryVideoChlInfo

4.15.32 Get video channel list

Interface name:

189 / 767
Network Device SDK (Windows) User Manual
BOOL STDCALL NETDEV_QueryVideoChlDetailListEx
(
LPVOID lpUserID,
INT32 *pdwChlCount,
LPNETDEV_VIDEO_CHL_DETAIL_INFO_EX_S pstVideoChlList
);
Interface description:
Get video channel list

Parameters:
Parameter Type Description
lpUserID IN User login handle
pdwChlCount INOUT Number of channels
pstVideoChlList OUT Channel capability list

Return value:
TRUE means success, other values mean failure.
See also:
NETDEV_QueryVideoChlDetailList, NETDEV_QueryVideoChlInfo

4.15.33 Get video channel info

Interface name:
BOOL STDCALL NETDEV_QueryVideoChlInfo
(
LPVOID lpUserID,
INT32 dwChannelID,
LPNETDEV_VIDEO_CHL_DETAIL_INFO_S pstVideoChlInfo
);

Interface description:
Get video channel list

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwChannelID IN Channel ID
pstVideoChlInfo OUT Video channel info

Return value:
TRUE means success, other values mean failure.

See also:
NETDEV_QueryVideoChlDetailList, NETDEV_QueryVideoChlDetailListEx

190 / 767
Network Device SDK (Windows) User Manual
4.15.34 Import audio file

Interface name:
BOOL STDCALL NETDEV_ImportAudioFile
(
LPVOID lpUserID,
CHAR* pszFilePath
);

Interface description:
Import audio file

Parameters:
Parameter Type Description
lpUserID IN User login handle
Audio file path. The audio file must be in PCM format. The file
pszFilePath IN
size must not exceed 100KB.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and
determine the cause of error.

See also:
NETDEV_DeleteAudioFile

4.15.35 Delete audio file

Interface name:
BOOL STDCALL NETDEV_DeleteAudioFile
(
LPVOID lpUserID,
UINT32 udwID
);

Interface description:
Delete audio file

Parameters:
Parameter Type Description
lpUserID IN User login handle
udwID IN Audio file ID

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and
determine the cause of error.

191 / 767
Network Device SDK (Windows) User Manual

See also:
NETDEV_ImportAudioFile

4.15.36 Get audio file

Get all audio file info

Interface name:
LPVOID STDCALL NETDEV_FindAudioFileList
(
LPVOID lpUserID,
UINT32* pudwNum
);

Interface description:
Get all audio file info

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pudwNum OUT Number of audio files

Return value:
Null means failure, other values are used as the input parameter of NETDEV_FindNextAudioFileInfo,
NETDEV_FindCloseAudioFileList. Call NETDEV_GetLastError to get the error code and use the error code
to determine the cause of error.

Remarks:
 This interface is used with the NETDEV_FindNextAudioFileInfo and NETDEV_FindCloseAudioFileList
interfaces.
 After calling this interface successfully, call the NETDEV_FindNextAudioFileInfo interface
repeatedly to get the next info.
 The NETDEV_FindCloseAudioFileList interface must be called to release resource and stop searching
after audio file info is obtained.

Get audio file info one by one

Interface name:
BOOL STDCALL NETDEV_FindNextAudioFileInfo
(

192 / 767
Network Device SDK (Windows) User Manual
LPVOID lpFindHandle,
LPNETDEV_AUDIO_FILE_INFO_S pstAudioFileInfo
);

Interface description:
Get audio file info one by one

Parameters:
Parameter Type Description
lpFindHandle IN Search handle
pstAudioFileInfo OUT Audio file info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and
determine the cause of error.

Remarks:
 This interface is used with the NETDEV_FindAudioFileList and NETDEV_FindCloseAudioFileList
interfaces.
 Call this interface repeatedly to get the next info.
 The NETDEV_FindCloseAudioFileList interface must be called to release resource and stop searching
after audio file info is obtained.

Stop searching device channel info, release resource

BOOL STDCALL NETDEV_FindCloseAudioFileList


(
LPVOID lpFindHandle
);

Interface description:
Stop searching audio file info

Parameters:
Parameter Type Description
lpFindHandle IN Search handle

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 This interface is used with the NETDEV_FindAudioFileList, NETDEV_FindNextAudioFileInfo interfaces.
 The NETDEV_FindCloseAudioFileList interface must be called to release resource and stop searching

193 / 767
Network Device SDK (Windows) User Manual
after organization channel info is obtained.

4.15.37 Get audio output parameters

Interface name:
BOOL STDCALL NETDEV_GetAudioOutputCfg
(
LPVOID lpUserID,
UINT32 udwChannelID,
LPNETDEV_AUDIO_OUTPUT_CFG_S pstAudioOutputCfg
);

Interface description:
Get audio output parameters

Parameters:
Parameter Type Description
lpUserID IN User login handle
udwChannelID IN Channel ID
pstAudioOutputCfg OUT Audio output parameters

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and
determine the cause of error.

4.15.38 Set audio output parameters

BOOL STDCALL NETDEV_SetAudioOutputCfg


(
LPVOID lpUserID,
UINT32 udwChannelID,
LPNETDEV_AUDIO_OUTPUT_CFG_S pstAudioOutputCfg
);

Interface description:
Set audio output parameters

Parameters:
Parameter Type Description
lpUserID IN User login handle
udwChannelID IN Channel ID
pstAudioOutputCfg IN Audio output parameters

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and

194 / 767
Network Device SDK (Windows) User Manual
determine the cause of error.

4.16 Alarm-Triggered Snapshot

4.16.1 Get alarm-triggered snapshot URL

Get alarm-triggered snapshot URL list

Interface name:
LPVOID STDCALL NETDEV_FindAlarmSnapShotURL
(
LPVOID lpUserID,
LPNETDEV_ALARM_SNAPSHOT_COND_S pstAlarmSnapShotCond
);

Interface description:
Get alarm-triggered snapshot URL list

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstAlarmSnapShotCond IN Condition for getting alarm snapshots

Return value:
Null means failure, other values are used as input parameters of NETDEV_FindNextAlarmSnapShotURL
and NETDEV_FindCloseAlarmSnapShotURL.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of
error.

Remarks:
 Use this interface with the NETDEV_FindNextAlarmSnapShotURL and NETDEV_FindCloseAlarmSnapShotURL
interfaces.
 After the interface is called successfully, call the NETDEV_FindNextAlarmSnapShotURL interface
repeatedly to get the next URL.
 Call the NETDEV_FindCloseAlarmSnapShotURL interface to release resource and stop the search after
alarm snapshot URL is obtained.

See also:
NETDEV_FindNextAlarmSnapShotURL, NETDEV_FindCloseAlarmSnapShotURL

195 / 767
Network Device SDK (Windows) User Manual

Get alarm image info one by one

Interface name:
BOOL STDCALL NETDEV_FindNextAlarmSnapShotURL
(
LPVOID lpFindHandle,
LPNETDEV_ALARM_SNAPSHOT_PIC_S pstAlarmPicInfo
);

Interface description:
Get alarm snapshot info one by one

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_FindAlarmSnapShotURL interface.
pstAlarmPicInfo OUT Alarm snapshot image info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindAlarmSnapShotURL and NETDEV_FindCloseAlarmSnapShotURL
interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindCloseAlarmSnapShotURL interface to release resource and stop the search after
alarm snapshot URL is obtained.

See also:
NETDEV_FindAlarmSnapShotURL, NETDEV_FindCloseAlarmSnapShotURL

Stop searching alarm-triggered snapshot URL list

Interface name:
BOOL STDCALL NETDEV_FindCloseAlarmSnapShotURL
(
LPVOID lpFindHandle
);

Interface description:
Stop searching alarm snapshot URL and release resource

196 / 767
Network Device SDK (Windows) User Manual
Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_FindAlarmSnapShotURL interface.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindAlarmSnapShotURL and NETDEV_FindNextAlarmSnapShotURL
interfaces.
 Call the NETDEV_FindCloseAlarmSnapShotURL interface to release resource and stop the search after
alarm snapshot URL is obtained.

See also:
NETDEV_FindAlarmSnapShotURL, NETDEV_FindNextAlarmSnapShotURL

4.16.2 Save alarm snapshot

Interface name:
BOOL STDCALL NETDEV_SaveSnapShotFile
(
LPVOID lpUserID,
LPNETDEV_PIC_FILE_INFO_S pstPicFileInfo
);

Interface description:
Save alarm snapshot

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the NETDEV_Login_V30
interface
pstPicFileInfo IN Alarm image info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_FindAlarmSnapShotURL, NETDEV_FindNextAlarmSnapShotURL, NETDEV_FindCloseAlarmSnapShotURL

197 / 767
Network Device SDK (Windows) User Manual

4.17 Alarm Message

4.17.1 Register the callback function to receive alarm messages

Interface name:
BOOL STDCALL NETDEV_SetAlarmCallBack_V30
(
LPVOID lpUserID,
NETDEV_AlarmMessCallBack_PF_V30 cbAlarmMessCallBack,
LPVOID lpUserData
);
Interface description:
Register the callback function to receive alarm messages

Parameters:
Parameter Type Description
lpUserID IN User login ID
cbAlarmMessCallBack IN Callback function
lpUserData IN User data

Callback Function
typedef void(STDCALL *NETDEV_AlarmMessCallBack_PF_V30)
(
LPVOID lpUserID,
LPNETDEV_REPORT_INFO_S pstReportInfo,
LPVOID lpBuf,
INT32 dwBufLen,
LPVOID lpUserData
);

Callback Function Parameters


Parameter Type Description
lpUserID IN User login ID
pstReportInfo IN Reported info
lpBuf IN Buffer pointer
dwBufLen IN Length of alarm info struct
lpUserData IN User data

Return value:
TRUE means success, other values mean failure.

Remarks:
 To close the callback function, set the second parameter to NULL.

198 / 767
Network Device SDK (Windows) User Manual
4.17.2 Get device alarm info proactively

Interface name:
BOOL STDCALL NETDEV_PullAlarm
(
LPVOID lpUserID,
INT32 dwPullWaitTime,
INT32 *pdwListCnt,
LPNETDEV_PULLALARM_INFO_S pstPullAlarmList
);
Interface description:
Get device alarm info proactively

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwPullWaitTime IN Alarm wait time (unit: s)
Max alarm number. An input parameter means the alarm list size,
pdwListCnt INOUT
and an output parameter means the actual number of alarms.
pstPullAlarmList OUT Alarm list. Memory needs to be allocated in advance

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.18 People Flow Counting

4.18.1 Get people counting list

Interface name:
LPVOID STDCALL NETDEV_FindTrafficStatisticInfoList
(
LPVOID lpUserID,
UINT32 udwSearchID
);
Interface description:
Get people counting list

Parameters:
Parameter Type Description
lpUserID IN User login ID
udwSearchID IN People counting search ID

Return value:

199 / 767
Network Device SDK (Windows) User Manual
Search handle (NETDEV_FindNextTrafficStatisticInfo, NETDEV_FindCloseTrafficStatisticInfo). NULL
means failure.

See also:
NETDEV_FindNextTrafficStatisticInfo, NETDEV_FindCloseTrafficStatisticInfo

4.18.2 Get people counting info one by one

Interface name:
BOOL STDCALL NETDEV_FindNextTrafficStatisticInfo
(
LPVOID lpFindHandle,
LPNETDEV_TRAFFIC_STATISTICS_INFO_S pstStatisticInfo
);
Interface description:
Get people counting info one by one

Parameters:
Parameter Type Description
lpFindHandle IN Search handle
pstStatisticInfo OUT People counting statistics

Return value:
TRUE means success, other values mean failure.

See also:
NETDEV_FindTrafficStatisticInfoList, NETDEV_FindCloseTrafficStatisticInfo

4.18.3 Stop the search and release resource

Interface name:
BOOL STDCALL NETDEV_FindCloseTrafficStatisticInfo(IN LPVOID lpFindHandle)
Interface description:
Stop the search and release resource

Parameters:
Parameter Type Description
lpFindHandle IN Search handle

Return value:
TRUE means success, other values mean failure.

See also:
NETDEV_FindTrafficStatisticInfoList, NETDEV_FindNextTrafficStatisticInfo

200 / 767
Network Device SDK (Windows) User Manual
4.18.4 Get people counting statistics

Interface name:
BOOL STDCALL NETDEV_GetTrafficStatistic
(
LPVOID lpUserID,
LPNETDEV_TRAFFIC_STATISTICS_COND_S pstStatisticCond,
LPNETDEV_TRAFFIC_STATISTICS_DATA_S pstTrafficStatistic
);
Interface description:
Get people counting statistics

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstStatisticCond IN People counting command
pstTrafficStatistic OUT People counting

Return value:
TRUE means success, other values mean failure.

See also:

4.18.5 Reset people counting statistics

Interface name:
BOOL STDCALL NETDEV_ResetPassengerFlow
(
LPVOID lpUserID,
INT32 dwChannelID
);
Interface description:
Reset people counting statistics

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwChannelID IN Channel ID

Return value:
TRUE means success, other values mean failure.

See also:

201 / 767
Network Device SDK (Windows) User Manual
4.18.6 Get time interval of reporting people counting statistics

Interface name:
BOOL STDCALL NETDEV_GetTrafficStatisticReportTime
(
LPVOID lpUserID,
INT32 dwChannelID,
LPNETDEV_TRAFFIC_STATISTICS_REPORT_TIME_S pstReportTimeValue
);
Interface description:
Get time interval of reporting people counting statistics

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwChannelID IN Channel ID
pstReportTimeValue OUT Time interval of reporting people counting statistics

Return value:
TRUE means success, other values mean failure.

See also:

4.18.7 Start getting people counting statistics

Interface name:
BOOL STDCALL NETDEV_StartTrafficStatistic
(
LPVOID lpUserID,
LPNETDEV_TRAFFIC_STATISTICS_COND_S pstStatisticCond,
UINT32* pudwSearchID
);
Interface description:
Start getting people counting statistics

Parameters:
Parameter Type Description
lpUserID IN User login ID
pstStatisticCond IN People counting statistics structure
pudwSearchID OUT People counting search ID

Return value:
TRUE means success, other values mean failure.

See also:
202 / 767
Network Device SDK (Windows) User Manual
NETDEV_StopTrafficStatistic

4.18.8 Stop getting people counting statistics

Interface name:
BOOL STDCALL NETDEV_StopTrafficStatistic
(
LPVOID lpUserID,
UINT32 udwSearchID
);
Interface description:
Stop getting people counting statistics

Parameters:
Parameter Type Description
lpUserID IN User login ID
udwSearchID IN People counting search ID

Return value:
TRUE means success, other values mean failure.

See also:
NETDEV_StartTrafficStatistic

4.18.9 Start getting multi-channel people counting statistics

Interface name:
BOOL STDCALL NETDEV_StartMultiTrafficStatistic
(
LPVOID lpUserID,
LPNETDEV_MULTI_TRAFFIC_STATISTICS_COND_S pstStatisticCond,
UINT32* pudwSearchID
);

Interface description:
Start getting multi-channel people counting statistics

Parameters:
Parameter Type Description
lpUserID IN User login ID
pstStatisticCond IN People counting statistics structure
pudwSearchID OUT People counting search ID
203 / 767
Network Device SDK (Windows) User Manual

Return value:
TRUE means success, other values mean failure.

See also:

4.18.10 Get people counting progress

Interface name:
BOOL STDCALL NETDEV_GetTrafficStatisticProgress
(
LPVOID lpUserID,
UINT32 udwSearchID,
UINT32* pudwProgress
);

Interface description:
Get people counting progress

Parameters:
Parameter Type Description
lpUserID IN User login ID
udwSearchID IN People counting search ID
pudwProgress OUT People counting progress

Return value:
TRUE means success, other values mean failure.

See also:

4.18.11 Register the callback function to receive people counting statistics

Interface name:
BOOL STDCALL NETDEV_SetPassengerFlowStatisticCallBack
(
LPVOID lpUserID,
NETDEV_PassengerFlowStatisticCallBack_PF cbPassengerFlowStatisticCallBack,
LPVOID lpUserData
);
Interface description:
Register the callback function to receive people counting statistics

Parameters:
Parameter Type Description
lpUserID IN User login handle
cbPassengerFlowStatisticCallBack IN Callback function to register
204 / 767
Network Device SDK (Windows) User Manual
lpUserData IN User data

Callback Function
typedef void (STDCALL *NETDEV_PassengerFlowStatisticCallBack_PF)
(
LPVOID lpUserID,
LPNETDEV_PASSENGER_FLOW_STATISTIC_DATA_S pstPassengerFlowData,
LPVOID lpUserData
);

Callback Function Parameters


Parameter Type Description
lpUserID IN User login handle
pstPassengerFlowData IN People counting statistics
lpUserData IN User data

Return value:
TRUE means success, other values mean failure.

Remarks:
 To close the callback function, set the second parameter to NULL.

See also:

4.19 Monitoring Task

4.19.1 Add person

Interface name:
BOOL STDCALL NETDEV_AddPersonInfo
(
LPVOID lpUserID,
UINT32 udwPersonLibID,
LPNETDEV_PERSON_INFO_LIST_S pstPersonInfoList,
LPNETDEV_PERSON_RESULT_LIST_S pstPersonResultList
);

Interface description:
Add person

Parameters:
Parameter Type Description
lpUserID IN User login handle
udwPersonLibID IN Person library ID

205 / 767
Network Device SDK (Windows) User Manual
pstPersonInfoList IN Person list
pstPersonResultList OUT Person list

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_DeletePersonInfo, NETDEV_ModifyPersonInfo, NETDEV_DeletePersonInfoList

4.19.2 Delete person

Interface name:
BOOL STDCALL NETDEV_DeletePersonInfo
(
LPVOID lpUserID,
UINT32 udwPersonLibID,
UINT32 udwPersonID,
UINT32 udwLastChange
);

Interface description:
Delete person

Parameters:
Parameter Type Description
lpUserID IN User login handle
udwPersonLibID IN Person library ID
udwPersonID IN Person ID
udwLastChange IN Last time modified

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_ AddPersonInfo, NETDEV_ModifyPersonInfo, NETDEV_DeletePersonInfoList

4.19.3 Add a face monitoring task

Interface name:
BOOL STDCALL NETDEV_AddPersonMonitorInfo
(
LPVOID lpUserID,
LPNETDEV_MONITION_INFO_S pstMonitorInfo,

206 / 767
Network Device SDK (Windows) User Manual
LPNETDEV_MONITOR_RESULT_INFO_S pstMonitorResultInfo
);

Interface description:
Add a face monitoring task

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstMonitorInfo INOUT Monitoring task info. The monitoring task ID is returned if the
request is successful.
pstMonitorResultInfo INOUT Monitoring info returned for the added monitoring task.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error. pstMonitorResultInfo->udwChannelNum must not be less
than pstMonitorInfo stMonitorRuleInfo.udwChannelNum.

See also:
NETDEV_DeletePersonMonitorInfo

4.19.4 Delete a face monitoring task

Interface name:
BOOL STDCALL NETDEV_ DeletePersonMonitorInfo
(
LPVOID lpUserID,
UINT32 udwID
);

Interface description:
Delete a face monitoring task

Parameters:
Parameter Type Description
lpUserID IN User login handle
udwID IN Monitoring ID

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_AddPersonMonitorInfo

207 / 767
Network Device SDK (Windows) User Manual
4.19.5 Delete face monitoring tasks in batches

Interface name:
BOOL STDCALL NETDEV_ NETDEV_BatchDeletePersonMonitorInfo
(
LPVOID lpUserID,
LPNETDEV_BATCH_OPERATOR_LIST_S pstResultList
);

Interface description:
Delete face monitoring tasks in batches

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstResultList INOUT Returned list. Needs to input all the monitoring task IDs to be
deleted.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:

4.19.6 Create person library info

Interface name:
BOOL STDCALL NETDEV_CreatePersonLibInfo
(
LPVOID lpUserID,
LPNETDEV_LIB_INFO_S pstPersonLibInfo,
UINT32 *pudwID
);

Interface description:
Create person library info

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstPersonLibInfo IN Person library info
pudwID OUT ID of the created library.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use

208 / 767
Network Device SDK (Windows) User Manual
the error code to determine the cause of error.

See also:
NETDEV_ ModifyPersonLibInfo, NETDEV_DeletePersonLibInfo

4.19.7 Modify person library info

Interface name:
BOOL STDCALL NETDEV_ModifyPersonLibInfo
(
LPVOID lpUserID,
LPNETDEV_PERSON_LIB_LIST_S pstPersonLibList
);

Interface description:
Modify person library info

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstPersonLibList IN Person library list

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_CreatePersonLibInfo, NETDEV_DeletePersonLibInfo

4.19.8 Delete a person library

Interface name:
BOOL STDCALL NETDEV_DeletePersonLibInfo
(
LPVOID lpUserID,
UINT32 udwPersonLibID,
LPNETDEV_DELETE_DB_FLAG_INFO_S pstFlagInfo
);

Interface description:
Delete a person library

Parameters:
Parameter Type Description
lpUserID IN User login handle

209 / 767
Network Device SDK (Windows) User Manual
udwPersonLibID IN Person library ID
pstFlagInfo IN Library deleting flag

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_ CreatePersonLibInfo, NETDEV_ ModifyPersonLibInfo

4.19.9 Get configuration of a face monitoring task

Interface name:
BOOL STDCALL NETDEV_GetPersonMonitorRuleInfo
(
LPVOID lpUserID,
LPNETDEV_MONITION_INFO_S pstMonitorInfo
);

Interface description:
Get configuration of a face monitoring task

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstMonitorInfo INOUT Monitoring task info. Input monitoring task ID, and output monitoring
task info if successful.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error. The pudwMonitorChlIDList in Monitoring Task Info >
Face Monitoring Task Configuration is requested by the upper layer. When the interface calling failed
and the error code is NETDEV_E_NEED_MORE_MEMORY, use udwChannelNum to decide whether the requested
memory is insufficient.

See also:
NETDEV_ SetPersonMonitorRuleInfo

4.19.10 Set a face monitoring task

Interface name:
BOOL STDCALL NETDEV_ SetPersonMonitorRuleInfo
(
LPVOID lpUserID,
LPNETDEV_MONITION_INFO_S pstMonitorInfo
);
210 / 767
Network Device SDK (Windows) User Manual

Interface description:
Set a face monitoring task

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstMonitorInfo IN Monitoring task info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_ GetPersonMonitorRuleInfo

4.19.11 Get capacity info of all person libraries

Interface name:
BOOL STDCALL NETDEV_GetPersonLibCapacity
(
LPVOID lpUserID,
INT32 dwTimeOut,
LPNETDEV_PERSON_LIB_CAP_LIST_S pstCapacityList
);

Interface description:
Get capacity info of all person libraries

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwTimeOut IN Connection timeout value.
pstCapacityList OUT Capacity of all person libraries

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:

211 / 767
Network Device SDK (Windows) User Manual
4.19.12 Search person info with criteria

Get person list

LPVOID STDCALL NETDEV_FindPersonInfoList


(
LPVOID lpUserID,
UINT32 udwPersonLibID,
LPNETDEV_PERSON_QUERY_INFO_S pstQueryInfo,
LPNETDEV_BATCH_OPERATE_BASIC_S pstQueryResultInfo
);

Interface description:
Search person list with criteria

Parameters:
Parameter Type Description
lpUserID IN User login handle
udwPersonLibID IN Person library ID
pstQueryInfo IN Face info search criteria
pstQueryResultInfo OUT Returned person info

Return value:
Null means failure, other values are used as input parameters of NETDEV_FindNextPersonInfo and
NETDEV_FindClosePersonInfoList.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindNextPersonInfo and NETDEV_FindClosePersonInfoList
interfaces.
 After the interface is called successfully, call the NETDEV_FindNextPersonInfo interface
repeatedly to get the next person info.
 Call the NETDEV_FindClosePersonInfoList interface to release resource and stop the search after
person info is obtained.

See also:
NETDEV_FindNextPersonInfo, NETDEV_FindClosePersonInfoList

Get person info one by one

BOOL STDCALL NETDEV_FindNextPersonInfo


(
LPVOID lpFindHandle,

212 / 767
Network Device SDK (Windows) User Manual
LPNETDEV_PERSON_INFO_S pstPersonInfo
);

Interface description:
Get person info one by one

Parameters:
Parameter Type Description
lpFindHandle IN File search handle
pstPersonInfo OUT Person info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindPersonInfoList and NETDEV_FindClosePersonInfoList
interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindClosePersonInfoList interface to release resource and stop the search after
person info is obtained.

See also:
NETDEV_FindPersonInfoList, NETDEV_FindClosePersonInfoList

Stop searching person info

BOOL STDCALL NETDEV_FindClosePersonInfoList


(
LPVOID lpFindHandle
);

Interface description:
Stop searching person info and release resource

Parameters:
Parameter Type Description
lpFindHandle IN File search handle, which is the return value from the
NETDEV_FindPersonInfoList interface.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

213 / 767
Network Device SDK (Windows) User Manual
Remarks:
 Use this interface with the NETDEV_FindPersonInfoList and NETDEV_FindNextPersonInfo interfaces.
 Call the NETDEV_FindClosePersonInfoList interface to release resource and stop the search after
person info is obtained.

See also:
NETDEV_FindPersonInfoList, NETDEV_FindNextPersonInfo

4.19.13 Get all the existing person libraries

Search all the person libraries

LPVOID STDCALL NETDEV_FindPersonLibList


(
LPVOID lpUserID
);

Interface description:
Search all the person libraries

Parameters:
Parameter Type Description
lpUserID IN User login handle

Return value:
Null means failure, other values are used as the input parameter of NETDEV_FindNextPersonLibInfo and
NETDEV_FindClosePersonLibList. Call NETDEV_GetLastError to get the error code and use the error code
to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindNextPersonLibInfo and NETDEV_FindClosePersonLibList
interfaces.
 After the interface is called successfully, call the NETDEV_FindNextPersonLibInfo interface
repeatedly to get the next library info.
 Call the NETDEV_FindClosePersonLibList interface to release resource and stop the search after
face library info is obtained.

See also:
NETDEV_FindNextPersonLibInfo, NETDEV_FindClosePersonLibList

Get person library info one by one

BOOL STDCALL NETDEV_ FindNextPersonLibInfo

214 / 767
Network Device SDK (Windows) User Manual
(
LPVOID lpFindHandle,
LPNETDEV_LIB_INFO_S pstPersonLibInfo
);

Interface description:
Get person library info one by one

Parameters:
Parameter Type Description
lpFindHandle IN Search handle
pstPersonLibInfo OUT Face library info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindPersonLibList and NETDEV_FindClosePersonLibList interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindClosePersonLibList interface to release resource and stop the search after
face library info is obtained.

See also:
NETDEV_FindPersonLibList, NETDEV_FindClosePersonLibList

Stop searching face library info

BOOL STDCALL NETDEV_FindClosePersonLibList


(
LPVOID lpFindHandle
);

Interface description:
Stop searching person info and release resource

Parameters:
Parameter Type Description
lpFindHandle IN Search handle

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

215 / 767
Network Device SDK (Windows) User Manual
Remarks:
 Use this interface with the NETDEV_FindPersonInfoList and NETDEV_FindNextPersonInfo interfaces.
 Call the NETDEV_FindClosePersonInfoList interface to release resource and stop the search after
face library info is obtained.

See also:
NETDEV_FindPersonLibList, NETDEV_FindNextPersonInfo

4.19.14 Search all the face monitoring tasks

Search all the face monitoring tasks

LPVOID STDCALL NETDEV_FindPersonMonitorList


(
LPVOID lpUserID,
UINT32 udwChannelID,
LPNETDEV_MONITOR_QUERY_INFO_S pstQueryInfo
);

Interface description:
Get the face monitoring task list

Parameters:
Parameter Type Description
lpUserID IN User login handle
udwChannelID IN Channel ID. Used only when getting monitoring info of NVR channels.
pstQueryInfo IN Search criteria. Supported by NVR only.

Return value:
Null means failure, other values are used as the input parameter of NETDEV_FindNextPersonMonitorInfo
and NETDEV_FindClosePersonMonitorList. Call NETDEV_GetLastError to get the error code and use the
error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindNextPersonMonitorInfo and
NETDEV_FindClosePersonMonitorList interfaces.
 After the interface is called successfully, call the NETDEV_FindNextPersonMonitorInfo interface
repeatedly to get the next task info.
 Call the NETDEV_FindClosePersonMonitorList interface to release resource and stop the search
after monitoring task info is obtained.

See also:

216 / 767
Network Device SDK (Windows) User Manual
NETDEV_FindNextPersonMonitorInfo, NETDEV_FindClosePersonMonitorList

Get monitoring task info one by one

BOOL STDCALL NETDEV_FindNextPersonMonitorInfo


(
LPVOID lpFindHandle,
LPNETDEV_MONITION_INFO_S pstMonitorInfo
);

Interface description:
Get monitoring task info one by one

Parameters:
Parameter Type Description
lpFindHandle IN Search handle
pstMonitorInfo OUT Monitoring task info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindPersonMonitorList and NETDEV_FindClosePersonMonitorList
interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindClosePersonMonitorList interface to release resource and stop the search
after monitoring task info is obtained.

See also:
NETDEV_FindPersonMonitorList, NETDEV_FindClosePersonMonitorList

Stop searching monitoring task info

BOOL STDCALL NETDEV_FindClosePersonMonitorList


(
LPVOID lpFindHandle
);

Interface description:
Stop searching monitoring task info and release resource

Parameters:

217 / 767
Network Device SDK (Windows) User Manual
Parameter Type Description
lpFindHandle IN Search handle

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindPersonMonitorList and NETDEV_FindNextPersonMonitorInfo
interfaces.
 Call the NETDEV_FindClosePersonMonitorList interface to release resource and stop the search
after monitoring task info is obtained.

See also:
NETDEV_FindPersonMonitorList, NETDEV_FindNextPersonMonitorInfo

4.19.15 Add a vehicle library

Interface name:
BOOL STDCALL NETDEV_AddVehicleLibInfo
(
LPVOID lpUserID,
LPNETDEV_LIB_INFO_S pstVehicleLibInfo
);

Interface description:
Add a vehicle library

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstVehicleLibInfo INOUT Vehicle library info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_ModifyVehicleLibInfo, NETDEV_DeleteVehicleLibInfo

4.19.16 Delete a vehicle library

Interface name:
BOOL STDCALL NETDEV_DeleteVehicleLibInfo
(
LPVOID lpUserID,
218 / 767
Network Device SDK (Windows) User Manual
UINT32 udwVehicleLibID,
LPNETDEV_DELETE_DB_FLAG_INFO_S pstDelLibFlag
);

Interface description:
Delete a vehicle library

Parameters:
Parameter Type Description
lpUserID IN User login handle
udwVehicleLibID IN Vehicle library ID
pstDelLibFlag IN Library deleting flag

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_AddVehicleLibInfo, NETDEV_ModifyVehicleLibInfo

4.19.17 Modify a vehicle library

Interface name:
BOOL STDCALL NETDEV_ModifyVehicleLibInfo
(
LPVOID lpUserID,
LPNETDEV_PERSON_LIB_LIST_S pstVehicleLibList
);

Interface description:
Modify a vehicle library

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstVehicleLibList IN Vehicle library list

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_AddVehicleLibInfo, NETDEV_DeleteVehicleLibInfo

219 / 767
Network Device SDK (Windows) User Manual
4.19.18 Add vehicle members in batches

Interface name:
BOOL STDCALL NETDEV_AddVehicleMemberList
(
LPVOID lpUserID,
UINT32 udwLibID,
LPNETDEV_VEHICLE_INFO_LIST_S pstVehicleMemberList,
LPNETDEV_BATCH_OPERATOR_LIST_S pstResultList
);

Interface description:
Add vehicle members in batches

Parameters:
Parameter Type Description
lpUserID IN User login handle
udwLibID IN Vehicle library ID
pstVehicleMemberList IN Vehicle list
pstResultList OUT Returned batch operation results

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_DelVehicleMemberList

4.19.19 Delete vehicle members in batches

Interface name:
BOOL STDCALL NETDEV_DelVehicleMemberList
(
LPVOID lpUserID,
UINT32 udwLib,
LPNETDEV_VEHICLE_INFO_LIST_S pstVehicleMemberList,
LPNETDEV_BATCH_OPERATOR_LIST_S pstBatchList
);

Interface description:
Delete vehicle members in batches

Parameters:
Parameter Type Description
lpUserID IN User login handle

220 / 767
Network Device SDK (Windows) User Manual
udwLib IN Library ID
pstVehicleMemberList IN Vehicle member list
pstBatchList OUT Returned batch operation results

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_AddVehicleMemberList

4.19.20 Delete a vehicle member

Interface name:
BOOL STDCALL NETDEV_DelVehicleInfo
(
LPVOID lpUserID,
UINT32 udwLibID,
UINT32 udwVehicleID
);

Interface description:
Delete a vehicle member

Parameters:
Parameter Type Description
lpUserID IN User login handle
udwLibID IN Vehicle library ID
udwVehicleID IN Vehicle ID

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:

4.19.21 Add a vehicle monitoring task

Interface name:
BOOL STDCALL NETDEV_AddVehicleMonitorInfo
(
LPVOID lpUserID,
LPNETDEV_MONITION_INFO_S pstMonitorInfo
);

221 / 767
Network Device SDK (Windows) User Manual
Interface description:
Add a vehicle monitoring task

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstMonitorInfo INOUT Monitoring task info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_DeleteVehicleMonitorInfo

4.19.22 Delete vehicle monitoring tasks in batches

Interface name:
BOOL STDCALL NETDEV_DeleteVehicleMonitorInfo
(
LPVOID lpUserID,
LPNETDEV_BATCH_OPERATOR_LIST_S pstBatchList
);

Interface description:
Delete vehicle monitoring tasks in batches

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstBatchList INOUT Vehicle monitoring task list

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_AddVehicleMonitorInfo

4.19.23 Get detailed info about a vehicle member

Interface name:
BOOL STDCALL NETDEV_GetVehicleMemberInfo
(
LPVOID lpUserID,

222 / 767
Network Device SDK (Windows) User Manual
UINT32 udwVehicleID,
LPNETDEV_VEHICLE_DETAIL_INFO_S pstVehicleDetailInfo
);

Interface description:
Get detailed info about a vehicle member

Parameters:
Parameter Type Description
lpUserID IN User login handle
udwVehicleID IN Vehicle ID
pstVehicleDetailInfo OUT Detailed vehicle info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:

4.19.24 Modify vehicle info in a vehicle library

Interface name:
BOOL STDCALL NETDEV_ModifyVehicleMemberInfo
(
LPVOID lpUserID,
UINT32 udwVehicleLibID,
LPNETDEV_VEHICLE_INFO_LIST_S pstVehicleMemberList,
LPNETDEV_BATCH_OPERATOR_LIST_S pstResultList
);

Interface description:
Modify vehicle info in a vehicle library

Parameters:
Parameter Type Description
lpUserID IN User login handle
udwVehicleLibID IN Vehicle library ID
pstVehicleMemberList IN Detailed vehicle info
pstResultList OUT Returned batch operation results

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:

223 / 767
Network Device SDK (Windows) User Manual
4.19.25 Get configuration of a vehicle monitoring task

Interface name:
BOOL STDCALL NETDEV_GetVehicleMonitorInfo
(
LPVOID lpUserID,
UINT32 udwID,
LPNETDEV_MONITION_RULE_INFO_S pstMonitorInfo
);

Interface description:
Get configuration of a vehicle monitoring task

Parameters:
Parameter Type Description
lpUserID IN User login handle
udwID IN Vehicle monitoring ID
pstMonitorInfo OUT Monitoring task info. Input monitoring task ID, and output monitoring
task info if successful.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 The memory for vehicle comparison images is assigned by user. The size of image receiving buffer
needs to be specified as the input parameter. The actual size needed will be returned if calling
the interface failed.
 Error code: NETDEV_E_NEED_MORE_MEMORY User-allocated memory is insufficient
 If there is no vehicle comparison image, the size of vehicle comparison image will be set to 0.

See also:
NETDEV_SetVehicleMonitorInfo

4.19.26 Set a vehicle monitoring task

Interface name:
BOOL STDCALL NETDEV_SetVehicleMonitorInfo
(
LPVOID lpUserID,
UINT32 udwID,
LPNETDEV_MONITION_RULE_INFO_S pstMonitorInfo
);

Interface description:

224 / 767
Network Device SDK (Windows) User Manual
Set a vehicle monitoring task

Parameters:
Parameter Type Description
lpUserID IN User login handle
udwID IN Vehicle monitoring ID
pstMonitorInfo IN Monitoring task info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_GetVehicleMonitorInfo

4.19.27 Assign vehicle members in batches to a vehicle library

Interface name:
BOOL STDCALL NETDEV_AddVehicleLibMember
(
LPVOID lpUserID,
UINT32 udwVehicleLibID,
LPNETDEV_BATCH_OPERATE_MEMBER_LIST_S pstMemberList,
LPNETDEV_BATCH_OPERATOR_LIST_S pstBatchResultList
);

Interface description:
Assign vehicle members in batches to a vehicle library

Parameters:
Parameter Type Description
lpUserID IN User login handle
udwVehicleLibID IN Vehicle library ID
pstMemberList IN Assign vehicle member IDs in batches
pstBatchResultList OUT Returned batch operation results

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_DeleteVehicleLibMember

4.19.28 Remove vehicle members in batches from a vehicle library

Interface name:
225 / 767
Network Device SDK (Windows) User Manual
BOOL STDCALLNETDEV_DeleteVehicleLibMember
(
LPVOID lpUserID,
UINT32 udwVehicleLibID,
LPNETDEV_BATCH_OPERATE_MEMBER_LIST_S pstMemberList,
LPNETDEV_BATCH_OPERATOR_LIST_S pstBatchResultList
);

Interface description:
Remove vehicle members in batches from a vehicle library

Parameters:
Parameter Type Description
lpUserID IN User login handle
udwVehicleLibID IN Vehicle library ID
pstMemberList IN Remove vehicle member IDs in batches
pstBatchResultList OUT Returned batch operation results

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_AddVehicleLibMember

4.19.29 Get vehicle image info of a vehicle recognition record

Interface name:
BOOL STDCALL NETDEV_GetVehicleRecordImageInfo
(
LPVOID lpUserID,
UINT32 udwRecordID,
LPNETDEV_FILE_INFO_S pstFileInfo
);

Interface description:
Get vehicle image info of a vehicle recognition record

Parameters:
Parameter Type Description
lpUserID IN User login handle
udwRecordID IN Vehicle recognition record ID
pstFileInfo INOUT Vehicle image info

Return value:

226 / 767
Network Device SDK (Windows) User Manual
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:

4.19.30 Get vehicle library list

Get vehicle library list

LPVOID STDCALL NETDEV_ FindVehicleLibList


(
LPVOID lpUserID
);

Interface description:
Get vehicle library list

Parameters:
Parameter Type Description
lpUserID IN User login handle

Return value:
Null means failure, other values are used as the input parameter of NETDEV_FindNextVehicleLibInfo and
NETDEV_FindCloseVehicleLibList. Call NETDEV_GetLastError to get the error code and use the error code
to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindNextVehicleLibInfo and NETDEV_FindCloseVehicleLibList
interfaces.
 After the interface is called successfully, call the NETDEV_FindNextVehicleLibInfo interface
repeatedly to get the next library info.
 Call the NETDEV_FindCloseVehicleLibList interface to release resource and stop the search after
vehicle library info is obtained.

See also:
NETDEV_FindNextVehicleLibInfo, NETDEV_FindCloseVehicleLibList

Get vehicle library info one by one

BOOL STDCALL NETDEV_ FindNextVehicleLibInfo


(
LPVOID lpFindHandle,
LPNETDEV_LIB_INFO_S pstVehicleLibInfo

227 / 767
Network Device SDK (Windows) User Manual
);

Interface description:
Get vehicle library info one by one

Parameters:
Parameter Type Description
lpFindHandle IN Search handle
pstVehicleLibInfo OUT Vehicle library info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindVehicleLibList and NETDEV_FindCloseVehicleLibList
interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindCloseVehicleLibList interface to release resource and stop the search after
vehicle library info is obtained.

See also:
NETDEV_FindVehicleLibList, NETDEV_FindCloseVehicleLibList

Stop searching vehicle library info

BOOL STDCALL NETDEV_FindCloseVehicleLibList


(
LPVOID lpFindHandle
);

Interface description:
Stop searching vehicle library info and release resource

Parameters:
Parameter Type Description
lpFindHandle IN Search handle

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindVehicleLibList and NETDEV_FindNextVehicleLibInfo

228 / 767
Network Device SDK (Windows) User Manual
interfaces.
 Call the NETDEV_FindCloseVehicleLibList interface to release resource and stop the search after
vehicle library info is obtained.

See also:
NETDEV_FindVehicleLibList, NETDEV_FindNextVehicleLibInfo

4.19.31 Search vehicle recognition records with criteria

Search vehicle recognition records with criteria

LPVOID STDCALL NETDEV_FindVehicleRecordInfoList


(
LPVOID lpUserID,
LPNETDEV_ALARM_LOG_COND_LIST_S pstFindCond,
LPNETDEV_SMART_ALARM_LOG_RESULT_INFO_S pstResultInfo
);

Interface description:
Search vehicle recognition records with criteria

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstFindCond IN Search criteria
pstResultInfo OUT Returned records

Return value:
Null means failure, other values are used as the input parameter of NETDEV_FindNextVehicleRecordInfo
and NETDEV_FindCloseVehicleRecordList. Call NETDEV_GetLastError to get the error code and use the
error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindNextVehicleRecordInfo and
NETDEV_FindCloseVehicleRecordList interfaces.
 After the interface is called successfully, call the NETDEV_FindNextVehicleRecordInfo interface
repeatedly to get the next record info.
 Call the NETDEV_FindCloseVehicleRecordList interface to release resource and stop the search
after vehicle recognition record info is obtained.

See also:
NETDEV_FindNextVehicleRecordInfo, NETDEV_FindCloseVehicleRecordList

229 / 767
Network Device SDK (Windows) User Manual

Get vehicle recognition record info one by one

BOOL STDCALL NETDEV_FindNextVehicleRecordInfo


(
LPVOID lpFindHandle,
LPNETDEV_VEHICLE_RECORD_INFO_S pstRecordInfo
);

Interface description:
Get vehicle recognition record info one by one

Parameters:
Parameter Type Description
lpFindHandle IN Search handle
pstRecordInfo OUT Vehicle recognition record info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindVehicleRecordInfoList and
NETDEV_FindCloseVehicleRecordList interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindCloseVehicleRecordList interface to release resource and stop the search
after vehicle recognition record info is obtained.

See also:
NETDEV_FindVehicleRecordInfoList, NETDEV_FindCloseVehicleRecordList

Stop searching vehicle recognition record info

BOOL STDCALL NETDEV_FindCloseVehicleRecordList


(
LPVOID lpFindHandle
);

Interface description:
Stop searching vehicle recognition record info and release resource

Parameters:
Parameter Type Description
lpFindHandle IN Search handle

230 / 767
Network Device SDK (Windows) User Manual

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindVehicleRecordInfoList and NETDEV_FindNextVehicleRecordInfo
interfaces.
 Call the NETDEV_FindCloseVehicleRecordList interface to release resource and stop the search
after vehicle recognition record info is obtained.

See also:
NETDEV_FindVehicleRecordInfoList, NETDEV_FindNextVehicleRecordInfo

4.19.32 Get all vehicle monitoring tasks

Get all vehicle monitoring tasks

LPVOID STDCALL NETDEV_FindVehicleMonitorList


(
LPVOID lpUserID
);

Interface description:
Get all vehicle monitoring tasks

Parameters:
Parameter Type Description
lpUserID IN User login handle

Return value:
Null means failure, other values are used as the input parameter of NETDEV_FindNextVehicleMonitorInfo
and NETDEV_FindCloseVehicleMonitorList. Call NETDEV_GetLastError to get the error code and use the
error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindNextVehicleMonitorInfo and
NETDEV_FindCloseVehicleMonitorList interfaces.
 After the interface is called successfully, call the NETDEV_FindNextVehicleMonitorInfo interface
repeatedly to get the next task info.
 Call the NETDEV_FindCloseVehicleMonitorList interface to release resource and stop the search
after vehicle monitoring task info is obtained.

231 / 767
Network Device SDK (Windows) User Manual
See also:
NETDEV_FindNextVehicleMonitorInfo, NETDEV_FindCloseVehicleMonitorList

Get vehicle monitoring task info one by one

BOOL STDCALL NETDEV_FindNextVehicleMonitorInfo


(
LPVOID lpFindHandle,
LPNETDEV_MONITION_INFO_S pstVehicleMonitorInfo
);

Interface description:
Get vehicle monitoring task info one by one

Parameters:
Parameter Type Description
lpFindHandle IN Search handle
pstVehicleMonitorInfo OUT Monitoring task info

Return value:
TRUE means success, other values mean failure. The memory for vehicle comparison images is assigned
by user. The size of image receiving buffer needs to be specified when used as the input parameter.
The actual size needed will be returned if calling the interface failed. If there is no vehicle
comparison image, the size of vehicle comparison image will be set to 0. The obtained image data must
be saved separately, otherwise, memory will be released after the NETDEV_FindCloseVehicleMonitorList
interface is called. Call NETDEV_GetLastError to get the error code and determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindVehicleMonitorList and NETDEV_FindCloseVehicleMonitorList
interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindCloseVehicleMonitorList interface to release resource and stop the search
after vehicle monitoring task info is obtained.

See also:
NETDEV_FindVehicleMonitorList, NETDEV_FindCloseVehicleMonitorList

Stop searching vehicle monitoring task info

BOOL STDCALL NETDEV_FindCloseVehicleMonitorList


(
LPVOID lpFindHandle
);

232 / 767
Network Device SDK (Windows) User Manual

Interface description:
Stop searching vehicle monitoring task info and release resource

Parameters:
Parameter Type Description
lpFindHandle IN Search handle

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindVehicleMonitorList and NETDEV_FindNextVehicleMonitorInfo
interfaces.
 Call the NETDEV_FindCloseVehicleMonitorList interface to release resource and stop the search
after vehicle monitoring task info is obtained.

See also:
NETDEV_FindVehicleMonitorList, NETDEV_FindNextVehicleMonitorInfo

4.19.33 Search vehicle members with criteria

Search vehicle members with criteria

LPVOID STDCALL NETDEV_FindVehicleMemberDetailList


(
LPVOID lpUserID,
UINT32 udwVehicleLibID,
LPNETDEV_PERSON_QUERY_INFO_S pstFindCond,
LPNETDEV_BATCH_OPERATE_BASIC_S pstDBMemberList
);

Interface description:
Search vehicle members with criteria

Parameters:
Parameter Type Description
lpUserID IN User login handle
udwVehicleLibID IN Library ID
pstFindCond IN Search criteria
pstDBMemberList OUT Returned member info

Return value:

233 / 767
Network Device SDK (Windows) User Manual
Null means failure, other values are used as input parameters of NETDEV_FindNextVehicleMemberDetail
and NETDEV_FindCloseVehicleMemberDetail.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindNextVehicleMemberDetail and
NETDEV_FindCloseVehicleMemberDetail interfaces.
 After the interface is called successfully, call the NETDEV_FindNextVehicleMemberDetail interface
repeatedly to get the next member info.
 Call the NETDEV_FindCloseVehicleMemberDetail interface to release resource and stop the search
after vehicle member info is obtained.

See also:
NETDEV_FindNextVehicleMemberDetail, NETDEV_FindCloseVehicleMemberDetail

Get vehicle member info one by one

BOOL STDCALL NETDEV_FindNextVehicleMemberDetail


(
LPVOID lpFindHandle,
LPNETDEV_VEHICLE_DETAIL_INFO_S pstVehicleMemberInfo
);

Interface description:
Get vehicle member info one by one

Parameters:
Parameter Type Description
lpFindHandle IN Search handle
pstVehicleMemberInfo OUT Vehicle member info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindVehicleMemberDetailList and
NETDEV_FindCloseVehicleMemberDetail interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindCloseVehicleMemberDetail interface to release resource and stop the search
after vehicle member info is obtained.

See also:

234 / 767
Network Device SDK (Windows) User Manual
NETDEV_FindVehicleMemberDetailList, NETDEV_FindCloseVehicleMemberDetail

Stop searching vehicle member info

BOOL STDCALL NETDEV_FindCloseVehicleMemberDetail


(
LPVOID lpFindHandle
);

Interface description:
Stop searching vehicle member info and release resource

Parameters:
Parameter Type Description
lpFindHandle IN Search handle

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindVehicleMemberDetailList and
NETDEV_FindNextVehicleMemberDetail interfaces.
 Call the NETDEV_FindCloseVehicleMemberDetail interface to release resource and stop the search
after vehicle member info is obtained.

See also:
NETDEV_FindVehicleMemberDetailList, NETDEV_FindNextVehicleMemberDetail

4.19.34 Modify a person

Interface name:
BOOL STDCALL NETDEV_ModifyPersonInfo
(
LPVOID lpUserID,
UINT32 udwPersonLibID,
LPNETDEV_PERSON_INFO_LIST_S pstPersonInfoList,
LPNETDEV_PERSON_RESULT_LIST_S pstPersonResultList
);

Interface description:
Modify a person

Parameters:

235 / 767
Network Device SDK (Windows) User Manual
Parameter Type Description
lpUserID IN User login handle
udwPersonLibID IN Person library ID
pstPersonInfoList IN Person list
pstPersonResultList OUT Returned person list

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_DeletePersonInfo, NETDEV_AddPersonInfo, NETDEV_DeletePersonInfoList

4.19.35 Delete persons in batches

Interface name:
BOOL STDCALL NETDEV_DeletePersonInfoList
(
LPVOID lpUserID,
UINT32 udwPersonLibID,
LPNETDEV_BATCH_OPERATE_MEMBER_LIST_S pstIDList,
LPNETDEV_BATCH_OPERATOR_LIST_S pstResutList
);

Interface description:
Delete persons in batches

Parameters:
Parameter Type Description
lpUserID IN User login handle
udwPersonLibID IN Face library ID
pstIDList IN Face member list
pstResutList OUT Returned batch operation results

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_DeletePersonInfo, NETDEV_AddPersonInfo, NETDEV_ModifyPersonInfo

236 / 767
Network Device SDK (Windows) User Manual

4.20 Transparent Transmission of Data

4.20.1 Create transparent channel

Interface name:
LPVOID STDCALL NETDEV_SerialStart
(
LPVOID lpUserID,
LPVOID lpInBuffer,
INT64 ulInBufferSize,
NETDEV_SerialDataCallBack_PF cbSerialDataCallBack,
LPVOID lpUserData
);

Interface description:
Create transparent channel;

Parameters:
Parameter Type Description
lpUserID IN User login handle
lpInBuffer IN Input buffer, which points to serial parameters of transparent
channel. See NETDEV_SERIAL_START_S
ulInBufferSize IN Input buffer size
cbSerialDataCallBack IN Callback function
lpUserData IN User data

Callback Function
typedef void(STDCALL *NETDEV_SerialDataCallBack_PF)
(
LPVOID lpSerialHandle,
INT32 dwChannelID,
CHAR* pRecvDataBuffer,
INT64 ulBufSize,
LPVOID lpUserData
);

Callback Function Parameters


Parameter Type Description
lpSerialHandle IN Handle returned when creating transparent channel
dwChannelID IN Channel ID
pRecvDataBuffer IN Pointer to data storing buffer
ulBufSize IN Data size
lpUserData IN Parameter set by user

237 / 767
Network Device SDK (Windows) User Manual
Return value:
0 means failure, other values mean the returned handle value of transparent channel. Call
NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

See also:
NETDEV_SerialSend, NETDEV_SerialStop

4.20.2 Send data to device’s serial port through transparent channel

Interface name:
BOOL STDCALL NETDEV_SerialSend
(
LPVOID lpSerialHandle,
INT32 dwChannelID,
CHAR* pSendBuf,
INT64 ulBufSize
);

Interface description:
Send data to device’s serial port through transparent channel

Parameters:
Parameter Type Description
lpSerialHandle IN Handle returned when creating transparent channel, which is the
return value from the NETDEV_SerialStart interface.
dwChannelID IN Serial port number
pSendBuf IN Pointer to data sending buffer
ulBufSize IN Buffer size

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_SerialStart, NETDEV_SerialStop

4.20.3 Disconnect transparent channel

Interface name:
BOOL STDCALL NETDEV_SerialStop
(
LPVOID lpSerialHandle
);

Interface description:
Disconnect transparent channel
238 / 767
Network Device SDK (Windows) User Manual

Parameters:
Parameter Type Description
lpSerialHandle IN Handle returned when creating transparent channel, which is the
return value from the NETDEV_SerialStart interface.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_SerialStart, NETDEV_SerialSend

4.21 User Configuration

4.21.1 Add user info

Interface name:
BOOL STDCALL NETDEV_CreateUser
(
LPVOID lpUserID,
LPNETDEV_USER_DETAIL_INFO_S pstUserDetailInfo
);

Interface description:
Add user info

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstUserDetailInfo IN User info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_ModifyUser, NETDEV_DeleteUser

4.21.2 Modify user info

Interface name:
BOOL STDCALL NETDEV_ModifyUser
(
LPVOID lpUserID,
239 / 767
Network Device SDK (Windows) User Manual
LPNETDEV_USER_MODIFY_DETAIL_INFO_S pstUserInfo
);

Interface description:
Modify user info

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstUserInfo IN User info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_CreateUser, NETDEV_DeleteUser

4.21.3 Delete user info

Interface name:
BOOL STDCALL NETDEV_DeleteUser
(
LPVOID lpUserID,
CHAR *pszUserName
);

Interface description:
Delete user info

Parameters:
Parameter Type Description
lpUserID IN User login handle
pszUserName IN Username

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_CreateUser, NETDEV_ModifyUser

4.21.4 Change current user’s password

Interface name:

240 / 767
Network Device SDK (Windows) User Manual
BOOL STDCALL NETDEV_ChangePassword
(
LPVOID lpUserID,
CHAR* pszNewPasswd
);

Interface description:
Change current user’s password

Parameters:
Parameter Type Description
lpUserID IN User login handle
pszNewPasswd IN New password

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:

4.21.5 Change a specified user’s password

Interface name:
BOOL STDCALL NETDEV_ModifyPassword
(
LPVOID lpUserID,
LPNETDEV_MODIFY_PASSWORD_INFO_S pstModifyPasswordInfo
);

Interface description:
Change a specified user’s password

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstModifyPasswordInfo INOUT User password info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:

241 / 767
Network Device SDK (Windows) User Manual
4.21.6 Get current device password

Interface name:
BOOL STDCALL NETDEV_GetDevPassword
(
LPVOID lpUserID,
CHAR *pszPassword
);

Interface description:
Get current password of device

Parameters:
Parameter Type Description
lpUserID IN User login handle
pszPassword OUT Password. Memory length must be greater than or equal to
NETDEV_LEN_64.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:

4.21.7 Get detailed info of a user

Interface name:
BOOL STDCALL NETDEV_GetUserDetailInfo
(
LPVOID lpUserID,
LPNETDEV_USER_DETAIL_INFO_S pstUserDetailInfo
);

Interface description:
Get detailed info of a user

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstUserDetailInfo INOUT User info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

242 / 767
Network Device SDK (Windows) User Manual

See also:

4.21.8 Get detailed info of a user

Interface name:
BOOL STDCALL NETDEV_GetUserDetailList
(
LPVOID lpUserID,
LPNETDEV_USER_DETAIL_LIST_S pstUserDetailList
);

Interface description:
Get detailed info of a user

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstUserDetailList OUT User list

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:

4.22 Organization Management

4.22.1 Add Organization

Interface name:
BOOL STDCALL NETDEV_AddOrgInfo
(
LPVOID lpUserID,
LPNETDEV_ORG_INFO_S pstOrgInfo,
INT32 *dwOrgID
);

Interface description:
Add Organization

Parameters:
Parameter Type Description
243 / 767
Network Device SDK (Windows) User Manual
lpUserID IN User login handle
pstOrgInfo IN Organization info
dwOrgID OUT Organization ID

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_ModifyOrgInfo, NETDEV_BatchDeleteOrgInfo

4.22.2 Modify Organization

Interface name:
BOOL STDCALL NETDEV_ModifyOrgInfo
(
LPVOID lpUserID,
LPNETDEV_ORG_INFO_S pstOrgInfo
);

Interface description:
Modify Organization

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstOrgInfo IN Organization info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_AddOrgInfo, NETDEV_BatchDeleteOrgInfo

4.22.3 Delete organizations in batches

Interface name:
BOOL STDCALL NETDEV_BatchDeleteOrgInfo
(
LPVOID lpUserID,
LPNETDEV_DEL_ORG_INFO_S pstOrgDelInfo,
LPNETDEV_ORG_BATCH_DEL_INFO_S pstOrgDelResultInfo
);

Interface description:
244 / 767
Network Device SDK (Windows) User Manual
Delete organizations in batches

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstOrgDelInfo IN Target organizational info
pstOrgDelResultInfo OUT Returned batch operation results

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_AddOrgInfo, NETDEV_ModifyOrgInfo

4.22.4 Modify channel by organization ID

Interface name:
BOOL STDCALL NETDEV_ModifyOrgChnInfo
(
LPVOID lpUserID,
LPNETDEV_ORG_CHN_SHORT_INFO_S pstOrgChnShortInfo
);

Interface description:
Modify channel by organization ID.

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstOrgChnShortInfo OUT Info about channels in the organization

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_GetOrgChnInfo

4.22.5 Get channel by organization ID

Interface name:
BOOL STDCALL NETDEV_GetOrgChnInfo
(
LPVOID lpUserID,

245 / 767
Network Device SDK (Windows) User Manual
INT32 dwOrgID,
LPNETDEV_ORG_CHN_SHORT_INFO_S pstOrgChnShortInfo
);

Interface description:
Get channel by organization ID

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwOrgID IN Organization ID
pstOrgChnShortInfo OUT Info about channels in the organization

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.
Call this interface twice. First call the interface to get the number of channels and return the
NETDEV_E_NEED_MORE_MEMORY error code; after memory is allocated dynamically according to the number
of channels, call this interface again to get channel info.

See also:
NETDEV_ModifyOrgChnInfo

4.22.6 Get channel list by organization ID

Get channel list by organization ID

LPVOID STDCALL NETDEV_FindOrgChnList


(
LPVOID lpUserID,
INT32 dwOrgID,
INT32 dwChnType
);

Interface description:
Get channel list by organization ID

Parameters:
Parameter Type Description
lpUserID IN User login handle
dwOrgID IN Organization ID
dwChnType IN Channel type. See #NETDEV_CHN_TYPE_E

Return value:

246 / 767
Network Device SDK (Windows) User Manual
Null means failure, other values are used as input parameters of NETDEV_FindNextOrgChn and
NETDEV_FindCloseOrgChn.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindNextOrgChn and NETDEV_FindCloseOrgChn interfaces.
 After the interface is called successfully, call the NETDEV_ FindNextOrgChn interface repeatedly
to get the next channel info.
 Call the NETDEV_FindCloseOrgChn interface to release resource and stop the search after
organization channel info is obtained.

See also:
NETDEV_FindNextOrgChn, NETDEV_FindCloseOrgChn

Get organization channel info one by one

BOOL STDCALL NETDEV_FindNextOrgChn


(
LPVOID lpFindHandle,
LPNETDEV_ORG_CHN_INFO_S pstOrgChnInfo
);

Interface description:
Get organization channel info one by one

Parameters:
Parameter Type Description
lpFindHandle IN Search handle
pstOrgChnInfo OUT Info about channels in the organization

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindOrgChnList and NETDEV_FindCloseOrgChn interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindCloseOrgChn interface to release resource and stop the search after
organization channel info is obtained.

See also:
NETDEV_FindOrgChnList, NETDEV_FindCloseOrgChn

247 / 767
Network Device SDK (Windows) User Manual

Stop searching organization channel info

BOOL STDCALL NETDEV_FindCloseOrgChn


(
LPVOID lpFindHandle
);

Interface description:
Stop searching organization channel info and release resource

Parameters:
Parameter Type Description
lpFindHandle IN Search handle

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindOrgChnList and NETDEV_FindNextOrgChn interfaces.
 Call the NETDEV_FindCloseOrgChn interface to release resource and stop the search after
organization channel info is obtained.

See also:
NETDEV_FindOrgChnList, NETDEV_FindNextOrgChn

4.22.7 Get organization list

Get organization list

LPVOID STDCALL NETDEV_FindOrgInfoList


(
LPVOID lpUserID,
LPNETDEV_ORG_FIND_COND_S pstFindCond
);

Interface description:
Get organization list

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstFindCond IN Search criteria for getting organization list

248 / 767
Network Device SDK (Windows) User Manual

Return value:
Null means failure, other values are used as input parameters of NETDEV_FindNextOrgInfo and
NETDEV_FindCloseOrgInfo.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindNextOrgInfo and NETDEV_FindCloseOrgInfo interfaces.
 After the interface is called successfully, call the NETDEV_ FindNextOrgInfo interface repeatedly
to get the next organization info.
 Call the NETDEV_FindCloseOrgInfo interface to release resource and stop the search after
organization info is obtained.

See also:
NETDEV_FindNextOrgInfo, NETDEV_FindCloseOrgInfo

Get organization info one by one

BOOL STDCALL NETDEV_FindNextOrgInfo


(
LPVOID lpFindHandle,
LPNETDEV_ORG_INFO_S pstOrgInfo
);

Interface description:
Get organization info one by one

Parameters:
Parameter Type Description
lpFindHandle IN Search handle
pstOrgInfo OUT Organization info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindOrgInfoList and NETDEV_FindCloseOrgInfo interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindCloseOrgInfo interface to release resource and stop the search after
organization info is obtained.

See also:
NETDEV_FindOrgInfoList, NETDEV_FindCloseOrgInfo

249 / 767
Network Device SDK (Windows) User Manual

Stop searching organization info

BOOL STDCALL NETDEV_FindCloseOrgInfo


(
LPVOID lpFindHandle
);

Interface description:
Stop searching organization info and release resource

Parameters:
Parameter Type Description
lpFindHandle IN Search handle

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindOrgInfoList and NETDEV_FindNextOrgInfo interfaces.
 Call the NETDEV_FindCloseOrgInfo interface to release resource and stop the search after
organization info is obtained.

See also:
NETDEV_FindOrgInfoList, NETDEV_FindNextOrgInfo

4.23 Network Configuration

4.23.1 Get NAT types

Interface name:
BOOL STDCALL NETDEV_GetNATType
(
CHAR* pszDomain,
INT32 *pdwNatType
);

Interface description:
Get NAT types

Parameters:
Parameter Type Description
pszDomain IN Domain name

250 / 767
Network Device SDK (Windows) User Manual
pdwNatType OUT NAT type. See #NETDEV_NAT_TYPE_E

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:

4.23.2 Get mapped port

Interface name:
BOOL STDCALL NETDEV_GetUpnpNatState
(
LPVOID lpUserID,
LPNETDEV_UPNP_NAT_STATE_S pstNatState
);

Interface description:
Get mapped port

Parameters:
Parameter Type Description
lpUserID IN User login handle
pstNatState OUT Network port status info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_SetUpnpNatState

4.23.3 Set mapped port

Interface name:
BOOL STDCALL NETDEV_SetUpnpNatState
(
LPVOID lpUserID,
LPNETDEV_UPNP_NAT_STATE_S pstNatState
);

Interface description:
Set mapped port

Parameters:

251 / 767
Network Device SDK (Windows) User Manual
Parameter Type Description
lpUserID IN User login handle
pstNatState IN Network port status info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_GetUpnpNatState

4.24 Decoding Device

4.24.1 Get capabilities

Interface name:
BOOL STDCALL NETDEV_XW_GetCapability
(
LPVOID lpUserID,
LPNETDEV_XW_CAP_INFO_S pstCapInfo
);

Interface description:
Get capabilities.

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstCapInfo OUT Video wall info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.2 Get the number of local encoding channels

Interface name:
BOOL STDCALL NETDEV_XW_GetChannelsNum
(
LPVOID lpUserID,
LPNETDEV_XW_CHANNELS_NUM_S pstChannels
);

252 / 767
Network Device SDK (Windows) User Manual
Interface description:
Get the number of local encoding channels

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstChannels OUT Channel info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.3 Get video channel list

Interface name:
BOOL STDCALL NETDEV_XW_GetChannelsInfoList
(
LPVOID lpUserID,
LPNETDEV_XW_CHANNELS_LIST_S pstChannelsList
);

Interface description:
Get video channel list

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstChannelsList INOUT Encoding channel info. Input the number of channels, and output
channel info. Caller allocates memory.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Call the NETDEV_XW_GetChannelsNum interface to get the number of channels.

See also:
NETDEV_XW_GetChannelsNum

253 / 767
Network Device SDK (Windows) User Manual
4.24.4 Create video wall configuration

Interface name:
BOOL STDCALL NETDEV_XW_CreateTVWallCfg
(
LPVOID lpUserID,
LPNETDEV_XW_TVWALL_CFG_S pstTVWallCfg,
UINT32 *pudwLastChange
);

Interface description:
Create video wall configuration

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstTVWallCfg INOUT Video wall info. The device returns video wall ID, resource ID OrderNo
after creating the video wall.
pudwLastChange OUT Summary, generated by the device, will be updated when configurations
change.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.5 Modify video wall configuration

Interface name:
BOOL STDCALL NETDEV_XW_ModifyTVWallCfg
(
LPVOID lpUserID,
LPNETDEV_XW_TVWALL_CFG_S pstTVWallCfg,
UINT32 *pudwLastChange
);

Interface description:
Modify video wall configuration

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstTVWallCfg IN Video wall info. Video wall ID needs to be input in the structure.

254 / 767
Network Device SDK (Windows) User Manual
pudwLastChange OUT Summary, generated by the device, will be updated when configurations
change.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.6 Delete video wall configuration

Interface name:
BOOL STDCALL NETDEV_XW_DeleteTVWallCfg
(
LPVOID lpUserID,
UINT32 udwTvWallID,
UINT32 *pudwLastChange
);

Interface description:
Delete video wall configuration

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
pudwLastChange OUT Summary, generated by the device, will be updated when configurations
change.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.7 Get video wall configuration

Get video wall configuration list

Interface name:
LPVOID STDCALL NETDEV_XW_FindTVWallCfgList
(
LPVOID lpUserID
);

Interface description:
255 / 767
Network Device SDK (Windows) User Manual
Get video wall configuration list

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface

Return value:
Null means failure, other values are used as input parameters of NETDEV_XW_FindNextTVWallCfg and
NETDEV_XW_FindCloseTVWallCfg.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_XW_FindNextTVWallCfg and NETDEV_XW_FindCloseTVWallCfg
interfaces.
 After the interface is called successfully, call the NETDEV_XW_FindNextTVWallCfg interface
repeatedly to get the next video wall configuration.
 Call the NETDEV_XW_FindCloseTVWallCfg interface to release resource after video wall configuration
is obtained.

See also:
NETDEV_XW_FindNextTVWallCfg, NETDEV_XW_FindCloseTVWallCfg

Get configuration of video walls one by one

Interface name:
BOOL STDCALL NETDEV_XW_FindNextTVWallCfg
(
LPVOID lpFindHandle,
LPNETDEV_XW_TVWALL_CFG_S pstTVWallCfg
);

Interface description:
Get configuration of video walls one by one

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_XW_FindTVWallCfgList interface.
pstTVWallCfg OUT Video wall configuration

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use

256 / 767
Network Device SDK (Windows) User Manual
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_XW_FindTVWallCfgList and NETDEV_XW_FindCloseTVWallCfg
interfaces.
 Call this interface repeatedly to get the next video wall configuration.
 Call the NETDEV_XW_FindCloseTVWallCfg interface to release resource after video wall configuration
is obtained.

See also:
NETDEV_XW_FindTVWallCfgList, NETDEV_XW_FindCloseTVWallCfg

Stop searching video wall configuration

Interface name:
BOOL STDCALL NETDEV_XW_FindCloseTVWallCfg
(
LPVOID lpFindHandle
);

Interface description:
Stop searching video wall configuration and release resource

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_XW_FindTVWallCfgList interface.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_XW_FindTVWallCfgList and NETDEV_XW_FindNextTVWallCfg
interfaces.
 Call the NETDEV_XW_FindCloseTVWallCfg interface to release resource after video wall configuration
is obtained.

See also:
NETDEV_XW_FindTVWallCfgList, NETDEV_XW_FindNextTVWallCfg

257 / 767
Network Device SDK (Windows) User Manual
4.24.8 Get configuration of a video wall

Interface name:
BOOL STDCALL NETDEV_XW_GetTVWallCfg
(
LPVOID lpUserID,
UINT32 udwTVWallID,
LPNETDEV_XW_TVWALL_CFG_S pstTVWallCfg
);

Interface description:
Get configuration of a video wall

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTVWallID IN Video wall ID
pstTVWallCfg INOUT Video wall info. szTVWallCode is required if video wall code exists.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.9 Create a virtual LED

Interface name:
BOOL STDCALL NETDEV_XW_CreateVirtualLED
(
LPVOID lpUserID,
UINT32 udwTvWallID,
LPNETDEV_XW_VIRTUAL_LED_INFO_S pstVirtualLEDInfo,
UINT32 *pudwLastChange
);

Interface description:
Create a virtual LED

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
pstVirtualLEDInfo INOUT Virtual LED info. The device returns LEDID.

258 / 767
Network Device SDK (Windows) User Manual
pudwLastChange OUT Summary, generated by the device, will be updated when
configurations change.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.10 Delete a virtual LED

Interface name:
BOOL STDCALL NETDEV_XW_DeleteOneVirtualLED
(
LPVOID lpUserID,
UINT32 udwTvWallID,
UINT32 udwLedlID,
UINT32 *pudwLastChange
);

Interface description:
Delete a virtual LED

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
udwLedlID IN Virtual LED ID
pudwLastChange OUT Summary, generated by the device, will be updated when configurations
change.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.11 Configure a virtual LED

Interface name:
BOOL STDCALL NETDEV_XW_SetVirtualLED
(
LPVOID lpUserID,
UINT32 udwTvWallID,
LPNETDEV_XW_VIRTUAL_LED_INFO_S pstVirtualLEDInfo,
UINT32 *pudwLastChange

259 / 767
Network Device SDK (Windows) User Manual
);

Interface description:
Configure a virtual LED

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
pstVirtualLEDInfo IN Virtual LED info
pudwLastChange OUT Summary, generated by the device, will be updated when
configurations change.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.12 Get a virtual LED

Interface name:
BOOL STDCALL NETDEV_XW_GetVirtualLED
(
LPVOID lpUserID,
UINT32 udwTvWallID,
LPNETDEV_XW_VIRTUAL_LED_INFO_S pstVirtualLEDInfo
);

Interface description:
Get a virtual LED

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
pstVirtualLEDInfo INOUT Virtual LED info. LED ID is required.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

260 / 767
Network Device SDK (Windows) User Manual
4.24.13 Get virtual LED list

Get virtual LED list

Interface name:
LPVOID STDCALL NETDEV_XW_FindVirtualLEDList
(
LPVOID lpUserID,
UINT32 udwTvWallID
);

Interface description:
Get virtual LED list;

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID

Return value:
Null means failure, other values are used as input parameters of NETDEV_XW_FindNextVirtualLED and
NETDEV_XW_FindCloseVirtualLED.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_XW_FindNextVirtualLED and NETDEV_XW_FindCloseVirtualLED
interfaces.
 After the interface is called successfully, call the NETDEV_XW_FindNextVirtualLED interface
repeatedly to get the next virtual LED info.
 Call the NETDEV_XW_FindCloseVirtualLED interface to release resource after virtual LED info is
obtained.

See also:
NETDEV_XW_FindNextVirtualLED, NETDEV_XW_FindCloseVirtualLED

Get virtual LED info one by one

Interface name:
BOOL STDCALL NETDEV_XW_FindNextVirtualLED
(
LPVOID lpFindHandle,

261 / 767
Network Device SDK (Windows) User Manual
LPNETDEV_XW_VIRTUAL_LED_INFO_S pstVirtualLEDInfo
);

Interface description:
Get virtual LED info one by one

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_XW_FindVirtualLEDList interface.
pstVirtualLEDInfo OUT Virtual LED info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_XW_FindVirtualLEDList and NETDEV_XW_FindCloseVirtualLED
interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_XW_FindCloseVirtualLED interface to release resource after virtual LED info is
obtained.

See also:
NETDEV_XW_FindVirtualLEDList, NETDEV_XW_FindCloseVirtualLED

Stop searching virtual LED info

Interface name:
BOOL STDCALL NETDEV_XW_FindCloseVirtualLED
(
LPVOID lpFindHandle
);

Interface description:
Stop searching virtual LEDs

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_XW_FindVirtualLEDList interface.

Return value:

262 / 767
Network Device SDK (Windows) User Manual
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_XW_FindVirtualLEDList and NETDEV_XW_FindNextVirtualLED
interfaces.
 Call the NETDEV_XW_FindCloseVirtualLED interface to release resource after virtual LED info is
obtained.

See also:
NETDEV_XW_FindVirtualLEDList, NETDEV_XW_FindNextVirtualLED

4.24.14 Create a window

Interface name:
BOOL STDCALL NETDEV_XW_CreateWnd
(
LPVOID lpUserID,
UINT32 udwTvWallID,
LPNETDEV_XW_SCENE_WND_INFO_S pstWndInfo,
UINT32 *pudwLastChange
);

Interface description:
Create a window

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
pstWndInfo INOUT Window info. The window ID is assigned and output by the device.
pudwLastChange OUT Summary, generated by the device, will be updated when configurations
change.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.15 Create windows in batches

Interface name:
BOOL STDCALL NETDEV_XW_CreateBatchWnd
(
263 / 767
Network Device SDK (Windows) User Manual
LPVOID lpUserID,
INT32 dwTimeOut,
UINT32 udwTVWallID,
LPNETDEV_XW_WND_INFO_LIST_S pstWndInfo,
LPNETDEV_XW_BATCH_RESULT_LIST_S pstResultWndInfo
);

Interface description:
Create windows in batches

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
dwTimeOut IN Timeout value (second). Range: 10-60
udwTVWallID IN Video wall ID
pstWndInfo IN Window info structure. Window ID is returned after window is created.
pstResultWndInfo OUT Returned batch operation results

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.16 Modify a window

Interface name:
BOOL STDCALL NETDEV_XW_ModifyWnd
(
LPVOID lpUserID,
UINT32 udwTvWallID,
LPNETDEV_XW_SCENE_WND_INFO_S pstWndInfo,
UINT32 *pudwLastChange
);

Interface description:
Modify a window

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
pstWndInfo INOUT Window info. Window ID is required.
pudwLastChange OUT Summary, generated by the device, will be updated when configurations

264 / 767
Network Device SDK (Windows) User Manual
change.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.17 Modify windows in batches

Interface name:
BOOL STDCALL NETDEV_XW_ModifyBatchWnd
(
LPVOID lpUserID,
UINT32 udwTVWallID,
LPNETDEV_XW_WND_INFO_LIST_S pstWndInfo,
LPNETDEV_XW_BATCH_RESULT_LIST_S pstResultWndInfo
);

Interface description:
Modify windows in batches

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTVWallID IN Video wall ID
pstWndInfo IN Window info
pstResultWndInfo OUT Returned batch operation results

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.18 Delete a window

Interface name:
BOOL STDCALL NETDEV_XW_DeleteWnd
(
LPVOID lpUserID,
UINT32 udwTvWallID,
UINT32 udwWndID,
UINT32 *pudwLastChange
);

Interface description:
265 / 767
Network Device SDK (Windows) User Manual
Delete a window

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
udwWndID IN Window ID
pudwLastChange OUT Summary, generated by the device, will be updated when configurations
change.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.19 Magnify/restore a window

Interface name:
BOOL STDCALL NETDEV_XW_ZoomScreen
(
LPVOID lpUserID,
UINT32 udwTvWallID,
UINT32 udwWndID,
LPNETDEV_XW_SCREEN_ZOOM_INFO_S pstScreenZoomInfo
);

Interface description:
Magnify/restore a window;

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
udwWndID IN Window ID
pstScreenZoomInfo IN Screen zoom info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

266 / 767
Network Device SDK (Windows) User Manual
4.24.20 Delete windows in batches

Interface name:
BOOL STDCALL NETDEV_XW_DeleteBatchWnd
(
LPVOID lpUserID,
INT32 dwTimeOut,
UINT32 udwTVWallID,
LPNETDEV_XW_BATCH_RESULT_LIST_S pstDeleteWndInfo
);

Interface description:
Delete windows in batches

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
dwTimeOut IN Timeout value (second). Range: 10-60
udwTVWallID IN Video wall ID
pstDeleteWndInfo INOUT Window info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.21 Get window configuration list

Get configuration of all windows in the scene

Interface name:
LPVOID STDCALL NETDEV_XW_FindWndList
(
LPVOID lpUserID,
UINT32 udwTvWallID
);

Interface description:
Get configuration of all windows in the scene

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the

267 / 767
Network Device SDK (Windows) User Manual
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID

Return value:
Null means failure, other values are used as input parameters of NETDEV_XW_FindNextWnd and
NETDEV_XW_FindCloseWnd.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_XW_FindNextWnd and NETDEV_XW_FindCloseWnd interfaces.
 After the interface is called successfully, call the NETDEV_XW_FindNextWnd interface repeatedly
to get the next window info.
 Call the NETDEV_XW_FindCloseWnd interface to release resource after window info is obtained.

See also:
NETDEV_XW_FindNextWnd, NETDEV_XW_FindCloseWnd

Get configuration of windows one by one

Interface name:
BOOL STDCALL NETDEV_XW_FindNextWnd
(
LPVOID lpFindHandle,
LPNETDEV_XW_SCENE_WND_INFO_S pstWndInfo
);

Interface description:
Get configuration of windows one by one

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_XW_FindWndList interface.
pstWndInfo OUT Window configuration

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_XW_FindWndList and NETDEV_XW_FindCloseWnd interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_XW_FindCloseWnd interface to release resource after window info is obtained.

268 / 767
Network Device SDK (Windows) User Manual

See also:
NETDEV_XW_FindWndList, NETDEV_XW_FindCloseWnd

Stop searching window configuration

Interface name:
BOOL STDCALL NETDEV_XW_FindCloseWnd
(
LPVOID lpFindHandle
);

Interface description:
Stop searching window configuration info and release resource

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_XW_FindWndList interface.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_XW_FindWndList and NETDEV_XW_FindNextWnd interfaces.
 Call the NETDEV_XW_FindCloseWnd interface to release resource after window info is obtained.

See also:
NETDEV_XW_FindWndList, NETDEV_XW_FindNextWnd

4.24.22 Get configuration of a window

Interface name:
BOOL STDCALL NETDEV_XW_GetWnd
(
LPVOID lpUserID,
UINT32 udwTvWallID,
LPNETDEV_XW_SCENE_WND_INFO_S pstWndInfo
);

Interface description:
Get configuration of a window
269 / 767
Network Device SDK (Windows) User Manual

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
pstWndInfo INOUT Window info. Window ID is required.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.23 Get binding info of single live video service

Interface name:
BOOL STDCALL NETDEV_XW_GetLiveBind
(
LPVOID lpUserID,
LPNETDEV_XW_DISPLAYER_ID_S pstDisplayerID,
LPNETDEV_XW_VIDEO_SOURCE_S pstVideoSource
);

Interface description:
Get binding info of single live video service

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstDisplayerID IN Video wall ID, window ID, split window ID
pstVideoSource OUT Camera service info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.24 Bind a live view service

Interface name:
BOOL STDCALL NETDEV_XW_CreateLiveBind
(
LPVOID lpUserID,
LPNETDEV_XW_DISPLAYER_ID_S pstDisplayerID,

270 / 767
Network Device SDK (Windows) User Manual
LPNETDEV_XW_VIDEO_SOURCE_S pstVideoSource,
UINT32 *pudwLastChange
);

Interface description:
Bind a live view service

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstDisplayerID IN Video wall ID, window ID, split window ID
pstVideoSource IN Camera service info
pudwLastChange OUT Summary, generated by the device, will be updated when configurations
change.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.25 Unbind a live view service

Interface name:
BOOL STDCALL NETDEV_XW_DeleteLiveBind
(
LPVOID lpUserID,
LPNETDEV_XW_DISPLAYER_ID_S pstDisplayerID,
UINT32 *pudwLastChange
);

Interface description:
Unbind a live view service

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstDisplayerID IN Video wall ID, window ID, split window ID
pudwLastChange OUT Summary, generated by the device, will be updated when configurations
change.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

271 / 767
Network Device SDK (Windows) User Manual

4.24.26 Get live view binding info in the scene

Get live view binding info in the scene

Interface name:
LPVOID STDCALL NETDEV_XW_FindLiveBindList
(
LPVOID lpUserID,
UINT32 udwTvWallID
);

Interface description:
Get live view binding info in the scene

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID

Return value:
Null means failure, other values are used as input parameters of NETDEV_XW_FindNextLiveBindInfo and
NETDEV_XW_FindCloseLiveBindInfo.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_XW_FindNextLiveBindInfo and NETDEV_XW_FindCloseLiveBindInfo
interfaces.
 After the interface is called successfully, call the NETDEV_XW_FindNextLiveBindInfo interface
repeatedly to get the next binding info.
 Call the NETDEV_XW_FindCloseLiveBindInfo interface to release resource after live view binding
info is obtained.

See also:
NETDEV_XW_FindNextLiveBindInfo, NETDEV_XW_FindCloseLiveBindInfo

Get live view binding info one by one

Interface name:

272 / 767
Network Device SDK (Windows) User Manual
BOOL STDCALL NETDEV_XW_FindNextLiveBindInfo
(
LPVOID lpFindHandle,
LPNETDEV_XW_VIDEO_SOURCE_S pstLiveBindSource
);

Interface description:
Get live view binding info one by one

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_XW_FindLiveBindList interface.
pstLiveBindSource OUT Live view stream info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_XW_FindLiveBindList and NETDEV_XW_FindCloseLiveBindInfo
interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_XW_FindCloseLiveBindInfo interface to release resource after live view binding
info is obtained.

See also:
NETDEV_XW_FindLiveBindList, NETDEV_XW_FindCloseLiveBindInfo

Stop getting live view binding info

Interface name:
BOOL STDCALL NETDEV_XW_FindCloseLiveBindInfo
(
LPVOID lpFindHandle
);

Interface description:
Stop getting live view binding info

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the

273 / 767
Network Device SDK (Windows) User Manual
NETDEV_XW_FindLiveBindList interface.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_XW_FindLiveBindList and NETDEV_XW_FindNextLiveBindInfo
interfaces.
 Call the NETDEV_XW_FindCloseLiveBindInfo interface to release resource after live view binding
info is obtained.

See also:
NETDEV_XW_FindLiveBindList, NETDEV_XW_FindNextLiveBindInfo

4.24.27 Start passive decoding

Interface name:
BOOL STDCALL NETDEV_StartPassiveDecode
(
LPVOID lpUserID,
LPNETDEV_XW_DISPLAYER_ID_S pstDisplayerID,
LPNETDEV_XW_VIDEO_SOURCE_S pstVideoSource,
UINT32 *pudwTaskNo
);

Interface description:
Start passive decoding

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstDisplayerID IN Device ID info
pstVideoSource IN Video source info
pudwTaskNo OUT Service ID, used to control passive decoding

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.
See also:
NETDEV_StopPassiveDecode, NETDEV_SendPassiveData

274 / 767
Network Device SDK (Windows) User Manual
4.24.28 Send data to passive decoding channel

Interface name:
BOOL STDCALL NETDEV_SendPassiveData
(
LPVOID lpUserID,
UINT32 udwTaskNo,
LPNETDEV_PASSIVE_SEND_S pstSendData
);

Interface description:
Send data to passive decoding channel

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTaskNo IN Service ID, used to control passive decoding
pstSendData IN Content of data to send

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_StartPassiveDecode, NETDEV_StopPassiveDecode

4.24.29 Stop passive decoding

Interface name:
BOOL STDCALL NETDEV_StopPassiveDecode
(
LPVOID lpUserID,
UINT32 udwTaskNO
);

Interface description:
Stop passive decoding

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTaskNO IN Service ID, used to control passive decoding

275 / 767
Network Device SDK (Windows) User Manual
Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_StartPassiveDecode, NETDEV_SendPassiveData

4.24.30 Service stream info

Get all service stream info

Interface name:
LPVOID STDCALL NETDEV_XW_FindStreamList
(
LPVOID lpUserID,
UINT32 udwTvWallID
);

Interface description:
Get all service stream info

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID

Return value:
Null means failure, other values are used as input parameters of NETDEV_XW_FindNextStreamInfo and
NETDEV_XW_FindCloseStreamInfo.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_XW_FindNextStreamInfo and NETDEV_XW_FindCloseStreamInfo
interfaces.
 After the interface is called successfully, call the NETDEV_XW_FindNextStreamInfo interface
repeatedly to get the next stream info.
 Call the NETDEV_XW_FindCloseStreamInfo interface to release resource after stream info is obtained.

See also:
NETDEV_XW_FindNextStreamInfo, NETDEV_XW_FindCloseStreamInfo

276 / 767
Network Device SDK (Windows) User Manual

Get stream info one by one

Interface name:
BOOL STDCALL NETDEV_XW_FindNextStreamInfo
(
LPVOID lpFindHandle,
LPNETDEV_XW_STREAM_INFO_S pstXWStreamInfo
);

Interface description:
Get stream info one by one

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_XW_FindStreamList interface.
pstXWStreamInfo OUT Service stream info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_XW_FindStreamList and NETDEV_XW_FindCloseStreamInfo interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_XW_FindCloseStreamInfo interface to release resource after stream info is obtained.

See also:
NETDEV_XW_FindStreamList, NETDEV_XW_FindCloseStreamInfo

Stop getting service stream info

Interface name:
BOOL STDCALL NETDEV_XW_FindCloseStreamInfo
(
LPVOID lpFindHandle
);

Interface description:
Stop getting service stream info

Parameters:

277 / 767
Network Device SDK (Windows) User Manual
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_XW_FindStreamList interface.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_XW_FindStreamList and NETDEV_XW_FindNextStreamInfo interfaces.
 Call the NETDEV_XW_FindCloseStreamInfo interface to release resource after stream info is obtained.

See also:
NETDEV_XW_FindStreamList, NETDEV_XW_FindNextStreamInfo

4.24.31 Get all sequence resources of device

Interface name:
BOOL STDCALL NETDEV_XW_GetSequenceResList
(
LPVOID lpUserID,
UINT32* udwResNum,
LPNETDEV_XW_SEQUENCE_RES_BASE_INFO_S pstSequenceResInfoList
);

Interface description:
Get all sequence resources of device

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwResNum INOUT Number of sequence resources. When used as an input parameter,
it is used to specify the size of the pstSequenceResInfoList
array.
pstSequenceResInfoList OUT Pointer to sequence resource list. Memory is assigned by user.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 udwResNum returns the actual number of sequence resources obtained. If the interface calling
failed and the error code is NETDEV_E_NEEDMOREDATA, it means the user-assigned memory is not

278 / 767
Network Device SDK (Windows) User Manual
enough.

4.24.32 Add a sequence resource to device

Interface name:
BOOL STDCALL NETDEV_XW_AddSequenceResource
(
LPVOID lpUserID,
LPNETDEV_XW_SEQUENCE_RES_DETAIL_INFO_S pstSeqResInfo,
OUT UINT32 *pudwLastChange
);

Interface description:
Add a sequence resource to device

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstSeqResInfo INOUT Sequence resource info
pudwLastChange OUT Summary

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.33 Modify a sequence resource

Interface name:
BOOL STDCALL NETDEV_XW_ModifySequenceResource
(
LPVOID lpUserID,
LPNETDEV_XW_SEQUENCE_RES_DETAIL_INFO_S pstSeqResInfo,
UINT32* pudwLastChange
);

Interface description:
Modify a sequence resource

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface

279 / 767
Network Device SDK (Windows) User Manual
pstSeqResInfo IN Sequence resource info
pudwLastChange OUT Summary

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.34 Delete a sequence resource

Interface name:
BOOL STDCALL NETDEV_XW_DeleteSequenceResource
(
LPVOID lpUserID,
UINT32 udwSeqResID,
UINT32* pudwLastChange
);

Interface description:
Delete a sequence resource

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwSeqResID IN Sequence resource ID
pudwLastChange OUT Summary

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.35 Get detailed info about a sequence resource

Interface name:
BOOL STDCALL NETDEV_XW_GetSequenceResource
(
LPVOID lpUserID,
LPNETDEV_XW_SEQUENCE_RES_DETAIL_INFO_S pstSeqResInfo
);

Interface description:
Get detailed info about a sequence resource

Parameters:
280 / 767
Network Device SDK (Windows) User Manual
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstSeqResInfo INOUT Sequence resource info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.36 Create a scene

Interface name:
BOOL STDCALL NETDEV_XW_CreateSceneInfo
(
LPVOID lpUserID,
UINT32 udwTvWallID,
LPNETDEV_XW_SCENE_INFO_BASE_S pstSceneBase,
UINT32 *pudwLastChange
);

Interface description:
Create a scene

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
pstSceneBase INOUT Input scene name, output scene ID, resource ID (OrderNo)
pudwLastChange OUT Summary, generated by the device, will be updated when configurations
change.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.37 Modify a scene

Interface name:
BOOL STDCALL NETDEV_XW_ModifySceneInfo
(
LPVOID lpUserID,
UINT32 udwTvWallID,

281 / 767
Network Device SDK (Windows) User Manual
LPNETDEV_XW_SCENE_MODIFY_INFO_S pstSceneModifyInfo,
UINT32 *pudwLastChange
);

Interface description:
Modify a scene

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
pstSceneModifyInfo INOUT Modification info
pudwLastChange OUT Summary, generated by the device, will be updated when
configurations change.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.38 Delete a scene

Interface name:
BOOL STDCALL NETDEV_XW_DeleteSceneInfo
(
LPVOID lpUserID,
UINT32 udwTvWallID,
UINT32 udwSceneID,
UINT32 *pudwLastChange
);

Interface description:
Delete a scene

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
udwSceneID IN Scene ID
pudwLastChange OUT Summary, generated by the device, will be updated when configurations
change.

Return value:

282 / 767
Network Device SDK (Windows) User Manual
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.39 Get the associated scenes of the current scene

Interface name:
BOOL STDCALL NETDEV_XW_GetCurrentSceneID
(
LPVOID lpUserID,
UINT32 udwTvWallID,
UINT32 *pudwSceneID
);

Interface description:
Get the associated scenes of the current scene

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
pudwSceneID OUT Scene ID

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.40 Switch scene

Interface name:
BOOL STDCALL NETDEV_XW_SetCurrentSceneID
(
LPVOID lpUserID,
UINT32 udwTvWallID,
UINT32 udwSceneID,
UINT32 *pudwLastChange
);

Interface description:
Switch to the current scene

Parameters:
Parameter Type Description

283 / 767
Network Device SDK (Windows) User Manual
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
udwSceneID IN Scene ID
pudwLastChange OUT Summary, generated by the device, will be updated when configurations
change.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.41 Get info about the current scene

Interface name:
BOOL STDCALL NETDEV_XW_GetCurrentSceneInfo
(
LPVOID lpUserID,
UINT32 udwTvWallID,
LPNETDEV_XW_SCENE_INFO_DETAIL_S pstSceneDetailInfo
);

Interface description:
Get info about the current scene

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
pstSceneDetailInfo INOUT Scene info. szTVWallCode is required if video wall code exists.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.42 Get scene info

Interface name:
BOOL STDCALL NETDEV_XW_GetSceneInfo
(
LPVOID lpUserID,
UINT32 udwSceneID,
LPNETDEV_XW_SCENE_INFO_DETAIL_S pstSceneDetailInfo

284 / 767
Network Device SDK (Windows) User Manual
);

Interface description:
Get scene info

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwSceneID IN Scene ID
pstSceneDetailInfo INOUT Scene info. szTVWallCode is required if video wall code exists.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.43 Get scene configuration list

Get scene configuration list

Interface name:
LPVOID STDCALL NETDEV_XW_FindSceneCfgList
(
LPVOID lpUserID,
UINT32 udwTvWallID
);

Interface description:
Get scene configuration list

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID

Return value:
Null means failure, other values are used as input parameters of NETDEV_XW_FindNextSceneCfg and
NETDEV_XW_FindCloseSceneCfg.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_XW_FindNextSceneCfg and NETDEV_XW_FindCloseSceneCfg interfaces.

285 / 767
Network Device SDK (Windows) User Manual
 After the interface is called successfully, call the NETDEV_XW_FindNextSceneCfg interface
repeatedly to get the next scene info.
 Call the NETDEV_XW_FindCloseSceneCfg interface to release resource after scene info is obtained.

See also:
NETDEV_XW_FindNextSceneCfg, NETDEV_XW_FindCloseSceneCfg

Get configuration of scenes one by one

Interface name:
BOOL STDCALL NETDEV_XW_FindNextSceneCfg
(
LPVOID lpFindHandle,
LPNETDEV_XW_SCENE_INFO_BASIC_S pstSceneShortInfo
);

Interface description:
Get configuration of scenes one by one

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_XW_FindSceneCfgList interface.
pstSceneShortInfo OUT Scene info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_XW_FindSceneCfgList and NETDEV_XW_FindCloseSceneCfg interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_XW_FindCloseSceneCfg interface to release resource after scene info is obtained.

See also:
NETDEV_XW_FindSceneCfgList, NETDEV_XW_FindCloseSceneCfg

Stop searching scenes

Interface name:
BOOL STDCALL NETDEV_XW_FindCloseSceneCfg

286 / 767
Network Device SDK (Windows) User Manual
(
LPVOID lpFindHandle
);

Interface description:
Stop searching scene info and release resource.

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_XW_FindSceneCfgList interface.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_XW_FindSceneCfgList and NETDEV_XW_FindNextSceneCfg interfaces.
 Call the NETDEV_XW_FindCloseSceneCfg interface to release resource after scene info is obtained.

See also:
NETDEV_XW_FindSceneCfgList, NETDEV_XW_FindNextSceneCfg

4.24.44 Bind sequence resource to the scene

Interface name:
BOOL STDCALL NETDEV_XW_BindSequenceResToScene
(
LPVOID lpUserID,
UINT32 udwTVWallID,
LPNETDEV_XW_SEQUENCE_RES_BIND_INFO_S pstSeqResBindInfo,
UINT32* pudwLastChange
);

Interface description:
Bind sequence resource to the scene

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTVWallID IN Video wall ID
pstSeqResBindInfo IN Sequence resource binding info
pudwLastChange OUT Summary

287 / 767
Network Device SDK (Windows) User Manual

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.45 Modify the sequence resource bound to the scene

Interface name:
BOOL STDCALL NETDEV_XW_ModifySequenceResToScene
(
LPVOID lpUserID,
UINT32 udwTVWallID,
LPNETDEV_XW_SEQUENCE_RES_BIND_INFO_S pstSeqResBindInfo,
UINT32* pudwLastChange
);

Interface description:
Modify the sequence resource bound to the scene

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTVWallID IN Video wall ID
pstSeqResBindInfo IN Sequence resource binding info
pudwLastChange OUT Summary

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.46 Delete the sequence resource bound to the scene

Interface name:
BOOL STDCALL NETDEV_XW_DeleteSequenceResToScene
(
LPVOID lpUserID,
UINT32 udwTvWallID,
UINT32 udwSeqResBindID,
UINT32* pudwLastChange
);

Interface description:
Delete the sequence resource bound to the scene
288 / 767
Network Device SDK (Windows) User Manual

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
udwSeqResBindID IN Sequence resource binding ID
pudwLastChange OUT Summary

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.47 Control sequence playing

Interface name:
BOOL STDCALL NETDEV_XW_SequencePlayControl
(
LPVOID lpUserID,
UINT32 udwTvWallID,
LPNETDEV_XW_SEQUENCE_PLAY_CTRL_INFO_S pstSeqPlayCtrlInfo
);

Interface description:
Control sequence playing

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
pstSeqPlayCtrlInfo IN Info about sequence playing control

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.48 Add a scene sequence plan

Interface name:
BOOL STDCALL NETDEV_XW_AddSencesSequencePlan
(
LPVOID lpUserID,

289 / 767
Network Device SDK (Windows) User Manual
UINT32 udwTvWallID,
LPNETDEV_XW_SCENES_PLAN_INFO_S pstScenesPlanInfo,
UINT32* pudwLastChange
);

Interface description:
Add a scene sequence plan

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
pstScenesPlanInfo INOUT Pointer to scene sequence plan info. Output resource ID, resource
sequence number (OrderNo)
pudwLastChange OUT Summary

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.49 Modify a scene sequence plan

Interface name:
BOOL STDCALL NETDEV_XW_ModifySencesSequencePlan
(
LPVOID lpUserID,
UINT32 udwTvWallID,
LPNETDEV_XW_SCENES_PLAN_INFO_S pstScenesPlanInfo,
UINT32* pudwLastChange
);

Interface description:
Modify a scene sequence plan

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
pstScenesPlanInfo IN Scene sequence plan info
pudwLastChange OUT Summary

Return value:

290 / 767
Network Device SDK (Windows) User Manual
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.50 Delete a scene sequence plan

Interface name:
BOOL STDCALL NETDEV_XW_DeleteSencesSequencePlan
(
LPVOID lpUserID,
UINT32 udwTvWallID,
UINT32 udwScenesSeqPlanID,
UINT32* pudwLastChange
);

Interface description:
Delete a scene sequence plan

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
udwScenesSeqPlanID IN Scene sequence plan ID
pudwLastChange OUT Summary

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.51 Get a scene sequence plan

Interface name:
BOOL STDCALL NETDEV_XW_GetSencesSequencePlan
(
LPVOID lpUserID,
UINT32 udwTvWallID,
LPNETDEV_XW_SCENES_PLAN_INFO_S pstScenesPlanInfo
);

Interface description:
Get a scene sequence plan

Parameters:

291 / 767
Network Device SDK (Windows) User Manual
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
pstScenesPlanInfo INOUT Scene sequence plan info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.24.52 Get scene sequence plan list

Get scene sequence plan list

Interface name:
LPVOID STDCALL NETDEV_XW_FindSencesSequencePlanList
(
LPVOID lpUserID,
UINT32 udwTvWallID
);

Interface description:
Get scene sequence plan list

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID

Return value:
Null means failure, other values are used as input parameters of NETDEV_XW_FindNextSencesSequencePlan
and NETDEV_XW_FindCloseSencesSequencePlan.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_XW_FindNextSencesSequencePlan and
NETDEV_XW_FindCloseSencesSequencePlan interfaces.
 After the interface is called successfully, call the NETDEV_XW_FindNextSencesSequencePlan
interface repeatedly to get the next plan info.
 Call the NETDEV_XW_FindCloseSencesSequencePlan interface to release resource after scene sequence
plan info is obtained.

292 / 767
Network Device SDK (Windows) User Manual

See also:
NETDEV_XW_FindNextSencesSequencePlan, NETDEV_XW_FindCloseSencesSequencePlan

Get scene sequence plan one by one

Interface name:
BOOL STDCALL NETDEV_XW_FindNextSencesSequencePlan
(
LPVOID lpFindHandle,
LPNETDEV_XW_SCENES_PLAN_INFO_S pstScenesPlanInfo
);

Interface description:
Get scene sequence plan one by one

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_XW_FindSencesSequencePlanList interface.
pstScenesPlanInfo INOUT Scene sequence plan info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_XW_FindSencesSequencePlanList and
NETDEV_XW_FindCloseSencesSequencePlan interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_XW_FindCloseSencesSequencePlan interface to release resource after scene sequence
plan info is obtained.

See also:
NETDEV_XW_FindSencesSequencePlanList, NETDEV_XW_FindCloseSencesSequencePlan

Release memory resources used to get scene sequence plans

Interface name:
BOOL STDCALL NETDEV_XW_FindCloseSencesSequencePlan
(

293 / 767
Network Device SDK (Windows) User Manual
LPVOID lpFindHandle
);

Interface description:
Release memory resources used to get scene sequence plans

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_XW_FindSencesSequencePlanList interface.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_XW_FindSencesSequencePlanList and
NETDEV_XW_FindNextSencesSequencePlan interfaces.
 Call the NETDEV_XW_FindCloseSencesSequencePlan interface to release resource after scene sequence
plan info is obtained.

See also:
NETDEV_XW_FindSencesSequencePlanList, NETDEV_XW_FindNextSencesSequencePlan

4.24.53 Control the playing of scene sequence plans

Interface name:
BOOL STDCALL NETDEV_XW_ScenesSeqPlanPlayControl
(
LPVOID lpUserID,
UINT32 udwTvWallID,
LPNETDEV_XW_SCENES_PLAN_PLAY_CTRL_INFO_S pstScenesPlanPlayCtrlInfo
);

Interface description:
Control the playing of scene sequence plans

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwTvWallID IN Video wall ID
pstScenesPlanPlayCtrlInfo IN Info about sequence playing control

294 / 767
Network Device SDK (Windows) User Manual
Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.25 Smart Function

4.25.1 Get system image info

Interface name:
BOOL STDCALL NETDEV_GetSystemPicture
(
LPVOID lpUserID,
CHAR* pszURL,
UINT32 udwSize,
CHAR* pszdata
);

Interface description:
Get system image info

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pszURL IN Image URL
udwSize IN Data size before encryption
pszdata OUT Image data. Memory needs to be allocated dynamically.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.25.2 Manual linkage operations

Interface name:
BOOL STDCALL NETDEV_ManualLink
(
LPVOID lpUserID,
UINT32 udwChannelID,
LPNETDEV_MANUAL_LINK_S pstManualLink
);

Interface description:
Manual linkage operations

295 / 767
Network Device SDK (Windows) User Manual
Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwChannelID IN Channel ID
pstManualLink IN Manual linkage data

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.25.3 Register the callback function to receive plate recognition data

Interface name:
BOOL STDCALL NETDEV_SetCarPlateCallBack
(
LPVOID lpUserID,
NETDEV_CarPlateCallBack_PF cbCarPlateCallBack,
LPVOID lpUserData
);

Interface description:
Register the callback function to receive plate recognition data

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
cbCarPlateCallBack IN Callback function to register
lpUserData IN User data

Callback Function
typedef void (STDCALL *NETDEV_CarPlateCallBack_PF)
(
LPVOID lpUserID,
LPNETDEV_TMS_CAR_PLATE_INFO_S pstCarPlateData,
LPVOID lpUserData
);

Callback Function Parameters


Parameter Type Description
lpUserID IN User login handle, which is the return value from the NETDEV_Login_V30
interface
pstCarPlateData IN Plate recognition data
lpUserData IN User data
296 / 767
Network Device SDK (Windows) User Manual

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.25.4 Register the callback function to receive face recognition alarms

Interface name:
BOOL STDCALL NETDEV_SetFaceAlarmCallBack
(
LPVOID lpUserID,
NETDEV_FaceAlarmMessCallBack_PF cbFaceAlarmMessCallBack,
LPVOID lpUserData
);

Interface description:
Register the callback function to receive face recognition alarms

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
cbFaceAlarmMessCallBack IN Callback function
lpUserData IN User data

Callback Function
typedef void(STDCALL *NETDEV_FaceAlarmMessCallBack_PF)
(
LPVOID lpUserID,
LPNETDEV_FACE_RECORD_SNAPSHOT_INFO_S pstFaceAlarmReportInfo,
LPVOID lpBuf,
INT32 dwBufLen,
LPVOID lpUserData
);

Callback Function Parameters


Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstFaceAlarmReportInfo IN Reported info
lpBuf IN Buffer pointer
dwBufLen IN Length of alarm info structure
lpUserData IN User data

Return value:

297 / 767
Network Device SDK (Windows) User Manual
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.25.5 Register the callback function to receive captured face images

Interface name:
BOOL STDCALL NETDEV_SetFaceSnapshotCallBack
(
LPVOID lpUserID,
NETDEV_FaceSnapshotCallBack_PF cbFaceSnapshotCallBack,
LPVOID lpUserData
);

Interface description:
Register the callback function to receive captured face images

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
cbFaceSnapshotCallBack IN Callback function to register
lpUserData IN User data

Callback Function
typedef void (STDCALL *NETDEV_FaceSnapshotCallBack_PF)
(
LPVOID lpUserID,
LPNETDEV_TMS_FACE_SNAPSHOT_PIC_INFO_S pstFaceSnapShotData,
LPVOID lpUserData
);

Callback Function Parameters


Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstFaceSnapShotData IN Face snapshot data
lpUserData IN User data

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.25.6 Register the callback function to receive heatmap data

Interface name:

298 / 767
Network Device SDK (Windows) User Manual
BOOL STDCALL NETDEV_SetHeatMapCallBack
(
LPVOID lpUserID,
NETDEV_HeatMapCallBack_PF cbHeatMapCallBack,
LPVOID lpUserData
);

Interface description:
Register the callback function to receive heatmap data

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
cbHeatMapCallBack IN Callback function to register
lpUserData IN User data

Callback Function
typedef void (STDCALL *NETDEV_HeatMapCallBack_PF)
(
LPVOID lpUserID,
LPNETDEV_TMS_HEAT_MAP_INFO_S pstHeatMapData,
LPVOID lpUserData
);

Callback Function Parameters


Parameter Type Description
lpUserID IN User login handle, which is the return value from the NETDEV_Login_V30
interface
pstHeatMapData IN Heatmap data
lpUserData IN User data

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.25.7 Register the callback function to receive face alarms

Interface name:
BOOL STDCALL NETDEV_SetPersonAlarmCallBack
(
LPVOID lpUserID,
NETDEV_PersonAlarmMessCallBack_PF cbAlarmMessCallBack,
LPVOID lpUserData
);

299 / 767
Network Device SDK (Windows) User Manual

Interface description:
Register the callback function to receive face alarms

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
cbAlarmMessCallBack IN Callback function
lpUserData IN User data

Callback Function
typedef void(STDCALL *NETDEV_PersonAlarmMessCallBack_PF)
(
LPVOID lpUserID,
LPNETDEV_PERSON_EVENT_INFO_S pstAlarmData,
LPVOID lpUserData
);

Callback Function Parameters


Parameter Type Description
lpUserID IN User login handle, which is the return value from the NETDEV_Login_V30
interface
pstAlarmData IN Alarm data
lpUserData IN User data

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.25.8 Register the callback function to receive structured alarms

Interface name:
BOOL STDCALL NETDEV_SetStructAlarmCallBack
(
LPVOID lpUserID,
NETDEV_StructAlarmMessCallBack_PF cbAlarmMessCallBack,
LPVOID lpUserData
);

Interface description:
Register the callback function to receive structured alarms

Parameters:
Parameter Type Description

300 / 767
Network Device SDK (Windows) User Manual
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
cbAlarmMessCallBack IN Callback function
lpUserData IN User data

Callback Function
typedef void(STDCALL *NETDEV_StructAlarmMessCallBack_PF)
(
LPVOID lpUserID,
LPNETDEV_STRUCT_ALARM_INFO_S pstAlarmInfo,
LPNETDEV_STRUCT_DATA_INFO_S pstAlarmData,
LPVOID lpUserData
);

Callback Function Parameters


Parameter Type Description
lpUserID IN User login handle, which is the return value from the NETDEV_Login_V30
interface
pstAlarmInfo IN Alarm info
pstAlarmData IN Alarm data
lpUserData IN User data

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.25.9 Register the callback function to receive plate recognition alarms

Interface name:
BOOL STDCALL NETDEV_SetVehicleAlarmCallBack
(
LPVOID lpUserID,
NETDEV_VehicleAlarmMessCallBack_PF cbVehicleAlarmMessCallBack,
LPVOID lpUserData
);

Interface description:
Register the callback function to receive plate recognition alarms

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
cbVehicleAlarmMessCallBack IN Callback function
lpUserData IN User data
301 / 767
Network Device SDK (Windows) User Manual

Callback Function
typedef void(STDCALL *NETDEV_VehicleAlarmMessCallBack_PF)
(
LPVOID lpUserID,
LPNETDEV_VEH_RECOGNITION_EVENT_S pstVehicleAlarmInfo,
LPVOID lpBuf,
INT32 dwBufLen,
LPVOID lpUserData
);

Callback Function Parameters


Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstVehicleAlarmInfo IN Reported info
lpBuf IN Buffer pointer
dwBufLen IN Length of alarm info structure
lpUserData IN User data

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.25.10 Subscribe to VCA events

Interface name:
BOOL STDCALL NETDEV_SubscribeSmart
(
LPVOID lpUserID,
LPNETDEV_SUBSCRIBE_SMART_INFO_S pstSubscribeInfo,
LPNETDEV_SMART_INFO_S pstSmartInfo
);

Interface description:
Subscribe to VCA events

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstSubscribeInfo IN Subscription info
pstSmartInfo INOUT Smart event info. Subscription ID will be returned if successful.

Return value:

302 / 767
Network Device SDK (Windows) User Manual
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Call NETDEV_SetAlarmCallBack_V30 to register callback function before subscription.

See also:
NETDEV_UnsubscribeSmart

4.25.11 Cancel VCA event subscription

Interface name:
BOOL STDCALL NETDEV_UnsubscribeSmart
(
LPVOID lpUserID,
LPNETDEV_SMART_INFO_S pstSmartInfo
);

Interface description:
Cancel VCA event subscription

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstSmartInfo IN VCA event

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_SubscribeSmart

4.25.12 Alarm subscription via LAPI

Interface name:
BOOL STDCALL NETDEV_SubscibeLapiAlarm
(
LPVOID lpUserID,
LPNETDEV_LAPI_SUB_INFO_S pstSubInfo,
LPNETDEV_SUBSCRIBE_SUCC_INFO_S pstSubSuccInfo
);

Interface description:
Alarm subscription via LAPI
303 / 767
Network Device SDK (Windows) User Manual

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstSubInfo IN Alarm subscription request
pstSubSuccInfo OUT Returned info after successful subscription

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_UnSubLapiAlarm

4.25.13 Cancel alarm subscription via LAPI

Interface name:
BOOL STDCALL NETDEV_UnSubLapiAlarm
(
LPVOID lpUserID,
UINT32 udwID
);

Interface description:
Cancel alarm subscription via LAPI

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwID IN Alarm subscription ID, which is obtained by calling the
NETDEV_SubscibeLapiAlarm interface

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

See also:
NETDEV_SubscibeLapiAlarm

304 / 767
Network Device SDK (Windows) User Manual
4.25.14 Face recognition record

Get face recognition record

Interface name:
LPVOID STDCALL NETDEV_FindFaceRecordDetailList
(
LPVOID lpUserID,
LPNETDEV_ALARM_LOG_COND_LIST_S pstFindCond,
LPNETDEV_SMART_ALARM_LOG_RESULT_INFO_S pstResultInfo
);

Interface description:
Get face recognition record

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstFindCond IN Search criteria
pstResultInfo OUT Face recognition record info

Return value:
Null means failure, other values are used as input parameters of NETDEV_FindNextFaceRecordDetail and
NETDEV_FindCloseFaceRecordDetail.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindNextFaceRecordDetail and NETDEV_FindCloseFaceRecordDetail
interfaces.
 After the interface is called successfully, call the NETDEV_FindNextFaceRecordDetail interface
repeatedly to get the next record.
 Call the NETDEV_FindCloseFaceRecordDetail interface to release resource and stop the search after
log info is obtained.

See also:
NETDEV_FindNextFaceRecordDetail, NETDEV_FindCloseFaceRecordDetail

Get face recognition record one by one

Interface name:
BOOL STDCALL NETDEV_FindNextFaceRecordDetail
(

305 / 767
Network Device SDK (Windows) User Manual
LPVOID lpFindHandle,
LPNETDEV_FACE_RECORD_SNAPSHOT_INFO_S pstRecordInfo
);

Interface description:
Get face recognition record one by one

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_FindFaceRecordDetailList interface.
pstRecordInfo OUT Pointer to face recognition record info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindFaceRecordDetailList and NETDEV_FindCloseFaceRecordDetail
interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindCloseFaceRecordDetail interface to release resource and stop the search after
log info is obtained.

See also:
NETDEV_FindFaceRecordDetailList, NETDEV_FindCloseFaceRecordDetail

Stop getting face recognition record

Interface name:
BOOL STDCALL NETDEV_FindCloseFaceRecordDetail
(
LPVOID lpFindHandle
);

Interface description:
Stop searching face recognition record and release resource

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_FindFaceRecordDetailList interface.

Return value:

306 / 767
Network Device SDK (Windows) User Manual
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindFaceRecordDetailList and NETDEV_FindNextFaceRecordDetail
interfaces.
 Call the NETDEV_FindCloseFaceRecordDetail interface to release resource and stop the search after
log info is obtained.

See also:
NETDEV_FindFaceRecordDetailList, NETDEV_FindNextFaceRecordDetail

Get face image info of a face recognition record

Interface name:
BOOL STDCALL NETDEV_GetFaceRecordImageInfo
(
LPVOID lpUserID,
UINT32 udwRecordID,
UINT32 udwFaceImageType,
LPNETDEV_FILE_INFO_S pstFileInfo
);

Interface description:
Get face image info of a face recognition record

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwRecordID IN Face recognition alarm record ID
udwFaceImageType IN Pass-through record type
pstFileInfo INOUT Face image info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.25.15 Parking lot

Get all entrances/exits of a parking lot

Interface name:

307 / 767
Network Device SDK (Windows) User Manual
BOOL STDCALL NETDEV_GetParkEntranceInfoList
(
LPVOID lpUserID,
UINT32 udwParkID,
LPNETDEV_PARK_ENTRANCE_INFO_LIST_S pstParkEntranceInfoList
);

Interface description:
Get all entrances/exits of a parking lot

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwParkID IN Parking lot ID
pstParkEntranceInfoList OUT Entrance/exit list

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Get parking lots in batches

Interface name:
BOOL STDCALL NETDEV_GetParkInfoList
(
LPVOID lpUserID,
LPNETDEV_PARK_INFO_LIST_S pstParkInfoList
);

Interface description:
Get parking lots in batches

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstParkInfoList OUT Parking lot list

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

308 / 767
Network Device SDK (Windows) User Manual

Get all entrance/exit lanes of a parking lot

Interface name:
BOOL STDCALL NETDEV_GetParkLaneInfoList
(
LPVOID lpUserID,
LPNETDEV_PARK_ENTRANCE_ID_S pstParkEntranceID,
LPNETDEV_VEH_LANE_INFO_LIST_S pstVehicleLaneList
);

Interface description:
Get all entrance/exit lanes of a parking lot

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstParkEntranceID IN Entrance/exit ID
pstVehicleLaneList OUT Entrance/exit list

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Issue third-party payment order

Interface name:
BOOL STDCALL NETDEV_IssuePayOrder
(
LPVOID lpUserID,
LPNETDEV_PARK_PAY_ORDER_INFO_S pstPayOrder,
LPNETDEV_PARK_COST_S pstCost
);

Interface description:
Issue third-party payment order

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstPayOrder IN Order info
pstCost OUT Parking cost info

309 / 767
Network Device SDK (Windows) User Manual

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Register the callback function to receive parking lot events

Interface name:
BOOL STDCALL NETDEV_SetParkEventCallBack
(
LPVOID lpUserID,
NETDEV_ParkEventMessCallBack_PF cbParkAlarmMessCallBack,
LPVOID lpUserData
);

Interface description:
Register the callback function to receive parking lot events

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
cbParkAlarmMessCallBack IN Callback function for data receiving
lpUserData IN User data

Callback Function
typedef void(STDCALL *NETDEV_ParkEventMessCallBack_PF)
(
LPVOID lpUserID,
LPNETDEV_PARK_EVENT_INFO_S stParkAlarmInfo,
LPVOID lpUserData
);

Callback Function Parameters


Parameter Type Description
lpUserID IN User login handle, which is the return value from the NETDEV_Login_V30
interface
stParkAlarmInfo IN Reported info
lpUserData IN User data

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

310 / 767
Network Device SDK (Windows) User Manual
4.25.16 Time template

Add time template

Interface name:
BOOL STDCALL NETDEV_AddTimeTemplate
(
LPVOID lpUserID,
LPNETDEV_SYSTEM_TIME_TEMPLATE_S pstTimeTemplate,
UINT32 *pudwTemplateID
);

Interface description:
Add time template

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstTimeTemplate IN Time template info
pudwTemplateID OUT Time template ID

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 VMS does not support specifying template ID.
 If the template ID passed in is not 0, then the template ID will be used as the index and returned.
If the template ID passed in is an existing value, then the interface returns failure.
 If the template ID passed in is 0, then a unique ID will be assigned by the terminal and then
returned.

Delete time templates in batches

Interface name:
BOOL STDCALL NETDEV_BatchDeleteTimeTemplate
(
LPVOID lpUserID,
LPNETDEV_ID_LIST_S pstTemplateIDList,
LPNETDEV_BATCH_OPERATOR_LIST_S pstDeleteResults
);

Interface description:

311 / 767
Network Device SDK (Windows) User Manual
Delete time templates in batches

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstTemplateIDList IN IDs of deleted templates
pstDeleteResults OUT Returned batch operation results

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Only VMS supports batch delete.
 pstDeleteResults->udwNum should not be less than pstTemplateIDList->udwNum;
 The output parameter returns udwNum, udwID, udwResultCode;

Get time templates in batches

Get time templates of a specified template type in batches

Interface name:
LPVOID STDCALL NETDEV_FindTimeTemplateByTypeList
(
LPVOID lpUserID,
UINT32 udwTemplateType
);

Interface description:
Get time templates of a specified template type in batches

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the NETDEV_Login_V30
interface
udwTemplateType IN Time template type. Only applicable to VMS. 0: Recording time template
1: Alarm time template 2: User time template

Return value:
Null means failure, other values are used as input parameters of NETDEV_FindNextTimeTemplateByTypeInfo
and NETDEV_FindCloseTimeTemplateByTypeList.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

312 / 767
Network Device SDK (Windows) User Manual

Remarks:
 Use this interface with the NETDEV_FindNextTimeTemplateByTypeInfo and
NETDEV_FindCloseTimeTemplateByTypeList interfaces.
 After the interface is called successfully, call the NETDEV_FindNextTimeTemplateByTypeInfo
interface to get the next template info.
 Call the NETDEV_FindCloseTimeTemplateByTypeList interface to release resource and stop the search
after log info is obtained.

See also:
NETDEV_FindNextTimeTemplateByTypeInfo, NETDEV_FindCloseTimeTemplateByTypeList

Get time template info by type one by one

Interface name:
BOOL STDCALL NETDEV_FindNextTimeTemplateByTypeInfo
(
LPVOID lpFindHandle,
LPNETDEV_TIME_TEMPLATE_BASE_INFO_S pstTimeTemplate
);

Interface description:
Get time template info by type one by one

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_FindTimeTemplateByTypeList interface.
pstTimeTemplate OUT Time template

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindTimeTemplateByTypeList and
NETDEV_FindCloseTimeTemplateByTypeList interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindCloseTimeTemplateByTypeList interface to release resource and stop the search
after log info is obtained.

See also:
NETDEV_FindTimeTemplateByTypeList, NETDEV_FindCloseTimeTemplateByTypeList

313 / 767
Network Device SDK (Windows) User Manual

Stop getting time templates by type

Interface name:
BOOL STDCALL NETDEV_FindCloseTimeTemplateByTypeList
(
LPVOID lpFindHandle
);

Interface description:
Stop searching time template list by type and release resource.

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_FindTimeTemplateByTypeList interface.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindTimeTemplateByTypeList and
NETDEV_FindNextTimeTemplateByTypeInfo interfaces.
 Call the NETDEV_FindCloseTimeTemplateByTypeList interface to release resource and stop the search
after log info is obtained.

See also:
NETDEV_FindTimeTemplateByTypeList, NETDEV_FindNextTimeTemplateByTypeInfo

Get a time template

Interface name:
BOOL STDCALL NETDEV_GetTimeTemplate
(
LPVOID lpUserID,
LPNETDEV_SYSTEM_TIME_TEMPLATE_S pstTimeTemplate
);

Interface description:
Get a time template

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the

314 / 767
Network Device SDK (Windows) User Manual
NETDEV_Login_V30 interface
pstTimeTemplate INOUT Time template info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Modify a time template

Interface name:
BOOL STDCALL NETDEV_ModifyTimeTemplate
(
LPVOID lpUserID,
LPNETDEV_SYSTEM_TIME_TEMPLATE_S pstTimeTemplate
);

Interface description:
Modify a time template

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstTimeTemplate IN Time template info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.25.17 Access control

Person management in access control

Interface name:
BOOL STDCALL NETDEV_ACSPersonCtrl
(
LPVOID lpUserID,
INT32 dwCommand,
LPNETDEV_ACS_PERSON_INFO_S pstACSPersonInfo
);

Interface description:
Person management

315 / 767
Network Device SDK (Windows) User Manual
Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
dwCommand IN Person management command. See NETDEV_ACS_PERSON_COMMOND_TYPE_E
pstACSPersonInfo INOUT Person info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Sign out visitor

Interface name:
BOOL STDCALL NETDEV_ACSPersonSignout
(
LPVOID lpUserID,
UINT32 udwPersonID
);

Interface description:
Sign out visitor

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwPersonID IN Person ID

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Add visitor blocklist

Interface name:
BOOL STDCALL NETDEV_AddACSPersonBlackList
(
LPVOID lpUserID,
LPNETDEV_ACS_PERSON_BLACKLIST_INFO_S pstBlackListInfo,
UINT32 *pUdwBlackListID
);

Interface description:
316 / 767
Network Device SDK (Windows) User Manual
Add visitor blocklist

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstBlackListInfo IN Blocklist info
pUdwBlackListID OUT Blocklist ID

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Add access control card for a person

Interface name:
BOOL STDCALL NETDEV_AddACSPersonCardInfo
(
LPVOID lpUserID,
UINT32 udwACSPersonID,
LPNETDEV_ACS_PERSON_CARD_INFO_S pstACSPersonCardInfo
);

Interface description:
Add access control card for a person (i.e. to issue card)

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwACSPersonID IN Person ID
pstACSPersonCardInfo INOUT Access card info. udwCardID is the output parameter

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Add persons in batches

Interface name:
BOOL STDCALL NETDEV_AddACSPersonList
(
LPVOID lpUserID,
LPNETDEV_ACS_PERSON_LIST_S pstACSPersonList,
317 / 767
Network Device SDK (Windows) User Manual
LPNETDEV_XW_BATCH_RESULT_LIST_S pstResultList
);

Interface description:
Add persons in batches

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstACSPersonList IN Person list. The size of a single image is 2M.
pstResultList OUT Returned person list

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Add permission group

Interface name:
BOOL STDCALL NETDEV_AddACSPersonPermissionGroup
(
LPVOID lpUserID,
LPNETDEV_ACS_PERMISSION_INFO_S pstPermissionGroupInfo,
UINT32 *pUdwGroupID
);

Interface description:
Add permission group

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstPermissionGroupInfo IN Permission group info
pUdwGroupID OUT Permission group ID

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Delete visitor blocklist

Interface name:
318 / 767
Network Device SDK (Windows) User Manual
BOOL STDCALL NETDEV_DeleteACSPersonBlackList
(
LPVOID lpUserID,
LPNETDEV_OPERATE_LIST_S pstBlackList
);

Interface description:
Delete visitor blocklist

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstBlackList OUT Blocklist

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Delete access control card for a person

Interface name:
BOOL STDCALL NETDEV_DeleteACSPersonCardInfo
(
LPVOID lpUserID,
UINT32 udwACSPersonID
);

Interface description:
Delete access control card for a person (i.e. to return card)

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwACSPersonID IN Person ID

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Delete persons in batches

Interface name:

319 / 767
Network Device SDK (Windows) User Manual
BOOL STDCALL NETDEV_DeleteACSPersonList
(
LPVOID lpUserID,
LPNETDEV_FACE_BATCH_LIST_S pstBatchCtrlInfo
);

Interface description:
Delete persons in batches

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstBatchCtrlInfo INOUT Batch control info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Delete permission group

Interface name:
BOOL STDCALL NETDEV_DeleteACSPersonPermissionGroup
(
LPVOID lpUserID,
LPNETDEV_OPERATE_LIST_S pstPermissionIDList,
LPNETDEV_BATCH_OPERATOR_LIST_S pstResutList
);

Interface description:
Delete permission group

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstPermissionIDList IN Permission ID list
pstResutList OUT Returned operation result

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

320 / 767
Network Device SDK (Windows) User Manual

Control doors in batches

Interface name:
BOOL STDCALL NETDEV_DoorBatchCtrl
(
LPVOID lpUserID,
INT32 dwCommand,
LPNETDEV_OPERATE_LIST_S pstBatchCtrlInfo
);

Interface description:
Control doors in batches

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
dwCommand IN Door control command. See NETDEV_DOORCTRL_ACTION_TYPE_E
pstBatchCtrlInfo INOUT Batch control info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Control doors

Interface name:
BOOL STDCALL NETDEV_DoorCtrl
(
LPVOID lpUserID,
INT32 dwChannelID,
INT32 dwCommand
);

Interface description:
Control doors

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
dwChannelID IN Channel ID
dwCommand IN Door control command. See NETDEV_DOORCTRL_ACTION_TYPE_E

321 / 767
Network Device SDK (Windows) User Manual
Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Get access record

Get access record

Interface name:
LPVOID STDCALL NETDEV_FindACSAttendanceLogList
(
LPVOID lpUserID,
LPNETDEV_ALARM_LOG_COND_LIST_S pstFindCond,
LPNETDEV_BATCH_OPERATE_BASIC_S pstResultInfo
);

Interface description:
Get access record

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstFindCond IN Entry/exit record search criteria
pstResultInfo OUT Actual total number of access records

Return value:
Null means failure, other values are used as input parameters of NETDEV_FindNextACSAttendanceLog and
NETDEV_FindCloseACSAttendanceLogList.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindNextACSAttendanceLog and
NETDEV_FindCloseACSAttendanceLogList interfaces.
 After the interface is called successfully, call the NETDEV_FindNextACSAttendanceLog interface
to get the next record.
 Call the NETDEV_FindCloseACSAttendanceLogList interface to release resource and stop the search
after access records are obtained.

See also:
NETDEV_FindNextACSAttendanceLog, NETDEV_FindCloseACSAttendanceLogList

322 / 767
Network Device SDK (Windows) User Manual

Get the next access record

Interface name:
BOOL STDCALL NETDEV_FindNextACSAttendanceLog
(
LPVOID lpFindHandle,
LPNETDEV_ACS_ATTENDANCE_LOG_INFO_S pstACSLogInfo
);

Interface description:
Get the next access record

Parameters:
Parameter Type Description
lpFindHandle IN Handle to access record list, which is the return value from the
NETDEV_FindACSAttendanceLogList interface.
pstACSLogInfo OUT Access record info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindACSAttendanceLogList and
NETDEV_FindCloseACSAttendanceLogList interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindCloseACSAttendanceLogList interface to release resource after access records
are obtained.

See also:
NETDEV_FindACSAttendanceLogList, NETDEV_FindCloseACSAttendanceLogList

Close the search handle to access records

Interface name:
BOOL STDCALL NETDEV_FindCloseACSAttendanceLogList
(
LPVOID lpFindHandle
);

Interface description:
Close the search handle to access records

Parameters:

323 / 767
Network Device SDK (Windows) User Manual
Parameter Type Description
lpFindHandle IN Handle to access record list, which is the return value from the
NETDEV_FindACSAttendanceLogList interface.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindACSAttendanceLogList and NETDEV_FindNextACSAttendanceLog
interfaces.
 Call the NETDEV_FindCloseACSAttendanceLogList interface to release resource after access records
are obtained.

See also:
NETDEV_FindACSAttendanceLogList, NETDEV_FindNextACSAttendanceLog

Get permission group

Get permission group list

Interface name:
LPVOID STDCALL NETDEV_FindACSPermissionGroupList
(
LPVOID lpUserID,
LPNETDEV_PERSON_QUERY_INFO_S pstQueryCond,
LPNETDEV_BATCH_OPERATE_BASIC_S pstResultInfo
);

Interface description:
Get permission group list

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstQueryCond IN Search criteria
pstResultInfo OUT Returned result

Return value:
Null means failure, other values are used as input parameters of NETDEV_FindNextACSPermissionGroupInfo
and NETDEV_FindCloseACSPermissionGroupList.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

324 / 767
Network Device SDK (Windows) User Manual

Remarks:
 Use this interface with the NETDEV_FindNextACSPermissionGroupInfo and
NETDEV_FindCloseACSPermissionGroupList interfaces.
 After the interface is called successfully, call the NETDEV_FindNextACSPermissionGroupInfo
interface repeatedly to get the next group info.
 Call the NETDEV_FindCloseACSPermissionGroupList interface to release resource after access
control permission group info is obtained.

See also:
NETDEV_FindNextACSPermissionGroupInfo, NETDEV_FindCloseACSPermissionGroupList

Get the next record

Interface name:
BOOL STDCALL NETDEV_FindNextACSPermissionGroupInfo
(
LPVOID lpFindHandle,
LPNETDEV_ACS_PERMISSION_INFO_S pstACSPermissionInfo
);

Interface description:
Get the next permission group record

Parameters:
Parameter Type Description
lpFindHandle IN Handle to access permission group list, which is the return value
from the NETDEV_FindACSPermissionGroupList interface.
pstACSPermissionInfo OUT Permission group info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindACSPermissionGroupList and
NETDEV_FindCloseACSPermissionGroupList interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindCloseACSPermissionGroupList interface to release resource after access
control permission group info is obtained.

See also:
NETDEV_FindACSPermissionGroupList, NETDEV_FindCloseACSPermissionGroupList

325 / 767
Network Device SDK (Windows) User Manual

Close the search handle to permission groups

Interface name:
BOOL STDCALL NETDEV_FindCloseACSPermissionGroupList
(
LPVOID lpFindHandle
);

Interface description:
Close the search handle to permission groups

Parameters:
Parameter Type Description
lpFindHandle IN Handle to access permission group list, which is the return value
from the NETDEV_FindACSPermissionGroupList interface.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindACSPermissionGroupList and
NETDEV_FindNextACSPermissionGroupInfo interfaces.
 Call the NETDEV_FindCloseACSPermissionGroupList interface to release resource after access
control permission group info is obtained.

See also:
NETDEV_FindACSPermissionGroupList, NETDEV_FindNextACSPermissionGroupInfo

Get visitor blocklist

Get visitor blocklist

Interface name:
LPVOID STDCALL NETDEV_FindACSPersonBlackList
(
LPVOID lpUserID,
LPNETDEV_PAGED_QUERY_INFO_S pstQueryCond,
LPNETDEV_BATCH_OPERATE_BASIC_S pstResultInfo
);

Interface description:
Get visitor blocklist

326 / 767
Network Device SDK (Windows) User Manual

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstQueryCond IN Search criteria
pstResultInfo OUT Returned result

Return value:
Null means failure, other values are used as the input parameter of
NETDEV_FindNextACSPersonBlackListInfo and NETDEV_FindCloseACSPersonBlackList. Call
NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindNextACSPersonBlackListInfo and
NETDEV_FindCloseACSPersonBlackList interfaces.
 After the interface is called successfully, call the NETDEV_FindNextACSPersonBlackListInfo
interface repeatedly to get the next blocklist info.
 Call the NETDEV_FindCloseACSPersonBlackList interface to release resource after visitor blocklist
info is obtained.

See also:
NETDEV_FindNextACSPersonBlackListInfo, NETDEV_FindCloseACSPersonBlackList

Get the next record

Interface name:
BOOL STDCALL NETDEV_FindNextACSPersonBlackListInfo
(
LPVOID lpFindHandle,
LPNETDEV_ACS_PERSON_BLACKLIST_INFO_S pstBlackListInfo
);

Interface description:
Get the next visitor blacklist record

Parameters:
Parameter Type Description
lpFindHandle IN Search handle to visitor blocklist info, which is the return value
from the NETDEV_FindACSPersonBlackList interface.
pstBlackListInfo OUT Visitor blocklist

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.
327 / 767
Network Device SDK (Windows) User Manual

Remarks:
 Use this interface with the NETDEV_FindACSPersonBlackList and NETDEV_FindCloseACSPersonBlackList
interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindCloseACSPersonBlackList interface to release resource after visitor blocklist
info is obtained.

See also:
NETDEV_FindACSPersonBlackList, NETDEV_FindCloseACSPersonBlackList

Close the search handle to visitor blocklist

Interface name:
BOOL STDCALL NETDEV_FindCloseACSPersonBlackList
(
LPVOID lpFindHandle
);

Interface description:
Close the search handle to visitor blocklist

Parameters:
Parameter Type Description
lpFindHandle IN Search handle to visitor blocklist info, which is the return value
from the NETDEV_FindACSPersonBlackList interface.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindACSPersonBlackList and
NETDEV_FindNextACSPersonBlackListInfo interfaces.
 Call the NETDEV_FindCloseACSPersonBlackList interface to release resource after visitor blocklist
info is obtained.

See also:
NETDEV_FindACSPersonBlackList, NETDEV_FindNextACSPersonBlackListInfo

328 / 767
Network Device SDK (Windows) User Manual

Get person info in access control

Get person list

Interface name:
LPVOID STDCALL NETDEV_FindACSPersonList
(
LPVOID lpUserID,
LPNETDEV_PERSON_QUERY_INFO_S pstQueryCond,
LPNETDEV_BATCH_OPERATE_BASIC_S pstResultInfo
);

Interface description:
Get person list

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstQueryCond IN Access control person search criteria
pstResultInfo OUT Returned info

Return value:
Null means failure, other values are used as input parameters of NETDEV_FindNextACSPersonInfo and
NETDEV_FindCloseACSPersonInfo.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindNextACSPersonInfo and NETDEV_FindCloseACSPersonInfo
interfaces.
 After the interface is called successfully, call the NETDEV_FindNextACSPersonInfo interface
repeatedly to get the next person info.
 Call the NETDEV_FindCloseACSPersonInfo interface to release resource and stop the search after
person info is obtained.

See also:
NETDEV_FindNextACSPersonInfo, NETDEV_FindCloseACSPersonInfo

Get info about the next person

Interface name:
BOOL STDCALL NETDEV_FindNextACSPersonInfo
(

329 / 767
Network Device SDK (Windows) User Manual
LPVOID lpFindHandle,
LPNETDEV_ACS_PERSON_BASE_INFO_S pstACSPersonInfo
);

Interface description:
Get info about the next person

Parameters:
Parameter Type Description
lpFindHandle IN Search handle to person list, which is the return value from the
NETDEV_FindACSPersonList interface.
pstACSPersonInfo OUT Person info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindACSPersonList and NETDEV_FindCloseACSPersonInfo interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindCloseACSPersonInfo interface to release resource and stop the search after
person info is obtained.

See also:
NETDEV_FindACSPersonList, NETDEV_FindCloseACSPersonInfo

Stop searching person list and release resource

Interface name:
BOOL STDCALL NETDEV_FindCloseACSPersonInfo
(
LPVOID lpFindHandle
);

Interface description:
Stop searching person list and release resource

Parameters:
Parameter Type Description
lpFindHandle IN Search handle to person list, which is the return value from the
NETDEV_FindACSPersonList interface.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.
330 / 767
Network Device SDK (Windows) User Manual

Remarks:
 Use this interface with the NETDEV_FindACSPersonList and NETDEV_FindNextACSPersonInfo interfaces.
 Call the NETDEV_FindCloseACSPersonInfo interface to release resource and stop searching after
person info is obtained.

See also:
NETDEV_FindACSPersonList, NETDEV_FindNextACSPersonInfo

Get visitor records

Get visitor records

Interface name:
LPVOID STDCALL NETDEV_FindACSVisitLogList
(
LPVOID lpUserID,
LPNETDEV_ALARM_LOG_COND_LIST_S pstFindCond,
LPNETDEV_BATCH_OPERATE_BASIC_S pstResultInfo
);

Interface description:
Get visitor records

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstFindCond IN Visitor record search criteria
pstResultInfo OUT Actual total number of visitor records

Return value:
Null means failure, other values are used as input parameters of NETDEV_FindNextACSVisitLog and
NETDEV_FindCloseACSVisitLog.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindNextACSVisitLog and NETDEV_FindCloseACSVisitLog interfaces.
 After the interface is called successfully, call the NETDEV_FindNextACSVisitLog interface to get
the next log.
 Call the NETDEV_FindCloseACSVisitLog interface to release resource after visitor record info is
obtained.

See also:
331 / 767
Network Device SDK (Windows) User Manual
NETDEV_FindNextACSVisitLog, NETDEV_FindCloseACSVisitLog

Get the next visitor record

Interface name:
BOOL STDCALL NETDEV_FindNextACSVisitLog
(
LPVOID lpFindHandle,
LPNETDEV_ACS_VISIT_LOG_INFO_S pstACSLogInfo
);

Interface description:

Parameters:
Parameter Type Description
lpFindHandle IN Search handle to access record list, which is the return value from
the NETDEV_FindACSVisitLogList interface.
pstACSLogInfo OUT Access record info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindACSVisitLogList and NETDEV_FindCloseACSVisitLog interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindCloseACSVisitLog interface to release resource after access records are
obtained.

See also:
NETDEV_FindACSVisitLogList, NETDEV_FindCloseACSVisitLog

Close the search handle to access records

Interface name:
BOOL STDCALL NETDEV_FindCloseACSVisitLog
(
LPVOID lpFindHandle
);

Interface description:
Close the search handle to access records

Parameters:

332 / 767
Network Device SDK (Windows) User Manual
Parameter Type Description
lpFindHandle IN Search handle to access record list, which is the return value from
the NETDEV_FindACSVisitLogList interface.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindACSVisitLogList and NETDEV_FindNextACSVisitLog interfaces.
 Call the NETDEV_FindCloseACSVisitLog interface to release resource after access records are
obtained.

See also:
NETDEV_FindACSVisitLogList, NETDEV_FindNextACSVisitLog

Get a visitor blocklist

Interface name:
BOOL STDCALL NETDEV_GetACSPersonBlackList
(
LPVOID lpUserID,
LPNETDEV_ACS_PERSON_BLACKLIST_INFO_S pstBlackListInfo
);

Interface description:
Get a visitor blocklist

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstBlackListInfo INOUT Blocklist info, among which, udwBlackListID is passed in as the input
parameter

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Get info about access cards held by a person

Interface name:
BOOL STDCALL NETDEV_GetACSPersonCardInfo
(

333 / 767
Network Device SDK (Windows) User Manual
LPVOID lpUserID,
UINT32 udwACSPersonID,
LPNETDEV_ACS_PERSON_CARD_INFO_S pstACSPersonCardInfo
);

Interface description:
Get info about access cards held by a person

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwACSPersonID IN Person ID
pstACSPersonCardInfo OUT Access card info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Get info about permissions assigned to a person

Interface name:
BOOL STDCALL NETDEV_GetACSPersonPermission
(
LPVOID lpUserID,
UINT32 udwPersonID,
LPNETDEV_ACS_DOOR_PERMISSION_INFO_S pstPermissionInfo
);

Interface description:
Get info about permissions assigned to a person

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwPersonID IN Person ID
pstPermissionInfo OUT Permission info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

334 / 767
Network Device SDK (Windows) User Manual

Get info about a permission group

Interface name:
BOOL STDCALL NETDEV_GetSinglePermGroupInfo
(
LPVOID lpUserID,
UINT32 udwPermissionGroupID,
LPNETDEV_ACS_PERMISSION_INFO_S pstAcsPerssionInfo
);

Interface description:
Get info about a permission group

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwPermissionGroupID IN Permission group ID
pstAcsPerssionInfo INOUT Permission group info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Modify visitor blocklist

Interface name:
BOOL STDCALL NETDEV_ModifyACSPersonBlackList
(
LPVOID lpUserID,
LPNETDEV_ACS_PERSON_BLACKLIST_INFO_S pstBlackListInfo
);

Interface description:
Modify visitor blocklist

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstBlackListInfo IN Blocklist info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
335 / 767
Network Device SDK (Windows) User Manual
the error code to determine the cause of error.

Modify permission group

Interface name:
BOOL STDCALL NETDEV_ModifyACSPersonPermissionGroup
(
LPVOID lpUserID,
LPNETDEV_ACS_PERMISSION_INFO_S pstPermissionInfo
);

Interface description:
Modify permission group

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstPermissionInfo IN Permission group info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Set permission for a person

Interface name:
BOOL STDCALL NETDEV_SetACSPersonPermission
(
LPVOID lpUserID,
UINT32 udwPersonID,
LPNETDEV_ACS_DOOR_PERMISSION_INFO_S pstPermissionInfo
);

Interface description:
Set permission for a person

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwPersonID IN Person ID
pstPermissionInfo IN Permission info

336 / 767
Network Device SDK (Windows) User Manual
Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Register the callback function to receive turnstile alarms

Interface name:
BOOL STDCALL NETDEV_SetAlarmFGCallBack
(
LPVOID lpUserID,
NETDEV_AlarmMessFGCallBack_PF cbAlarmMessCallBack,
LPVOID lpUserData
);

Interface description:
Register the callback function to receive turnstile alarms

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
cbAlarmMessCallBack IN Callback function
lpUserData IN User data

Callback Function
typedef void(STDCALL *NETDEV_AlarmMessFGCallBack_PF)
(
LPVOID lpUserID,
LPNETDEV_PERSON_VERIFICATION_S pstAlarmData,
LPVOID lpUserData
);

Callback Function Parameters


Parameter Type Description
lpUserID IN User login handle, which is the return value from the NETDEV_Login_V30
interface
pstAlarmData IN Alarm info
lpUserData IN User data

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

337 / 767
Network Device SDK (Windows) User Manual
4.25.18 Deep Learning Perimeter Protection

Start object search

Interface name:
BOOL STDCALL NETDEV_StartObjectSearch
(
LPVOID lpUserID,
LPNETDEV_QUERY_CHN_CONDITION_S pstStartInfo,
UINT32* pudwSearchID
);

Interface description:
Start object search

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstStartInfo IN Search start info
pudwSearchID OUT Service ID

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Get object search progress

Interface name:
BOOL STDCALL NETDEV_GetObjectSearchProg
(
LPVOID lpUserID,
UINT32 udwSearchID,
UINT32* pudwPercent
);

Interface description:
Get object search progress

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface

338 / 767
Network Device SDK (Windows) User Manual
udwSearchID IN Service ID
pudwPercent OUT Search progress

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Get object search result

Interface name:
LPVOID STDCALL NETDEV_FindObjectSearchList
(
LPVOID lpUserID,
LPNETDEV_PIC_QUERY_COND_S pstQueryCond,
LPNETDEV_PIC_QUERY_RESULT_S pstQueryResult
);

Interface description:
Get object search result

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstQueryCond IN Search criteria
pstQueryResult OUT Search result

Return value:
Null means failure, other values are used as input parameters of NETDEV_FindNextObjectSearchInfo and
NETDEV_FindCloseObjectSearchList.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindNextObjectSearchInfo and NETDEV_FindCloseObjectSearchList
interfaces.
 After the interface is called successfully, call the NETDEV_FindNextObjectSearchInfo interface
to get the next search result.
 Call the NETDEV_FindCloseObjectSearchList interface to release resource after object search result
is obtained.

339 / 767
Network Device SDK (Windows) User Manual

Get object search result one by one

Interface name:
BOOL STDCALL NETDEV_FindNextObjectSearchInfo
(
LPVOID lpFindHandle,
LPNETDEV_OBJECT_RESULT_INFO_S pstObjectResultInfo
);

Interface description:
Get object search result

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_FindObjectSearchList interface.
pstObjectResultInfo IN Search result

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindObjectSearchList and NETDEV_FindCloseObjectSearchList
interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindCloseObjectSearchList interface to release resource after object search result
is obtained.

Stop searching object search result and release resource

Interface name:
BOOL STDCALL NETDEV_FindCloseObjectSearchList
(
LPVOID lpFindHandle
);

Interface description:
Stop searching object search result and release resource

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the

340 / 767
Network Device SDK (Windows) User Manual
NETDEV_FindObjectSearchList interface.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindObjectSearchList and NETDEV_FindNextObjectSearchInfo
interfaces.
 Call the NETDEV_FindCloseObjectSearchList interface to release resource after object search result
is obtained.

Stop object search

Interface name:
BOOL STDCALL NETDEV_StopObjectSearch
(
LPVOID lpUserID,
UINT32 udwSearchID
);

Interface description:
Stop searching object search result and release resource

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwSearchID IN Service ID

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.25.19 Get data related to an alarm

Get alarm related data list

Interface name:
LPVOID STDCALL NETDEV_FindAlarmRelatedDataList
(
LPVOID lpUserID,
INT32 dwAlarmID

341 / 767
Network Device SDK (Windows) User Manual
);

Interface description:
Get alarm related data list

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
dwAlarmID IN Alarm ID

Return value:
Null means failure, other values are used as input parameters of NETDEV_FindNextAlarmRelatedDataInfo
and NETDEV_FindCloseAlarmRelatedDataList.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindNextAlarmRelatedDataInfo and
NETDEV_FindCloseAlarmRelatedDataList interfaces.
 After the interface is called successfully, call the NETDEV_FindNextAlarmRelatedDataInfo
interface repeatedly to get the next data info.
 Call the NETDEV_FindCloseAlarmRelatedDataList interface to release resource after alarm related
data is obtained.

Get alarm related data

Interface name:
BOOL STDCALL NETDEV_FindNextAlarmRelatedDataInfo
(
LPVOID lpFindHandle,
LPNETDEV_ALARM_RELATED_DATA_S pstAlarmRelatedData
);

Interface description:
Get alarm related data

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_FindAlarmRelatedDataList interface.
pstAlarmRelatedData IN Alarm related data

Return value:
342 / 767
Network Device SDK (Windows) User Manual
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindAlarmRelatedDataList and
NETDEV_FindCloseAlarmRelatedDataList interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindCloseAlarmRelatedDataList interface to release resource after alarm related
data is obtained.

Close the search handle to alarm related data

Interface name:
BOOL STDCALL NETDEV_FindCloseAlarmRelatedDataList
(
LPVOID lpFindHandle
);

Interface description:
Stop searching alarm related data and release resource.

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_FindAlarmRelatedDataList interface.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindAlarmRelatedDataList and
NETDEV_FindNextAlarmRelatedDataInfo interfaces.
 Call the NETDEV_FindCloseAlarmRelatedDataList interface to release resource after alarm related
data is obtained.

4.25.20 Register the callback function to receive alarm images

Interface name:
BOOL STDCALL NETDEV_SetPicAlarmCallBack
(
LPVOID lpUserID,
NETDEV_PicAlarmMessCallBack_PF cbAlarmMessCallBack,
LPVOID lpUserData

343 / 767
Network Device SDK (Windows) User Manual
);

Interface description:
Register the callback function to receive alarm images

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
cbAlarmMessCallBack IN Callback function
lpUserData IN User data

Callback Function
typedef void(STDCALL *NETDEV_PicAlarmMessCallBack_PF)
(
LPVOID lpUserID,
LPNETDEV_ALARM_PIC_DATA_S pstAlarmPicData,
LPVOID lpUserData
);

Callback Function Parameters


Parameter Type Description
lpUserID IN User login handle, which is the return value from the NETDEV_Login_V30
interface
pstAlarmPicData IN Alarm image info
lpUserData IN User data

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.25.21 People counting

Register the callback function to receive people counting alarms

Interface name:
BOOL STDCALL NETDEV_SetPeopleCountAlarmCallBack
(
LPVOID lpUserID,
NETDEV_PeopleCountAlarmMessCallBack_PF cbAlarmMessCallBack,
LPVOID lpUserData
);

Interface description:

344 / 767
Network Device SDK (Windows) User Manual
Register the callback function to receive people counting alarms

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
cbAlarmMessCallBack IN Callback function
lpUserData IN User data

Callback Function
typedef void(STDCALL *NETDEV_PeopleCountAlarmMessCallBack_PF)
(
LPVOID lpUserID,
LPNETDEV_PEOPLE_COUNT_ALARM_INFO_S pstAlarmInfo,
LPVOID lpUserData
);

Callback Function Parameters


Parameter Type Description
lpUserID IN User login handle, which is the return value from the NETDEV_Login_V30
interface
pstAlarmInfo IN Alarm image info
lpUserData IN User data

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Get crowd density group list

Interface name:
LPVOID STDCALL NETDEV_FindCrowdDensityGroupList
(
LPVOID lpUserID
);

Interface description:
Get crowd density group list

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface

345 / 767
Network Device SDK (Windows) User Manual
Return value:
Null means failure, other values are used as the input parameter of
NETDEV_FindNextCrowdDensityGroupInfo and NETDEV_FindCloseCrowdDensityGroupList. Call
NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindNextCrowdDensityGroupInfo and
NETDEV_FindCloseCrowdDensityGroupList interfaces.
 After the interface is called successfully, call the NETDEV_FindNextCrowdDensityGroupInfo
interface repeatedly to get the next group info.
 Call the NETDEV_FindCloseCrowdDensityGroupList interface to release resource after crowd density
group info is obtained.

Get crowd density group info one by one

Interface name:
BOOL STDCALL NETDEV_FindNextCrowdDensityGroupInfo
(
LPVOID lpFindHandle,
LPNETDEV_CROWD_DENSITY_GROUP_INFO_S pstCrowdDensityGroupInfo
);

Interface description:
Get object search result

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_FindCrowdDensityGroupList interface.
pstCrowdDensityGroupInfo IN Crowd density group info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindCrowdDensityGroupList and
NETDEV_FindCloseCrowdDensityGroupList interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindCloseCrowdDensityGroupList interface to release resource after crowd density
group info is obtained.

346 / 767
Network Device SDK (Windows) User Manual

Close the search handle to crowd density group list

Interface name:
BOOL STDCALL NETDEV_FindCloseCrowdDensityGroupList
(
LPVOID lpFindHandle
);

Interface description:
Stop searching crowd density group and release resource

Parameters:
Parameter Type Description
lpFindHandle IN Search handle, which is the return value from the
NETDEV_FindCrowdDensityGroupList interface.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindCrowdDensityGroupList and
NETDEV_FindNextCrowdDensityGroupInfo interfaces.
 Call the NETDEV_FindCloseCrowdDensityGroupList interface to release resource after crowd density
group info is obtained.

Add crowd density group

Interface name:
BOOL STDCALL NETDEV_AddCrowdDensityGroupInfo
(
LPVOID lpUserID,
LPNETDEV_CROWD_DENSITY_GROUP_INFO_S pstCrowdDensityGroupInfo,
UINT32 *pUdwGroupID
);

Interface description:
Add crowd density group

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface

347 / 767
Network Device SDK (Windows) User Manual
pstCrowdDensityGroupInfo IN Crowd density group info
pUdwGroupID OUT Crowd density group ID

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Modify crowd density group

Interface name:
BOOL STDCALL NETDEV_ModifyCrowdDensityGroupInfo
(
LPVOID lpUserID,
LPNETDEV_CROWD_DENSITY_GROUP_INFO_S pstCrowdDensityGroupInfo
);

Interface description:
Modify crowd density group

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstCrowdDensityGroupInfo IN Crowd density group info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Delete crowd density group

Interface name:
BOOL STDCALL NETDEV_DeleteCrowdDensityGroupInfo
(
LPVOID lpUserID,
UINT32 udwCrowdDensityGroupID
);

Interface description:
Delete crowd density group

Parameters:
Parameter Type Description

348 / 767
Network Device SDK (Windows) User Manual
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwCrowdDensityGroupID IN Crowd density group ID

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Get info about crowd density group

Interface name:
BOOL STDCALL NETDEV_GetCrowdDensityGroupInfo
(
LPVOID lpUserID,
UINT32 udwCrowdDensityGroupID,
LPNETDEV_CROWD_DENSITY_GROUP_INFO_S pstCrowdDensityGroupInfo
);

Interface description:
Get info about crowd density group

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwCrowdDensityGroupID IN Crowd density group ID
pstCrowdDensityGroupInfo OUT Crowd density group info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Reset tripwire people counting statistics immediately

Interface name:
BOOL STDCALL NETDEV_ResetLinesPeopleCounting
(
LPVOID lpUserID,
UINT32 udwChannelID
);

Interface description:
Reset tripwire people counting statistics immediately

349 / 767
Network Device SDK (Windows) User Manual

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
udwChannelID IN Channel ID

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.26 System Maintenance

4.26.1 Search logs

Search logs

Interface name:
LPVOID STDCALL NETDEV_FindLogInfoList
(
LPVOID lpUserID,
LPNETDEV_FIND_LOG_COND_S pstLogFindCond
);

Interface description:
Search logs by log type and time

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstLogFindCond IN Log search criteria

Return value:
Null means failure, other values are used as input parameters of NETDEV_FindNextLogInfo and
NETDEV_FindCloseLogInfo.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindNextLogInfo and NETDEV_FindCloseLogInfo interfaces.
 After the interface is called successfully, call the NETDEV_FindNextLogInfo interface repeatedly
to get the next log.
 Call the NETDEV_FindCloseLogInfo interface to release resource and stop the search after log info

350 / 767
Network Device SDK (Windows) User Manual
is obtained.
 This interface is only applicable to VMS and NVR. VMS only supports searching operation logs.

See also:
NETDEV_FindNextLogInfo, NETDEV_FindCloseLogInfo

Get log info one by one

Interface name:
BOOL STDCALL NETDEV_FindNextLogInfo
(
LPVOID lpFindHandle,
LPNETDEV_LOG_INFO_S pstLogInfo
);

Interface description:
Get log info one by one

Parameters:
Parameter Type Description
lpFindHandle IN Log search handle, which is the return value from the
NETDEV_FindLogInfoList interface.
pstLogInfo OUT Pointer to the saved log info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindLogInfoList and NETDEV_FindCloseLogInfo interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindCloseLogInfo interface to release resource and stop the search after log info
is obtained.
 This interface is only applicable to VMS and NVR. VMS only supports searching operation logs.

See also:
NETDEV_FindLogInfoList, NETDEV_FindCloseLogInfo

Stop searching logs and release resource

Interface name:
BOOL STDCALL NETDEV_FindCloseLogInfo
(

351 / 767
Network Device SDK (Windows) User Manual
LPVOID lpFindHandle
);s

Interface description:
Stop searching log and release resource.

Parameters:
Parameter Type Description
lpFindHandle IN Log search handle, which is the return value from the
NETDEV_FindLogInfoList interface.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindLogInfoList and NETDEV_FindNextLogInfo interfaces.
 Call the NETDEV_FindCloseLogInfo interface to release resource and stop the search after log info
is obtained.

See also:
NETDEV_FindLogInfoList, NETDEV_FindNextLogInfoo

4.26.2 Get device alarms

Get device alarm list

Interface name:
LPVOID STDCALL NETDEV_FindAlarmInfoList
(
LPVOID lpUserID,
LPNETDEV_FIND_ALARM_COND_S pstAlarmFindCond
);

Interface description:
Get device alarms by time

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstAlarmFindCond IN Alarm search criteria

Return value:

352 / 767
Network Device SDK (Windows) User Manual
Null means failure, other values are used as input parameters of NETDEV_FindNextAlarmInfo and
NETDEV_FindCloseAlarmInfo.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindNextAlarmInfo and NETDEV_FindCloseAlarmInfo interfaces.
 After the interface is called successfully, call the NETDEV_FindNextAlarmInfo interface repeatedly
to get the next alarm info.
 Call the NETDEV_FindCloseAlarmInfo interface to release resource and stop the search after alarm
info is obtained.

See also:
NETDEV_FindNextAlarmInfo, NETDEV_FindCloseAlarmInfo

Get alarm info one by one

Interface name:
BOOL STDCALL NETDEV_FindNextAlarmInfo
(
LPVOID lpFindHandle,
LPNETDEV_FIND_ALARM_INFO_S pstAlarmInfo
);

Interface description:
Get alarm info one by one

Parameters:
Parameter Type Description
lpFindHandle IN Alarm search handle, which is the return value from the
NETDEV_FindAlarmInfoList interface.
pstAlarmInfo OUT Alarm info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindAlarmInfoList and NETDEV_FindCloseAlarmInfo interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindCloseAlarmInfo interface to release resource and stop the search after alarm
info is obtained.

See also:
NETDEV_FindAlarmInfoList, NETDEV_FindCloseAlarmInfo

353 / 767
Network Device SDK (Windows) User Manual

Stop searching alarm info

Interface name:
BOOL STDCALL NETDEV_FindCloseAlarmInfo
(
LPVOID lpFindHandle
);

Interface description:
Stop searching alarm and release resource.

Parameters:
Parameter Type Description
lpFindHandle IN Alarm search handle, which is the return value from the
NETDEV_FindAlarmInfoList interface.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindAlarmInfoList and NETDEV_FindNextAlarmInfo interfaces.
 Call the NETDEV_FindCloseAlarmInfo interface to release resource and stop the search after alarm
info is obtained.

See also:
NETDEV_FindAlarmInfoList, NETDEV_FindNextAlarmInfo

4.26.3 Get alarm logs

Get alarm log list

Interface name:
LPVOID STDCALL NETDEV_FindAlarmLogList
(
LPVOID lpUserID,
LPNETDEV_ALARM_LOG_COND_LIST_S pstFindCond,
INT32* pdwTotalRealRow
);

Interface description:
Get alarm log list

354 / 767
Network Device SDK (Windows) User Manual
Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface
pstFindCond IN Search criteria
pdwTotalRealRow OUT Actual total number of alarm logs

Return value:
Null means failure, other values are used as input parameters of NETDEV_FindNextAlarmLog and
NETDEV_FindCloseAlarmLog.
Call NETDEV_GetLastError to get the error code and use the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindNextAlarmLog and NETDEV_FindCloseAlarmLog interfaces.
 After the interface is called successfully, call the NETDEV_FindNextAlarmLog interface repeatedly
to get the next alarm log.
 Call the NETDEV_FindCloseAlarmLog interface to release resource and stop the search after alarm
log is obtained.
 This interface is only applicable to VMS.

See also:
NETDEV_FindNextAlarmLog, NETDEV_FindCloseAlarmLog

Get alarm log info one by one

Interface name:
BOOL STDCALL NETDEV_FindNextAlarmLog
(
LPVOID lpFindHandle,
LPNETDEV_ALARM_LOG_INFO_S pstAlarmLogInfo
);

Interface description:
Get alarm log one by one

Parameters:
Parameter Type Description
lpFindHandle IN Alarm search handle, which is the return value from the
NETDEV_FindAlarmLogList interface.
pstAlarmLogInfo OUT Alarm log info

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

355 / 767
Network Device SDK (Windows) User Manual

Remarks:
 Use this interface with the NETDEV_FindAlarmLogList and NETDEV_FindCloseAlarmLog interfaces.
 Call this interface repeatedly to get the next info.
 Call the NETDEV_FindCloseAlarmLog interface to release resource and stop the search after alarm
log is obtained.

See also:
NETDEV_FindAlarmLogList, NETDEV_FindCloseAlarmLog

Stop searching alarm logs

Interface name:
BOOL STDCALL NETDEV_FindCloseAlarmLog
(
LPVOID lpFindHandle
);

Interface description:
Stop searching alarm log and release resource.

Parameters:
Parameter Type Description
lpFindHandle IN Alarm search handle, which is the return value from the
NETDEV_FindAlarmLogList interface.

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Use this interface with the NETDEV_FindAlarmLogList and NETDEV_FindNextAlarmLog interfaces.
 Call the NETDEV_FindCloseAlarmLog interface to release resource and stop the search after alarm
log is obtained.

4.26.4 Restart device

Interface name:
BOOL STDCALL NETDEV_Reboot
(
PVOID lpUserID
);

Interface description:
Restart device
356 / 767
Network Device SDK (Windows) User Manual

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

4.26.5 Restore device to factory defaults

Interface name:
BOOL STDCALL NETDEV_RestoreConfig
(
LPVOID lpUserID
);

Interface description:
Restore factory defaults

Parameters:
Parameter Type Description
lpUserID IN User login handle, which is the return value from the
NETDEV_Login_V30 interface

Return value:
TRUE means success, other values mean failure. Call NETDEV_GetLastError to get the error code and use
the error code to determine the cause of error.

Remarks:
 Keep current network and user configurations, and restore others to factory defaults.

4.27 Structure Definition

4.27.1 Structure of device login info

typedef struct tagstNETDEVDeviceLoginInfo


{
CHAR szIPAddr[NETDEV_LEN_260];
INT32 dwPort;
CHAR szUserName[NETDEV_LEN_132];
CHAR szPassword[NETDEV_LEN_128];
INT32 dwLoginProto;
357 / 767
Network Device SDK (Windows) User Manual
INT32 dwDeviceType;
BYTE byRes[256];
}NETDEV_DEVICE_LOGIN_INFO_S, *LPNETDEV_DEVICE_LOGIN_INFO_S;

Members:
Parameter Description
szIPAddr Device IP address/domain name
dwPort Port number, the same port number used for web access; the default is 80.
szUserName Username
szPassword Password. The user enters the plain password, which is encrypted inside the
SDK.
dwLoginProto Login protocol. See NETDEV_LOGIN_PROTO_E.
dwDeviceType Device type. See NETDEV_DEVICE_TYPE_E.
byRes Reserved field.

See also:
NETDEV_Login_V30

4.27.2 Structure of security login info

typedef struct tagstNETDEVSELogInfo


{
INT32 dwSELogCount;
INT32 dwSELogTime;
BYTE byRes[64];
}NETDEV_SELOG_INFO_S, *LPNETDEV_SELOG_INFO_S;

Members:
Parameter Description
dwSELogCount Secure login count. For example, how many login attempts are allowed
(incorrect username/password) before the device will be locked.
dwSELogTime Secure login time. For example, how much time after the device is locked can
the user retry login.
byRes Reserved field.

See also:
NETDEV_Login_V30

4.27.3 Structure of timeout

typedef struct tagNETDEVRevTimeout


{
INT32 dwRevTimeOut;
INT32 dwFileReportTimeOut;
BYTE byRes[128];

358 / 767
Network Device SDK (Windows) User Manual
}NETDEV_REV_TIMEOUT_S, *LPNETDEV_REV_TIMEOUT_S;

Members:
Parameter Description
dwRevTimeOut Network message timeout value (unit: second)
dwFileReportTimeOut File transfer timeout value (unit: second)
byRes Reserved field.

Remarks:
 The dwRevTimeOut must be greater than or equal to 1 second.
 The dwFileReportTimeOut must be greater than or equal to 30 seconds.

See also:
NETDEV_SetRevTimeOut

4.27.4 Structure of discovered device info

typedef struct tagNetDEVDiscoveryDevInfo


{
CHAR szDevAddr[NETDEV_LEN_64];
CHAR szDevModule[NETDEV_LEN_64];
CHAR szDevSerailNum[NETDEV_LEN_64];
CHAR szDevMac[NETDEV_LEN_64];
CHAR szDevName[NETDEV_LEN_64];
CHAR szDevVersion[NETDEV_LEN_64];
NETDEV_DEVICE_TYPE_E enDevType;
INT32 dwDevPort;
CHAR szManuFacturer[NETDEV_LEN_64];
CHAR szActiveCode[NETDEV_LEN_64];
CHAR szCloudUserName[NETDEV_LEN_64];
BYTE byRes[68];
}NETDEV_DISCOVERY_DEVINFO_S, *LPNETDEV_DISCOVERY_DEVINFO_S;

Members:
Parameter Description
szDevAddr Device address
szDevModule Device model
szDevSerailNum Device serial number
szDevMac Device MAC address
szDevName Device name
szDevVersion Device version
enDevType Device type. See NETDEV_DEVICE_TYPE_E.
dwDevPort Device port number
szManuFacturer Manufacturer
szActiveCode Activation code

359 / 767
Network Device SDK (Windows) User Manual
szCloudUserName Cloud username
byRes Reserved field.

See also:
NETDEV_SetDiscoveryCallBack

4.27.5 Structure of abnormal player output info

typedef struct tagstNETDEVExceptionOutputInfo


{
INT32 dwEventCode;
INT64 tPlayBackTime;
CHAR szFileName[NETDEV_LEN_256];
INT32 dwOldSubID;
INT32 dwNewSubID;
INT32 dwSubType;
BYTE byRes[116];
}NETDEV_EXCEPTION_OUTPUT_INFO_S, *LPNETDEV_EXCEPTION_OUTPUT_INFO_S;

Members:
Parameter Description
dwEventCode Event code (for player to report events)
tPlayBackTime Playback absolute time (for player to report events)
szFileName String parameter
dwOldSubID Old subscription ID, only used for face subscription
dwNewSubID New subscription ID, only used for face subscription
dwSubType Subscription type, only used for face subscription
byRes Reserved field.

See also:
NETDEV_SetExceptionCallBack

4.27.6 Structure of device address info

typedef struct tagNETDEVDevAddrInfo


{
CHAR szUserName[NETDEV_LEN_64];
CHAR szPassword[NETDEV_LEN_64];
CHAR szIPv4Address[NETDEV_LEN_32];
CHAR szIPv4GateWay[NETDEV_LEN_32];
CHAR szIPv4SubnetMask[NETDEV_LEN_32];
CHAR szDevSerailNum[NETDEV_LEN_64];
CHAR szDevMac[NETDEV_LEN_64];
BYTE byRes[512];
}NETDEV_DEV_ADDR_INFO_S, *LPNETDEV_DEV_ADDR_INFO_S;

360 / 767
Network Device SDK (Windows) User Manual

Members:
Parameter Description
szUserName Username
szPassword Password
szIPv4Address IP address (IPv4)
szIPv4GateWay Gateway address (IPv4)
szIPv4SubnetMask Subnet mask (IPv4 )
szDevSerailNum Device serial number
szDevMac Device MAC address
byRes Reserved field.

See also:
NETDEV_ModifyDeviceAddr

4.27.7 Structure of live view parameters

typedef struct tagNETDEVPriviewInfo


{
INT32 dwChannelID;
INT32 dwStreamType;
INT32 dwLinkMode;
LPVOID hPlayWnd;
INT32 dwFluency;
INT32 dwStreamMode;
INT32 dwLiveMode;
INT32 dwDisTributeCloud;
BOOL dwallowDistribution;
INT32 dwTransType;
INT32 dwStreamProtocol;
BYTE byRes[236];
}NETDEV_PREVIEWINFO_S, *LPNETDEV_PREVIEWINFO_S;

Members:
Parameter Description
dwChannelID Channel ID
dwStreamType Stream type. See NETDEV_LIVE_STREAM_INDEX_E.
dwLinkMode Transport protocol. See NETDEV_PROTOCAL_E.
hPlayWnd Window handle
dwFluency Fluency priority type. See NETDEV_PICTURE_FLUENCY_E.
dwStreamMode Streaming mode. See NETDEV_STREAM_MODE_E.
dwLiveMode Streaming mode. Reserved field. Just pass in 0.
dwDisTributeCloud Distribution capability. Reserved field. Just pass in 0.
dwallowDistribution Whether CDN is supported. Reserved field. Pass 0.
dwTransType Transport type. Applicable to VMS only. See NETDEV_TRANS_TYPE_E.
361 / 767
Network Device SDK (Windows) User Manual
dwStreamProtocol Streaming protocol. See NETDEV_START_STREAM_PROT_E.
byRes Reserved field.

See also:
NETDEV_RealPlay

4.27.8 Structure of decoded audio data

ttypedef struct tagNETDEVWaveData


{
CHAR *pcData;
INT32 dwDataLen;
INT32 dwWaveFormat;
}NETDEV_WAVE_DATA_S, *LPNETDEV_WAVE_DATA_S;

Members:
Parameter Description
pcData Audio data
dwDataLen Length of audio data
dwWaveFormat Decoded audio format. See NETDEV_WAVE_FORMAT_INFO_E.
See also:
NETDEV_StartVoiceCom

4.27.9 Structure of audio parameters

typedef struct tagPlayerAudioSampleParamType


{
ULONG_32 ulChannels;
ULONG_32 ulSampleRate;
PLAYER_AUDIO_SAMPLE_FORMAT_E enSampleFormat;
} PLAYER_AUDIO_SAMPLE_PARAM_S;

Members:
Parameter Description
ulChannels Number of audio channels, 1: mono, 2: stereo
ulSampleRate Sampling rate
enSampleFormat Bit width

See also:
NETDEV_InputVoiceData

4.27.10 Structure of channel operation info

typedef struct tagNETDEVOperateInfo


{
INT32 dwID;
362 / 767
Network Device SDK (Windows) User Manual
INT32 dwReturnCode;
BYTE byRes[64];
}NETDEV_OPERATE_INFO_S, *LPNETDEV_OPERATE_INFO_S;

Members:
Parameter Description
dwID Action ID
dwReturnCode Return code
byRes Reserved field.

4.27.11 Structure of channel list

typedef struct tagNETDEVOperateList


{
INT32 dwSize;
LPNETDEV_OPERATE_INFO_S pstOperateInfo;
}NETDEV_OPERATE_LIST_S, *LPNETDEV_OPERATE_LIST_S;

Members:
Parameter Description
dwSize Batch processing size
pstOperateInfo Batch processing info

See also:
NETDEV_CreateVoiceBroadcastGroup

4.27.12 Structure of info about batch processing audio broadcast group

typedef struct NETDEV_ModifyVoiceBroadcastInfo


{
LPNETDEV_OPERATE_LIST_S pstAddChannelList;
LPNETDEV_OPERATE_LIST_S pstDelChannelList;
}NETDEV_MODIFY_VOICE_BROADCAST_INFO_S, *LPNETDEV_MODIFY_VOICE_BROADCAST_INFO_S;

Members:
Parameter Description
pstAddChannelList Add channel list
pstDelChannelList Delete channel list

See also:
NETDEV_ModifyVoiceBroadcastGroup

4.27.13 Structure of info about audio broadcast channels

typedef struct tagstNETDEV_VoiceBroadcastChlInfo


{
363 / 767
Network Device SDK (Windows) User Manual
UINT32 dwChannelID;
UINT32 dwResultCode;
UINT32 dwStatus;
}NETDEV_VOICE_BROADCAST_CHL_INFO_S, *LPNETDEV_VOICE_BROADCAST_CHL_INFO_S;

Members:
Parameter Description
dwChannelID Audio channel ID
dwResultCode Broadcast channel status code
dwStatus Audio status of broadcast channel

4.27.14 Structure of info about audio broadcast group channels

typedef struct tagstNETDEV_VoiceBroadcastGroupInfo


{
INT32 dwSize;
NETDEV_VOICE_BROADCAST_CHL_INFO_S
astChlInfoList[NETDEV_VOICE_BROADCAST_CHANNEL_NUM_MAX];
}NETDEV_VOICE_BROADCAST_GROUP_INFO_S, *LPNETDEV_VOICE_BROADCAST_GROUP_INFO_S;

Members:
Parameter Description
dwSize Number of broadcast group channels
astChlInfoList All channel info

See also:
NETDEV_GetVoiceBroadcastChlStatus

4.27.15 Structure of info about audio broadcast group control

typedef struct tagstNETDEV_VoiceBroadcastCtrlInfo


{
INT32 dwChannelID;
UINT32 udwStatus;
}NETDEV_VOICE_BROADCAST_CTRL_INFO_S, *LPNETDEV_VOICE_BROADCAST_CTRL_INFO_S;

Members:
Parameter Description
dwChannelID Channel ID
udwStatus Audio status. 1: On, 0: Off

See also:
NETDEV_ModifyVoiceBroadcastStatus

364 / 767
Network Device SDK (Windows) User Manual
4.27.16 Structure of audio data

typedef struct tagNETDEVWaveData


{
CHAR *pcData;
INT32 dwDataLen;
INT32 dwWaveFormat;
}NETDEV_WAVE_DATA_S, *LPNETDEV_WAVE_DATA_S;

Members:
Parameter Description
pcData Audio data
dwDataLen Length of audio data
dwWaveFormat Decoded audio format. See NETDEV_WAVE_FORMAT_INFO_E.

See also:
NETDEV_SetPlayDecodeAudioCB

4.27.17 Structure of image data

typedef struct tagNETDEVPictureData


{
BYTE *pucData[4];
INT32 dwLineSize[4];
INT32 dwPicHeight;
INT32 dwPicWidth;
INT32 dwRenderTimeType;
INT64 tRenderTime;
}NETDEV_PICTURE_DATA_S, *LPNETDEV_PICTURE_DATA_S;

Members:
Parameter Description
pucData YUV data, pucData[0]: Y-plane pointer, pucData[1]: U-plane pointer, pucData[2]:
V-plane pointer
dwLineSize [0]: Y-plane line size, dwLineSize [1]: U-plane line size,
dwLineSize
dwLineSize [2]: V-plane line size
dwPicHeight Image height
dwPicWidth Image width
dwRenderTimeType Time data type used for rendering.
tRenderTime Time data used for rendering.

See also:
NETDEV_SetPlayDecodeVideoCB

365 / 767
Network Device SDK (Windows) User Manual
4.27.18 Structure of assembled audio data

typedef struct tagNETDEVParseAudioData


{
BYTE *pucData;
UINT32 udwDataLen;
UINT32 udwAudioCodeFormat;
UINT32 udwWaveFormat;
INT64 tTimeStamp;
BYTE byRes[8];
}NETDEV_PARSE_AUDIO_DATA_S, *LPNETDEV_PARSE_AUDIO_DATA_S;

Members:
Parameter Description
pucData Audio data
udwDataLen Length of audio data
udwAudioCodeFormat Audio code format. See NETDEV_AUDIO_ENCODE_TYPE_E.
udwWaveFormat Decoded audio format. See NETDEV_WAVE_FORMAT_INFO_E.
tTimeStamp Timestamp
byRes Reserved field.

See also:
NETDEV_SetPlayParseAudioCB

4.27.19 Structure of parsed video data

typedef struct tagNETDEVParseVideoData


{
BYTE *pucData;
INT32 dwDataLen;
INT32 dwVideoFrameType;
INT32 dwVideoCodeFormat;
INT32 dwHeight;
INT32 dwWidth;
INT64 tTimeStamp;
INT64 tAbTime;
}NETDEV_PARSE_VIDEO_DATA_S, *LPNETDEV_PARSE_VIDEO_DATA_S;

Members:
Parameter Description
pucData Video data
dwDataLen Video data length
dwVideoFrameType Video frame type. See NETDEV_VIDEO_FRAME_TYPE_E.
dwVideoCodeFormat Video encoding format. See NETDEV_VIDEO_CODE_TYPE_E.
dwHeight Video image height

366 / 767
Network Device SDK (Windows) User Manual
dwWidth Video image width
tTimeStamp Timestamp (ms)
tAbTime Absolute time (unix timestamp). Currently only exists in playback streams.

See also:
NETDEV_SetPlayParseCB

4.27.20 Structure of image info

typedef struct tagNETDEVVideoEffect


{
INT32 dwContrast;
INT32 dwBrightness;
INT32 dwSaturation;
INT32 dwHue;
INT32 dwGamma;
BYTE byRes[16];
}NETDEV_VIDEO_EFFECT_S, *LPNETDEV_VIDEO_EFFECT_S;

Members:
Parameter Description
dwContrast Contrast
dwBrightness Brightness
dwSaturation Saturation
dwHue Hue
dwGamma Gamma
byRes Reserved field.

See also:
NETDEV_GetVideoEffect, NETDEV_SetVideoEffect

4.27.21 Structure of rectangular area

typedef struct tagNETDEVRect


{
INT32 dwLeft;
INT32 dwTop;
INT32 dwRight;
INT32 dwBottom;
}NETDEV_RECT_S, *LPNETDEV_RECT_S;

Members:
Parameter Description
dwLeft x-coordinate of top left [0,10000]
dwTop y-coordinate of top left [0,10000]

367 / 767
Network Device SDK (Windows) User Manual
dwRight x-coordinate of bottom right [0,10000]
dwBottom y-coordinate of bottom right [0,10000]

See also:
NETDEV_SetDigitalZoom

4.27.22 Structure of recording search info

typedef struct tagNETDEVFindCond


{
CHAR szFileName[NETDEV_LEN_64];
INT32 dwChannelID;
INT32 dwStreamType;
INT32 dwFileType;
INT64 tBeginTime;
INT64 tEndTime;
INT32 dwRecordLocation;
UINT32 udwServerID;
BYTE byRes[28];
}NETDEV_FILECOND_S, *LPNETDEV_FILECOND_S;

Members:
Parameter Description
szFileName Recording file name
dwChannelID Channel ID
dwStreamType Stream type. See NETDEV_LIVE_STREAM_INDEX_E.
dwFileType Recording storage type. See NETDEV_STORE_TYPE_E.
tBeginTime Start time
tEndTime End time
dwRecordLocation Recording storage location. See NETDEV_RECORD_LOCATION_E.
udwServerID Recording server ID. Applicable to VMS only.
byRes Reserved field.

See also:
NETDEV_FindFile

4.27.23 Structure of recording file info

typedef struct tagNETDEVFindData


{
CHAR szFileName[NETDEV_FILE_NAME_LEN];
INT64 tBeginTime;
INT64 tEndTime;
BYTE byFileType;
UINT32 udwServerID;

368 / 767
Network Device SDK (Windows) User Manual
UINT32 udwFileSize;
INT32 dwFileType;
BYTE byRes[159
}NETDEV_FINDDATA_S,*LPNETDEV_FINDDATA_S;

Members:
Parameter Description
szFileName Recording file name
tBeginTime Start time
tEndTime End time
byFileType Recording storage type. See NETDEV_STORE_TYPE_E.
udwServerID Recording server ID. Applicable to VMS only.
udwFileSize Recording file size
dwFileType File type. See NETDEV_RECORD_SEARCH_TYPE_E. Currently for internal use only.
byRes Reserved field.

See also:
NETDEV_FindNextFile

4.27.24 Structure of info about searching recording location by month

typedef struct tagNETDEVMonthInfo


{
UINT32 udwYear;
UINT32 udwMonth;
UINT32 udwPosition;
}NETDEV_MONTH_INFO_S, *LPNETDEV_MONTH_INFO_S;

Members:
Parameter Description
udwYear Year
udwMonth Month
udwPosition Recording search location. See NETDEV_VIDEO_POSITION_E.

See also:
NETDEV_QuickSearch, NETDEV_QuickSearchMultiChl

4.27.25 Structure of recording status by month

typedef struct tagNETDEVMonthStatus


{
UINT32 udwDayNumInMonth;
UINT32 szVideoStatus[NETDEV_MONTH_DAY_MAX];
}NETDEV_MONTH_STATUS_S, *LPNETDEV_MONTH_STATUS_S;

369 / 767
Network Device SDK (Windows) User Manual
Members:
Parameter Description
udwDayNumInMonth Actual number of days in the month
szVideoStatus Recording status list. See NETDEV_VIDEO_STATUS_E.

See also:
NETDEV_QuickSearch, NETDEV_QuickSearchMultiChl

4.27.26 Structure of channel list

typedef struct tagNETDEVChannels


{
UINT32 udwSize;
INT32 dwChannelIDs[NETDEV_CHANNEL_MAX];
}NETDEV_CHANNELS_S, *LPNETDEV_CHANNELS_S;

Members:
Parameter Description
udwSize Number of channels
dwChannelIDs Video input channel ID list to be searched

See also:
NETDEV_QuickSearch, NETDEV_QuickSearchMultiChl

4.27.27 Structure of playback by time parameters

typedef struct tagNETDEVPlayBackCondition


{
INT32 dwChannelID;
INT64 tBeginTime;
INT64 tEndTime;
INT32 dwLinkMode;
LPVOID hPlayWnd;
INT32 dwFileType;
INT32 dwDownloadSpeed;
INT32 dwStreamMode;
INT32 dwStreamIndex;
INT32 dwRecordLocation;
INT32 dwTransType;
BOOL bCloudStorage;
BOOL bOneFrameEnable;
INT32 dwPlaySpeed;
NETDEV_DECODE_VIDEO_DATA_CALLBACK_PF cbPlayDecodeVideoCALLBACK;
INT64 tPlayTime;
UINT32 udwServerID;

370 / 767
Network Device SDK (Windows) User Manual
BYTE byRes[212];
}NETDEV_PLAYBACKCOND_S, *LPNETDEV_PLAYBACKCOND_S;

Members:
Parameter Description
dwChannelID Channel ID
tBeginTime Start time
tEndTime End time
dwLinkMode Transport protocol. See NETDEV_PROTOCAL_E.
hPlayWnd Window handle
dwFileType Recording storage type. See NETDEV_STORE_TYPE_E.
dwDownloadSpeed Download speed. Valid when downloading recordings. See
NETDEV_E_DOWNLOAD_SPEED_E.
dwStreamMode Streaming mode. See NETDEV_STREAM_MODE_E.
dwStreamIndex Stream type. See NETDEV_LIVE_STREAM_INDEX_E.
dwRecordLocation Recording storage location. Applicable to VMS only. See
NETDEV_RECORD_LOCATION_E.
dwTransType Transport type. Applicable to VMS only. See NETDEV_TRANS_TYPE_E.
bCloudStorage Enable or disable cloud storage based playback. Reserved parameter. For
internal use only.
bOneFrameEnable Enable or disable frame-by-frame decoding mode. Decoding efficiency will
be affected when enabled
dwPlaySpeed Playback speed. See NETDEV_VOD_PLAY_STATUS_E.
cbPlayDecodeVideoCALLBACK Decoded data callback function
tPlayTime Play time
udwServerID Recording server ID. Applicable to VMS only.
byRes Reserved field.

Callback Function
typedef void (STDCALL* NETDEV_DECODE_VIDEO_DATA_CALLBACK_PF)
(
LPVOID lpPlayHandle,
const NETDEV_PICTURE_DATA_S *pstPictureData,
LPVOID lpUserParam
);

Callback Function Parameters


Parameter Type Description
lpPlayHandle IN Current live view/playback handle
Buffer storing info about decoded video stream data. See
pstPictureData IN
NETDEV_PICTURE_DATA_S.
lpUserParam IN User data. User parameter specified when calling calling
NETDEV_SetPlayDecodeVideoCB.

371 / 767
Network Device SDK (Windows) User Manual
See also:
NETDEV_FastPlayBackByUrl, NETDEV_PlayBackByTime, NETDEV_GetFileByTime

4.27.28 Structure of playback by filename parameters

typedef struct tagNETDEVPlayBackInfo


{
char szName[NETDEV_LEN_260];
INT64 tBeginTime;
INT64 tEndTime;
INT32 dwLinkMode;
LPVOID hPlayWnd;
INT32 dwFileType;
INT32 dwDownloadSpeed;
INT32 dwStreamMode;
BYTE byRes[252];
}NETDEV_PLAYBACKINFO_S, *LPNETDEV_PLAYBACKINFO_S;

Members:
Parameter Description
szName Playback control block name
tBeginTime Start time
tEndTime End time
dwLinkMode Transport protocol. See NETDEV_PROTOCAL_E.
hPlayWnd Window handle
dwFileType Recording storage type. Reserved and currently not in use. Keep the
default 0.
dwDownloadSpeed Download speed. Valid when downloading recordings. See
NETDEV_E_DOWNLOAD_SPEED_E.
dwStreamMode Streaming mode. See NETDEV_STREAM_MODE_E.
byRes Reserved field.

See also:
NETDEV_PlayBackByTime, NETDEV_GetFileByName

4.27.29 Structure of drag-to-zoom

typedef struct tagNETDEVPTZZoomAreaInfo


{
UINT32 udwMidPointX;
UINT32 udwMidPointY;
UINT32 udwLengthX;
UINT32 udwLengthY;
UINT32 udwWidth;
UINT32 udwHeight;

372 / 767
Network Device SDK (Windows) User Manual
BYTE byRes[64];
}NETDEV_PTZ_ZOOM_AREA_INFO_S, *LPNETDEV_PTZ_ZOOM_AREA_INFO_S;

Members:
Parameter Description
udwMidPointX x-coordinate of the center of the zoomed area
udwMidPointY y-coordinate of the center of the zoomed area
udwLengthX Length of the zoomed area
udwLengthY Width of the zoomed area
udwWidth Window length
udwHeight Window height
byRes Reserved field.

See also:
NETDEV_PTZ3DPosition

4.27.30 Structure of info about PTZ areas

typedef struct tagNETDEVPtzOperateAreaInfo


{
INT32 dwBeginPointX;
INT32 dwBeginPointY;
INT32 dwEndPointX;
INT32 dwEndPointY;
}NETDEV_PTZ_OPERATEAREA_S, *LPNETDEV_PTZ_OPERATEAREA_S;

Members:
Parameter Description
dwBeginPointX x-coordinate of the start point of the area [0,10000]
dwBeginPointY y-coordinate of the start point of the area [0,10000]
dwEndPointX x-coordinate of the end point of the area [0,10000]
dwEndPointY y-coordinate of the end point of the area [0,10000]

See also:
NETDEV_PTZSelZoomIn

4.27.31 Structure of info about PTZ auto-guard

typedef struct tagNETDEVPTZGuardInfo


{
BOOL bEnabled;
UINT32 udwMode;
UINT32 udwParam;
UINT32 udwTime;
BYTE byRes[32];

373 / 767
Network Device SDK (Windows) User Manual
}NETDEV_PTZ_GUARD_INFO_S, *LPNETDEV_PTZ_GUARD_INFO_S;

Members:
Parameter Description
bEnabled Whether auto guard is enabled
udwMode PTZ auto guard modes See NETDEV_PTZ_GUARD_MODE_E.
udwParam Parameter. When Mode is 0, Param means a preset ID (starts from 1). When Mode
is 1, Param means a patrol route index (starts from 0). When Mode is 2, Param
means a recorded patrol route index (starts from 0).
udwTime Auto guard time (unit: second). The pan/tilt unit starts auto-guard after being
idle for the set period.
byRes Reserved field.

See also:
NETDEV_PTZGetGuard_Other

4.27.32 Absolute coordinates movement

typedef struct tagNETDEVPTZAbsoluteMove


{
FLOAT fPanTiltX;
FLOAT fPanTiltY;
FLOAT fZoomX;
}NETDEV_PTZ_ABSOLUTE_MOVE_S, *LPNETDEV_PTZ_ABSOLUTE_MOVE_S;

Members:
Parameter Description
fPanTiltX Absolute horizontal coordinate
fPanTiltY Absolute vertical coordinate
fZoomX Absolute zoom ratio

See also:
NETDEV_PTZAbsoluteMove

4.27.33 PTZ status

typedef struct tagNETDEVPTZStatus


{
FLOAT fPanTiltX;
FLOAT fPanTiltY;
FLOAT fZoomX;
NETDEV_PTZ_MOVE_STATUS_E enPanTiltStatus;
NETDEV_PTZ_MOVE_STATUS_E enZoomStatus;
}NETDEV_PTZ_STATUS_S, *LPNETDEV_PTZ_STATUS_S;

374 / 767
Network Device SDK (Windows) User Manual
Members:
Parameter Description
fPanTiltX Absolute horizontal coordinate
fPanTiltY Absolute vertical coordinate
fZoomX Absolute zoom ratio
enPanTiltStatus PTZ status
enZoomStatus Focus status

See also:
NETDEV_PTZGetStatus

4.27.34 Structure of PTZ recorded patrol route

typedef struct tagNETDEVPtzTrackinfo


{
INT32 dwTrackNum;
CHAR aszTrackName[NETDEV_TRACK_CRUISE_MAXNUM][NETDEV_LEN_64];
}NETDEV_PTZ_TRACK_INFO_S, *LPNETDEV_PTZ_TRACK_INFO_S;

Members:
Parameter Description
dwTrackNum Number of exiting patrol routes
aszTrackName Patrol route name

See also:
NETDEV_PTZGetTrackCruise

4.27.35 PTZ recorded patrol route list

typedef struct tagNETDEVPtzTrackListV30


{
INT32 dwTrackNum;
NETDEV_PTZ_TRACK_INFO_V30_S astTrackInfo[NETDEV_TRACK_CRUISE_MAXNUM];
}NETDEV_PTZ_TRACK_LIST_V30_S, *LPNETDEV_PTZ_TRACK_LIST_V30_S;

Members:
Parameter Description
dwTrackNum Number of exiting patrol routes
astTrackInfo Patrol route name

See also:
NETDEV_PTZGetTrackCruise_V30

4.27.36 Structure of PTZ recorded patrol route

typedef struct tagNETDEVPtzTrackInfoV30


375 / 767
Network Device SDK (Windows) User Manual
{
UINT32 udwTrackID;
CHAR szTrackName[NETDEV_LEN_64];
BYTE byRes[64];
}NETDEV_PTZ_TRACK_INFO_V30_S, *LPNETDEV_PTZ_TRACK_INFO_V30_S;

Members:
Parameter Description
udwTrackID Patrol route ID
szTrackName Patrol route name
byRes Reserved field.

See also:
NETDEV_PTZTrackCruise_V30

4.27.37 Structure of info about status of PTZ recorded patrol

typedef struct tagNETDEVPTZTrackStatusInfo


{
INT32 dwStatus;
INT32 dwPatrolID;
}NETDEV_PTZ_TRACK_STATUS_INFO_S, *LPNETDEV_PTZ_TRACK_STATUS_INFO_S;

Members:
Parameter Description
dwStatus Channel’s patrol status See NETDEV_PTZ_TRACK_STATUS_E.
dwPatrolID ID of recorded or preset patrol route

See also:
NETDEV_PTZGetTrackStatus

4.27.38 Structure of all PTZ presets

typedef struct tagstNETDEVPtzAllPresets


{
INT32 dwSize;
NETDEV_PTZ_PRESET_S astPreset[NETDEV_MAX_PRESET_NUM];
}NETDEV_PTZ_ALLPRESETS_S, *LPNETDEV_PTZ_ALLPRESETS_S;

Members:
Parameter Description
dwSize Total number of presets
astPreset Structure of preset info

See also:

376 / 767
Network Device SDK (Windows) User Manual
NETDEV_GetPTZPresetList

4.27.39 Structure of PTZ preset info

typedef struct tagstNETDEVPtzPreset


{
INT32 dwPresetID;
CHAR szPresetName[NETDEV_LEN_32];
}NETDEV_PTZ_PRESET_S, *LPNETDEV_PTZ_PRESET_S;

Members:
Parameter Description
dwPresetID Preset ID
szPresetName Preset name

See also:
NETDEV_PTZ_ALLPRESETS_S

4.27.40 Structure of detailed info about PTZ preset patrol routes

typedef struct tagNETDEVCruiseInfo


{
INT32 dwCuriseID;
CHAR szCuriseName[NETDEV_LEN_32];
INT32 dwSize;
NETDEV_CRUISE_POINT_S astCruisePoint[NETDEV_MAX_CRUISEPOINT_NUM];
}NETDEV_CRUISE_INFO_S, *LPNETDEV_CRUISE_INFO_S;
Members:
Parameter Description
dwCuriseID Route ID
szCuriseName Patrol route name
dwSize Number of presets in the patrol route
astCruisePoint Info about points in the patrol route

See also:
NETDEV_PTZCruise

4.27.41 Structure of PTZ presets in preset patrol route

typedef struct tagNETDEVCruisePoint


{
INT32 dwPresetID;
INT32 dwStayTime;
INT32 dwSpeed;
INT32 dwID;
377 / 767
Network Device SDK (Windows) User Manual
}NETDEV_CRUISE_POINT_S, *LPNETDEV_CRUISE_POINT_S;

Members:
Parameter Description
dwPresetID Preset ID
dwStayTime Stay time
dwSpeed Rotation speed. Range: [1-10]
dwID Patrol action ID

See also:
NETDEV_CRUISE_INFO_S

4.27.42 Structure of PTZ preset patrol route list

typedef struct tagNETDEVCruiseList


{
INT32 dwSize;
NETDEV_CRUISE_INFO_S astCruiseInfo[NETDEV_MAX_CRUISEROUTE_NUM];
}NETDEV_CRUISE_LIST_S, *LPNETDEV_CRUISE_LIST_S;

Members:
Parameter Description
dwSize Number of patrol routes
astCruiseInfo Patrol route info

See also:
NETDEV_PTZGetCruise

4.27.43 Structure of PTZ direction info

typedef struct tagNETDEVPTZOrientationInfo


{
INT32 dwDirection;
BYTE byRes[252];
}NETDEV_PTZ_ORIENTATION_INFO_S, *LPNETDEV_PTZ_ORIENTATION_INFO_S;

Members:
Parameter Description
dwDirection PTZ direction info See NETDEV_PTZ_DIRECTION_E.
byRes Reserved field.

See also:
NETDEV_PTZCalibrate

378 / 767
Network Device SDK (Windows) User Manual
4.27.44 Structure of PTZ lens angle

typedef struct tagNETDEVPTZLensAngle


{
FLOAT fHorizontalAngle;
FLOAT fVerticalAngle;
BYTE byRes[256];
}NETDEV_PTZ_LENSANGLE_S, *LPNETDEV_PTZ_LENSANGLE_S;

Members:
Parameter Description
fHorizontalAngle Horizontal field of view: [0.180]
fVerticalAngle Vertical field of view: [0.180]
byRes Reserved field.

See also:
NETDEV_PTZGetLensAngle

4.27.45 PTZ latitude and longitude info unit

typedef struct tagNETDEVPTZPtPositionInfo


{
FLOAT fLongitude;
FLOAT fLatitude;
BYTE byRes[128];
}NETDEV_PTZ_PT_POSITION_INFO_S, *LPNETDEV_PTZ_PT_POSITION_INFO_S;

Members:
Parameter Description
fLongitude Longitude (pan movement). Range: [0.00, 360.00]. Unit: degree. Precision: 2
decimal places
fLatitude Latitude (tilt movement)
byRes Reserved field.

See also:
NETDEV_GetPTZAbsolutePTInfo

4.27.46 Structure of log search criteria

typedef struct tagNETDEVFindLogCond


{
INT32 dwMainType;
INT32 dwSubType;
INT64 tBeginTime;
INT64 tEndTime;
INT32 dwLimitNum;
379 / 767
Network Device SDK (Windows) User Manual
INT32 dwOffset;
}NETDEV_FIND_LOG_COND_S, *LPNETDEV_FIND_LOG_COND_S;

Members:
Parameter Description
dwMainType Main log type. See NETDEV_LOG_MAIN_TYPE_E.
dwSubType Sub log type. See NETDEV_LOG_SUB_TYPE_E.
tBeginTime Start time
tEndTime End time
dwLimitNum Number of results returned each time.
dwOffset Sequence number from which the search begins. Starts from 0.

See also:
NETDEV_FindLogInfoList

4.27.47 Structure of log info

typedef struct tagNETDEVOptLogInfo


{
INT64 tTime;
INT32 dwMainType;
INT32 dwSubType;
INT32 dwChannelID;
CHAR szUserName[NETDEV_NAME_MAX_LEN];
CHAR szUserAddr[NETDEV_IPADDR_STR_MAX_LEN];
CHAR szDetailInfo[NETDEV_LEN_256];
CHAR szOperObject[NETDEV_LEN_256];
UINT32 udwOperResult;
CHAR szDevName[NETDEV_LEN_256];
CHAR szOrgName[NETDEV_LEN_256];
BYTE bRes[256];
}NETDEV_LOG_INFO_S,*LPNETDEV_LOG_INFO_S;

Members:
Parameter Description
tTime Log time
dwMainType Main log type. See NETDEV_LOG_MAIN_TYPE_E.
dwSubType Sub log type. See NETDEV_LOG_SUB_TYPE_E.
dwChannelID Log source (channel ID)
szUserName Username
szUserAddr User’s IP address
szDetailInfo Detailed info. Applicable to NVR only.
szOperObject Operation object. Applicable to VMS only.
udwOperResult Operation result. Applicable to VMS only.
szDevName Device name
380 / 767
Network Device SDK (Windows) User Manual
szOrgName Organization name
bRes Reserved field.

See also:
NETDEV_FindNextLogInfo

4.27.48 Structure of alarm info search criteria

typedef struct tagNETDEVAlarmFindConds


{
INT32 dwChannelID;
INT64 tBeginTime;
INT64 tEndTime;
BYTE byRes[128];
}NETDEV_FIND_ALARM_COND_S, *LPNETDEV_FIND_ALARM_COND_S;

Members:
Parameter Description
dwChannelID Channel ID
tBeginTime Start time
tEndTime End time
bRes Reserved field.

See also:
NETDEV_FindAlarmInfoList

4.27.49 Structure of alarm info

typedef struct tagNETDEVFindAlarmInfo


{
INT64 tAlarmTime;
INT32 dwAlarmType;
BYTE byRes[256];
}NETDEV_FIND_ALARM_INFO_S, *LPNETDEV_FIND_ALARM_INFO_S;

Members:
Parameter Description
tAlarmTime Alarm time
dwAlarmType Alarm type. See NETDEV_FIND_ALARM_TYPE_E.
bRes Reserved field.

See also:
NETDEV_FindNextAlarmInfo

381 / 767
Network Device SDK (Windows) User Manual
4.27.50 Alarm log search criteria list

typedef struct tagstNETDEVAlarmLogCondList


{
INT32 dwPageRow;
INT32 dwFirstRow;
INT32 dwCondSize;
NETDEV_QUERY_INFO_S astCondition[NETDEV_LOG_QUERY_COND_NUM];
}NETDEV_ALARM_LOG_COND_LIST_S, *LPNETDEV_ALARM_LOG_COND_LIST_S;

Members:
Parameter Description
dwPageRow Maximum number of rows per page.
dwFirstRow Sequence number of the first row in paginated search
dwCondSize Number of search criteria
astCondition Rvalue of search criteria

See also:
NETDEV_FindAlarmLogList, NETDEV_FindFaceRecordDetailList

4.27.51 Structure of alarm log search criteria

typedef struct tagstNETDEVQueryInfo


{
INT32 dwQueryType;
INT32 dwLogicFlag;
CHAR szConditionData[NETDEV_CODE_STR_MAX_LEN];
}NETDEV_QUERY_INFO_S, *LPNETDEV_QUERY_INFO_S;

Members:
Parameter Description
dwQueryType Search criteria type. See NETDEV_QUERYCOND_TYPE_E.
dwLogicFlag Logic of search criteria. See NETDEV_QUERYCOND_LOGICTYPE_E.
szConditionData Rvalue of search criteria

See also:
NETDEV_ALARM_LOG_COND_LIST_S

4.27.52 Structure of alarm log info

typedef struct tagstNETDEVAlarmLogInfo


{
INT32 dwAlarmID;
INT32 dwAlarmType;
INT32 dwAlarmSubType;

382 / 767
Network Device SDK (Windows) User Manual
INT32 dwAlarmLevel;
INT32 dwServerID;
INT32 dwDevID;
INT32 dwChannelID;
CHAR szAlarmSrc[NETDEV_NAME_MAX_LEN];
INT64 tAlarmTime;
BOOL bAlarmChecked;
CHAR szAlarmCheckUser[NETDEV_USERNAME_LEN];
INT64 tAlarmCheckTime;
CHAR szAlarmCheckDesc[NETDEV_DESCRIBE_MAX_LEN];
INT32 dwAlarmLinkType;
BOOL IsAlarmSnapExisted;
INT32 dwAlarmSrcBelong;
CHAR szAlarmDetail[NETDEV_DESCRIBE_MAX_LEN];
INT32 dwHasRelatedData;
BYTE byRes[244];
}NETDEV_ALARM_LOG_INFO_S, *LPNETDEV_ALARM_LOG_INFO_S;

Members:
Parameter Description
dwAlarmID Alarm ID
dwAlarmType Alarm type. See NETDEV_ALARM_TYPE_E.
dwAlarmSubType Alarm sub type. See NETDEV_ALARM_SUBTYPE_E.
dwAlarmLevel Alarm level. 0: Critical 1: Major 2: Minor 3: Warning 4: Alert
dwServerID Server
dwDevID Device IP
dwChannelID Channel ID
szAlarmSrc Alarm source info
tAlarmTime Alarm occurrence time (unit: second, UTC format)
bAlarmChecked Whether alarm is acknowledged. 0: No 1: Yes
szAlarmCheckUser User who acknowledged the alarm
tAlarmCheckTime Alarm acknowledgement time (unit: second, UTC format)
szAlarmCheckDesc Remarks given when acknowledging an alarm
dwAlarmLinkType Alarm linkage type
IsAlarmSnapExisted Whether an alarm snapshot exists. 0: No 1: Yes
dwAlarmSrcBelong Alarm type. See NETDEV_ALARM_SRC_BELONG_TYPE_E
szAlarmDetail Alarm details.
dwHasRelatedData Whether alarm has related data. 0: No 1: Yes
byRes Reserved field.

See also:
NETDEV_FindNextAlarmLog

383 / 767
Network Device SDK (Windows) User Manual
4.27.53 Structure of person list

typedef struct tagNETDEVPersonInfoList


{
UINT32 udwNum;
LPNETDEV_PERSON_INFO_S pstPersonInfo;
BYTE byRes[128];
}NETDEV_PERSON_INFO_LIST_S,*LPNETDEV_PERSON_INFO_LIST_S;

Members:
Parameter Description
udwNum Number of members in the person library
pstPersonInfo Person list. Memory needs to be allocated dynamically.
byRes Reserved field.

See also:
NETDEV_AddPersonInfo

4.27.54 Structure of person info

typedef struct tagNETDEVPersonInfo


{
UINT32 udwPersonID;
UINT32 udwLastChange;
CHAR szPersonName[NETDEV_LEN_256];
UINT32 udwGender;
CHAR szBirthday[NETDEV_LEN_64];
NETDEV_REGION_INFO_S stRegionInfo;
UINT32 udwTimeTemplateNum;
LPNETDEV_PERSON_TIME_TEMPLATE_INFO_S pstTimeTemplateList;
UINT32 udwIdentificationNum;
NETDEV_IDENTIFICATION_INFO_S stIdentificationInfo[NETDEV_LEN_8];
UINT32 udwImageNum;
NETDEV_IMAGE_INFO_S stImageInfo[NETDEV_LEN_8];
UINT32 udwReqSeq;
BOOL bIsMonitored;
UINT32 udwBelongLibNum;
UINT32 *pudwBelongLibList;
UINT32 udwCustomNum;
LPNETDEV_CUSTOM_VALUE_S pstCustomValueList;
CHAR szTelephone[NETDEV_LEN_64];
CHAR szAddress[NETDEV_LEN_256];
UINT32 udwCardNum;
UINT32 udwFingerprintNum;
UINT32 udwType;

384 / 767
Network Device SDK (Windows) User Manual
NETDEV_STAFF_INFO_S stStaff;
NETDEV_VISITOR_INFO_S stVisitor;
CHAR szDesc[NETDEV_LEN_480];
CHAR szPersonCode[NETDEV_LEN_16];
CHAR szRemarks[NETDEV_LEN_64];
BYTE byRes[176];
}NETDEV_PERSON_INFO_S,*LPNETDEV_PERSON_INFO_S;

Members:
Parameter Description
udwPersonID Person ID
udwLastChange Time when person info was last modified
szPersonName Person name. Range: [1, 63]
udwGender Gender. See NETDEV_GENDER_TYPE_E.
szBirthday Birth date (YYYYMMDD). Range: [1,31]
stRegionInfo Member region info
udwTimeTemplateNum Number of time templates
pstTimeTemplateList Time template info. Memory needs to be allocated dynamically.
udwIdentificationNum Number of IDs. Range: [0, 6]
stIdentificationInfo Member ID info
udwImageNum Number of face images. Range: [0, 6]
stImageInfo Face image list
udwReqSeq Sequence number of request data. This field is carried in the returned result.
Required only in batch adding.
bIsMonitored Whether monitoring is configured. Required when using the GET method.
Applicable to VMS only.
udwBelongLibNum Number of libraries containing the member. Applicable to VMS only.
pudwBelongLibList ID of libraries containing the member. Memory needs to be allocated
dynamically. Applicable to VMS only.
udwCustomNum Number of custom attributes. Max: 5. Applicable to VMS only.
pstCustomValueList Custom attribute value list. Optional when Num is 0. Memory needs to be
allocated dynamically.
szTelephone Telephone number. String length: [1, 64]
szAddress Address. String length: [1, 64]
udwCardNum Number of access control cards. Range: [0, 6]. Required when using the GET
method.
udwFingerprintNum Number of fingerprints. Range: [0, 10]
udwType Person type. 0: Staff 1: Visitor 2: Stranger
stStaff Staff info
stVisitor Visitor info
szDesc Remarks. String length range: [1, 128].
szPersonCode Person ID. Fill in with student ID or employee ID. Range: [1, 15]. Applicable
to PTS.
szRemarks Remarks. Range: [1-63]. Applicable to PTS.

385 / 767
Network Device SDK (Windows) User Manual
byRes Reserved field.

4.27.55 Structure of member’s region info

typedef struct tagNETDEVRegionInfo


{
CHAR szNation[NETDEV_LEN_128];
CHAR szProvince[NETDEV_LEN_128];
CHAR szCity[NETDEV_LEN_128];
BYTE byRes[256];
}NETDEV_REGION_INFO_S, *LPNETDEV_REGION_INFO_S;

Members:
Parameter Description
szNation Nationality. Range: [1-63]
szProvince Province. Range: [1-63]
szCity City. Range: [1-63]
byRes Reserved field.

4.27.56 Structure of time template info

typedef struct tagNETDEVPersonTimeTemplateInfo


{
UINT32 udwBeginTime;
UINT32 udwEndTime;
UINT32 udwIndex;
BYTE byRes[128];
}NETDEV_PERSON_TIME_TEMPLATE_INFO_S,*LPNETDEV_PERSON_TIME_TEMPLATE_INFO_S;

Members:
Parameter Description
udwBeginTime Start time of validity period of time template. Fill in 0 if not configured.
udwEndTime End time of validity period of time template. Fill in 4294967295(0xFFFFFFFF)
if not configured.
udwIndex Time template index
byRes Reserved field.

4.27.57 Structure of member’s ID info

typedef struct tagNETDEVIdentificationInfo


{
UINT32 udwType;
CHAR szNumber[NETDEV_LEN_128];
BYTE byRes[32];
}NETDEV_IDENTIFICATION_INFO_S,*LPNETDEV_IDENTIFICATION_INFO_S;

386 / 767
Network Device SDK (Windows) User Manual
Members:
Parameter Description
udwType ID type. See NETDEV_ID_TYPE_E.
szNumber ID number. Range: [1, 127]
byRes Reserved field.

4.27.58 Structure of face image list

typedef struct tagNETDEVImageInfo


{
UINT32 udwFaceID;
NETDEV_FILE_INFO_S stFileInfo;
UINT32 udwModelStatus;
BYTE byRes[124];
}NETDEV_IMAGE_INFO_S,*LPNETDEV_IMAGE_INFO_S;

Members:
Parameter Description
udwFaceID Face image ID
stFileInfo File info
udwModelStatus Modeling status. See NETDEV_MODEL_STATUS_E.
byRes Reserved field.

4.27.59 Structure of file info

typedef struct tagNETDEVFileInfo


{
CHAR szName[NETDEV_LEN_64];
UINT32 udwSize;
UINT32 dwFileType;
UINT32 udwLastChange;
CHAR *pcData;
CHAR szUrl[NETDEV_LEN_512];
BYTE byRes[128];
}NETDEV_FILE_INFO_S,*LPNETDEV_FILE_INFO_S;

Members:
Parameter Description
szName Filename. Range: [1, 16]
udwSize File size. [data or image size obtained through szurl (Base64-encoded)]
dwFileType File type. See NETDEV_FILE_TYPE_E.
udwLastChange Last modified time (unit: second, UTC format)
pcData File data. Base64-encoded. Memory needs to be allocated dynamically according
to udwSize.
szUrl Image URL. Length range: [0,256]

387 / 767
Network Device SDK (Windows) User Manual
byRes Reserved field.

4.27.60 Structure of custom attribute info

typedef struct tagNETDEVCustomValue


{
UINT32 udwID;
CHAR szValue[NETDEV_FACE_MEMBER_CUSTOM_LEN];
UINT32 udwModelStatus;
BYTE byRes[124];
}NETDEV_CUSTOM_VALUE_S,*LPNETDEV_CUSTOM_VALUE_S;

Members:
Parameter Description
udwID Sequence number of customer attribute name. Starts from 0.
szValue Value of custom attributes. Range: [1,63]
udwModelStatus Modeling status. See NETDEV_MODEL_STATUS_E.
byRes Reserved field.

4.27.61 Structure of staff info

typedef struct tagNETDEVStaffInfo


{
CHAR szNumber[NETDEV_LEN_32];
CHAR szBirthday[NETDEV_LEN_32];
UINT32 udwDeptID;
CHAR szDeptName[NETDEV_LEN_256];
BYTE byRes[256];
}NETDEV_STAFF_INFO_S,*LPNETDEV_STAFF_INFO_S;

Members:
Parameter Description
szNumber Member ID, string length: [1, 16]
szBirthday Birth date, string length: [1,31]
udwDeptID Department ID
szDeptName Department name, optional when adding a department. String length range: [1,
64]
byRes Reserved field.

4.27.62 Structure of visitor info

typedef struct tagNETDEVVisitorInfo


{
UINT32 udwVisitorCount;
CHAR szCompany[NETDEV_LEN_256];
UINT32 udwIntervieweeID;
388 / 767
Network Device SDK (Windows) User Manual
BYTE byRes[256];
}NETDEV_VISITOR_INFO_S,*LPNETDEV_VISITOR_INFO_S;

Members:
Parameter Description
udwVisitorCount Number of visitors
szCompany Company of the visitor. String length range: [1, 64]
udwIntervieweeID ID of the visited
byRes Reserved field.

4.27.63 Structure of person info result list

typedef struct tagNETDEVPersonResultList


{
UINT32 udwNum;
LPNETDEV_PERSON_LIST_S pstPersonList;
BYTE byRes[128];
}NETDEV_PERSON_RESULT_LIST_S,*LPNETDEV_PERSON_RESULT_LIST_S;

Members:
Parameter Description
udwNum Number of people.
pstPersonList Person info result list. Memory needs to be allocated dynamically.
byRes Reserved field.

See also:
NETDEV_AddPersonInfo

4.27.64 Structure of person info processing result

typedef struct tagNETDEVPersonList


{
UINT32 udwPersonID;
UINT32 udwFaceNum;
NETDEV_FACE_INFO_S stFaceInfo[NETDEV_LEN_8];
UINT32 udwReqseq;
BYTE byRes[128];
}NETDEV_PERSON_LIST_S,*LPNETDEV_PERSON_LIST_S;

Members:
Parameter Description
udwPersonID Person ID
udwFaceNum Number of faces. Max 6 each batch.
stFaceInfo Face info result list
udwReqseq Sequence number of request data. Applicable to VMS only.

389 / 767
Network Device SDK (Windows) User Manual
byRes Reserved field.

4.27.65 Structure of face info processing result

typedef struct tagNETDEVFaceInfo


{
UINT32 udwFaceID;
UINT32 udwResultCode;
BYTE byRes[128];
}NETDEV_FACE_INFO_S,*LPNETDEV_FACE_INFO_S;

Members:
Parameter Description
udwFaceID Person ID
udwResultCode Status code for processing result. See NETDEV_PERSON_RESULT_CODE_E.
byRes Reserved field.

4.27.66 Structure of monitoring task info

typedef struct tagNETDEVMonitorInfo


{
UINT32 udwID;
NETDEV_MONITION_RULE_INFO_S stMonitorRuleInfo;
UINT32 udwLinkStrategyNum;
LPNETDEV_LINKAGE_STRATEGY_S pstLinkStrategyList;
NETDEV_VIDEO_WEEK_PLAN_S stWeekPlan;
NETDEV_MONITOR_DEFENCE_INFO_S stMonitorDefenceInfo;
BYTE byRes[250];
}NETDEV_MONITION_INFO_S,*LPNETDEV_MONITION_INFO_S;

Members:
Parameter Description
udwID Sequence number of face monitoring task. Not returned when adding a monitoring
task.
stMonitorRuleInfo Configuration information of face monitoring task.
udwLinkStrategyNum Number of alarm linkage strategies
pstLinkStrategyList Configuration of alarm linkage strategy. Memory needs to be allocated
dynamically.
stWeekPlan Arming schedule of face monitoring task. Applicable to NVR and IPC only.
stMonitorDefenceInfo Arming information. Applicable to PTS, VMS only.
byRes Reserved field.
See also:
NETDEV_AddPersonMonitorInfo

390 / 767
Network Device SDK (Windows) User Manual
4.27.67 Structure of info about monitoring task configuration

typedef struct tagNETDEVMonitorRuleInfo


{
BOOL bEnabled;
CHAR szName[NETDEV_FACE_MONITOR_RULE_NAME_LEN];
CHAR szReason[NETDEV_FACE_MONITOR_RULE_REASON_LEN];
UINT32 udwLibNum;
UINT32 audwLibList[NETDEV_LEN_32];
UINT32 udwMonitorType;
UINT32 udwMultipleValue;
UINT32 udwMonitorReason;
CHAR szMatchSucceedMsg[NETDEV_LEN_512];
CHAR szMatchFailedMsg[NETDEV_LEN_512];
UINT32 udwMemberNum;
NETDEV_MEMBER_INFO_S stMemberInfo[NETDEV_LEN_64];
UINT32 udwChannelNum;
UINT32 *pudwMonitorChlIDList;
UINT32 udwDevNum;
UINT32 audwMonitorDevIDList[NETDEV_LEN_16];
UINT32 udwMonitorRuleType;
BYTE byRes[240];
}NETDEV_MONITION_RULE_INFO_S,*LPNETDEV_MONITION_RULE_INFO_S;

Members:
Parameter Description
bEnabled Whether monitoring task is enabled.
szName Name of monitoring task.
szReason Cause of monitoring
udwLibNum Number of libraries corresponding to the task. Max: 16.
audwLibList Library ID list
udwMonitorType Monitoring alarm type 0: Match alarm 1: Not match alarm
udwMultipleValue Confidence threshold for 1:N face comparison
udwMonitorReason Causes of vehicle monitoring: 0: robbed vehicle, 1: stolen vehicle, 2: suspect
vehicle, 3: traffic violation, 4: emergency control
szMatchSucceedMsg Message for a match
szMatchFailedMsg Message for a mismatch
udwMemberNum Number of members (0-32). Applicable to NVR only.
stMemberInfo Member list.
udwChannelNum Number of monitoring channels used by a monitoring task. Required when getting
detailed info about a monitoring task.
pudwMonitorChlIDList List of monitoring channels used by a monitoring task. Memory needs to be
dynamically according to udwChannelNum.
udwDevNum Number of monitoring devices used by a monitoring task. Max: 4. Applicable
to VMS only.
391 / 767
Network Device SDK (Windows) User Manual
audwMonitorDevIDList List of monitoring devices used by a monitoring task. Memory needs to be
allocated dynamically according to DevNum. Applicable to VMS only.
udwMonitorRuleType Analysis type of monitoring task, 0: Local analysis, 1: Frontend analysis
byRes Reserved field.

4.27.68 Structure of face/vehicle member list

typedef struct tagNETDEVMemberInfo


{
UINT32 udwMemberID;
CHAR szMemberName[NETDEV_LEN_260];
UINT32 udwStatus;
BYTE byRes[124];
}NETDEV_MEMBER_INFO_S,*LPNETDEV_MEMBER_INFO_S;

Members:
Parameter Description
udwMemberID Face/vehicle member ID
szMemberName Face/vehicle member name. Range: [1,63]
udwStatus Member synchronization status. See NETDEV_PERSON_RESULT_CODE_E.
byRes Reserved field.

4.27.69 Structure of alarm linkage configuration info

typedef struct tagLinkageStrategy


{
UINT32 udwType;
NETDEV_LINKAGE_ACTION_LIST_S stLintageActions;
BYTE byRes[512];
}NETDEV_LINKAGE_STRATEGY_S, *LPNETDEV_LINKAGE_STRATEGY_S;

Members:
Parameter Description
udwType Alarm type. See NETDEV_PERSON_COMPARE_RESULT_TYPE_E.
stLintageActions Linkage actions of face monitoring task
byRes Reserved field.

4.27.70 Structure of linkage actions list of monitoring task

typedef struct tagNETDEVLinkageActionList


{
UINT32 udwNum;
NETDEV_LINKAGE_ACTION_INFO_S stActionInfo[NETDEV_MAX_LINK_ACTION_NUM];
BYTE byRes[256];
}NETDEV_LINKAGE_ACTION_LIST_S,*LPNETDEV_LINKAGE_ACTION_LIST_S;

392 / 767
Network Device SDK (Windows) User Manual
Members:
Parameter Description
udwNum Number of linkage action list
stActionInfo Info about linkage action list
byRes Reserved field.

4.27.71 Structure of info about linkage action list

typedef struct tagNETDEVLinkageActionInfo


{
UINT32 udwActID;
NETDEV_ENABLED_ACT_PARAM_INFO_S stEnabledInfo;
NETDEV_OUTPUT_SWITCH_ACT_PARAM_INFO_S stOutputSwitchActParamInfo;
NETDEV_CHANNEL_ACT_PARAM_INFO_S stChannelActParamInfo;
NETDEV_PRESET_ACT_PARAM_INFO_S stPresetActParamInfo;
BYTE byRes[512];
}NETDEV_LINKAGE_ACTION_INFO_S,*LPNETDEV_LINKAGE_ACTION_INFO_S;

Members:
Parameter Description
udwActID Action ID. See NETDEV_ALARM_ACT_ID_E.
stEnabledInfo Enable or disable linkage action parameters. Applicable to alarm-
triggered buzzer, email and pop-up window.
stOutputSwitchActParamInfo Link alarm output
stChannelActParamInfo Trigger NVR preview, recording, and snapshot
stPresetActParamInfo Trigger PTZ preset
byRes Reserved field.

4.27.72 Structure of channel linkage info

typedef struct tagNETDEVChannelActParamInfo


{
UINT32 udwNum;
INT32 adwChannelID[NETDEV_CHANNEL_MAX];
}NETDEV_CHANNEL_ACT_PARAM_INFO_S,*LPNETDEV_CHANNEL_ACT_PARAM_INFO_S;

Members:
Parameter Description
udwNum Number of channels
adwChannelID Channel ID list

4.27.73 Structure of linkage enablement

typedef struct tagNETDEVEnabledActParamInfo


{

393 / 767
Network Device SDK (Windows) User Manual
BOOL bEnabled;
BYTE byRes[64];
}NETDEV_ENABLED_ACT_PARAM_INFO_S, *LPNETDEV_ENABLED_ACT_PARAM_INFO_S;

Members:
Parameter Description
bEnabled Enablement flag.
byRes Reserved field.

4.27.74 Structure of linked PTZ preset list

typedef struct tagNETDEVPresetActParamInfo


{
UINT32 udwNum;
NETDEV_CHANNEL_PRESET_S stChannelPreset[NETDEV_CHANNEL_MAX];
}NETDEV_PRESET_ACT_PARAM_INFO_S,*LPNETDEV_PRESET_ACT_PARAM_INFO_S;

Members:
Parameter Description
udwNum Number of linkage actions
stChannelPreset List of linked PTZ presets

4.27.75 Structure of info about linked PTZ presets

typedef struct tagNETDEVChannelPreset


{
INT32 dwChannelID;
INT32 dwPresetID;
BYTE byRes[128];
}NETDEV_CHANNEL_PRESET_S,*LPNETDEV_CHANNEL_PRESET_S;

Members:
Parameter Description
dwChannelID Channel ID
dwPresetID Preset ID
byRes Reserved field.

4.27.76 Structure of linked alarm output

typedef struct tagNETDEVOutputSwitchActParamInfo


{
UINT32 udwNum;
NETDEV_OUTPUT_SWITCH_ALARM_STATUS_S astOutputAlarmStatusInfo[NETDEV_MAX_ALARM_OUT_NUM];
} NETDEV_OUTPUT_SWITCH_ACT_PARAM_INFO_S,* LPNETDEV_OUTPUT_SWITCH_ACT_PARAM_INFO_S;

Members:
394 / 767
Network Device SDK (Windows) User Manual
Parameter Description
udwNum Number of linked alarm outputs
astOutputAlarmStatusInfo List of linked alarm outputs

4.27.77 Structure of logical alarm status of alarm output (manual alarm)

typedef struct tagNETDEVOutputSwitchesAlarmStatus


{
INT32 dwBooleanId;
INT32 dwChannelId;
INT32 enAlarmStatus;
} NETDEV_OUTPUT_SWITCH_ALARM_STATUS_S, *LPNETDEV_OUTPUT_SWITCH_ALARM_STATUS_S;

Members:
Parameter Description
dwBooleanId Boolean ID
dwChannelId Channel ID. For the device it is 0.
enAlarmStatus Alarm output status. See NETDEV_RELAYOUTPUT_STATE_E.

4.27.78 Structure of schedule configuration (weekly)

typedef struct tagNETDEVVideoPlanWeek


{
BOOL bEnabled;
UINT32 udwDayNum;
NETDEV_VIDEO_DAY_PLAN_S astDayPlan[NETDEV_MAX_DAY_NUM];
BYTE byRes[32];
}NETDEV_VIDEO_WEEK_PLAN_S, *LPNETDEV_VIDEO_WEEK_PLAN_S;

Members:
Parameter Description
bEnabled Whether arming schedule is enabled. Only IPC supports the enable/disable
switch; for VMS and NVR arming schedule is enabled by default. See
NETDEV_DEFENCE_PLAN_ENABLE_E.
udwDayNum Number of scheduled days.
NVR: Max 8 (7 days of a week plus holiday).
IPC: Max 7 (7 days of a week).
astDayPlan Arming schedule list of every day in a week.
byRes Reserved field.

4.27.79 Schedule of schedule configuration (daily)

typedef struct tagNETDEVVideoDayPlan


{
UINT32 udwIndex;
UINT32 udwSectionNum;
395 / 767
Network Device SDK (Windows) User Manual
NETDEV_VIDEO_TIME_SECTION_S astTimeSection[NETDEV_MAX_TIME_SECTION_NUM];
}NETDEV_VIDEO_DAY_PLAN_S, *LPNETDEV_VIDEO_DAY_PLAN_S;

Members:
Parameter Description
udwIndex Index of days in a week. See NETDEV_LAPI_WEEK_INFO_E.
udwSectionNum Number of time periods per day.
NVR: Max 8; IPC: Max 4.
astTimeSection Arming period configuration

4.27.80 Structure of time period configuration

typedef struct tagNETDEVVideoTimeSection


{
CHAR szBeginTime[NETDEV_LEN_64];
CHAR szEndTime[NETDEV_LEN_64];
UINT32 udArmingType;
}NETDEV_VIDEO_TIME_SECTION_S, *LPNETDEV_VIDEO_TIME_SECTION_S;

Members:
Parameter Description
szBeginTime Start time
szEndTime End time
udArmingType Arming type. See NETDEV_ARMING_TYPE_E.

4.27.81 Structure of arming info

typedef struct tagNETDEVMonitorDefenceInfo


{
INT64 tBegin;
INT64 tEnd;
UINT32 udwTimeTemplateID;
BYTE byRes[128];
}NETDEV_MONITOR_DEFENCE_INFO_S, *LPNETDEV_MONITOR_DEFENCE_INFO_S;

Members:
Parameter Description
tBegin Validity period start time of time template (Unix timestamp)
tEnd Validity period end time of time template (Unix timestamp)
udwTimeTemplateID Time template index. Fill in 0 if not configured.
byRes Reserved field.

4.27.82 Structure of monitoring list returned after adding monitoring

typedef struct tagNETDEVMonitorResultInfo

396 / 767
Network Device SDK (Windows) User Manual
{
UINT32 udwChannelNum;
LPNETDEV_MONITION_CHL_INFO_S pstMonitorChlInfos;
BYTE byRes[250]; /
}NETDEV_MONITOR_RESULT_INFO_S,*LPNETDEV_MONITOR_RESULT_INFO_S;

Members:
Parameter Description
udwChannelNum Actual number of channels added successfully for monitoring. Value assignment
is needed to indicate the requested memory size.
pstMonitorChlInfos Returned monitoring channel list. Memory needs to be requested by the upper
layer and should not be less than the number of channels.
byRes Reserved field.

4.27.83 Structure of monitoring info returned after adding monitoring

typedef struct tagNETDEVMonitorChlInfo


{
UINT32 udwChannelID;
UINT32 udwResultCode;
UINT32 udwMonitorID;
}NETDEV_MONITION_CHL_INFO_S,*LPNETDEV_MONITION_CHL_INFO_S;

Members:
Parameter Description
udwChannelID Corresponding channel ID of monitoring task. For IPC and VMS this field is
not returned.
udwResultCode Result code for face processing. See NETDEV_PERSON_RESULT_CODE_E.
udwMonitorID Corresponding monitoring task ID of the channel

4.27.84 Structure of person library info

typedef struct tagNETDEVLibInfo


{
UINT32 udwID;
CHAR szName[NETDEV_LEN_256];
UINT32 udwType;
UINT32 udwPersonNum;
UINT32 udwFaceNum;
UINT32 udwMemberNum;
UINT32 udwLastChange;
CHAR szBelongIndex[NETDEV_LEN_256];
BOOL bIsMonitored;
BYTE byRes[128];
}NETDEV_LIB_INFO_S,*LPNETDEV_LIB_INFO_S;

397 / 767
Network Device SDK (Windows) User Manual

Members:
Parameter Description
udwID Library ID
szName Library name. Range: [1,63]
udwType Person library type. See NETDEV_PEOPLE_LIB_TYPE_E.
udwPersonNum Total number of persons in the library
udwFaceNum Total number of face images in the library
udwMemberNum Total number of members in the library
udwLastChange Last time library information is modified.
szBelongIndex Index that uniquely identifies the library
bIsMonitored Whether monitoring is configured. Required when getting library info.
byRes Reserved field.

4.27.85 Structure of person library list

typedef struct tagNETDEVPersonLibList


{
UINT32 udwNum;
LPNETDEV_LIB_INFO_S pstLibInfo;
BYTE byRes[128];
}NETDEV_PERSON_LIB_LIST_S,*LPNETDEV_PERSON_LIB_LIST_S;

Members:
Parameter Description
udwNum Number of libraries in the device
pstLibInfo Library info. Memory needs to be allocated dynamically.
byRes Reserved field.

4.27.86 Structure of flag for deleting a library

typedef struct tagNETDEVDeleteDBFlagInfo


{
BOOL bIsDeleteMember;
UINT32 udwDevID;
BYTE byRes[124];
}NETDEV_DELETE_DB_FLAG_INFO_S,*LPNETDEV_DELETE_DB_FLAG_INFO_S;

Members:
Parameter Description
bIsDeleteMember Whether to delete members in library. 0: No 1: Yes
udwDevID Device ID (Only VMS supports deleting face libraries).
byRes Reserved field.

398 / 767
Network Device SDK (Windows) User Manual
4.27.87 Structure of info about capacity of all person libraries

typedef struct tagNETDEVPersonLibCapList


{
UINT32 udwMaxPerpleMun;
UINT32 udwFreePerpleNum;
UINT32 udwMaxLibNum;
UINT32 udwFreeLibNum;
UINT32 udwNum;
NETDEV_PERSON_LIB_CAP_INFO_S stLibCapInfoList[NETDEV_LEN_16];
BYTE byRes[256];
}NETDEV_PERSON_LIB_CAP_LIST_S, *LPNETDEV_PERSON_LIB_CAP_LIST_S;

Members:
Parameter Description
udwMaxPerpleMun Total library capacity (unit: 1000 persons)
udwFreePerpleNum Remaining capacity (unit: person)
udwMaxLibNum Maximum number of libraries allowed
udwFreeLibNum Number of remaining libraries that can be created
udwNum Number of libraries created. Range: [0,16]
stLibCapInfoList Capacity information of individual libraries
byRes Reserved field.

4.27.88 Structure of info about capacity of a face library

typedef struct tagNETDEVPersonLibCapInfo


{
UINT32 udwLibID;
UINT32 udwCapacity;
BYTE byRes[128];
}NETDEV_PERSON_LIB_CAP_INFO_S, *LPNETDEV_PERSON_LIB_CAP_INFO_S;

Members:
Parameter Description
udwLibID Library ID
udwCapacity Library capacity info (unit: person)
byRes Reserved field.

4.27.89 Structure of person info search criteria

typedef struct tagNETDEVPersonQueryInfo


{
UINT32 udwNum;
LPNETDEV_QUERY_INFO_S pstQueryInfos;
UINT32 udwLimit;

399 / 767
Network Device SDK (Windows) User Manual
UINT32 udwOffset;
BYTE byRes[256];
}NETDEV_PERSON_QUERY_INFO_S, *LPNETDEV_PERSON_QUERY_INFO_S;

Members:
Parameter Description
udwNum Number of search conditions
pstQueryInfos Search condition list. Optional when Num is 0.
udwLimit Search limit. Max: 20.
udwOffset Sequence number from where the search starts. Starts from 0.
byRes Reserved field.

4.27.90 Structure of basic info returned for a batch search

typedef struct tagNETDEVBatchOperateBasicInfo


{
UINT32 udwTotal;
UINT32 udwOffset;
UINT32 udwNum;
BYTE byRes[128];
}NETDEV_BATCH_OPERATE_BASIC_S,*LPNETDEV_BATCH_OPERATE_BASIC_S;

Members:
Parameter Description
udwTotal Quantity
udwOffset Sequence number from where the search starts
udwNum Total number of search results
byRes Reserved field.

4.27.91 Structure of list returned for batch deleting face monitoring

typedef struct tagNETDEVBatchOperateList


{
UINT32 udwNum;
UINT32 udwStatus;
LPNETDEV_BATCH_OPERATOR_INFO_S pstBatchList;
BYTE byRes[128];
}NETDEV_BATCH_OPERATOR_LIST_S,*LPNETDEV_BATCH_OPERATOR_LIST_S;

Members:
Parameter Description
udwNum Batch processed number
udwStatus Result status
pstBatchList Batch operation info. Max 2000. Memory needs to be allocated dynamically.
byRes Reserved field.

400 / 767
Network Device SDK (Windows) User Manual
4.27.92 Structure of batch operation info

typedef struct tagNETDEVBatchOperatorInfo


{
UINT32 udwReqSeq;
UINT32 udwResultCode;
UINT32 udwID;
CHAR szName[NETDEV_LEN_260];
BYTE byRes[128];
}NETDEV_BATCH_OPERATOR_INFO_S,*LPNETDEV_BATCH_OPERATOR_INFO_S;

Members:
Parameter Description
udwReqSeq Sequence number of request data
udwResultCode Returned error code. See NETDEV_PERSON_MONITOR_OPT_RES_CODE_E.

udwID ID
szName Member name. Length range: [1,63]
byRes Reserved field.

4.27.93 Criteria for searching alarm snapshot URL

typedef struct tagNETDEVAlarmSnapShotCond


{
INT32 dwChannelID;
INT64 tAlarmTime;
NETDEV_ALARM_SNAPSHOT_TYPE_E enAlarmType;
BYTE byRes[244];
}NETDEV_ALARM_SNAPSHOT_COND_S,*LPNETDEV_ALARM_SNAPSHOT_COND_S;

Members:
Parameter Description
Channel ID or alarm output ID. The parameter is channel ID*100 + alarm output
dwChannelID
ID. For a device the channel ID is 0.
tAlarmTime Alarm time
enAlarmType Alarm type
byRes Reserved field.

See also:
NETDEV_FindAlarmSnapShotURL

4.27.94 Alarm snapshot image info

typedef struct tagNETDEVAlarmSnapShotPicInfo


{

401 / 767
Network Device SDK (Windows) User Manual
CHAR szURL[NETDEV_MAX_URL_LEN];
CHAR szName[NETDEV_LEN_64];
INT32 dwSize;
BYTE byRes[256];
}NETDEV_ALARM_SNAPSHOT_PIC_S,*LPNETDEV_ALARM_SNAPSHOT_PIC_S;

Members:
Parameter Description
szURL Image URL
szName Image name
dwSize Image size
byRes Reserved field.

See also:
NETDEV_FindNextAlarmSnapShotURL

4.27.95 Structure of snapshot image info

typedef struct tagNETDEVSnapShotFileInfo


{
CHAR szURL[NETDEV_MAX_URL_LEN];
BOOL bSaveLocal;
CHAR szFileName[NETDEV_LEN_260];
CHAR* pcBuffer;
INT32 dwSize;
INT32 dwCaptureMode;
BYTE byRes[252];
}NETDEV_PIC_FILE_INFO_S, *LPNETDEV_PIC_FILE_INFO_S;

Members:
Parameter Description
szURL Image URL
bSaveLocal Whether image is saved to local. True: Yes False: Write to buffer
szFileName Local path and name of the saved image
Buffer for saving images. Memory needs to be requested by user according to
pcBuffer
dwSize.
dwSize Buffer size
dwCaptureMode Format of saved image. See NETDEV_PICTURE_FORMAT_E.
byRes Reserved field.

See also:
NETDEV_SaveSnapShotFile

402 / 767
Network Device SDK (Windows) User Manual
4.27.96 Structure of point coordinates

typedef struct tagNETDEVPointS


{
INT32 dwPointX;
INT32 dwPointY;
}NETDEV_POINT_S, *LPNETDEV_POINT_S;

Parameter Description

dwPointX x-coordinate (‱ ). Range: [0-10000]

dwPointY y-coordinate (‱ ). Range: [0-10000]

See also:
NETDEV_SetMouseMoveMode, NETDEV_GetFishEyeParam

4.27.97 Structure of manual recording

typedef struct tagNETDEVManualRecordcfg


{
INT32 dwChannelID;
NETDEV_RECORD_TYPE_E enRecordType;
BYTE byRes[64];
}NETDEV_MANUAL_RECORD_CFG_S, *LPNETDEV_MANUAL_RECORD_CFG_S;

Parameter Description
dwChannelID Channel ID
enRecordType Recording type. See NETDEV_RECORD_TYPE_E.
byRes Reserved field

See also:
NETDEV_GetManualRecordStatus, NETDEV_StartManualRecord, NETDEV_StopManualRecord

4.27.98 Basic device info

typedef struct tagNETDEVDeviceBasicInfo


{
CHAR szDevModel[NETDEV_LEN_64];
CHAR szSerialNum[NETDEV_LEN_64];
CHAR szFirmwareVersion[NETDEV_LEN_64];
CHAR szMacAddress[NETDEV_LEN_64];
CHAR szDeviceName[NETDEV_LEN_64];
CHAR szManufacturer[NETDEV_LEN_64];
BYTE byRes[384];
}NETDEV_DEVICE_BASICINFO_S, *LPNETDEV_DEVICE_BASICINFO_S;
403 / 767
Network Device SDK (Windows) User Manual

Members:
Parameter Description
szDevModel Device model
szSerialNum Hardware serial number
szFirmwareVersion Firmware version
szMacAddress MAC address (IPv4)
szDeviceName Device name
szManufacturer Manufacturer info
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.99 NTP parameters

typedef struct tagNETDEVSystemNTPInfo


{
BOOL bSupportDHCP;
NETDEV_SYSTEM_IPADDR_S stAddr;
}NETDEV_SYSTEM_NTP_INFO_S, *LPNETDEV_SYSTEM_NTP_INFO_S;

Members:
Parameter Description
bSupportDHCP Whether DHCP is supported
stAddr NTP information

See also:
NETDEV_CONFIG_COMMAND_E

4.27.100 Struct of address

typedef struct tagSysemIPAddr


{
INT32 eIPType;
CHAR szIPAddr[NETDEV_LEN_132];
}NETDEV_SYSTEM_IPADDR_S, *LPNETDEV_SYSTEM_IPADDR_S;

Members:
Parameter Description
eIPType Protocol type. See NETDEV_HOSTTYPE_E.
szIPAddr IP address

See also:
NETDEV_SYSTEM_NTP_INFO_S

404 / 767
Network Device SDK (Windows) User Manual
4.27.101 NTP list

typedef struct tagNETDEVSystemNTPInfoList


{
INT64 ulNum;
NETDEV_SYSTEM_IPADDR_INFO_S astNTPServerInfoList[NETDEV_NTP_SERVER_LIST_NUM];
BYTE byRes[128];
}NETDEV_SYSTEM_NTP_INFO_LIST_S, *LPNETDEV_SYSTEM_NTP_INFO_LIST_S;

Members:
Parameter Description
ulNum Number of NTP servers
astNTPServerInfoList NTP server list. Currently only one NTP server is allowed.
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.102 Video stream information of a channel

typedef struct tagNETDEVVideoStreamInfo


{
NETDEV_LIVE_STREAM_INDEX_E enStreamType;
INT32 bEnableFlag;
INT32 dwHeight;
INT32 dwWidth;
INT32 dwFrameRate;
INT32 dwBitRate;
NETDEV_VIDEO_CODE_TYPE_E enCodeType;
NETDEV_VIDEO_QUALITY_E enQuality;
INT32 dwGop;
BOOL bConstantBitRate;
BYTE byRes[28];
}NETDEV_VIDEO_STREAM_INFO_S, *LPNETDEV_VIDEO_STREAM_INFO_S;

Members:
Parameter Description
enStreamType Stream index
bEnableFlag Enable or disable
dwHeight Video resolution - height
dwWidth Video resolution - width
dwFrameRate Video encoding frame rate
dwBitRate Bit rate
enCodeType Video encoding format
enQuality Image quality

405 / 767
Network Device SDK (Windows) User Manual
dwGop I frame interval
bConstantBitRate Whether is CBR. 0: VBR 1: CBR
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.103 Video stream list

typedef struct tagNETDEVVideoStreamInfoList


{
UINT32 udwNum;
NETDEV_VIDEO_STREAM_INFO_EX_S astVideoStreamInfoList[NETDEV_LEN_16];
}NETDEV_VIDEO_STREAM_INFO_LIST_S,*LPNETDEV_VIDEO_STREAM_INFO_LIST_S;

Members:
Parameter Description
udwNum Number of video streams
astVideoStreamInfoList Video stream list

See also:
NETDEV_CONFIG_COMMAND_E

4.27.104 Video stream info

typedef struct tagNETDEVVideoStreamInfoLapi


{
BOOL bEnabled;
UINT32 udwStreamID;
UINT32 udwMainStreamType;
NETDEV_VIDEO_ENCODE_INFO_S stVideoEncodeInfo;
}NETDEV_VIDEO_STREAM_INFO_EX_S,*LPNETDEV_VIDEO_STREAM_INFO_EX_S;

Members:
Parameter Description
bEnabled Enable or disable video stream encoding
udwStreamID Stream index. See NETDEV_LIVE_STREAM_INDEX_E.
udwMainStreamType Main stream type. See NETDEV_MAIN_STREAM_TYPE_E.
stVideoEncodeInfo Video encoding parameter info

See also:
NETDEV_VIDEO_STREAM_INFO_LIST_S

4.27.105 Video encoding parameter info

typedef struct tagNETDEVVideoEncodeInfo


406 / 767
Network Device SDK (Windows) User Manual
{
BOOL bEnableSVCMode;
UINT32 udwEncodeFormat;
UINT32 udwWidth;
UINT32 udwHeight;
UINT32 udwBitrate;
UINT32 udwBitrateType;
UINT32 udwFrameRate;
UINT32 udwGopType;
UINT32 udwIFrameInterval;
UINT32 udwImageQuality;
UINT32 udwSmoothLevel;
UINT32 udwSmartEncodeMode;
}NETDEV_VIDEO_ENCODE_INFO_S,*LPNETDEV_VIDEO_ENCODE_INFO_S;

Members:
Parameter Description
bEnableSVCMode Enable or disable SVC. 0: Disable 1: Enable
udwEncodeFormat Video encoding format info. See NETDEV_VIDEO_CODE_TYPE_E.
udwWidth Image width
udwHeight Image height
udwBitrate Bit rate
udwBitrateType Bit rate type. See NETDEV_BIT_RATE_TYPE_E.
udwFrameRate Frame rate
udwGopType GOP mode. See NETDEV_GOP_TYPE_E.
udwIFrameInterval I frame interval. The range depends on capability.
udwImageQuality Image quality. Range: [0 9]. 9 is the highest quality.
udwSmoothLevel Stream smooth level. Range: [1,9]. 1 is the lowest smooth level.
udwSmartEncodeMode Smart encoding mode. See NETDEV_SMART_ENCODE_MODE_E.

See also:
NETDEV_VIDEO_STREAM_INFO_EX_S

4.27.106 Video collection capability

typedef struct tagNETDEVVideoModeInfo


{
UINT32 udwWidth;
UINT32 udwHeight;
UINT32 udwFrameRate;
}NETDEV_VIDEO_MODE_INFO_S,*LPNETDEV_VIDEO_MODE_INFO_S;

Members:
Parameter Description
407 / 767
Network Device SDK (Windows) User Manual
udwWidth Image width
udwHeight Image height
udwFrameRate Image frame rate

See also:
NETDEV_CONFIG_COMMAND_E

4.27.107 Basic attributes of OSD

typedef struct tagNETDEVOsdCfgInfo


{
NETDEV_OSD_TIME_S stTimeOSD;
NETDEV_OSD_TEXT_OVERLAY_S stNameOSD;
INT16 wTextNum;
NETDEV_OSD_TEXT_OVERLAY_S astTextOverlay[NETDEV_OSD_TEXTOVERLAY_NUM];
}NETDEV_VIDEO_OSD_CFG_S, *LPNETDEV_VIDEO_OSD_CFG_S;

Members:
Parameter Description
stTimeOSD Time OSD info
stNameOSD Name OSD
wTextNum Number of text OSDs
astTextOverlay OSD text

See also:
NETDEV_CONFIG_COMMAND_E

4.27.108 OSD time configuration info

typedef struct tagNETDEVOsdTime


{
BOOL bEnableFlag;
BOOL bWeekEnableFlag;
NETDEV_AREA_SCOPE_S stAreaScope;
UINT32 udwTimeFormat;
UINT32 udwDateFormat;
}NETDEV_OSD_TIME_S, *LPNETDEV_OSD_TIME_S;

Members:
Parameter Description
bEnableFlag Whether time OSD is enabled. TRUE: Yes FALSE: No
bWeekEnableFlag Whether week is displayed (reserved)
stAreaScope Coordinates of area
udwTimeFormat Time format of time OSD. See NETDEV_OSD_TIME_FORMAT_CAP_E.
udwDateFormat Time format of date OSD. See NETDEV_OSD_DATE_FORMAT_CAP_E.

408 / 767
Network Device SDK (Windows) User Manual

See also:
NETDEV_VIDEO_OSD_CFG_S

4.27.109 OSD text

typedef struct tagNETDEVOsdTextOverlay


{
BOOL bEnableFlag;
NETDEV_AREA_SCOPE_S stAreaScope;
CHAR szOSDText[NETDEV_OSD_TEXT_MAX_LEN];
BYTE byRes[4];
}NETDEV_OSD_TEXT_OVERLAY_S, *LPNETDEV_OSD_TEXT_OVERLAY_S;

Members:
Parameter Description
bEnableFlag Enable or disable OSD text. TRUE: Yes FALSE: No
stAreaScope Coordinates of OSD text area
szOSDText OSD text name string
byRes Reserved field.
See also:
NETDEV_VIDEO_OSD_CFG_S

4.27.110 Area

typedef struct tagNETDEVAreaScope


{
INT32 dwLocateX;
INT32 dwLocateY;
}NETDEV_AREA_SCOPE_S, *LPNETDEV_AREA_SCOPE_S;

Members:
Parameter Description
dwLocateX Coordinates of vertex x [0,10000]
dwLocateY Coordinates of vertex y [0,10000]
See also:
NETDEV_OSD_TIME_S, NETDEV_OSD_TEXT_OVERLAY_S

4.27.111 OSD configuration list

typedef struct tagNETDEVChlOsdCfgList


{
INT32 dwSize;
NETDEV_CHL_OSD_CFG_S stChlOsdCfg[NETDEV_OSD_MAX_NUM_EX];
}NETDEV_CHL_OSD_CFG_LIST_S, *LPNETDEV_CHL_OSD_CFG_LIST_S;

409 / 767
Network Device SDK (Windows) User Manual
Members:
Parameter Description
dwSize Number of OSDs
stChlOsdCfg OSD configuration

See also:
NETDEV_CONFIG_COMMAND_E

4.27.112 OSD configuration

typedef struct tagNETDEVChlOsdCfg


{
INT32 dwOsdID;
NETDEV_OSD_TEXT_TYPE_E enOsdTextType;
NETDEV_AREA_SCOPE_S stAreaScope;
CHAR szTextInfo[NETDEV_OSD_TEXT_MAX_LEN];
}NETDEV_CHL_OSD_CFG_S, *LPNETDEV_CHL_OSD_CFG_S;

Members:
Parameter Description
dwOsdID OSD ID
enOsdTextType OSD type
stAreaScope OSD coordinates
szTextInfo OSD contents

See also:
NETDEV_CHL_OSD_CFG_LIST_S

4.27.113 OSD content style

typedef struct tagNETDEVOsdContentStyle


{
UINT32 udwFontStyle;
UINT32 udwFontSize;
UINT32 udwColor;
UINT32 udwDateFormat;
UINT32 udwTimeFormat;
UINT32 audwFontAlignList[NETDEV_LEN_8];
UINT32 udwMargin;
}NETDEV_OSD_CONTENT_STYLE_S,*LPNETDEV_OSD_CONTENT_STYLE_S;

Members:
Parameter Description
udwFontStyle Font style. See NETDEV_OSD_FONT_STYLE_E.
udwFontSize Font size. See NETDEV_OSD_FONT_SIZE_E.

410 / 767
Network Device SDK (Windows) User Manual
udwColor Color
udwDateFormat Date format. See NETDEV_OSD_DATE_FORMAT_E.
udwTimeFormat Time format. See NETDEV_OSD_TIME_FORMAT_E.
audwFontAlignList Text alignment in area. 8 areas. Applicable to IPC. See
NETDEV_OSD_ALIGN_E.
udwMargin Number of characters with margin. Applicable to IPC. See
NETDEV_OSD_MIN_MARGIN_E.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.114 All alarm input info

typedef struct tagNETDEVAlarmOutputList


{
INT32 dwSize;
NETDEV_ALARM_OUTPUT_INFO_S astAlarmOutputInfo[NETDEV_MAX_ALARM_OUT_NUM];
} NETDEV_ALARM_OUTPUT_LIST_S, *LPNETDEV_ALARM_OUTPUT_LIST_S;

Members:
Parameter Description
dwSize Number of alarm inputs
astAlarmOutputInfo Alarm input configuration info

See also:
NETDEV_CONFIG_COMMAND_E

4.27.115 Alarm output info

typedef struct tagNETDEVAlarmOutputInfo


{
CHAR szName[NETDEV_LEN_64];
INT32 dwChancelId;
INT32 enDefaultStatus;
INT32 dwDurationSec;
INT32 dwOutputNum;
} NETDEV_ALARM_OUTPUT_INFO_S, *LPNETDEV_ALARM_OUTPUT_INFO_S;

Members:
Parameter Description
szName Alarm output name
dwChancelId Channel ID
enDefaultStatus Default alarm output status. See NETDEV_BOOLEAN_MODE_E.
dwDurationSec Alarm duration (unit: second)
dwOutputNum Alarm output sequence number

411 / 767
Network Device SDK (Windows) User Manual

See also:NETDEV_ALARM_OUTPUT_LIST_S

4.27.116 Link alarm input

typedef struct tagNETDEVTriggerAlarmOutput


{
CHAR szName[NETDEV_LEN_64];
NETDEV_RELAYOUTPUT_STATE_E enOutputState;
} NETDEV_TRIGGER_ALARM_OUTPUT_S, *LPNETDEV_TRIGGER_ALARM_OUTPUT_S;

Members:
Parameter Description
szName Alarm input name
enOutputState Trigger status

See also:
NETDEV_CONFIG_COMMAND_E

4.27.117 All alarm input info

typedef struct tagNETDEVAlarmInputInfoList


{
INT32 dwSize;
NETDEV_ALARM_INPUT_INFO_S astAlarmInputInfo[NETDEV_MAX_ALARM_IN_NUM];
}NETDEV_ALARM_INPUT_LIST_S, *LPNETDEV_ALARM_INPUT_LIST_S;

Members:
Parameter Description
dwSize Number of alarm inputs
astAlarmInputInfo Alarm input configuration info

See also:
NETDEV_CONFIG_COMMAND_E

4.27.118 Alarm input info

typedef struct tagNETDEVAlarmInputInfo


{
CHAR szName[NETDEV_LEN_64];
}NETDEV_ALARM_INPUT_INFO_S, *LPNETDEV_ALARM_INPUT_INFO_S;

Members:
Parameter Description
szName Alarm input name

412 / 767
Network Device SDK (Windows) User Manual
See also:
NETDEV_ALARM_INPUT_LIST_S

4.27.119 Logical alarm status list of alarm output (manual alarm)

typedef struct tagNETDEVOutputSwitchesAlarmStatusList


{
INT32 dwSize;
NETDEV_OUTPUT_SWITCH_ALARM_STATUS_S
astOutputAlarmStatusInfo[NETDEV_MAX_ALARM_OUT_NUM];
BYTE bRes[128];
}NETDEV_OUTPUT_SWITCH_ALARM_STATUS_LIST_S,
*LPNETDEV_OUTPUT_SWITCH_ALARM_STATUS_LIST_S

Members:
Parameter Description
dwSize Number of alarm output channels
astOutputAlarmStatusInfo Alarm output status list
bRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.120 Logical alarm status of alarm output (manual alarm)

typedef struct tagNETDEVOutputSwitchesAlarmStatus


{
INT32 dwBooleanId;
INT32 dwChannelId;
INT32 enAlarmStatus;
}NETDEV_OUTPUT_SWITCH_ALARM_STATUS_S, *LPNETDEV_OUTPUT_SWITCH_ALARM_STATUS_S;

Members:
Parameter Description
dwBooleanId Alarm output ID
dwChannelId Channel ID. For the device it is 0.
enAlarmStatus Alarm output status. See NETDEV_RELAYOUTPUT_STATE_E.

See also:
NETDEV_OUTPUT_SWITCH_ALARM_STATUS_LIST_S

413 / 767
Network Device SDK (Windows) User Manual
4.27.121 Structure of logical alarm status of triggering or clearing switch output
(manual alarm)

typedef struct tagNETDEVOutputSwitchesManualAlarmInfo


{
INT32 dwSize;
INT32 dwIDList[NETDEV_MAX_ALARM_OUT_NUM];
NETDEV_MANUAL_ALARM_CMD_E dwAlarmAction;
BYTE bRes[128];
}NETDEV_OUTPUT_SWITCH_MANUAL_ALARM_INFO_S, *LPNETDEV_OUTPUT_SWITCH_MANUAL_ALARM_INFO_S;

Members:
Parameter Description
dwSize Number of alarm outputs to set
dwIDList List of alarm output IDs to set
dwAlarmAction Alarm action
bRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.122 Alarm input configuration list

typedef struct tagNETDEVInputSwitchesInfoList


{
INT32 udwNum;
NETDEV_INPUT_SWITCH_INFO_S astInputSwitchesInfo[NETDEV_LEN_1024];
}NETDEV_INPUT_SWITCH_INFO_LIST_S, *LPNETDEV_INPUT_SWITCH_INFO_LIST_S;

Members:
Parameter Description
udwNum Number of alarm inputs
astInputSwitchesInfo Alarm input configuration info

See also:
NETDEV_CONFIG_COMMAND_E

4.27.123 Alarm input info

typedef struct tagNETDEVInputSwitchesInfo


{
INT32 dwChancelId;
INT32 dwInputSwitchIndex;
CHAR szName[NETDEV_LEN_64];
CHAR szGBID[NETDEV_LEN_32];
INT32 dwRunMode;
414 / 767
Network Device SDK (Windows) User Manual
INT32 dwEnabled;
INT32 dwVideoResID;
BYTE bRes[124];
}NETDEV_INPUT_SWITCH_INFO_S, *LPNETDEV_INPUT_SWITCH_INFO_S;

Members:
Parameter Description
dwChancelId Channel ID
dwInputSwitchIndex Alarm output index
szName Alarm input name
szGBID GB resource ID. Applicable to IPC only.
dwRunMode Operation mode. 1: Normally open 2: Normally closed
dwEnabled Enable or disable alarm. 0: Disable 1: Enable
dwVideoResID Corresponding video channel ID. Applicable to VMS only.
bRes Reserved field.

See also:
NETDEV_INPUT_SWITCH_INFO_LIST_S

4.27.124 Image settings

typedef struct tagNETDEVImagingSetting


{
INT32 dwContrast; /* contrast */
INT32 dwBrightness; /* brightness */
INT32 dwSaturation; /* saturation */
INT32 dwSharpness; /* sharpness */
BYTE byRes[252]; /* Reserved field */
}NETDEV_IMAGE_SETTING_S, *LPNETDEV_IMAGE_SETTING_S;

Members:
Parameter Description
dwContrast Contrast
dwBrightness Brightness
dwSaturation Saturation
dwSharpness Brightness
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

415 / 767
Network Device SDK (Windows) User Manual
4.27.125 Image exposure parameters

typedef struct tagNETDEVImagingExposure


{
UINT32 udwMode;
INT32 dwCompensationLevel;
UINT32 udwHLCSensitivity;
NETDEV_IRIS_INFO_S stIrisInfo;
NETDEV_SHUTTER_INFO_S stShutterInfo;
NETDEV_GAIN_INFO_S stGainInfo;
NETDEV_WIDE_DYNAMIC_INFO_S stWideDynamicInfo;
NETDEV_METERING_INFO_S stMeteringInfo;
NETDEV_DAY_NIGHT_INFO_S stDayNightInfo;
BYTE byRes[256];
}NETDEV_IMAGE_EXPOSURE_S, *LPNETDEV_IMAGE_EXPOSURE_S;

Members:
Parameter Description
udwMode Exposure mode. See NETDEV_EXPOSURE_MODE_E.
dwCompensationLevel Exposure compensation level, valid when exposure mode is not "manual".
Range: [-100,100]. Required when supported by image capability.
udwHLCSensitivity HLC sensitivity, valid when the scene is Road HLC or Park HLC, range:
[1,9]. Required if supported by image capability.
stIrisInfo Iris info. Required if supported by image capability.
stShutterInfo Shutter info. Required if supported by image capability.
stGainInfo Gain info
stWideDynamicInfo WDR info Required if supported by image capability.
stMeteringInfo Metering info Valid when the scene is not Road HLC and Park HLC. Required
if supported by image capability.
stDayNightInfo Day/night mode info Required if supported by image capability.
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.126 Iris info

typedef struct tagNETDEVIrisInfo


{
UINT32 udwIris;
UINT32 udwMinIris;
UINT32 udwMaxIris;
BYTE byRes[128];
}NETDEV_IRIS_INFO_S, *LPNETDEV_IRIS_INFO_S

416 / 767
Network Device SDK (Windows) User Manual
Members:
Parameter Description
udwIris Iris. Optional in iris priority and manual exposure modes. Supported
values: 160, 200, 240, 280, 340, 400, 480, 560, 680, 800, 960, 1100,
1600, 2200
udwMinIris Minimum iris. Valid in custom exposure mode. Must not be greater than
the maximum iris. See iris capability. Required if supported by image
capability.
udwMaxIris Maximum iris. Valid in custom exposure mode. Must not be less than the
minimum iris. See iris capability. Required if supported by image
capability.
byRes Reserved field.

See also:
NETDEV_IMAGE_EXPOSURE_S

4.27.127 Shutter info

typedef struct tagNETDEVShutterInfo


{
UINT32 udwShutterTime;
UINT32 udwMinShutterTime;
UINT32 udwMaxShutterTime;
UINT32 udwIsEnableSlowShutter;
UINT32 udwSlowestShutter;
BYTE byRes[128];
}NETDEV_SHUTTER_INFO_S, *LPNETDEV_SHUTTER_INFO_S;

Members:
Parameter Description
udwShutterTime Shutter time. See NETDEV_SHUTTER_TIME_RANGE_E. Time unit: 0: ms 1: s
udwMinShutterTime Minimum shutter time. See NETDEV_SHUTTER_TIME_RANGE_E.
udwMaxShutterTime Maximum shutter time. See NETDEV_SHUTTER_TIME_RANGE_E.
udwIsEnableSlowShutter Whether slow shutter is enabled Valid when not in iris priority mode.
0: No 1: Yes
udwSlowestShutter Slowest shutter. Valid when slow shutter is enabled.
byRes Reserved field.

See also:
NETDEV_IMAGE_EXPOSURE_S

417 / 767
Network Device SDK (Windows) User Manual
4.27.128 Gain info

typedef struct tagNETDEVGainInfo


{
UINT32 udwGain;
UINT32 udwMinGain;
UINT32 udwMaxGain;
BYTE byRes[128];
}NETDEV_GAIN_INFO_S, *LPNETDEV_GAIN_INFO_S;

Members:
Parameter Description
udwGain Gain (unit: db). Valid in manual exposure mode. Range: [1,100]
udwMinGain Minimum gain. Valid in custom exposure mode. Must not be greater than
the maximum gain. Min: 1
udwMaxGain Maximum gain. Valid in custom exposure mode. Must not be LEDs than the
minimum gain. Max: 100
byRes Reserved field.

See also:
NETDEV_IMAGE_EXPOSURE_S

4.27.129 WDR info

typedef struct tagNETDEVWideDynamicInfo


{
UINT32 udwWideDynamicMode;
UINT32 udwWideDynamicLevel;
UINT32 udwOpenSensitivity;
UINT32 udwCloseSensitivity;
UINT32 udwAntiFlicker;
BYTE byRes[128];
}NETDEV_WIDE_DYNAMIC_INFO_S, *LPNETDEV_WIDE_DYNAMIC_INFO_S;

Members:
Parameter Description
udwWideDynamicMode WDR mode. See NETDEV_WIDE_DYNAMIC_MODE_E.
udwWideDynamicLevel WDR level. Valid when WDR is enabled and in one of the following exposure
modes: Auto, Custom, Shutter Priority, Indoor 50Hz, Indoor 60Hz, or Low
Motion Blur. Range: [1, 9].
udwOpenSensitivity Sensitivity of turning on WDR Valid when WDR is Auto. Range: [1, 9].
udwCloseSensitivity Sensitivity of turning off WDR Valid when WDR mode is Auto. Range: [1,
9].
udwAntiFlicker Suppress WDR stripes, which can eliminate stripes in images when
enabled.

418 / 767
Network Device SDK (Windows) User Manual
0: Disable 1: Enable
byRes Reserved field.

See also:
NETDEV_IMAGE_EXPOSURE_S

4.27.130 Metering info

typedef struct tagNETDEVMeteringInfo


{
UINT32 udwMeteringMode;
UINT32 udwRefBrightness;
UINT32 udwHoldTime;
NETDEV_METERING_AREA_S stMeteringArea;
BYTE byRes[128];
}NETDEV_METERING_INFO_S, *LPNETDEV_METERING_INFO_S;

Members:
Parameter Description
udwMeteringMode Metering control mode. Valid when not in manual exposure mode. See
NETDEV_DAY_NIGHT_MODE_E.
udwRefBrightness Brightness of face. Valid in face metering mode. Range: [0, 100].
udwHoldTime Minimum duration. Valid in face metering mode. Unit: minute. Range: [0,
60].
stMeteringArea Metering area. Valid in evaluative metering or spot metering mode.
byRes Reserved field.

See also:
NETDEV_IMAGE_EXPOSURE_S

4.27.131 Metering area

typedef struct tagNETDEVMeteringArea


{
NETDEV_AREA_TOP_LEFT_S stAreaTopLeft;
NETDEV_AREA_BOT_RIGHT_S stAreaBotRight;
BYTE byRes[128];
}NETDEV_METERING_AREA_S, *LPNETDEV_METERING_AREA_S;

Members:
Parameter Description
stAreaTopLeft Upper left area
stAreaBotRight Lower right area
byRes Reserved field.

419 / 767
Network Device SDK (Windows) User Manual
See also:
NETDEV_METERING_INFO_S

4.27.132 Upper left area

typedef struct tagNETDEVAreaTopLeft


{
UINT32 dwTopLeftX;
UINT32 dwTopLeftY;
BYTE byRes[128];
}NETDEV_AREA_TOP_LEFT_S, *LPNETDEV_AREA_TOP_LEFT_S;

Members:
Parameter Description
dwTopLeftX x-coordinate of the top left (scale). Evaluative metering range: [0,
100]
dwTopLeftY y-coordinate of the top left (scale). Evaluative metering range: [0,
100]
byRes Reserved field.

See also:
NETDEV_METERING_AREA_S

4.27.133 Lower right area

typedef struct tagNETDEVAreaBotRight


{
UINT32 dwBottomRightX;
UINT32 dwBottomRightY;
BYTE byRes[128];
}NETDEV_AREA_BOT_RIGHT_S, *LPNETDEV_AREA_BOT_RIGHT_S;

Members:
Parameter Description
dwBottomRightX x-coordinate of the top left (scale). Evaluative metering range: [0,
100]
dwBottomRightY y-coordinate of the top left (scale). Evaluative metering range: [0,
100]
byRes Reserved field.

See also:
NETDEV_METERING_AREA_S

420 / 767
Network Device SDK (Windows) User Manual
4.27.134 Day/night mode info

typedef struct tagNETDEVDayNightInfo


{
UINT32 udwDayNightMode;
UINT32 udwDayNightSensitivity;
UINT32 udwDayNightTime;
BYTE byRes[128];
}NETDEV_DAY_NIGHT_INFO_S, *LPNETDEV_DAY_NIGHT_INFO_S;

Members:
Parameter Description
udwDayNightMode Day/night mode. See NETDEV_DAY_NIGHT_MODE_E.
udwDayNightSensitivity Day/night mode sensitivity. Valid when day/night mode is Auto. Range:
[0,9]. Required if supported by image capability.
udwDayNightTime Day/night mode switching time. Valid when day/night mode is Auto. Range:
[3, 120]. Unit: second. Required if supported by image capability.
byRes Reserved field.

See also:
NETDEV_IMAGE_EXPOSURE_S

4.27.135 Illuminator info

typedef struct tagNETDEVLampCtrlInfo


{
UINT32 udwEnabled;
UINT32 udwType;
UINT32 udwMode;
UINT32 udwNearLevel;
UINT32 udwMiddleLevel;
UINT32 udwFarLevel;
UINT32 udwSuperFarLevel;
UINT32 udwLaserAngle;
BYTE byRes[256];
}NETDEV_LAMP_CTRL_INFO_S, *LPNETDEV_LAMP_CTRL_INFO_S;

Members:
Parameter Description
udwEnabled Turn on or off illuminator. 0: Off 1: On
udwType Illuminator type. See NETDEV_LAMP_TYPE_E.
udwMode Illuminator control mode. See NETDEV_LAMP_CTRL_MODE_E.
udwNearLevel Near-illumination level. Valid when IR control mode is Manual or Manual-
Always On. Required if supported by illuminator capability. Range: [0-
1000]. A higher level means higher illumination intensity.

421 / 767
Network Device SDK (Windows) User Manual
udwMiddleLevel Mid-illumination level. Valid when IR control mode is Manual or Manual-
Always On. Required if supported by illuminator capability. Range: [0-
1000]. A higher level means higher illumination intensity.
udwFarLevel Far-illumination level. Valid when IR control mode is Manual or Manual-
Always On. Required if supported by illuminator capability. Range: [0-
1000]. A higher level means higher illumination intensity.
udwSuperFarLevel Super-far-illumination level. Valid when IR control mode is Manual or
Manual-Always On. Required if supported by illuminator capability.
Range: [0-1000]. A higher level means higher illumination intensity.
udwLaserAngle Laser angle. Valid when Lighting Type is Laser and IR control mode is
Manual or Manual-Always On. Required if supported by illuminator
capability. See illuminator capability for the range. A smaller laser
angle means intenser energy.
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.136 White balance info

typedef struct tagNETDEVWhiteBalanceInfo


{
UINT32 udwMode;
INT32 dwRedOffset;
INT32 dwBlueOffset;
BYTE byRes[256];
}NETDEV_WHITE_BALANCE_INFO_S, *LPNETDEV_WHITE_BALANCE_INFO_S;

Members:
Parameter Description
udwMode White balance mode. See NETDEV_WHITE_BALANCE_MODE_E.
dwRedOffset Red offset. Configurable only in fine-tune mode (Mode is 1, 5, 8).
dwBlueOffset Blue offset. Configurable only in fine-tune mode (Mode is 1, 5, 8).
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.137 Network configuration info

typedef struct tagNETDEVNetworkInterfaces


{
INT32 dwMTU;
BOOL bIPv4DHCP;
CHAR szIpv4Address[NETDEV_LEN_32];

422 / 767
Network Device SDK (Windows) User Manual
CHAR szIPv4GateWay[NETDEV_LEN_32];
CHAR szIPv4SubnetMask[NETDEV_LEN_32];
BYTE byRes[480];
}NETDEV_NETWORKCFG_S, *LPNETDEV_NETWORKCFG_S;

Members:
Parameter Description
dwMTU MTU value
bIPv4DHCP DHCP (IPv4)
szIpv4Address IP address (IPv4)
szIPv4GateWay Gateway address (IPv4)
szIPv4SubnetMask Subnet mask (IPv4)
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.138 VPN client info

typedef struct tagNETDEVVPNClientInfo


{
UINT32 udwEnabled;
UINT32 udwCompatibilityMode;
UINT32 udwAuthEnabled;
UINT32 udwEncryptEnabled;
UINT32 udwInterface;
CHAR szLoginName[NETDEV_DOMAIN_LEN];
CHAR szPIN[NETDEV_LEN_256];
UINT32 udwAddressType;
CHAR szAddress[NETDEV_IPADDR_STR_MAX_LEN];
UINT32 udwPort;
UINT32 udwUNPSuccessd;
CHAR szUNPShareIPAddr[NETDEV_IPADDR_STR_MAX_LEN];
CHAR szUNPShareMask[NETDEV_IPADDR_STR_MAX_LEN];
CHAR szUNPShareWayAddr[NETDEV_IPADDR_STR_MAX_LEN];
BYTE byRes[256];
}NETDEV_VPN_CLIENT_INFO_S, *LPNETDEV_VPN_CLIENT_INFO_S;

Members:
Parameter Description
udwEnabled Enable or disable compatibility mode. 0: Disable 1: Enable
udwCompatibilityMode Compatibility mode. 0: UNP1.0(unp)1: UNP2.0 (softvpn)
udwAuthEnabled Enable or disable authentication. For UNP2.0 authentication is required
and must be enabled. 0: Disable 1: Enable
423 / 767
Network Device SDK (Windows) User Manual
udwEncryptEnabled Enable or disable compatibility mode for encryption. This field should
be disabled if compatibility is enabled (UNP1.0). 0: Disable 1: Enable
udwInterface Optional. Required for IPC. Optional for NVR and VMS.
Copper network interface: 0
4G network interface: 1
Range: [0,1]
szLoginName Optional. Required when AuthEnable is “Enable”. Username of the
server. Chinese characters are not supported. Range: [0-63]
szPIN Optional. The password range is [0, 256] when AuthEnable is enabled.
Required when changing the password.
udwAddressType AddressType: IP address type. 0: IPv4 1: IPv6 2: Domain name 3: Both
IPv4 and IPv6 Currently only IPv4 is supported.
szAddress Address
udwPort Optional. Required for NVR and VMS. Corresponding server port of the
compatibility mode. Range: [1-65535]. The default is 1701 for UNP1.0
and 5555 for UNP2.0.
udwUNPSuccessd Indicates whether UNP connection is successful (whether the UNP is
assigned IP, subnet mask, route). 0: Fail 1: Success
Required when using the GET method.
szUNPShareIPAddr Assigned address when UNP is successfully connected to the server
(returned only when query and connection succeed, not input parameter)
szUNPShareMask Assigned subnet mask when UNP is successfully connected to the server
(returned only when query and connection succeed, not input parameter)
szUNPShareWayAddr Assigned route when UNP is successfully connected to the server
(returned only when query and connection succeed, not input parameter)
byRes Reserved field

See also:
NETDEV_CONFIG_COMMAND_E

4.27.139 Device DNS info

typedef struct tagNETDEVDNSInfo


{
UINT32 udwNum;
NETDEV_DNS_ADDRESS_S astDNSList[NETDEV_DNS_LIST_NUM];
BYTE byRes[128];
}NETDEV_DNS_INFO_S, *LPNETDEV_DNS_INFO_S;

Members:
Parameter Description
udwNum Number of DNS addresses
astDNSList DNS address list. The 1st is the preferred address, and the 2nd is the
alternate address.
byRes Reserved field
424 / 767
Network Device SDK (Windows) User Manual

See also:
NETDEV_CONFIG_COMMAND_E

4.27.140 DNS address

typedef struct tagDNSAddress


{
UINT32 udwAddressType;
CHAR szIPAddress[NETDEV_LEN_64];
CHAR szIPv6Address[NETDEV_LEN_64];
BYTE byRes[128];
}NETDEV_DNS_ADDRESS_S, *LPNETDEV_DNS_ADDRESS_S;

Members:
Parameter Description
udwAddressType IP address type. 0: IPv4 1: IPv6 3: Both IPv4 and IPv6 are required.
Currently only IPv4 is supported
szIPAddress IPv4 Address
szIPv6Address IPv6 Address
byRes Reserved field

See also:
NETDEV_DNS_INFO_S

4.27.141 NIC info

typedef struct tagNETDEVNetworkCardsInfo


{
UINT32 udwNum;
UINT32 udwDefaultRouteNIC;
UINT32 udwWorkMode;
NETDEV_NETWORK_INTERFACE_INFO_S astNetworkInterfaceList[NETDEV_LEN_8];
BYTE byRes [128];
}NETDEV_NETWORK_CARD_INFO_S, *LPNETDEV_NETWORK_CARD_INFO_S;

Members:
Parameter Description
udwNum Number of network interface cards (NICs)
udwDefaultRouteNIC ID of the NIC used as the default route. Required when multiple NICs
are configured (not including internal NIC).
udwWorkMode NIC working mode. 0: Multi-address 1: Load balance 2: Network fault
tolerance
astNetworkInterfaceList NIC list. Optional when Num is 0.
byRes Reserved field

425 / 767
Network Device SDK (Windows) User Manual

See also:
NETDEV_CONFIG_COMMAND_E

4.27.142 Detailed NIC info

typedef struct tagNETDEVNetworkInterfaceInfo


{
UINT32 udwID;
CHAR szName[NETDEV_NAME_MAX_LEN];
UINT32 udwWorkMode;
BOOL bIsInnerNIC;
CHAR szInnerNICIPAddress[NETDEV_IPADDR_STR_MAX_LEN];
CHAR szInnerNICNetmask[NETDEV_IPADDR_STR_MAX_LEN];
CHAR szInnerNICName[NETDEV_NAME_MAX_LEN];
UINT32 udwMTU;
CHAR szMAC[NETDEV_NETWORK_MACNAME_LEN];
UINT32 udwNegotiationMode;
NETDEV_NETWORK_IPV4_INFO_S stIPV4Infos;
NETDEV_NETWORK_IPV6_INFO_S stIPV6Infos;
BYTE byRes[128];
}NETDEV_NETWORK_INTERFACE_INFO_S, *LPNETDEV_NETWORK_INTERFACE_INFO_S;

Members:
Parameter Description
udwID NIC ID. For VMS and IPC it starts from 1. For NVR this field is the
resource ID.
szName NIC name. Applicable to NVR and IPC.
udwWorkMode NIC working mode. 0: Multi-address 1: Load balance 2: Network fault
tolerance
bIsInnerNIC Whether is an internal NIC
szInnerNICIPAddress IP of inner NIC
szInnerNICNetmask Subnet mask of inner NIC
szInnerNICName Name of inner NIC. Unconfigurable. For search only.
udwMTU MTU length. Range: [576,1500]
szMAC MAC address. Read-only. Length range: [0, 48]
udwNegotiationMode Working mode of network interface
stIPV4Infos IPv4 info. Optional if IPv4 is not supported.
stIPV6Infos IPv6 info. Optional if IPv6 is not supported.
byRes Reserved field

See also:
NETDEV_NETWORK_CARD_INFO_S

426 / 767
Network Device SDK (Windows) User Manual
4.27.143 NIC IPv4 info

typedef struct tagNetWorkIpv4info


{
UINT32 udwIPGetType;
CHAR szLoginName[NETDEV_LEN_64];
CHAR szPIN[NETDEV_LEN_128];
UINT32 udwAddressNum;
NETDEV_IPV4_ADDRESS_INFO_S astIPv4AddressInfo[NETDEV_LEN_8];
}NETDEV_NETWORK_IPV4_INFO_S, *LPNETDEV_NETWORK_IPV4_INFO_S;

Members:
Parameter Description
udwIPGetType IP obtainment mode. 0: Static IP 1: PPPOE 2: DHCP
szLoginName PPPoE name
szPIN PPPoE password (MD5 encrypted)
udwAddressNum Number of IPs
astIPv4AddressInfo IPv4 info. Optional if IPv4 is not supported.

See also:
NETDEV_NETWORK_INTERFACE_INFO_S

4.27.144 Detailed IPv4 address info

typedef struct tagIpv4Addressinfo


{
CHAR szAddress[NETDEV_LEN_64];
CHAR szNetmask[NETDEV_LEN_64];
CHAR szGateway[NETDEV_LEN_64];
}NETDEV_IPV4_ADDRESS_INFO_S, *LPNETDEV_IPV4_ADDRESS_INFO_S;

Members:
Parameter Description
szAddress IP address
szNetmask Subnet mask
szGateway Default gateway

See also:
NETDEV_NETWORK_IPV4_INFO_S

427 / 767
Network Device SDK (Windows) User Manual
4.27.145 NIC IPv6 info

typedef struct tagNetWorkIpv6info


{
UINT32 udwIPGetType;
UINT32 udwAddressNum;
NETDEV_IPV6_ADDRESS_INFO_S astIPv6AddressInfo[NETDEV_LEN_8];
}NETDEV_NETWORK_IPV6_INFO_S, *LPNETDEV_NETWORK_IPV6_INFO_S;

Members:
Parameter Description
udwIPGetType IP obtainment mode
udwAddressNum Number of IPs
astIPv6AddressInfo IPv6 info. Optional if IPv6 is not supported.

See also:
NETDEV_NETWORK_INTERFACE_INFO_S

4.27.146 Detailed IPv6 address info

typedef struct tagIpv6Addressinfo


{
UINT32 udwPrefixLenth;
CHAR szAddress[NETDEV_LEN_64];
CHAR szGateway[NETDEV_LEN_64];
}NETDEV_IPV6_ADDRESS_INFO_S, *LPNETDEV_IPV6_ADDRESS_INFO_S;

Members:
Parameter Description
udwPrefixLenth Subnet prefix length: [3,127]
szAddress IP address
szGateway Default gateway

See also:
NETDEV_NETWORK_IPV6_INFO_S

4.27.147 Port information

typedef struct tagNETDEVNetworkPortsInfo


{
UINT32 udwHttpPort;
UINT32 udwHttpsPort;
UINT32 udwRtspPort;
BYTE byRes[64];
}NETDEV_NETWORK_PORTS_INFO_S, *LPNETDEV_NETWORK_PORTS_INFO_S;

428 / 767
Network Device SDK (Windows) User Manual
Members:
Parameter Description
udwHttpPort HTTP port
udwHttpsPort HTTPS port
udwRtspPort RTSP port
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.148 Privacy mask configuration info

typedef struct tagPrivacyMaskPara


{
INT32 dwSize;
NETDEV_PRIVACY_MASK_AREA_INFO_S astArea[NETDEV_MAX_PRIVACY_MASK_AREA_NUM];
}NETDEV_PRIVACY_MASK_CFG_S, *LPNETDEV_PRIVACY_MASK_CFG_S;

Members:
Parameter Description
dwSize Number of areas
astArea Mask area parameters

See also:
NETDEV_CONFIG_COMMAND_E

4.27.149 Structure of area configuration

typedef struct tagAreaInfo


{
INT32 bIsEanbled;
INT32 dwTopLeftX;
INT32 dwTopLeftY;
INT32 dwBottomRightX;
INT32 dwBottomRightY;
INT32 dwIndex;
}NETDEV_PRIVACY_MASK_AREA_INFO_S;

Members:
Parameter Description
bIsEanbled Enable or disable
dwTopLeftX X-coordinate of top left corner [0, 10000]
dwTopLeftY Y-coordinate of top left corner [0, 10000]
dwBottomRightX X-coordinate of bottom right corner [0, 10000]
dwBottomRightY Y-coordinate of bottom right corner [0, 10000]

429 / 767
Network Device SDK (Windows) User Manual
dwIndex Index

See also:
NETDEV_PRIVACY_MASK_CFG_S

4.27.150 Tampering detection info

typedef struct tagNETDEVTamperAlarmInfo


{
INT32 dwSensitivity;
BYTE byRes[256];
}NETDEV_TAMPER_ALARM_INFO_S, *LPNETDEV_TAMPER_ALARM_INFO_S;

Members:
Parameter Description
dwSensitivity Sensitivity
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.151 Motion detection analysis info

typedef struct tagNETDEVMotionAlarmInfo


{
INT32 dwSensitivity;
INT32 dwObjectSize;
INT32 dwHistory;
INT16 awScreenInfo[NETDEV_SCREEN_INFO_ROW][NETDEV_SCREEN_INFO_COLUMN];
BYTE byRes[64];
}NETDEV_MOTION_ALARM_INFO_S, *LPNETDEV_MOTION_ALARM_INFO_S;

Members:
Parameter Description
dwSensitivity Sensitivity
dwObjectSize Object size
dwHistory Duration
awScreenInfo On-screen block info
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

430 / 767
Network Device SDK (Windows) User Manual
4.27.152 Cross line detection analysis info

typedef struct tagNETDEVCrossLineAlarmInfo


{
BOOL bEnable;
NETDEV_CROSS_LINE_POINT_INFO_S stAreaInfo[4];
BYTE byRes[64];
}NETDEV_CROSS_LINE_ALARM_INFO_S, *LPNETDEV_CROSS_LINE_ALARM_INFO_S;

Members:
Parameter Description
bEnable Enable or disable
stAreaInfo Area info
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.153 Area info

typedef struct tagNETDEVCrossLinePointInfo


{
BOOL bEnable;
INT32 dwSensitivity;
INT32 dwDirection;
INT32 dwTopLeftX;
INT32 dwTopLeftY;
INT32 dwBottomRightX;
INT32 dwBottomRightY;
}NETDEV_CROSS_LINE_POINT_INFO_S, *LPNETDEV_CROSS_LINE_POINT_INFO_S;
Members:
Parameter Description
bEnable Enable or disable
dwSensitivity Sensitivity
dwDirection Trigger direction
dwTopLeftX x-coordinate of top left corner [0, 10000]
dwTopLeftY y-coordinate of top left corner [0, 10000]
dwBottomRightX x-coordinate of bottom right corner [0, 10000]
dwBottomRightY y-coordinate of bottom right corner [0, 10000]

See also:
NETDEV_CROSS_LINE_ALARM_INFO_S

431 / 767
Network Device SDK (Windows) User Manual
4.27.154 Intrusion detection info

typedef struct tagNETDEVIntrusionAlarmInfo


{
BOOL bEnable;
NETDEV_INTRUSION_AREA_INFO_S stAreaInfo[NETDEV_LEN_4];
BYTE byRes[64];
}NETDEV_INTRUSION_ALARM_INFO_S, *LPNETDEV_INTRUSION_ALARM_INFO_S;

Members:
Parameter Description
bEnable Enable or disable
stAreaInfo Area information. Up to 4 areas are allowed. Each area consists of 3 to
6 sides.
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.155 Intrusion detection area info

typedef struct tagNETDEVIntrusionAreaInfo


{
BOOL bEnable;
INT32 dwSensitivity;
INT32 dwTimeThreshold;
INT32 percentage;
INT32 dwPointCount;
NETDEV_INTRUSION_POINT_INFO_S stPointInfo[NETDEV_LEN_6];
BYTE byRes[64];
}NETDEV_INTRUSION_AREA_INFO_S, *LPNETDEV_INTRUSION_AREA_INFO_S;

Members:
Parameter Description
bEnable Enable or disable
dwSensitivity Sensitivity. Range: 1-100
dwTimeThreshold Time threshold. Range: 1-10
percentage Percentage. Range: 1-100
dwPointCount Number of vertices. Range: 3-6. Ignored if no detection area is set.
stPointInfo Coordinates of vertices
byRes Reserved field.

See also:
NETDEV_INTRUSION_ALARM_INFO_S

432 / 767
Network Device SDK (Windows) User Manual
4.27.156 Coordinates of intrusion detection area

typedef struct tagNETDEVIntrusionPointInfo


{
INT32 dwPointX;
INT32 dwPointY;
}NETDEV_INTRUSION_POINT_INFO_S, *LPNETDEV_INTRUSION_POINT_INFO_S;

Members:
Parameter Description
dwPointX X [0, 10000]
dwPointY Y [0, 10000]

See also:
NETDEV_INTRUSION_AREA_INFO_S

4.27.157 HDD list

typedef struct tagNETDEVDiskInfoList


{
INT32 dwSize;
NETDEV_DISK_INFO_S astDisksInfo[NETDEV_DISK_MAX_NUM];
}NETDEV_DISK_INFO_LIST_S,*LPNETDEV_DISK_INFO_LIST_S;

Members:
Parameter Description
dwSize Number of HDDs
astDisksInfo HDD info

See also:
NETDEV_CONFIG_COMMAND_E

4.27.158 Detailed HDD info

typedef struct tagNETDEVDiskInfo


{
INT32 dwDiskCabinetIndex;
INT32 dwSlotIndex;
INT32 dwTotalCapacity;
INT32 dwUsedCapacity;
NETDEV_DISK_WORK_STATUS_E enStatus;
CHAR szManufacturer[NETDEV_LEN_32];
}NETDEV_DISK_INFO_S,*LPNETDEV_DISK_INFO_S;

Members:
Parameter Description
433 / 767
Network Device SDK (Windows) User Manual
dwDiskCabinetIndex HDD index
dwSlotIndex HDD slot index
dwTotalCapacity Total HDD capacity
dwUsedCapacity Used capacity
enStatus Operation status
szManufacturer Manufacturer

See also:
NETDEV_DISK_INFO_LIST_S

4.27.159 Focus info

typedef struct tagNETDEVFocusInfo


{
NETDEV_FOCUS_MODE_E enFocusMode;
BYTE bRes[16];
}NETDEV_FOCUS_INFO_S, *LPNETDEV_FOCUS_INFO_S;

Members:
Parameter Description
enFocusMode Focus mode
bRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.160 Day/night mode info

typedef struct tagNETDEVIrFilterInfo


{
NETDEV_IR_CUT_FILTER_MODE_E enIrCutFilterMode;
BYTE bRes[16];
}NETDEV_IRCUT_FILTER_INFO_S, *LPNETDEV_IRCUT_FILTER_INFO_S;

Members:
Parameter Description
enIrCutFilterMode Day/night mode
bRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

434 / 767
Network Device SDK (Windows) User Manual
4.27.161 Defog info

typedef struct tagNETDEVDefoggingInfo


{
NETDEV_DEFOGGING_MODE_E enDefoggingMode;
FLOAT fDefoggingLevel;
BYTE bRes[64];
}NETDEV_DEFOGGING_INFO_S, *LPNETDEV_DEFOGGING_INFO_S;

Members:
Parameter Description
enDefoggingMode Defog mode
fDefoggingLevel Defog level (0.0, 1.0)
bRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.162 Image enhancement parameters of specified channel

typedef struct tagNETDEVImagingEnhance


{
UINT32 udwBrightness;
UINT32 udwContrast;
UINT32 udwSaturation;
UINT32 udwSharpness;
UINT32 udwImageRotation;
UINT32 udw2DNoiseReduce;
UINT32 udw3DNoiseReduce;
BYTE byRes[252];
}NETDEV_IMAGE_ENHANCE_S, *LPNETDEV_IMAGE_ENHANCE_S;

Members:
Parameter Description
udwBrightness Brightness
udwContrast Contrast
udwSaturation Saturation
udwSharpness Sharpness
udwImageRotation Image rotation modes
udw2DNoiseReduce 2D noise reduction
udw3DNoiseReduce 3D noise reduction
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

435 / 767
Network Device SDK (Windows) User Manual
4.27.163 Info about audio input parameters

typedef struct tagNETDEVAudioInputCfgInfo


{
BOOL bIsMute;
UINT32 udwType;
UINT32 udwEncodeFormat;
UINT32 udwSampleRate;
UINT32 udwInputGain;
BOOL bNoiseReductionEnabled;
INT32 dwAudioInNum;
NETDEV_AUDIO_INPUT_INFO_S astAudioInputInfoList[NETDEV_AUDIO_IN_MAX_NUM];
INT32 dwSerialInNum;
NETDEV_AUDIO_INPUT_INFO_S astSerialInputInfoList[NETDEV_SERIAL_IN_MAX_NUM];
BYTE byRes[256];
}NETDEV_AUDIO_INPUT_CFG_INFO_S, *LPNETDEV_AUDIO_INPUT_CFG_INFO_S;

Members:
Parameter Description
bIsMute Whether sound is mute. 0: No 1: Yes
udwType Collection port type. See NETDEV_AUDIO_COLLECTION_PORT_TYPE_E.
udwEncodeFormat Audio encoding format. See NETDEV_AUDIO_ENCODE_FORMAT_TYPE_E.
udwSampleRate Audio sampling rate. See NETDEV_AUDIO_SAMPLING_RATE_E.
udwInputGain Audio gain. Range: [0,255]
bNoiseReductionEnabled Enable or disable noise reduction. 0: Disable 1: Enable
dwAudioInNum Number of audio inputs
astAudioInputInfoList Audio input list. Valid when the type of audio collection port is
NETDEV_AUDIO_COLLECTION_PORT_TYPE_AUDIO_IN.
dwSerialInNum Number of serial inputs
astSerialInputInfoList Serial input list
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.164 Audio input channel info

typedef struct tagNETDEVAudioInputInfo


{
INT32 dwChannelID;
UINT32 udwEnabled;
UINT32 udwMode;
BYTE byRes[128];
}NETDEV_AUDIO_INPUT_INFO_S, *LPNETDEV_AUDIO_INPUT_INFO_S;

436 / 767
Network Device SDK (Windows) User Manual
Members:
Parameter Description
dwChannelID Audio channel ID
udwEnabled Whether audio input channel is enabled
udwMode Audio input channel mode. See NETDEV_AUDIO_CHL_MODE_E.
byRes Reserved field

See also:
NETDEV_AUDIO_INPUT_CFG_INFO_S

4.27.165 DST configuration info

typedef struct tagNETDEVDSTCfgInfo


{
BOOL bEnableDST;
NETDEV_TIME_DST_CFG_S stTimeDSTCfg;
BYTE byRes[128];
}NETDEV_DST_CFG_S, *LPNETDEV_DST_CFG_S;

Members:
Parameter Description
bEnableDST Whether DST is enabled
stTimeDSTCfg DST configuration
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.166 DST configuration

typedef struct tagNETDEVSystemTimeDSTCfg


{
NETDEV_TIME_DST_S stBeginTime;
NETDEV_TIME_DST_S stEndTime;
INT32 dwOffsetTime;
}NETDEV_TIME_DST_CFG_S, *LPNETDEV_TIME_DST_CFG_S;

Members:
Parameter Description
stBeginTime DST begin time
stEndTime DST end time
dwOffsetTime DST offset time. See NETDEV_DST_OFFSET_TIME.

See also:
NETDEV_DST_CFG_S

437 / 767
Network Device SDK (Windows) User Manual
4.27.167 Time configuration

typedef struct tagNETDEVSystemTimeDST


{
INT32 dwMonth;
INT32 dwWeekInMonth;
INT32 dwDayInWeek;
INT32 dwHour;
}NETDEV_TIME_DST_S, *LPNETDEV_TIME_DST_S;

Members:
Parameter Description
dwMonth Month (1 to 12)
dwWeekInMonth Which week of the month (1 to 5)
dwDayInWeek What day in the week. See NETDEV_DAY_IN_WEEK_E.
dwHour Hour

See also:
NETDEV_TIME_DST_CFG_S

4.27.168 Recording schedule configuration info

typedef struct tagNETDEVRecordPlanCfgInfo


{
BOOL bPlanEnable;
BOOL bRedundantStorage;
NETDEV_RECORD_RULE_S stRecordRule;
NETDEV_VIDEO_WEEK_PLAN_S stWeekPlan;
UINT32 udwChlID;
UINT32 udwReqSeq;
UINT32 udwTamplateID;
CHAR szTamplateName[NETDEV_NAME_MAX_LEN];
BYTE byRes[116];
}NETDEV_RECORD_PLAN_CFG_INFO_S, *LPNETDEV_RECORD_PLAN_CFG_INFO_S;

Members:
Parameter Description
bPlanEnable Whether schedule is enabled
bRedundantStorage Whether redundant recording is enabled. Applicable to NVR only.
stRecordRule Recording schedule rules. Applicable to NVR only.
stWeekPlan Schedule configuration. Applicable to NVR only.
udwChlID Video input channel ID. Used when adding or getting in batches.
udwReqSeq Sequence number of request data. Range: [1, 50]. Applicable to VMS only.
Required when adding a recording schedule.
udwTamplateID Time template ID

438 / 767
Network Device SDK (Windows) User Manual
szTamplateName Time template name. Applicable to VMS only. Returned by the GET
interface.
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.169 Recording schedule rules

typedef struct tagNETDEVRecordRule


{
UINT32 udwPreRecordTime;
UINT32 udwPostRecordTime;
BYTE byRes[32];
}NETDEV_RECORD_RULE_S, *LPNETDEV_RECORD_RULE_S;

Members:
Parameter Description
udwPreRecordTime Pre-alarm recording time. See NETDEV_PRE_RECORD_TIME_E.
udwPostRecordTime Post-alarm recording time. See NETDEV_POST_RECORD_TIME_E.
byRes Reserved field.

See also:
NETDEV_RECORD_PLAN_CFG_INFO_S

4.27.170 Recording schedule (weekly) configuration

typedef struct tagNETDEVVideoPlanWeek


{
BOOL bEnabled;
UINT32 udwDayNum;
NETDEV_VIDEO_DAY_PLAN_S astDayPlan[NETDEV_MAX_DAY_NUM];
BYTE byRes[32];
}NETDEV_VIDEO_WEEK_PLAN_S, *LPNETDEV_VIDEO_WEEK_PLAN_S;

Members:
Parameter Description
bEnabled Whether arming schedule is enabled. Only IPC supports the enable/disable
switch; for VMS and NVR arming schedule is enabled by default. See
NETDEV_DEFENCE_PLAN_ENABLE_E.
udwDayNum Number of scheduled days.
NVR: Max 8 (7 days of a week plus holiday).
IPC: Max 7 (7 days of a week).
astDayPlan Arming schedule list of every day in a week.
byRes Reserved field.

439 / 767
Network Device SDK (Windows) User Manual

See also:
NETDEV_RECORD_PLAN_CFG_INFO_S

4.27.171 Recording schedule (daily) configuration

typedef struct tagNETDEVVideoDayPlan


{
UINT32 udwIndex;
UINT32 udwSectionNum;
NETDEV_VIDEO_TIME_SECTION_S astTimeSection[NETDEV_MAX_TIME_SECTION_NUM];
}NETDEV_VIDEO_DAY_PLAN_S, *LPNETDEV_VIDEO_DAY_PLAN_S;

Members:
Parameter Description
udwIndex Index of days in a week. See NETDEV_LAPI_WEEK_INFO_E.
udwSectionNum Number of time periods per day.
NVR: Max 8; IPC: Max 4.
astTimeSection Arming period configuration

See also:
NETDEV_VIDEO_WEEK_PLAN_S

4.27.172 Video time period configuration

typedef struct tagNETDEVVideoTimeSection


{
CHAR szBeginTime[NETDEV_LEN_64];
CHAR szEndTime[NETDEV_LEN_64];
UINT32 udArmingType;
}NETDEV_VIDEO_TIME_SECTION_S, *LPNETDEV_VIDEO_TIME_SECTION_S;

Members:
Parameter Description
szBeginTime Start time, for example, "00:00:00"
szEndTime End time, for example, "24:00:00"
udArmingType Arming type. See NETDEV_ARMING_TYPE_E.

See also:
NETDEV_VIDEO_DAY_PLAN_S

4.27.173 Snapshot info of video input channel

typedef struct tagNETDEVVideoSnapshotInfo


{
BOOL bIsEnabled;
440 / 767
Network Device SDK (Windows) User Manual
UINT32 udwPictureMaxSize;
UINT32 udwSnapshotInterval;
UINT32 udwSnapshotNum;
NETDEV_VIDEO_RESOLUTION_S stResolution;
BYTE byRes[255];
}NETDEV_VIDEO_SNAPSHOT_S,*LPNETDEV_VIDEO_SNAPSHOT_S;

Members:
Parameter Description
bIsEnabled Enable or disable snapshot. 0: Disable 1: Enable
udwPictureMaxSize Maximum image size
udwSnapshotInterval Snapshot interval (unit: second). Range: [1, 60]
udwSnapshotNum Number of snapshots. Range: [1,3]
stResolution Snapshot resolution
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.174 Video source resolution information

typedef struct tagNETDEVVideoResolution


{
INT32 dwWidth;
INT32 dwHeight;
}NETDEV_VIDEO_RESOLUTION_S, *LPNETDEV_VIDEO_RESOLUTION_S;

Members:
Parameter Description
dwWidth Width
dwHeight Height

See also:
NETDEV_VIDEO_SNAPSHOT_S

4.27.175 Schedule (weekly) configuration

typedef struct tagNETDEVPlanWeekInfo


{
BOOL bEnabled;
UINT32 udwNum;
NETDEV_DAY_PLAN_INFO_S astDayPlanInfo[NETDEV_MAX_DAY_NUM];
BYTE byRes[512];
}NETDEV_WEEK_PLAN_INFO_S, *LPNETDEV_WEEK_PLAN_INFO_S;

441 / 767
Network Device SDK (Windows) User Manual
Members:
Parameter Description
bEnabled Whether schedule is enabled. Applicable to IPC only.
udwNum Number of scheduled days.
NVR: 7 days of a week plus holiday.
IPC: 7 days of a week.
astDayPlanInfo Arming schedule list of every day in a week.
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.176 Schedule (daily) configuration

typedef struct tagNETDEVDayPlanInfo


{
UINT32 udwID;
UINT32 udwNum;
NETDEV_TIME_SECTION_INFO_S astTimeSection[NETDEV_MAX_TIME_SECTION_NUM];
}NETDEV_DAY_PLAN_INFO_S, *LPNETDEV_DAY_PLAN_INFO_S;

Members:
Parameter Description
udwID Index of days in a week. 1: Monday 2: Tuesday 3: Wednesday
4: Thursday 5: Friday 6: Saturday 7: Sunday 8: Holiday
udwNum Number of time periods per day.
NVR: Max 8 IPC: Max 4.
astTimeSection Time period configuration. Time periods on the same day must not overlap.

See also:
NETDEV_WEEK_PLAN_INFO_S

4.27.177 Time period configuration

typedef struct tagNETDEVTimeSectionInfo


{
CHAR szBeginTime[NETDEV_LEN_32];
CHAR szEndTime[NETDEV_LEN_32];
UINT32 udwArmingType;
}NETDEV_TIME_SECTION_INFO_S, *LPNETDEV_TIME_SECTION_INFO_S;

Members:
Parameter Description
szBeginTime Start time, for example, "00:00:00"
szEndTime End time, for example, "24:00:00"

442 / 767
Network Device SDK (Windows) User Manual
udwArmingType Arming type: 0: Schedule 1: Motion detection 2: Alarm 3: Motion
detection and alarm 4: Motion detection or alarm 5: No schedule 10:
Event

See also:
NETDEV_DAY_PLAN_INFO_S

4.27.178 Arming schedule configuration of alarm input/output (weekly)

typedef struct tagNETDEVSwitchWeekPlanInfo


{
UINT32 udwSwitchIndex;
NETDEV_WEEK_PLAN_INFO_S astWeekPlanInfo;
BYTE byRes[128];
}NETDEV_SWITCH_WEEK_PLAN_INFO_S, *LPNETDEV_SWITCH_WEEK_PLAN_INFO_S;

Members:
Parameter Description
udwSwitchIndex Alarm output index
astWeekPlanInfo Weekly schedule configuration info
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.179 Recording status list

typedef struct tagNETDEVRecordStatusList


{
UINT32 udwSize;
NETDEV_RECORD_STATUS astRecordStatus[NETDEV_CHANNEL_MAX];
}NETDEV_RECORD_STATUS_LIST_S, *LPNETDEV_RECORD_STATUS_LIST_S;

Members:
Parameter Description
udwSize Number of recording statuses
astRecordStatus Recording status info

See also:
NETDEV_CONFIG_COMMAND_E

4.27.180 Recording status info

typedef struct tagNETDEVRecordStatus


{
INT32 dwChannelID;
443 / 767
Network Device SDK (Windows) User Manual
INT32 dwRecordType;
INT32 dwRecordStatus;
BYTE byRes[128];
}NETDEV_RECORD_STATUS, *LPNETDEV_RECORD_STATUS;

Members:
Parameter Description
dwChannelID Channel ID
dwRecordType Recording type. 0: Manual recording 1: Event recording 2: POS
recording 3: Schedule recording 4: Others
dwRecordStatus Recording Status. 0: Recording in progress 1: Recording not started
2: No HDD or faulty HDD 3: Channel offline
byRes Reserved field

See also:
NETDEV_RECORD_STATUS_LIST_S

4.27.181 Serial port info

typedef struct tagNETDEVSerialPorts


{
INT32 dwSerialPortNum;
LPNETDEV_SERIAL_PORT_S pstSerialPortList;
BYTE byRes[512];
}NETDEV_SERIAL_PORTS_S, *LPNETDEV_SERIAL_PORTS_S;

Members:
Parameter Description
dwSerialPortNum Number of serial ports
pstSerialPortList Serial port list. Optional when dwSerialPortNum is 0. Memory needs to
be allocated dynamically when dwSerialPortNum is not 0.
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.182 Serial port configuration info

typedef struct tagNETDEVSerialPort


{
INT32 dwChannelID;
INT32 dwMode;
NETDEV_SERIAL_PARAM_S stSerialParam;
BYTE byRes[512];
}NETDEV_SERIAL_PORT_S, *LPNETDEV_SERIAL_PORT_S;

444 / 767
Network Device SDK (Windows) User Manual

Members:
Parameter Description
dwChannelID Serial port number
dwMode Working mode. 1: PTZ control 2: Transparent channel
stSerialParam Serial port parameters
byRes Reserved field

See also:
NETDEV_SERIAL_PORTS_S

4.27.183 Serial port parameters

typedef struct tagNETDEVSeriaParam


{
INT32 dwBaudRate;
INT32 dwDataBit;
INT32 dwFlowCtrl;
INT32 dwParity;
INT32 dwStopBit;
BYTE byRes[512];
}NETDEV_SERIAL_PARAM_S, *LPNETDEV_SERIAL_PARAM_S;

Members:
Parameter Description
dwBaudRate Baud rate of serial port. Special value in the range of [1200,115200].
Unit: bps
dwDataBit Data bit. Range: [5 -8]
dwFlowCtrl Flow control. 0: None 1: By software 2: By hardware
dwParity Parity bit. 0: None 1: Odd 2: Even
dwStopBit Stop bit
byRes Reserved field.

See also:
NETDEV_SERIAL_PORT_S

4.27.184 Audio status list

typedef struct tagNETDEVAudioDecodeStatusList


{
INT32 dwSize;
NETDEV_AUDIO_DECODE_STATUS_S astAudioDecStatus[NETDEV_STREAM_MAX_NUM];
}NETDEV_AUDIO_DECODE_STATUS_LIST_S, *LPNETDEV_AUDIO_DECODE_STATUS_LIST_S;

Members:

445 / 767
Network Device SDK (Windows) User Manual
Parameter Description
dwSize Quantity
astAudioDecStatus Audio status info

See also:
NETDEV_CONFIG_COMMAND_E

4.27.185 Audio status info

typedef struct tagNETDEVAudioDecodeStatus


{
INT32 dwStreamID;
BOOL bDecodeAudio;
}NETDEV_AUDIO_DECODE_STATUS_S, *LPNETDEV_AUDIO_DECODE_STATUS_S;

Members:
Parameter Description
dwStreamID Video stream index number
bDecodeAudio Enable or disable audio decoding

See also:
NETDEV_AUDIO_DECODE_STATUS_LIST_S

4.27.186 Video loss alarm configuration info

typedef struct tagNETDEVVideoLossRuleInfo


{
BOOL bEnabled;
BYTE byRes[256];
}NETDEV_VIDEO_LOSS_RULE_INFO_S, *LPNETDEV_VIDEO_LOSS_RULE_INFO_S;

Members:
Parameter Description
bEnabled Whether is enabled. 0: No 1: Yes
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.187 Linkage action list

typedef struct tagNETDEVLinkageActionList


{
UINT32 udwNum;
NETDEV_LINKAGE_ACTION_INFO_S stActionInfo[NETDEV_MAX_LINK_ACTION_NUM];
BYTE byRes[256];
446 / 767
Network Device SDK (Windows) User Manual
}NETDEV_LINKAGE_ACTION_LIST_S,*LPNETDEV_LINKAGE_ACTION_LIST_S;

Members:
Parameter Description
udwNum Number of linkage actions
stActionInfo Linkage actions
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.188 Linkage actions of task

typedef struct tagNETDEVLinkageActionInfo


{
UINT32 udwActID;
NETDEV_ENABLED_ACT_PARAM_INFO_S stEnabledInfo;
NETDEV_OUTPUT_SWITCH_ACT_PARAM_INFO_S stOutputSwitchActParamInfo;
NETDEV_CHANNEL_ACT_PARAM_INFO_S stChannelActParamInfo;
NETDEV_PRESET_ACT_PARAM_INFO_S stPresetActParamInfo;
BYTE byRes[512];
}NETDEV_LINKAGE_ACTION_INFO_S,*LPNETDEV_LINKAGE_ACTION_INFO_S;

Members:
Parameter Description
udwActID Action ID. See NETDEV_ALARM_ACT_ID_E.
stEnabledInfo Enable or disable linkage action parameters. Applicable to alarm-
triggered buzzer, email and pop-up window.
stOutputSwitchActParamInfo Alarm output
stChannelActParamInfo Trigger NVR preview, recording, and snapshot
stPresetActParamInfo PTZ preset
byRes Reserved field.

See also:
NETDEV_LINKAGE_ACTION_LIST_S

4.27.189 Channel linkage info

typedef struct tagNETDEVChannelActParamInfo


{
UINT32 udwNum;
INT32 adwChannelID[NETDEV_CHANNEL_MAX];
}NETDEV_CHANNEL_ACT_PARAM_INFO_S,*LPNETDEV_CHANNEL_ACT_PARAM_INFO_S;

447 / 767
Network Device SDK (Windows) User Manual
Members:
Parameter Description
udwNum Number of channels
adwChannelID Channel ID list

See also:
NETDEV_ALARM_ACT_ID_E

4.27.190 Linkage action enablement parameter

typedef struct tagNETDEVEnabledActParamInfo


{
BOOL bEnabled;
BYTE byRes[64];
}NETDEV_ENABLED_ACT_PARAM_INFO_S, *LPNETDEV_ENABLED_ACT_PARAM_INFO_S;

Members:
Parameter Description
bEnabled Enablement flag.
byRes Reserved field.

See also:
NETDEV_ALARM_ACT_ID_E

4.27.191 PTZ preset

typedef struct tagNETDEVPresetActParamInfo


{
UINT32 udwNum;
NETDEV_CHANNEL_PRESET_S stChannelPreset[NETDEV_CHANNEL_MAX];
}NETDEV_PRESET_ACT_PARAM_INFO_S,*LPNETDEV_PRESET_ACT_PARAM_INFO_S;

Members:
Parameter Description
udwNum Number of linkage actions
stChannelPreset Linked PTZ preset list

See also:
NETDEV_ALARM_ACT_ID_E

4.27.192 Info about linked PTZ preset

typedef struct tagNETDEVChannelPreset


{
INT32 dwChannelID;
INT32 dwPresetID;
448 / 767
Network Device SDK (Windows) User Manual
BYTE byRes[128];
}NETDEV_CHANNEL_PRESET_S,*LPNETDEV_CHANNEL_PRESET_S;

Members:
Parameter Description
dwChannelID Channel ID
dwPresetID Preset ID
byRes Reserved field.

See also:
NETDEV_PRESET_ACT_PARAM_INFO_S

4.27.193 Alarm output

typedef struct tagNETDEVOutputSwitchActParamInfo


{
UINT32 udwNum;
NETDEV_OUTPUT_SWITCH_ALARM_STATUS_S
astOutputAlarmStatusInfo[NETDEV_MAX_ALARM_OUT_NUM];
}NETDEV_OUTPUT_SWITCH_ACT_PARAM_INFO_S,*LPNETDEV_OUTPUT_SWITCH_ACT_PARAM_INFO_S;

Members:
Parameter Description
udwNum Number of linked alarm outputs
astOutputAlarmStatusInfo List of linked alarm outputs

See also:
NETDEV_ALARM_ACT_ID_E

4.27.194 Logical alarm status of alarm output (manual alarm)

typedef struct tagNETDEVOutputSwitchesAlarmStatus


{
INT32 dwBooleanId;
INT32 dwChannelId;
INT32 enAlarmStatus;
} NETDEV_OUTPUT_SWITCH_ALARM_STATUS_S, *LPNETDEV_OUTPUT_SWITCH_ALARM_STATUS_S;

Members:
Parameter Description
dwBooleanId Alarm output ID
dwChannelId Channel ID. For the device it is 0.
enAlarmStatus Alarm output status. See NETDEV_RELAYOUTPUT_STATE_E.

See also:

449 / 767
Network Device SDK (Windows) User Manual
NETDEV_OUTPUT_SWITCH_ACT_PARAM_INFO_S

4.27.195 Linkage action enablement parameters

typedef struct tagNETDEVEnabledActParamInfo


{
BOOL bEnabled;
BYTE byRes[64];
}NETDEV_ENABLED_ACT_PARAM_INFO_S, *LPNETDEV_ENABLED_ACT_PARAM_INFO_S;

Members:
Parameter Description
bEnabled Enablement flag.
byRes Reserved field.
See also:
NETDEV_ALARM_ACT_ID_E

4.27.196 Tampering detection configuration info

typedef struct tagNETDEVTamperDetectionRuleInfo


{
BOOL bEnabled;
UINT32 udwSensitivity;
UINT32 udwDuration;
BYTE byRes[256];
}NETDEV_TAMPER_DETECTION_RULE_INFO_S, *LPNETDEV_TAMPER_DETECTION_RULE_INFO_S;

Members:
Parameter Description
bEnabled Whether is enabled. 0: No 1: Yes
udwSensitivity Sensitivity. Range: [1,100]
udwDuration Duration (unit: second) Range: [0, 10]. Required for IPC.
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.197 Structure of info about temperature detection blackbody

typedef struct tagNETDEVTempDetectionBlackBodyInfo


{
FLOAT fTemperature;
NETDEV_XW_AREA_S stAreaInfo;
BYTE byRes[512];
}NETDEV_TEMP_DETECTION_BLACKBODY_INFO_S,*LPNETDEV_TEMP_DETECTION_BLACKBODY_INFO_S;

450 / 767
Network Device SDK (Windows) User Manual
Members:
Parameter Description
fTemperature Blackbody temperature (unit: ℃, 2 decimal places). Range: -40.00 to
150.00
stAreaInfo Rectangle area info.
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.198 Structure of info about temperature detection correction

typedef struct tagNETDEVTempDetectionCorrectInfo


{
INT32 dwMode;
FLOAT fCorrectionTemperature;
FLOAT fEnvironmentTemperature;
BYTE byRes[512];
}NETDEV_TEMP_DETECTION_CORRECT_INFO_S,*LPNETDEV_TEMP_DETECTION_CORRECT_INFO_S;

Members:
Parameter Description
dwMode Correction mode. 0: Inside body 1: Body surface
fCorrectionTemperature Correction temperature (unit: ℃, 2 decimal places). Range: -10.00 to
10.00
fEnvironmentTemperature Environment temperature (unit: ℃, 2 decimal places). Range: -40.00 to
100.00
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.199 Structure of info about temperature detection unit

typedef struct tagNETDEVTempDetectioUnitInfo


{
INT32 dwUnit;
BYTE byRes[512];
}NETDEV_TEMP_DETECTION_UNIT_INFO_S,*LPNETDEV_TEMP_DETECTION_UNIT_INFO_S;

Members:
Parameter Description
dwUnit Temperature unit. 0: °C 1: °F 2: K
byRes Reserved field.

451 / 767
Network Device SDK (Windows) User Manual
See also:
NETDEV_CONFIG_COMMAND_E

4.27.200 Motion detection area type info

typedef struct tagNETDEVMotionDetectionAreaType


{
UINT32 udwAreaType;
BYTE byRes[128];
}NETDEV_MOTION_DETECTION_AREA_TYPE_S, *LPNETDEV_MOTION_DETECTION_AREA_TYPE_S;

Members:
Parameter Description
udwAreaType Area type. See NETDEV_MOTION_DETECTION_AREA_TYPE_E.
byRes Reserved field

See also:
NETDEV_CONFIG_COMMAND_E

4.27.201 Motion detection grid area info

typedef struct tagNETDEVMotionDetectionAreaGridInfo


{
BOOL bEnabled;
UINT32 udwSensitivity;
INT16 awGridInfo[NETDEV_SCREEN_INFO_ROW][NETDEV_SCREEN_INFO_COLUMN];
BYTE byRes[256];
}NETDEV_MOTION_DETECTION_AREA_GRID_INFO_S, *LPNETDEV_MOTION_DETECTION_AREA_GRID_INFO_S;

Members:
Parameter Description
bEnabled Whether detection area is enabled.
udwSensitivity Motion detection sensitivity. The greater the value, the higher the
sensitivity. Range: [1,100]
awGridInfo Motion detection grid info
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.202 Motion detection rectangle area list

typedef struct tagNETDEVMotionDetectionAreaRectangleInfoList


{
UINT32 udwNum;
NETDEV_MOTION_DETECTION_AREA_RECTANGLE_INFO_S astRectangleAreaInfoList[NETDEV_LEN_8];
452 / 767
Network Device SDK (Windows) User Manual
BYTE byRes[128];
}NETDEV_MOTION_DETECTION_AREA_RECTANGLE_INFO_LIST_S,
*LPNETDEV_MOTION_DETECTION_AREA_RECTANGLE_INFO_LIST_S;

Members:
Parameter Description
udwNum Number of rectangle areas
astRectangleAreaInfoList Rectangle area list
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.203 Motion detection rectangle area info

typedef struct tagNETDEVMotionDetectionAreaRectangleInfo


{
UINT32 udwID;
BOOL bEnabled;
UINT32 udwSensitivity;
UINT32 udwDuration;
UINT32 udwTargetSize;
NETDEV_RECT_AREA_INFO_S stRectAreaInfo;
BYTE byRes[128];
}NETDEV_MOTION_DETECTION_AREA_RECTANGLE_INFO_S, *LPNETDEV_MOTION_DETECTION_AREA_RECTANGLE_INFO_S;

Members:
Parameter Description
udwID Rectangle area ID
bEnabled Whether detection area is enabled
udwSensitivity Motion detection sensitivity. The greater the value, the higher the
sensitivity. Range: [1,100]
udwDuration Duration. Range: [1,100]
udwTargetSize Object size. Range: [1,100]
stRectAreaInfo Rectangle area info. Coordinates range: [0,9999]
byRes Reserved field.

See also:
NETDEV_MOTION_DETECTION_AREA_RECTANGLE_INFO_LIST_S

4.27.204 Coordinates info of rectangle area

typedef struct tagNETDEVRectAreaInfo


{
UINT32 udwTopLeftX;

453 / 767
Network Device SDK (Windows) User Manual
UINT32 udwTopLeftY;
UINT32 udwBottomRightX;
UINT32 udwBottomRightY;
}NETDEV_RECT_AREA_INFO_S, *LPNETDEV_RECT_AREA_INFO_S;

Members:
Parameter Description
udwTopLeftX x-coordinate of top left
udwTopLeftY y-coordinate of top left
udwBottomRightX x-coordinate of bottom right
udwBottomRightY y-coordinate of bottom right

See also:
NETDEV_MOTION_DETECTION_AREA_RECTANGLE_INFO_S

4.27.205 Linkage actions of alarm input/output

typedef struct tagNETDEVSwitchLinkageAction


{
UINT32 udwSwitchIndex;
NETDEV_LINKAGE_ACTION_LIST_S stLinkageActionList;
BYTE byRes[256];
}NETDEV_SWITCH_LINKAGE_ACTION_S,*LPNETDEV_SWITCH_LINKAGE_ACTION_S;

Members:
Parameter Description
udwSwitchIndex Alarm output index
stLinkageActionList Task linkage actions list
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.206 RAID status info

typedef struct tagNETDEVRAIDStatus


{
BOOL bEnabled;
BYTE byRes[128];
}NETDEV_RAID_STATUS_S, *LPNETDEV_RAID_STATUS_S;

Members:
Parameter Description
bEnabled Enable or disable RAID. 0: Disable 1: Enable
byRes Reserved field

454 / 767
Network Device SDK (Windows) User Manual

See also:
NETDEV_CONFIG_COMMAND_E

4.27.207 HDD list

typedef struct tagNETDEVHDDInfoList


{
INT32 dwSize;
NETDEV_HDD_INFO_S astHDDInfo[NETDEV_LEN_32];
BYTE byRes[128];
}NETDEV_HDD_INFO_LIST_S,*LPNETDEV_HDD_INFO_LIST_S;

Members:
Parameter Description
dwSize Number of HDDs
astHDDInfo HDD info
byRes Reserved field

See also:
NETDEV_CONFIG_COMMAND_E

4.27.208 HDD info

typedef struct tagNETDEVHDDInfo


{
UINT32 udwID;
UINT32 udwType;
UINT32 udwWorkMode;
UINT32 udwTotalCapacity;
CHAR szRAIDName[NETDEV_LEN_64];
UINT32 udwStatus;
CHAR szManufacturer[NETDEV_LEN_64];
BYTE byRes[128];
}NETDEV_HDD_INFO_S,*LPNETDEV_HDD_INFO_S;

Members:
Parameter Description
udwID HDD ID
udwType HDD type. See NETDEV_HDD_TYPE_E.
udwWorkMode Working mode of HDD. See NETDEV_HDD_WORK_MODE_E
udwTotalCapacity Total capacity of HDD (MB)
szRAIDName RAID name
udwStatus HDD status. See NETDEV_HDD_STATUS_E.
szManufacturer Manufacturer name

455 / 767
Network Device SDK (Windows) User Manual
byRes Reserved field

See also:
NETDEV_HDD_INFO_LIST_S

4.27.209 Storage container list

typedef struct tagNETDEVStorageContainerInfoList


{
UINT32 udwLocalHDDNum;
NETDEV_STORAGE_CONTAINER_INFO_S astLocalHDDList[NETDEV_LOCAL_DISK_MAX_NUM];
UINT32 udwSDNum;
NETDEV_STORAGE_CONTAINER_INFO_S astSDList[NETDEV_SD_CARD_DISK_MAX_NUM];
UINT32 udwArrayNum;
NETDEV_STORAGE_CONTAINER_INFO_S astArrayList[NETDEV_ARRAY_MAX_NUM];
UINT32 udwExtendCabinet1HDDNum;
NETDEV_STORAGE_CONTAINER_INFO_S
astExtendCabinet1HDDList[NETDEV_EXTEND_CABINET_DISK_MAX_NUM];
UINT32 udwExtendCabinet2HDDNum;
NETDEV_STORAGE_CONTAINER_INFO_S
astExtendCabinet2HDDList[NETDEV_EXTEND_CABINET_DISK_MAX_NUM];
UINT32 udwNASNum;
NETDEV_EXTEND_STORAGE_CONTAINER_INFO_S astNASList[NETDEV_NAS_MAX_NUM];
UINT32 udweSATANum;
NETDEV_EXTEND_STORAGE_CONTAINER_INFO_S asteSATAList[NETDEV_ESATA_MAX_NUM];
UINT32 udwIPSANNum;
NETDEV_EXTEND_STORAGE_CONTAINER_INFO_S astIPSANList[NETDEV_IPSAN_MAX_NUM];
BYTE byRes[256];
}NETDEV_STORAGE_CONTAINER_INFO_LIST_S,*LPNETDEV_STORAGE_CONTAINER_INFO_LIST_S;

Members:
Parameter Description
udwLocalHDDNum Number of local HDDs
astLocalHDDList Local HDD list
udwSDNum Number of SD cards
astSDList SD card list
udwArrayNum Number of RAIDs
astArrayList RAID list
udwExtendCabinet1HDDNum Number of HDDs in storage expansion enclosure -1
astExtendCabinet1HDDList HDD list of storage expansion enclosure-1
udwExtendCabinet2HDDNum Number of HDDs in storage expansion enclosure -2
astExtendCabinet2HDDList HDD list of storage expansion enclosure-2
udwNASNum Number of NAS
astNASList NAS list
udweSATANum Number of eSATA disks
456 / 767
Network Device SDK (Windows) User Manual
asteSATAList eSATA list
udwIPSANNum Number of IP SANs
astIPSANList IP SAN list
byRes Reserved field

See also:
NETDEV_CONFIG_COMMAND_E

4.27.210 Storage container info

typedef struct tagNETDEVStorageContainerInfo


{
UINT32 udwID;
UINT32 udwRemainCapacity;
UINT32 udwTotalCapacity;
CHAR szManufacturer[NETDEV_LEN_64];
UINT32 udwStatus;
UINT32 udwProperty;
UINT32 udwFormatProgress;
UINT32 udwGroupID;
UINT32 udwTemperature;
BYTE byRes[124];
}NETDEV_STORAGE_CONTAINER_INFO_S,*LPNETDEV_STORAGE_CONTAINER_INFO_S;

Members:
Parameter Description
udwID HDD ID
udwRemainCapacity Remaining space of storage container (MB)
udwTotalCapacity Total capacity of storage container (MB)
szManufacturer Manufacturer name
udwStatus Storage container status. See NETDEV_STORAGE_CONTAINER_STATUS_E.
udwProperty Storage container property. Invalid when udwStatus is 0. See
NETDEV_STORAGE_CONTAINER_PROPERTY_E.

udwFormatProgress Formatting progress. Percentage


udwGroupID Disk group ID
udwTemperature HDD temperature (°C)
byRes Reserved field

See also:
NETDEV_STORAGE_CONTAINER_INFO_LIST_S

457 / 767
Network Device SDK (Windows) User Manual
4.27.211 Expansion storage container info

typedef struct tagNETDEVExtendStorageContainerInfo


{
UINT32 udwID;
UINT32 udwRemainCapacity;
UINT32 udwTotalCapacity;
UINT32 udwAddressType;
CHAR szIPAddress[NETDEV_LEN_64];
CHAR szPath[NETDEV_LEN_256];
UINT32 udwUsageType;
UINT32 udwStatus;
UINT32 udwProperty;
UINT32 udwFormatProgress;
UINT32 udwGroupID;
BYTE byRes[128];
}NETDEV_EXTEND_STORAGE_CONTAINER_INFO_S,*LPNETDEV_EXTEND_STORAGE_CONTAINER_INFO_S;

Members:
Parameter Description
udwID HDD ID
udwRemainCapacity Remaining space of storage container (MB)
udwTotalCapacity Total capacity of storage container (MB)
udwAddressType IP type. See NETDEV_ADDR_TYPE_E.
szIPAddress Server IP
szPath Storage path of NAS server
udwUsageType Usage. See NETDEV_STORAGE_CONTAINER_USAGE_TYPE_E
udwStatus Storage container status. See NETDEV_STORAGE_CONTAINER_STATUS_E.
udwProperty Storage container property. Invalid when udwStatus is 0. See
NETDEV_STORAGE_CONTAINER_PROPERTY_E.
udwFormatProgress Formatting progress. Percentage
udwGroupID Disk group ID
byRes Reserved field

See also:
NETDEV_STORAGE_CONTAINER_INFO_LIST_S

4.27.212 HDD S.M.A.R.T. info

typedef struct tagNETDEVHDDSmartInfo


{
UINT32 udwID;
CHAR szManufacturer[NETDEV_LEN_64];
UINT32 udwTemperature;
CHAR szDeviceModel[NETDEV_LEN_64];

458 / 767
Network Device SDK (Windows) User Manual
UINT32 udwUsedDays;
UINT32 udwHealthAssessment;
CHAR szFirmware[NETDEV_LEN_64];
UINT32 udwSmartNum;
NETDEV_HDD_SMART_DETAILS_INFO_S SmartDetailsInfoList[NETDEV_DISK_SMART_MAX_NUM];
BOOL bCheckResult;
UINT32 udwCheckPrograss;
UINT32 udwCheckStatus;
UINT32 udwCheckType;
BYTE byRes[128];
}NETDEV_HDD_SMART_INFO_S,*LPNETDEV_HDD_SMART_INFO_S;

Members:
Parameter Description
udwID IN storage container ID
szManufacturer Manufacturer name
udwTemperature Temperature (°C)
szDeviceModel HDD model
udwUsedDays Number of days used
udwHealthAssessment Health assessment result. See NETDEV_HDD_HEALTH_ASSESSMENT_STATUS_E.

szFirmware HDD firmware version


udwSmartNum Number of S.M.A.R.T. details.
SmartDetailsInfoList S.M.A.R.T. details list
bCheckResult Check result. TRUE: Pass FALSE: Fail
udwCheckPrograss Check progress: [0,100]
udwCheckStatus Check status. See NETDEV_HDD_SMART_CHECK_STATUS_E.
udwCheckType Check type. See NETDEV_HDD_SMART_CHECK_TYPE_E.
byRes Reserved field

See also:
NETDEV_CONFIG_COMMAND_E

4.27.213 HDD S.M.A.R.T. info

typedef struct tagNETDEVHDDSmartCheckInfo


{
UINT32 udwID;
UINT32 udwType;
BYTE byRes[128];
}NETDEV_HDD_SMART_CHECK_INFO_S,*LPNETDEV_HDD_SMART_CHECK_INFO_S;

Members:
Parameter Description
udwID Storage container ID
459 / 767
Network Device SDK (Windows) User Manual
udwType Check type. See NETDEV_HDD_SMART_CHECK_TYPE_E.
byRes Reserved field

See also:
NETDEV_CONFIG_COMMAND_E

4.27.214 Photo server configuration list

typedef struct tagNETDEVPhotoServerCfgInfoList


{
UINT32 udwNum;
NETDEV_PHOTO_SERVER_CFG_INFO_S
astPhotoServerList[NETDEV_PHOTO_SERVER_MAX_NUM];
BYTE byRes[512];
}NETDEV_PHOTO_SERVER_CFG_INFO_LIST_S,* LPNETDEV_PHOTO_SERVER_CFG_INFO_LIST_S;

Members:
Parameter Description
udwNum Number of photo servers. Currently 2 is supported.
astPhotoServerList Photo server list
byRes Reserved field

See also:
NETDEV_CONFIG_COMMAND_E

4.27.215 Enhancement configuration info

typedef struct tagNETDEVEnhancedConfigInfo


{
BOOL bEnabledStorage;
BYTE byRes[512];
}NETDEV_ENHANCED_CONFIG_INFO_S, *LPNETDEV_ENHANCED_CONFIG_INFO_S;

Members:
Parameter Description
bEnabledStorage Enable or disable UNP/cloud device storage. 0: Disable 1: Enable
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.216 Smart server list

typedef struct tagNETDEVDataServerList


{
UINT32 udwNum;
460 / 767
Network Device SDK (Windows) User Manual
NETDEV_DATA_SERVER_INFO astDataServerList[NETDEV_INTELLIGENT_SERVER_MAX_NUM];
BYTE byRes[128];
}NETDEV_DATA_SERVER_LIST, *LPNETDEV_DATA_SERVER_LIST;

Members:
Parameter Description
udwNum Number of management servers. Currently 2 is supported.
astDataServerList Management server list
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.217 Smart server configuration info

typedef struct tagNETDEVManagerServerInfo


{
UINT32 udwIndex;
UINT32 udwMngProtocol;
CHAR szDeviceID[NETDEV_LEN_64];
CHAR szServerID[NETDEV_LEN_64];
CHAR szDeviceName[NETDEV_DEV_NAME_LEN_MAX];
CHAR szRegPassword[NETDEV_LEN_32];
CHAR szVideoChlID[NETDEV_LEN_64];
CHAR szAudioChlID[NETDEV_LEN_64];
UINT32 udwExpire;
CHAR szAddress[NETDEV_IPADDR_STR_MAX_LEN];
UINT32 udwPort;
BYTE byRes[256];
}NETDEV_MANAGER_SERVER_INFO_S, *LPNETDEV_MANAGER_SERVER_INFO_S;

Members:
Parameter Description
udwIndex Management server index. Starts from 0.
udwMngProtocol Communication protocol. See NETDEV_MANAGER_SERVER_PROTOCOL_TYPE_E.
szDeviceID Frontend device ID. Range: [1, 32]
szServerID Register server ID. Range: [1, 32]
szDeviceName Device name. Range: [0, 20]
szRegPassword Register server password. Range: [0, 16]
szVideoChlID Video channel ID. Range: [0,32]
szAudioChlID Audio channel ID. Range: [0,32]
udwExpire Registration validity period. [3600,36000] seconds.
szAddress Server IP (IPv4)
udwPort Server port
byRes Reserved field.
461 / 767
Network Device SDK (Windows) User Manual

See also:
NETDEV_DATA_SERVER_LIST

4.27.218 Server user info

typedef struct tagNETDEVServerUserInfo


{
CHAR szUserName[NETDEV_USERNAME_LEN];
BOOL bModifyPasswd;
CHAR szPasswd[NETDEV_PASSWORD_LEN];
BYTE byRes[256];
}NETDEV_SERVER_USER_INFO_S, *LPNETDEV_SERVER_USER_INFO_S;

Members:
Parameter Description
szUserName Username. Recommended range: [1,32]
bModifyPasswd Whether it is required to change the password. 0: No 1: Yes
szPasswd Platform access password. Recommended range: [0,32]. An empty string
will be passed in if the password is empty.
byRes Reserved field.

See also:
NETDEV_MANAGER_SERVER_INFO_S

4.27.219 Motion detection alarm parameters

typedef struct tagNETDEVMotionIntervalInfo


{
UINT32 udwSuppressTime;
UINT32 udwClearTime;
BYTE byRes[512];
}NETDEV_MOTION_INTERVAL_INFO_S, *LPNETDEV_MOTION_INTERVAL_INFO_S;

Members:
Parameter Description
udwSuppressTime Alarm suppression time (unit: second). Range: [5, 3600]
udwClearTime Alarm suppression reset time (unit: second). Range: [1,600]
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

462 / 767
Network Device SDK (Windows) User Manual
4.27.220 Management server list

typedef struct tagNETDEVManagerServerList


{
UINT32 udwNum;
NETDEV_MANAGER_SERVER_INFO_S
astManagerServerList[NETDEV_MANAGER_SERVER_MAX_NUM];
BYTE byRes[128];
}NETDEV_MANAGER_SERVER_LIST_S, *LPNETDEV_MANAGER_SERVER_LIST_S;

Members:
Parameter Description
udwNum Number of management servers. Currently 2 is supported.
astManagerServerList Management server list
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.221 Visible range parameters

typedef struct tagNETDEVVisibleRangeInfo


{
DOUBLE dAzimuthHorizontal;
DOUBLE dAzimuthVertical;
DOUBLE dInclinationHorizontal;
DOUBLE dAngelHorizontal;
DOUBLE dAngelVertical;
DOUBLE dDistance;
DOUBLE dInstallationHeight;
BYTE byRes[248];
}NETDEV_VISIBLE_RANGE_INFO_S, *LPNETDEV_VISIBLE_RANGE_INFO_S;

Members:
Parameter Description
dAzimuthHorizontal Horizontal azimuth angle (angle between the central axis of the
projection of the visible range on the horizontal plane and the
reference axis of the horizontal plane). Unit: radian. Range: [-
1.0000,+1.0000]
dAzimuthVertical Vertical azimuth angle (angle between the central axis of the
projection of the visible range on the vertical plane and the
reference axis of the vertical plane). Unit: radian. Range: [-
1.0000,+1.0000]
dInclinationHorizontal Horizontal inclination angle (angle between the horizontal reference
plane of the device and the horizontal plane). Unit: radian. Range:

463 / 767
Network Device SDK (Windows) User Manual
[-1.0000,+1.0000]
dAngelHorizontal Horizontal viewing angle (unit: degree, 4 decimal places)
dAngelVertical Vertical viewing angle (unit: degree, 4 decimal places)
dDistance Visual distance (unit: meter, 4 decimal places)
dInstallationHeight Installation height (unit: meter, 4 decimal places)
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.222 Verification info

typedef struct tagNETDEVResetPwdVertifyInfo


{
CHAR szEMail[NETDEV_LEN_256]; /* Email*/
CHAR szPhone[NETDEV_LEN_256]; /* Phone number*/
BYTE byRes[256]; /* Reserved field*/
}NETDEV_RESET_PWD_VERTIFY_INFO_S, *LPNETDEV_RESET_PWD_VERTIFY_INFO_S;

Members:
Parameter Description
szEMail E-mail
szPhone Phone number
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.223 Storage quota info

typedef struct tagNETDEVStorageQuotaInfo


{
INT32 dwStorageCapUnit;
INT32 dwRecUsedCap;
INT32 dwPicUsedCap;
INT32 dwAIPicUsedCap;
INT32 dwUsedCap;
INT32 dwTotalCap;
INT32 dwRecQuota;
INT32 dwPicQuota;
INT32 dwAIPicQuota;
INT32 dwGroupID;
INT32 dwGroupTotalCap;
BYTE byRes[256];
}NETDEV_STORAGE_QUOTA_INFO_S, *LPNETDEV_STORAGE_QUOTA_INFO_S;

464 / 767
Network Device SDK (Windows) User Manual

Members:
Parameter Description
dwStorageCapUnit Unit of storage capacity (default is GB). See
NETDEV_STORAGE_CAP_UNIT_E.
dwRecUsedCap Channel's used capacity for recordings
dwPicUsedCap Channel’s used capacity for snapshots
dwAIPicUsedCap Channel’s used capacity for smart snapshots. Required for IPC.
dwUsedCap Channel’s used storage capacity. Required for IPC.
dwTotalCap Channel’s total storage capacity
dwRecQuota Channel’s capacity quota for recordings
dwPicQuota Channel’s capacity quota for snapshots
dwAIPicQuota Channel’s capacity quota for smart snapshots. Required for IPC.
dwGroupID Disk group ID
dwGroupTotalCap Total capacity of the selected disk group
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.224 Custom protocol info

typedef struct tagNETDEVCustomProInfo


{
UINT32 udwTransport;
UINT32 udwPort;
NETDEV_CUSTON_PROTOCOL_SIMPLE_INFO_S stCustomProSimpleInfo;
NETDEV_CUSTON_STREAM_INFO_S stMainStream;
NETDEV_CUSTON_STREAM_INFO_S stSubStream;
NETDEV_CUSTON_STREAM_INFO_S stThirdStream;
BYTE byRes[512];
}NETDEV_CUSTON_PROTOCOL_INFO_S,* LPNETDEV_CUSTON_PROTOCOL_INFO_S;

Members:
Parameter Description
udwTransport Transport mode. See NETDEV_TRANS_PROTOCOL_E.
udwPort Port
stCustomProSimpleInfo Custom protocol configuration info
stMainStream Main stream protocol info
stSubStream Sub stream protocol info
stThirdStream Third stream protocol info
byRes Reserved field

See also:
NETDEV_CONFIG_COMMAND_E
465 / 767
Network Device SDK (Windows) User Manual
4.27.225 Custom protocol configuration info

typedef struct tagNETDEVCustomProSimpleInfo


{
UINT32 udwProID;
CHAR szProName[NETDEV_LEN_64];
BYTE byRes[128];
}NETDEV_CUSTON_PROTOCOL_SIMPLE_INFO_S,* LPNETDEV_CUSTON_PROTOCOL_SIMPLE_INFO_S;

Members:
Parameter Description
udwProID Custom protocol ID. Required
szProName Custom protocol name. Range: [0, 64]
byRes Reserved field

See also:
NETDEV_CUSTON_PROTOCOL_INFO_S

4.27.226 Custom stream protocol info

typedef struct tagNETDEVCustomStreamInfo


{
UINT32 udwEnable;
CHAR szStreamURL[NETDEV_LEN_128];
CHAR szPlaybackStreamURL[NETDEV_LEN_128];
BYTE byRes[384];
}NETDEV_CUSTON_STREAM_INFO_S,* LPNETDEV_CUSTON_STREAM_INFO_S;

Members:
Parameter Description
udwEnable Whether is enabled. 1: Yes 0: No
szStreamURL Live stream URL. Range: [0, 128]
szPlaybackStreamURL Playback URL. Range: [0, 128]
byRes Reserved field

See also:
NETDEV_CUSTON_PROTOCOL_INFO_S

4.27.227 Simple info of custom protocol

typedef struct tagNETDEVCustomProSimpleInfoList


{
UINT32 udwNum;
NETDEV_CUSTON_PROTOCOL_SIMPLE_INFO_S astCustomProSimpleList[NETDEV_LEN_64];
BYTE byRes[512];

466 / 767
Network Device SDK (Windows) User Manual
}NETDEV_CUSTON_PROTOCOL_SIMPLE_INFO_LIST_S,* LPNETDEV_CUSTON_PROTOCOL_SIMPLE_INFO_LIST_S;

Members:
Parameter Description
udwNum Number of custom protocols. Max 64.
astCustomProSimpleList Custom protocol list
byRes Reserved field

See also:
NETDEV_CONFIG_COMMAND_E

4.27.228 Custom protocol info

typedef struct tagNETDEVCustomProSimpleInfo


{
UINT32 udwProID;
CHAR szProName[NETDEV_LEN_64];
BYTE byRes[128];
}NETDEV_CUSTON_PROTOCOL_SIMPLE_INFO_S,* LPNETDEV_CUSTON_PROTOCOL_SIMPLE_INFO_S;

Members:
Parameter Description
udwProID Custom protocol ID. Required
szProName Custom protocol name. Range: [0, 64]
byRes Reserved field

See also:
NETDEV_CUSTON_PROTOCOL_SIMPLE_INFO_LIST_S

4.27.229 Storage policy info

typedef struct tagNETDEVStorageStrategy


{
INT32 dwStorageRes;
NETDEV_REC_STORAGE_STRATEGY_INFO_S stRecStoreStrategyInfo;
NETDEV_PIC_STORAGE_STRATEGY_INFO_S stPicStoreStrategyInfo;
NETDEV_PIC_STORAGE_STRATEGY_INFO_S stAIPicStoreStrategyInfo;
BYTE byRes[512];
}NETDEV_STORAGE_STRATEGY_S, *LPNETDEV_STORAGE_STRATEGY_S;

Members:
Parameter Description
dwStorageRes Storage resource. Required for IPC. See NETDEV_STORAGE_RES_TYPE_E.
stRecStoreStrategyInfo Video storage policy info

467 / 767
Network Device SDK (Windows) User Manual
stPicStoreStrategyInfo Storage policy for normal snapshots
stAIPicStoreStrategyInfo Storage policy for smart snapshots
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.230 Video storage policy info

typedef struct tagNETDEVRecStorageStrategyInfo


{
BOOL bStoregeEnabled;
INT32 dwFullStrategy;
INT32 dwPlanStreamType;
INT32 dwManualStreamType;
INT32 dwEventStreamType;
BYTE byRes[256];
}NETDEV_REC_STORAGE_STRATEGY_INFO_S, *LPNETDEV_REC_STORAGE_STRATEGY_INFO_S;

Members:
Parameter Description
bStoregeEnabled Enable or disable storage. 0: Enable 1: Disable
dwFullStrategy Full strategy policy parameter. Default: Overwrite when storage is
full. See NETDEV_FULL_STRATEGY_TYPE_E.
dwPlanStreamType Stream type of scheduled recording. See NETDEV_LIVE_STREAM_INDEX_E.
dwManualStreamType Stream type of manual recording. See NETDEV_LIVE_STREAM_INDEX_E.
dwEventStreamType Stream type of alarm recording. See NETDEV_LIVE_STREAM_INDEX_E.
byRes Reserved field.

See also:
NETDEV_STORAGE_STRATEGY_S

4.27.231 Image storage policy info

typedef struct tagNETDEVPicStorageStrategyInfo


{
INT32 dwStorageMode;
INT32 dwFullStrategy;
BYTE byRes[256];
}NETDEV_PIC_STORAGE_STRATEGY_INFO_S, *LPNETDEV_PIC_STORAGE_STRATEGY_INFO_S;

Members:
Parameter Description
dwStorageMode Storage mode. See NETDEV_PIC_STORAGE_MODE_E
dwFullStrategy Full strategy policy parameter. Default: Overwrite when storage is

468 / 767
Network Device SDK (Windows) User Manual
full. See NETDEV_FULL_STRATEGY_TYPE_E.
byRes Reserved field.

See also:
NETDEV_STORAGE_STRATEGY_S

4.27.232 Back focus finetune parameters

typedef struct tagNETDEVBackFocusInfo


{
UINT32 udwCmd;
UINT32 udwPara1;
BYTE byRes[256];
}NETDEV_BACKFOCUS_INFO_S, *LPNETDEV_BACKFOCUS_INFO_S;

Members:
Parameter Description
udwCmd For commands see NETDEV_BACKFOCUS_CMD_E.
udwPara1 For parameters see NETDEV_BACKFOCUS_CMD_E.
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.233 Smart attribute configuration

typedef struct tagNETDEVSmartAttrConfig


{
NETDEV_FACE_CFG_S stFaceCfg;
NETDEV_TEMP_CFG_S stTempCfg;
BYTE byRes[512];
}NETDEV_SMART_ATTR_CFG_S, *LPNETDEV_SMART_ATTR_CFG_S;

Members:
Parameter Description
stFaceCfg Face attribute configuration
stTempCfg Temperature attribute configuration
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.234 Face attribute configuration

typedef struct tagNETDEVFaceConfig


{
469 / 767
Network Device SDK (Windows) User Manual
UINT32 udwCondition;
BYTE byRes[512];
}NETDEV_FACE_CFG_S, LPNETDEV_FACE_CFG_S;

Members:
Parameter Description
udwCondition Alarm condition. 0: Not wearing (including Unknown) 1: Wearing
byRes Reserved field.

See also:
NETDEV_SMART_ATTR_CFG_S

4.27.235 Temperature attribute configuration

typedef struct tagNETDEVTempConfig


{
UINT32 udwCondition;
CHAR szThreshold[NETDEV_LEN_64];
CHAR szdwRange[NETDEV_LEN_64];
BYTE byRes[512];
}NETDEV_TEMP_CFG_S, LPNETDEV_TEMP_CFG_S;

Members:
Parameter Description
udwCondition Alarm condition. 0: Lower than 1: Higher than 2: Match
szThreshold Threshold temperature (unit: °C, 2 decimal places).
szdwRange Temperature tolerance (unit: °C, 2 decimal places). Range: [0.00,
10.00].
byRes Reserved field.

See also:
NETDEV_SMART_ATTR_CFG_S

4.27.236 Image correction parameters

typedef struct tagNETDEV_ImageCorrectParam


{
BOOL bEnabled;
UINT32 udwFaceWidth;
UINT32 udwPupilDistance;
UINT32 udwMinImageSize;
UINT32 udwMaxImageSize;
FLOAT fBlackAndWhiteThreshold;
BYTE byRes[256];
}NETDEV_IMAGE_CORRECT_PARAM_S, *LPNETDEV_IMAGE_CORRECT_PARAM_S;

470 / 767
Network Device SDK (Windows) User Manual

Members:
Parameter Description
bEnabled Enable or disable. 0: Disable 1: Enable
udwFaceWidth Width of generated face (unit: px). Range: [120,150].
udwPupilDistance Pupillary distance (unit: px). Range: [120,150].
udwMinImageSize Minimum image size (unit: KB)
udwMaxImageSize Maximum image size (unit: KB)
fBlackAndWhiteThreshold Black and white threshold. Range: -1
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.237 Device time synchronization

typedef struct tagNETDEVTimeSyncMode


{
UINT32 udwMode;
BYTE byRes[256];
}NETDEV_TIME_SYNCMODE_S, *LPNETDEV_TIME_SYNCMODE_S;

Members:
Parameter Description
udwMode Time synchronization mode. See NETDEV_TIME_SYNCMODE_E.
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.238 Automatic scene switching

typedef struct tagNETDEVSceneAutoSwitchInfo


{
BOOL bAutoSwitchEnable;
BYTE byRes[256];
}NETDEV_SCENE_AUTO_SWITCH_INFO_S, *LPNETDEV_SCENE_AUTO_SWITCH_INFO_S;

Members:
Parameter Description
bAutoSwitchEnable Enable or disable auto switch. 0: Disable 1: Enable
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

471 / 767
Network Device SDK (Windows) User Manual
4.27.239 Scene template info

typedef struct tagNETDEVSceneTemplateInfo


{
UINT32 udwID;
BYTE byRes[256];
}NETDEV_SCENE_TEMPLATE_INFO_S, *LPNETDEV_SCENE_TEMPLATE_INFO_S;

Members:
Parameter Description
udwID Scene template ID. Starts from 0.
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.240 All scene info

typedef struct tagNETDEVSceneInfoList


{
UINT32 udwNum;
NETDEV_SCENE_INFO_S astSceneInfo[NETDEV_MAX_SCENE_INFO_NUM];
BYTE byRes[256];
}NETDEV_SCENE_INFO_LIST_S, *LPNETDEV_SCENE_INFO_LIST_S;

Members:
Parameter Description
udwNum Number of scenes
astSceneInfo Scene Info
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.241 Scene info

typedef struct tagNETDEVSceneInfo


{
CHAR szName[NETDEV_LEN_128];
BOOL bAutoSwitchEnable;
UINT32 udwID;
UINT32 udwType;
UINT32 udwPriority;
UINT32 udwTriggerNum;
NETDEV_TRIGGER_DETAIL_INFO_S astTriggerInfo[NETDEV_MAX_TRIGGER_DETAIL_INFO_NUM];
BYTE byRes[256];
472 / 767
Network Device SDK (Windows) User Manual
}NETDEV_SCENE_INFO_S, *LPNETDEV_SCENE_INFO_S;

Members:
Parameter Description
szName Scene name
bAutoSwitchEnable Enable or disable auto switch. 0: Disable 1: Enable
udwID Scene template ID
udwType Scene type
udwPriority Priority level. Range: [1, SceneTemplateNum]. The maximum value is
the number of supported scene templates.
udwTriggerNum Number of automatic scene switching triggers
astTriggerInfo Detailed info about automatic scene switching triggers
byRes Reserved field.

See also:
NETDEV_SCENE_INFO_LIST_S

4.27.242 Detailed info about automatic scene switching triggers

typedef struct tagNETDEVTriggerDetailInfo


{
CHAR szBegin[NETDEV_LEN_16];
CHAR szEnd[NETDEV_LEN_16];
UINT32 udwEnvironmentNum;
NETDEV_ENV_PARAM_INFO_S astEnvironmentInfo[NETDEV_MAX_ENV_PARAM_NUM];
BYTE byRes[256];
}NETDEV_TRIGGER_DETAIL_INFO_S, *LPNETDEV_TRIGGER_DETAIL_INFO_S;

Members:
Parameter Description
szBegin Start time
szEnd End time
udwEnvironmentNum Number of environment parameters
astEnvironmentInfo Environment parameter info
byRes Reserved field.

See also:
NETDEV_SCENE_INFO_S

4.27.243 Environment parameter info

typedef struct tagNETDEVEnvParamInfo


{
UINT32 udwType;

473 / 767
Network Device SDK (Windows) User Manual
UINT32 udwMin;
UINT32 udwMax;
BYTE byRes[256];
}NETDEV_ENV_PARAM_INFO_S, *LPNETDEV_ENV_PARAM_INFO_S;

Members:
Parameter Description
udwType Environment parameter type
udwMin Minimum value. Cannot be greater than the minimum value.
udwMax Maximum value. Cannot be less than the minimum value.
byRes Reserved field.

See also:
NETDEV_TRIGGER_DETAIL_INFO_S

4.27.244 Attribute collection info

typedef struct tagNETDEVAttrCollectInfo


{
BOOL bAttributeAll;
NETDEV_FACE_ATTR_INFO_S stFaceAttrInfo;
NETDEV_PED_ATTR_INFO_S stPedAttrInfo;
NETDEV_NO_MOTOR_VEH_ATTR_INFO_S stNoMotorVehAttrIofo;
NETDEV_MOTOR_VEH_ATTR_INFO_S stMotorVehAttrInfo;
BYTE byRes[512];
}NETDEV_ATTR_COLLECT_INFO_S, *LPNETDEV_ATTR_COLLECT_INFO_S;

Members:
Parameter Description
bAttributeAll Whether are all attributes. 0: No 1: Yes
stFaceAttrInfo Enable or disable face attributes
stPedAttrInfo Enable or disable pedestrian attributes
stNoMotorVehAttrIofo Enable or disable non-motor vehicle attribute
stMotorVehAttrInfo Enable or disable motor vehicle attributes
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.245 Face attributes enable/disable info

typedef struct tagNETDEVFaceAttrInfo


{
BOOL bIsEnableGender;
BOOL bIsEnableAge;

474 / 767
Network Device SDK (Windows) User Manual
BOOL bIsEnableGlasses;
BOOL bIsEnableMaskFlag;
BOOL bIsEnableTemp;
BYTE byRes[256];
}NETDEV_FACE_ATTR_INFO_S, *LPNETDEV_FACE_ATTR_INFO_S;

Members:
Parameter Description
bIsEnableGender Enable or disable gender detection. 0: Disable 1: Enable
bIsEnableAge Enable or disable age detection. 0: Disable 1: Enable
bIsEnableGlasses Enable or disable glasses detection. 0: Disable 1: Enable
bIsEnableMaskFlag Enable or disable mask detection. 0: Disable 1: Enable
bIsEnableTemp Enable or disable temperature detection. 0: Disable 1: Enable
byRes Reserved field.

See also:
NETDEV_ATTR_COLLECT_INFO_S

4.27.246 Pedestrian attributes enable/disable info

typedef struct tagNETDEVPedAttrInfo


{
BOOL bIsEnableGender;
BOOL bIsEnableAge;
BOOL bIsEnableMaskFlag;
BOOL bIsEnableUpperColor;
BOOL bIsEnableLowerColor;
BOOL bIsEnableUpClothesTexture;
BOOL bIsEnableUpperClothingStyle;
BOOL bIsEnableLowerClothingStyle;
BOOL bIsEnableShoes;
BOOL bIsEnableBodyAngle;
BOOL bIsEnableBagInfo;
BOOL bIsEnableHairStyle;
BOOL bIsEnableDirection;
BYTE byRes[256];
}NETDEV_PED_ATTR_INFO_S, *LPNETDEV_PED_ATTR_INFO_S;

Members:
Parameter Description
bIsEnableGender Enable or disable gender detection. 0: Disable 1: Enable
bIsEnableAge Enable or disable age detection. 0: Disable 1: Enable
bIsEnableMaskFlag Enable or disable mask detection. 0: Disable 1: Enable
bIsEnableUpperColor Enable or disable coat color detection. 0: Disable 1: Enable
bIsEnableLowerColor Enable or disable trousers color detection. 0: Disable 1: Enable
475 / 767
Network Device SDK (Windows) User Manual
bIsEnableUpClothesTexture Enable or disable coat texture detection. 0: Disable 1: Enable
bIsEnableUpperClothingStyle Enable or disable upper garment style detection. 0: Disable 1: Enable
bIsEnableLowerClothingStyle Enable or disable lower garment style detection. 0: Disable 1: Enable
bIsEnableShoes Enable or disable shoe detection. 0: Disable 1: Enable
bIsEnableBodyAngle Enable or disable body angle detection. 0: Disable 1: Enable
bIsEnableBagInfo Enable or disable bag detection. 0: Disable 1: Enable
bIsEnableHairStyle Enable or disable hairstyle detection. 0: Disable 1: Enable
bIsEnableDirection Enable or disable movement direction detection. 0: Disable 1: Enable
byRes Reserved field.

See also:
NETDEV_ATTR_COLLECT_INFO_S

4.27.247 Non-motor vehicle attributes enable/disable info

typedef struct tagNETDEVNoMotorVehAttrInfo


{
BOOL bIsEnableGender;
BOOL bIsEnableAge;
BOOL bIsEnableUpperColor;
BOOL bIsEnableUpperClothingStyle;
BOOL bIsEnableNonVehicleType;
BOOL bIsEnableDirection;
BOOL bIsEnableSpeed;
BOOL bEnablePlateNumber;
BOOL bEnablePlateType;
BOOL bEnablePlateColor;
BOOL bEnableLaneNo;
BOOL bEnablePeccancy;
BYTE byRes[256];
}NETDEV_NO_MOTOR_VEH_ATTR_INFO_S, *LPNETDEV_NO_MOTOR_VEH_ATTR_INFO_S;

Members:
Parameter Description
bIsEnableGender Enable or disable gender detection. 0: Disable 1: Enable
bIsEnableAge Enable or disable age detection. 0: Disable 1: Enable
bIsEnableUpperColor Enable or disable coat color detection. 0: Disable 1: Enable
bIsEnableUpperClothingStyle Enable or disable upper garment style detection. 0: Disable 1:
Enable
bIsEnableNonVehicleType Enable or disable non-motor vehicle type detection. 0: Disable
1: Enable
bIsEnableDirection Enable or disable driving direction detection. 0: Disable 1:
Enable
bIsEnableSpeed Enable or disable speed detection. 0: Disable 1: Enable
bEnablePlateNumber Enable or disable plate number detection. 0: Disable 1: Enable
476 / 767
Network Device SDK (Windows) User Manual
bEnablePlateType Enable or disable plate type detection. 0: Disable 1: Enable
bEnablePlateColor Enable or disable plate color detection. 0: Disable 1: Enable
bEnableLaneNo Enable or disable lane ID detection. 0: Disable 1: Enable
bEnablePeccancy Enable or disable violation type detection. 0: Disable 1: Enable
byRes Reserved field.

See also:
NETDEV_ATTR_COLLECT_INFO_S

4.27.248 Motor vehicle attributes enable/disable info

typedef struct tagNETDEVMotorVehAttrInfo


{
BOOL bIsEnableLogo;
BOOL bIsEnableVehicleType;
BOOL bIsEnableVehicleColor;
BOOL bIsEnablePlateNumber;
BOOL bIsEnablePlateType;
BOOL bIsEnablePlateColor;
BOOL bIsEnableDirection;
BOOL bIsEnableSpeed;
BOOL bEnableSunVisor;
BOOL bEnableSeatBelt;
BOOL bEnableDriverMobile;
BOOL bEnableAim;
BOOL bEnablePendant;
BOOL bEnableLaneNo;
BOOL bEnablePeccancy;
BOOL bEnableYellowPlateMark;
BOOL bEnableVehicleBrandType;
BOOL bEnableDangerousGoodsMark;
BYTE byRes[256];
}NETDEV_MOTOR_VEH_ATTR_INFO_S, *LPNETDEV_MOTOR_VEH_ATTR_INFO_S;

Members:
Parameter Description
bIsEnableLogo Enable or disable vehicle brand detection. 0: Disable 1: Enable
bIsEnableVehicleType Enable or disable vehicle type detection. 0: Disable 1: Enable
bIsEnableVehicleColor Enable or disable vehicle color detection. 0: Disable 1: Enable
bIsEnablePlateNumber Enable or disable plate number detection. 0: Disable 1: Enable
bIsEnablePlateType Enable or disable plate type detection. 0: Disable 1: Enable
bIsEnablePlateColor Enable or disable plate color detection. 0: Disable 1: Enable
bIsEnableDirection Enable or disable driving detection detection. 0: Disable 1:
Enable
bIsEnableSpeed Enable or disable driving speed detection. 0: Disable 1: Enable
477 / 767
Network Device SDK (Windows) User Manual
bEnableSunVisor Enable or disable sun visor detection. 0: Disable 1: Enable
bEnableSeatBelt Enable or disable seat belt detection. 0: Disable 1: Enable
bEnableDriverMobile Enable or disable driver’s phone usage detection. 0: Disable 1:
Enable
bEnableAim Enable or disable inspection sticker detection. 0: Disable 1:
Enable
bEnablePendant Enable or disable pendant detection. 0: Disable 1: Enable
bEnableLaneNo Enable or disable lane ID detection. 0: Disable 1: Enable
bEnablePeccancy Enable or disable violation type detection. 0: Disable 1: Enable
bEnableYellowPlateMark Enable or disable yellow plate mark detection. 0: Disable 1:
Enable
bEnableVehicleBrandType Enable or disable brand type detection. 0: Disable 1: Enable
bEnableDangerousGoodsMark Enable or disable dangerous goods mark detection. 0: Disable 1:
Enable
byRes Reserved field.

See also:
NETDEV_ATTR_COLLECT_INFO_S

4.27.249 Time configuration

typedef struct tagNETDEVSystemTimeInfo


{
NETDEV_TIME_ZONE_E dwTimeZone;
NETDEV_TIME_S stTime;
BOOL bEnableDST;
NETDEV_TIME_DST_CFG_S stTimeDSTCfg;
UINT32 udwDateFormat;
UINT32 udwHourFormat;
BYTE byRes[212];
}NETDEV_TIME_CFG_S, *LPNETDEV_TIME_CFG_S;

Members:
Parameter Description
dwTimeZone Time zone. See NETDEV_TIME_ZONE_E.
stTime Time
bEnableDST Enable or disable DST
stTimeDSTCfg DST configuration
udwDateFormat Date format. 0: YYYY-MM-DD 1: MM-DD-YYYY 2: DD-MM-YYYY
udwHourFormat Time format. 0: 12H format 1: 24H format
byRes Reserved field.

478 / 767
Network Device SDK (Windows) User Manual
4.27.250 Time parameters

typedef struct tagNETDEVTime


{
INT32 dwYear;
INT32 dwMonth;
INT32 dwDay;
INT32 dwHour;
INT32 dwMinute;
INT32 dwSecond;
}NETDEV_TIME_S, *LPNETDEV_TIME_S;

Members:
Parameter Description
dwYear Year
dwMonth Month
dwDay Day
dwHour Hour
dwMinute Minute
dwSecond Second

See also:
NETDEV_TIME_CFG_S

4.27.251 System IP address

typedef struct tagSysemIPAddrInfo


{
BOOL bEnabled;
INT64 ulAddressType;
CHAR szIPAddress[NETDEV_LEN_64];
CHAR szDomainName[NETDEV_LEN_64];
INT64 ulPort;
INT64 ulSynchronizeInterval;
BYTE byRes[128];
}NETDEV_SYSTEM_IPADDR_INFO_S, *LPNETDEV_SYSTEM_IPADDR_INFO_S;

Members:
Parameter Description
bEnabled Enable or disable NTP server. 0: Disable 1: Enable
ulAddressType Address type. 0: IPv4 1: IPv6 (currently not in use) 2: Domain name
(applicable to NVR and VMS)
szIPAddress NTP server IP. Length: [0, 64]. Required when ulAddressType is 0.
szDomainName NTP server domain name. Length: [0, 0,64]. Required when ulAddressType
is 2.

479 / 767
Network Device SDK (Windows) User Manual
ulPort NTP port. Range: [1-65535]. Not applicable to IPC.
ulSynchronizeInterval Update Interval. Valid range of NVR and VMS: 5/10/15/30m, 1/2/3/6/12h,
1 day, 1 week Valid range of IPC: 30-3600s. The time intervals need
to be converted to time values in unit of seconds.
byRes Reserved field.

See also:
NETDEV_SYSTEM_NTP_INFO_LIST_S

4.27.252 Position relative to video wall

typedef struct tagNETDEVXWVirtualLEDArea


{
NETDEV_XW_COORD_S stTopLeft;
NETDEV_XW_COORD_S stBottomRight;
}NETDEV_XW_AREA_S, *LPNETDEV_XW_AREA_S;

Members:
Parameter Description
stTopLeft Coordinates of top left corner
stBottomRight Coordinates of bottom right corner

See also:
NETDEV_TEMP_DETECTION_BLACKBODY_INFO_S

4.27.253 Coordinates info

typedef struct tagNETDEVXWArea


{
UINT32 udwX;
UINT32 udwY;
}NETDEV_XW_COORD_S, *LPNETDEV_XW_COORD_S;

Members:
Parameter Description
udwX x-coordinate
udwY y-coordinate

See also:
NETDEV_XW_AREA_S

4.27.254 Detailed HDD S.M.A.R.T. info

typedef struct tagNETDEVHDDSmartDetailsInfo


{
UINT32 udwAttributeID;
480 / 767
Network Device SDK (Windows) User Manual
CHAR szAttributeName[NETDEV_LEN_64];
UINT32 udwStatus;
UINT32 udwHex;
UINT32 udwThresh;
UINT32 udwCurrentValue;
UINT32 udwWorstValue;
UINT32 udwActualValue;
BYTE byRes[128];
}NETDEV_HDD_SMART_DETAILS_INFO_S,*LPNETDEV_HDD_SMART_DETAILS_INFO_S;

Members:
Parameter Description
udwAttributeID Attribute ID
szAttributeName Attribute name
udwStatus Status. See NETDEV_HDD_SMART_ASSESSMENT_STATUS_E.
udwHex Displayed in hexadecimal
udwThresh Threshold
udwCurrentValue Current value
udwWorstValue Worst value
udwActualValue Actual value
byRes Reserved field

See also:
NETDEV_HDD_SMART_INFO_S

4.27.255 Photo server configuration info

typedef struct tagNETDEVPhotoServerCfgInfo


{
UINT32 udwProtocol;
UINT32 udwSubProtocol;
UINT32 udwPort;
CHAR szIPV4Address[NETDEV_IPADDR_STR_MAX_LEN];
CHAR szTollgateID[NETDEV_LEN_64];
CHAR szCameraID[NETDEV_LEN_64];
BYTE byRes[128];
}NETDEV_PHOTO_SERVER_CFG_INFO_S,* LPNETDEV_PHOTO_SERVER_CFG_INFO_S;

Members:
Parameter Description
udwProtocol Communication protocol. See NETDEV_PHOTO_SERVER_PRO_TYPE_E.
udwSubProtocol Communication sub protocol. See NETDEV_PHOTO_SERVER_SUBPRO_TYPE_E.
udwPort TMS server port number: [0,65535]
szIPV4Address TMS server IP (IPv4)
szTollgateID Checkpoint ID (0, 36]. Optional. When absent, it means the field will
481 / 767
Network Device SDK (Windows) User Manual
not be updated.
szCameraID Camera ID (0, 36]. Optional. When absent, it means the field will not
be updated.
byRes Reserved field

See also:
NETDEV_PHOTO_SERVER_CFG_INFO_LIST_S

4.27.256 Smart server configuration info

typedef struct tagNETDEVDataServerInfo


{
UINT32 udwIndex;
BOOL bEnable;
UINT32 udwProtocol;
CHAR szCameraID[NETDEV_LEN_128];
CHAR szTollgateID[NETDEV_LEN_128];
CHAR szServerAddr[NETDEV_LEN_32];
UINT32 udwServerPort;
CHAR szDrivewayID[NETDEV_LEN_64];
CHAR szDirectionID[NETDEV_LEN_64];
CHAR szDeviceID[NETDEV_LEN_64];
CHAR szAreaId[NETDEV_LEN_64];
NETDEV_SERVER_USER_INFO_S stServerUserInfo;
NETDEV_VIID_CFG_S stViidCfg;
BYTE byRes[148];
}NETDEV_DATA_SERVER_INFO, *LPNETDEV_DATA_SERVER_INFO;

Members:
Parameter Description
udwIndex Smart server index. Starts from 0.
bEnable Enable or disable smart server
udwProtocol Communication protocol. Currently only 1: TCP is supported. See
NETDEV_DATA_SERVER_PROTOCOL_TYPE_E.
szCameraID Camera ID (0, 36]. It means no modification when the length is 0.
szTollgateID Checkpoint ID (0, 36]. It means no modification when the length is 0.
szServerAddr Server IP (IPv4)
udwServerPort Server port
szDrivewayID Road ID. Applicable to IPC.
szDirectionID Direction ID. Applicable to IPC.
szDeviceID Device ID. Applicable to IPC.
szAreaId Area ID. Applicable to IPC.
stServerUserInfo User info
stViidCfg VIID info. See NETDEV_VIID_CFG_S.
byRes Reserved field.
482 / 767
Network Device SDK (Windows) User Manual

See also:
NETDEV_DATA_SERVER_LIST

4.27.257 All OSD contents.

typedef struct tagNETDEVOsdContent


{
UINT32 udwNum;
NETDEV_OSD_CONTENT_INFO_S astContentList[NETDEV_LEN_32];
}NETDEV_OSD_CONTENT_S,*LPNETDEV_OSD_CONTENT_S;

Members:
Parameter Description
udwNum Number of OSD areas
astContentList OSD area content list

See also:
NETDEV_CONFIG_COMMAND_E

4.27.258 OSD content info

typedef struct tagNETDEVOSDContentInfo


{
BOOL bEnabled;
UINT32 udwOSDID;
UINT32 udwAreaOSDNum;
UINT32 udwTopLeftX;
UINT32 udwTopLeftY;
NETDEV_CONTENT_INFO_S astContentInfo[NETDEV_LEN_8];
}NETDEV_OSD_CONTENT_INFO_S,*LPNETDEV_OSD_CONTENT_INFO_S;

Members:
Parameter Description
bEnabled Enable OSD area
udwOSDID OSD area ID. Range: [0,7]
udwAreaOSDNum Number of OSDs in current area
udwTopLeftX x-coordinate of OSD area. Range: [0,9999]
udwTopLeftY y-coordinate of OSD area. Range: [0,9999]
astContentInfo OSD content in current area

See also:
NETDEV_OSD_CONTENT_S

483 / 767
Network Device SDK (Windows) User Manual
4.27.259 Content info

typedef struct tagNETDEVContentInfo


{
UINT32 udwContentType;
CHAR szOSDText[NETDEV_OSD_TEXT_MAX_LEN];
}NETDEV_CONTENT_INFO_S,*LPNETDEV_CONTENT_INFO_S;

Members:
Parameter Description
udwContentType OSD content type. See NETDEV_OSD_CONTENT_TYPE_E.
szOSDText OSD text info

See also:
NETDEV_OSD_CONTENT_INFO_S

4.27.260 Temperature detection alarm configuration info

typedef struct tagNETDEVTempDetectionRuleInfo


{
UINT32 udwType;
NETDEV_TEMP_DETECTION_BASE_RULE_INFO_S stEntireImageRuleInfo;
NETDEV_TEMP_DETECTION_COMM_RULE_LIST_S stCommonRuleInfo;
NETDEV_TEMP_DETECTION_COMP_RULE_LIST_S stCompareRuleInfo;
BYTE byRes[512];
}NETDEV_TEMP_DETECTION_RULE_INFO_S, *LPNETDEV_TEMP_DETECTION_RULE_INFO_S;

Members:
Parameter Description
udwType Rule type: 0 Full screen 1: Common 2: Common, comparison 3: Face
temperature detection
stEntireImageRuleInfo Full-screen rule info. Required when Type is 0.
stCommonRuleInfo Common rule info. Required when Type is 1 or 2.
stCompareRuleInfo Comparison rule info. Required when Type is 2.
byRes Reserved field.

See also:
NETDEV_CONFIG_COMMAND_E

4.27.261 Structure of basic info about temperature detection

typedef struct tagNETDEVTemperatureDetectionBasicRuleInfo


{
UINT32 udwType;
INT32 dwCondition;

484 / 767
Network Device SDK (Windows) User Manual
FLOAT fThreshold;
FLOAT fChangeRate;
FLOAT fRange;
UINT32 udwDuration;
BYTE byRes[512];
}NETDEV_TEMP_DETECTION_BASE_RULE_INFO_S,*LPNETDEV_TEMP_DETECTION_BASE_RULE_INFO_S;

Members:
Parameter Description
udwType Alarm type. 0: Highest temperature 1: Lowest temperature 2: Average
temperature 3: Temperature difference 4: Temperature change rate
(Note: 1. For comparison rules, the alarm type only supports 0, 1,
and 2. 2. When the area type is “point”, the alarm type only
supports 2 and 4).
dwCondition Alarm condition. 0: Lower than 1: Higher than 2: Match
fThreshold Temperature threshold (unit: degree, 2 decimal places). Range: [-
20,150]. Default: 0. Required when alarm type is not “temperature
change rate”).
fChangeRate Temperature change rate. Range: [-170,170]. Unit: degree/minute
(required when alarm type is “temperature change rate”). Precision:
2 decimal places.
fRange Temperature error tolerance (unit: degree). Range: [0,10]. Precision:
2 decimal places.
udwDuration Duration (unit: second). Range: [1,100]
byRes Reserved field.

See also:
NETDEV_TEMP_DETECTION_RULE_INFO_S

4.27.262 Temperature detection common rule list

typedef struct tagNETDEVTempDetectionCommonRuleList


{
UINT32 udwNum;
NETDEV_TEMP_DETECTION_COMM_RULE_INFO_S astTempCommRuleInfo[NETDEV_LEN_16];
BYTE byRes[512];
}NETDEV_TEMP_DETECTION_COMM_RULE_LIST_S,*LPNETDEV_TEMP_DETECTION_COMM_RULE_LIST_S;

Members:
Parameter Description
udwNum Number of temperature detection common rules. Starts from 0. Range:
[0,12]
astTempCommRuleInfo Structure of general info about temperature detection
byRes Reserved field.

485 / 767
Network Device SDK (Windows) User Manual
See also:
NETDEV_TEMP_DETECTION_RULE_INFO_S

4.27.263 Structure of general info about temperature detection

typedef struct tagNETDEVTempDetectionCommonRuleInfo


{
UINT32 udwID;
BOOL bEnabled;
CHAR szName[NETDEV_LEN_512];
UINT32 udwAreaType;
UINT32 udwAreaPointNum;
NETDEV_POINT_S astAreaPoint[NETDEV_LEN_16];
NETDEV_TEMP_DETECTION_BASE_RULE_INFO_S stTempBaseInfo;
BYTE byRes[512];
}NETDEV_TEMP_DETECTION_COMM_RULE_INFO_S,*LPNETDEV_TEMP_DETECTION_COMM_RULE_INFO_S;

Members:
Parameter Description
udwID Rule ID. Starts from 0. Range: [0,5]. Required when using the GET or
PUT method.
bEnabled Enable or disable. 0: Disable 1: Enable
szName Rule name. Range: [0,20]
udwAreaType Detection area type. 0: Line 4: Polygon (max hexagon, consistent
with smart detection box) 7: Dot
udwAreaPointNum Number of vertices of the detection area 1: Dot 2: Straight line 3-
6: Polygon
astAreaPoint Coordinates of the vertices of the detection area
stTempBaseInfo Structure of basic info about temperature detection
byRes Reserved field.

See also:
NETDEV_TEMP_DETECTION_COMM_RULE_LIST_S

4.27.264 Temperature detection comparison rule list

typedef struct tagNETDEVTempDetectionCompareRuleList


{
UINT32 udwNum;
NETDEV_TEMP_DETECTION_COMP_RULE_INFO_S astTempCompareRuleInfo[NETDEV_LEN_16];

BYTE byRes[512];
}NETDEV_TEMP_DETECTION_COMP_RULE_LIST_S,*LPNETDEV_TEMP_DETECTION_COMP_RULE_LIST_S;

Members:

486 / 767
Network Device SDK (Windows) User Manual
Parameter Description
udwNum Number of temperature detection comparison rules. Starts from 0.
Range: [0,12]
astTempCompareRuleInfo Structure of comparison info about temperature detection
byRes Reserved field.

See also:
NETDEV_TEMP_DETECTION_RULE_INFO_S

4.27.265 Structure of comparison info about temperature detection

typedef struct tagNETDEVTempDetectionCompareRuleInfo


{
UINT32 udwID;
BOOL bEnabled;
CHAR szName[NETDEV_LEN_512];
UINT32 udwFirstCompareRuleID;
UINT32 udwSecondCompareRuleID;
NETDEV_TEMP_DETECTION_BASE_RULE_INFO_S stTempBaseInfo;
BYTE byRes[512];
}NETDEV_TEMP_DETECTION_COMP_RULE_INFO_S,*LPNETDEV_TEMP_DETECTION_COMP_RULE_INFO_S;

Members:
Parameter Description
udwID Rule ID. Starts from 0. Range: [0,5]. Required when using the GET or
PUT method.
bEnabled Enable or disable. 0: Disable 1: Enable
szName Rule name. Range: [0,20]
udwFirstCompareRuleID ID of the first comparison rule. Range: [1,12]
udwSecondCompareRuleID ID of the second comparison rule. Range: [1,12]. The ID must be
different from that of the first rule.
stTempBaseInfo Structure of basic info about temperature detection
byRes Reserved field.

See also:
NETDEV_TEMP_DETECTION_COMP_RULE_LIST_S

4.27.266 Basic device info

typedef struct tagstNETDEVDeviceBasicInfo


{
NETDEV_IPADDR_INFO_S stDevAddr;
NETDEV_USER_SIMPLE_INFO_S stDevUserInfo;
CHAR szDevName[NETDEV_NAME_MAX_LEN];
CHAR szDevDesc[NETDEV_DESCRIBE_MAX_LEN];

487 / 767
Network Device SDK (Windows) User Manual
CHAR szDevModel[NETDEV_CODE_STR_MAX_LEN];
INT32 dwDevID;
INT32 dwDevStatus;
INT32 dwDevType;
INT32 dwDevSubType;
INT32 dwOrgID;
INT32 dwAccessProtocol;
INT32 dwAccessMode;
INT32 dwServerID;
INT32 dwAudioResID;
INT32 dwIsPTZNeeded ;
CHAR szVIIDCode[NETDEV_VIID_CODE_LEN];
INT32 dwVIIDStatus;
CHAR szSerialNum[NETDEV_LEN_64];
CHAR szSoftVersion[NETDEV_LEN_128];
CHAR szMacAddr[NETDEV_LEN_32];
INT32 dwStoreStatus;
NETDEV_ONVIF_INFO_S stOnvifInfo;
NETDEV_GBINFO_S stGBInfo;
LPNETDEV_SMART_LOCK_INFO_S pstSmartLockInfo;
CHAR szManufacture[NETDEV_LEN_64];
CHAR szDeviceCode[NETDEV_LEN_32];
LPNETDEV_IPM_PLAYER_BASIC_INFO_S pstPlayerInfo;
UINT32 udwCustomProtocolID;
UINT32 udwChlMaxNum;
UINT32 udwChlIndexNum;
UINT32* pudwChlIndexList;
INT32 dwImageProtocol;
}NETDEV_DEV_BASIC_INFO_S, *LPNETDEV_DEV_BASIC_INFO_S;

Members:
Parameter Description
stDevAddr Device IP address info
stDevUserInfo Device username and password
szDevName Device name
szDevDesc Device description
szDevModel Device model
dwDevID Device IP
dwDevStatus Device status. See NETDEV_DEVICE_STATUS_E.
dwDevType Device type. See NETDEV_DEVICE_MAIN_TYPE_E.
dwDevSubType Device sub type. See NETDEV_DEVICE_SUB_TYPE_E.
dwOrgID Organization ID
dwAccessProtocol Connection protocol. See NETDEV_ACCESS_PROTOCOL_E.
dwAccessMode Connection mode. See NETDEV_DEVICE_ACCESS_MODE_E.
dwServerID Server ID
488 / 767
Network Device SDK (Windows) User Manual
dwAudioResID Audio channel ID
dwIsPTZNeeded Whether PTZ is needed. 0: No 1: Yes 255: Adaptive
szVIIDCode VIID ID. Valid for checkpoint device only.
dwVIIDStatus VIID status. Indicates whether device is connected by VIID protocol.
0: Offline 1: Online
szSerialNum Device serial number
szSoftVersion Firmware version
szMacAddr MAC address
dwStoreStatus Device storage status 0: Idle 1: Not formatted 2: Format in progress
3: Running
stOnvifInfo Onvif info
stGBInfo GB info. Required only when AccessProtocol is 3.
pstSmartLockInfo Lock device info. Memory needs to be allocated by the caller.
szManufacture Manufacturer name
szDeviceCode Device ID. [1,32]. Required when adding a player.
pstPlayerInfo Player info. Required when Type is 11. Memory needs to be allocated
by malloc.
udwCustomProtocolID Custom protocol ID. Required when AccessProtocol is 4.
udwChlMaxNum Maximum number of device channel IDs. Required when AccessProtocol is
4.
udwChlIndexNum Number of device channel IDs. Required when AccessProtocol is 4. Max
255.
pudwChlIndexList Channel ID list. RAM needs to be allocated dynamically. 256 is
recommended.
dwImageProtocol Image protocol. Required when device type (Type) is 5 (smart device).
1: Private 2: VIID

See also:
NETDEV_FindDevList, NETDEV_FindNextDevInfo, NETDEV_FindCloseDevInfo

4.27.267 IP address info

typedef struct tagstNETDEVIPAddrInfo


{
INT32 dwType;
CHAR szIPAddr[NETDEV_MAX_URL_LEN];
INT32 dwPort;
BYTE byRes[60];
}NETDEV_IPADDR_INFO_S, *LPNETDEV_IPADDR_INFO_S;

Members:
Parameter Description

dwType Address type. See NETDEV_IP_ADDRESS_TYPE_E.

489 / 767
Network Device SDK (Windows) User Manual
szIPAddr IP address/domain name
dwPort Port number
byRes Reserved field.
See also:
NETDEV_DEV_BASIC_INFO_S

4.27.268 User account info

typedef struct tagstNETDEVUserSimpleInfo


{
CHAR szUserName[NETDEV_USERNAME_LEN];
CHAR szPassword[NETDEV_PASSWORD_LEN];
BYTE byRes[64];
}NETDEV_USER_SIMPLE_INFO_S, *LPNETDEV_USER_SIMPLE_INFO_S;

Members:
Parameter Description

szUserName Username
szPassword Password
byRes Reserved field.
See also:
NETDEV_DEV_BASIC_INFO_S

4.27.269 Onvif info

typedef struct tagstNETDEVOnvifInfo


{
UINT32 udwTransportMode;
BYTE byRes[128];
}NETDEV_ONVIF_INFO_S, *LPNETDEV_ONVIF_INFO_S;

Members:
Parameter Description

udwTransportMode Transport mode. See NETDEV_TRANS_PROTOCOL_E.


byRes Reserved field.
See also:
NETDEV_DEV_BASIC_INFO_S

4.27.270 GB info

typedef struct tagNETDEVGBInfo


{
CHAR szUniCode[NETDEV_LEN_32];

490 / 767
Network Device SDK (Windows) User Manual
UINT32 udwTransport;
BYTE byRes[128];
}NETDEV_GBINFO_S, *LPNETDEV_GBINFO_S;

Members:
Parameter Description

szUniCode GB resource ID. Range: [1, 32]


udwTransport Transport Mode. 0: TCP 1: UDP
byRes Reserved field
See also:
NETDEV_DEV_BASIC_INFO_S

4.27.271 Smart lock info

typedef struct tagNETDEVSmartLockInfo


{
UINT32 udwType;
UINT32 udwSignal;
UINT32 udwStatus;
UINT32 udwBatteryPercent;
CHAR szSN[NETDEV_LEN_64];
CHAR szIMEI[NETDEV_LEN_64];
CHAR szVersion[NETDEV_LEN_256];
CHAR szRoomName[NETDEV_LEN_480];
BYTE byRes[128];
}NETDEV_SMART_LOCK_INFO_S,*LPNETDEV_SMART_LOCK_INFO_S;

Members:
Parameter Description

udwType Lock type. 0: Wi-Fi lock 1: NBIoT lock


udwSignal Lock signal. See NETDEV_LOCK_SIGNAL_E.
udwStatus Lock status. 0: Online 1: Offline
udwBatteryPercent Battery usage. Range: [0,100]
szSN Lock device serial number. Range: [0,20].
szIMEI IMEI. Required when Type is 1. Length: [1,16]
szVersion Lock version info. Length: [1,64]
szRoomName Room name. Length: [1, 128]
byRes Reserved field
See also:
NETDEV_DEV_BASIC_INFO_S

491 / 767
Network Device SDK (Windows) User Manual
4.27.272 Player info

typedef struct tagNETDEVIPMPlayerBasicInfo


{
UINT32 udwPlayerID;
UINT32 udwVendor;
UINT32 udwModel;
CHAR szPlayerName[NETDEV_LEN_128];
UINT32 udwOrgID;
CHAR szOrgName[NETDEV_LEN_128];
CHAR szPlayerMngtServerName[NETDEV_LEN_128];
CHAR szPlayerMngtServerIP[NETDEV_LEN_32];
NETDEV_XW_RESOLUTION_S stResolution;
BYTE byRes[256];
}NETDEV_IPM_PLAYER_BASIC_INFO_S,*LPNETDEV_IPM_PLAYER_BASIC_INFO_S;

Members:
Parameter Description

udwPlayerID Player ID
udwVendor Required when adding players by vendor
udwModel Required when adding players by model
szPlayerName Player name. Range: [1,64]
udwOrgID Organization ID. Required when getting player info.
szOrgName Organization name. Range: [1,64]. Required when getting player info.
szPlayerMngtServerName Player management device name. Range: [1,64]. Required when getting
player info.
szPlayerMngtServerIP Player management device IP. Required when getting player info.
stResolution Screen resolution
byRes Reserved field.
See also:
NETDEV_DEV_BASIC_INFO_S

4.27.273 Resolution information

typedef struct tagNETDEVXWVideoResolution


{
UINT32 udwWidth;
UINT32 udwHeight;
}NETDEV_XW_RESOLUTION_S, *LPNETDEV_XW_RESOLUTION_S;

Members:
Parameter Description

udwWidth Width

492 / 767
Network Device SDK (Windows) User Manual
udwHeight Height
See also:
NETDEV_IPM_PLAYER_BASIC_INFO_S

4.27.274 Device channel info

typedef struct tagNETDEVChlDeviceInfo


{
INT32 dwChannelID;
CHAR szDevModel[NETDEV_LEN_64];
CHAR szSerialNum[NETDEV_LEN_64];
CHAR szFirmwareVersion[NETDEV_LEN_64];
CHAR szHardewareID[NETDEV_LEN_64];
CHAR szUbootVersion[NETDEV_LEN_64];
BYTE byRes[512];
}NETDEV_DEVICE_CHL_INFO_S, *LPNETDEV_DEVICE_CHL_INFO_S;

Members:
Parameter Description

dwChannelID Channel ID
szDevModel Device model
szSerialNum Hardware serial number
szFirmwareVersion Firmware version
szHardewareID Hardware ID
szUbootVersion UBOOT version
byRes Reserved field
See also:
NETDEV_FindDevChlBasicInfoList, NETDEV_FindNextChlDeviceInfo,
NETDEV_FindCloseDevChlBasicInfo

4.27.275 Channel info about Xware device’s local signal source

typedef struct tagstNETDEVDevChnXWEncodeInfo


{
NETDEV_DEV_CHN_BASE_INFO_S stChnBaseInfo;
INT32 dwVideoSrc;
BYTE byRes[260];
}NETDEV_DEV_CHN_XW_ENCODE_INFO_S, *LPNETDEV_DEV_CHN_XW_ENCODE_INFO_S;

Members:
Parameter Description

stChnBaseInfo Basic channel info


dwVideoSrc Video input format. See NETDEV_VIDEO_SRC_TYPE_E.
493 / 767
Network Device SDK (Windows) User Manual
byRes Reserved field.
See also:
NETDEV_CHN_TYPE_E

4.27.276 Basic channel info of device

typedef struct tagstNETDEVDevChnBaseInfo


{
INT32 dwChannelID;
INT32 dwDevID;
INT32 dwOrgID;
INT32 dwChnType;
INT32 dwChnStatus;
INT32 dwChnIndex;
CHAR szChnName[NETDEV_NAME_MAX_LEN];
UINT32 udwRight;
UINT32 udwAbnormalReason;
BYTE byRes[124];
}NETDEV_DEV_CHN_BASE_INFO_S, *LPNETDEV_DEV_CHN_BASE_INFO_S;

Members:
Parameter Description

dwChannelID Channel ID
dwDevID Device IP
dwOrgID Organization ID
dwChnType Channel type. See NETDEV_CHN_TYPE_E.
dwChnStatus Channel status. See NETDEV_CHN_STATUS_E.
dwChnIndex Channel index
szChnName Channel name
udwRight Channel permissions
udwAbnormalReason Cause for video channel exceptions
byRes Reserved field.
See also:
NETDEV_DEV_CHN_XW_ENCODE_INFO_S

4.27.277 Basic device info

typedef struct tagNETDEVDeviceBaseInfo


{
INT32 dwChlID;
INT32 dwDeviceType;
INT32 dwDevCode;
INT32 dwCurrentLang;
NETDEV_DATE_INFO_S stBuildDate;

494 / 767
Network Device SDK (Windows) User Manual
CHAR szSerialNum[NETDEV_LEN_32];
CHAR szMacAddress[NETDEV_LEN_64];
CHAR szDevName[NETDEV_CODE_STR_MAX_LEN];
CHAR szDevModel[NETDEV_CODE_STR_MAX_LEN];
CHAR szVIIDVersion[NETDEV_CODE_STR_MAX_LEN];
CHAR szSoftwareVersion[NETDEV_CODE_STR_MAX_LEN];
CHAR szFirmwareVersion[NETDEV_CODE_STR_MAX_LEN];
CHAR szHardewareID[NETDEV_CODE_STR_MAX_LEN];
CHAR szUbootVersion[NETDEV_CODE_STR_MAX_LEN];
CHAR szManufacturer[NETDEV_LEN_64];
NETDEV_CLIENT_VERSION_INFO_LIST_S stClientVersionsInfo;
CHAR szProtoName[NETDEV_LEN_256];
BYTE byRes[216];
}NETDEV_DEVICE_BASE_INFO_S, *LPNETDEV_DEVICE_BASE_INFO_S;

Members:
Parameter Description

dwChlID Video input channel ID


dwDeviceType Device type. See NETDEV_DEVICE_TYPE_E.
dwDevCode Device ID
dwCurrentLang Current device language. See NETDEV_LANG_TYPE_E.
stBuildDate Build date
szSerialNum Device serial number
szMacAddress MAC address (IPv4)
szDevName Device name
szDevModel Device model
szVIIDVersion VIID component version
szSoftwareVersion Internal software version
szFirmwareVersion Firmware version
szHardewareID Hardware ID
szUbootVersion UBOOT version
szManufacturer Manufacturer name. Length: [1,64]
stClientVersionsInfo Version info. Optional. Applicable to VMS only.
szProtoName Device prototype name
byRes Reserved field.
See also:
NETDEV_GetDeviceBaseInfo

4.27.278 Time info

typedef struct tagstNETDEVDateInfo


{
INT32 dwYear;

495 / 767
Network Device SDK (Windows) User Manual
INT32 dwMonth;
INT32 dwDay;
INT32 dwHour;
INT32 dwMinute;
BYTE byRes[32];
}NETDEV_DATE_INFO_S, *LPNETDEV_DATE_INFO_S;

Members:
Parameter Description

dwYear Year
dwMonth Month
dwDay Day
dwHour Hour
dwMinute Minute
byRes Reserved field.
See also:
NETDEV_DEVICE_BASE_INFO_S

4.27.279 Client version list

typedef struct tagstNETDEVClientVersionsInfoList


{
UINT32 udwNum;
LPNETDEV_CLIENT_VERSION_INFO_S pstClientVersionsInfo;
BYTE byRes[32];
}NETDEV_CLIENT_VERSION_INFO_LIST_S, *LPNETDEV_CLIENT_VERSION_INFO_LIST_S;

Members:
Parameter Description

udwNum Quantity
pstClientVersionsInfo Client version list
byRes Reserved field.
See also:
NETDEV_DEVICE_BASE_INFO_S

4.27.280 Client version info

typedef struct tagstNETDEVClientVersionsInfo


{
UINT32 udwType;
CHAR szVersion[NETDEV_LEN_256];
BYTE byRes[32];
}NETDEV_CLIENT_VERSION_INFO_S, *LPNETDEV_CLIENT_VERSION_INFO_S;
496 / 767
Network Device SDK (Windows) User Manual

Members:
Parameter Description

udwType Client type. See NETDEV_CLIENT_TYPE_E.


szVersion Client version number. Range: [0, 255]
byRes Reserved field.
See also:
NETDEV_CLIENT_VERSION_INFO_LIST_S

4.27.281 Device info

typedef struct tagNETDEVDeviceInfo


{
INT32 dwDevType;
INT16 wAlarmInPortNum;
INT16 wAlarmOutPortNum;
INT32 dwChannelNum;
BYTE byRes[48];
}NETDEV_DEVICE_INFO_S,*LPNETDEV_DEVICE_INFO_S;

Members:
Parameter Description

dwDevType Device type. See NETDEV_DEVICE_TYPE_E.


wAlarmInPortNum Number of alarm inputs
wAlarmOutPortNum Number of alarm outputs
dwChannelNum Number of channels
byRes Reserved field.
See also:
NETDEV_GetDeviceInfo

4.27.282 Detailed device info

typedef struct tagstNETDEVDeviceDetailInfo


{
NETDEV_DEV_BASIC_INFO_S stDevBasicInfo;
NETDEV_DEV_FIREWARE_INFO_S stDevFirewareInfo;
}NETDEV_DEV_INFO_V30_S, *LPNETDEV_DEV_INFO_V30_S;

Members:
Parameter Description

stDevBasicInfo Basic device info

497 / 767
Network Device SDK (Windows) User Manual
stDevFirewareInfo Device firmware info

See also:
NETDEV_GetDeviceInfo_V30

4.27.283 Device firmware info

typedef struct tagstNETDEVDeviceFirmwareInfo


{
CHAR szDevModel[NETDEV_CODE_STR_MAX_LEN];
CHAR szFireVersion[NETDEV_CODE_STR_MAX_LEN];
CHAR szSerialNum[NETDEV_CODE_STR_MAX_LEN];
BYTE byRes[128];
}NETDEV_DEV_FIREWARE_INFO_S, *LPNETDEV_DEV_FIREWARE_INFO_S;

Members:
Parameter Description

szDevModel Device model


szFireVersion Firmware version
szSerialNum Device serial number
byRes Reserved field.

See also:
NETDEV_DEV_INFO_V30_S

4.27.284 Geolocation info

typedef struct tagNETDEVGeolocationInfo


{
FLOAT fLongitude;
FLOAT fLatitude;
}NETDEV_GEOLACATION_INFO_S, *LPNETDEV_GEOLACATION_INFO_S;

Members:
Parameter Description

fLongitude Longitude
fLatitude Latitude

See also:
NETDEV_GetGeolocationInfo

498 / 767
Network Device SDK (Windows) User Manual
4.27.285 Wi-Fi sniffer MAC array info

typedef struct tagNETDEVWiFiSnifferMacList


{
INT32 dwSize;
NETDEV_WIFISNIFFER_MAC_INFO_S astMACList[NETDEV_WIFISNIFFER_MAC_ARRY_MAX_NUM];
}NETDEV_WIFISNIFFER_MAC_LIST_S, *LPNETDEV_WIFISNIFFER_MAC_LIST_S;

Members:
Parameter Description

dwSize Quantity
astMACList Wi-Fi sniffer MAC info

See also:
NETDEV_GetWifiSnifferMacList

4.27.286 Wi-Fi sniffer MAC info

typedef struct tagNETDEVWiFiSnifferMacInfo


{
CHAR aszMACInfo[NETDEV_WIFISNIFFER_MAC_MAX_NUM];
INT16 wMaxSig;
CHAR aszMaxSigTime[NETDEV_MAX_DATE_STRING_LEN];
}NETDEV_WIFISNIFFER_MAC_INFO_S, *LPNETDEV_WIFISNIFFER_MAC_INFO_S;

Members:
Parameter Description

aszMACInfo MAC address of Wi-Fi sniffer


wMaxSig Max signal strength corresponding to the MAC address (unit: dBm)
aszMaxSigTime Acquisition time of max signal strength

See also:
NETDEV_WIFISNIFFER_MAC_LIST_S

4.27.287 Detailed video channel info

typedef struct tagNETDEVVideoChlDetailInfo


{
INT32 dwChannelID;
BOOL bPtzSupported;
NETDEV_CHANNEL_STATUS_E enStatus;
INT32 dwStreamNum;
CHAR szChnName[NETDEV_LEN_64];

499 / 767
Network Device SDK (Windows) User Manual
BYTE byRes[4];
}NETDEV_VIDEO_CHL_DETAIL_INFO_S, *LPNETDEV_VIDEO_CHL_DETAIL_INFO_S;

Members:
Parameter Description

dwChannelID Channel ID
bPtzSupported Whether PTZ is supported.
enStatus Channel status
dwStreamNum Number of streams. The value is invalid when enStatus is
NETDEV_CHL_STATUS_UNBIND.
szChnName Channel name

byRes Reserved field.

See also:
NETDEV_QueryVideoChlDetailList

4.27.288 Detailed video channel info

typedef struct tagNETDEVVideoChlDetailInfoEx


{
INT32 dwChannelID;
BOOL bPtzSupported;
NETDEV_CHANNEL_STATUS_E enStatus;
INT32 dwStreamNum;
NETDEV_CHANNEL_TYPE_E enChannelType;
NETDEV_VIDEO_STANDARD_E enVideoFormat;
NETDEV_HOSTTYPE_E enAddressType;
CHAR szIPAddr[NETDEV_IPADDR_STR_MAX_LEN];
INT32 dwPort;
CHAR szChnName[NETDEV_LEN_64];
BOOL allowDistribution;
INT32 dwDeviceType;
CHAR szManufacturer[NETDEV_LEN_32];
CHAR szDeviceModel[NETDEV_LEN_32];
UINT32 udwAccessProtocol;
LPNETDEV_VIDEO_CHL_DETAIL_EXTEND_INFO_S pstExtendedInformation ;
BYTE byRes[16];
}NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S, *LPNETDEV_VIDEO_CHL_DETAIL_INFO_EX_S;

Members:
Parameter Description

dwChannelID Channel ID

500 / 767
Network Device SDK (Windows) User Manual
bPtzSupported Whether PTZ is supported
enStatus Channel status
dwStreamNum Number of streams
enChannelType Channel type
enVideoFormat Video input format. Invalid when ChannelType is
NETDEV_CHL_TYPE_DIGITAL. (note: Effective to hybrid NVR only)
enAddressType IP address type
szIPAddr IP address
dwPort Port number
szChnName Channel name
allowDistribution Whether allows CDN
dwDeviceType Type of connected device. See NETDEV_CHANNEL_CAMERA_TYPE_E.
szManufacturer Manufacturer. Range: [0,31]
szDeviceModel Device model. Range: [0,31]
udwAccessProtocol Protocol type. ONVIF: 1 Private protocol: 2 GB/T28181: 3 Custom
protocol: Custom protocol. Use
NETDEV_GetDevConfig/NETDEV_SetDevConfig to get and configure custom
protocol info.
pstExtendedInformation Extended attribute. Memory needs to be allocated dynamically.

byRes Reserved field.

See also:
NETDEV_QueryVideoChlDetailListEx

4.27.289 Detailed video channel info (expansion)

typedef struct tagNETDEVVideoChlDetailExtendInfo


{
UINT32 udwIsPoEPort;
UINT32 udwPoEStatus;
CHAR szAccessAddress[NETDEV_IPADDR_STR_MAX_LEN];
CHAR szMACAddress[NETDEV_IPADDR_STR_MAX_LEN];
CHAR szDDNSAddress[NETDEV_IPADDR_STR_MAX_LEN];
UINT32 udwOffReason;
UINT32 udwRemoteIndex;
CHAR szGBID[NETDEV_LEN_32];
UINT32 udwAddType;
UINT32 udwOrgID;
UINT32 udwDevID;
CHAR szDevName[NETDEV_LEN_64];
UINT32 udwChlIndex;
UINT32 udwAudioResID;
BYTE byRes[512];
}NETDEV_VIDEO_CHL_DETAIL_EXTEND_INFO_S, *LPNETDEV_VIDEO_CHL_DETAIL_EXTEND_INFO_S;

501 / 767
Network Device SDK (Windows) User Manual
Members:
Parameter Description

udwIsPoEPort Whether PoE port is supported. 0: No 1: Yes


udwPoEStatus PoE port status. See NETDEV_POE_STATUS_E.
szAccessAddress Device access address. Range: [0, 63]. Required for NVR.
szMACAddress Device MAC address. Range: [0, 63]. Applicable to NVR.
szDDNSAddress DDNS server address. Range: [0,64].
udwOffReason Offline cause. NETDEV_CHN_OFF_REASON_E.
udwRemoteIndex Remote channel ID (channel ID of multi-channel device)

szGBID GB resource ID. Range: [0, 31]

udwAddType Adding mode. 0: Manual 1: Plug and Play


udwOrgID Organization ID. Required for VMS.
udwDevID Parent device ID. Required for VMS.
szDevName Parent device name. Range: [0, 64]. Required for VMS.
udwChlIndex Channel index ID. Required for VMS.
udwAudioResID Corresponding audio channel ID. Required for VMS.
byRes Reserved field.

See also:
NETDEV_VIDEO_CHL_DETAIL_INFO_EX_S

4.27.290 Alarm/event report info

typedef struct tagNETDEVReportInfo


{
INT32 dwReportType;
NETDEV_ALARM_INFO_V30_S stAlarmInfo;
NETDEV_EVENT_INFO_S stEventInfo;
}NETDEV_REPORT_INFO_S, *LPNETDEV_REPORT_INFO_S;

Members:
Parameter Description

dwReportType Report type. See NETDEV_REPORT_TYPE_E.


stAlarmInfo Alarm info. Valid when dwReportType is NETDEV_REPORT_TYPE_ALARM.
stEventInfo Event info. Valid when dwReportType is NETDEV_REPORT_TYPE_EVENT.

See also:
NETDEV_SetAlarmCallBack_V30

502 / 767
Network Device SDK (Windows) User Manual
4.27.291 Alarm message

typedef struct tagNETDEVAlarmInfoV30


{
INT32 dwAlarmType;
INT32 dwAlarmSubType;
INT32 dwAlarmLevel;
INT64 tAlarmTimeStamp;
INT32 dwChannelID;
INT32 dwAlarmID;
INT32 dwAlarmSrcID;
CHAR szAlarmSrc[NETDEV_ALARM_SOURCE_MAX_LEN];
BOOL IsAlarmSnapExisted;
UINT16 wIndex;
INT32 dwTotalBandWidth;
INT32 dwUnusedBandwidth;
INT32 dwTotalStreamNum;
INT32 dwFreeStreamNum;
INT32 dwMediaMode;
INT32 dwEventCode;
INT32 dwReserved;
CHAR szFileName[NETDEV_LEN_256];
CHAR szDeviceID[NETDEV_LEN_64];
CHAR szRelatedID[NETDEV_LEN_32];
INT32 dwObjectNum;
LPNETDEV_OBJECT_LIST_S pstObjectList;
BYTE byRes[144];
}NETDEV_ALARM_INFO_V30_S, *LPNETDEV_ALARM_INFO_V30_S;

Members:
Parameter Description

dwAlarmType Alarm type. See NETDEV_ALARM_TYPE_E.


dwAlarmSubType Alarm sub type. See NETDEV_ALARM_SUBTYPE_E.
dwAlarmLevel Alarm level. 1 to 5 (1 is the severest)
tAlarmTimeStamp Alarm time
dwChannelID Channel ID. Applicable to non-VMS devices.
dwAlarmID Alarm ID. Applicable to VMS.
dwAlarmSrcID Alarm source ID. See NETDEV_ALARM_SRC_TYPE_E.
szAlarmSrc Alarm source info (name)
IsAlarmSnapExisted Whether an alarm snapshot exists. 0: No 1: Yes. Applicable to VMS.
wIndex Index number
dwTotalBandWidth Current total bandwidth (unit: Mbps)
dwUnusedBandwidth Current idle bandwidth (unit: Mbps)
dwTotalStreamNum Total number of streams
503 / 767
Network Device SDK (Windows) User Manual
dwFreeStreamNum Number of unused streams
dwMediaMode Stream type. See NETDEV_MEDIA_MODE_E.
dwEventCode Event type. Used to report decoding layer events. See
NETDEV_PLAYER_RUN_INFO_TYPE_E
dwReserved Reserved parameters for reporting decoding layer events.
szFileName Parameter for reporting strings.
szDeviceID Alarm device ID. Filled in with the device’s GB code if the device
is connected via GB. Length: [1,32]. Applicable to IPC and VM.
szRelatedID ID that relates an alarm event with alarm data. Must be unique in a
camera. 15 characters long. Required if alarm-related data exists.
dwObjectNum Number of objects
pstObjectList Object list. Memory needs to be allocated dynamically according to
udwSize. See NETDEV_OBJECT_LIST_S.
byRes Reserved field.

See also:
NETDEV_REPORT_INFO_S

4.27.292 Event info

typedef struct tagNETDEVEventInfo


{
INT32 dwSize;
NETDEV_EVENT_RES_S astEventRes[NETDEV_MAX_EVENT_RES_SIZE];
INT32 dwEventActionType;
LPNETDEV_EVENT_RES_S pstEventRes;
BYTE byRes[28];
}NETDEV_EVENT_INFO_S, *LPNETDEV_EVENT_INFO_S;

Members:
Parameter Description

dwSize Number of resources


astEventRes Event resource info
dwEventActionType Event type. See NETDEV_EVENT_ACTION_TYPE_E.
pstEventRes Memory needs to be allocated dynamically if the event exceeds
NETDEV_MAX_EVENT_RES_SIZE.
byRes Reserved field.

See also:
NETDEV_REPORT_INFO_S

504 / 767
Network Device SDK (Windows) User Manual
4.27.293 Event resource info

typedef struct tagNETDEVEventRes


{
INT32 dwResType;
INT32 dwResID;
INT32 dwFirstSubResID;
INT32 dwSecondSubResID;
BYTE byRes[16];
}NETDEV_EVENT_RES_S, *LPNETDEV_EVENT_RES_S;

Members:
Parameter Description

dwResType Resource type. See NETDEV_EVENT_RES_TYPE_E.


dwResID Resource ID
dwFirstSubResID First sub resource ID
dwSecondSubResID Second sub resource ID. Different resource types have different
meanings. For example, the resource ID of video wall window resources
is video wall ID, the first sub resource ID is the window ID, and the
second sub resource ID is the split window ID.
byRes Reserved field.

See also:
NETDEV_EVENT_INFO_S

4.27.294 Pull alarm info

typedef struct tagNETDEVPullAlarmInfo


{
NETDEV_ALARM_TYPE_E enAlarm;
INT32 dwChancelId;
}NETDEV_PULLALARM_INFO_S, *LPNETDEV_PULLALARM_INFO_S;

Members:
Parameter Description

enAlarm Alarm type


dwChancelId Channel ID, applicable to NVR

See also:
NETDEV_PullAlarm

505 / 767
Network Device SDK (Windows) User Manual
4.27.295 People counting

typedef struct tagNETDEVTrafficStatisticsInfo


{
BOOL bIsSuccess; /* Query if succeeded*/
INT32 dwChannelID; /* Channel ID*/
UINT32 udwSize; /* Number of time periods*/
UINT32 audwEnterCount[NETDEV_PEOPLE_CNT_MAX_NUM]; /* Number of people entered*/
UINT32 audwExitCount[NETDEV_PEOPLE_CNT_MAX_NUM]; /* Number of people left */
BYTE byRes[6]; /* Reserved field */
}NETDEV_TRAFFIC_STATISTICS_INFO_S, *LPNETDEV_TRAFFIC_STATISTICS_INFO_S;

Members:
Parameter Description

bIsSuccess Query whether succeeded


dwChannelID Channel ID
udwSize Number of time periods
audwEnterCount Count the number of people that have entered
audwExitCount Count the number of people that have left.
byRes Reserved field.

See also:
NETDEV_FindNextTrafficStatisticInfo

4.27.296 People counting command

typedef struct tagNETDEVTrafficStatisticsCond


{
INT32 dwChannelID;
INT32 dwStatisticsType;
INT32 dwFormType;
INT64 tBeginTime;
INT64 tEndTime;
}NETDEV_TRAFFIC_STATISTICS_COND_S, *LPNETDEV_TRAFFIC_STATISTICS_COND_S;

Members:
Parameter Description

dwChannelID Channel ID
dwStatisticsType Statistics type. See NETDEV_TRAFFIC_STATISTICS_TYPE_E
dwFormType Statistical report. See NETDEV_FORM_TYPE_E
tBeginTime Start time
tEndTime End time

506 / 767
Network Device SDK (Windows) User Manual
See also:
NETDEV_GetTrafficStatistic, NETDEV_StartTrafficStatistic

4.27.297 People counting

typedef struct tagNETDEVTrafficStatisticsData


{
INT32 dwSize;
INT32 adwEnterCount[NETDEV_PEOPLE_CNT_MAX_NUM];
INT32 adwExitCount[NETDEV_PEOPLE_CNT_MAX_NUM];
}NETDEV_TRAFFIC_STATISTICS_DATA_S, *LPNETDEV_TRAFFIC_STATISTICS_DATA_S;

Members:
Parameter Description

dwSize Report length. Varies with report type.


adwEnterCount Count of people that have entered
adwExitCount Count of people that have left

See also:
NETDEV_GetTrafficStatistic

4.27.298 Time interval for reporting people counting statistics

typedef struct tagNETDEVTrafficStatisticsReportTime


{
UINT32 udwReportTimeInterval;
BOOL bEnable;
}NETDEV_TRAFFIC_STATISTICS_REPORT_TIME_S, *LPNETDEV_TRAFFIC_STATISTICS_REPORT_TIME_S;

Members:
Parameter Description

udwReportTimeInterval Time interval (unit: second)


bEnable Enable or disable. 0: Disable 1: Enable

See also:
NETDEV_GetTrafficStatisticReportTime

4.27.299 Multi-channel people counting command

typedef struct tagNETDEVMultiTrafficStatisticsCond


{
NETDEV_OPERATE_LIST_S stChannelIDs;
UINT32 udwStatisticsType;

507 / 767
Network Device SDK (Windows) User Manual
UINT32 udwFormType;
INT64 tBeginTime;
INT64 tEndTime;
BYTE byRes[256];
}NETDEV_MULTI_TRAFFIC_STATISTICS_COND_S, *LPNETDEV_MULTI_TRAFFIC_STATISTICS_COND_S;

Members:
Parameter Description

stChannelIDs Channel ID list


udwStatisticsType See NETDEV_TRAFFIC_STATISTICS_TYPE_E.
udwFormType See NETDEV_TRAFFIC_STATIC_FORM_TYPE_E.
tBeginTime Start time
tEndTime End time
byRes Reserved field

See also:
NETDEV_StartMultiTrafficStatistic

4.27.300 People counting info

typedef struct tagNETDEVPassengerFlowStatisticData


{
INT32 dwChannelID;
INT64 tReportTime;
INT32 tInterval;
INT32 dwEnterNum;
INT32 dwExitNum;
INT32 dwTotalEnterNum;
INT32 dwTotalExitNum;
}NETDEV_PASSENGER_FLOW_STATISTIC_DATA_S, *LPNETDEV_PASSENGER_FLOW_STATISTIC_DATA_S;

Members:
Parameter Description

dwChannelID Channel ID
tReportTime Report time (Unix timestamp)
tInterval Time interval
dwEnterNum Number of people that have entered
dwExitNum Number of people that have left
dwTotalEnterNum Total number of people that have entered
dwTotalExitNum Total number of people that have left

See also:

508 / 767
Network Device SDK (Windows) User Manual
NETDEV_PassengerFlowStatisticCallBack_PF

4.27.301 Structure of info about Xware device capability

typedef struct tagNETDEVXWCAPINFO


{
NETDEV_XW_TVWALL_CAP_S stTVWall;
NETDEV_XW_FORMAT_LIST_S stVideoFormats;
NETDEV_XW_Wnd_CAP_S stWnd;
NETDEV_XW_BASEMAP_CAP_S stBaseMap;
NETDEV_XW_VIRTUALLED_CAP_S stVirtualLED;
NETDEV_XW_SEQUENCE_CAP_S stSequence;
NETDEV_XW_SUPPORT_CAP_S stSupport;
BOOL bIsRSASupported;
BOOL bIsDevMgrSupported;
BOOL bIsDecodeSupported;
BOOL bIsChromaCalSupported;
UINT32 udwSuggestVideoFormat;
UINT32 udwSupportExVideoFormatNum;
LPNETDEV_XW_FORMAT_EX_LIST_S pstVideoFormatsEx;
UINT32 udwBatchCapabilities;
BOOL bIsOrderNOSupported;
LPNETDEV_XW_ALARM_CAP_S pstAlarmCap;
UINT32 udwDeviceID;
BYTE byRes[24];
}NETDEV_XW_CAP_INFO_S, *LPNETDEV_XW_CAP_INFO_S;

Members:
Parameter Description
stTVWall Video wall capability
stVideoFormats Video output format list
stWnd Window capability
stBaseMap Background image capability
stVirtualLED Virtual LED capability
stSequence Sequence display capability
stSupport Capability of features
bIsRSASupported Whether RSA is supported
bIsDevMgrSupported Whether device management is supported
bIsDecodeSupported Whether decoding is supported
bIsChromaCalSupported Whether chroma correction is supported
udwSuggestVideoFormat Recommended resolution. See NETDEV_VIDEO_FORMAT_E.
udwSupportExVideoFormatNum Number of supported expansion video output formats
List of supported expansion video output formats. Memory needs to be
pstVideoFormatsEx
allocated dynamically according to udwSupportExVideoFormatNum.
udwBatchCapabilities Batch operation capability. Described by bit. Bit1: Open/close window
509 / 767
Network Device SDK (Windows) User Manual
Bit2: Roam Bit3: Split window Bit4: Window ID.
bIsOrderNOSupported Whether sequence number is supported.
pstAlarmCap Device alarm capability
udwDeviceID Device ID. Applicable to VMS only.
byRes Reserved field.

See also:
NETDEV_XW_GetCapability

4.27.302 Structure of video wall capability

typedef struct tagNETDEVXWTVWallCap


{
UINT32 udwNumMax;
UINT32 udwSceneMax;
UINT32 udwRowMax;
UINT32 udwColumnMax;
UINT32 udwScenesPlanMax;
UINT32 udwMaxPerTVWallVideoOutNum;
BYTE byRes[56];
}NETDEV_XW_TVWALL_CAP_S, *LPNETDEV_XW_TVWALL_CAP_S;

Members:
Parameter Description
udwNumMax Maximum number of video walls
udwSceneMax Maximum number of scenes per video wall
udwRowMax Maximum number of rows per video wall
udwColumnMax Maximum number of rows per video wall
udwScenesPlanMax Maximum number of scene group plans per video wall
Maximum number of video outputs per video wall. The product of the rows
udwMaxPerTVWallVideoOutNum
and columns of the video wall cannot exceed the limit.
byRes Reserved field.

4.27.303 Structure of video output format list

typedef struct tagNETDEVXWFormatList


{
UINT32 udwSize;
UINT32 adwFormatList[NETDEV_VIDEO_FORMAT_MAX];
BYTE byRes[64];
}NETDEV_XW_FORMAT_LIST_S, *LPNETDEV_XW_FORMAT_LIST_S;

Members:
Parameter Description
udwSize Number of video output formats supported

510 / 767
Network Device SDK (Windows) User Manual
adwFormatList Supported video output formats. See NETDEV_VIDEO_FORMAT_E.
byRes Reserved field.

4.27.304 Structure of window capability

typedef struct tagNETDEVXWWndCap


{
UINT32 udwWndMaxPerScene;
UINT32 udwAreaMax;
UINT32 udwPaneMax;
NETDEV_XW_RESOLUTION_S stResolutionMin;
BYTE byRes[64];
}NETDEV_XW_Wnd_CAP_S, *LPNETDEV_XW_Wnd_CAP_S;

Members:
Parameter Description
udwWndMaxPerScene Maximum number of windows per scene
udwAreaMax Maximum window size per physical output
udwPaneMax Maximum number of split windows per window
stResolutionMin Minimum window resolution
byRes Reserved field.

4.27.305 Structure of background image capability

typedef struct tagNETDEVXWBaseMapCap


{
UINT32 udwNumMax;
UINT32 udwNumMaxPerScene;
UINT32 udwMaxBaseMapSize;
NETDEV_XW_RESOLUTION_S stResolutionMax;
NETDEV_XW_RESOLUTION_S stResolutionMin;
CHAR szBaseMapType[NETDEV_LEN_40];
BYTE byRes[16];
}NETDEV_XW_BASEMAP_CAP_S, *LPNETDEV_XW_BASEMAP_CAP_S;

Members:
Parameter Description
udwNumMax Maximum number of background images supported
udwNumMaxPerScene Maximum number of background images per scene
udwMaxBaseMapSize Supported image size (unit: MB)
stResolutionMax Maximum resolution of background image
stResolutionMin Minimum resolution of background image
szBaseMapType Supported image format
byRes Reserved field.

511 / 767
Network Device SDK (Windows) User Manual
4.27.306 Structure of virtual LED capability

typedef struct tagNETDEVXWVirtualLEDCap


{
UINT32 udwNumMaxPerScene;
UINT32 udwRowMax;
UINT32 udwCharMaxPerRow;
UINT32 udwRollingNumPerSceneMax;
UINT32 udwTextHightMax;
UINT32 udwGapMax;
UINT32 udwCharsMax;
UINT32 udwSupVirtualLEDDifColors;
UINT32 udwMaxPerSceneTimeLEDNum;
BYTE byRes[40];
}NETDEV_XW_VIRTUALLED_CAP_S, *LPNETDEV_XW_VIRTUALLED_CAP_S;

Members:
Parameter Description
udwNumMaxPerScene Maximum number of virtual LEDs per scene
udwRowMax Maximum number of rows per virtual LED
udwCharMaxPerRow Maximum number of characters per row
udwRollingNumPerSceneMax Maximum number of scrolling virtual LEDs
udwTextHightMax Maximum font height
udwGapMax Maximum number of pixels allowed for adaptive gap
udwCharsMax Maximum number of characters
udwSupVirtualLEDDifColors Whether virtual LED can display different colors. 0: No 1: Yes
udwMaxPerSceneTimeLEDNum Maximum number of time virtual LEDs per scene
byRes Reserved field.

4.27.307 Structure of sequence display capability

typedef struct tagNETDEVXWSequenceCap


{
UINT32 udwSrcNumMax;
UINT32 udwPaneNumMax;
UINT32 udwWndNumMax;
UINT32 udwSceneNumMax;
UINT32 udwVideoSourceMax;
UINT32 udwSeqResourceInSceneMax;
BYTE byRes[56];
}NETDEV_XW_SEQUENCE_CAP_S, *LPNETDEV_XW_SEQUENCE_CAP_S;

Members:
Parameter Description
udwSrcNumMax Maximum number of resources per sequence

512 / 767
Network Device SDK (Windows) User Manual
udwPaneNumMax Maximum number of sequences per split window
udwWndNumMax Maximum number of sequences per window
udwSceneNumMax Maximum number of scene sequences
udwVideoSourceMax Maximum number of cameras per sequence resource
udwSeqResourceInSceneMax Maximum number of sequence resources per scene
byRes Reserved field.

4.27.308 Structure of feature capability

typedef struct tagNETDEVXWSupportCap


{
UINT32 udwPane;
UINT32 udwWndRoaming;
UINT32 udwWnd;
BOOL bBackToShow;
BOOL bWndOverlay;
BOOL bTopWndSetTransp;
UINT32 udwMaxWinNumPerScreen;
NETDEV_XW_PANE_TYPE_S stPaneType;
UINT32 udwMaxEncodeDevicesNum;
UINT32 udwMaxVideoSourceNum;
UINT32 udwSupportWindowTypeNum;
UINT32 *paudwWindowType;
BOOL bAutoSelectSignalSrc;
BOOL bSupportCustomizeOutputFormat;
BOOL bSupportCustomizeInputFormat;
BYTE byRes[36];
}NETDEV_XW_SUPPORT_CAP_S, *LPNETDEV_XW_SUPPORT_CAP_S;

Members:
Parameter Description
udwPane Split window capability. See NETDEV_PANE_CAP_E
udwWndRoaming Window roaming capability. See NETDEV_ROAMING_CAP_E
udwWnd Window opening capability. See NETDEV_XW_WND_CAP_E
bBackToShow Whether back display is supported. 0: No 1: Yes
bWndOverlay Whether window overlay is supported. 0: No 1: Yes
bTopWndSetTransp Whether the top-level window supports transparency. 0: No 1: Yes
udwMaxWinNumPerScreen Maximum number of windows per physical output
stPaneType Supported split windows
udwMaxEncodeDevicesNum Maximum number of encoding devices
udwMaxVideoSourceNum Maximum number of video input channels
udwSupportWindowTypeNum Number of window opening modes supported
Window opening modes. See NETDEV_XW_LAYOUT_NUM_E. Memory needs to
paudwWindowType
be allocated dynamically according to the number of supported modes.
bAutoSelectSignalSrc Whether auto-selection of signal source is supported. 0: No 1: Yes
513 / 767
Network Device SDK (Windows) User Manual
bSupportCustomizeOutputFormat Whether custom output format is supported. 0: No 1: Yes
bSupportCustomizeInputFormat Whether custom local input EDID is supported. 0: No 1: Yes
byRes Reserved field.

4.27.309 Structure of info about window layout supported by Xware device

typedef struct tagNETDEVXWPaneType


{
UINT32 udwSize;
UINT32 *pudwPaneType;
}NETDEV_XW_PANE_TYPE_S, *LPNETDEV_XW_PANE_TYPE_S;

Members:
Parameter Description
udwSize Number of split windows supported
pudwPaneType Supported window layouts. See NETDEV_XW_LAYOUT_NUM_E

4.27.310 Structure of video output expansion format of Xware device

typedef struct tagNETDEVXWFormatListEx


{
UINT32 udwVideoOutID;
UINT32 udwFormatNum;
UINT32 adwFormatList[NETDEV_VIDEO_FORMAT_MAX];
BYTE byRes[64];
}NETDEV_XW_FORMAT_EX_LIST_S, *LPNETDEV_XW_FORMAT_EX_LIST_S;

Members:
Parameter Description
Video output channel ID, which is the unique identifier of a video output
channel. Obtained through the interface for getting device’s physical
udwVideoOutID
resources. Same as the VideoOutID passed by the NETDEV_XW_CreateTVWallCfg and
NETDEV_XW_CreateTVWallCfg_V30 interface.
udwFormatNum Number of video formats supported by video output channel
adwFormatList Supported video output formats. See NETDEV_VIDEO_FORMAT_E.
byRes Reserved field.

4.27.311 Structure of info about the number of channels

typedef struct tagNETDEVXWChannelsNum


{
UINT32 udwVideoInNum;
UINT32 udwVideoOutNum;
UINT32 udwAudioInNum;
UINT32 udwAudioOutNum;
BYTE byRes[64];
514 / 767
Network Device SDK (Windows) User Manual
}NETDEV_XW_CHANNELS_NUM_S, *LPNETDEV_XW_CHANNELS_NUM_S;

Members:
Parameter Description
udwVideoInNum Number of video input channels
udwVideoOutNum Number of video output channels
udwAudioInNum Number of audio input channels
udwAudioOutNum Number of audio output channels
byRes Reserved field.

See also:
NETDEV_XW_GetChannelsNum

4.27.312 Structure of info about decoding channels

typedef struct tagNETDEVXWChannelsList


{
UINT32 udwVideoInNum;
LPNETDEV_XW_VIDEO_IN_INFO_S pstVideoIn;
UINT32 udwVideoOutNum;
LPNETDEV_XW_VIDEO_OUT_INFO_S pstVideoOut;
UINT32 udwAudioInNum;
LPNETDEV_XW_AUDIO_IN_INFO_S pstAudioIn;
UINT32 udwAudioOutNum;
LPNETDEV_XW_AUDIO_OUT_INFO_S pstAudioOut;
UINT32 udwSerialNum;
LPNETDEV_XW_SERIAL_INFO_S pstSerialInfo;
BYTE byRes[56];
}NETDEV_XW_CHANNELS_LIST_S, *LPNETDEV_XW_CHANNELS_LIST_S;

Members:
Parameter Description
Number of video input channels. The maximum number of channels supported by
udwVideoInNum
ADU/CDU is required.
Video input channel info. Memory needs to be allocated dynamically according
pstVideoIn
to udwVideoInNum.
Number of video output channels. The maximum number of channels supported by
udwVideoOutNum
ADU/CDU is required.
Video output channel info. Memory needs to be allocated dynamically according
pstVideoOut
to udwVideoOutNum.
Number of audio input channels. The maximum number of channels supported by
udwAudioInNum
ADU/CDU is required.
Audio input channel info. Memory needs to be allocated dynamically according
pstAudioIn
to udwAudioInNum.
udwAudioOutNum Number of audio output channels. The maximum number of channels supported by
515 / 767
Network Device SDK (Windows) User Manual
ADU/CDU is required.
Audio output channel info. Memory needs to be allocated dynamically according
pstAudioOut
to udwAudioOutNum.
Number of serial port channels. The maximum number of channels supported by
udwSerialNum
ADU/CDU is required.
Serial port channel info. Memory needs to be allocated dynamically according
pstSerialInfo
to udwSerialNum.
byRes Reserved field.

See also:
NETDEV_XW_GetChannelsInfoList

4.27.313 Structure of info about video input channels

typedef struct tagNETDEVXWVideoInInfo


{
INT32 dwChannelID;
INT32 dwIndex;
UINT32 udwVideoPortType;
UINT32 udwStatus;
BYTE byRes[60];
}NETDEV_XW_VIDEO_IN_INFO_S, *LPNETDEV_XW_VIDEO_IN_INFO_S;

Members:
Parameter Description
dwChannelID Channel ID
dwIndex Sequence number
udwVideoPortType Channel type. See NETDEV_VIDEO_PORT_TYPE_E.
udwStatus Channel status. See NETDEV_CHN_STATUS_E.
byRes Reserved field.

4.27.314 Structure of info about video output channel of Xware device

typedef struct tagNETDEVXWVideoOutInfo


{
INT32 dwChannelID;
INT32 dwSlotID;
INT32 dwIndex;
UINT32 udwVideoPortType;
UINT32 udwStatus;
}NETDEV_XW_VIDEO_OUT_INFO_S, *LPNETDEV_XW_VIDEO_OUT_INFO_S;

Members:
Parameter Description
dwChannelID Channel ID

516 / 767
Network Device SDK (Windows) User Manual
dwSlotID Slot ID
dwIndex Sequence number
udwVideoPortType Channel type. See NETDEV_VIDEO_PORT_TYPE_E.
udwStatus Channel status. See NETDEV_CHN_STATUS_E.

4.27.315 Structure of info about audio input channel

typedef struct tagNETDEVXWAudioInInfo


{
INT32 dwChannelID;
UINT32 udwAudioPortType;
UINT32 udwIndex;
UINT32 udwStatus;
BYTE byRes[56];
}NETDEV_XW_AUDIO_IN_INFO_S, *LPNETDEV_XW_AUDIO_IN_INFO_S;

Members:
Parameter Description
dwChannelID Channel ID
udwAudioPortType Channel type. See NETDEV_AUDIO_PORT_TYPE_E.
udwIndex Serial number. Same as that printed on the device.
udwStatus Channel status. See NETDEV_CHN_STATUS_E.
byRes Reserved field.

4.27.316 Structure of info about audio output channel

typedef struct tagNETDEVXWAudioOutInfo


{
INT32 dwChannelID;
UINT32 udwAudioPortType;
UINT32 udwIndex;
UINT32 udwStatus;
BYTE byRes[56];
}NETDEV_XW_AUDIO_OUT_INFO_S, *LPNETDEV_XW_AUDIO_OUT_INFO_S;

Members:
Parameter Description
dwChannelID Channel ID
udwAudioPortType Channel type. See NETDEV_AUDIO_PORT_TYPE_E.
udwIndex Serial number. Same as that printed on the device.
udwStatus Channel status. See NETDEV_CHN_STATUS_E.
byRes Reserved field.

517 / 767
Network Device SDK (Windows) User Manual
4.27.317 Structure of info about serial interface channel

typedef struct tagNETDEVXWSerialInfo


{
INT32 dwChannelID;
INT32 dwIndex;
UINT32 udwSerialPortType;
UINT32 udwStatus;
BYTE byRes[60];
}NETDEV_XW_SERIAL_INFO_S, *LPNETDEV_XW_SERIAL_INFO_S;

Members:
Parameter Description
dwChannelID Channel ID
dwIndex Sequence number
udwSerialPortType Channel type. See NETDEV_XW_SERIAL_TYPE_E.
udwStatus Channel status. See NETDEV_CHN_STATUS_E.
byRes Reserved field.

4.27.318 Structure of video wall info

typedef struct tagNETDEVXWTVWallCfg


{
UINT32 udwTVWallID;
CHAR szTVWallCode[NETDEV_LEN_64];
CHAR szName[NETDEV_TVWALL_NAME_LEN];
UINT32 udwOrderNo;
NETDEV_TVWALL_SCREEN_S stScreenInfo;
UINT32 udwFormatSpecNum;
NETDEV_TVWALL_FORMAT_SPEC_S astFormatSpec[NETDEV_FORMAT_SPEC_MAX];
UINT32 udwLedSpecNum;
NETDEV_TVWALL_LED_SPEC_S astLedSpec[NETDEV_LED_SPEC_MAX];
UINT32 udwVideoOutNum;
NETDEV_TVWALL_VIDED_OUT_S astVideoOut[NETDEV_VIDEO_OUT_MAX];
UINT32 udwTVWallType;
INT32 dwXWDeviceID;
UINT32 udwZoomEnabled;
BYTE byRes[176];
}NETDEV_XW_TVWALL_CFG_S, *LPNETDEV_XW_TVWALL_CFG_S;

Members:
Parameter Description
udwTVWallID Video wall ID
szTVWallCode Video wall code (optional). Assigned by device. String length range: [1,64]
szName Video wall name

518 / 767
Network Device SDK (Windows) User Manual
udwOrderNo Video wall serial number
stScreenInfo Screen configuration
udwFormatSpecNum Number of special output formats
astFormatSpec Configuration of special output formats
udwLedSpecNum Number of LED screens
astLedSpec Configuration of LED screens
udwVideoOutNum Number of physical outputs
astVideoOut Physical output port list
udwTVWallType Video wall type
dwXWDeviceID -1: DC device >0: ADU device ID
udwZoomEnabled Whether zoom is enabled. 0: No 1: Yes
byRes Reserved field.

See also:
NETDEV_XW_CreateTVWallCfg, NETDEV_XW_ModifyTVWallCfg, NETDEV_XW_FindNextTVWallCfg,
NETDEV_XW_GetTVWallCfg

4.27.319 Structure of video wall screen configuration

typedef struct tagNETDEVTVWallScreen


{
UINT32 udwRowNum;
UINT32 udwColNum;
UINT32 udwFormat;
CHAR szFormat[NETDEV_FORMAT_NAME_LEN];
NETDEV_XW_RESOLUTION_S stResolution;
BYTE byRes[64];
}NETDEV_TVWALL_SCREEN_S, *LPNETDEV_TVWALL_SCREEN_S;

Members:
Parameter Description
udwRowNum Number of rows on video wall
udwColNum Number of columns on video wall
udwFormat Screen output format. See NETDEV_VIDEO_FORMAT_E.
szFormat No configuration needed. Screen output format.
stResolution Screen resolution
byRes Reserved field.

4.27.320 Structure of special output format specs

typedef struct tagNETDEVTVWallFORMATSPECList


{
UINT32 udwScreenID;
UINT32 udwFormat;
CHAR szFormat[NETDEV_FORMAT_NAME_LEN];

519 / 767
Network Device SDK (Windows) User Manual
BYTE byRes[32];
}NETDEV_TVWALL_FORMAT_SPEC_S, *LPNETDEV_TVWALL_FORMAT_SPEC_S;

Members:
Parameter Description
udwScreenID Screen ID (starts from 1)
udwFormat Screen output format. See NETDEV_VIDEO_FORMAT_E.
szFormat No configuration needed. Screen output format.
byRes Reserved field.

4.27.321 Structure of LED screens

typedef struct tagNETDEVTVWallLEDSPECList


{
UINT32 udwScreenID;
NETDEV_XW_RESOLUTION_S stResolution;
BYTE byRes[32];
}NETDEV_TVWALL_LED_SPEC_S, *LPNETDEV_TVWALL_LED_SPEC_S;

Members:
Parameter Description
udwScreenID Screen ID (starts from 1)
stResolution Screen resolution
byRes Reserved field.

4.27.322 Structure of physical output configuration

typedef struct tagNETDEVTVWallVOUTList


{
UINT32 udwScreenID;
UINT32 udwVideoOutID;
BYTE byRes[32];
}NETDEV_TVWALL_VIDED_OUT_S, *LPNETDEV_TVWALL_VIDED_OUT_S;

Members:
Parameter Description
udwScreenID Screen ID (starts from 1)
udwVideoOutID Physical output port ID
byRes Reserved field.

4.27.323 Structure of virtual LED info

typedef struct tagNETDEVXWVirtualLEDInfo


{
UINT32 udwLEDID;

520 / 767
Network Device SDK (Windows) User Manual
UINT32 udwModifyCmd;
UINT32 udwEnable;
UINT32 udwType;
NETDEV_XW_AREA_S stArea;
NETDEV_XW_BACKGROUND_S stBackground;
NETDEV_XW_FONT_INFO_S stFontInfo;
CHAR szText[NETDEV_TEXT_LEN];
BYTE byRes[32];
}NETDEV_XW_VIRTUAL_LED_INFO_S, *LPNETDEV_XW_VIRTUAL_LED_INFO_S;

Members:
Parameter Description
udwLEDID Virtual LED ID
udwModifyCmd Modification command word. See NETDEV_XW_LED_CMD_E.
udwEnable Enable or disable virtual LED. 0: Disable 1: Enable
udwType Virtual LED type. See NETDEV_XW_LED_TYPE_E.
stArea Virtual LED location info
stBackground Background
stFontInfo Font info
szText Text content
byRes Reserved field.

See also:
NETDEV_XW_CreateVirtualLED, NETDEV_XW_SetVirtualLED,
NETDEV_XW_GetVirtualLED, NETDEV_XW_FindNextVirtualLED

4.27.324 Structure of background

typedef struct tagNETDEVXWBackground


{
UINT32 udwTransparency;
UINT32 udwBaseColor;
BYTE byRes[16];
}NETDEV_XW_BACKGROUND_S, *LPNETDEV_XW_BACKGROUND_S;

Members:
Parameter Description
udwTransparency Transparency. 0: Fully transparent (default) 100: Opaque
Color. RGB:0xABCDEF AB means R 00~FF CD means G 00~FF EF means B 00~FF
udwBaseColor
default: 0xFFFFFF (white)
byRes Reserved field.

4.27.325 Structure of font info

typedef struct tagNETDEVXWFontInfo

521 / 767
Network Device SDK (Windows) User Manual
{
UINT32 udwFont;
UINT32 udwSize;
UINT32 udwReferFontSize;
UINT32 udwGap;
UINT32 udwHorizontalAlign;
UINT32 udwVerticalAlign;
UINT32 udwColor;
UINT32 udwScrollMode;
UINT32 udwScrollRateSec;
UINT32 udwReferFontGap;
BOOL bVoiceBroadcast;
BOOL bBold;
BOOL bSlope;
BOOL bUnderline;
UINT32 udwLineSpace;
BYTE byRes[12];
}NETDEV_XW_FONT_INFO_S, *LPNETDEV_XW_FONT_INFO_S;

Members:
Parameter Description
udwFont Font. See NETDEV_XW_LED_FONT_FORMAT_E.
Font size. For range 0 to 7, see NETDEV_XW_LED_FONT_SIZE_E. The range for the
udwSize
rest is [48,1024], indicating the actual height (in pixel).
Reference font size. Required when udwSize is set to “adaptive”. For the
udwReferFontSize
value range, see the Size filed.
udwGap Font space. See NETDEV_XW_LED_FONT_GAP_E.
udwHorizontalAlign Horizontal alignment mode. See NETDEV_XW_HORIZONTAL_ALIGN_MODE_E.
udwVerticalAlign Vertical alignment mode. See NETDEV_XW_VERTICAL_ALIGN_MODE_E.
Color. RGB:0xABCDEF AB means R 00~FF CD means G 00~FF EF means B 00~FF
udwColor
default: 0xFFFFFF (white)
udwScrollMode Text scrolling mode. See NETDEV_XW_LED_SCROLLING_MODE_E.
Scrolling speed (unit: second). Required when ScrollingMode is not 0. Range:
udwScrollRateSec
1x-10x (1x is the default and the slowest).
Reference font spacing. Valid when udwGap is “adaptive”. Range: 0-1024
udwReferFontGap
(actual width in pixel)
bVoiceBroadcast Voice broadcast 0: No 1: Yes
bBold Bold. 0: No 1: Yes
bSlope Slope. 0: No 1: Yes
bUnderline Underline. 0: No 1: Yes
udwLineSpace Specified line spacing in pixels
byRes Reserved field.

522 / 767
Network Device SDK (Windows) User Manual
4.27.326 Structure of window info

typedef struct tagNETDEVXWSceneWndInfo


{
UINT32 udwWndID;
UINT32 udwModifyCmd;
CHAR szWndName[NETDEV_WND_NAME_LEN];
UINT32 udwPaneMod;
UINT32 udwLayer;
UINT32 udwTransparency;
NETDEV_XW_AREA_S stArea;
UINT32 udwZoomType;
UINT32 udwSplitIndex;
UINT32 udwSchemeResID;
UINT32 udwSeqStatus;
UINT32 udwPaneSize;
NETDEV_XW_PANE_INFO_S astPaneInfoList[NETDEV_XW_MAX_PANE_NUM];
UINT32 udwWndType;
UINT32 udwDChlID;
UINT32 udwStatus;
UINT32 udwScaleEnabled;
BYTE byRes[240];
}NETDEV_XW_SCENE_WND_INFO_S, *LPNETDEV_XW_SCENE_WND_INFO_S;

Members:
Parameter Description
udwWndID Window ID
udwModifyCmd Modification command word. See NETDEV_XW_WND_CMD.
szWndName Window name
udwPaneMod Split window mode. Default : 1. See NETDEV_XW_LAYOUT_NUM_E.
udwLayer Layer. The layer with the greatest number is on the top.
Degree of transparency. Range: 0-100. 0: Opaque (default) 100: Fully
udwTransparency
transparent
stArea Location info
udwZoomType Magnification type. See NETDEV_XW_ZOOM_TYPE_E.
udwSplitIndex Split window ID. Valid when udwZoomType is NETDEV_XW_ZOOM_TYPE_SPLIT.
udwSchemeResID Sequence resource ID
udwSeqStatus Sequence status. See NETDEV_SEQ_STATUS_E.
udwPaneSize Number of split windows
astPaneInfoList All split window info
udwWndType Window type. See NETDEV_TVWALL_WND_TPYE.
udwDChlID DC channel ID
udwStatus 0: Not lock 1: Lock
Scale status. See NETDEV_SCALE_ENABLED_E. Used only by LED sending and control
udwScaleEnabled
device. Default: Full
523 / 767
Network Device SDK (Windows) User Manual
byRes Reserved field.

See also:
NETDEV_XW_CreateWnd, NETDEV_XW_ModifyWnd, NETDEV_XW_FindNextWnd, NETDEV_XW_GetWnd

4.27.327 Structure of split window info

typedef struct tagNETDEVXWPaneInfo


{
UINT32 udwPaneID;
INT32 dwChannelID;
UINT32 udwStreamIndex;
UINT32 udwTaskNo;
UINT32 udwTransProtocal;
UINT32 udwSessionType;
}NETDEV_XW_PANE_INFO_S, *LPNETDEV_XW_PANE_INFO_S;

Members:
Parameter Description
udwPaneID Split window ID
dwChannelID Channel ID
udwStreamIndex Stream index
udwTaskNo Service ID
udwTransProtocal Transport protocol. See NETDEV_PROTOCAL_E.
udwSessionType Session type of split window. See NETDEV_SESSION_TYPE_E

4.27.328 Structure of window list info

typedef struct tagNETDEVXWBatchWindowInfoList


{
UINT32 udwOperation;
UINT32 udwNum;
LPNETDEV_XW_SENCE_BATCH_WND_S pstSceneWinInfo;
BYTE byRes[256];
}NETDEV_XW_WND_INFO_LIST_S,*LPNETDEV_XW_WND_INFO_LIST_S;

Members:
Parameter Description
Batch window operation. 0: Roam windows in batches 1: Set split windows in
udwOperation
batches
udwNum Number of windows
pstSceneWinInfo Window list
byRes Reserved field.

See also:

524 / 767
Network Device SDK (Windows) User Manual
NETDEV_XW_CreateBatchWnd, NETDEV_XW_ModifyBatchWnd

4.27.329 Structure of window info for batch window opening

typedef struct tagNETDEVXWSenceBatchWnd


{
UINT32 udwReqSeq;
NETDEV_XW_SCENE_WND_INFO_S stSenceWndInfo;
BYTE byRes[32];
}NETDEV_XW_SENCE_BATCH_WND_S, *LPNETDEV_XW_SENCE_BATCH_WND_S;

Members:
Parameter Description
udwReqSeq Sequence number of request data
stSenceWndInfo Window info
byRes Reserved field.

4.27.330 Structure of info about batch operation results

typedef struct tagNETDEVXWSenceBatchResultList


{
UINT32 udwSize;
UINT32 udwLastChange;
LPNETDEV_XW_BATCH_RESULT_WND_S pstResultInfo;
BYTE byRes[32];
}NETDEV_XW_BATCH_RESULT_LIST_S, *LPNETDEV_XW_BATCH_RESULT_LIST_S;

Members:
Parameter Description
udwSize Number of windows
udwLastChange Summary
pstResultInfo Window info. Memory needs to be allocated dynamically according to udwSize.
byRes Reserved field.

See also:
NETDEV_XW_CreateBatchWnd, NETDEV_XW_ModifyBatchWnd,
NETDEV_XW_DeleteBatchWnd, NETDEV_AddACSPersonList

4.27.331 Structure of returned result of opening windows in batches

typedef struct tagNETDEVXWSenceBatchResultWnd


{
UINT32 udwReqSeq;
UINT32 udwResuleCode;
UINT32 udwWinID;
}NETDEV_XW_BATCH_RESULT_WND_S, *LPNETDEV_XW_BATCH_RESULT_WND_S;
525 / 767
Network Device SDK (Windows) User Manual

Members:
Parameter Description
udwReqSeq Sequence number of request data
udwResuleCode Returned error code.
udwWinID Window ID

4.27.332 Structure of screen zoom info

typedef struct tagNETDEVXWScreenZoomInfo


{
UINT32 uOperatedType;
UINT32 uOperatedMode;
UINT32 uSplitScreenIndex;
}NETDEV_XW_SCREEN_ZOOM_INFO_S, *LPNETDEV_XW_SCREEN_ZOOM_INFO_S;

Members:
Parameter Description
uOperatedType Screen operation type. See NETDEV_XW_SCREEN_ZOOM_TYPE_E.
uOperatedMode Screen operation mode. See NETDEV_XW_SCREEN_ZOOM_MODE_E.
ID of the screen that needs to be magnified to the full screen. Valid when
uSplitScreenIndex
uOperatedType is 0 and uOperatedMode is 1.

See also:
NETDEV_XW_ZoomScreen

4.27.333 Structure of decoding device ID info

typedef struct tagNETDEVXWDisplayerID


{
UINT32 udwTVWallID;
UINT32 udwWndID;
UINT32 udwPaneID;
BYTE byRes[16];
}NETDEV_XW_DISPLAYER_ID_S, *LPNETDEV_XW_DISPLAYER_ID_S;

Members:
Parameter Description
udwTVWallID Video wall ID
udwWndID Window ID
udwPaneID Split window ID
byRes Reserved field.

See also:
NETDEV_XW_GetLiveBind, NETDEV_XW_CreateLiveBind,

526 / 767
Network Device SDK (Windows) User Manual
NETDEV_XW_DeleteLiveBind, NETDEV_StartPassiveDecode

4.27.334 Structure of video source info

typedef struct tagNETDEVXWVideoSource


{
NETDEV_XW_DISPLAYER_ID_S stDisplayerID;
UINT32 udwVideoInID;
CHAR szRealplayURL[NETDEV_MAX_URL_LEN];
UINT32 udwStreamID;
NETDEV_AUTHENTICATION_S stAuthentication;
UINT32 udwTransProtocol;
UINT32 udwMulticast;
UINT32 udwType;
UINT32 udwDecodeType;
UINT32 udwManageType;
LPNETDEV_XW_CONTENT_INFO_S pstContentInfo;
BYTE byRes[56];
}NETDEV_XW_VIDEO_SOURCE_S, *LPNETDEV_XW_VIDEO_SOURCE_S;

Members:
Parameter Description
stDisplayerID Device ID
udwVideoInID Video source ID
szRealplayURL Media stream URL. Configuration is not needed for local input.
udwStreamID Media stream ID
stAuthentication Authentication info
Transport protocol. See NETDEV_LAPI_TRANS_PROTOCOL_E. Configuration is not
udwTransProtocol
needed for local input.
udwMulticast Unicast or multicast. See NETDEV_STREAM_TYPE_E. Optional for local input.
udwType Live view type. See NETDEV_XW_REALPLAY_TYPE_E.
udwDecodeType Decoding type. See NETDEV_XW_DECODE_TYPE_E.
udwManageType Resource management type. See NETDEV_XW_MANAGE_TYPE_E.
pstContentInfo Text info
byRes Reserved field.

See also:
NETDEV_XW_GetLiveBind, NETDEV_XW_CreateLiveBind,
NETDEV_XW_FindNextLiveBindInfo, NETDEV_StartPassiveDecode

4.27.335 Structure of authentication info

typedef struct tagNETDEVAuthentication


{
BOOL bIsNeedAuthentication;

527 / 767
Network Device SDK (Windows) User Manual
CHAR szUserName[NETDEV_USER_NAME_ENCRYPT_LEN];
CHAR szPassword[NETDEV_PASSWORD_ENCRYPT_LEN];
NETDEV_AUTH_MODEL_E enAuthModel;
BYTE byRes[64];
}NETDEV_AUTHENTICATION_S, *LPNETDEV_AUTHENTICATION_S;

Members:
Parameter Description
bIsNeedAuthentication Whether authentication is required
szUserName Username for video source
szPassword Password for video source
enAuthModel Reserved field. Encryption type. See NETDEV_AUTH_MODEL_E.
byRes Reserved field.

4.27.336 Structure of font info

typedef struct tagNETDEVXWContentInfo


{
CHAR szContent[NETDEV_LEN_260];
UINT32 udwFontType;
UINT32 udwFontSize;
UINT32 udwColor;
UINT32 udwPosition;
BYTE byRes[128];
}NETDEV_XW_CONTENT_INFO_S, *LPNETDEV_XW_CONTENT_INFO_S;

Members:
Parameter Description
szContent Text content
udwFontType Font style. See NETDEV_XW_LED_FONT_FORMAT_E.
udwFontSize Font size. 0: Adaptive. 48-1024: Font height in pixels
Color in RGB: 0xABCDEF. AB means R (00~FF) CD means G (00~FF) EF means
udwColor
B (00~FF) Default: 0xFF0000 (red)
udwPosition Font position. See NETDEV_XW_CONTENT_POSITION_E.
byRes Reserved field.

4.27.337 Structure of info about control parameters of sending passive decoding data

typedef struct tagNETDEVPassiveDecodeSend


{
INT32 dwTransType;
INT32 dwBufSize;
CHAR *pszBuffer;
BYTE byRes[128];
}NETDEV_PASSIVE_SEND_S, *LPNETDEV_PASSIVE_SEND_S;

528 / 767
Network Device SDK (Windows) User Manual

Members:
Parameter Description
dwTransType Transport type
dwBufSize Data size
pszBuffer Data content
byRes Reserved field.

See also:
NETDEV_SendPassiveData

4.27.338 Structure of detailed stream session info

typedef struct tagNETDEVXWSteamInfo


{
UINT32 udwTaskNo;
UINT32 udwType;
NETDEV_XW_STREAM_INFO_SRC_S stStreamInfoSrc;
NETDEV_XW_STREAM_INFO_DEST_S stStreamInfoDest;
NETDEV_XW_STREAM_INFO_MSG_S stStreamInfoMsg;
}NETDEV_XW_STREAM_INFO_S, *LPNETDEV_XW_STREAM_INFO_S;

Members:
Parameter Description
udwTaskNo Service ID
udwType Service type. See NETDEV_XW_VIDEO_TYPE_E.
stStreamInfoSrc Source media stream info
stStreamInfoDest Destination media stream info
stStreamInfoMsg Detailed stream info

See also:
NETDEV_XW_FindNextStreamInfo

4.27.339 Structure of basic info about sequence resource

typedef struct tagNETDEVXWSequenceResourceBaseInfo


{
UINT32 udwID;
CHAR szName[NETDEV_LEN_64];
CHAR szDescription[NETDEV_LEN_256];
BOOL bEnabled;
UINT32 udwOrderNO;
BYTE byRes[124];
}NETDEV_XW_SEQUENCE_RES_BASE_INFO_S, *LPNETDEV_XW_SEQUENCE_RES_BASE_INFO_S;

529 / 767
Network Device SDK (Windows) User Manual
Members:
Parameter Description
udwID Unique ID of sequence resource
szName Sequence resource name
szDescription Sequence resource description
bEnabled Enable or disable sequence resource
udwOrderNO Sequence number of sequence resource. Required for query.
byRes Reserved field.

See also:
NETDEV_XW_GetSequenceResList

4.27.340 Structure of detailed info about sequence resource

typedef struct tagNETDEVXWSequenceResDeTailInfo


{
NETDEV_XW_SEQUENCE_RES_BASE_INFO_S stSeqResBaseInfo;
UINT32 udwIntervalTime;
UINT32 udwVideoSrcNum;
LPNETDEV_XW_SEQ_RES_VIDEO_SRC_INFO_S pstVideoInList;
UINT32 udwManageType;
BYTE byRes[124];
}NETDEV_XW_SEQUENCE_RES_DETAIL_INFO_S, *LPNETDEV_XW_SEQUENCE_RES_DETAIL_INFO_S;

Members:
Parameter Description
stSeqResBaseInfo Basic info about sequence resource
udwIntervalTime Sequence interval (unit: second)
udwVideoSrcNum Number of video resources
Video source list. Memory needs to be allocated by the caller, and
pstVideoInList
specifications are obtained through the capability interface.
udwManageType Resource management type. See NETDEV_XW_MANAGE_TYPE_E.
byRes Reserved field.

See also:
NETDEV_XW_AddSequenceResource, NETDEV_XW_ModifySequenceResource,
NETDEV_XW_GetSequenceResource

4.27.341 Structure of info about video sources of sequence resource

typedef struct tagNETDEVXWSeqVideoSrcInfo


{
UINT32 udwVideoSrcIndex;
NETDEV_XW_VIDEO_SOURCE_BASE_S stVideoSrcBaseInfo;
UINT32 udwPresetIndex;

530 / 767
Network Device SDK (Windows) User Manual
BYTE byRes[64];
}NETDEV_XW_SEQ_RES_VIDEO_SRC_INFO_S, *LPNETDEV_XW_SEQ_RES_VIDEO_SRC_INFO_S;

Members:
Parameter Description
udwVideoSrcIndex Sequence number of video source
stVideoSrcBaseInfo Basic info about video source
udwPresetIndex Preset ID. Configuration is required for sequence only.
byRes Reserved field.

4.27.342 Structure of basic video source info for remote live video

typedef struct tagNETDEVXWVideoSourceBase


{
UINT32 udwVideoInID;
CHAR szRealplayURL[NETDEV_MAX_URL_LEN];
UINT32 udwStreamID;
NETDEV_AUTHENTICATION_S stAuthentication;
UINT32 udwTransProtocol;
UINT32 udwMulticast;
UINT32 udwType;
UINT32 udwManageType;
BYTE byRes[28];
}NETDEV_XW_VIDEO_SOURCE_BASE_S, *LPNETDEV_XW_VIDEO_SOURCE_BASE_S;

Members:
Parameter Description
udwVideoInID Video source ID
szRealplayURL Media stream URL. Configuration is not needed for local input.
udwStreamID Media stream ID
stAuthentication Authentication info
Transport protocol. See NETDEV_LAPI_TRANS_PROTOCOL_E. Configuration is not
udwTransProtocol
needed for local input.
udwMulticast Unicast or multicast. See NETDEV_STREAM_TYPE_E. Optional for local input.
udwType Live view type. See NETDEV_XW_REALPLAY_TYPE_E.
udwManageType Resource management type. See NETDEV_XW_MANAGE_TYPE_E.
byRes Reserved field.

4.27.343 Structure of basic scene info

typedef struct tagNETDEVXWSceneInfoBase


{
UINT32 udwSceneID;
CHAR szName[NETDEV_SCENE_NAME_LEN];
UINT32 udwOrderNo;

531 / 767
Network Device SDK (Windows) User Manual
UINT32 udwTVWallID;
UINT32 udwStatus;
BYTE byRes[20];
}NETDEV_XW_SCENE_INFO_BASE_S, *LPNETDEV_XW_SCENE_INFO_BASE_S;

Members:
Parameter Description
udwSceneID Scene ID
szName Scene name
udwOrderNo Scene sequence number
udwTVWallID Video wall ID
udwStatus 0: Disable 1: Enable
byRes Reserved field.

See also:
NETDEV_XW_CreateSceneInfo

4.27.344 Structure of scene modification info

typedef struct tagNETDEVXWSceneModifyInfo


{
NETDEV_XW_SCENE_INFO_BASE_S stSceneBaseInfo;
INT32 dwModifyType;
BYTE byRes[128];
}NETDEV_XW_SCENE_MODIFY_INFO_S, *LPNETDEV_XW_SCENE_MODIFY_INFO_S;

Members:
Parameter Description
stSceneBaseInfo Scene info
dwModifyType Modification type. See NETDEV_XW_SCENE_MODIFY_TYPE_E.
byRes Reserved field.

See also:
NETDEV_XW_ModifySceneInfo

4.27.345 Structure of detailed scene info

typedef struct tagNETDEVXWSceneInfoDetail


{
CHAR szName[NETDEV_SCENE_NAME_LEN];
UINT32 udwTVWallID;
CHAR szTVWallCode[NETDEV_LEN_64];
NETDEV_XW_BASE_MAP_INFO_S stBaseMapInfo;
UINT32 udwVirtualLedNum;
LPNETDEV_XW_VIRTUAL_LED_INFO_S pstVirtualLedInfo;

532 / 767
Network Device SDK (Windows) User Manual
UINT32 udwWndNum;
LPNETDEV_XW_SCENE_WND_INFO_S pstWndInfo;
UINT32 udwLiveBindNum;
LPNETDEV_XW_VIDEO_SOURCE_S pstVideoSource;
UINT32 udwSequenceBindNum;
LPNETDEV_XW_SEQUENCE_SOURCE_LIST_S pstSequenceSourceList;
UINT32 udwWindowsSequenceBindNum;
LPNETDEV_XW_SEQUENCE_RES_BIND_INFO_S pstWindowsSequenceBindList;
UINT32 udwLinkedSceneID;
UINT32 udwLinkedSceneOrderNo;
UINT32 udwSceneSessionMode;
BYTE byRes[172];
}NETDEV_XW_SCENE_INFO_DETAIL_S, *LPNETDEV_XW_SCENE_INFO_DETAIL_S;

Members:
Parameter Description
szName Scene name
udwTVWallID Video wall ID
Video wall code (optional). Assigned by device. String length range:
szTVWallCode
[1,64]
stBaseMapInfo Background image info
udwVirtualLedNum Number of virtual LEDs
pstVirtualLedInfo Virtual LED info
udwWndNum Number of windows
pstWndInfo Window info
udwLiveBindNum Number of binding live view services
pstVideoSource Info about binding live view services
udwSequenceBindNum Number of binding sequence services
pstSequenceSourceList Info about binding sequence services
udwWindowsSequenceBindNum Number of binding sequence services
pstWindowsSequenceBindList Detailed info about binding sequence services
udwLinkedSceneID Linked scene ID
udwLinkedSceneOrderNo Linked scene sequence number
udwSceneSessionMode Session mode. See NETDEV_SCENE_SESSION_MODE_E.
byRes Reserved field.

See also:
NETDEV_XW_GetCurrentSceneInfo, NETDEV_XW_GetSceneInfo

4.27.346 Structure of all background image info

typedef struct tagNETDEVXWBaseMapInfo


{
UINT32 udwID;
CHAR szName[NETDEV_BMAP_NAME_LEN];
533 / 767
Network Device SDK (Windows) User Manual
UINT32 udwFormat;
NETDEV_XW_RESOLUTION_S stResolution;
UINT32 udwThumbnailData;
BYTE byRes[300];
}NETDEV_XW_BASE_MAP_INFO_S, *LPNETDEV_XW_BASE_MAP_INFO_S;

Members:
Parameter Description
udwID Background image ID. Must be unique in the device.
szName Background image name
udwFormat Background image format. See NETDEV_XW_BASE_TYPE_E.
stResolution Resolution of background image
udwThumbnailData Thumbnail image data
byRes Reserved field.

4.27.347 Structure of sequence resource list

typedef struct tagNETDEVXWSequenceSourceList


{
UINT32 udwWndID;
UINT32 udwSourceSize;
NETDEV_XW_SEQUENCE_SOURCE_S astSequenceSource[NETDEV_SEQUENCE_SRC_MAX];
BYTE byRes[32];
}NETDEV_XW_SEQUENCE_SOURCE_LIST_S, *LPNETDEV_XW_SEQUENCE_SOURCE_LIST_S;

Members:
Parameter Description
udwWndID Window ID
udwSourceSize Number of video sources in camera service
astSequenceSource Information about video sources in camera service
byRes Reserved field.

4.27.348 Structure of sequence resource info

typedef struct tagNETDEVXWSequenceSource


{
UINT32 udwInterval;
UINT32 udwPreset;
NETDEV_XW_VIDEO_SOURCE_BASE_S stVideoSourceBase;
BYTE byRes[32];
}NETDEV_XW_SEQUENCE_SOURCE_S, *LPNETDEV_XW_SEQUENCE_SOURCE_S;

Members:
Parameter Description
udwInterval Sequence interval (unit: second)

534 / 767
Network Device SDK (Windows) User Manual
udwPreset Preset ID
stVideoSourceBase Information about video sources in camera service
byRes Reserved field.

4.27.349 Structure of brief scene info

typedef struct tagNETDEVXWSceneInfoShort


{
NETDEV_XW_SCENE_INFO_BASE_S stSceneBase;
UINT32 udwIsCurrent;
BYTE byRes[64];
}NETDEV_XW_SCENE_INFO_BASIC_S, *LPNETDEV_XW_SCENE_INFO_BASIC_S;

Members:
Parameter Description
stSceneBase Basic scene info
udwIsCurrent Whether is the current scene. 0: No 1: Yes
byRes Reserved field.

See also:
NETDEV_XW_FindNextSceneCfg

4.27.350 Structure of sequence resource binding info

typedef struct tagNETDEVXWSequenceResourceBindBaseInfo


{
UINT32 udwID;
UINT32 udwSequenceResID;
UINT32 udwIntervalTime;
UINT32 udwStatus;
UINT32 udwWndNum;
UINT32 audwWndIDList[NETDEV_SEQ_RES_WIN_MAX];
BYTE byRes[256];
}NETDEV_XW_SEQUENCE_RES_BIND_INFO_S, *LPNETDEV_XW_SEQUENCE_RES_BIND_INFO_S;

Members:
Parameter Description
udwID Sequence resource binding ID. Optional when adding sequence resource.
udwSequenceResID Sequence resource ID
udwIntervalTime Sequence time interval (unit: second)
udwStatus Sequence status. See NETDEV_XW_SEQUENCE_RES_STATUS_E.
udwWndNum Number of windows
Window ID list. Memory needs to be allocated by user, and specifications are
audwWndIDList
obtained through the capability interface.
byRes Reserved field.

535 / 767
Network Device SDK (Windows) User Manual

See also:
NETDEV_XW_BindSequenceResToScene, NETDEV_XW_ModifySequenceResToScene

4.27.351 Structure of info about sequence play control

typedef struct tagNETDEVXWSequencePlayControlInfo


{
UINT32 udwSequenceResBindID;
UINT32 udwOperation;
BYTE byRes[128];
}NETDEV_XW_SEQUENCE_PLAY_CTRL_INFO_S, *LPNETDEV_XW_SEQUENCE_PLAY_CTRL_INFO_S;

Members:
Parameter Description
udwSequenceResBindID Sequence resource binding ID
udwOperation Operation command type. See NETDEV_XW_SEQUENCE_PLAY_CTRL_CMD_E
byRes Reserved field.

See also:
NETDEV_XW_SequencePlayControl

4.27.352 Structure of basic info about scene sequence plan

typedef struct tagNETDEVXWScenesPlanInfo


{
UINT32 udwID;
CHAR szName[NETDEV_LEN_64];
UINT32 udwOrderNo;
CHAR szDescription[NETDEV_LEN_256];
UINT32 udwStatus;
UINT32 udwMode;
NETDEV_XW_SCENES_PLAN_TIMER_INFO_S stTimerInfo;
NETDEV_XW_SCENES_PLAN_TIME_TABLE_INFO_S stTimeTableInfo;
BYTE byRes[124];
}NETDEV_XW_SCENES_PLAN_INFO_S, *LPNETDEV_XW_SCENES_PLAN_INFO_S;

Members:
Parameter Description
udwID Plan ID
szName Plan name
udwOrderNo Sequence number of plan
szDescription Plan description
udwStatus Plan status. See NETDEV_XW_SEQUENCE_RES_STATUS_E.
udwMode Plan mode. See NETDEV_XW_SCENES_PLAN_MODE_E.

536 / 767
Network Device SDK (Windows) User Manual
stTimerInfo Info about timed switching
stTimeTableInfo Time table mode info
byRes Reserved field.

See also:
NETDEV_XW_AddSencesSequencePlan, NETDEV_XW_ModifySencesSequencePlan,
NETDEV_XW_GetSencesSequencePlan, NETDEV_XW_FindNextSencesSequencePlan

4.27.353 Structure of info about scene switching timer

typedef struct tagNETDEVXWScenesPlanTimerInfo


{
UINT32 udwIntervalTime;
UINT32 udwSceneNum;
UINT32* pudwSceneIDList;
BYTE byRes[64];
}NETDEV_XW_SCENES_PLAN_TIMER_INFO_S, *LPNETDEV_XW_SCENES_PLAN_TIMER_INFO_S;

Members:
Parameter Description
udwIntervalTime Time interval (unit: second)
udwSceneNum Number of scenes
pudwSceneIDList Scene ID list. Memory needs to be allocated by user.
byRes Reserved field.

4.27.354 Structure of info about scene switching time table

typedef struct tagNETDEVXWScenesPlanTimeTableInfo


{
UINT32 udwTimePeriodNum;
LPNETDEV_XW_TIME_TABLE_INFO_S pstTimeTableList;
BYTE byRes[64];
}NETDEV_XW_SCENES_PLAN_TIME_TABLE_INFO_S, *LPNETDEV_XW_SCENES_PLAN_TIME_TABLE_INFO_S;

Members:
Parameter Description
udwTimePeriodNum Number of time periods
Time table list. Memory needs to be allocated by user according to
pstTimeTableList
udwTimePeriodNum.
byRes Reserved field.

4.27.355 Structure of info about 24-hour time table

typedef struct tagNETDEVXWTimeTableInfo


{
UINT32 udwSceneID;
537 / 767
Network Device SDK (Windows) User Manual
CHAR szStartTime[NETDEV_LEN_16];
BYTE byRes[64];
}NETDEV_XW_TIME_TABLE_INFO_S, *LPNETDEV_XW_TIME_TABLE_INFO_S;

Members:
Parameter Description
udwSceneID Scene ID
szStartTime Start time (hh:mm:ss)
byRes Reserved field.

4.27.356 Structure of info about scene sequence plan playing control

typedef struct tagNETDEVXWScenesSeqPlanPlayCtrlInfo


{
UINT32 udwScenesSeqPlanID;
UINT32 udwOperation;
BYTE byRes[128];
}NETDEV_XW_SCENES_PLAN_PLAY_CTRL_INFO_S, *LPNETDEV_XW_SCENES_PLAN_PLAY_CTRL_INFO_S;

Members:
Parameter Description
udwScenesSeqPlanID Scene sequence plan ID
udwOperation Operation command type. See NETDEV_XW_SEQUENCE_PLAY_CTRL_CMD_E
byRes Reserved field.

See also:
NETDEV_XW_ScenesSeqPlanPlayControl

4.27.357 Structure of stream source info

typedef struct tagNETDEVXWSteamInfoSrc


{
UINT32 udwVideoInChlID;
UINT32 udwStreamID;
CHAR szIPAddr[NETDEV_IPV4_LEN_MAX];
UINT32 udwPort;
BYTE byRes[64];
}NETDEV_XW_STREAM_INFO_SRC_S, *LPNETDEV_XW_STREAM_INFO_SRC_S;

Members:
Parameter Description
udwVideoInChlID Video source ID
udwStreamID Media stream ID
szIPAddr Video source IP
udwPort Port number

538 / 767
Network Device SDK (Windows) User Manual
byRes Reserved field.

4.27.358 Structure of stream destination info

typedef struct tagNETDEVXWSteamInfoDest


{
UINT32 udwWndID;
UINT32 udwPaneID;
CHAR szIPAddr[NETDEV_IPV4_LEN_MAX];
UINT32 udwPort;
BYTE byRes[64];
}NETDEV_XW_STREAM_INFO_DEST_S, *LPNETDEV_XW_STREAM_INFO_DEST_S;

Members:
Parameter Description
udwWndID Window ID
udwPaneID Split window ID
szIPAddr Destination IP
udwPort Port number
byRes Reserved field.

4.27.359 Structure of detailed stream info

typedef struct tagNETDEVXWStreamInfoMsg


{
UINT32 udwTransProtocol;
UINT32 udwIsMulticast;
NETDEV_XW_RESOLUTION_S stResolution;
UINT32 udwFrame;
UINT32 udwEncodeFormat;
UINT32 udwIsInvalidAfterReboot;
BYTE byRes[64];
}NETDEV_XW_STREAM_INFO_MSG_S, *LPNETDEV_XW_STREAM_INFO_MSG_S;

Members:
Parameter Description
udwTransProtocol Transport protocol. See NETDEV_LAPI_TRANS_PROTOCOL_E.
udwIsMulticast Unicast or multicast. See NETDEV_STREAM_TYPE_E.
stResolution Resolution
udwFrame Frame rate
udwEncodeFormat Encoding format. See NETDEV_XW_VIDEOENCODING_E.
Whether device needs to be restored. 0: not restore Xware device 1:
udwIsInvalidAfterReboot
restore Xware device
byRes Reserved field.

539 / 767
Network Device SDK (Windows) User Manual
4.27.360 Structure of manual alarm linkage

typedef struct tagNETDEVManualLink


{
UINT32 udwType;
NETDEV_POINT_S stPoint;
NETDEV_RECTANGLE_POINT_S stRectangle;
BYTE byRes[128];
}NETDEV_MANUAL_LINK_S,*LPNETDEV_MANUAL_LINK_S;

Members:
Parameter Description
udwType Linkage type. See NETDEV_LINKAGE_TYPE_E.
stPoint Point coordinates. Valid when Type is 0 or 2.
stRectangle Rectangle coordinates. Valid when Type is 1.
byRes Reserved field.

See also:
NETDEV_ManualLink

4.27.361 Structure of rectangle coordinates

typedef struct tagNETDEVRectanglePoint


{
NETDEV_POINT_S stTopLeft;
NETDEV_POINT_S stBottomRight;
BYTE byRes[256];
}NETDEV_RECTANGLE_POINT_S, *LPNETDEV_RECTANGLE_POINT_S;

Members:
Parameter Description
stTopLeft Coordinates of top left corner.
stBottomRight Coordinates of bottom right corner.
byRes Reserved field.

4.27.362 Structure of plate recognition data info

typedef struct tagNETDEVTMSCarPlateInfo


{
UINT32 udwPicNum;
NETDEV_TMS_CAR_PLATE_XML_INFO_S stTmsXmlInfo;
NETDEV_TMS_CAR_PLATE_PIC_INFO_S stTmsPicInfo[NETDEV_TMS_PIC_COMMON_NUM];
}NETDEV_TMS_CAR_PLATE_INFO_S,*LPNETDEV_TMS_CAR_PLATE_INFO_S;

Members:

540 / 767
Network Device SDK (Windows) User Manual
Parameter Description
udwPicNum Number of images
stTmsXmlInfo XML info
stTmsPicInfo Image info

See also:
NETDEV_CarPlateCallBack_PF

4.27.363 Structure of plate recognition xml info

typedef struct tagNETDEVTMSCarPlateXmlInfo


{
CHAR szCamID[NETDEV_TMS_CAR_PLATE_CAMID_LEN];
CHAR szRecordID[NETDEV_TMS_CAR_PLATE_RECORDID_LEN];
CHAR szTollgateID[NETDEV_TMS_CAR_PLATE_TOLLGATE_LEN];
CHAR szPassTime[NETDEV_TMS_CAR_PLATE_PASSTIME_LEN];
CHAR szLaneID[NETDEV_TMS_CAR_PLATE_LANEID_LEN];
CHAR szCarPlate[NETDEV_TMS_CAR_PLATE_CARPLATE_LEN];
CHAR szIPAddr[NETDEV_IPV4_LEN_MAX];
INT32 dwCarPlateColor;
BYTE bRes[492];
}NETDEV_TMS_CAR_PLATE_XML_INFO_S, *LPNETDEV_TMS_CAR_PLATE_XML_INFO_S;

Members:
Parameter Description
szCamID Checkpoint camera ID
szRecordID Record ID
szTollgateID Checkpoint ID
szPassTime Pass-through time
szLaneID Lane ID
szCarPlate Plate No.
szIPAddr Device IP address
dwCarPlateColor Plate color. See NETDEV_TMS_CAR_PLATE_COLOR_E.
bRes Reserved field.

4.27.364 Structure of plate recognition image info

typedef struct tagNETDEVTMSCarPlatePicInfo


{
UINT32 udwPicSize;
CHAR *pcPicData;
}NETDEV_TMS_CAR_PLATE_PIC_INFO_S,*LPNETDEV_TMS_CAR_PLATE_PIC_INFO_S;

Members:
Parameter Description

541 / 767
Network Device SDK (Windows) User Manual
udwPicSize Image size
pcPicData Image data

4.27.365 Structure of face recognition record

typedef struct tagstNETDEVFaceRecordSnapshotInfo


{
UINT32 udwRecordID;
UINT32 udwRecordType;
UINT32 udwPassTime;
UINT32 udwEventType;
UINT32 udwChannelID;
UINT32 udwMonitorRuleID;
CHAR szChannelName[NETDEV_LEN_260];
NETDEV_FACE_ALARM_CMP_INFO_S stCompareInfo;
BYTE byRes[124];
}NETDEV_FACE_RECORD_SNAPSHOT_INFO_S, *LPNETDEV_FACE_RECORD_SNAPSHOT_INFO_S;

Members:
Parameter Description
udwRecordID Face recognition record ID
udwRecordType Face recognition record type. See NETDEV_FACE_PASS_RECORD_TYPE_E.
udwPassTime Person pass-through time (UTC format)
Event type. Described by BIT. BIT=1 means this type; BIT=0 means not this
udwEventType type. BIT0: face image capture BIT1: face match alarm BIT2: face not
match alarm
udwChannelID Channel ID
udwMonitorRuleID Corresponding monitoring task ID of the alarm
szChannelName Capture channel name
stCompareInfo Comparison info
byRes Reserved field.

See also:
NETDEV_FaceAlarmMessCallBack_PF, NETDEV_FindNextFaceRecordDetail

4.27.366 Structure of info about face snapshot comparison

typedef struct tagstNETDEVFaceAlarmCmpInfo


{
UINT32 udwSimilarity;
NETDEV_FACE_MEMBER_INFO_S stMemberInfo;
NETDEV_FACE_ALARM_SNAP_IMAGE_S stSnapshotImage;
LPNETDEV_PERSON_INFO_S pstPersonInfo;
LPNETDEV_FACE_ATTR_S pstFaceAttr;
LPNETDEV_PERSON_ATTR_S pstPersonAttr;

542 / 767
Network Device SDK (Windows) User Manual
BYTE byRes[116];
}NETDEV_FACE_ALARM_CMP_INFO_S, *LPNETDEV_FACE_ALARM_CMP_INFO_S;

Members:
Parameter Description
udwSimilarity Matching degree (similarity)
stMemberInfo Face library member info
stSnapshotImage Snapshot image
Face library member info (applicable to NVR). Required when getting
pstPersonInfo
match/mismatch records. Memory needs to be allocated dynamically.
pstFaceAttr Face attribute info. Memory needs to be allocated dynamically.
pstPersonAttr Person attribute info. Memory needs to be allocated dynamically.
byRes Reserved field.

4.27.367 Structure of face library member info

typedef struct tagNETDEVFaceMemberInfo


{
UINT32 udwReqSeq;
UINT32 udwMemberID;
CHAR szMemberName[NETDEV_FACE_MEMBER_NAME_LEN];
UINT32 udwMemberGender;
CHAR szMemberBirthday[NETDEV_FACE_MEMBER_BIRTHDAY_LEN];
NETDEV_FACE_MEMBER_REGION_INFO_S stMemberRegionInfo;
NETDEV_FACE_MEMBER_ID_INFO_S stMemberIDInfo;
NETDEV_FILE_INFO_S stMemberImageInfo;
NETDEV_FILE_INFO_S stMemberSemiInfo;
UINT32 udwCustomNum;
NETDEV_CUSTOM_VALUE_S stCustomValue[NETDEV_FACE_MEMBER_CUSTOM_NUM];
BOOL bIsMonitored;
UINT32 udwDBNum;
UINT32 audwDBIDList[NETDEV_LEN_16];
BYTE byRes[128];
}NETDEV_FACE_MEMBER_INFO_S,*LPNETDEV_FACE_MEMBER_INFO_S;

Members:
Parameter Description
udwReqSeq Sequence number of request data
udwMemberID Face library member ID. Optional in read-only post messages.
szMemberName Member name
udwMemberGender Member gender. See NETDEV_GENDER_TYPE_E
szMemberBirthday Birth date
stMemberRegionInfo Region info
stMemberIDInfo Member ID info
stMemberImageInfo Face image info
543 / 767
Network Device SDK (Windows) User Manual
stMemberSemiInfo Semi-structured face info
udwCustomNum Number of custom attributes
stCustomValue Custom attribute list
bIsMonitored Whether monitoring is configured 0: no 1: yes
udwDBNum Number of face libraries containing the member
audwDBIDList Face library ID list
byRes Reserved field.

4.27.368 Structure of snapshot image info

typedef struct tagstNETDEVFaceAlarmSnapImage


{
NETDEV_FILE_INFO_S stBigImage;
NETDEV_FILE_INFO_S stSmallImage;
NETDEV_FACE_ALARM_IMAGE_AREA_S stArea;
BYTE byRes[128];
}NETDEV_FACE_ALARM_SNAP_IMAGE_S, *LPNETDEV_FACE_ALARM_SNAP_IMAGE_S;

Members:
Parameter Description
stBigImage Complete image
stSmallImage Small image
stArea Coordinates of area
byRes Reserved field.

4.27.369 Structure of region info of face library members

typedef struct tagNETDEVFaceMemberRegionInfo


{
CHAR szNation[NETDEV_FACE_MEMBER_REGION_LEN];
CHAR szProvince[NETDEV_FACE_MEMBER_REGION_LEN];
CHAR szCity[NETDEV_FACE_MEMBER_REGION_LEN];
BYTE byRes[256];
}NETDEV_FACE_MEMBER_REGION_INFO_S,*LPNETDEV_FACE_MEMBER_REGION_INFO_S;

Members:
Parameter Description
szNation Nationality
szProvince Province
szCity City
byRes Reserved field.

4.27.370 Structure of member’s ID info

typedef struct tagNETDEVFaceMemberIDInfo

544 / 767
Network Device SDK (Windows) User Manual
{
UINT32 udwType;
CHAR szNumber[NETDEV_FACE_IDNUMBER_LEN];
BYTE byRes[128];
}NETDEV_FACE_MEMBER_ID_INFO_S,*LPNETDEV_FACE_MEMBER_ID_INFO_S;

Members:
Parameter Description
udwType ID type. See NETDEV_FACE_MEMBER_ID_TYPE_E.
szNumber ID No.
byRes Reserved field.

4.27.371 Structure of area coordinates

typedef struct tagstNETDEVFaceAlarmImageArea


{
UINT32 udwLeft;
UINT32 udwTop;
UINT32 udwRight;
UINT32 udwButtom;
BYTE byRes[128];
}NETDEV_FACE_ALARM_IMAGE_AREA_S, *LPNETDEV_FACE_ALARM_IMAGE_AREA_S;

Members:
Parameter Description
udwLeft Left coordinates
udwTop Top coordinates
udwRight Right coordinates
udwButtom Bottom coordinates

4.27.372 Structure of face snapshot info

typedef struct tagNETDEVTMSFaceSnapshotPicInfo


{
UINT32 udwFaceId;
CHAR *pcPicBuff;
UINT32 udwPicBuffLen;
NETDEV_TMS_PERSION_IMAGE_TYPE_E enImgType;
NETDEV_TMS_PERSION_IMAGE_FORMAT_E enImgFormat;
NETDEV_FACE_POSITION_INFO_S stFacePos;
UINT32 udwImageWidth;
UINT32 udwImageHeight;
CHAR szCamerID[NETDEV_TMS_CAMER_ID_LEN];
CHAR szRecordID[NETDEV_TMS_FACE_RECORD_ID_LEN];
CHAR szTollgateID[NETDEV_TMS_FACE_TOLLGATE_ID_LEN];

545 / 767
Network Device SDK (Windows) User Manual
CHAR szPassTime[NETDEV_TMS_PASSTIME_LEN];
UINT32 udwFaceNum;
CHAR szIPAddr[NETDEV_IPV4_LEN_MAX];
BYTE bRes[76];
}NETDEV_TMS_FACE_SNAPSHOT_PIC_INFO_S, *LPNETDEV_TMS_FACE_SNAPSHOT_PIC_INFO_S;

Members:
Parameter Description
udwFaceId Face ID
pcPicBuff Image buffer
udwPicBuffLen Image buffer length
enImgType Image type. See NETDEV_TMS_PERSION_IMAGE_TYPE_E.
enImgFormat Image format. See NETDEV_TMS_PERSION_IMAGE_FORMAT_E.
Coordinates of face and image are normalized: 0-10000. Top left and bottom
stFacePos
right of the rectangular: "138,315,282,684".
udwImageWidth Image width
udwImageHeight Image height
szCamerID Camera ID
szRecordID Record ID
szTollgateID Checkpoint ID
Pass-through time (YYYYMMDDHHMMSSMMM, 24H format). The first MM represents
szPassTime month, the second MM represents minute, and the third MMM represents
millisecond
udwFaceNum Number of faces. Valid in panoramic images.
szIPAddr Device IP
bRes Reserved field.

See also:
NETDEV_FaceSnapshotCallBack_PF

4.27.373 Structure of face position info

typedef struct tagNETDEVFacePositionInfo


{
INT32 dwTopLeftX;
INT32 dwTopLeftY;
INT32 dwBottomRightX;
INT32 dwBottomRightY;
BYTE bRes[32];
}NETDEV_FACE_POSITION_INFO_S, *LPNETDEV_FACE_POSITION_INFO_S;

Members:
Parameter Description
dwTopLeftX x-coordinate of top left corner [0, 10000]
dwTopLeftY y-coordinate of top left corner [0, 10000]
546 / 767
Network Device SDK (Windows) User Manual
dwBottomRightX x-coordinate of bottom right corner [0, 10000]
dwBottomRightY y-coordinate of bottom right corner [0, 10000]
bRes Reserved field.

4.27.374 Structure of heatmap data info

typedef struct tagNETDEVTMSHeatMapInfo


{
UINT32 udwPicNum;
NETDEV_TMS_HEAT_MAP_XML_INFO_S stTmsXmlInfo;
NETDEV_TMS_HEAT_MAP_PIC_INFO_S stTmsPicInfo[NETDEV_TMS_PIC_COMMON_NUM];
}NETDEV_TMS_HEAT_MAP_INFO_S,*LPNETDEV_TMS_HEAT_MAP_INFO_S;

Members:
Parameter Description
udwPicNum Number of areas
stTmsXmlInfo XML info
stTmsPicInfo Area info

See also:
NETDEV_HeatMapCallBack_PF

4.27.375 Structure of heatmap xml info

typedef struct tagNETDEVTMSHeatMapXmlInfo


{
CHAR szDevID[NETDEV_TMS_HEAT_MAP_DEVID_LEN];
CHAR szRecordID[NETDEV_TMS_HEAT_MAP_RECORD_ID_LEN];
CHAR szCollectTime[NETDEV_TMS_HEAT_MAP_COllECT_TIME_LEN];
INT32 dwColumns;
INT32 dwRows;
INT32 dwIntervalTime;
CHAR szIPAddr[NETDEV_IPV4_LEN_MAX];
BYTE bRes[240];
}NETDEV_TMS_HEAT_MAP_XML_INFO_S, *LPNETDEV_TMS_HEAT_MAP_XML_INFO_S;

Members:
Parameter Description
szDevID Device ID
szRecordID Record ID
szCollectTime Collection time
dwColumns Number of detection columns
dwRows Number of detection rows
dwIntervalTime Detection interval
szIPAddr Device IP

547 / 767
Network Device SDK (Windows) User Manual
bRes Reserved field.

4.27.376 Structure of heatmap area info

typedef struct tagNETDEVTMSHeatMapPicInfo


{
UINT32 udwPicSize;
CHAR *pcPicData;
}NETDEV_TMS_HEAT_MAP_PIC_INFO_S,*LPNETDEV_TMS_HEAT_MAP_PIC_INFO_S;

Members:
Parameter Description
udwPicSize Area size
pcPicData Area data

4.27.377 Person alarm info

typedef struct tagNETDEVPersonEventInfo


{
UINT32 udwID;
UINT32 udwTimestamp;
UINT32 udwNotificationType;
UINT32 udwFaceInfoNum;
NETDEV_FACE_PASS_RECORD_INFO_S stCtrlFaceInfo[NETDEV_LEN_2];
UINT32 udwFinishFaceNum;
UINT32 audwFinishFaceList[NETDEV_LEN_40];
CHAR szReference[NETDEV_LEN_480];
BYTE byRes[92];
}NETDEV_PERSON_EVENT_INFO_S, *LPNETDEV_PERSON_EVENT_INFO_S;

Members:
Parameter Description
udwID Notification record ID
udwTimestamp Notification reporting time (unit: second, UTC format).
udwNotificationType Notification type. 0: Real-time notification 1: Historical
notification
udwFaceInfoNum Number of face info. Range: [0, 1]
stCtrlFaceInfo Face list. Optional if no face is collected.
udwFinishFaceNum Number of finish faces. Range: [0, 40]
audwFinishFaceList Finish face list
szReference Descriptive info
byRes Reserved field.

See also:
NETDEV_PersonAlarmMessCallBack_PF

548 / 767
Network Device SDK (Windows) User Manual
4.27.378 Face pass-through records info

typedef struct tagNETDEVFacePassRecordInfo


{
UINT32 udwRecordID;
UINT32 udwType;
INT64 tPassingTime;
UINT32 udwChannelID;
CHAR szChlName[NETDEV_LEN_128];
NETDEV_PERSON_COMPARE_INFO_S stCompareInfo;
BYTE byRes[256];
}NETDEV_FACE_PASS_RECORD_INFO_S, *LPNETDEV_FACE_PASS_RECORD_INFO_S;

Members:
Parameter Description
udwRecordID Face pass-thru record ID
udwType Face pass-thru type. See NETDEV_FACE_PASS_RECORD_TYPE_E
tPassingTime Person pass-through time (unit: second, UTC format).
udwChannelID Channel ID
szChlName Capture channel name. Range: [1, 63].
stCompareInfo Comparison info
byRes Reserved field.

4.27.379 Face comparison info

typedef struct tagNETDEVPersonCompareInfo


{
UINT32 udwSimilarity;
NETDEV_PERSON_INFO_S stPersonInfo;
NETDEV_FILE_INFO_S stPanoImage;
NETDEV_FILE_INFO_S stFaceImage;
NETDEV_FACE_POSITION_INFO_S stFaceArea;
UINT32 udwCapSrc;
UINT32 udwFeatureNum;
LPNETDEV_FEATURE_INFO_S pstFeatureInfo;
NETDEV_FACE_ATTR_S stFaceAttr;
NETDEV_PERSON_ATTR_S stPersonAttr;
BYTE byRes[248];
}NETDEV_PERSON_COMPARE_INFO_S, *LPNETDEV_PERSON_COMPARE_INFO_S;

Members:
Parameter Description
udwSimilarity Matching degree (similarity)
stPersonInfo Face library member info

549 / 767
Network Device SDK (Windows) User Manual
stPanoImage Complete image
stFaceImage Face image
stFaceArea Face area coordinates
udwCapSrc Source of collection
udwFeatureNum Number of semi-structured attributes. Optional if semi-structured
attributes are unavailable. Required for PTS.
pstFeatureInfo Semi-structured attribute list. Optional if semi-structured
attributes are unavailable. Required for PTS.
stFaceAttr Face attribute
stPersonAttr Attribute of the related person
byRes Reserved field.

4.27.380 Semi-structured attribute info

typedef struct tagNETDEVFeatureInfo


{
CHAR szFeatureVersion[NETDEV_LEN_32];
CHAR szFeature[NETDEV_FACE_FEATURE_SIZE];
BYTE byRes[128];
}NETDEV_FEATURE_INFO_S,*LPNETDEV_FEATURE_INFO_S;

Members:
Parameter Description
szFeatureVersion Version number of the algorithm extracting semi-structured
attributes. Range: [0, 20]
szFeature Extracted face attribute info. 512 bytes before encryption.
byRes Reserved field

4.27.381 Face attribute info

typedef struct tagNETDEVFaceAttr


{
UINT32 udwGender;
UINT32 udwAgeRange;
UINT32 udwGlassFlag;
UINT32 udwGlassesStyle;
UINT32 udwMask;
FLOAT fTemperature;
UINT32 udwEmotion;
UINT32 udwSmile;
UINT32 udwAttractive;
UINT32 udwSkinColor;
UINT32 udwBeard;
BYTE byRes[112];
}NETDEV_FACE_ATTR_S,*LPNETDEV_FACE_ATTR_S;

550 / 767
Network Device SDK (Windows) User Manual

Members:
Parameter Description
udwGender Gender. See NETDEV_GENDER_TYPE_E.
udwAgeRange Age. See NETDEV_AGE_RANGE_E.
udwGlassFlag Whether wearing glasses. See NETDEV_GLASS_FLAG_E.
udwGlassesStyle Glasses style. See NETDEV_GLASSES_STYLE_E.
udwMask Mask. See NETDEV_MASK_FLAG_E.
fTemperature Body temperature (unit: °C, 2 decimal places)
udwEmotion Emotion. Optional when not detected. See NETDEV_EMOTION_FLAG_E.
udwSmile Smile. Optional when not detected. See NETDEV_SMILE_FLAG_E.
udwAttractive Facial attractiveness. Optional when not detected. Range: [0~100]
udwSkinColor Skin color. Optional when not detected. See NETDEV_SKINCOLOR_TYPE_E.
udwBeard Beard. Optional when not detected. See NETDEV_BEARD_FLAG_E.
byRes Reserved field.

4.27.382 Person attributes

typedef struct tagNETDEVPersonAttr


{
UINT32 udwGender;
UINT32 udwAgeRange;
UINT32 udwSleevesLength;
UINT32 udwCoatColor;
UINT32 udwTrousersLength;
UINT32 udwTrousersColor;
UINT32 udwBodyToward;
UINT32 udwShoesTubeLength;
UINT32 udwHairLength;
UINT32 udwBagFlag;
FLOAT fTemperature;
UINT32 udwMask;
UINT32 udwCoatTexture;
UINT32 udwMovingDirection;
BYTE byRes[116];
}NETDEV_PERSON_ATTR_S,*LPNETDEV_PERSON_ATTR_S;

Members:
Parameter Description
udwGender Gender. See NETDEV_GENDER_TYPE_E.
udwAgeRange Age. See NETDEV_AGE_RANGE_E.
udwSleevesLength Sleeve length. See NETDEV_SLEEVES_LENGTH_E
udwCoatColor Coat color. See NETDEV_CLOTHES_COLOR_E.
udwTrousersLength Trousers length. See NETDEV_TROUSERS_LENGTH_E
udwTrousersColor Trousers color. See NETDEV_CLOTHES_COLOR_E.
551 / 767
Network Device SDK (Windows) User Manual
udwBodyToward Body direction. See NETDEV_BODY_TOWARD_E.
udwShoesTubeLength Shoes tube length. See NETDEV_SHOES_TUBE_LENGTH_E
udwHairLength Hair length. See NETDEV_HAIR_LENGTH_E.
udwBagFlag Whether carrying a bag. See NETDEV_BAG_FLAG_E.
fTemperature Body temperature (unit: °C, 2 decimal places)
udwMask Mask. See NETDEV_PERSON_MASK_FLAG_E.
udwCoatTexture Coat texture. See NETDEV_CLOTHES_TEXTURE_E.
udwMovingDirection Moving direction of people. See NETDEV_MOVE_DIRECTION_E.
byRes Reserved field.

4.27.383 Structured alarm info

typedef struct tagNETDEVStructAlarmInfo


{
CHAR szReference[NETDEV_LEN_260];
UINT32 udwTimeStamp;
UINT32 udwSeq;
UINT32 udwSrcID;
CHAR szSrcName[NETDEV_LEN_260];
UINT32 udwNotificationType;
CHAR szDeviceID[NETDEV_LEN_32];
CHAR szRelatedID[NETDEV_LEN_64];
BYTE byRes[32];
}NETDEV_STRUCT_ALARM_INFO_S,*LPNETDEV_STRUCT_ALARM_INFO_S;

Members:
Parameter Description
szReference Descriptive info
udwTimeStamp Alarm time. Number of seconds since 0’o clock, Jan. 1, 1970
udwSeq Alarm sequence number
udwSrcID Alarm source ID
szSrcName Alarm source name
udwNotificationType Notification type. 0: real-time notification 1: historical
notification
szDeviceID Alarm device ID. Filled in with the device’s GB code if the device
is connected via GB. Length range: [1,32]
szRelatedID ID that relates an alarm with alarm data (such as photos, attributes)
or relates data of multiple channels. An ID is unique within a camera.
Length: 15 characters.
byRes Reserved field.

4.27.384 Structured data info

typedef struct tagNETDEVStructDataInfo


{

552 / 767
Network Device SDK (Windows) User Manual
NETDEV_OBJECT_INFO_S stObjectInfo;
UINT32 udwImageNum;
LPNETDEV_STRUCT_IMAGE_INFO_S pstImageInfo;
BYTE byRes[128];
}NETDEV_STRUCT_DATA_INFO_S,*LPNETDEV_STRUCT_DATA_INFO_S;

Members:
Parameter Description
stObjectInfo Object info
udwImageNum Number of images
pstImageInfo Image info. Memory needs to be allocated dynamically.
byRes Reserved field.

4.27.385 Object info

typedef struct tagNETDEVObjectInfo


{
UINT32 udwFaceNum;
LPNETDEV_FACE_STRUCT_INFO_S pstFaceInfo;
UINT32 udwPersonNum;
LPNETDEV_PERSON_STRUCT_INFO_S pstPersonInfo;
UINT32 udwNonMotorVehNum;
LPNETDEV_NON_MOTOR_VEH_INFO_S pstNonMotorVehInfo;
UINT32 udwVehicleNum;
LPNETDEV_VEH_INFO_S pstVehInfo;
BYTE byRes[128];
}NETDEV_OBJECT_INFO_S,*LPNETDEV_OBJECT_INFO_S;

Members:
Parameter Description
udwFaceNum Number of faces
pstFaceInfo Face info. Memory needs to be allocated dynamically.
udwPersonNum Number of persons
pstPersonInfo Person info. Memory needs to be allocated dynamically.
udwNonMotorVehNum Number of non-motor vehicles
pstNonMotorVehInfo Non-motor vehicle info. Memory needs to be allocated dynamically.
udwVehicleNum Number of vehicles
pstVehInfo Vehicle Info. Memory needs to be allocated dynamically.
byRes Reserved field.

4.27.386 Face info

typedef struct tagNETDEVFaceStructInfo


{
UINT32 udwFaceID;

553 / 767
Network Device SDK (Windows) User Manual
UINT32 udwFaceDoforPersonID;
CHAR szPosition[NETDEV_LEN_64];
UINT32 udwSmallPicAttachIndex;
UINT32 udwLargePicAttachIndex;
CHAR szFeaturVersion[NETDEV_LEN_64];
CHAR szFeature[NETDEV_LEN_1024];
NETDEV_FACE_ATTR_S stFaceAttr;
LPNETDEV_RULE_INFO_S pstRuleInfo;
UINT32 udwFaceDoforNonMotorID;
UINT32 udwFaceDoforVehicleID;
BYTE byRes[116];
}NETDEV_FACE_STRUCT_INFO_S,*LPNETDEV_FACE_STRUCT_INFO_S;

Members:
Parameter Description
udwFaceID Face ID
udwFaceDoforPersonID ID of the corresponding person
szPosition Face position info
udwSmallPicAttachIndex Index of the small image of the face in the image list.
udwLargePicAttachIndex Index of the corresponding complete image of the face in the image
list.
szFeaturVersion Version number of the algorithm extracting semi-structured attributes
szFeature Extracted face attribute info. Base64-encoded. 512 bytes before
encryption.
stFaceAttr Face attribute info
pstRuleInfo Rule info. Memory needs to be allocated dynamically.
udwFaceDoforNonMotorID ID of the corresponding non-motor vehicle
udwFaceDoforVehicleID ID of the corresponding motor vehicle
byRes Reserved field.

See also:
NETDEV_OBJECT_INFO_S

4.27.387 Person info

typedef struct tagNETDEVPersonStructInfo


{
UINT32 udwPersonID;
UINT32 udwPersonDoforFaceID;
CHAR szPosition[NETDEV_LEN_64];
UINT32 udwSmallPicAttachIndex;
UINT32 udwLargePicAttachIndex;
CHAR szFeaturVersion[NETDEV_LEN_64];
CHAR szFeature[NETDEV_LEN_1024];
NETDEV_PERSON_ATTR_S stPersonAttr;
554 / 767
Network Device SDK (Windows) User Manual
LPNETDEV_RULE_INFO_S pstRuleInfo;
BYTE byRes[124];
}NETDEV_PERSON_STRUCT_INFO_S,*LPNETDEV_PERSON_STRUCT_INFO_S;

Members:
Parameter Description
udwPersonID Person ID
udwPersonDoforFaceID ID of the corresponding face
szPosition Person position info
udwSmallPicAttachIndex Index of the small image of the person in the image list
udwLargePicAttachIndex Index of the corresponding complete image of the person in the image
list
szFeaturVersion Version number of the algorithm extracting semi-structured attributes
szFeature Semi-structured attribute info. Base64-encoded. 512 bytes before
encryption.
stPersonAttr Person info
pstRuleInfo Rule info. Memory needs to be allocated dynamically.
byRes Reserved field.

See also:
NETDEV_OBJECT_INFO_S

4.27.388 Non-motor vehicle info

typedef struct tagNETDEVNonMotorVehInfo


{
UINT32 udwID;
CHAR szPosition[NETDEV_LEN_64];
UINT32 udwSmallPicAttachIndex;
UINT32 udwLargePicAttachIndex;
NETDEV_NO_MOTOR_VEH_ATTR_S stNoMotorVehAttr;
UINT32 udwPersonOnNoVehiNum;
LPNETDEV_PERSON_ATTR_S pstPersonAttr;
LPNETDEV_RULE_INFO_S pstRuleInfo;
BYTE byRes[124];
}NETDEV_NON_MOTOR_VEH_INFO_S,*LPNETDEV_NON_MOTOR_VEH_INFO_S;

Members:
Parameter Description
udwID Non-motor vehicle ID
szPosition Non-motor vehicle position info
udwSmallPicAttachIndex Index of the small image of the non-motor vehicle in the image list
udwLargePicAttachIndex Index of the corresponding complete image of the non-motor vehicle in
the image list
stNoMotorVehAttr Non-motor vehicle attribute info
555 / 767
Network Device SDK (Windows) User Manual
udwPersonOnNoVehiNum Number of people in the vehicle
pstPersonAttr Person attribute. Memory needs to be allocated dynamically.
pstRuleInfo Rule info. Memory needs to be allocated dynamically.
byRes Reserved field.

See also:
NETDEV_OBJECT_INFO_S

4.27.389 Non-motor vehicle attribute info

typedef struct tagNETDEVNonMotorVehAttr


{
UINT32 udwSpeedType;
UINT32 udwImageDirection;
UINT32 udwNonVehicleType ;
BYTE byRes[128];
}NETDEV_NO_MOTOR_VEH_ATTR_S,*LPNETDEV_NO_MOTOR_VEH_ATTR_S;

Members:
Parameter Description
udwSpeedType Speed type of non-motor vehicle in structured scenes. See
NETDEV_SPEED_TYPE_E.
udwImageDirection Driving direction (relative to the image) of non-motor vehicle in
structured scenes.
See NETDEV_IMAGE_DIRECTION_E.
udwNonVehicleType Non-motor vehicle type. See NETDEV_NON_VEH_TYPE_E.
byRes Reserved field.

4.27.390 Vehicle info

typedef struct tagNETDEVVehicleInfo


{
UINT32 udwID;
CHAR szPosition[NETDEV_LEN_64];
UINT32 udwSmallPicAttachIndex ;
UINT32 udwLargePicAttachIndex;
UINT32 udwPlatePicAttachIndex;
CHAR szFeatureVersion[NETDEV_LEN_64];
CHAR szFeature[NETDEV_LEN_1024];
NETDEV_VEH_ATTR_S stVehAttr;
NETDEV_PLATE_ATTR_S stPlateAttr;
LPNETDEV_RULE_INFO_S pstRuleInfo;
BYTE byRes[124];
}NETDEV_VEH_INFO_S, *LPNETDEV_VEH_INFO_S;

556 / 767
Network Device SDK (Windows) User Manual
Members:
Parameter Description
udwID Vehicle ID
szPosition Vehicle location info
udwSmallPicAttachIndex Index of the small image of the vehicle in the image list
udwLargePicAttachIndex Index of the corresponding complete image of the vehicle in the image
list
udwPlatePicAttachIndex Index of the small image of the plate in the image list
szFeatureVersion Version number of the algorithm extracting semi-structured attributes
szFeature Extracted face attribute info. Base64-encoded. 512 bytes before
encryption.
stVehAttr Vehicle attribute info
stPlateAttr Plate attribute info
pstRuleInfo Rule info. Memory needs to be allocated dynamically.
byRes Reserved field.

See also:
NETDEV_OBJECT_INFO_S

4.27.391 Vehicle attribute info

typedef struct tagNETDEVVehAttr


{
UINT32 udwType;
UINT32 udwColor;
UINT32 udwSpeedUnit;
FLOAT fSpeedValue;
UINT32 udwSpeedType;
CHAR szVehicleBrand[NETDEV_LEN_64];
UINT32 udwImageDirection;
BYTE byRes[128];
}NETDEV_VEH_ATTR_S,*LPNETDEV_VEH_ATTR_S;

Members:
Parameter Description
udwType Vehicle type. See NETDEV_VEHICLE_TYPE_E.
udwColor Vehicle color. See NETDEV_PLATE_COLOR_E.
udwSpeedUnit Vehicle speed unit. 0: kph 1: mph
fSpeedValue Vehicle speed
udwSpeedType Vehicle speed type in structured scenes. See NETDEV_SPEED_TYPE_E.
szVehicleBrand Vehicle brand (custom)
udwImageDirection Driving direction (relative to the image) of motor vehicle in
structured scenes. See
NETDEV_IMAGE_DIRECTION_E
byRes Reserved field.
557 / 767
Network Device SDK (Windows) User Manual
4.27.392 Plate attribute info

typedef struct tagNETDEVPlateAttr


{
CHAR szPlateNo[NETDEV_LEN_64];
UINT32 udwColor;
UINT32 udwType;
BYTE byRes[128];
}NETDEV_PLATE_ATTR_S,*LPNETDEV_PLATE_ATTR_S;

Members:
Parameter Description
szPlateNo Plate No.
udwColor Plate color. See NETDEV_PLATE_COLOR_E.
udwType Plate type. See NETDEV_PLATE_TYPE_E.
byRes Reserved field.

4.27.393 Structure of vehicle recognition event

typedef struct tagstNETDEVVehRecognitionEvent


{
CHAR szReference[NETDEV_LEN_480];
UINT32 udwSrcID;
NETDEV_VEHICLE_EVENT_INFO_S stVehicleEventInfo;
BYTE byRes[256];
}NETDEV_VEH_RECOGNITION_EVENT_S, *LPNETDEV_VEH_RECOGNITION_EVENT_S;

Members:
Parameter Description
szReference Subscriber info
udwSrcID Alarm source ID
stVehicleEventInfo Vehicle comparison alarm info. Memory needs to be allocated dynamically.
byRes Reserved field.

See also:
NETDEV_VehicleAlarmMessCallBack_PF

4.27.394 Structure of vehicle comparison alarm info

typedef struct tagstVehicleEventInfo


{
UINT32 udwID;
UINT32 udwTimestamp;
UINT32 udwNotificationType;
UINT32 udwVehicleInfoNum;

558 / 767
Network Device SDK (Windows) User Manual
LPNETDEV_VEHICLE_RECORD_INFO_S pstVehicleRecordInfo;
BYTE byRes[256];
}NETDEV_VEHICLE_EVENT_INFO_S,*LPNETDEV_VEHICLE_EVENT_INFO_S;

Members:
Parameter Description
udwID Notification record ID
udwTimestamp Notification reporting time (unit: second, UTC format).
udwNotificationType Notification type. See NETDEV_NOTIFICATION_TYPE_E.
udwVehicleInfoNum Number of vehicle info: [0, 1]
pstVehicleRecordInfo Vehicle list
byRes Reserved field.

4.27.395 Structure of vehicle recognition record info

typedef struct tagstNETDEVVehicleRcordInfo


{
UINT32 udwRecordID;
UINT32 udwChannelID;
UINT32 udwPassingTime;
CHAR szChannelName[NETDEV_LEN_260];
NETDEV_PLATE_ATTR_INFO_S stPlateAttr;
NETDEV_VEH_ATTR_S stVehAttr;
NETDEV_FILE_INFO_S stPlateImage;
NETDEV_FILE_INFO_S stVehicleImage;
NETDEV_FILE_INFO_S stPanoImage;
NETDEV_MONITOR_ALARM_INFO_S stMonitorAlarmInfo;
BYTE byRes[132];
}NETDEV_VEHICLE_RECORD_INFO_S, *LPNETDEV_VEHICLE_RECORD_INFO_S;

Members:
Parameter Description
udwRecordID Vehicle recognition record ID
udwChannelID Capture channel ID, valid when pushing captured images.
udwPassingTime Vehicle pass-through time (unit: second, UTC format).
szChannelName Checkpoint camera name
stPlateAttr Captured plate info
stVehAttr Captured vehicle info
stPlateImage Captured plate image. Max 1MB after encryption.
Captured vehicle image. Required in structured queries. Max 1MB after
stVehicleImage
encryption.
Panoramic image. Required in structured queries. Only image URL and size are
stPanoImage
included. Image data are obtained through /LAPI/V1.0/System/Picture
stMonitorAlarmInfo Plate monitoring info
byRes Reserved field.
559 / 767
Network Device SDK (Windows) User Manual
4.27.396 Structure of plate info

typedef struct tagstNETDEVPlateAttrInfo


{
CHAR szPlateNo[NETDEV_LEN_16];
UINT32 udwColor;
UINT32 udwType;
BYTE byRes[64];
}NETDEV_PLATE_ATTR_INFO_S, *LPNETDEV_PLATE_ATTR_INFO_S;

Members:
Parameter Description
szPlateNo Plate No.
udwColor Plate color. See NETDEV_PLATE_COLOR_E.
udwType Plate type. See NETDEV_PLATE_TYPE_E.
byRes Reserved field.

4.27.397 Structure of info about smart event subscription

typedef struct tagstNETDEVSubscribeSmartInfo


{
UINT32 udwNum;
UINT32 *pudwSmartType;
BYTE byRes[128];
}NETDEV_SUBSCRIBE_SMART_INFO_S, *LPNETDEV_SUBSCRIBE_SMART_INFO_S;

Members:
Parameter Description
udwNum Number of subscribed smart alarms
Subscribed smart alarm types. See NETDEV_SMART_ALARM_TYPE_E. Memory needs to
pudwSmartType
be allocated dynamically according to udwNum.
byRes Reserved field.

See also:
NETDEV_SubscribeSmart

4.27.398 Structure of smart event info

typedef struct tagstNETDEVSmartInfo


{
INT32 dwChannelID;
UINT32 udwSubscribeID;
UINT32 udwSubscribeType;
UINT32 udwCurrrntTime;
UINT32 udwEndTime;

560 / 767
Network Device SDK (Windows) User Manual
BYTE byRes[124];
}NETDEV_SMART_INFO_S, *LPNETDEV_SMART_INFO_S;

Members:
Parameter Description
dwChannelID Channel ID
udwSubscribeID Subscription ID
udwSubscribeType Subscription type
udwCurrrntTime Current time (unit: second, UTC format).
udwEndTime End time (unit: second, UTC format).
byRes Reserved field.

See also:
NETDEV_SubscribeSmart, NETDEV_UnsubscribeSmart

4.27.399 Structure of info about LAPI alarm subscription

typedef struct tagNETDEVLapiSubInfo


{
UINT32 udwType;
UINT32 udwLibIDNum;
UINT32 audwLibIDList[NETDEV_LEN_32];
BYTE byRes[132];
}NETDEV_LAPI_SUB_INFO_S,*LPNETDEV_LAPI_SUB_INFO_S;

Members:
Parameter Description
udwType Subscription type. Indicated by bit. See NETDEV_ALARM_TYPE_V30_E.
Number of subscribed library IDs. LibIDNum=0xffff means subscribing to all
udwLibIDNum
libraries
audwLibIDList List of IDs of subscribed libraries.
byRes Reserved field

See also:
NETDEV_SubscibeLapiAlarm

4.27.400 Structure of returned result for successful subscriptions

typedef struct tagNETDEVSubscribeSuccInfo


{
UINT32 udwID;
UINT32 udwCurrrntTime;
UINT32 udwTerminationTime;
UINT32 udwSupportAlarmType;
CHAR szReference[NETDEV_LEN_260];

561 / 767
Network Device SDK (Windows) User Manual
BYTE byRes[124];
}NETDEV_SUBSCRIBE_SUCC_INFO_S,*LPNETDEV_SUBSCRIBE_SUCC_INFO_S;

Members:
Parameter Description
udwID Subscription ID
udwCurrrntTime Current time (UTC format). Number of seconds since 0 o’clock Jan. 1, 1970
udwTerminationTime End time (UTC format). Number of seconds since 0 o’clock Jan. 1, 1970
The return value shall carry this parameter if the request message carries
udwSupportAlarmType
the subscribed alarm type. 0 means the response does not carry the data.
szReference Subscriber info. In the form of a URL.
byRes Reserved field

See also:
NETDEV_SubscibeLapiAlarm

4.27.401 Structure of returned alarm records (face recognition and plate recognition)

typedef struct tagstNETDEVSmartAlarmLogResultInfo


{
UINT32 udwTotal;
UINT32 udwOffset;
UINT32 udwNum;
BYTE byRes[128];
}NETDEV_SMART_ALARM_LOG_RESULT_INFO_S, *LPNETDEV_SMART_ALARM_LOG_RESULT_INFO_S;

Members:
Parameter Description
udwTotal Total number of alarm records
udwOffset Record offset
udwNum Number of alarm records returns this time
byRes Reserved field.

See also:
NETDEV_FindFaceRecordDetailList

4.27.402 Structure of parking lot entrance/exit list

typedef struct tagstNETDEVParkEntranceInfoList


{
UINT32 udwNum;
NETDEV_PARK_ENTRANCE_INFO_S astParkEntranceInfo[NETDEV_LEN_32];
BYTE byRes[512];
}NETDEV_PARK_ENTRANCE_INFO_LIST_S,*LPNETDEV_PARK_ENTRANCE_INFO_LIST_S;

562 / 767
Network Device SDK (Windows) User Manual
Members:
Parameter Description
udwNum Number of entrances/exits
astParkEntranceInfo Entrance/exit info. Each parking lot supports up to 16 entrances/exits.
byRes Reserved field.

See also:
NETDEV_GetParkEntranceInfoList

4.27.403 Structure of parking lot entrance/exit info

typedef struct tagstNETDEVParkEntranceInfo


{
UINT32 udwParkEntranceID;
CHAR szName[NETDEV_LEN_260];
UINT32 udwVehicleLaneNum;
BYTE byRes[256];
}NETDEV_PARK_ENTRANCE_INFO_S, *LPNETDEV_PARK_ENTRANCE_INFO_S;

Members:
Parameter Description
udwParkEntranceID Entrance/exit ID. Not carried when adding an entrance/exit
szName Entrance/exit name. Length range: [1,64]
udwVehicleLaneNum Number of lanes. Max: 2
byRes Reserved field.

4.27.404 Structure of parking lot list

typedef struct tagstNETDEVParkInfoList


{
UINT32 udwNum;
NETDEV_PARK_INFO_S astParkInfo[NETDEV_LEN_16];
BYTE byRes[512];
}NETDEV_PARK_INFO_LIST_S, *LPNETDEV_PARK_INFO_LIST_S;

Members:
Parameter Description
udwNum Number of parking lots
astParkInfo Parking lot info. Each VMS allows up to 8 parking lots.
byRes Reserved field.

See also:
NETDEV_GetParkInfoList

563 / 767
Network Device SDK (Windows) User Manual
4.27.405 Structure of parking log info

typedef struct tagstNETDEVParkInfo


{
UINT32 udwParkingLotID;
CHAR szParkingLotName[NETDEV_LEN_260];
UINT32 udwTotalSpaceNum;
UINT32 udwRmnSpaceNum;
UINT32 udwReserveSpaceNum;
UINT32 udwRmnReserveSpaceNum;
UINT32 udwMainParkingLotID;
BYTE byRes[256];
}NETDEV_PARK_INFO_S,*LPNETDEV_PARK_INFO_S;

Members:
Parameter Description
udwParkingLotID Parking lot ID
szParkingLotName Parking lot name, length range: [1,64].
udwTotalSpaceNum Total number of parking spaces
udwRmnSpaceNum Number of remaining parking spaces
udwReserveSpaceNum Number of fixed parking spaces
udwRmnReserveSpaceNum Number of remaining fixed parking spaces
udwMainParkingLotID Parking lot ID. Optional in the absence of main parking lot.
byRes Reserved field.

4.27.406 Structure of parking lot entrance/exit ID

typedef struct tagstNETDEVParkEntranceID


{
UINT32 udwParkID;
UINT32 udwEntranceID;
BYTE byRes[256];
}NETDEV_PARK_ENTRANCE_ID_S,*LPNETDEV_PARK_ENTRANCE_ID_S;

Members:
Parameter Description
udwParkID Parking lot ID
udwEntranceID Entrance/exit ID
byRes Reserved field.

See also:
NETDEV_GetParkLaneInfoList

564 / 767
Network Device SDK (Windows) User Manual
4.27.407 Structure of lane list

typedef struct tagstNETDEVVehLaneInfoList


{
UINT32 udwNum;
NETDEV_VEH_LANE_INFO_S astVehLaneInfo[NETDEV_LEN_4];
BYTE byRes[128];
}NETDEV_VEH_LANE_INFO_LIST_S,*LPNETDEV_VEH_LANE_INFO_LIST_S;

Members:
Parameter Description
udwNum Number of lanes. Max: 2
astVehLaneInfo Lane information
byRes Reserved field.

See also:
NETDEV_GetParkLaneInfoList

4.27.408 Structure of lane info

typedef struct tagstNETDEVVehLaneInfo


{
UINT32 udwVehLaneID;
CHAR szName[NETDEV_LEN_128];
UINT32 udwType;
UINT32 udwNum;
NETDEV_TM_SECT_INFO_S astEnTmSectInfo[NETDEV_LEN_4];
NETDEV_VEH_THROUGH_INFO_S stTmpVehThrough;
NETDEV_VEH_THROUGH_INFO_S stRegVehThrough;
UINT32 udwDevNum;
UINT32 audwDevID[NETDEV_LEN_4];
BYTE byRes[128];
}NETDEV_VEH_LANE_INFO_S,*LPNETDEV_VEH_LANE_INFO_S;

Members:
Parameter Description
udwVehLaneID Lane ID
szName Lane Name
udwType Lane type. See NETDEV_VEH_LANE_TYPE_E.
udwNum Number of custom periods. Max: 4.
astEnTmSectInfo Custom period list
stTmpVehThrough Let through temporary vehicles
stRegVehThrough Let through regular vehicles
udwDevNum Number of devices. Max: 4
audwDevID List of IDs of entrance/exit devices linked to lanes

565 / 767
Network Device SDK (Windows) User Manual
byRes Reserved field.

4.27.409 Structure of custom time periods

typedef struct tagstNETDEVTmSectInfo


{
CHAR szBegin[NETDEV_LEN_64];
CHAR szEnd[NETDEV_LEN_64];
BYTE byRes[128];
}NETDEV_TM_SECT_INFO_S,*LPNETDEV_TM_SECT_INFO_S;

Members:
Parameter Description
szBegin Start time (hh:mm:ss), length range: [0,31]
szEnd End time (hh:mm:ss), length range: [0,31]
byRes Reserved field.

4.27.410 Structure of vehicle let-through info

typedef struct tagstNETDEVVehThroughInfo


{
UINT32 udwType;
UINT32 udwNum;
NETDEV_TM_SECT_INFO_S astTmSectInfo[NETDEV_LEN_4];
BYTE byRes[128];
}NETDEV_VEH_THROUGH_INFO_S,*LPNETDEV_VEH_THROUGH_INFO_S;

Members:
Parameter Description
udwType Release method. See NETDEV_VEH_RELEASE_TYPE_E.
udwNum Custom let-through period list. Max: 4
astTmSectInfo Custom let-through time periods
byRes Reserved field.

4.27.411 Structure of parking payment order info

typedef struct tagstNETDEVParkPayOrderInfo


{
CHAR szOrderNo[NETDEV_LEN_128];
UINT32 udwOrderStatus;
CHAR szPlateNo[NETDEV_LEN_128];
UINT32 udwPayType;
CHAR szPayTradeNo[NETDEV_LEN_128];
UINT32 udwTotalAmount;
UINT32 udwDiscountAmount;
BYTE byRes[256];
566 / 767
Network Device SDK (Windows) User Manual
}NETDEV_PARK_PAY_ORDER_INFO_S,*LPNETDEV_PARK_PAY_ORDER_INFO_S;

Members:
Parameter Description
szOrderNo Order number, generated by the third-party
udwOrderStatus Order payment status. See NETDEV_ORDER_STATUS_E.
szPlateNo Plate No.
udwPayType Payment type. See NETDEV_PAY_TYPE_E.
szPayTradeNo Payment order number
udwTotalAmount Total amount of parking fees (unit: cent)
udwDiscountAmount Discounted amount (unit: cent)
byRes Reserved field.

See also:
NETDEV_IssuePayOrder

4.27.412 Structure of parking cost

typedef struct tagstNETDEVParkCost


{
UINT32 udwTotalAmount;
UINT32 udwEnterTime;
UINT32 udwExitLimitTime;
BYTE byRes[256];
}NETDEV_PARK_COST_S, *LPNETDEV_PARK_COST_S;

Members:
Parameter Description
udwTotalAmount Discounted amount (unit: cent)
udwEnterTime Entry time (unit: second, UTC format)
udwExitLimitTime Specified time limit for leaving the parking lot (unit: minute)
byRes Reserved field.

See also:
NETDEV_IssuePayOrder

4.27.413 Structure of parking event info

typedef struct tagstNETDEVParkEventInfo


{
UINT32 udwID;
UINT32 udwParkID;
CHAR szPlateNo[NETDEV_LEN_32];
NETDEV_VEH_ATTR_S stVehAttr;
UINT32 udwVehRemainNum;

567 / 767
Network Device SDK (Windows) User Manual
UINT32 udwIsWhiteList;
UINT32 udwIsBlackList;
CHAR szEntranceName[NETDEV_LEN_128];
CHAR szLaneName[NETDEV_LEN_128];
UINT32 udwCrossDirection;
LPNETDEV_ENTR_INFO_S pstEnterInfo;
LPNETDEV_EXIT_INFO_S pstExitInfo;
BYTE byRes[256];
}NETDEV_PARK_EVENT_INFO_S,*LPNETDEV_PARK_EVENT_INFO_S;

Members:
Parameter Description
udwID Record ID
udwParkID Parking lot ID
szPlateNo Plate No.
stVehAttr Vehicle attribute info
udwVehRemainNum Number of vehicles in the parking lot
udwIsWhiteList Whether is on the allowlist. 0: No 1: Yes
udwIsBlackList Whether is on the blocklist. 0: No 1: Yes
szEntranceName Entrance & exit name
szLaneName Lane name
udwCrossDirection Vehicle direction. 0: Enter 1: Leave
pstEnterInfo Entry information
pstExitInfo Exit information
byRes Reserved field.

See also:
NETDEV_ParkEventMessCallBack_PF

4.27.414 Structure of vehicle entry image

typedef struct tagNETDEVEntrInfo


{
UINT32 udwEnterTime;
NETDEV_FILE_INFO_S stPlateImage;
NETDEV_FILE_INFO_S stVehImage;
BYTE byRes[256];
}NETDEV_ENTR_INFO_S,*LPNETDEV_ENTR_INFO_S;

Members:
Parameter Description
udwEnterTime Entry time (unit: second, UTC format)
stPlateImage Plate image
stVehImage Vehicle image

568 / 767
Network Device SDK (Windows) User Manual
4.27.415 Structure of vehicle leaving image

typedef struct tagstNETDEVExitInfo


{
UINT32 udwExitTime;
UINT32 udwTotalAmount;
UINT32 udwIsAlreadyPaid;
UINT32 udwChargeRecordID;
NETDEV_FILE_INFO_S stPlateImage;
NETDEV_FILE_INFO_S stVehImage;
CHAR szOperatorName[NETDEV_LEN_128];
BYTE byRes[256];
}NETDEV_EXIT_INFO_S,*LPNETDEV_EXIT_INFO_S;

Members:
Parameter Description
udwExitTime Exit time (unit: second, UTC format)
udwTotalAmount Parking fees (unit: cent)
udwIsAlreadyPaid Whether parking fees are paid. 0: No 1: Yes
udwChargeRecordID Payment record ID
stPlateImage Plate image
stVehImage Vehicle image
szOperatorName Operator
byRes Reserved field.

4.27.416 Structure of time template configuration

typedef struct tagNETDEVSystemTimeTemplate


{
UINT32 udwTemplateID;
CHAR szTemplateName[NETDEV_LEN_256];
CHAR szTemplateDesc[NETDEV_LEN_512];
UINT32 udwLastChange;
NETDEV_WEEK_PLAN_INFO_S stWeekPlanInfo;
NETDEV_EXCEPTION_INFO_S stExceptionInfo;
BOOL bIsBuiltin;
UINT32 udwTemplateType;
BYTE byRes[128];
}NETDEV_SYSTEM_TIME_TEMPLATE_S,*LPNETDEV_SYSTEM_TIME_TEMPLATE_S;

Members:
Parameter Description
udwTemplateID Time template ID
szTemplateName Time template name. Range: [1, 63]
szTemplateDesc Time template description. Range: [1, 128]

569 / 767
Network Device SDK (Windows) User Manual
udwLastChange Last time time template is modified.
stWeekPlanInfo Arming scheduling of monitoring task
stExceptionInfo Exception schedule of monitoring task
bIsBuiltin Whether is a built-in time template. 1: Yes 2: No. Applicable to VMS only.
Time template type. Applicable to VMS. 0: Recording time template, 1: Alarm
udwTemplateType
time template, 2: User time template.
byRes Reserved field

See also:
NETDEV_AddTimeTemplate, NETDEV_GetTimeTemplate, NETDEV_ModifyTimeTemplate

4.27.417 Structure of exceptions of monitoring task schedule

typedef struct tagNETDEVExceptionInfo


{
BOOL bEnabled;
UINT32 udwNum;
NETDEV_EXCEPTION_DAY_INFO_S stExceptionDayInfo[NETDEV_LEN_32];
BYTE byRes[128];
}NETDEV_EXCEPTION_INFO_S,*LPNETDEV_EXCEPTION_INFO_S;

Members:
Parameter Description
bEnabled Whether exception dates are enabled. 0: No 1: Yes.
udwNum Number of exception dates. Range: [0, 16].
stExceptionDayInfo Detailed arming schedule information of each day
byRes Reserved field

4.27.418 Structure of detailed info about daily arming schedule

typedef struct tagNETDEVExceptionDayInfo


{
UINT32 udwID;
BOOL bEnabled;
CHAR szDate[NETDEV_LEN_16];
UINT32 udwNum;
NETDEV_TIME_SECTION_INFO_S stTimeSectionInfo[NETDEV_LEN_16];
BYTE byRes[128];
}NETDEV_EXCEPTION_DAY_INFO_S,*LPNETDEV_EXCEPTION_DAY_INFO_S;

Members:
Parameter Description
udwID Exception date index
bEnabled Whether exception dates are enabled
szDate Exception dates.

570 / 767
Network Device SDK (Windows) User Manual
Number of exception periods.
udwNum NVR: Max 8.
IPC/PTS: Max 4.
stTimeSectionInfo Detailed arming configuration information
byRes Reserved field

4.27.419 Structure of general-purpose ID list

typedef struct tagNETDEVIDList


{
UINT32 udwNum;
UINT32 *pudwIDs;
BYTE byRes[256];
}NETDEV_ID_LIST_S, *LPNETDEV_ID_LIST_S;

Members:
Parameter Description
udwNum Quantity
pudwIDs ID list. Memory needs to be allocated dynamically by Malloc.
byRes Reserved field.

See also:
NETDEV_BatchDeleteTimeTemplate

4.27.420 Structure of time template

typedef struct tagNETDEVTimeTemplateBaseInfo


{
UINT32 udwTemplateID;
CHAR szTemplateName[NETDEV_LEN_256];
UINT32 udwLastChange;
BYTE byRes[256];
}NETDEV_TIME_TEMPLATE_BASE_INFO_S, *LPNETDEV_TIME_TEMPLATE_BASE_INFO_S;

Members:
Parameter Description
udwTemplateID Template ID
szTemplateName Template name
udwLastChange Last time modified.
byRes Reserved field.

See also:
NETDEV_FindNextTimeTemplateByTypeInfo

571 / 767
Network Device SDK (Windows) User Manual
4.27.421 Structure of access control person info

typedef struct tagNETDEVACSPersonInfo


{
UINT32 udwReqSeq;
UINT32 udwPersonID;
CHAR szName[NETDEV_LEN_260];
UINT32 udwGender;
NETDEV_FACE_MEMBER_ID_INFO_S stMemberIDInfo;
CHAR szTelephone[NETDEV_LEN_64];
CHAR szAddress[NETDEV_LEN_260];
CHAR szDesc[NETDEV_LEN_480];
UINT32 udwCardNum;
NETDEV_ACS_PERSON_CARD_INFO_S stACSPersonCardList[NETDEV_LEN_6];
NETDEV_ACS_FACE_IMAGE_S stFaceImage;
UINT32 udwType;
NETDEV_ACS_STAFF_INFO_S stStaffInfo;
NETDEV_ACS_VISITOR_INFO_S stVisitor;
BYTE byRes[256];
}NETDEV_ACS_PERSON_INFO_S, *LPNETDEV_ACS_PERSON_INFO_S;

Members:
Parameter Description
udwReqSeq Sequence number of request
udwPersonID Person ID
szName Name
udwGender Gender. See NETDEV_GENDER_TYPE_E.
stMemberIDInfo ID information.
szTelephone Phone number
szAddress Address
szDesc Remarks
udwCardNum Number of access control cards. Range: [1, 6].
stACSPersonCardList Access control card information
stFaceImage Face image
udwType Person type. See NETDEV_ACS_PERSON_TYPE_E.
stStaffInfo Staff info
stVisitor Visitor information
byRes Reserved field.

See also:
NETDEV_ACSPersonCtrl

4.27.422 Structure of image info

typedef struct tagNETDEVACSFaceImage

572 / 767
Network Device SDK (Windows) User Manual
{
UINT32 udwNum;
NETDEV_FILE_INFO_S stImageList[NETDEV_LEN_16];
UINT32 udwMajorImageIndex;
BYTE byRes[128];
}NETDEV_ACS_FACE_IMAGE_S, *LPNETDEV_ACS_FACE_IMAGE_S;

Members:
Parameter Description
udwNum Number of images
stImageList Face image list
udwMajorImageIndex Major image index
byRes Reserved field.

4.27.423 Structure of staff info

typedef struct tagNETDEVACSStaffInfo


{
CHAR szNumber[NETDEV_LEN_16];
CHAR szBirthday[NETDEV_FACE_MEMBER_BIRTHDAY_LEN];
CHAR szDeptName[NETDEV_LEN_260];
UINT32 udwDeptID;
BYTE byRes[128];
}NETDEV_ACS_STAFF_INFO_S, *LPNETDEV_ACS_STAFF_INFO_S;

Members:
Parameter Description
szNumber Person ID
szBirthday Birth date
szDeptName Department name
udwDeptID Department ID

4.27.424 Structure of time info

typedef struct tagACSTimeSection


{
INT64 tStartTime;
INT64 tEndTime;
BYTE byRes[32];
}NETDEV_ACS_TIME_SECTION_S, *LPNETDEV_ACS_TIME_SECTION_S;

Members:
Parameter Description
tStartTime Start time (unit: second, UTC format)
tEndTime End time (unit: second, UTC format)

573 / 767
Network Device SDK (Windows) User Manual
byRes Reserved field.

4.27.425 Structure of visitor info

typedef struct tagNETDEVACSVisitorInfo


{
CHAR szVisitorCompany[NETDEV_LEN_260];
UINT32 udwVisitorCount;
UINT32 udwIntervieweeID;
CHAR szIntervieweeName[NETDEV_LEN_260];
CHAR szIntervieweeDept[NETDEV_LEN_260];
NETDEV_ACS_TIME_SECTION_S tScheduleTime;
NETDEV_ACS_TIME_SECTION_S tRealTime;
UINT32 udwStatus;
BYTE byRes[128];
}NETDEV_ACS_VISITOR_INFO_S, *LPNETDEV_ACS_VISITOR_INFO_S;

Members:
Parameter Description
szVisitorCompany Company of the visitor. Range: [1,64] characters
udwVisitorCount Number of visitors
udwIntervieweeID ID of the visited
szIntervieweeName Name of the visited. Range: [1,64] characters
szIntervieweeDept Department of the visited. Range: [1,64] characters
tScheduleTime Scheduled visit time
tRealTime Actual visit time
udwStatus Status. See NETDEV_ACS_VISIT_STATUS_E.
byRes Reserved field.

4.27.426 Structure of info about person’s access control card

typedef struct tagNETDEVACSPersonCardInfo


{
UINT32 udwCardID;
UINT32 udwCardType;
UINT32 udwCardStatus;
CHAR szCardNo[NETDEV_LEN_64];
UINT32 udwReqSeq;
NETDEV_ACS_TIME_SECTION_S stValidTime;
BYTE byRes[256];
}NETDEV_ACS_PERSON_CARD_INFO_S,* LPNETDEV_ACS_PERSON_CARD_INFO_S;

Members:
Parameter Description
udwCardID Bound ID

574 / 767
Network Device SDK (Windows) User Manual
udwCardType Card type
udwCardStatus Card status. 0:Blank 1:Active 2: Frozen 3: Cancelled
szCardNo Card number
udwReqSeq Sequence number
stValidTime Valid period
byRes Reserved field.

See also:
NETDEV_AddACSPersonCardInfo, NETDEV_GetACSPersonCardInfo

4.27.427 Structure of blocklist info

typedef struct tagNETDEVACSPersonBlacklistInfo


{
UINT32 udwBlackListID;
NETDEV_FACE_MEMBER_ID_INFO_S stIdentificationInfo;
BYTE byRes[256];
}NETDEV_ACS_PERSON_BLACKLIST_INFO_S, *LPNETDEV_ACS_PERSON_BLACKLIST_INFO_S;

Members:
Parameter Description
udwBlackListID Blocklist ID
stIdentificationInfo ID info
byRes Reserved field.

See also:
NETDEV_AddACSPersonBlackList, NETDEV_FindNextACSPersonBlackListInfo,
NETDEV_GetACSPersonBlackList, NETDEV_ModifyACSPersonBlackList

4.27.428 Structure of person list

typedef struct tagNETDEVACSPersonList


{
UINT32 udwNum;
LPNETDEV_ACS_PERSON_INFO_S pstPersonInfoList;
BYTE byRes[128];
}NETDEV_ACS_PERSON_LIST_S, *LPNETDEV_ACS_PERSON_LIST_S;

Members:
Parameter Description
udwNum Number of persons
pstPersonInfoList Staff list. Memory needs to be allocated dynamically according to udwNum.
byRes Reserved field.

See also:

575 / 767
Network Device SDK (Windows) User Manual
NETDEV_AddACSPersonList

4.27.429 Structure of permission info

typedef struct tagNETDEVACSPermissionInfo


{
UINT32 udwPermissionID;
CHAR szPermissionName[NETDEV_LEN_260];
UINT32 udwPermissionType;
NETDEV_OPERATE_LIST_S stPersonList;
UINT32 udwTemplateID;
NETDEV_ACS_TIME_SECTION_S stValidTime;
NETDEV_OPERATE_LIST_S stDoorList;
BYTE byRes[256];
}NETDEV_ACS_PERMISSION_INFO_S, *LPNETDEV_ACS_PERMISSION_INFO_S;

Members:
Parameter Description
udwPermissionID Permission ID
szPermissionName Permission name
udwPermissionType Permission type. 0: Staff permission group 1: Visitor permission group
stPersonList Person ID list, where dwSize is the number of persons.
udwTemplateID Time template ID
stValidTime Valid time
Access control channel list, where dwSize is the number of access control
stDoorList
channels.

See also:
NETDEV_AddACSPersonPermissionGroup, NETDEV_FindNextACSPermissionGroupInfo,
NETDEV_GetSinglePermGroupInfo, NETDEV_ModifyACSPersonPermissionGroup

4.27.430 Structure of batch operation list of face recognition module

typedef struct tagNETDEVFaceBatchList


{
UINT32 udwNum;
LPNETDEV_FACE_BATCH_INFO_S pstBatchList;
BYTE byRes[128];
}NETDEV_FACE_BATCH_LIST_S,*LPNETDEV_FACE_BATCH_LIST_S;

Members:
Parameter Description
udwNum Batch processed number
Batch operation info. Memory needs to be allocated dynamically according to
pstBatchList
udwNum.

576 / 767
Network Device SDK (Windows) User Manual
byRes Reserved field.

See also:
NETDEV_DeleteACSPersonList

4.27.431 Structure of batch operation info of face recognition module

typedef struct tagNETDEVFaceBatchInfo


{
UINT32 udwReqSeq;
UINT32 udwResultCode;
UINT32 udwID;
BYTE byRes[128];
}NETDEV_FACE_BATCH_INFO_S,*LPNETDEV_FACE_BATCH_INFO_S;

Members:
Parameter Description
udwReqSeq Sequence number of request data
udwResultCode Returned error code
udwID ID
byRes Reserved field.

4.27.432 Structure of entry/exit record info

typedef struct tagNETDEVACSAttendanceLogInfo


{
UINT32 udwAlarmType;
INT64 tTimeStamp;
CHAR szDoorName[NETDEV_LEN_260];
CHAR szDoorNo[NETDEV_LEN_64];
UINT32 udwDoorDirect;
CHAR szCardNo[NETDEV_LEN_64];
CHAR szPersonName[NETDEV_LEN_260];
UINT32 udwPersonType;
CHAR szPersonPhone[NETDEV_LEN_64];
CHAR szPersonDept[NETDEV_LEN_260];
NETDEV_COMPARE_INFO_S stCompareInfo;
NETDEV_FACE_ATTR_S stFaceAttr;
UINT32 udwCardStatus;
NETDEV_CTRL_LIB_MATCH_INFO_S stLibMatchInfo;
BYTE byRes[256];
}NETDEV_ACS_ATTENDANCE_LOG_INFO_S, *LPNETDEV_ACS_ATTENDANCE_LOG_INFO_S;

Members:
Parameter Description

577 / 767
Network Device SDK (Windows) User Manual
udwAlarmType Alarm type
tTimeStamp Alarm time
szDoorName Door name
szDoorNo Door No.
udwDoorDirect In/out direction. 0: In 1: Out
szCardNo Card number
szPersonName Person name
udwPersonType Person type. See NETDEV_ACS_PERSON_TYPE_E.
szPersonPhone Phone number of person
szPersonDept Department of person
stCompareInfo Face comparison info. Required for face recognition terminals.
stFaceAttr Face attribute info
udwCardStatus Card status. 0: Unregistered 1: Registered
stLibMatchInfo Library comparison info
byRes Reserved field.

See also:
NETDEV_FindNextACSAttendanceLog

4.27.433 Structure of face comparison info

typedef struct tagNETDEVCompareInfo


{
NETDEV_FILE_INFO_S stPersonImage;
NETDEV_FILE_INFO_S stSnapshotImage;
BYTE byRes[128];
}NETDEV_COMPARE_INFO_S, *LPNETDEV_COMPARE_INFO_S;

Members:
Parameter Description
stPersonImage Image of person.
stSnapshotImage Snapshot image
byRes Reserved field.

4.27.434 Structure of search criteria

typedef struct tagNETDEVPagedQueryInfo


{
UINT32 udwLimit;
UINT32 udwOffset;
BYTE byRes[128];
}NETDEV_PAGED_QUERY_INFO_S,*LPNETDEV_PAGED_QUERY_INFO_S;

Members:
Parameter Description

578 / 767
Network Device SDK (Windows) User Manual
udwLimit Number of results returned each time.
udwOffset Search starts from the current sequence number
byRes Reserved field

See also:
NETDEV_FindACSPersonBlackList

4.27.435 Structure of basic info about access control persons

typedef struct tagNETDEVACSPersonBaseInfo


{
UINT32 udwPersonID;
CHAR szName[NETDEV_LEN_260];
UINT32 udwGender;
NETDEV_FACE_MEMBER_ID_INFO_S stMemberIDInfo;
CHAR szTelephone[NETDEV_LEN_64];
UINT32 udwCardID;
CHAR szCardNo[NETDEV_LEN_16];
UINT32 udwType;
NETDEV_ACS_STAFF_INFO_S stStaffInfo;
NETDEV_ACS_VISITOR_INFO_S stVisitor;
BYTE byRes[256];
}NETDEV_ACS_PERSON_BASE_INFO_S, *LPNETDEV_ACS_PERSON_BASE_INFO_S;

Members:
Parameter Description
udwPersonID Person ID
szName Name
udwGender Gender. See NETDEV_GENDER_TYPE_E.
stMemberIDInfo ID info
szTelephone Phone number
udwCardID Card ID
szCardNo Card number
udwType Person type. 0: Staff 1: Visitor
stStaffInfo Staff info
stVisitor Visitor info
byRes Reserved field.

See also:
NETDEV_FindNextACSPersonInfo

4.27.436 Structure of visitor record info

typedef struct tagACSVisitLogInfo


{

579 / 767
Network Device SDK (Windows) User Manual
UINT32 udwLogID;
UINT32 udwVisitorID;
CHAR szVisitorName[NETDEV_LEN_260];
CHAR szVisitorCompany[NETDEV_LEN_260];
CHAR szVisitorPhone[NETDEV_LEN_64];
CHAR szCardNo[NETDEV_LEN_16];
UINT32 udwIntervieweeID;
CHAR szIntervieweeName[NETDEV_LEN_260];
CHAR szIntervieweeDept[NETDEV_LEN_260];
INT64 tScheduleStartTime;
INT64 tRealStartTime;
UINT32 udwStatus;
BYTE byRes[256];
}NETDEV_ACS_VISIT_LOG_INFO_S, *LPNETDEV_ACS_VISIT_LOG_INFO_S;

Members:
Parameter Description
udwLogID Day ID
udwVisitorID Visitor ID
szVisitorName Visitor name. Range: [1,64] characters
szVisitorCompany Company of the visitor. Range: [1,64] characters
szVisitorPhone Visitor's phone number
szCardNo Visitor’s card number
udwIntervieweeID ID of the visited
szIntervieweeName Name of the visited. Range: [1,64] characters
szIntervieweeDept Department of the visited. Range: [1,64] characters
tScheduleStartTime Scheduled visit time (unit: second, UTC format)
tRealStartTime Actual visit time (unit: second, UTC format).
udwStatus Status. See NETDEV_ACS_VISIT_STATUS_E.
byRes Reserved field.

See also:
NETDEV_FindNextACSVisitLog

4.27.437 Structure of door permission info

typedef struct tagNETDEVACSDoorPermissionInfo


{
UINT32 udwPermissionNum;
NETDEV_ACS_TIME_SECTION_S stValidTime;
LPNETDEV_ACS_PERMISSION_GROUP_INFO_S pstPermissionGroupList;
BYTE byRes[256];
}NETDEV_ACS_DOOR_PERMISSION_INFO_S, *LPNETDEV_ACS_DOOR_PERMISSION_INFO_S;

Members:
580 / 767
Network Device SDK (Windows) User Manual
Parameter Description
udwPermissionNum Number of permission groups
stValidTime Validity period
pstPermissionGroupList Permission group list. Optional when Num is 0.
byRes Reserved field.

See also:
NETDEV_GetACSPersonPermission, NETDEV_SetACSPersonPermission

4.27.438 Structure of permission group info

typedef struct tagNETDEVACSPermissionGroupInfo


{
UINT32 udwPermissionGroupID ;
CHAR szPermissionGroupName[NETDEV_LEN_260];
BYTE byRes[256];
}NETDEV_ACS_PERMISSION_GROUP_INFO_S, *LPNETDEV_ACS_PERMISSION_GROUP_INFO_S;

Members:
Parameter Description
udwPermissionGroupID Permission group ID
szPermissionGroupName Permission group name
byRes Reserved field.

4.27.439 Structure of person verification

typedef struct tagNETDEVPersonVerification


{
CHAR szReference[NETDEV_LEN_128];
UINT32 udwSeq;
UINT32 udwChannelID;
CHAR szChannelName[NETDEV_LEN_256];
UINT32 udwTimestamp;
UINT32 udwNotificationType;
UINT32 udwFaceInfoNum;
LPNETDEV_CTRL_FACE_INFO_S pstCtrlFaceInfo;
UINT32 udwCardInfoNum;
LPNETDEV_CTRL_CARD_INFO_S pstCtrlCardInfo;
UINT32 udwGateInfoNum;
LPNETDEV_CTRL_GATE_INFO_S pstCtrlGateInfo;
UINT32 udwLibMatInfoNum;
LPNETDEV_CTRL_LIB_MATCH_INFO_S pstLibMatchInfo;
UINT32 udwTemperatureInfoNum;
LPNETDEV_CTRL_TEMPERATURE_INFO pstTemperatureInfo;
BYTE byRes[120];

581 / 767
Network Device SDK (Windows) User Manual
}NETDEV_PERSON_VERIFICATION_S,*LPNETDEV_PERSON_VERIFICATION_S;

Members:
Parameter Description
szReference Used by the client to determine the URL of the push message
udwSeq Sequence number of notification record
udwChannelID Channel ID. Applicable to VMS.
szChannelName Channel name. Length: [1,64]. Applicable to VMS.
udwTimestamp Notification time (unit: second, UTC format).
udwNotificationType Notification type. 0: real-time notification 1: historical notification
udwFaceInfoNum Number of face info. Range: [0, 1]
pstCtrlFaceInfo Face info. Memory needs to be allocated dynamically.
udwCardInfoNum Number of card info. Range: [0, 1]
pstCtrlCardInfo Card info. Memory needs to be allocated dynamically.
udwGateInfoNum Number of gate info. Range: [0, 1]
pstCtrlGateInfo Gate info. Memory needs to be allocated dynamically.
udwLibMatInfoNum Number of library info compared. Range: [0, 16]
pstLibMatchInfo Library comparison info. Memory needs to be allocated dynamically.
udwTemperatureInfoNum Number of temperature info
Temperature info list. Memory needs to be allocated dynamically according
pstTemperatureInfo
to udwTemperatureInfoNum.
byRes Reserved field

See also:
NETDEV_AlarmMessFGCallBack_PF

4.27.440 Structure of face info

typedef struct tagNETDEVCtrlFaceInfo


{
UINT32 udwID;
UINT32 udwTimestamp;
UINT32 udwCapSrc;
UINT32 udwFeatureNum;
LPNETDEV_FEATURE_INFO_S pstFeatureInfo;
NETDEV_FILE_INFO_S stPanoImage;
NETDEV_FILE_INFO_S stFaceImage;
NETDEV_FACE_POSITION_INFO_S stFaceArea;
FLOAT fTemperature;
UINT32 udwMaskFlag;
BYTE byRes[120];
}NETDEV_CTRL_FACE_INFO_S,*LPNETDEV_CTRL_FACE_INFO_S;

Members:
Parameter Description
582 / 767
Network Device SDK (Windows) User Manual
udwID Record ID
udwTimestamp Collection time (unit: second, UTC format).
udwCapSrc Collection source. See NETDEV_CAP_SRC_E. For FaceInfo choose 1.
udwFeatureNum Number of semi-structured attributes. Range: [0, 2].
pstFeatureInfo List of semi-structured attributes. Memory needs to be allocated dynamically.
stPanoImage Panoramic image
stFaceImage Face image
stFaceArea Coordinates of face area in panoramic image
fTemperature Body temperature (°C, 1 decimal place)
Mask 0: Unknown status or detection is disabled 1: no mask 2: wearing a
udwMaskFlag
mask
byRes Reserved field

4.27.441 Structure of card info

typedef struct tafNETDEVCtrlCardInfo


{
UINT32 udwID;
UINT32 udwTimestamp;
UINT32 udwCapSrc;
UINT32 udwCardType;
CHAR szCardID[NETDEV_LEN_32];
UINT32 udwCardStatus;
CHAR szName[NETDEV_LEN_256];
UINT32 udwGender;
CHAR szBirthday[NETDEV_LEN_16];
CHAR szResidentialAddress[NETDEV_LEN_128];
CHAR szIdentityNo[NETDEV_LEN_32];
CHAR szIssuingAuthority[NETDEV_LEN_128];
CHAR szIssuingDate[NETDEV_LEN_16];
CHAR szValidDateStart[NETDEV_LEN_16];
CHAR szValidDateEnd[NETDEV_LEN_16];
NETDEV_FILE_INFO_S stIDImage;
BYTE byRes[132];
}NETDEV_CTRL_CARD_INFO_S,*LPNETDEV_CTRL_CARD_INFO_S;

Members:
Parameter Description
udwID Record ID
udwTimestamp Collection time (unit: second, UTC format).
udwCapSrc Collection source. See NETDEV_CAP_SRC_E. For CardInfo choose 2 or 3.
udwCardType 0: ID card 1: Access control card
szCardID Field of access control card: Physical card number. Max 18 digits.
udwCardStatus Field of access control card: Card status
szName Field of ID card: Name. Range: [1,63].
583 / 767
Network Device SDK (Windows) User Manual
udwGender Field of ID card: Gender. See NETDEV_GENDER_TYPE_E.
szBirthday Field of ID card: Birth date (YYYYMMDD).
szResidentialAddress Field of ID card: Address.
szIdentityNo Field of ID card: ID card number.
szIssuingAuthority Field of ID card: Issuing authority
szIssuingDate Field of ID card: Issue date (YYYYMMDD).
szValidDateStart ID card field: Start time of the validity period of the ID card.
szValidDateEnd ID card field: End time of the validity period of the ID card.
stIDImage ID card photo
byRes Reserved field

4.27.442 Structure of gate info

typedef struct tagNETDEVCtrlGateInfo


{
UINT32 udwID;
UINT32 udwTimestamp;
UINT32 udwCapSrc;
UINT32 udwInPersonCnt;
UINT32 udwOutPersonCnt;
BYTE byRes[128];
}NETDEV_CTRL_GATE_INFO_S,*LPNETDEV_CTRL_GATE_INFO_S;

Members:
Parameter Description
udwID Record ID
udwTimestamp Collection time
udwCapSrc Collection source. See NETDEV_CAP_SRC_E. For GateInfo choose 4.
udwInPersonCnt Number of people that have entered
udwOutPersonCnt Number of people that have left
byRes Reserved field

4.27.443 Structure of library comparison info

typedef struct tagNETDEVCtrlLibMatchInfo


{
UINT32 udwID;
UINT32 udwLibID;
UINT32 udwLibType;
UINT32 udwMatchStatus;
UINT32 udwMatchPersonID;
UINT32 udwMatchFaceID;
NETDEV_MATCH_PERSON_INFO_S stMatchPersonInfo;
BYTE byRes[128];
}NETDEV_CTRL_LIB_MATCH_INFO_S,*LPNETDEV_CTRL_LIB_MATCH_INFO_S;

584 / 767
Network Device SDK (Windows) User Manual

Members:
Parameter Description
udwID Record ID
udwLibID Library ID
udwLibType Library type
udwMatchStatus Matching status. See NETDEV_MATCH_STATUS_E.
udwMatchPersonID Matching person ID
udwMatchFaceID Matching face ID
stMatchPersonInfo Matching person info
byRes Reserved field

4.27.444 Structure of matching person info

typedef struct tagNETDEVMatchPersonInfo


{
CHAR szPersonName[NETDEV_LEN_256];
UINT32 udwGender;
CHAR szCardID[NETDEV_LEN_32];
CHAR szIdentityNo[NETDEV_LEN_32];
CHAR szPersonCode[NETDEV_LEN_64];
BYTE byRes[64];
}NETDEV_MATCH_PERSON_INFO_S,*LPNETDEV_MATCH_PERSON_INFO_S;

Members:
Parameter Description
szPersonName Member name. Range: [1,63].
udwGender Member gender. See NETDEV_GENDER_TYPE_E.
szCardID Access control card number
szIdentityNo ID card number
szPersonCode Person ID. Can be filled with student ID or employee ID. Range: [1, 15]
byRes Reserved field

4.27.445 Structure of image info

typedef struct tagNETDEVStructImageInfo


{
UINT32 udwIndex;
UINT32 udwType;
UINT32 udwFormat;
UINT32 udwWidth;
UINT32 udwHeight;
UINT32 udwCaptureTime;
CHAR szUrl[NETDEV_LEN_260];
UINT32 udwSize;

585 / 767
Network Device SDK (Windows) User Manual
CHAR* pszData;
BYTE byRes[128];
}NETDEV_STRUCT_IMAGE_INFO_S, *LPNETDEV_STRUCT_IMAGE_INFO_S;

Members:
Parameter Description
udwIndex Image index
udwType Image type
udwFormat Image format. See NETDEV_IMAGE_FORMAT_E
udwWidth Image width
udwHeight Image height
udwCaptureTime Image capture time
szUrl Image URL
udwSize Size of Base64-encoded image. Max 3MB.
pszData Base64-encoded image data
byRes Reserved field.

4.27.446 Structure of plate monitoring and alarm info

typedef struct tagstNETDEVMonitorAlarmInfo


{
UINT32 udwMonitorReason;
UINT32 udwMonitorAlarmType;
UINT32 udwMemberID;
}NETDEV_MONITOR_ALARM_INFO_S,*LPNETDEV_MONITOR_ALARM_INFO_S;

Members:
Parameter Description
udwMonitorReason Monitoring cause
udwMonitorAlarmType Monitoring alarm type 0: Match alarm 1: Not match alarm
udwMemberID Vehicle member ID

4.27.447 Vehicle member info

typedef struct tagstNETDEVVehicleDetailInfo


{
UINT32 udwReqSeq;
UINT32 udwMemberID;
NETDEV_PLATE_ATTR_INFO_S stPlateAttr;
NETDEV_VEHICLE_MEMBER_ATTR_S stVehicleAttr;
BOOL bIsMonitored;
UINT32 udwDBNum;
UINT32 audwDBIDList[NETDEV_LEN_16];
BYTE byRes[124];
}NETDEV_VEHICLE_DETAIL_INFO_S, *LPNETDEV_VEHICLE_DETAIL_INFO_S;

586 / 767
Network Device SDK (Windows) User Manual

Members:
Parameter Description
udwReqSeq Sequence number of request data
udwMemberID Face member ID
stPlateAttr Plate info
stVehicleAttr Vehicle info
bIsMonitored Whether monitoring is configured 0: No 1: Yes
udwDBNum Number of vehicle libraries containing the member.
audwDBIDList Array of IDs of the vehicle libraries containing the member.
byRes Reserved field.

4.27.448 Vehicle info

typedef struct tagNETDEVVehicleMemberAttr


{
UINT32 udwColor;
NETDEV_FILE_INFO_S stVehicleImage;
}NETDEV_VEHICLE_MEMBER_ATTR_S,*LPNETDEV_VEHICLE_MEMBER_ATTR_S;

Members:
Parameter Description
udwColor Vehicle color. See NETDEV_PLATE_COLOR_E.
stVehicleImage Vehicle image. Max 4MB after encryption

4.27.449 Plate info

typedef struct tagstNETDEVPlateAttrInfo


{
CHAR szPlateNo[NETDEV_LEN_16];
UINT32 udwColor;
UINT32 udwType;
BYTE byRes[64];
}NETDEV_PLATE_ATTR_INFO_S, *LPNETDEV_PLATE_ATTR_INFO_S;

Members:
Parameter Description
szPlateNo Plate No.
udwColor Plate color. See NETDEV_PLATE_COLOR_E.
udwType Plate type. See NETDEV_PLATE_TYPE_E.
byRes Reserved field.

587 / 767
Network Device SDK (Windows) User Manual
4.27.450 Structure of vehicle list

typedef struct tagNETDEVVehicleInfoList


{
UINT32 udwVehicleNum;
LPNETDEV_VEHICLE_DETAIL_INFO_S pstMemberInfoList;
BYTE byRes[132];
}NETDEV_VEHICLE_INFO_LIST_S,*LPNETDEV_VEHICLE_INFO_LIST_S;

Members:
Parameter Description
udwVehicleNum Number of vehicle members
pstMemberInfoList Vehicle member list. Memory needs to be allocated dynamically according
to udwNum.
byRes Reserved field.

4.27.451 Structure of batch operation member list

typedef struct tagNETDEVBatchOperateMemberList


{
UINT32 udwTaskNo;
UINT32 udwMemberNum;
UINT32* pstMemberIDList;
BYTE byRes[128];
}NETDEV_BATCH_OPERATE_MEMBER_LIST_S,*LPNETDEV_BATCH_OPERATE_MEMBER_LIST_S;

Members:
Parameter Description
udwTaskNo Operation task ID. Applicable to NVR only.
udwMemberNum Number of members
pstMemberIDList Member list. Memory needs to be allocated dynamically according to
udwNum.
byRes Reserved field.

4.27.452 Structure of returned alarm records

typedef struct tagstNETDEVSmartAlarmLogResultInfo


{
UINT32 udwTotal;
UINT32 udwOffset;
UINT32 udwNum;
BYTE byRes[128];
}NETDEV_SMART_ALARM_LOG_RESULT_INFO_S, *LPNETDEV_SMART_ALARM_LOG_RESULT_INFO_S;

588 / 767
Network Device SDK (Windows) User Manual
Members:
Parameter Description
udwTotal Total number of alarm records
udwOffset Record offset
udwNum Number of alarm records returns this time
byRes Reserved field.

4.27.453 Structure of vehicle attribute info

typedef struct tagNETDEVVehAttr


{
UINT32 udwType;
UINT32 udwColor;
UINT32 udwSpeedUnit;
FLOAT fSpeedValue;
UINT32 udwSpeedType;
CHAR szVehicleBrand[NETDEV_LEN_64];
UINT32 udwImageDirection;
BYTE byRes[128];
}NETDEV_VEH_ATTR_S,*LPNETDEV_VEH_ATTR_S;

Members:
Parameter Description
udwType Vehicle type. See NETDEV_VEHICLE_TYPE_E.
udwColor Vehicle color. See NETDEV_PLATE_COLOR_E.
udwSpeedUnit Vehicle speed unit. 0: kph 1: mph
fSpeedValue Vehicle speed
udwSpeedType Vehicle speed type in structured scenes. See NETDEV_SPEED_TYPE_E.
szVehicleBrand Vehicle brand (custom)
udwImageDirection Driving direction (relative to the image) of motor vehicle in structured
scenes. See NETDEV_IMAGE_DIRECTION_E.
byRes Reserved field.

4.27.454 Structure of plate monitoring and alarm info

typedef struct tagstNETDEVMonitorAlarmInfo


{
UINT32 udwMonitorReason;
UINT32 udwMonitorAlarmType;
UINT32 udwMemberID;
}NETDEV_MONITOR_ALARM_INFO_S,*LPNETDEV_MONITOR_ALARM_INFO_S;

Members:

589 / 767
Network Device SDK (Windows) User Manual
Parameter Description
udwMonitorReason Type of monitoring cause
udwMonitorAlarmType Monitoring alarm type 0: Match alarm 1: Not match alarm
udwMemberID Vehicle member ID

See also:

4.27.455 Structure of transparent channel creation

typedef struct tagNETDEVSerialStart


{
INT32 dwSerialPort;
INT32 dwSerialNum;
BYTE byRes[512];
}NETDEV_SERIAL_START_S, *LPNETDEV_SERIAL_START_S;

Members:
Parameter Description
dwSerialPort Serial port type. 1: RS232 2: RS454. Currently only RS485 is supported.
dwSerialNum Serial port ID
byRes Reserved field.

4.27.456 Structure of user info

typedef struct tagNETDEVUserDetailInfo


{
UINT32 udwLevel;
CHAR szUserName[NETDEV_LEN_64];
CHAR szPassword[NETDEV_LEN_256];
UINT32 udwBasePermission;
UINT32 udwNum;
NETDEV_CHN_PERMISSION_INFO_S astChnPermission[NETDEV_CHANNEL_MAX];
BYTE byRes[256];
}NETDEV_USER_DETAIL_INFO_S, *LPNETDEV_USER_DETAIL_INFO_S;

Members:
Parameter Description
udwLevel User level. See NETDEV_USER_LEVEL_E.
szUserName Username. Unmodifiable. Used as input parameter to get info of a user.
Range: 1-18.
szPassword Password. Used when adding a user. Range: 0-256. Will not be returned
when obtaining user info.
udwBasePermission Basic permission. See NETDEV_USER_BASE_PERMISSION_E. Described by BIT.
1: permission is effective. 0: permission is not effective.
udwNum Number of video input channels

590 / 767
Network Device SDK (Windows) User Manual
astChnPermission Channel permission list
byRes Reserved field.

4.27.457 Structure of channel permission info

typedef struct tagNETDEVChnPermissionInfo


{
INT32 dwChannelID;
INT32 dwPermission;
BYTE byRes[256];
}NETDEV_CHN_PERMISSION_INFO_S, *LPNETDEV_CHN_PERMISSION_INFO_S;

Members:
Parameter Description
dwChannelID Channel ID
dwPermission Channel permission. See NETDEV_CHN_PERMISSION_TYPE_E.
byRes Reserved field.

4.27.458 Structure of modifying detailed user info

typedef struct tagNETDEVUserModifyDetailInfo


{
NETDEV_USER_DETAIL_INFO_S stUserInfo;
BOOL bIsModifyPassword;
BOOL bIsModifyOther;
CHAR szNewPassword[NETDEV_LEN_256];
CHAR szCurrentPassword[NETDEV_LEN_256];
BYTE byRes[256];
}NETDEV_USER_MODIFY_DETAIL_INFO_S, *LPNETDEV_USER_MODIFY_DETAIL_INFO_S;

Members:
Parameter Description
stUserInfo User info
bIsModifyPassword Whether change password. Assign value during modification.
bIsModifyOther Whether it is admin modifying other user's password. Assign value during
modification.
szNewPassword New password (required when changing password). Range: 0-256. If the
configured password is empty, then the empty field will be passed in.
szCurrentPassword Current password (required when changing password). Range: 0-256. Only
the new password is required when admin changes the password of other
users. If the configured password is empty, then the empty field will
be passed in.
byRes Reserved field.

591 / 767
Network Device SDK (Windows) User Manual
4.27.459 Structure of user password info

typedef struct tagNETDEVModifyPasswordInfo


{
CHAR szUserName[NETDEV_LEN_260];
CHAR szNewPIN[NETDEV_LEN_256];
CHAR szCurrentPIN[NETDEV_LEN_256];
BYTE byRes[128];
}NETDEV_MODIFY_PASSWORD_INFO_S,*LPNETDEV_MODIFY_PASSWORD_INFO_S;

Members:
Parameter Description
szUserName Username
szNewPIN New password
szCurrentPIN Old password
byRes Reserved field.

4.27.460 Structure of user list

typedef struct tagNETDEVUserDetailList


{
UINT32 udwNum;
NETDEV_USER_DETAIL_INFO_S astUserInfo[NETDEV_LEN_64];
BYTE byRes[128];
}NETDEV_USER_DETAIL_LIST_S, *LPNETDEV_USER_DETAIL_LIST_S;

Members:
Parameter Description
udwNum Number of users
astUserInfo User list
byRes Reserved field.

4.27.461 Structure of organization info

typedef struct tagstNETDEVOrgDetailInfo


{
INT32 dwOrgID;
INT32 dwParentID;
INT32 dwType;
CHAR szNodeName[NETDEV_NAME_MAX_LEN];
CHAR szDesc[NETDEV_DESCRIBE_MAX_LEN];
UINT32 udwTime;
CHAR szUserName[NETDEV_LEN_64];
BYTE byRes[60];
}NETDEV_ORG_INFO_S, *LPNETDEV_ORG_INFO_S;

592 / 767
Network Device SDK (Windows) User Manual
Members:
Parameter Description
dwOrgID Organization ID
dwParentID Parent node ID
dwType Type. See NETDEV_ORG_TYPE_E.
szNodeName Node name
szDesc Remarks
udwTime Creation time (UTC)
szUserName Creator [1,64]
byRes Reserved field.

4.27.462 Structure of info about organizations to be deleted

typedef struct tagstNETDEVDelOrgDetailInfo


{
INT32 dwOrgNum;
INT32 *pdwOrgIDs;
INT32 dwOrgType;
BYTE byRes[64];
}NETDEV_DEL_ORG_INFO_S, *LPNETDEV_DEL_ORG_INFO_S;

Members:
Parameter Description
dwOrgNum Number of organizations
pdwOrgIDs ID of organization to be deleted. Memory needs to be allocated
dynamically according to dwOrgNum.
dwOrgType Organization type. See NETDEV_ORG_TYPE_E.
byRes Reserved field.

4.27.463 Structure of response to organization deletion

typedef struct tagstNETDEVOrgDelDetailInfo


{
INT32 dwStatus;
INT32 dwNum;
LPNETDEV_OPERATE_INFO_S pstResultInfo;
BYTE byRes[68];
}NETDEV_ORG_BATCH_DEL_INFO_S, *LPNETDEV_ORG_BATCH_DEL_INFO_S;

Members:
Parameter Description
dwStatus Response status. See NETDEV_ORG_RESPONSE_STAUTE_E.
dwNum Number of responses
pstResultInfo Returned batch operation results. Memory needs to be allocated
dynamically according to the number of organizations to be deleted.

593 / 767
Network Device SDK (Windows) User Manual
byRes Reserved field.

4.27.464 Structure of info about channels in an organization

typedef struct tagstNETDEVOrgChnShortInfo


{
INT32 dwOrgID;
INT32 dwChannelsNum;
INT32 *pdwChnIDs;
BYTE byRes[68];
}NETDEV_ORG_CHN_SHORT_INFO_S, *LPNETDEV_ORG_CHN_SHORT_INFO_S;

Members:
Parameter Description
dwOrgID Organization ID
dwChannelsNum Number of channels
pdwChnIDs Channel ID. Pointer. RAM is allocated dynamically according to
dwChannelsNum.
byRes Reserved field.

4.27.465 Structure of info about channels in an organization

typedef struct tagstNETDEVOrgChnInfo


{
INT32 dwOrgID;
INT32 dwChannelID;
CHAR szChnName[NETDEV_NAME_MAX_LEN];
INT32 dwChnIndex;
INT32 dwChnType;
INT32 dwChnStatus;
INT32 dwDevID;
CHAR szDevName[NETDEV_NAME_MAX_LEN];
BYTE byRes[128];
}NETDEV_ORG_CHN_INFO_S, *LPNETDEV_ORG_CHN_INFO_S;

Members:
Parameter Description
dwOrgID Organization ID
dwChannelID Channel ID
szChnName Channel name
dwChnIndex Channel index
dwChnType Channel type
dwChnStatus Channel status
dwDevID Device ID
szDevName Device name

594 / 767
Network Device SDK (Windows) User Manual
byRes Reserved field.

4.27.466 Structure of info about network port number and status

typedef struct tagNETDEVUpnpNatState


{
INT32 dwSize;
NETDEV_UPNP_PORT_STATE_S astUpnpPort[NETDEV_LEN_16];
}NETDEV_UPNP_NAT_STATE_S, *LPNETDEV_UPNP_NAT_STATE_S;

Members:
Parameter Description
dwSize Number of protocols
astUpnpPort Protocol info

4.27.467 Structure of protocol info

typedef struct tagNETDEVUpnpPortState


{
NETDEV_PROTOCOL_TYPE_E eType;
BOOL bEnbale;
INT32 dwPort;
BYTE byRes[128];
}NETDEV_UPNP_PORT_STATE_S, *LPNETDEV_UPNP_PORT_STATE_S;

Members:
Parameter Description
eType Protocol type. See NETDEV_PROTOCOL_TYPE_E.
bEnbale Whether is supported
dwPort Port number
byRes Reserved field.

4.27.468 Structure of monitoring info search criteria

typedef struct tagNETDEVMonitorQueryInfo


{
UINT32 udwLimit;
UINT32 udwOffset;
BOOL bIsQueryAll;
BYTE byRes[128];
}NETDEV_MONITOR_QUERY_INFO_S, *LPNETDEV_MONITOR_QUERY_INFO_S;

Members:
Parameter Description
udwLimit Search limit. Max: 20.

595 / 767
Network Device SDK (Windows) User Manual
udwOffset Sequence number from where the search starts. Starts from 0.
bIsQueryAll Whether to search all. Yes: TRUE No: FALSE
byRes Reserved field.

4.27.469 Structure of criteria for searching organization list

typedef struct tagstNETDEVOrgFindCond


{
UINT32 udwOrgType;
UINT32 udwRootOrgID;
UINT32 udwFindType;
BYTE byRes[128];
}NETDEV_ORG_FIND_COND_S, *LPNETDEV_ORG_FIND_COND_S;

Members:
Parameter Description
udwOrgType Organization type. See NETDEV_ORG_TYPE_E.
udwRootOrgID Root organization ID
udwFindType Search mode. See NETDEV_ORG_FIND_MODE_E.
byRes Reserved field.

4.27.470 Area people counting rule info

typedef struct tagNETDEVAreaPeopleCountRuleInfo


{
BOOL bEnabled;
UINT32 udwReportInterval;
UINT32 udwAreaNum;
LPNETDEV_DETECT_AREA_RULE_INFO_S pstDetectAreaRuleInfo;
BYTE byRes[512];
}NETDEV_AREA_PEOPLE_COUNT_RULE_INFO_S,*LPNETDEV_AREA_PEOPLE_COUNT_RULE_INFO_S;

Members:
Parameter Description
bEnabled Whether is enabled. FALSE: No TRUE: Yes
udwReportInterval Report time interval (unit: second). Value range: [1, 60]
udwAreaNum Number of detection areas
pstDetectAreaRuleInfo Info about detection area rules. Memory needs to be allocated
dynamically according to udwAreaNum. See
NETDEV_DETECT_AREA_RULE_INFO_S.
byRes Reserved field.

596 / 767
Network Device SDK (Windows) User Manual
4.27.471 Area detection rule info

typedef struct tagNETDEVDetectAreaRuleInfo


{
UINT32 udwDetectAreaID;
BOOL bEnabled;
NETDEV_AREA_LOCATION_INFO_S stAreaLocationInfo;
BYTE byRes[512];
}NETDEV_DETECT_AREA_RULE_INFO_S,*LPNETDEV_DETECT_AREA_RULE_INFO_S;

Members:
Parameter Description
udwDetectAreaID Detection area ID. Starts from 0.
bEnabled Whether is enabled. FALSE: No TRUE: Yes
udwAreaNum Number of detection areas
stAreaLocationInfo Area location info. See NETDEV_AREA_LOCATION_INFO_S.
byRes Reserved field.

4.27.472 Area location info

typedef struct tagNETDEVAreaLocationInfo


{
UINT32 udwAreaPointNum;
LPNETDEV_AREA_POINT_COORDINATE_S pstAreaPointCoordinate;
BYTE byRes[512];
}NETDEV_AREA_LOCATION_INFO_S,*LPNETDEV_AREA_LOCATION_INFO_S;

Members:
Parameter Description
udwAreaPointNum Number of vertices in detection area. Range: [3,6]
pstAreaPointCoordinate Coordinates of each vertex of the detection area. The origin of the
coordinates is in the upper left corner. See
NETDEV_AREA_POINT_COORDINATE_S.
byRes Reserved field.

4.27.473 Coordinates of each vertex of the detection area

typedef struct tagNETDEVAreaPointCoordinate


{
UINT32 udwX;
UINT32 udwY;
}NETDEV_AREA_POINT_COORDINATE_S,*LPNETDEV_AREA_POINT_COORDINATE_S;

Members:
Parameter Description

597 / 767
Network Device SDK (Windows) User Manual
udwX
x-coordinate (‱ ). Range: [0,9999]

udwY
y-coordinate (‱ ). Range: [0,9999]

4.27.474 Tripwire people counting rule info

typedef struct tagNETDEVLinePeopleCountRuleInfo


{
BOOL bEnabled;
UINT32 udwReportInterval;
UINT32 udwLineNum;
LPNETDEV_DETECT_LINE_RULE_INFO_S pstDetectLineRuleInfo;
BYTE byRes[512];
}NETDEV_LINE_PEOPLE_COUNT_RULE_INFO_S,*LPNETDEV_LINE_PEOPLE_COUNT_RULE_INFO_S;

Members:
Parameter Description
bEnabled Whether is enabled. FALSE: No TRUE: Yes
udwReportInterval Report time interval (unit: second). Value range: [1, 60]
udwLineNum Number of tripwires
pstDetectLineRuleInfo Info about detection tripwire rules. Memory needs to be allocated
dynamically according to udwLineNum. See
NETDEV_DETECT_LINE_RULE_INFO_S.
byRes Reserved field.

4.27.475 Tripwire detection rule info

typedef struct tagNETDEVDetectLineRuleInfo


{
UINT32 udwDetectLineID;
BOOL bEnabled;
UINT32 udwInDirection;
UINT32 udwStatisticType;
NETDEV_AREA_POINT_COORDINATE_S stStartPointCoordinate;
NETDEV_AREA_POINT_COORDINATE_S stEndPointCoordinate;
BYTE byRes[512];
}NETDEV_DETECT_LINE_RULE_INFO_S,*LPNETDEV_DETECT_LINE_RULE_INFO_S;

Members:
Parameter Description
udwDetectLineID Detection area ID. Starts from 0.
bEnabled Whether is enabled. FALSE: No TRUE: Yes
udwInDirection Entry direction 1:B->A, from position B to position A;2:A->B, from
position A to position B

598 / 767
Network Device SDK (Windows) User Manual
udwStatisticType Counting type. See NETDEV_STATISTIC_TYPE_E.
stStartPointCoordinate Coordinates of the start point of the detection line. See
NETDEV_AREA_POINT_COORDINATE_S.
stEndPointCoordinate Coordinates of the end point of the detection line. See
NETDEV_AREA_POINT_COORDINATE_S.
byRes Reserved field.

4.27.476 Tripwire people counting reset info

typedef struct tagNETDEVLinePeopleCountResetInfo


{
BOOL bTimingResetEnabled;
CHAR szResetTime[NETDEV_LEN_64];
BYTE byRes[256];
}NETDEV_LINE_PEOPLE_COUNT_RESET_INFO_S,*LPNETDEV_LINE_PEOPLE_COUNT_RESET_INFO_S;

Members:
Parameter Description
bTimingResetEnabled Enable or disable timed reset. False: Disable TRUE: Enable
szResetTime Time when counting will be reset. String length: [0,24]. Format:
00:00:00 Required when timed reset is enabled
byRes Reserved field.

4.27.477 List of linked dome cameras

typedef struct tagNETDEVLinkDomeInfoList


{
UINT32 udwLinkDomeNum;
NETDEV_LINK_DOME_INFO_S stLinkDomeInfoList[NETDEV_LEN_8];
BYTE byRes[128];
}NETDEV_LINK_DOME_INFO_LIST_S, *LPNETDEV_LINK_DOME_INFO_LIST_S;

Members:
Parameter Description
udwLinkDomeNum Number of dome cameras
stLinkDomeInfoList Dome camera list. See NETDEV_LINK_DOME_INFO_S.
byRes Reserved field.

4.27.478 Info about linked dome camera

typedef struct tagNETDEVLinkDomeInfo


{
UINT32 udwDomeID;
CHAR szIPAddr[NETDEV_LEN_64];
CHAR szUserName[NETDEV_LEN_64];
CHAR szPIN[NETDEV_LEN_64];
599 / 767
Network Device SDK (Windows) User Manual
UINT32 udwHttpPort;
UINT32 udwZoomCoefficient;
BYTE byRes[128];
}NETDEV_LINK_DOME_INFO_S, *LPNETDEV_LINK_DOME_INFO_S;

Members:
Parameter Description
udwDomeID Dome ID. Starts from 0.
szIPAddr IP address
szUserName Username. Length: [0,64]
szPIN Password. Length: [0,64]
udwHttpPort HTTP port
udwZoomCoefficient Zoom coefficient. Range: [1-10]
byRes Reserved field.

4.27.479 System time configuration

typedef struct tagNETDEVSystemTimeInfo


{
NETDEV_TIME_ZONE_E dwTimeZone;
INT64 tUtcTime;
UINT32 udwDateFormat;
UINT32 udwHourFormat;
BYTE byRes[212];
}NETDEV_TIME_CFG_S, *LPNETDEV_TIME_CFG_S;

Members:
Parameter Description
dwTimeZone Time zone. See NETDEV_TIME_ZONE_E.
tUtcTime UTC time
udwDateFormat Date format. 0: YYYY-MM-DD 1: MM-DD-YYYY 2: DD-MM-YYYY
udwHourFormat Time format. 0: 12H format 1: 24H format
byRes Reserved field.

4.27.480 Structure of object list

typedef struct tagNETDEVObjectList


{
UINT32 udwObjectType;
UINT32 udwObjectID;
BYTE byRes[256];
}NETDEV_OBJECT_LIST_S, *LPNETDEV_OBJECT_LIST_S;

Members:
Parameter Description

600 / 767
Network Device SDK (Windows) User Manual
udwObjectType Object type. See NETDEV_OBJECT_TYPE_E.
udwObjectID Object ID
byRes Reserved field.

4.27.481 Structure of VIID info

typedef struct tagNETDEVViidCfg


{
UINT32 udwCoordinateType;
CHAR szViidServerID[NETDEV_LEN_64];
UINT32 udwConnectMode;
UINT32 udwObjectType;
BYTE byRes[32];
}NETDEV_VIID_CFG_S, *LPNETDEV_VIID_CFG_S;

Members:
Parameter Description
udwCoordinateType
Coordinates type. 0: ‱ , (range: [0,9999]) 1: Pixel coordinates 2:

Normalized coordinates (range: 0~1). NETDEV_INVALID_PARAM means


invalid value.
szViidServerID Server ID. Length: [1,32]. Applicable to IPC.
udwConnectMode Connection mode. 0: Standard mode 1: Non-persistent connection.
NETDEV_INVALID_PARAM means invalid value.
udwObjectType Object type (only used for VIID, and optional when the specified
object type needs to be reported). Combination by bit. Each bit
corresponds to an object type. 0 means “not report”, and 1 means
“report”. Bit0: Face Bit1: Human body Bit2: Motor vehicle Bit3:
Non-motor vehicle
byRes Reserved field.

4.27.482 Structure of temperature info

typedef struct tagNETDEVCtrlTemperatureInfo


{
UINT32 udwRelativeFaceID;
FLOAT fEnvTemperature;
FLOAT fTemperatureThreshold;
FLOAT fBodyTemperature;
BYTE byRes[256];
}NETDEV_CTRL_TEMPERATURE_INFO, *LPNETDEV_CTRL_TEMPERATURE_INFO;

Members:
Parameter Description
udwRelativeFaceID Related face ID. If no face is related, fill in 0xffffffff

601 / 767
Network Device SDK (Windows) User Manual
fEnvTemperature Ambient temperature (°C)
fTemperatureThreshold Temperature threshold (°C)
fBodyTemperature Body temperature (°C)
byRes Reserved field.

4.27.483 Recording time info

typedef struct tagNETDEVRecordTime


{
UINT32 udwChlID;
INT64 tEarliestTime;
INT64 tLatestTime;
BYTE byRes[512];
}NETDEV_RECORD_TIME_S, *LPNETDEV_RECORD_TIME_S;

Members:
Parameter Description
udwChlID Channel ID
tEarliestTime Earliest time
tLatestTime Latest time
byRes Reserved field.

4.27.484 Recording time list

typedef struct tagNETDEVRecordTimeList


{
UINT32 udwNum;
LPNETDEV_RECORD_TIME_S pstRecordTimes;
BYTE byRes[512];
}NETDEV_RECORD_TIME_LIST_S, *LPNETDEV_RECORD_TIME_LIST_S;

Members:
Parameter Description
udwNum Number of recording times
pstRecordTimes Recording time list. Memory needs to be allocated dynamically. See
NETDEV_RECORD_TIME_S.
byRes Reserved field.

4.27.485 Detection area vertex coordinates info

typedef struct tagNETDEVPointInfo


{
UINT32 udwX;
UINT32 udwY;
BYTE byRes[32];

602 / 767
Network Device SDK (Windows) User Manual
}NETDEV_POINT_INFO_S,*LPNETDEV_POINT_INFO_S;

Members:
Parameter Description
udwX x-coordinate. Range: [0,10000]
udwY y-coordinate. Range: [0,10000]
byRes Reserved field.

4.27.486 Rule info

typedef struct tagNETDEVRuleInfo


{
UINT32 udwRuleType;
UINT32 udwTrigerType;
UINT32 udwPointNum;
LPNETDEV_POINT_INFO_S pstPointInfo;
BYTE byRes[64];
}NETDEV_RULE_INFO_S,*LPNETDEV_RULE_INFO_S;

Members:
Parameter Description
udwRuleType Rule type. See NETDEV_RULE_TYPE_E.
udwTrigerType Rule trigger type. See NETDEV_RULE_TRIGGER_TYPE_E.
udwPointNum Number of vertices of detection area
pstPointInfo Coordinates of the vertices of the detection area. Optional when
udwPointNum is 0. Memory needs to be allocated dynamically.
byRes Reserved field.

4.27.487 Info on a single object

typedef struct tagNETDEVSingleObjectInfo


{
UINT32 udwObjectType;
NETDEV_FACE_STRUCT_INFO_S stFaceInfo;
NETDEV_PERSON_STRUCT_INFO_S stPersonInfo;
NETDEV_NON_MOTOR_VEH_INFO_S stNonMotorVehInfo;
NETDEV_VEH_INFO_S stVehInfo;
BYTE byRes[256];
}NETDEV_SINGLE_OBJECT_INFO_S,*LPNETDEV_SINGLE_OBJECT_INFO_S;

Members:
Parameter Description
udwObjectType Object type. See NETDEV_OBJECT_TYPE_E.
stFaceInfo Face information

603 / 767
Network Device SDK (Windows) User Manual
stPersonInfo Person information
stNonMotorVehInfo Non-motor vehicle information
stVehInfo Vehicle information
byRes Reserved field.

4.27.488 Audio output parameters

typedef struct tagNETDEVAudioOutputCfg


{
UINT32 udwType;
UINT32 udwGain;
BYTE byRes[256];
}NETDEV_AUDIO_OUTPUT_CFG_S,*LPNETDEV_AUDIO_OUTPUT_CFG_S;

Members:
Parameter Description
udwType Type of audio output device. See NETDEV_AUDIO_CHL_MODE_E.
udwGain Audio output gain. Range: [0,255]. Optional when AudioOutTypeNum is
0.
byRes Reserved field.

4.27.489 Audio file information

typedef struct tagNETDEVAudioFileInfo


{
UINT32 udwID;
UINT32 udwStatus;
UINT32 udwInstallType;
CHAR szFileName[NETDEV_LEN_1024];
BYTE byRes[256];
}NETDEV_AUDIO_FILE_INFO_S,*LPNETDEV_AUDIO_FILE_INFO_S;

Members:
Parameter Description
udwID Audio file ID
udwStatus Audio file status. 0: Disabled 1: Enabled
udwInstallType Installation type. 0: Built-in 1: External
szFileName Audio file name. Max 256 bytes.
byRes Reserved field.

4.27.490 Channel list

typedef struct tagNETDEVChannelsInfos


{
UINT32 udwNum;

604 / 767
Network Device SDK (Windows) User Manual
UINT32 audwChannelList[NETDEV_CHANNEL_MAX];
BYTE byRes[128];
}NETDEV_CHANNEL_LIST_S, *LPNETDEV_CHANNEL_LIST_S;

Members:
Parameter Description
udwNum Number of connected channels. Must not be 0.
audwChannelList List of IDs of connected channels
byRes Reserved field.

4.27.491 Structure of channel search criteria

typedef struct tagQueryCondition


{
INT32 dwLimit;
INT32 dwOffset;
INT32 dwQryInfoNum;
LPNETDEV_QUERY_INFO_S pstQueryInfo;
INT32 dwRecursion;
BYTE byRes[260];
}NETDEV_QUERY_CHN_CONDITION_S, *LPNETDEV_QUERY_CHN_CONDITION_S;

Members:
Parameter Description
dwLimit Number of results returned each time.
dwOffset Starts search from the current sequence number
dwQryInfoNum Number of search criteria
pstQueryInfo Search criteria. Memory needs to be allocated dynamically.
dwRecursion Recursive query type. 0: None 1: Upward 2: Downward
byRes Reserved field.

4.27.492 Image search criteria

typedef struct tagNETDEVPicQueryCond


{
UINT32 udwSearchID;
UINT32 udwLimit;
UINT32 udwOffset;
BYTE byRes[128];
}NETDEV_PIC_QUERY_COND_S,*LPNETDEV_PIC_QUERY_COND_S;

Members:
Parameter Description
udwSearchID Service ID
udwLimit Number of results returned each time.

605 / 767
Network Device SDK (Windows) User Manual
udwOffset Sequence number from where the search starts. The sequence number
starts from 0.
byRes Reserved field.

4.27.493 Image search results

typedef struct tagNETDEVPicQueryResult


{
UINT32 udwTotal;
UINT32 udwNum;
BYTE byRes[128];
}NETDEV_PIC_QUERY_RESULT_S,*LPNETDEV_PIC_QUERY_RESULT_S;

Members:
Parameter Description
udwTotal Total number of search results
udwNum Number of results returned
byRes Reserved field.

4.27.494 Object result info

typedef struct tagNETDEVObjectResultInfo


{
UINT32 udwRecordID;
UINT32 udwType;
UINT32 udwTime;
CHAR szChannelName[NETDEV_LEN_256];
UINT32 udwChannelID;
NETDEV_FILE_INFO_S stBigImageInfo;
UINT32 udwObjectInfoNum;
LPNETDEV_OBJECT_INFO_LIST_S pstObjectInfoList;
BYTE byRes[512];
}NETDEV_OBJECT_RESULT_INFO_S,*LPNETDEV_OBJECT_RESULT_INFO_S;

Members:
Parameter Description
udwRecordID Record ID
udwType Record type. See NETDEV_OBJECT_RECORD_TYPE_E.
udwTime Record time (unit: second, UTC format).
szChannelName Capture channel name. Range: [1, 63].
udwChannelID Capture channel ID
stBigImageInfo Info about complete image
udwObjectInfoNum Number of object info
pstObjectInfoList Object list. Memory needs to be allocated dynamically.
byRes Reserved field.

606 / 767
Network Device SDK (Windows) User Manual
4.27.495 Object info list

typedef struct tagNETDEVObjectInfoList


{
UINT32 udwObjectID;
NETDEV_FILE_INFO_S stSmallImageInfo;
NETDEV_SINGLE_OBJECT_INFO_S stObjectInfo;
BYTE byRes[1024];
}NETDEV_OBJECT_INFO_LIST_S,*LPNETDEV_OBJECT_INFO_LIST_S;

Members:
Parameter Description
udwRecordID Record ID
udwType Record type. See NETDEV_OBJECT_RECORD_TYPE_E.
udwTime Record time (unit: second, UTC format).
szChannelName Capture channel name. Range: [1, 63].
udwChannelID Capture channel ID
stBigImageInfo Info about complete image
udwObjectInfoNum Number of object info
pstObjectInfoList Object list. Memory needs to be allocated dynamically.
byRes Reserved field.

4.27.496 Alarm related data

typedef struct tagNETDEVAlarmRelatedData


{
NETDEV_STRUCT_DATA_INFO_S stStructDataInfo;
BYTE bRes[1024];
}NETDEV_ALARM_RELATED_DATA_S, *LPNETDEV_ALARM_RELATED_DATA_S;

Members:
Parameter Description
stStructDataInfo Info about alarm related structured data
byRes Reserved field.

4.27.497 Basic info about alarm image

typedef struct tagNETDEVAlarmPicBaseInfo


{
CHAR szReference[NETDEV_LEN_260];
UINT32 udwAlarmType;
INT64 tTimeStamp;
UINT32 udwSeq;
UINT32 udwSourceID;
CHAR szSourceName[NETDEV_LEN_256];

607 / 767
Network Device SDK (Windows) User Manual
CHAR szDeviceID[NETDEV_LEN_32];
CHAR szRelatedID[NETDEV_LEN_16];
BYTE byRes[256];
}NETDEV_ALARM_PIC_BASE_INFO_S,*LPNETDEV_ALARM_PIC_BASE_INFO_S;

Members:
Parameter Description
szReference Descriptive info
udwAlarmType Alarm type. See NETDEV_ALARM_TYPE_E.
tTimeStamp Alarm time. Number of seconds since 0’o clock, Jan. 1, 1970
udwSeq Alarm sequence number
udwSourceID Alarm source ID. Applicable to VMS and IPC.
szSourceName Alarm source name. Length: [1,63]
szDeviceID Device ID. Fill in with the device’s GB code if connected via
GB/T28181. Length: [1,32]. Applicable to IPC and VM.
szRelatedID ID that relates image data with alarm event. Unique in the same
camera. Length: 15 characters
byRes Reserved field.

4.27.498 Alarm snapshot data

typedef struct tagNETDEVAlarmPicData


{
NETDEV_ALARM_PIC_BASE_INFO_S stAlarmPicBaseInfo;
UINT32 udwImageNum;
LPNETDEV_STRUCT_IMAGE_INFO_S pstImageInfo;
BYTE byRes[512];
}NETDEV_ALARM_PIC_DATA_S,*LPNETDEV_ALARM_PIC_DATA_S;

Members:
Parameter Description
stAlarmPicBaseInfo Basic info about alarm image
udwImageNum Number of images
pstImageInfo Image info. Memory needs to be allocated dynamically.
byRes Reserved field.

4.27.499 People counting alarm info

typedef struct tagNETDEVPeopleCountAlarmInfo


{
UINT32 udwType;
NETDEV_PEOPLE_COUNT_AREA_RULE_INFO_S stAreaRuleInfo;
NETDEV_PEOPLE_COUNT_LINE_RULE_INFO_S stLineRuleInfo;
NETDEV_CROWD_DENSITY_INFO_S stCrowdDensityInfo;
BYTE byRes[512];

608 / 767
Network Device SDK (Windows) User Manual
}NETDEV_PEOPLE_COUNT_ALARM_INFO_S,*LPNETDEV_PEOPLE_COUNT_ALARM_INFO_S;

Members:
Parameter Description
udwType People counting alarm type. See NETDEV_PEOPLE_COUNT_ALARM_TYPE_E.
stAreaRuleInfo Area people counting statistics
stLineRuleInfo Tripwire people counting statistics
stCrowdDensityInfo Crowd density statistics
byRes Reserved field.

4.27.500 Area people counting statistics info

typedef struct tagNETDEVPeopleCountAreaRuleInfo


{
CHAR szReference[NETDEV_LEN_260];
INT64 tTimeStamp;
UINT32 udwSeq;
CHAR szDeviceID[NETDEV_LEN_32];
UINT32 udwChannelID;
UINT32 udwAreaNum;
LPNETDEV_AREA_RULE_COUNT_DATA_S pstAreaRuleCountDataList;
BYTE byRes[256];
}NETDEV_PEOPLE_COUNT_AREA_RULE_INFO_S,*LPNETDEV_PEOPLE_COUNT_AREA_RULE_INFO_S;

Members:
Parameter Description
szReference Descriptive info
tTimeStamp Alarm time. Number of seconds since 0’o clock, Jan. 1, 1970
udwSeq Alarm sequence number
szDeviceID Camera ID or area ID, device ID passed in for event subscription. Required
when device ID is present in the event subscription interface.
udwChannelID Channel ID. Starts from 0.
udwAreaNum Number of area rules. Starts from 0. 0 means no rules.
pstAreaRuleCountDataList Statistics of counting by detection area. Memory needs to be allocated
dynamically.
byRes Reserved field.

4.27.501 Tripwire people counting statistics info

typedef struct tagNETDEVPeopleCountLineRuleInfo


{
CHAR szReference[NETDEV_LEN_260];
INT64 tTimeStamp;
UINT32 udwSeq;

609 / 767
Network Device SDK (Windows) User Manual
CHAR szDeviceID[NETDEV_LEN_32];
UINT32 udwChannelID;
UINT32 udwLineNum;
LPNETDEV_LINE_RULE_COUNT_DATA_S pstLineRuleCountDataList;
BYTE byRes[256];
}NETDEV_PEOPLE_COUNT_LINE_RULE_INFO_S,*LPNETDEV_PEOPLE_COUNT_LINE_RULE_INFO_S;

Members:
Parameter Description
szReference Descriptive info
tTimeStamp Reporting time. Number of seconds since 0’o clock, Jan. 1, 1970
udwSeq Sequence number of data to push
szDeviceID Camera ID or area ID, device ID passed in for event subscription. Required
when device ID is present in the event subscription interface.
udwChannelID Channel ID. Starts from 0.
udwLineNum Number of tripwire rules. Starts from 0. 0 means no rules.
pstLineRuleCountDataList Statistics of counting by tripwire. Memory needs to be allocated
dynamically.
byRes Reserved field.

4.27.502 Crowd density statistics info

typedef struct tagNETDEVCrowdDensityInfo


{
CHAR szReference[NETDEV_LEN_260];
INT64 tTimeStamp;
UINT32 udwSeq;
UINT32 udwSrcID;
CHAR szSrcName[NETDEV_LEN_64];
UINT32 udwRelatedID;
NETDEV_CROWD_DENSITY_DATA_S stCrowdDensityData;
BYTE byRes[256];
}NETDEV_CROWD_DENSITY_INFO_S,*LPNETDEV_CROWD_DENSITY_INFO_S;

Members:
Parameter Description
szReference Subscriber info
tTimeStamp Alarm time. Number of seconds since 0’o clock, Jan. 1, 1970
udwSeq Sequence number of data to push
udwSrcID Source ID
szSrcName Source name. Length: [1,63]
udwRelatedID Alarm event related ID
stCrowdDensityData Crowd density data
byRes Reserved field.

610 / 767
Network Device SDK (Windows) User Manual
4.27.503 Area people counting statistics

typedef struct tagNETDEVAreaRuleCountData


{
UINT32 udwAreaID;
UINT32 udwObjectNum;
BYTE byRes[256];
}NETDEV_AREA_RULE_COUNT_DATA_S,*LPNETDEV_AREA_RULE_COUNT_DATA_S;

Members:
Parameter Description
udwAreaID Detection area ID. Starts from 0.
udwObjectNum Number of people present in the area
byRes Reserved field.

4.27.504 Tripwire people counting statistics

typedef struct tagNETDEVLineRuleCountData


{
UINT32 udwLineID;
CHAR szBeginPassTime[NETDEV_LEN_64];
CHAR szEndPassTime[NETDEV_LEN_64];
UINT32 udwObjectIn;
UINT32 udwObjectOut;
BYTE byRes[256];
}NETDEV_LINE_RULE_COUNT_DATA_S,*LPNETDEV_LINE_RULE_COUNT_DATA_S;

Members:
Parameter Description
udwLineID Tripwire ID. Starts from 0
szBeginPassTime Detection start time (YYYYMMDDHHMMSS, 24H format). String length range: [0,18]
szEndPassTime Detection end time (YYYYMMDDHHMMSS, 24H format). String length range: [0,18]
udwObjectIn Number of people that have entered during the set time
udwObjectOut Number of people that have left during the set time
byRes Reserved field.

4.27.505 Crowd density counting statistics

typedef struct tagNETDEVCrowdDensityData


{
UINT32 udwGroupID;
INT64 tBeginTime;
INT64 tEndTime;
UINT32 udwObjectIn;
UINT32 udwObjectOut;

611 / 767
Network Device SDK (Windows) User Manual
NETDEV_CROWD_DENSITY_SUMMARY_INFO_S stCrowdDensitySummaryInfo;
BYTE byRes[256];
}NETDEV_CROWD_DENSITY_DATA_S,*LPNETDEV_CROWD_DENSITY_DATA_S;

Members:
Parameter Description
udwGroupID Counting group ID
tBeginTime Counting start time (UTC).
tEndTime Counting end time (UTC).
udwObjectIn Number of people entered
udwObjectOut Number of people left
stCrowdDensitySummaryInfo Summary info
byRes Reserved field.

4.27.506 Crowd density statistics summary info

typedef struct tagNETDEVCrowdDensitySummaryInfo


{
UINT32 udwTotalIn;
UINT32 udwTotalOut;
UINT32 udwAlarmThermal;
BYTE byRes[256];
}NETDEV_CROWD_DENSITY_SUMMARY_INFO_S,*LPNETDEV_CROWD_DENSITY_SUMMARY_INFO_S;

Members:
Parameter Description
udwTotalIn Total number of people that have entered
udwTotalOut Total number of people that have left
udwAlarmThermal Number of people as alarm threshold
byRes Reserved field.

4.27.507 Crowd density group info

typedef struct tagNETDEVCrowdDensityGroupInfo


{
UINT32 udwGroupID;
CHAR szGroupName[NETDEV_LEN_64];
UINT32 udwStatisticalType;
UINT32 udwChannelRuleNum;
LPNETDEV_CHANNEL_RULE_INFO_S pstChannelRuleInfoList;
NETDEV_CROWD_DENSITY_RULE_INFO_S stCrowdDensityRuleInfo;
UINT32 udwReportInterval;
BYTE byRes[256];
}NETDEV_CROWD_DENSITY_GROUP_INFO_S,*LPNETDEV_CROWD_DENSITY_GROUP_INFO_S;

612 / 767
Network Device SDK (Windows) User Manual
Members:
Parameter Description
udwGroupID Statistics group ID
szGroupName Counting group name. Length range: [0,63].
udwStatisticalType Counting type. See NETDEV_CROWD_DENSITY_STATISTIC_TYPE_E.
udwChannelRuleNum Number of channel rules
pstChannelRuleInfoList Channel rule list. Optional when udwChannelRuleNum is 0. Memory needs
to be allocated dynamically by user.
stCrowdDensityRuleInfo Crowd density rule info
udwReportInterval Report interval (unit: second)
byRes Reserved field.

4.27.508 Channel rule info

typedef struct tagNETDEVChannelRuleInfo


{
UINT32 udwChannelID;
UINT32 udwRuleNum;
UINT32 audwRuleIDList[NETDEV_LEN_64];
BYTE byRes[128];
}NETDEV_CHANNEL_RULE_INFO_S,*LPNETDEV_CHANNEL_RULE_INFO_S;

Members:
Parameter Description
udwChannelID Channel ID
udwRuleNum Number of rules
audwRuleIDList Rule ID list
byRes Reserved field.

4.27.509 Crowd density rule info

typedef struct tagNETDEVCrowdDensityRuleInfo


{
NETDEV_ALARM_RULE_INFO_S stMinorAlarmRuleInfo;
NETDEV_ALARM_RULE_INFO_S stMajorAlarmRuleInfo;
NETDEV_ALARM_RULE_INFO_S stCriticalAlarmRuleInfo;
BYTE byRes[256];
}NETDEV_CROWD_DENSITY_RULE_INFO_S,*LPNETDEV_CROWD_DENSITY_RULE_INFO_S;

Members:
Parameter Description
stMinorAlarmRuleInfo Minor alarm rules
stMajorAlarmRuleInfo Major alarm rules
stCriticalAlarmRuleInfo Critical alarm rules
byRes Reserved field.

613 / 767
Network Device SDK (Windows) User Manual
4.27.510 Alarm rule Info

typedef struct tagNETDEVAlarmRuleInfo


{
BOOL bEnabled;
UINT32 udwAlarmThermal;
BYTE byRes[128];
}NETDEV_ALARM_RULE_INFO_S,*LPNETDEV_ALARM_RULE_INFO_S;

Members:
Parameter Description
bEnabled Whether is enabled. FALSE: No TRUE: Yes
udwAlarmThermal People counting alarm threshold
byRes Reserved field.

4.28 Definition of Enumerations

4.28.1 Enumeration of access protocols

typedef enum tagNETDEVLoginProto


{
NETDEV_LOGIN_PROTO_ONVIF = 0, /* Onvif*/
NETDEV_LOGIN_PROTO_PRIVATE = 1 /* Private protocol*/
}NETDEV_LOGIN_PROTO_E;

4.28.2 Enumeration of exception message types

typedef enum tagNETDEVException


{
NETDEV_EXCEPTION_REPORT_REMUXING_FINISH = 284, /* Repackaging finished */
NETDEV_EXCEPTION_REPORT_VOD_END = 300, /* Playback ended */
NETDEV_EXCEPTION_REPORT_VOD_ABEND = 301, /* Playback abnormal */
NETDEV_EXCEPTION_REPORT_BACKUP_END = 302, /* Backup ended */
NETDEV_EXCEPTION_REPORT_BACKUP_DISC_OUT = 303, /* HDD removed */
NETDEV_EXCEPTION_REPORT_BACKUP_DISC_FULL = 304, /* HDD full */
NETDEV_EXCEPTION_REPORT_BACKUP_ABEND = 305, /* Backup failed for other causes */
NETDEV_EXCEPTION_EXCHANGE = 0x8000, /* Exception during user interaction
(keep-alive timeout)*/
NETDEV_EXCEPTION_REPORT_ALARM_INTERRUPT = 0x8001, /* Alarm reporting ended abnormally Keep-
alive failed or persistent connection disconnected*/
NETDEV_EXCEPTION_REPORT_MAX, /* Maximum value */
NETDEV_EXCEPTION_REPORT_NOT_VALID_PERIOD, /* Not within valid period */
NETDEV_EXCEPTION_REPORT_NOT_VALID_TIME, /* Not within valid period */
NETDEV_EXCEPTION_REPORT_INVALID = 0xFFFF /* Invalid value */
614 / 767
Network Device SDK (Windows) User Manual
}NETDEV_EXCEPTION_TYPE_E;

4.28.3 Enumeration of device types

typedef enum tagNETDEVDeviceType


{
NETDEV_DTYPE_UNKNOWN = 0, /* Unknown type */
NETDEV_DTYPE_IPC = 1, /* IPC range */
NETDEV_DTYPE_IPC_FISHEYE = 2, /* Fisheye camera (with fisheye lens
+ dewarping) */
NETDEV_DTYPE_IPC_ECONOMIC_FISHEYE = 3, /* Fisheye camera (with fisheye lens or
wide angle lens without dewarping */
NETDEV_DTYPE_IPC_ACS = 4, /* Face recognition terminal */
NETDEV_DTYPE_NVR = 101, /* NVR range */
NETDEV_DTYPE_NVR_BACKUP = 102, /* NVR backup server */
NETDEV_DTYPE_HNVR = 103, /* Hybrid NVR */
NETDEV_DTYPE_DC = 201, /* DC */
NETDEV_DTYPE_DC_ADU = 202, /* ADU */
NETDEV_DTYPE_EC = 301, /* EC */
NETDEV_DTYPE_VMS = 501, /* VMS */
NETDEV_DTYPE_FG = 601, /* FG */
NETDEV_DTYPE_IPM = 701, /* IPM */
NETDEV_DTYPE_EDU = 801, /* EDU */
NETDEV_DTYPE_INVALID = 0xFFFF /* Invalid value */
}NETDEV_DEVICE_TYPE_E;

4.28.4 Enumeration of stream types

typedef enum tagNETDEVLiveStreamIndex


{
NETDEV_LIVE_STREAM_INDEX_MAIN = 0, /* Main stream */
NETDEV_LIVE_STREAM_INDEX_AUX = 1, /* Sub stream */
NETDEV_LIVE_STREAM_INDEX_THIRD = 2, /* Third stream */
NETDEV_LIVE_STREAM_INDEX_INVALID = 0xFF /* Invalid value */
}NETDEV_LIVE_STREAM_INDEX_E;

4.28.5 Enumeration of media transport protocols

typedef enum tagNETDEVProtocal


{
NETDEV_TRANSPROTOCAL_RTPUDP = 0, /* UDP */
NETDEV_TRANSPROTOCAL_RTPTCP = 1 /* TCP */
}NETDEV_PROTOCAL_E;

4.28.6 Enumeration of image fluency

typedef enum tagNetDEVPictureFluency


615 / 767
Network Device SDK (Windows) User Manual
{
NETDEV_PICTURE_REAL = 0, /* Real-time priority */
NETDEV_PICTURE_FLUENCY = 1, /* Fluency priority */
NETDEV_PICTURE_BALANCE_NEW = 3, /* Balanced */
NETDEV_PICTURE_RTMP_FLUENCY = 4, /* RTMP fluency priority */
NETDEV_PICTURE_USER_DEFINED = 5, /* Custom-configurable buffered frames */
NETDEV_PICTURE_NETADJUST = 6, /* Network jitter adaptation mode */
NETDEV_PICTURE_FLUENCY_INVALID = 0xff /* Invalid value */
}NETDEV_PICTURE_FLUENCY_E;

4.28.7 Enumeration of stream modes

typedef enum tagNETDEVStreamMode


{
NETDEV_STREAM_MODE_ALL = 0x0000, /* audio + video */
NETDEV_STREAM_MODE_VIDEO = 0x8000 /* video only */
}NETDEV_STREAM_MODE_E;

4.28.8 Enumeration of transport types

typedef enum tagNETDEVTransType


{
NETDEV_TRANS_TYPE_FORWORD = 0, /* Forward via VMS */
NETDEV_TRANS_TYPE_STRAIGHT = 1 /* Direct connection with downlink
devices */
}NETDEV_TRANS_TYPE_E;

4.28.9 Enumeration of streaming protocols

typedef enum tagNETDEVStartStreamProt


{
NETDEV_START_STREAM_PROT_UDP =1,
NETDEV_START_STREAM_PROT_TCP =2,
NETDEV_START_STREAM_PROT_RTSP =3,
NETDEV_START_STREAM_PROT_HTTP =4,
NETDEV_START_STREAM_PROT_INVALID =0xff
}NETDEV_START_STREAM_PROT_E;

4.28.10 Enumeration of media file formats

typedef enum tagNETDEVMediaFileFormat


{
NETDEV_MEDIA_FILE_MP4 = 0, /* MP4 (audio+video) */
NETDEV_MEDIA_FILE_TS = 1, /* TS (audio+video) */
NETDEV_MEDIA_FILE_MP4_ADD_TIME = 2, /* MP4 (audio+video), filename including
timestamp */
NETDEV_MEDIA_FILE_TS_ADD_TIME = 3, /* TS (audio+video), filename
616 / 767
Network Device SDK (Windows) User Manual
including timestamp */
NETDEV_MEDIA_FILE_AUDIO_TS = 4, /* TS (audio only) */
NETDEV_MEDIA_FILE_AUDIO_MP4 = 5, /* MP4 (audio only) */
NETDEV_MEDIA_FILE_AUDIO_TS_ADD_TIME = 6, /* TS (audio only), filename including
timestamp */
NETDEV_MEDIA_FILE_AUDIO_MP4_ADD_TIME = 7, /* MP4 (audio only), filename including
timestamp */
NETDEV_MEDIA_FILE_MP4_ADD_RCD_TIME = 8, /* MP4 (audio+video), filename including
start and end times */
NETDEV_MEDIA_FILE_TS_ADD_RCD_TIME = 9, /* TS (audio+video), filename including
start and end times */
NETDEV_MEDIA_FILE_AUDIO_MP4_ADD_RCD_TIME = 10, /* MP4 (audio only), filename including start
and end times */
NETDEV_MEDIA_FILE_AUDIO_TS_ADD_RCD_TIME = 11, /* TS (audio only), filename including start
and end times */
NETDEV_MEDIA_FILE_VIDEO_MP4_ADD_RCD_TIME = 12, /* MP4 (video only) */
NETDEV_MEDIA_FILE_VIDEO_TS_ADD_RCD_TIME = 13, /* TS (video only) */
NETDEV_MEDIA_FILE_AVI = 14, /* AVI (audio+video) */
NETDEV_MEDIA_FILE_AVI_ADD_TIME = 15, /* AVI (audio+video), filename including
start and end times */
NETDEV_MEDIA_FILE_AUDIO_AVI = 16, /* AVI (audio only) */
NETDEV_MEDIA_FILE_AUDIO_AVI_ADD_TIME = 17, /* AVI (audio only), filename including
start and end times */
NETDEV_MEDIA_FILE_AVI_ADD_RCD_TIME = 18, /* AVI (audio+video), filename including
start and end times */
NETDEV_MEDIA_FILE_AUDIO_AVI_ADD_RCD_TIME = 19, /* AVI (audio only), filename including start
and end times */
NETDEV_MEDIA_FILE_VIDEO_AVI_ADD_RCD_TIME = 20, /* AVI (video only) */
NETDEV_MEDIA_FILE_INVALID
}NETDEV_MEDIA_FILE_FORMAT_E;

4.28.11 Enumeration of snapshot image formats

typedef enum tagNETDEVPictureFormat


{
NETDEV_PICTURE_BMP = 0, /* BMP format */
NETDEV_PICTURE_JPG = 1, /* JPG format*/
NETDEV_PICTURE_INVALID
}NETDEV_PICTURE_FORMAT_E;

4.28.12 Enumeration of audio formats

typedef enum tagNetDEVWaveFormatInfo


{
NETDEV_WAVE_FORMAT_PCM8M16 = 0, /* PCM, 8K sampling rate, mono, 16 bits*/
NETDEV_WAVE_FORMAT_PCM16M16 = 1, /* PCM,16K sampling rate, mono, 16 bits*/
617 / 767
Network Device SDK (Windows) User Manual
NETDEV_WAVE_FORMAT_PCM441M16 = 2, /* PCM, 44.1K sampling rate, mono, 16 bits*/
NETDEV_WAVE_FORMAT_PCM11025M16 = 3, /* PCM, 11.025K sampling rate, mono, 16 bits*/
NETDEV_WAVE_FORMAT_PCM8_RIGHT = 4, /* PCM, 8K sampling rate, right channel*/
NETDEV_WAVE_FORMAT_PCM_NORMAL = 5, /* PCM, normal mode*/
NETDEV_WAVE_FORMAT_PCM48000M16 = 6, /* PCM, 48.0K sampling rate, mono (M), 16 bits*/
NETDEV_WAVE_FORMAT_UNKNOWN
}NETDEV_WAVE_FORMAT_INFO_E;

4.28.13 Enumeration of audio bit widths

typedef enum tagNetDevAudioSampleFormatType


{
NETDEV_AUDIO_SAMPLE_FMT_NONE = -1,
NETDEV_AUDIO_SAMPLE_FMT_U8 = 0, /* unsigned integer*/
NETDEV_AUDIO_SAMPLE_FMT_S16 = 1, /* signed integer*/
NETDEV_AUDIO_SAMPLE_FMT_S32 = 2, /* signed integer*/
NETDEV_AUDIO_SAMPLE_FMT_FLT = 3, /* floating*/
NETDEV_AUDIO_SAMPLE_FMT_DBL = 4 /* double*/
}NETDEV_AUDIO_SAMPLE_FORMAT_E;

4.28.14 Enumeration of media stream formats

typedef enum tagNETDEVMediaDataFormat


{
NETDEV_MEDIA_DATA_TS = 0, /* TS */
NETDEV_MEDIA_DATA_RTP_ES = 3 /* RTP + ES */
}NETDEV_MEDIA_DATA_FORMAT_E;

4.28.15 Enumeration of audio encoding formats

typedef enum tagNetDEVAudioEncodeType


{
NETDEV_AUDIO_ENCODE_G711U = 0, /* G.711U */
NETDEV_AUDIO_ENCODE_MP2 = 1, /* MP2 */
NETDEV_AUDIO_ENCODE_AAC = 2, /* AAC */
NETDEV_AUDIO_ENCODE_G711A = 3, /* G.711A */
NETDEV_AUDIO_ENCODE_PCM = 4, /* PCM */
NETDEV_AUDIO_ENCODE_NULL = 5 /* None */
}NETDEV_AUDIO_ENCODE_TYPE_E;

4.28.16 Enumeration of video frame types

typedef enum tagNETDEVVideoFrameType


{
NETDEV_VIDEO_FRAME_I = 0, /* I-frame */
NETDEV_VIDEO_FRAME_P = 1, /* P-frame */
NETDEV_VIDEO_FRAME_B = 2 /* B-frame */
618 / 767
Network Device SDK (Windows) User Manual
}NETDEV_VIDEO_FRAME_TYPE_E;

4.28.17 Enumeration of video compression formats

typedef enum tagNETDEVVideoCodeType


{
NETDEV_VIDEO_CODE_MJPEG = 0, /* MJPEG */
NETDEV_VIDEO_CODE_H264 = 1, /* H.264 */
NETDEV_VIDEO_CODE_H265 = 2, /* H.265 */
NETDEV_VIDEO_CODE_INVALID
}NETDEV_VIDEO_CODE_TYPE_E;

4.28.18 Enumeration of metadata display types

typedef enum tagNETDEVIVAShowRule


{
NETDEV_IVA_SHOW_RULE = 0x00000001, /* Show rules */
NETDEV_IVA_SHOW_RESULT_TOUTH_RULE = 0x00000002, /* Show bounding boxes of objects that
have triggered rules */
NETDEV_IVA_SHOW_RESULT_UNTOUTH_RULE = 0x00000004, /* Shows bounding boxes of objects that
haven’t triggered rules */
NETDEV_IVA_SHOW_TRACK = 0x00000008 /* Shows the track of bounding boxes
*/
}NETDEV_IVA_SHOW_RULE_E;

4.28.19 Enumeration of video display scales

typedef enum tagNETDEVRenderScale


{
NETDEV_RENDER_SCALE_FULL = 0, /* Fill the entire window */
NETDEV_RENDER_SCALE_PROPORTION = 1, /* Display by proportion */
NETDEV_RENDER_SCALE_INVALID = 0xFF
}NETDEV_RENDER_SCALE_E;

4.28.20 Enumeration of recording storage types

typedef enum tagNETDEVPLanStoreType


{
NETDEV_STORE_TYPE_COMMON = 0, /* Normal recording */
NETDEV_STORE_TYPE_DIGITIALINPUT = 1, /* Triggered by alarm input */
NETDEV_STORE_TYPE_MANUL = 2, /* Manual recording */
NETDEV_STORE_TYPE_AUDIODETECT = 3, /* Triggered by audio detection
alarm*/
NETDEV_STORE_TYPE_MOTION = 4, /* Triggered by motion
detection alarm */
NETDEV_STORE_TYPE_DIGITALINPUT = 5, /* Triggered by digital input
event */
619 / 767
Network Device SDK (Windows) User Manual
NETDEV_STORE_TYPE_FACEDETECT = 6, /* Triggered by face detection
alarm */
NETDEV_STORE_TYPE_VIDEO_LOSS = 7, /* Triggered by video loss
alarm */
NETDEV_STORE_TYPE_LINEDETECT = 8, /* Triggered by cross line
detection alarm */
NETDEV_STORE_TYPE_FIELDDETECT = 9, /* Triggered by intrusion
detection alarm */
NETDEV_STORE_TYPE_FOCUSDETECT = 10, /* Triggered by defocus detection
alarm */
NETDEV_STORE_TYPE_SCENECHANGE = 11, /* Triggered by scene change
detection alarm */
NETDEV_STORE_TYPE_ALARM = 12, /* Alarm */
NETDEV_STORE_TYPE_ALARM_AND_MOTION = 13, /* Triggered by motion detection and
alarm */
NETDEV_STORE_TYPE_ALARM_OR_MOTION = 14, /* Triggered by motion detection or
alarm */
NETDEV_STORE_TYPE_CAMERA_DISCONNECT = 15, /* Triggered camera offline alarm */
NETDEV_STORE_TYPE_THIRD_STREAM = 16, /* Third-stream recording */
NETDEV_STORE_TYPE_EVENT_ALL_ALARM = 17, /* Event recording, including all
alarm types */
NETDEV_STORE_TYPE_EVENT_ALL_TYPE = 18, /* Event recording, including all
recording types */
NETDEV_PLAN_STORE_TYPE_EVENT_WITHOUT_RESUME = 19, /* Recording of events that cannot be resumed
*/
NETDEV_STORE_TYPE_SMART_TRACK = 20, /* Auto track */
NETDEV_STORE_TYPE_URGENT_BELL = 21, /* emergency bell */
NETDEV_STORE_TYPE_REMAIN_ARTICLE = 22, /* Object left behind */
NETDEV_STORE_TYPE_MOVE_ARTICLE = 23, /* Object removed */
NETDEV_STORE_TYPE_SMART_RECORD = 24, /* All smart alarms */
NETDEV_PLAN_STORE_TYPE_MAX = 25, /* Maximum value of storage type */
NETDEV_STORE_TYPE_HUMAN_DETECT = 26, /* Human detection */
NETDEV_STORE_TYPE_ELEVATOR_ENTRANCE_DETECT = 27, /* Elevator entrance detection */
NETDEV_STORE_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_STORE_TYPE_E;

4.28.21 Enumeration of recording storage locations

typedef enum tagNETDEVRecordLocation


{
NETDEV_RECORD_LOCATION_ALL = 0, /* All */
NETDEV_RECORD_LOCATION_VMS = 1, /* VMS */
NETDEV_RECORD_LOCATION_NVR = 2, /* NVR */
NETDEV_RECORD_LOCATION_BACKUP = 3, /* Backup */
NETDEV_RECORD_LOCATION_INVALID = 0xFF /* Invalid value */
}NETDEV_RECORD_LOCATION_E;
620 / 767
Network Device SDK (Windows) User Manual
4.28.22 Enumeration of recording search locations

typedef enum tagNETDEVVideoPosition


{
NETDEV_POSITION_LOCAL = 1, /* Device recording */
NETDEV_POSITION_CHANNEL = 2, /* Channel recording */
NETDEV_POSITION_INVALID
}NETDEV_VIDEO_POSITION_E;

4.28.23 Enumeration of recording status

typedef enum tagNETDEVVideoStatus


{
NETDEV_VIDEO_NONE = 0, /* No recording */
NETDEV_VIDEO_EVENT = 1, /* Event recording */
NETDEV_VIDEO_NORMAL = 2, /* Normal recording */
NETDEV_VIDEO_INVALID
}NETDEV_VIDEO_STATUS_E;

4.28.24 Enumeration of recording download speeds

typedef enum tagNETDEVDownloadSpeed


{
NETDEV_DOWNLOAD_SPEED_ONE = 0, /* 1x */
NETDEV_DOWNLOAD_SPEED_TWO = 1, /* 2x */
NETDEV_DOWNLOAD_SPEED_FOUR = 2, /* 4x */
NETDEV_DOWNLOAD_SPEED_EIGHT = 3, /* 8x */
NETDEV_DOWNLOAD_SPEED_TWO_IFRAME = 4, /* 2x I frame */
NETDEV_DOWNLOAD_SPEED_FOUR_IFRAME = 5, /* 4x I frame */
NETDEV_DOWNLOAD_SPEED_EIGHT_IFRAME = 6, /* 8x I frame */
NETDEV_DOWNLOAD_SPEED_HALF = 7, /* 1/2x */
NETDEV_DOWNLOAD_SPEED_FORTY = 8, /* 40x */
NETDEV_DOWNLOAD_SEPPD_SIXTEEN = 9, /* 16x */
NETDEV_DOWNLOAD_SPEED_INVALID = 0xFF /* Invalid value */
}NETDEV_E_DOWNLOAD_SPEED_E;

4.28.25 Enumeration of play/download speeds

typedef enum tagNETDEVVodPlayStatus


{
NETDEV_PLAY_STATUS_16_BACKWARD = 0, /* 16x backward */
NETDEV_PLAY_STATUS_8_BACKWARD = 1, /* 8x backward */
NETDEV_PLAY_STATUS_4_BACKWARD = 2, /* 4x backward */
NETDEV_PLAY_STATUS_2_BACKWARD = 3, /* 2x backward */
NETDEV_PLAY_STATUS_1_BACKWARD = 4, /* 1x backward */
NETDEV_PLAY_STATUS_HALF_BACKWARD = 5, /* 1/2x backward */

621 / 767
Network Device SDK (Windows) User Manual
NETDEV_PLAY_STATUS_QUARTER_BACKWARD = 6, /* 1/4x backward */
NETDEV_PLAY_STATUS_QUARTER_FORWARD = 7, /* 1/4x forward */
NETDEV_PLAY_STATUS_HALF_FORWARD = 8, /* 1/2x forward */
NETDEV_PLAY_STATUS_1_FORWARD = 9, /* 1x forward */
NETDEV_PLAY_STATUS_2_FORWARD = 10, /* 2x forward */
NETDEV_PLAY_STATUS_4_FORWARD = 11, /* 4x forward */
NETDEV_PLAY_STATUS_8_FORWARD = 12, /* 8x forward */
NETDEV_PLAY_STATUS_16_FORWARD = 13, /* 16x forward */
NETDEV_PLAY_STATUS_2_FORWARD_IFRAME = 14, /* 2x forward (I frame) */
NETDEV_PLAY_STATUS_4_FORWARD_IFRAME = 15, /* 4x forward (I frame) */
NETDEV_PLAY_STATUS_8_FORWARD_IFRAME = 16, /* 8x forward (I frame) */
NETDEV_PLAY_STATUS_16_FORWARD_IFRAME = 17, /* 16x forward (I frame) */
NETDEV_PLAY_STATUS_2_BACKWARD_IFRAME = 18, /* 2x backward (I frame) */
NETDEV_PLAY_STATUS_4_BACKWARD_IFRAME = 19, /* 4x backward (I frame) */
NETDEV_PLAY_STATUS_8_BACKWARD_IFRAME = 20, /* 8x backward (I frame) */
NETDEV_PLAY_STATUS_16_BACKWARD_IFRAME = 21, /* 16x backward (I frame) */
NETDEV_PLAY_STATUS_INTELLIGENT_FORWARD = 22, /* Smart forward */
NETDEV_PLAY_STATUS_1_FRAME_FORWD = 23, /* Forward frame by frame*/
NETDEV_PLAY_STATUS_1_FRAME_BACK = 24, /* Backward frame by frame */
NETDEV_PLAY_STATUS_40_FORWARD = 25, /* 40x forward */
NETDEV_PLAY_STATUS_32_FORWARD_IFRAME = 26, /* 32x forward (I frame) */
NETDEV_PLAY_STATUS_32_BACKWARD_IFRAME = 27, /* 32x backward (I frame) */
NETDEV_PLAY_STATUS_64_FORWARD_IFRAME = 28, /* 64x forward (I frame) */
NETDEV_PLAY_STATUS_64_BACKWARD_IFRAME = 29, /* 64x backward (I frame) */
NETDEV_PLAY_STATUS_128_FORWARD_IFRAME = 30, /* 128x forward (I frame) */
NETDEV_PLAY_STATUS_128_BACKWARD_IFRAME = 31, /* 128x backward (I frame) */
NETDEV_PLAY_STATUS_256_FORWARD_IFRAME = 32, /* 256x forward (I frame) */
NETDEV_PLAY_STATUS_256_BACKWARD_IFRAME = 33, /* 256x backward (I frame) */
NETDEV_PLAY_STATUS_32_FORWARD = 34, /* 32x forward */
NETDEV_PLAY_STATUS_32_BACKWARD = 35, /* 32x backward */
NETDEV_PLAY_STATUS_INVALID
}NETDEV_VOD_PLAY_STATUS_E;

4.28.26 Enumeration of PTZ commands

typedef enum tagNETDEVPtzCmdEnum


{
NETDEV_PTZ_IRISCLOSE_STOP =0x0101, /* Stop closing iris */
NETDEV_PTZ_IRISCLOSE =0x0102, /* Close iris */
NETDEV_PTZ_IRISOPEN_STOP =0x0103, /* Stop opening iris */
NETDEV_PTZ_IRISOPEN =0x0104, /* Open iris */
NETDEV_PTZ_FOCUSNEAR_STOP =0x0201, /* Stop focusing near */
NETDEV_PTZ_FOCUSNEAR =0x0202, /* Focus near */
NETDEV_PTZ_FOCUSFAR_STOP =0x0203, /* Stop focusing far */
NETDEV_PTZ_FOCUSFAR =0x0204, /* Focus far */
NETDEV_PTZ_ZOOMTELE_STOP = 0x0301, /* Stop zooming wide */
622 / 767
Network Device SDK (Windows) User Manual
NETDEV_PTZ_ZOOMTELE = 0x0302, /* Zoom wide */
NETDEV_PTZ_ZOOMWIDE_STOP = 0x0303, /* Stop zooming tele */
NETDEV_PTZ_ZOOMWIDE = 0x0304, /* Zoom tele */
NETDEV_PTZ_TILTUP = 0x0402, /* Tilt up */
NETDEV_PTZ_TILTDOWN = 0x0404, /* Tilt down */
NETDEV_PTZ_PANRIGHT = 0x0502, /* Pan right */
NETDEV_PTZ_PANLEFT = 0x0504, /* Pan left */
NETDEV_PTZ_LEFTUP = 0x0702, /* Move upper left */
NETDEV_PTZ_LEFTDOWN = 0x0704, /* Move lower left */
NETDEV_PTZ_RIGHTUP = 0x0802, /* Move upper right */
NETDEV_PTZ_RIGHTDOWN = 0x0804, /* Move lower right */
NETDEV_PTZ_ALLSTOP = 0x0901, /* All stop */
NETDEV_PTZ_FOCUS_AND_IRIS_STOP = 0x0907, /* Stop focus and iris*/
NETDEV_PTZ_MOVE_STOP = 0x0908, /* Stop moving */
NETDEV_PTZ_ZOOM_STOP = 0x0909, /* Stop zoom */
NETDEV_PTZ_TRACKCRUISE = 0x1001, /* Start recorded patrol */
NETDEV_PTZ_TRACKCRUISESTOP = 0x1002, /* Stop recorded patrol */
NETDEV_PTZ_TRACKCRUISEREC = 0x1003, /* Start recording patrol route */
NETDEV_PTZ_TRACKCRUISERECSTOP = 0x1004, /* Stop recording patrol route */
NETDEV_PTZ_TRACKCRUISEADD = 0x1005, /* Add a patrol route */
NETDEV_PTZ_TRACKCRUISEDEL = 0x1006, /* Delete a patrol route */
NETDEV_PTZ_AREAZOOMIN = 0x1101, /* Drag to zoom in*/
NETDEV_PTZ_AREAZOOMOUT = 0x1102, /* Drag to zoom out */
NETDEV_PTZ_AREAZOOM3D = 0x1103, /* 3D positioning */
NETDEV_PTZ_BRUSHON = 0x0A01, /* Wiper on */
NETDEV_PTZ_BRUSHOFF = 0x0A02, /* Wiper off */
NETDEV_PTZ_LIGHTON = 0x0B01, /* Light on */
NETDEV_PTZ_LIGHTOFF = 0x0B02, /* Light off */
NETDEV_PTZ_HEATON = 0x0C01, /* Heater on */
NETDEV_PTZ_HEATOFF = 0x0C02, /* Heater off */
NETDEV_PTZ_SNOWREMOINGON = 0x1301, /* Snow removal on */
NETDEV_PTZ_SNOWREMOINGOFF = 0x1302, /* Snow removal off */
NETDEV_PTZ_INFRAREDON = 0x0D01, /* IR on */
NETDEV_PTZ_INFRAREDOFF = 0x0D02, /* IR off */
NETDEV_PTZ_SELF_CHECKING = 0x1801, /* self check: When dwSpeed is 1, perform
PTZ self-check. When dwSpeed is 0, reboot the camera to restore the default physical parameters of
PTZ. */
NETDEV_PTZ_INVALID
} NETDEV_PTZ_E;

4.28.27 PTZ auto guard configuration commands

typedef enum tagNETDEVPTZGuardCmd


{
NETDEV_PTZ_GUARD_CMD_GET = 0, /* Get auto guard info of specified channel*/
NETDEV_PTZ_GUARD_CMD_SET = 1 /* Set auto guard info of specified channel*/
623 / 767
Network Device SDK (Windows) User Manual
}NETDEV_PTZ_GUARD_CMD_E;

4.28.28 PTZ auto guard modes

typedef enum tagNETDEVPTZGuardMode


{
NETDEV_PTZ_GUARD_MODE_PRESET = 0, /* Preset mode*/
NETDEV_PTZ_GUARD_MODE_CRUISE = 1, /* Preset patrol mode*/
NETDEV_PTZ_GUARD_MODE_TRACK = 2 /* Recorded patrol mode*/
}NETDEV_PTZ_GUARD_MODE_E;

4.28.29 PTZ home position commands

typedef enum tagNETDEVPtzHomePositionCmd


{
NETDEV_PTZ_SET_HOMEPOSITION = 0, /* Set home position */
NETDEV_PTZ_GOTO_HOMEPOSITION = 1 /* Go to home position */
}NETDEV_PTZ_HOMEPOSITIONCMD_E;

4.28.30 Focus status

typedef enum tagNETDEVPTZMoveStatus


{
NETDEV_PTZ_MOVE_STATUS_IDLE = 0, /* Free */
NETDEV_PTZ_MOVE_STATUS_MOVING = 1, /* Moving */
NETDEV_PTZ_MOVE_STATUS_INVALID = 0xff /* Invalid value */
}NETDEV_PTZ_MOVE_STATUS_E;

4.28.31 Enumeration of patrol statuses

typedef enum tagNETDEVPTZTrackStatus


{
NETDEV_PTZ_TRACK_STATUS_FREE = 0, /* Free (not patrolling, not recording a patrol
route)*/
NETDEV_PTZ_TRACK_STATUS_RUN = 1, /* Patrolling*/
NETDEV_PTZ_TRACK_STATUS_START_RECORD = 2 /* Recording a patrol route*/
}NETDEV_PTZ_TRACK_STATUS_E;

4.28.32 Enumeration of PTZ patrol operation

typedef enum tagNETDEVPTZTRACKCmd


{
NETDEV_PTZ_TRACKCRUISE_START = 0, /* Start recorded patrol */
NETDEV_PTZ_TRACKCRUISE_STOP = 1, /* Stop recorded patrol */
NETDEV_PTZ_TRACKCRUISE_REC = 2, /* Start recording a patrol route */
NETDEV_PTZ_TRACKCRUISE_RECSTOP = 3, /* Stop recording a patrol route */
NETDEV_PTZ_TRACKCRUISE_ADD = 4, /* Add a recorded patrol route. Currently not
624 / 767
Network Device SDK (Windows) User Manual
available to VMS server. The patrol route ID is fixed to 16 */
NETDEV_PTZ_TRACKCRUISE_DEL = 5 /* Delete a recorded patrol route */
}NETDEV_PTZ_TRACKCMD_E;

4.28.33 Enumeration of PTZ preset operation commands

typedef enum tagNETDEVPtzPresetCmd


{
NETDEV_PTZ_SET_PRESET = 0, /* Set preset */
NETDEV_PTZ_CLE_PRESET = 1, /* Delete preset */
NETDEV_PTZ_GOTO_PRESET = 2 /* Go to preset */
}NETDEV_PTZ_PRESETCMD_E;

4.28.34 Enumeration of PTZ patrol operation

typedef enum tagNETDEVPTZCruiseCmd


{
NETDEV_PTZ_ADD_CRUISE = 0, /* Add patrol route */
NETDEV_PTZ_MODIFY_CRUISE = 1, /* Edit patrol route */
NETDEV_PTZ_DEL_CRUISE = 2, /* Delete patrol route */
NETDEV_PTZ_RUN_CRUISE = 3, /* Start patrol */
NETDEV_PTZ_STOP_CRUISE = 4, /* Stop patrol */
NETDEV_PTZ_GET_CRUISE = 5 /* Get patrol route */
}NETDEV_PTZ_CRUISECMD_E;

4.28.35 Enumeration of PTZ directions

typedef enum tagNETDEVPTZDirection


{
NETDEV_PTZ_DIRECTION_EAST = 0, /* East */
NETDEV_PTZ_DIRECTION_SOUTHEAST = 1, /* Southeast */
NETDEV_PTZ_DIRECTION_SOUTH = 2, /* North */
NETDEV_PTZ_DIRECTION_SOUTHWEST = 3, /* Southwest */
NETDEV_PTZ_DIRECTION_WEST = 4, /* West */
NETDEV_PTZ_DIRECTION_NORTHWEST = 5, /* Northwest */
NETDEV_PTZ_DIRECTION_NORTH = 6, /* North */
NETDEV_PTZ_DIRECTION_NORTHEAST = 7, /* Northesat */
NETDEV_PTZ_DIRECTION_AUTO = 8, /* Auto */
NETDEV_PTZ_DIRECTION_INVALID = 0xFFFF /* Invalid value*/
}NETDEV_PTZ_DIRECTION_E;

4.28.36 Enumeration of playback control commands

typedef enum tagNETDEVPlayControl


{
NETDEV_PLAY_CTRL_PLAY = 0, /* Play */
NETDEV_PLAY_CTRL_PAUSE = 1, /* Pause */
625 / 767
Network Device SDK (Windows) User Manual
NETDEV_PLAY_CTRL_RESUME = 2, /* Resume */
NETDEV_PLAY_CTRL_GETPLAYTIME = 3, /* Get playback progress */
NETDEV_PLAY_CTRL_SETPLAYTIME = 4, /* Set playback progress */
NETDEV_PLAY_CTRL_GETPLAYSPEED = 5, /* Get playback speed */
NETDEV_PLAY_CTRL_SETPLAYSPEED = 6, /* Set playback speed */
NETDEV_PLAY_CTRL_SET_SINGLE_FRAME_SPEED = 7, /* Set playback by frame */
NETDEV_PLAY_CTRL_UPDATE_M3U8URL = 8 /* Update M3u8URL */
}NETDEV_VOD_PLAY_CTRL_E;

4.28.37 Enumeration of main log types

typedef enum tagNETDEVLogMainType


{
/* Supported by NVR only */
NETDEV_LOG_MAIN_TYPE_ALL = 0, /* All types of logs */
NETDEV_LOG_MAIN_TYPE_ALARM = 1, /* Alarm */
NETDEV_LOG_MAIN_TYPE_EXCEPTION = 2, /* Exception */
NETDEV_LOG_MAIN_TYPE_OPERATION = 3, /* Operation */
NETDEV_LOG_MAIN_TYPE_MESSAGE = 4, /* Message */

/* VMS operations main log type*/


NETDEV_LOG_MAIN_TYPE_VMS_ALL = 90, /* All main types */
NETDEV_LOG_MAIN_TYPE_LOGIN = 91, /* Login */
NETDEV_LOG_MAIN_TYPE_ORGANIZATION_CONFIG = 100, /* Organization config */
NETDEV_LOG_MAIN_TYPE_USER_CONFIG = 101, /* User config */
NETDEV_LOG_MAIN_TYPE_ROLE_CONFIG = 102, /* Role config */
NETDEV_LOG_MAIN_TYPE_DEVICE_CONFIG = 103, /* Device config */
NETDEV_LOG_MAIN_TYPE_CHANNE_LCONFIG = 104, /* Channel config */
NETDEV_LOG_MAIN_TYPE_SERVER_CONFIG = 105, /* primary/secondary server
configuration */
NETDEV_LOG_MAIN_TYPE_PTZ_CONFIG = 106, /* PTZ config */
NETDEV_LOG_MAIN_TYPE_VIDEOWALL_CONFIG = 107, /* Video wall config */
NETDEV_LOG_MAIN_TYPE_EMAP_CONFIG = 108, /* Map config */
NETDEV_LOG_MAIN_TYPE_SYSTEM_CONFIG = 109, /* System config */
NETDEV_LOG_MAIN_TYPE_SEQUENCE_PLAN_CONFIG = 110, /* Sequence plan config */
NETDEV_LOG_MAIN_TYPE_NETWORK_KEYPAD_CONFIG = 111, /* Network keyboard channel config */
NETDEV_LOG_MAIN_TYPE_SEQUENCE_RESOURCE_CONFIG = 112, /* Sequence resource config */
NETDEV_LOG_MAIN_TYPE_HOT_SPOT_AND_ZONE_CONFIG = 113, /* Hot spot & hot zone config */
NETDEV_LOG_MAIN_TYPE_USER_TIME_TEMPLATE_CONFIG = 114, /* User time template config */
NETDEV_LOG_MAIN_TYPE_SERVER_WORK_MODE = 115, /* Server working mode config */
NETDEV_LOG_MAIN_TYPE_PERMISSION_TIME_TEMPLATE_CONFIG =116, /* Permission time template
config */
NETDEV_LOG_MAIN_TYPE_TIME_CONFIG = 117, /* Manual time config */
NETDEV_LOG_MAIN_TYPE_TIMESYNC_CONFIG = 118, /* Time sync */
NETDEV_LOG_MAIN_TYPE_HOLIDAY_CONFIG = 119, /* Holiday start time */
NETDEV_LOG_MAIN_TYPE_NTPTIME_CONFIG = 120, /* NTP time config */
626 / 767
Network Device SDK (Windows) User Manual
NETDEV_LOG_MAIN_TYPE_DST_CONFIG = 121, /* DST time config */
NETDEV_LOG_MAIN_TYPE_RESRELATION_CONFIG = 122, /* Related resource config */
NETDEV_LOG_MAIN_TYPE_DEVICE_TIME_SYNC = 123, /* Device time sync */
NETDEV_LOG_MAIN_TYPE_TCPIP_CONFIG = 124, /* TCP/IP config */
NETDEV_LOG_MAIN_TYPE_EZCLOUD_CONFIG = 125, /* Private cloud config */
NETDEV_LOG_MAIN_TYPE_DDNS_CONFIG = 126, /* DDNS config */
NETDEV_LOG_MAIN_TYPE_PORT_CONFIG = 127, /* Port config */
NETDEV_LOG_MAIN_TYPE_PORTMAPPING_CONFIG = 128, /* Port mapping */
NETDEV_LOG_MAIN_TYPE_EMAIL_CONFIG = 129, /* Email config */
NETDEV_LOG_MAIN_TYPE_GBSERVER_CONFIG = 130, /* GB server config */
NETDEV_LOG_MAIN_TYPE_GBT28181_LOCAL_CONFIG = 131, /* GB local config */
NETDEV_LOG_MAIN_TYPE_UNP_CLIENT_CONFIG = 132, /* UNP client config */
NETDEV_LOG_MAIN_TYPE_UNP_SERVER_CONFIG = 133, /* UNP server config */
NETDEV_LOG_MAIN_TYPE_STATIC_ROUTE_CONFIG = 134, /* Static route operation */
NETDEV_LOG_MAIN_TYPE_802DOT1X_CONFIG = 135, /* 802.1x config */
NETDEV_LOG_MAIN_TYPE_ARP_CONFIG = 136, /* ARP config */
NETDEV_LOG_MAIN_TYPE_HTTPS_CONFIG = 137, /* HTTPS config */
NETDEV_LOG_MAIN_TYPE_TELNET_CONFIG = 138, /* Telnet config */
NETDEV_LOG_MAIN_TYPE_SECURITY_PSW_CONFIG = 139, /* Security password config */
NETDEV_LOG_MAIN_TYPE_IP_FILTER_RULE_CONFIG = 140, /* IP filtering rule config */
NETDEV_LOG_MAIN_TYPE_MAINTENANCE_CONFIG = 141, /* System maintenance */
NETDEV_LOG_MAIN_TYPE_SET_MAX_LOG_RETENTION_TIME = 142, /* Log retention time config */
NETDEV_LOG_MAIN_TYPE_STREAM_TRANSMISSION_POLICY_CONFIG = 143, /* Media stream transmission
policy config */
NETDEV_LOG_MAIN_TYPE_BATCH_CONFIG = 144, /* Batch config */
NETDEV_LOG_MAIN_TYPE_RAIDMODE_CONFIG = 145, /* RAID mode config */
NETDEV_LOG_MAIN_TYPE_ARRAY_CONFIG = 146, /* Array config */
NETDEV_LOG_MAIN_TYPE_DISK_MANAGEMENT_CONFIG = 147, /* HDD management */
NETDEV_LOG_MAIN_TYPE_CHANNEL_SPACE_CONFIG = 148, /* Channel space config */
NETDEV_LOG_MAIN_TYPE_OVER_WRITE_POLICY_CONFIG = 149, /* Overwrite policy config */
NETDEV_LOG_MAIN_TYPE_DISKTEST_CONFIG = 150, /* HDD test config */
NETDEV_LOG_MAIN_TYPE_NET_DISK_CONFIG = 151, /* NAS config */
NETDEV_LOG_MAIN_TYPE_RECORDING_SCHEDULE_CONFIG = 152, /* Recording schedule config */
NETDEV_LOG_MAIN_TYPE_RECORDING_TIME_TEMPLATE_CONFIG = 153, /* Recording time template config */
NETDEV_LOG_MAIN_TYPE_ALARM_CONFIG = 154, /* Alarm config */
NETDEV_LOG_MAIN_TYPE_ALARM_TIMETEMPLATE_CONFIG = 155, /* Alarm time template config */
NETDEV_LOG_MAIN_TYPE_CONTACT_CONFIG = 156, /* Contact config */
NETDEV_LOG_MAIN_TYPE_ALARM_TO_VIDEO_WALL_CONFIG = 157, /* Alarm triggered video to video wall
config */
NETDEV_LOG_MAIN_TYPE_VIDEO_WALL_SCENE_CONFIG = 158, /* Video wall scene config */
NETDEV_LOG_MAIN_TYPE_VIDEO_WALL_WINDOW_CONFIG = 159, /* Video wall window config */
NETDEV_LOG_MAIN_TYPE_VIDEO_WALL_VIRTUALLED_CONFIG = 160, /* Video wall virtual LED config */
NETDEV_LOG_MAIN_TYPE_EXTERNAL_ALARM_CONFIG = 161, /* Emergency bell config */
NETDEV_LOG_MAIN_TYPE_DISK_GROUP_CONFIG = 162, /* Disk group config */
NETDEV_LOG_MAIN_TYPE_BK_PLAN_CONFIG = 163, /* Backup schedule config */

627 / 767
Network Device SDK (Windows) User Manual
NETDEV_LOG_MAIN_TYPE_BK_TASK_CONFIG = 164, /* Backup task */
NETDEV_LOG_MAIN_TYPE_LOCAL_BK_TASKCONFIG = 165, /* Local backup task */
NETDEV_LOG_MAIN_TYPE_TVWALL_AUDIO_CONFIG = 166, /* Video wall audio output config */
NETDEV_LOG_MAIN_TYPE_LIVEVIEW = 167, /* Live view operation */
NETDEV_LOG_MAIN_TYPE_PLAYBACK = 168, /* Recording playback operation */
NETDEV_LOG_MAIN_TYPE_TWO_WAY_AUDIO = 169, /* Audio operation */
NETDEV_LOG_MAIN_TYPE_PTZ = 170, /* PTZ operation */
NETDEV_LOG_MAIN_TYPE_DOWNLOAD = 171, /* Download operation */
NETDEV_LOG_MAIN_TYPE_LIVEVIEW_ON_VIDEO_WALL = 172, /* Live view on video wall */
NETDEV_LOG_MAIN_TYPE_PLAYBACK_ON_VIDEO_WALL = 173, /* Playback on video wall */
NETDEV_LOG_MAIN_TYPE_EMAP_OPERATION = 174, /* E-map operation */
NETDEV_LOG_MAIN_TYPE_DC_SEQUENCE_OPERATION = 175, /* DC sequence operation */
NETDEV_LOG_MAIN_TYPE_VIDEO_WALL_PLAYING_BY_NETWROK_KEYPAD = 176, /* Play live video on video
wall using network keyboard */
NETDEV_LOG_MAIN_TYPE_ALARM_TO_VIDEO_WALL = 177, /* Alarm linkage to video wall */
NETDEV_LOG_MAIN_TYPE_ALARM_SUBSCRIPTION = 178, /* Alarm subscription */
NETDEV_LOG_MAIN_TYPE_PRESET_PATROL_CONFIG = 179, /* Preset patrol config */
NETDEV_LOG_MAIN_TYPE_AUTOGUARD_CONFIG = 180, /* Auto guard config */
NETDEV_LOG_MAIN_TYPE_RECORDED_PATROL_CONFIG = 181, /* Recorded patrol config */
NETDEV_LOG_MAIN_TYPE_ACCESS_CONTROL_PERSONNEL_MANAGEMENT = 182, /* Access control personnel
management */
NETDEV_LOG_MAIN_TYPE_ACCESS_CONTROL_CARD_MANAGEMENT = 183, /* Access control card management */
NETDEV_LOG_MAIN_TYPE_ZONE_OPERATION = 184, /* Alarm zone operation */
NETDEV_LOG_MAIN_TYPE_ACCESS_CONTROL_DOOR = 185, /* Door operation */
NETDEV_LOG_MAIN_TYPE_TRIGGER_ALARMOUTPUT = 186, /* Trigger alarm output */
NETDEV_LOG_MAIN_TYPE_CENTER_RECORD = 187, /* Central recording */
NETDEV_LOG_MAIN_TYPE_FACE_LIBRARY_OPERATION = 188, /* Face library operation */
NETDEV_LOG_MAIN_TYPE_FACE_MEMBER_OPERATION = 189, /* Face member operation */
NETDEV_LOG_MAIN_TYPE_FACE_CUSTOM_OPERATION = 190, /* Custom face attributes */
NETDEV_LOG_MAIN_TYPE_FACE_MEMBER_SORT_OPERATION = 191, /* Face member assignment */
NETDEV_LOG_MAIN_TYPE_FACE_MONITORING_TASKO_PERATION = 192, /* Face monitoring */
NETDEV_LOG_MAIN_TYPE_VEHICLE_LIBRARY_OPERATION = 193, /* Vehicle library operation */
NETDEV_LOG_MAIN_TYPE_VEHICLE_MEMBER_SORT_OPERATION = 194, /* Vehicle member assignment */
NETDEV_LOG_MAIN_TYPE_VEHICLE_MEMBER_OPERATION = 195, /* Vehicle member operation */
NETDEV_LOG_MAIN_TYPE_CAP_PAC_TASK = 196, /* Capture packets */
NETDEV_LOG_MAIN_TYPE_RECORD_BK_CONFIG = 197, /* Recording backup */
NETDEV_LOG_MAIN_TYPE_USB_OPERATION = 198, /* USB flash drive operation
*/
NETDEV_LOG_MAIN_TYPE_VEHICLE_MONITORING_TASK_OPERATION = 199, /* Vehicle monitoring */
NETDEV_LOG_MAIN_TYPE_PERMISSION_ASSIGNMENT_OPERATION = 200, /* Permission assignment */
NETDEV_LOG_MAIN_TYPE_INVALID = 0xFFFF /* Invalid value */
}NETDEV_LOG_MAIN_TYPE_E;

4.28.38 Enumeration of log sub types

typedefenumtagNETDEVLogSubType
628 / 767
Network Device SDK (Windows) User Manual
{
NETDEV_LOG_ALL_SUB_TYPES =0x0101, /* All informational logs */
/* Informational logs */
NETDEV_LOG_MSG_HDD_INFO =300, /* HDD info */
NETDEV_LOG_MSG_SMART_INFO =301, /* S.M.A.R.T info */
NETDEV_LOG_MSG_REC_OVERDUE =302, /* Delete expired recording */
NETDEV_LOG_MSG_PIC_REC_OVERDUE =303, /* Delete expired image */
/* Notification logs */
NETDEV_LOG_NOTICE_IPC_ONLINE =310, /* Device online */
NETDEV_LOG_NOTICE_IPC_OFFLINE =311, /* Device offline */
NETDEV_LOG_NOTICE_ARRAY_RECOVER =312, /* Array recovered */
NETDEV_LOG_NOTICE_INIT_ARRARY =313, /* Array initialized */
NETDEV_LOG_NOTICE_REBUILD_ARRARY =314, /* Array rebuilt */
NETDEV_LOG_NOTICE_POE_PORT_STATUS =315, /* PoE port status */
NETDEV_LOG_NOTICE_NETWORK_PORT_STATUS =316, /* Network port status */
NETDEV_LOG_NOTICE_DISK_ONLINE =317, /* HDD online */
/* Sub log ID of alarm logs */
NETDEV_LOG_ALARM_MOTION_DETECT =350, /* Motion detection alarm */
NETDEV_LOG_ALARM_MOTION_DETECT_RESUME =351, /* Motion detection alarm cleared */
NETDEV_LOG_ALARM_VIDEO_LOST =352, /* Video loss alarm */
NETDEV_LOG_ALARM_VIDEO_LOST_RESUME =353, /* Video loss alarm cleared */
NETDEV_LOG_ALARM_VIDEO_TAMPER_DETECT =354, /* Tamper detection alarm */
NETDEV_LOG_ALARM_VIDEO_TAMPER_RESUME =355, /* Tamper detection alarm cleared */
NETDEV_LOG_ALARM_INPUT_SW =356, /* Alarm input (input switch alarm) */
NETDEV_LOG_ALARM_INPUT_SW_RESUME =357, /* Alarm input cleared (input switch
alarm cleared) */
NETDEV_LOG_ALARM_IPC_ONLINE =358, /* Device online */
NETDEV_LOG_ALARM_IPC_OFFLINE =359, /* Device offline */
NETDEV_LOG_ALARM_AUDIO_DETECTION_START =360, /* Audio detection started */
NETDEV_LOG_ALARM_AUDIO_DETECTION_END =361, /* Audio detection ended */
NETDEV_LOG_ALARM_CROSS_LINE_DETECT =362, /* Cross line detection alarm */
NETDEV_LOG_ALARM_FACE_DETECT =363, /* Face detection alarm */
NETDEV_LOG_ALARM_INTRUSION_DETECT =364, /* Intrusion detection alarm */
NETDEV_LOG_ALARM_POS =365, /* POS alarm */
NETDEV_LOG_ALARM_IMAGETOOBLURRY_ON =366, /* Defocus detection started */
NETDEV_LOG_ALARM_IMAGETOOBLURRY_OFF =367, /* Defocus detection ended */
NETDEV_LOG_ALARM_GLOBAL_SCENE_CHANGE =368, /* Scene change detection */
NETDEV_LOG_ALARM_AUTO_TRACK_ON =369, /* Auto track started */
NETDEV_LOG_ALARM_AUTO_TRACK_OFF =370, /* Auto track ended */
NETDEV_LOG_ALARM_CONFLAGRATION_ON =371, /* Fire alarm */
NETDEV_LOG_ALARM_CONFLAGRATION_OFF =372, /* Fire alarm ended */
NETDEV_LOG_ALARM_HUMAN_SHAPE_DETECT_ON =373, /* Human body detection */
NETDEV_LOG_ALARM_HUMAN_SHAPE_DETECT_OFF =374, /* Human body detection ended */
NETDEV_LOG_ALARM_ENTERAREA =375, /* Enter area */
NETDEV_LOG_ALARM_LEAVEAREA =376, /* Leave area */

629 / 767
Network Device SDK (Windows) User Manual
/* Subtype exception logs */
NETDEV_LOG_EXCEP_DISK_ONLINE =400, /* HDD online */
NETDEV_LOG_EXCEP_DISK_OFFLINE =401, /* HDD offline */
NETDEV_LOG_EXCEP_DISK_ERR =402, /* HDD error */
NETDEV_LOG_EXCEP_STOR_ERR =403, /* Storage error */
NETDEV_LOG_EXCEP_STOR_ERR_RECOVER =404, /* Storage error cleared */
NETDEV_LOG_EXCEP_STOR_DISOBEY_PLAN =405, /* Scheduled recording failure */
NETDEV_LOG_EXCEP_STOR_DISOBEY_PLAN_RECOVER =406, /* Schedule recording failure cleared */
NETDEV_LOG_EXCEP_ILLEGAL_ACCESS =407, /* Illegal access */
NETDEV_LOG_EXCEP_IP_CONFLICT =408, /* IP address conflict */
NETDEV_LOG_EXCEP_NET_BROKEN =409, /* Network disconnection */
NETDEV_LOG_EXCEP_PIC_REC_ERR =410, /* Snapshot error. Failed to get
image file */
NETDEV_LOG_EXCEP_VIDEO_EXCEPTION =411, /* Video input exception (analog channel
only) */
NETDEV_LOG_EXCEP_VIDEO_MISMATCH =412, /* Video format mismatch */
NETDEV_LOG_EXCEP_RESO_MISMATCH =413, /* Encoding resolution mismatched with
front end */
NETDEV_LOG_EXCEP_TEMP_EXCE =414, /* Temperature exception */
NETDEV_LOG_EXCEP_RUNOUT_RECORD_SPACE =415, /* Running out of recording space */
NETDEV_LOG_EXCEP_RUNOUT_IMAGE_SPACE =416, /* Running out of image space */
NETDEV_LOG_EXCEP_OUT_RECORD_SPACE =417, /* Recording space used up */
NETDEV_LOG_EXCEP_OUT_IMAGE_SPACE =418, /* Image space used up */
NETDEV_LOG_EXCEP_ANRIDISASSEMBLY =419, /* Anti-disassembly alarm */
NETDEV_LOG_EXCEP_ANRIDISASSEMBLY_RECOVER =420, /* Anti-disassembly alarm cleared */
NETDEV_LOG_EXCEP_ARRAY_DAMAGE =421, /* Array damaged */
NETDEV_LOG_EXCEP_ARRAY_DEGRADE =422, /* Array degraded */
NETDEV_LOG_EXCEP_RECORD_SNAPSHOT_ABNOR =423, /* Recording/snapshot abnormal */
NETDEV_LOG_EXCEP_NET_BROKEN_RECOVER =424, /* Network disconnection cleared */
NETDEV_LOG_EXCEP_IP_CONFLICT_RECOVER =425, /* IP address conflict cleared */
NETDEV_LOG_EXCEP_DEVICE_HIGHTEMP =426, /* Device high temperature alarm */
NETDEV_LOG_EXCEP_DEVICE_LOWTEMP =427, /* Device low temperature alarm */
NETDEV_LOG_EXCEP_DEVICE_HIGHTEMP_RECOVER =428, /* Device high temperature alarm cleared */
NETDEV_LOG_EXCEP_DEVICE_LOWTEMP_RECOVER =429, /* Device low temperature alarm cleared */
NETDEV_LOG_EXCEP_FAN_FAULT =430, /* Device fan fault */
NETDEV_LOG_EXCEP_FAN_FAULT_RECOVER =431, /* Device fan fault cleared */
NETDEV_LOG_EXCEP_LEDBOX_HIGHTEMP =432, /* Device LED box high temperature */
NETDEV_LOG_EXCEP_LEDBOX_HIGHTEMP_RECOVER =433, /* Device LED box high temperature cleared
*/
NETDEV_LOG_EXCEP_LEDBOX_SMOKE =434, /* Device LED box smoke alarm */
NETDEV_LOG_EXCEP_LEDBOX_SMOKE_RECOVER =435, /* Device LED box smoke alarm cleared */
/* Sub logs of operation logs */
/* Services */
NETDEV_LOG_OPSET_LOGIN =450, /* User login */
NETDEV_LOG_OPSET_LOGOUT =451, /* User logout */

630 / 767
Network Device SDK (Windows) User Manual
NETDEV_LOG_OPSET_USER_ADD =452, /* Add user */
NETDEV_LOG_OPSET_USER_DEL =453, /* Delete user */
NETDEV_LOG_OPSET_USER_MODIFY =454, /* Edit user */
NETDEV_LOG_OPSET_START_REC =455, /* Start recording */
NETDEV_LOG_OPSET_STOP_REC =456, /* Stop recording */
NETDEV_LOG_OPSETR_PLAY_DOWNLOAD =457, /* Playback/download */
NETDEV_LOG_OPSET_DOWNLOAD =458, /* Download */
NETDEV_LOG_OPSET_PTZCTRL =459, /* PTZ control */
NETDEV_LOG_OPSET_PREVIEW =460, /* Live view */
NETDEV_LOG_OPSET_REC_TRACK_START =461, /* Start recording patrol route */
NETDEV_LOG_OPSET_REC_TRACK_STOP =462, /* Stop recording patrol route */
NETDEV_LOG_OPSET_START_TALKBACK =463, /* Start two-way audio */
NETDEV_LOG_OPSET_STOP_TALKBACK =464, /* Stop two-way audio */
NETDEV_LOG_OPSET_IPC_ADD =465, /* Add IPC */
NETDEV_LOG_OPSET_IPC_DEL =466, /* Delete IPC */
NETDEV_LOG_OPSET_IPC_SET =467, /* Set IPC */
NETDEV_LOG_OPSET_IPC_QUICK_ADD =468, /* Quick add IPC */
NETDEV_LOG_OPSET_IPC_ADD_BY_NETWORK =469, /* Add IPC by network segment */
NETDEV_LOG_OPSET_IPC_MOD_IP =470, /* Edit IPC’s network address */
/* Configuration */
NETDEV_LOG_OPSET_DEV_BAS_CFG =500, /* Config device basic info */
NETDEV_LOG_OPSET_TIME_CFG =501, /* Config device time */
NETDEV_LOG_OPSET_SERIAL_CFG =502, /* Config device serial port */
NETDEV_LOG_OPSET_CHL_BAS_CFG =503, /* Config channel basic info */
NETDEV_LOG_OPSET_CHL_NAME_CFG =504, /* Config channel name */
NETDEV_LOG_OPSET_CHL_ENC_VIDEO =505, /* Config video encoding parameters */
NETDEV_LOG_OPSET_CHL_DIS_VIDEO =506, /* Config channel’s video display
parameters */
NETDEV_LOG_OPSET_PTZ_CFG =507, /* Config PTZ */
NETDEV_LOG_OPSET_CRUISE_CFG =508, /* Config patrol route */
NETDEV_LOG_OPSET_PRESET_CFG =509, /* Config preset */
NETDEV_LOG_OPSET_VIDPLAN_CFG =510, /* Config recording schedule */
NETDEV_LOG_OPSET_MOTION_CFG =511, /* Config motion detection */
NETDEV_LOG_OPSET_VIDLOSS_CFG =512, /* Config video loss */
NETDEV_LOG_OPSET_COVER_CFG =513, /* Config video tampering */
NETDEV_LOG_OPSET_MASK_CFG =514, /* Config privacy mask */
NETDEV_LOG_OPSET_SCREEN_OSD_CFG =515, /* Config OSD */
NETDEV_LOG_OPSET_ALARMIN_CFG =516, /* Config alarm input */
NETDEV_LOG_OPSET_ALARMOUT_CFG =517, /* Config alarm output */
NETDEV_LOG_OPSET_ALARMOUT_OPEN_MAN =518, /* Manually enable alarm output (local
interface) */
NETDEV_LOG_OPSET_ALARMOUT_CLOSE_MAN =519, /* Manually disable alarm output (local
interface) */
NETDEV_LOG_OPSET_ABNORMAL_CFG =520, /* Config alert */
NETDEV_LOG_OPSET_HDD_CFG =521, /* Config HDD */

631 / 767
Network Device SDK (Windows) User Manual
NETDEV_LOG_OPSET_NET_IP_CFG =522, /* Config TCP/IP */
NETDEV_LOG_OPSET_NET_PPPOE_CFG =523, /* Config PPPoE */
NETDEV_LOG_OPSET_NET_PORT_CFG =524, /* Config port */
NETDEV_LOG_OPSET_NET_DDNS_CFG =525, /* Config DDNS */
NETDEV_LOG_OPSET_AUDIO_DETECT =527, /* Config audio detection */
NETDEV_LOG_OPSET_SEARCH_EX_DISK =528, /* Search expansion HDD */
NETDEV_LOG_OPSET_ADD_EX_DISK =529, /* Add expansion HDD */
NETDEV_LOG_OPSET_DEL_EX_DISK =530, /* Delete expansion HDD */
NETDEV_LOG_OPSET_SET_EX_DISK =531, /* Config expansion HDD */
NETDEV_LOG_OPSET_LIVE_BY_MULTICAST =532, /* Live view by multicast */
NETDEV_LOG_OPSET_BISC_DEV_INFO =533, /* Config device basic info */
NETDEV_LOG_OPSET_PREVIEW_CFG =534, /* Config local preview */
NETDEV_LOG_OPSET_SET_EMAIL =535, /* Config email */
NETDEV_LOG_OPSET_TEST_EMAIL =536, /* Test email */
NETDEV_LOG_OPSET_SET_IPCONTROL =537, /* Config IP permission */
NETDEV_LOG_OPSET_PORT_MAP =538, /* Config port mapping */
NETDEV_LOG_OPSET_ADD_TAG =539, /* Add recording tag */
NETDEV_LOG_OPSET_DEL_TAG =540, /* Delete recording tag */
NETDEV_LOG_OPSET_MOD_TAG =541, /* Edit recording tag */
NETDEV_LOG_OPSET_LOCK_RECORD =542, /* Lock recording */
NETDEV_LOG_OPSET_UNLOCK_RECORD =543, /* Unlock recording */
NETDEV_LOG_OPSET_DDNS_UPDATE_SUCCESS =545, /* DDNS updated */
NETDEV_LOG_OPSET_DDNS_INCORRECT_ID =546, /* DDNS update failed, incorrect username or
password */
NETDEV_LOG_OPSET_DDNS_DOMAIN_NAME_NOT_EXIST =547, /* DDNS update failed, domain name does not
exist */
NETDEV_LOG_OPSET_DDNS_UPDATE_FAIL =548, /* DDNS update failed */
NETDEV_LOG_OPSET_HTTP_CFG =549, /* Config HTTPS */
NETDEV_LOG_OPSET_IP_OFFLINE_ALARM_CFG =550, /* Config IPC offline alarm */
NETDEV_LOG_OPSET_TELNET_CFG =551, /* Config Telnet */
NETDEV_LOG_OPSET_TEST_DDNS_DOMAIN =552, /* Test DDNS domain name */
NETDEV_LOG_OPSET_DDNS_DOMAIN_CONFLICT =553, /* DDNS domain name conflict */
NETDEV_LOG_OPSET_DDNS_DOMAIN_INVALID =554, /* DDNS domain name is invalid */
NETDEV_LOG_OPSET_DEL_PRESET =555, /* Delete preset */
NETDEV_LOG_OPSET_PTZ_3D_POSITION =556, /* 3D positioning */
NETDEV_LOG_OPSET_SNAPSHOT_SCHEDULE_CFG =557, /* Config snapshot schedule */
NETDEV_LOG_OPSET_IMAGE_UPLOAD_SCHEDULE_CFG =558, /* Config image upload schedule */
NETDEV_LOG_OPSET_FTP_CFG =559, /* Config FTP server */
NETDEV_LOG_OPSET_TEST_FTP_SERVER =560, /* Test FTP server connectivity */
NETDEV_LOG_OPSET_START_MANUAL_SNAPSHOT =561, /* Start manual snapshot */
NETDEV_LOG_OPSET_CLOSE_MANUAL_SNAPSHOT =562, /* Stop manual snapshot */
NETDEV_LOG_OPSET_SNAPSHOT_CFG =563, /* Config snapshot parameters */
NETDEV_LOG_OPSET_ADD_HOLIDAY =564, /* Add holidy */
NETDEV_LOG_OPSET_DEL_HOLIDAY =565, /* Delete holiday */
NETDEV_LOG_OPSET_MOD_HOLIDAY =566, /* Edit holiday */

632 / 767
Network Device SDK (Windows) User Manual
NETDEV_LOG_OPSET_ONOFF_HOLIDAY =567, /* Enable/disable holiday */
NETDEV_LOG_OPSET_ALLOCATE_SPACE =568, /* Allocate space */
NETDEV_LOG_OPSET_HDD_FULL_POLICY_CFG =569, /* Configure overwrite policy */
NETDEV_LOG_OPSET_AUDIO_STREAM_CFG =570, /* Config audio stream */
NETDEV_LOG_OPSET_ARRAY_PROPERTY_CFG =571, /* Config array property */
NETDEV_LOG_OPSET_HOT_SPACE_DISK_CFG =572, /* Config hot spare HDD */
NETDEV_LOG_OPSET_CREAT_ARRAY =573, /* Create array manually */
NETDEV_LOG_OPSET_ONE_CLICK_CREAT_ARRAY =574, /* One-click to create array */
NETDEV_LOG_OPSET_REBUILD_ARRAY =575, /* Rebuild array */
NETDEV_LOG_OPSET_DEL_ARRAY =576, /* Delete array */
NETDEV_LOG_OPSET_ENABLE_RAID =577, /* Enable RAID mode */
NETDEV_LOG_OPSET_DISABLE_RAID =578, /* Disable RAID mode */
NETDEV_LOG_OPSET_TEST_SMART =579, /* S.M.A.R.T test */
NETDEV_LOG_OPSET_SMART_CFG =580, /* Config S.M.A.R.T. */
NETDEV_LOG_OPSET_BAD_SECTOR_DETECT =581, /* Detect bad sectors */
NETDEV_LOG_OPSET_AUDIO_ALARM_DURATION =582, /* Config alarm sound duration */
NETDEV_LOG_OPSET_CLR_AUDIO_ALARM =583, /* Clear alarm sound */
NETDEV_LOG_OPSET_IPC_TIME_SYNC_CFG =584, /* Config camera time sync */
NETDEV_LOG_OPSET_ENABLE_DISK_GROUP =585, /* Enable disk group */
NETDEV_LOG_OPSET_DISABLE_DISK_GRRUOP =586, /* Disable disk group */
NETDEV_LOG_OPSET_ONVIF_AUTH_CFG =587, /* Config ONVIF authentication */
NETDEV_LOG_OPSET_8021X_CFG =588, /* Config 802.1X */
NETDEV_LOG_OPSET_ARP_PROTECTION_CFG =589, /* Config ARP protection */
NETDEV_LOG_OPSET_SMART_BASIC_INFO_CFG =590, /* Config smart alarm basic info */
NETDEV_LOG_OPSET_CROSS_LINE_DETECT_CFG =591, /* Config cross line detection */
NETDEV_LOG_OPSET_INSTRUSION_DETECT_CFG =592, /* Config intrusion detection */
NETDEV_LOG_OPSET_PEOPLE_COUNT_CFG =593, /* Config people counting */
NETDEV_LOG_OPSET_FACE_DETECT_CFG =594, /* Config face detection */
NETDEV_LOG_OPSET_FISHEYE_CFG =595, /* Config fisheye */
NETDEV_LOG_OPSET_CUSTOM_PROTOCOL_CFG =596, /* Config custom protocol */
NETDEV_LOG_OPSET_BEHAVIOR_SEARCH =597, /* Behavior search */
NETDEV_LOG_OPSET_FACE_SEARCH =598, /* Face search */
NETDEV_LOG_OPSET_PEOPLE_COUNT =599, /* People counting */
/* Maintenance */
NETDEV_LOG_OPSET_START_DVR =600, /* Start device */
NETDEV_LOG_OPSET_STOP_DVR =601, /* Stop device */
NETDEV_LOG_OPSET_REBOOT_DVR =602, /* Restart device */
NETDEV_LOG_OPSET_UPGRADE =603, /* Upgrade version */
NETDEV_LOG_OPSET_LOGFILE_EXPORT =604, /* Export log file */
NETDEV_LOG_OPSET_CFGFILE_EXPORT =605, /* Export configuration file */
NETDEV_LOG_OPSET_CFGFILE_IMPORT =606, /* Import configuration file */
NETDEV_LOG_OPSET_CONF_SIMPLE_INIT =607, /* Restore defaults */
NETDEV_LOG_OPSET_CONF_ALL_INIT =608, /* Restore factory defaults */
NETDEV_LOG_OPSET_VCA_BACKUP =700, /* VCA backup */
NETDEV_LOG_OPSET_3G4G_CFG =701, /* Config 3G/4G */

633 / 767
Network Device SDK (Windows) User Manual
NETDEV_LOG_OPSET_MOUNT_EXTENDED_DISK =702, /* Mount expansion HDD */
NETDEV_LOG_OPSET_UNMOUNT_EXTENDED_DISK =703, /* Unmount expansion HDD */
NETDEV_LOG_OPSET_FORCE_USER_OFFLINE =704, /* Force user offline */
NETDEV_LOG_OPSET_AUTO_FUNCTION =709, /* Automatic maintenance */
NETDEV_LOG_OPSET_IPC_UPRAGDE =710, /* Upgrade camera */
NETDEV_LOG_OPSET_RESTORE_IPC_DEFAULTS =711, /* Restore camera defaults */
NETDEV_LOG_OPSET_ADD_TRANSACTION =712, /* Add transaction */
NETDEV_LOG_OPSET_MOD_TRANSACTION =713, /* Edit transaction */
NETDEV_LOG_OPSET_DEL_TRANSACTION =714, /* Delete transaction */
NETDEV_LOG_OPSET_POS_OSD =715, /* Config POS display */
NETDEV_LOG_OPSET_ADD_HOT_SPACE_DEV =716, /* Add hot spare device */
NETDEV_LOG_OPSET_DEL_HOT_SPACE_DEV =717, /* Delete hot spare device */
NETDEV_LOG_OPSET_MOD_HOT_SPACE_DEV =718, /* Edit hot spare device */
NETDEV_LOG_OPSET_DEL_WORK_DEV =719, /* Delete working device */
NETDEV_LOG_OPSET_WORKMODE_TO_NORMAL_CFG =720, /* Set working mode */
NETDEV_LOG_OPSET_WORKMODE_TO_HOTSPACE_CFG =721, /* Set hot spare mode */
NETDEV_LOG_OPSET_AUTO_GUARD_CFG =723, /* Config auto guard */
NETDEV_LOG_OPSET_MULTICAST_CFG =724, /* Config multicast */
NETDEV_LOG_OPSET_DEFOCUS_DETECT_CFG =725, /* Config defocus detection */
NETDEV_LOG_OPSET_SCENECHANGE_CFG =726, /* Config scene change detection */
NETDEV_LOG_OPSET_AUTO_TRCAK_CFG =727, /* Config auto track */
NETDEV_LOG_OPSET_SORT_CAMERA_CFG =728, /* Sort channels */
NETDEV_LOG_OPSET_WATER_MARK_CFG =729, /* Config video watermark */
/* Subtype operation logs of VMS */
NETDEV_LOG_VMS_OPRERATE_SUB_ALL =1000, /* All sub types */
NETDEV_LOG_VMS_OPRERATE_SUB_USER_LOGIN =1001, /* User login */
NETDEV_LOG_VMS_OPRERATE_SUB_USER_LOGOUT =1002, /* User logout */
NETDEV_LOG_VMS_OPRERATE_SUB_USER_START_OPERATION =1003, /* User start */
NETDEV_LOG_VMS_OPRERATE_SUB_USER_STOP_OPERATION =1004, /* User stop */
NETDEV_LOG_VMS_OPRERATE_SUB_NEW_CONFIG =1005, /* Add configuration */
NETDEV_LOG_VMS_OPRERATE_SUB_EDIT_CONFIG =1006, /* Edit configuration */
NETDEV_LOG_VMS_OPRERATE_SUB_DELETE_CONFIG =1007, /* Delete configuration */
NETDEV_LOG_VMS_OPRERATE_SUB_ENABLE_CONFIG =1008, /* Enable configuration */
NETDEV_LOG_VMS_OPRERATE_SUB_DISABLE_CONFIG =1009, /* Disable configuration */
NETDEV_LOG_VMS_OPRERATE_SUB_TEST_CONFIG =1010, /* Test configuration */
NETDEV_LOG_VMS_OPRERATE_SUB_OPEN_DOOR =1011, /* Open door */
NETDEV_LOG_VMS_OPRERATE_SUB_CLOSE_DOOR =1012, /* Close door */
NETDEV_LOG_VMS_OPRERATE_SUB_SARM =1013, /* Arm */
NETDEV_LOG_VMS_OPRERATE_SUB_DISARM =1014, /* Disarm */
NETDEV_LOG_VMS_OPRERATE_SUB_BYPASS =1015, /* Bypass */
NETDEV_LOG_VMS_OPRERATE_SUB_UNBYPASS =1016, /* Unbypass */
NETDEV_LOG_VMS_OPRERATE_SUB_SHARE_DEVICE =1017, /* Share cloud device */
NETDEV_LOG_VMS_OPRERATE_SUB_UN_SHARE_DEVICE =1018, /* Cancel sharing */
NETDEV_LOG_VMS_OPRERATE_SUB_START_CAP_PAC_TASK =1019, /* Start packet capturing task */
NETDEV_LOG_VMS_OPRERATE_SUB_STOP_CAP_PAC_TASK =1020, /* Stop packet capturing task */

634 / 767
Network Device SDK (Windows) User Manual
NETDEV_LOG_VMS_OPRERATE_SUB_DELETE_CAPPAC_TASK=1021, /* Delete packet capturing task */
NETDEV_LOG_VMS_OPRERATE_SUB_USB_INSERT =1022, /* Insert USB disk*/
NETDEV_LOG_VMS_OPRERATE_SUB_USB_PULL_OUT =1023, /* Remove USB disk */
NETDEV_LOG_VMS_OPRERATE_SUB_USB_FORMAT =1024, /* Format USB disk */
NETDEV_LOG_VMS_OPRERATE_SUB_SYNC_DEV_CHL_INFO =1025, /* Sync device channel info */
NETDEV_LOG_VMS_OPRERATE_SUB_PLAYBACK_LOCK =1026, /* Lock recording */
NETDEV_LOG_VMS_OPRERATE_SUB_PLAYBACK_UNLOCK =1027 /* Unlock recording */
}NETDEV_LOG_SUB_TYPE_E;

4.28.39 Enumeration of alarm types

typedef enum tagNETDEVFindAlarmTypeEn


{
NETDEV_FIND_ALARM_DISK_STORAGE_IS_FULL = 1, /* Storage full */
NETDEV_FIND_ALARM_DISK_STORAGE_WILL_FULL = 2, /* Running out of storage*/
NETDEV_FIND_ALARM_STOR_ERR = 3, /* Storage error */
NETDEV_FIND_ALARM_STOR_ERR_RECOVER = 4, /* Storage error cleared */
NETDEV_FIND_ALARM_MOVE_DETECT = 5, /* Motion detection alarm */
NETDEV_FIND_ALARM_MOVE_DETECT_RECOVER = 6, /* Motion detection alarm cleared */
NETDEV_FIND_ALARM_VIDEO_TAMPER_DETECT = 7, /* Tampering detection alarm */
NETDEV_FIND_ALARM_VIDEO_TAMPER_RECOVER = 8, /* Tampering detection alarm cleared */
NETDEV_FIND_ALARM_INPUT_SWITCH = 9, /* Alarm input (input switch alarm)
*/
NETDEV_FIND_ALARM_INPUT_SWITCH_RECOVER = 10, /* Alarm input cleared (input switch alarm)
*/
NETDEV_FIND_ALARM_BAND_CHANGE = 11, /* Device’s egress bandwidth changed */
NETDEV_FIND_ALARM_IMAGE_BLURRY = 12, /* Image defocus */
NETDEV_FIND_ALARM_IMAGE_BLURRY_RECOVER = 13, /* Blurry image cleared */
NETDEV_FIND_ALARM_SCENE_CHANGE = 14, /* Scene change */
NETDEV_FIND_ALARM_ILLEGAL_ACCESS = 15, /* Illegal access */
NETDEV_FIND_ALARM_REPORT_DEV_ONLINE = 16, /* Device online */
NETDEV_FIND_ALARM_REPORT_DEV_OFFLINE = 17, /* Device offline */
NETDEV_FIND_ALARM_REPORT_DEV_VIDEO_LOSS = 18, /* Video loss */
NETDEV_FIND_ALARM_REPORT_DEV_VIDEO_LOSS_RECOVER = 19, /* Video loss cleared */
NETDEV_FIND_ALARM_COUNT_PEOPLE = 20, /* People counting */
NETDEV_FIND_ALARM_HEAT_MAP = 21, /* Heatmap */
NETDEV_FIND_ALARM_LINE_DETECTOR = 22, /* Tripwire alarm */
NETDEV_FIND_ALARM_CELL_MOTION = 23, /* Smart motion detection */
NETDEV_FIND_ALARM_LINE_CROSS = 24, /* Cross line detection */
NETDEV_FIND_ALARM_OBJECTS_INSIDE = 25, /* Intrusion detection */
NETDEV_FIND_ALARM_ACCESSZONE = 26, /* Enter area alarm */
NETDEV_FIND_ALARM_LEAVE_ZONE = 27, /* Leave area alarm */
NETDEV_FIND_ALARM_HOVER_ZONE = 28, /* Loitering alarm */
NETDEV_FIND_ALARM_OVER_ZONE = 29, /* Crossing fence alarm */
NETDEV_FIND_ALARM_CARE_ARTICLE = 30, /* Object watching alarm */
NETDEV_FIND_ALARM_REMAIN_ARTICLE = 31, /* Object left behind alarm */
635 / 767
Network Device SDK (Windows) User Manual
NETDEV_FIND_ALARM_FACE_DETECTOR = 32, /* Face detection */
NETDEV_FIND_ALARM_GATHER = 33, /* People gathering alarm */
NETDEV_FIND_ALARM_GATHER_RECOVER = 34, /* People gathering alarm cleared */
NETDEV_FIND_ALARM_FAST_MOVE = 35, /* Quick moving */
NETDEV_FIND_ALARM_ILLEGAL_PARKED = 36, /* Illegal parking alarm */
NETDEV_FIND_ALARM_HUMAN_SHAPE_ON = 37, /* Human body detection alarm */
NETDEV_FIND_ALARM_HUMAN_SHAPE_OFF = 38, /* Human body detection alarm cleared */
NETDEV_FIND_ALARM_BODY_TEMPERATURE = 39, /* Abnormal body temperature alarm */
NETDEV_FIND_ALARM_NO_MASK = 40, /* No mask alarm */
NETDEV_FIND_ALARM_METAL_DETECT_ON = 41, /* Metal detector alarm started */
NETDEV_FIND_ALARM_METAL_DETECT_OFF = 42, /* Metal detector alarm ended */
NETDEV_FIND_ALARM_CROWD_DENSITY_MINOR_ON = 43, /* Crowd density minor alarm */
NETDEV_FIND_ALARM_CROWD_DENSITY_MINOR_OFF = 44, /* Crowd density minor alarm cleared */
NETDEV_FIND_ALARM_CROWD_DENSITY_MAJOR_ON = 45, /* Crowd density major alarm */
NETDEV_FIND_ALARM_CROWD_DENSITY_MAJOR_OFF = 46, /* Crowd density major alarm cleared */
NETDEV_FIND_ALARM_CROWD_DENSITY_CRITICAL_ON = 47, /* Crowd density critical alarm */
NETDEV_FIND_ALARM_CROWD_DENSITY_CRITICAL_OFF = 48, /* Crowd density critical alarm cleared */
NETDEV_FIND_ALARM_INVALID = 0xFFFF /* Invalid value */
}NETDEV_FIND_ALARM_TYPE_E;

4.28.40 Enumeration of alarm log search criteria

typedef enum tagNETDEVQueryCondType


{
NETDEV_QUERYCOND_USERNAME = 0, /* Username */
NETDEV_QUERYCOND_ORGNAME = 1, /* Organization name */
NETDEV_QUERYCOND_DEVNAME = 2, /* Device name */
NETDEV_QUERYCOND_CHNNAME = 3, /* Channel name */
NETDEV_QUERYCOND_TIME = 4, /* Time */
NETDEV_QUERYCOND_BUSINESSTYPE = 5, /* Service type */
NETDEV_QUERYCOND_OPERATETYPE = 6, /* Operation type */
NETDEV_QUERYCOND_OPEROBJECT = 7, /* Operation object */
NETDEV_QUERYCOND_ALARMTYPE = 8, /* Alarm type. See NETDEV_ALARM_TYPE_E*/
NETDEV_QUERYCOND_ALARMSRCNAME= 9, /* Alarm source name */
NETDEV_QUERYCOND_ALARMLEVEL = 10, /* Alarm level */
NETDEV_QUERYCOND_ALARMCHECKED = 11, /* Whether alarm is acknowledged */
NETDEV_QUERYCOND_ALARMCHECKUSER = 12, /* User who acknowledged the alarm */
NETDEV_QUERYCOND_ALARMCHECKTIME = 13, /* Time when alarm was acknowledged */
NETDEV_QUERYCOND_ALARM_DEVID = 14, /* Alarm device ID */
NETDEV_QUERYCOND_ALARM_CHNID = 15, /* Alarm channel ID */
NETDEV_QUERYCOND_ALARM_SUBTYPE = 16, /* Alarm sub type */
NETDEV_QUERYCOND_ALARM_SERVER = 17, /* Server */
NETDEV_QUERYCOND_DOOR_NUM = 18, /* Door No. */
NETDEV_QUERYCOND_CARD_NUM = 19, /* Card number */
NETDEV_QUERYCOND_ALARM_GENDER = 20, /* Gender */
NETDEV_QUERYCOND_ALARM_BIRTHDAY = 21, /* Date of birth */
636 / 767
Network Device SDK (Windows) User Manual
NETDEV_QUERYCOND_MONITOY_REASON = 22, /* Monitoring cause */
NETDEV_QUERYCOND_PLATE_NUM = 23, /* Plate number */
NETDEV_QUERYCOND_VEHICLE_TYPE = 24, /* Vehicle type */
NETDEV_QUERYCOND_PLATE_COLOR = 25, /* Plate color */
NETDEV_QUERYCOND_VEHICLE_COLOR = 26, /* Vehicle color */
NETDEV_QUERYCOND_PERSON_NUMBER = 27, /* Person No. */
NETDEV_QUERYCOND_PERSON_TYPE = 28, /* Person type */
NETDEV_QUERYCOND_DIRECT = 29, /* Direction */
NETDEV_QUERYCOND_ORGID = 30, /* Organization ID */
NETDEV_QUERYCOND_ORGPID = 31, /* Organization PID */
NETDEV_QUERYCOND_DEVICEID = 32, /* Device ID */
NETDEV_QUERYCOND_DEVICE_TYPE = 33, /* Device type */
NETDEV_QUERYCOND_DEVICE_SUBTYPE = 34, /* Device sub type */
NETDEV_QUERYCOND_CHANNELID = 35, /* Channel ID */
NETDEV_QUERYCOND_CHANNEL_TYPE = 36, /* Channel type */
NETDEV_QUERYCOND_ONLINE_STATE = 37, /* online status */
NETDEV_DATABASE_ID = 38, /* Library ID */
NETDEV_QUERY_TYPE_PLATECLASS = 39, /* Plate type */
NETDEV_QUERYCOND_RANGE = 40, /* Alarm search range 0: Device 1: Server */
NETDEV_QUERYCOND_BEGIN_TIME = 41, /* Scheduled start time of visit */
NETDEV_QUERYCOND_END_TIME = 42, /* Schedule end time of visit */
NETDEV_QUERYCOND_INTERVIEWEE_NAME = 43, /* Name of the visited */
NETDEV_QUERYCOND_INTERVIEWEE_STATUS= 44, /* Status of the visited */
NETDEV_QUERYCOND_PARK_NAME = 45, /* Parking lot name */
NETDEV_QUERYCOND_CONFIDENCE_LEVEL = 46, /* Confidence level */
NETDEV_QUERYCOND_PARK_TIME = 47, /* Parking duration */
NETDEV_QUERYCOND_CONTRACT_RULE = 48, /* Contract rules */
NETDEV_QUERYCOND_PAYMENT_METHOD = 49, /* Payment method */
NETDEV_QUERYCOND_PASSING_DIRECTION= 50, /* Passing direction */
NETDEV_QUERYCOND_VEHICLE_ATTR = 51, /* Vehicle attribute */
NETDEV_QUERYCOND_STATISTICS_UNITS = 52, /* Statistics unit */
NETDEV_QUERYCOND_EXITENTRANCE_NAME= 53, /* Entrance & exit name */
NETDEV_QUERYCOND_PICTURE_DATA = 54, /* Image data */
NETDEV_QUERYCOND_PERSON_NAME = 55, /* Person name */
NETDEV_QUERYCOND_SIMILARITY = 56, /* Similarity */
NETDEV_QUERYCOND_SEARCH_TYPE = 57, /* Search type. See NETDEV_SEARCH_TYPE_E */
NETDEV_QUERYCOND_ID_NUMBER = 58, /* ID No. */
NETDEV_QUERYCOND_AGERANGE = 59, /* Age range */
NETDEV_QUERYCOND_GLASSES_STYLE = 61, /* Glasses style */
NETDEV_QUERYCOND_SLEEVES_LENGTH = 62, /* Sleeve length */
NETDEV_QUERYCOND_COAT_COLOR = 63, /* Coat color */
NETDEV_QUERYCOND_TROUSERS_STYLE = 64, /* Trousers length */
NETDEV_QUERYCOND_TROUSERS_COLOR = 65, /* Trousers color */
NETDEV_QUERYCOND_SNAP_TOWARD = 66, /* Snapshot direction */
NETDEV_QUERYCOND_SHOES_TUBE_LENGTH= 67, /* Shoes tube length */

637 / 767
Network Device SDK (Windows) User Manual
NETDEV_QUERYCOND_HAIR_LENGTH = 68, /* Hair length */
NETDEV_QUERYCOND_BAG_FLAG = 69, /* With or without bag */
NETDEV_QUERYCOND_SPEED_TYPE = 70, /* Speed type */
NETDEV_QUERYCOND_NON_VEH_TYPE = 71, /* Non-motor vehicle type */
NETDEV_QUERYCOND_VEH_BRAND = 72, /* Vehicle brand */
NETDEV_QUERYCOND_VEH_DATA_TYPE = 73, /* Vehicle data type (0: normal snapshot 1:
structured snapshot) */
NETDEV_QUERYCOND_PROTOCOL_TYPE = 74, /* Device connection protocol */
NETDEV_QUERYCOND_RELEVANT_ROOM = 75, /* Related room */
NETDEV_QUERYCOND_LOCK_SIGNAL = 76, /* Smart lock signal */
NETDEV_QUERYCOND_BIND_RELATION_DOORLOCK = 77, /* Door-lock binding relationship */
NETDEV_QUERYCOND_BIND_RELATION_PERSON_CARD = 78, /* Person-card binding relationship */
NETDEV_QUERYCOND_PERSONID = 79, /* Person ID */
NETDEV_QUERYCOND_PARKINGLOTID = 80, /* Parking lot ID */
NETDEV_QUERYCOND_ENTREXITID = 81, /* Entrance/exit ID */
NETDEV_QUERYCOND_RECORDID = 82, /* Record ID */
NETDEV_QUERYCOND_VEH_GROUPINGID = 83, /* Vehicle group ID */
NETDEV_QUERYCOND_KEYWORD = 84, /* Keyword */
NETDEV_QUERYCOND_PUBULISH_TYPE = 85, /* Publish type (0: instant publish 1: scheduled
publish) */
NETDEV_QUERYCOND_PROGRAM_NAME = 86, /* Program name */
NETDEV_QUERYCOND_ORG_TYPE = 87, /* Organization type. See NETDEV_ORG_TYPE_E */
NETDEV_QUERYCOND_VALID_DATE = 88, /* Valid date */
NETDEV_QUERYCOND_VALID_TIME = 89, /* Valid time */
NETDEV_QUERYCOND_VALID_WEEK = 90, /* Valid week */
NETDEV_QUERYCOND_MODEL_STATUS_TYPE= 91,
/* Face modeling status. See NETDEV_MODEL_STATUS_E
*/
NETDEV_QUERYCOND_MASK_FLAG = 92, /* With or without mask. See NETDEV_MASK_FLAG_E */
NETDEV_QUERYCOND_TEMPERATURE = 93, /* Body temperature */
NETDEV_QUERYCOND_INVALID = 0xFF /* Invalid value */
}NETDEV_QUERYCOND_TYPE_E;

4.28.41 Enumeration of alarm types

typedef enum tagNETDEVAlarmTypeEn


{
NETDEV_ALARM_MOVE_DETECT = 1, /* Motion detection alarm */
NETDEV_ALARM_MOVE_DETECT_RECOVER = 2, /* Motion detection alarm cleared */
NETDEV_ALARM_VIDEO_LOST = 3, /* Video loss alarm */
NETDEV_ALARM_VIDEO_LOST_RECOVER = 4, /* Video loss alarm cleared */
NETDEV_ALARM_VIDEO_TAMPER_DETECT = 5, /* Tampering detection alarm */
NETDEV_ALARM_VIDEO_TAMPER_RECOVER = 6, /* Tampering detection alarm cleared */
NETDEV_ALARM_INPUT_SWITCH = 7, /* Alarm input (input switch alarm)*/
NETDEV_ALARM_INPUT_SWITCH_RECOVER = 8, /* Alarm input cleared (input switch alarm
cleared) */
638 / 767
Network Device SDK (Windows) User Manual
NETDEV_ALARM_TEMPERATURE_HIGH = 9, /* High temperature alarm */
NETDEV_ALARM_TEMPERATURE_LOW = 10, /* Low temperature alarm */
NETDEV_ALARM_TEMPERATURE_RECOVER = 11, /* High temperature alarm cleared */
NETDEV_ALARM_AUDIO_DETECT = 12, /* Audio detection alarm */
NETDEV_ALARM_AUDIO_DETECT_RECOVER = 13, /* Audio detection alarm cleared */
NETDEV_ALARM_SERVER_FAULT = 18, /* Server fault */
NETDEV_ALARM_SERVER_NORMAL = 19, /* Server fault cleared */
NETDEV_ALARM_REPORT_DEV_ONLINE = 201, /* Device online alarm */
NETDEV_ALARM_REPORT_DEV_OFFLINE = 202, /* Device offline alarm */
NETDEV_ALARM_REPORT_DEV_REBOOT = 203, /* Device restart */
NETDEV_ALARM_REPORT_DEV_SERVICE_REBOOT = 204, /* Service restart */
NETDEV_ALARM_REPORT_DEV_CHL_ONLINE = 205, /* Video channel: Online */
NETDEV_ALARM_REPORT_DEV_CHL_OFFLINE = 206, /* Video channel: Offline */
NETDEV_ALARM_REPORT_DEV_DELETE_CHL = 207, /* Video channel: Delete */
NETDEV_ALARM_DEVICE_HIGHTEMP = 246, /* Alert: Device high temperature */
NETDEV_ALARM_DEVICE_LOWTEMP = 247, /* Alert: Device low temperature */
NETDEV_ALARM_FAN_FAULT = 248, /* Alert: Fan fault */
NETDEV_ALARM_LEDBOX_HIGHTEMP = 249, /* Alert: LED box high temperature */
NETDEV_ALARM_LEDBOX_SMOKE = 250, /* Alert: LED box smoke alarm */
NETDEV_ALARM_DEVICE_HIGHTEMP_RECOVER = 251, /* Alert: Device high temperature cleared */
NETDEV_ALARM_DEVICE_LOWTEMP_RECOVER = 252, /* Alert: Device low temperature cleared */
NETDEV_ALARM_FAN_FAULT_RECOVER = 253, /* Alert: Fan fault cleared */
NETDEV_ALARM_LEDBOX_HIGHTEMP_RECOVER = 254, /* Alert: LED box high temperature cleared
*/
NETDEV_ALARM_LEDBOX_SMOKE_RECOVER = 255, /* Alert: LED box smoke alarm cleared */
NETDEV_ALARM_THERM_HIGH_TEMPERATURE = 256, /* High temperature alarm */
NETDEV_ALARM_THERM_LOW_TEMPERATURE = 257, /* Low temperature alarm */
NETDEV_ALARM_THERM_ABNORMAL_TEMPERATURE= 258, /* Abnormal temperature alarm */
/* Player alarms */
NETDEV_ALARM_NET_FAILED = 401, /* Session network failure */
NETDEV_ALARM_NET_TIMEOUT = 402, /* Session network timeout */
NETDEV_ALARM_SHAKE_FAILED = 403, /* Session interaction error */
NETDEV_ALARM_STREAMNUM_FULL = 404, /* Stream number reached upper limit */
NETDEV_ALARM_STREAM_THIRDSTOP = 405, /* Stream stopped by third party */
NETDEV_ALARM_FILE_END = 406, /* File end */
NETDEV_ALARM_RTMP_CONNECT_FAIL = 407, /* RTMP connection failure */
NETDEV_ALARM_RTMP_INIT_FAIL = 408, /* RTMP initialization failure */
NETDEV_ALARM_STREAM_DOWNLOAD_OVER = 409, /* VMS GB stream download completed */
NETDEV_ALARM_PLAYBACK_FINISH = 410, /* Playback finished */
NETDEV_ALARM_VIDEO_RECORD_PART = 411, /* Recording segmentation */
NETDEV_ALARM_FISHEYE_STREAM_EXIST = 412, /* Fisheye stream exists, for reporting only */
NETDEV_ALARM_FISHEYE_STREAM_NOT_EXIST = 413, /* Fisheye stream does not exist, for reporting
only */
NETDEV_ALARM_PTZ_RESOUCE_FAIL = 414, /* 4-sensor panoramic PTZ camera resource error
*/

639 / 767
Network Device SDK (Windows) User Manual
NETDEV_ALARM_PTZ_STREAM_EXIST = 415, /* 4-sensor panoramic PTZ camera stream exists,
for reporting only */
NETDEV_ALARM_STREAM_NOT_EXIST = 416, /* 4-sensor panoramic PTZ camera stream does not
exist, for reporting only */
NETDEV_ALARM_INNER_TIMEOUT = 417, /* Internal processing timed out */
NETDEV_ALARM_STREAM_NOT_READY = 418, /* Stream not ready */
NETDEV_ALARM_KEEP_ALIVE_FAILED = 419, /* Keep-alive failed */
NETDEV_ALARM_OVER_ABILITY = 420, /* Insufficient playback capability */
NETDEV_ALARM_UNAUTHORIZED = 421, /* Unauthorized */
NETDEV_ALARM_FORIBIDDEN = 422, /* Forbidden */
NETDEV_ALARM_METHOD_NOT_ALLOWED = 423, /* Method not allowed */
NETDEV_ALARM_PRECONDITION_FAILED = 424, /* Pre-processing failed */
NETDEV_ALARM_SESSION_NOT_FOUND = 425, /* Session not found */
NETDEV_ALARM_NOT_ENOUGH_BANDWIDTH2 = 426, /* Bandwidth not enough (RTSP) */
NETDEV_ALARM_REALPLAY_ESTABLISHED = 427, /* Live view already established */
NETDEV_ALARM_REALPLAY_RES_BUSY = 428, /* Live view display resource is busy */
NETDEV_ALARM_MULTICAST_DISABLED = 429, /* Multicast disabled */
NETDEV_ALARM_MULTICAST_PORT_OCCUPIED = 430, /* Multicast port occupied */
NETDEV_ALARM_MULTICAST_PORT_EXHAUSTED = 431, /* Multicast ports exhausted */
NETDEV_ALARM_MULTICAST_USER_NOT_EXIST = 432, /* Multicast user does not exist */
NETDEV_ALARM_CHANNEL_NOT_ONLINE = 433 /* Channel offline */
NETDEV_ALARM_TALKBACK_ENCODED_INVALID = 434, /* Two-way audio resource code is invalid */
NETDEV_ALARM_VOICE_RES_USED_BY_TALKBACK = 435, /* Audio resource is being used by two-way
audio */
NETDEV_ALARM_TALKBACK_EXISTS = 436, /* Two-way audio already exists */
NETDEV_ALARM_VOICE_WORK_NOT_EXIST = 437, /* Audio service does not exist */
NETDEV_ALARM_TALKBACK_TIMEOUT = 438, /* Two-way audio timed out */
NETDEV_ALARM_TALKBACK_ERROR = 439, /* Two-way audio failed */
NETDEV_ALARM_INNER_ERROR = 440, /* Device’s internal processing error
*/
NETDEV_ALARM_BAD_REQUEST = 441, /* Bad request */
NETDEV_ALARM_PAYMENT_REQUIRED = 442, /* Payment required */
NETDEV_ALARM_NOT_FOUND = 443, /* Not found */
NETDEV_ALARM_NOT_ACCEPTABLE = 444, /* Unacceptable */
NETDEV_ALARM_PROXY_REQUIRED = 445, /* Proxy requires authentication */
NETDEV_ALARM_REQUEST_TIMEOUT = 446, /* Request timed out */
NETDEV_ALARM_GONE = 447, /* Not on server */
NETDEV_ALARM_LENGTH_REQUIRED = 448, /* Length required */
NETDEV_ALARM_ENTITY_TOO_LARGE = 449, /* Entity too long */
NETDEV_ALARM_URI_TOO_LARGE = 450, /* URI too long */
NETDEV_ALARM_UNSUPPORTED_TYPE = 451, /* Unsupported media type */
NETDEV_ALARM_NOT_UNDERSTOOD = 452, /* Parameter not understood */
NETDEV_ALARM_CONFERENCE_NOT_FOUND = 453, /* Conference not found */
NETDEV_ALARM_NOT_ENOUGH_BANDWIDTH = 454, /* Bandwidth not enough (RTSP) */
NETDEV_ALARM_METHOD_NOT_VALID = 455, /* Invalid method in this status */

640 / 767
Network Device SDK (Windows) User Manual
NETDEV_ALARM_HEADER_NOT_VALID = 456, /* Invalid header for the resource */
NETDEV_ALARM_INVALID_RANGE = 457, /* Invalid range */
NETDEV_ALARM_PARAMETER_READ_ONLY = 458, /* Parameter is read only */
NETDEV_ALARM_AO_NOT_ALLOWED = 459, /* AO is not allowed */
NETDEV_ALARM_ONLY_AO_ALLOWED = 460, /* Only AO is allowed */
NETDEV_ALARM_UNSUPPORTED_TRANSPORT = 461, /* Unsupported transport mode */
NETDEV_ALARM_DESTINATION_UNREACHABLE = 462, /* Destination is unreachable */
NETDEV_ALARM_INTERNAL_SERVER_ERROR = 463, /* Server internal error */
NETDEV_ALARM_NOT_IMPLEMENTED = 464, /* Not implemented */
NETDEV_ALARM_BAD_GATEWAY = 465, /* Gateway error */
NETDEV_ALARM_SERVICE_UNAVAILABLE = 466, /* Service unavailable */
NETDEV_ALARM_GATEWAY_TIMEOUT = 467, /* Gateway timed out */
NETDEV_ALARM_VERSION_NOT_SUPPORTED = 468, /* Unsupported RTSP version */
NETDEV_ALARM_OPTION_NOT_SUPPORTED = 469, /* Unsupported option */
NETDEV_ALARM_SESSION_NOT_EXIST = 470, /* Session does not exist */
NETDEV_ALARM_UNDEFINED_ERROR = 471, /* Undefined error */
/* Alarm module */
NETDEV_ALARM_DISK_ERROR = 601, /* Device disk error */
NETDEV_ALARM_SYS_DISK_ERROR = 602, /* System disk error */
NETDEV_ALARM_DISK_ONLINE = 603, /* Device disk online */
NETDEV_ALARM_SYS_DISK_ONLINE = 604, /* System disk online */
NETDEV_ALARM_DISK_OFFLINE = 605, /* Device disk offline */
NETDEV_ALARM_SYS_DISK_OFFLINE = 606, /* System disk offline */
NETDEV_ALARM_DISK_ABNORMAL = 607, /* Disk abnormal */
NETDEV_ALARM_DISK_ABNORMAL_RECOVER = 608, /* Disk abnormal cleared */
NETDEV_ALARM_DISK_STORAGE_WILL_FULL = 609, /* Running out of disk space */
NETDEV_ALARM_DISK_STORAGE_WILL_FULL_RECOVER = 610, /* Running out of disk space cleared */
NETDEV_ALARM_DISK_STORAGE_IS_FULL = 611, /* Device storage space is full */
NETDEV_ALARM_SYS_DISK_STORAGE_IS_FULL = 612, /* System disk space is full */
NETDEV_ALARM_DISK_STORAGE_IS_FULL_RECOVER= 613, /* Device storage space is full cleared */
NETDEV_ALARM_DISK_RAID_DISABLED_RECOVER = 614, /* RAID damaged cleared */
NETDEV_ALARM_DISK_RAID_DEGRADED = 615, /* Device RAID degraded */
NETDEV_ALARM_SYS_DISK_RAID_DEGRADED = 616, /* System RAID degraded */
NETDEV_ALARM_DISK_RAID_DISABLED = 617, /* Device RAID damaged */
NETDEV_ALARM_SYS_DISK_RAID_DISABLED = 618, /* System RAID damaged */
NETDEV_ALARM_DISK_RAID_DEGRADED_RECOVER = 619, /* RAID degraded cleared */
NETDEV_ALARM_STOR_GO_FULL = 620, /* Device running out of storage alarm */
NETDEV_ALARM_SYS_STOR_GO_FULL = 621, /* System running out of storage alarm */
NETDEV_ALARM_ARRAY_NORMAL = 622, /* Device array is normal */
NETDEV_ALARM_SYS_ARRAY_NORMAL = 623, /* System array is normal */
NETDEV_ALARM_DISK_RAID_RECOVERED = 624, /* RAID recovered */
NETDEV_ALARM_STOR_ERR = 625, /* Device storage error */
NETDEV_ALARM_SYS_STOR_ERR = 626, /* System storage error */
NETDEV_ALARM_STOR_ERR_RECOVER = 627, /* Storage error cleared */
NETDEV_ALARM_STOR_DISOBEY_PLAN = 628, /* Scheduled recording failure */

641 / 767
Network Device SDK (Windows) User Manual
NETDEV_ALARM_STOR_DISOBEY_PLAN_RECOVER = 629, /* Scheduled recording failure cleared */

NETDEV_ALARM_BANDWITH_CHANGE = 801, /* Device’s egress bandwidth changed */


NETDEV_ALARM_VIDEOENCODER_CHANGE = 802, /* Device’s stream configuration changed
alarm */
NETDEV_ALARM_IP_CONFLICT = 803, /* IP conflict alarm */
NETDEV_ALARM_IP_CONFLICT_CLEARED = 804, /* IP conflict alarm cleared */
NETDEV_ALARM_NET_OFF = 805, /* Network disconnection alarm */
NETDEV_ALARM_NET_RESUME_ON = 806, /* Network disconnection alarm cleared */
NETDEV_ALRAM_CONFLAG_DETECT = 920, /* Fire detection alarm */
NETDEV_ALARM_NO_MASK = 921, /* No mask */
NETDEV_ALARM_BODY_TEMPERATURE = 922, /* Body temperature */
NETDEV_ALARM_AREA_PEOPLE_COUNT = 923, /* Area people counting alarm */
NETDEV_ALARM_AREA_PEOPLE_COUNT_RECOVER = 924, /* Area people counting alarm cleared */
NETDEV_ALARM_ILLEGAL_ACCESS = 1001, /* Device illegal access */
NETDEV_ALARM_SYS_ILLEGAL_ACCESS = 1002, /* System illegal access */
NETDEV_ALARM_LINE_CROSS = 1003, /* Cross line alarm */
NETDEV_ALARM_OBJECTS_INSIDE = 1004, /* Intrusion detection alarm */
NETDEV_ALARM_FACE_RECOGNIZE = 1005, /* Face recognition */
NETDEV_ALARM_IMAGE_BLURRY = 1006, /* Defocus alarm*/
NETDEV_ALARM_SCENE_CHANGE = 1007, /* Scene changed */
NETDEV_ALARM_SMART_TRACK = 1008, /* Auto track */
NETDEV_ALARM_LOITERING_DETECTOR = 1009, /* Loitering detection */
NETDEV_ALARM_BANDWIDTH_CHANGE = 1010, /* Bandwidth changed */
NETDEV_ALARM_ALLTIME_FLAG_END = 1011, /* Flag denoting the end of all-day alarms
*/
NETDEV_ALARM_MEDIA_CONFIG_CHANGE = 1012, /* Encoding parameters changed */
NETDEV_ALARM_REMAIN_ARTICLE = 1013, /* Object left behind alarm */
NETDEV_ALARM_PEOPLE_GATHER = 1014, /* People gathering alarm */
NETDEV_ALARM_ENTER_AREA = 1015, /* Enter area */
NETDEV_ALARM_LEAVE_AREA = 1016, /* Leave area */
NETDEV_ALARM_ARTICLE_MOVE = 1017, /* Object removed */
NETDEV_ALARM_SMART_FACE_MATCH_LIST = 1018, /* Face recognition blocklist alarm */
NETDEV_ALARM_SMART_FACE_MATCH_LIST_RECOVER = 1019, /* Face recognition blocklist alarm
cleared */
NETDEV_ALARM_SMART_FACE_MISMATCH_LIST = 1020, /* Face not match alarm */
NETDEV_ALARM_SMART_FACE_MISMATCH_LIST_RECOVER = 1021, /* Face not match alarm cleared */
NETDEV_ALARM_SMART_VEHICLE_MATCH_LIST = 1022, /* Vehicle match alarm */
NETDEV_ALARM_SMART_VEHICLE_MATCH_LIST_RECOVER = 1023, /* Vehicle match alarm cleared */
NETDEV_ALARM_SMART_VEHICLE_MISMATCH_LIST = 1024, /* Vehicle not match alarm */
NETDEV_ALARM_SMART_VEHICLE_MISMATCH_LIST_RECOVER= 1025, /* Vehicle not match alarm cleared */
NETDEV_ALARM_IMAGE_BLURRY_RECOVER = 1026, /* Defocus alarm cleared */
NETDEV_ALARM_SMART_TRACK_RECOVER = 1027, /* Auto track alarm cleared */
NETDEV_ALARM_SMART_READ_ERROR_RATE = 1028, /* Data reading error rate */
NETDEV_ALARM_SMART_SPIN_UP_TIME = 1029, /* Spin up time */

642 / 767
Network Device SDK (Windows) User Manual
NETDEV_ALARM_SMART_START_STOP_COUNT = 1030, /* Number of start/stop */
NETDEV_ALARM_SMART_REALLOCATED_SECTOR_COUNT = 1031, /* Number of reallocated sectors */
NETDEV_ALARM_SMART_SEEK_ERROR_RATE = 1032, /* Seek error rate */
NETDEV_ALARM_SMART_POWER_ON_HOURS = 1033, /* Power on hours (total power-on
duration after delivery) The average life of a disk is 30,000 hours */
NETDEV_ALARM_SMART_SPIN_RETRY_COUNT = 1034, /* Number of spin retries */
NETDEV_ALARM_SMART_CALIBRATION_RETRY_COUNT = 1035, /* Number of calibration retries */
NETDEV_ALARM_SMART_POWER_CYCLE_COUNT = 1036, /* Number of power cycles */
NETDEV_ALARM_SMART_POWEROFF_RETRACT_COUNT = 1037, /* Number of power-off retracts */
NETDEV_ALARM_SMART_LOAD_CYCLE_COUNT = 1038, /* Number of load cycles */
NETDEV_ALARM_SMART_TEMPERATURE_CELSIUS = 1039, /* Temperature */
NETDEV_ALARM_SMART_REALLOCATED_EVENT_COUNT = 1040, /* Number of reallocated events */
NETDEV_ALARM_SMART_CURRENT_PENDING_SECTOR = 1041, /* Number of pending sectors */
NETDEV_ALARM_SMART_OFFLINE_UNCORRECTABLE = 1042, /* Number of sectors that are
uncorrectable offline */
NETDEV_ALARM_SMART_UDMA_CRC_ERROR_COUNT = 1043, /* Parity check error rate */
NETDEV_ALARM_SMART_MULTI_ZONE_ERROR_RATE = 1044, /* Multi-zone error rate */
NETDEV_ALARM_RESOLUTION_CHANGE = 1045, /* Resolution change */
NETDEV_ALARM_MANUAL = 1401, /* Manual alarm */
NETDEV_ALARM_ALARMHOST_COMMON = 1402, /* Alarm host event */
NETDEV_ALARM_DOORHOST_COMMON = 1403, /* Access control event */
NETDEV_ALARM_FACE_NOT_MATCH = 1411, /* Face not match */
NETDEV_ALARM_FACE_MATCH_SUCCEED = 1412, /* Face match */
NETDEV_ALARM_VIDEO_CHL_REACH_UPPER_LIMIT = 1413, /* Number of encoding channels
reached upper limit */
NETDEV_ALARM_VEHICLE_BLACK_LIST = 1420, /* Vehicle recognition blocklist
alarm */
NETDEV_ALARM_HUMAN_SHAPE_DETECTION = 1421, /* Human body detection */
NETDEV_ALARM_HUMAN_SHAPE_DETECTION_RECOVER = 1422, /* Human body detection cleared */
NETDEV_ALARM_NOT_WORN_SAFETYHELMET = 1423, /* No helmet alarm */
NETDEV_ALARM_NOT_WORN_WORKCLOTHES = 1424, /* No work cloths alarm */
NETDEV_ALARM_FAST_MOVING = 1425, /* Quick moving alarm */
NETDEV_ALARM_NOT_WORN_CHEFHAT = 1426, /* No chef hat alarm */
NETDEV_ALARM_TELEPHONING = 1427, /* Calling alarm */
NETDEV_ALARM_SMOKING = 1428, /* Smoking alarm */
NETDEV_ALARM_CROWD_DENSITY_MINOR = 1429, /* Crowd density minor alarm */
NETDEV_ALARM_CROWD_DENSITY_MINOR_CLEARED = 1430, /* Crowd density minor alarm cleared */
NETDEV_ALARM_CROWD_DENSITY_MAJOR = 1431, /* Crowd density major alarm */
NETDEV_ALARM_CROWD_DENSITY_MAJOR_CLEARED = 1432, /* Crowd density major alarm cleared */
NETDEV_ALARM_CROWD_DENSITY_CRITICAL = 1433, /* Crowd density critical alarm */
NETDEV_ALARM_CROWD_DENSITY_CRITICAL_CLEARED = 1434, /* Crowd density critical alarm cleared
*/
NETDEV_ALARM_ACCESS_ELEVATOR = 1435, /* Elevator entrance alarm */
NETDEV_ALARM_ACCESS_ELEVATOR_CLEARED = 1436, /* Elevator entrance alarm cleared
*/

643 / 767
Network Device SDK (Windows) User Manual
NETDEV_ALARM_INVALID = 0xFFFF /* Invalid value*/
}NETDEV_ALARM_TYPE_E;

4.28.42 Enumeration of face search types

typedef enum tagNETDEVSearchType


{
NETDEV_SEARCH_TYPE_FACE = 0, /* Face search */
NETDEV_SEARCH_TYPE_FACE_COMPARE_SUCCESS = 1, /* Face comparison succeeded */
NETDEV_SEARCH_TYPE_FACE_COMPARE_FAIL = 2, /* Face comparison failed */
NETDEV_SEARCH_TYPE_INVALID = 0xff /* Invalid value */
}NETDEV_SEARCH_TYPE_E;

4.28.43 Enumeration of organization types

typedef enum tagNETDEVOrgType


{
NETDEV_ORG_TYPE_GENERAL = 0, /* General organization */
NETDEV_ORG_TYPE_CLOUD = 1, /* Cloud organization */
NETDEV_ORG_TYPE_VIRTUAL = 2, /* Virtual organization */
NETDEV_ORG_TYPE_FAVORITES = 3, /* Favorites */
NETDEV_ORG_TYPE_DOMAIN = 4, /* Domain */
NETDEV_ORG_TYPE_DOORGROUP = 5, /* Door group */
NETDEV_ORG_TYPE_DEPT = 6, /* Department */
NETDEV_ORG_TYPE_APARTMENT = 7, /* Apartment */
NETDEV_ORG_TYPE_INVALID = 0XFF /* Invalid value */
}NETDEV_ORG_TYPE_E;

4.28.44 Enumeration of modeling statuses

typedef enum tagNETDEVModelStatus


{
NETDEV_MODEL_STATUS_TYPE_UNMODELED = 0, /* 0: Modeling not started */
NETDEV_MODEL_STATUS_TYPE_SUCCEED = 1, /* 1: Modeling completed */
NETDEV_MODEL_STATUS_TYPE_FAILED = 2, /* 2: Modeling failed */
NETDEV_MODEL_STATUS_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_MODEL_STATUS_E;

4.28.45 Enumeration of mask wearing statuses

typedef enum tagNETDEVMaskFlag


{
NETDEV_MASK_FLAG_UNKNOW = 0, /* Unknown */
NETDEV_MASK_FLAG_NOT_WEAR = 1, /* No mask */
NETDEV_MASK_FLAG_WEAR = 2, /* With mask */
NETDEV_MASK_FLAG_INVALID = 0xFF /* Invalid value */
}NETDEV_MASK_FLAG_E;
644 / 767
Network Device SDK (Windows) User Manual
4.28.46 Enumeration of logic types of search criteria

typedef enum tagNETDEVQueryCondLogic


{
NETDEV_QUERYCOND_LOGIC_EQUAL = 0, /* Equal to */
NETDEV_QUERYCOND_LOGIC_GREATER = 1, /* Greater than */
NETDEV_QUERYCOND_LOGIC_LESS = 2, /* Less than */
NETDEV_QUERYCOND_LOGIC_NO_LESS = 3, /* No less than */
NETDEV_QUERYCOND_LOGIC_NO_GREATER = 4, /* No greater than */
NETDEV_QUERYCOND_LOGIC_NO_EQUAL = 5, /* Not equal to */
NETDEV_QUERYCOND_LOGIC_DIM_QUERY = 6, /* Fuzzy search */
NETDEV_QUERYCOND_LOGIC_CONTAIN = 7, /* Include */
NETDEV_QUERYCOND_LOGIC_ASC_ORDER = 8, /* Ascending order */
NETDEV_QUERYCOND_LOGIC_DESC_ORDER = 9 /* Descending order */
}NETDEV_QUERYCOND_LOGICTYPE_E;

4.28.47 Enumeration of alarm sub types

typedefenumtagNETDEVAlarmSubType
{
NETDEV_ALARM_SUB_TYPE_NOT_CONFIGURED =0, /* Unconfigured alarm sub types*/
NETDEV_DEV_TYPE_BASE =100000UL, /* Alarm base */
NETDEV_DEV_TROUBLE =100001, /*Device failure*/
NETDEV_DEV_ALARM_EMERGENCY =100002, /*Device emergency alarm */
/*Definition of alarm types of alarm devices */
NETDEV_ALARM_EVENT_BASE =100200UL, /*Start of definitions of alarm types */
NETDEV_ALARM_EVENT_FIRE_ALARM =100201, /*Fire alarm */
NETDEV_ALARM_EVENT_KEYPADFIRE =100202, /*Keypad fire alarm */
NETDEV_ALARM_EVENT_KEYPADEMERGENCY =100203, /* Keypad emergency alarm */
NETDEV_ALARM_EVENT_KEYPADMEDICAL =100204, /* Keypad help alarm */
NETDEV_ALARM_EVENT_DURESSCODEUSED =100205, /* Duress code operation */
NETDEV_ALARM_EVENT_UNAUTHORIZEDENTRY =100206, /* Unauthorized access */
NETDEV_ALARM_EVENT_BURGLARPOINTALARM =100207, /* Burglar zone alarm */
NETDEV_ALARM_EVENT_SUPERVISORY =100208, /* Detection failure */
NETDEV_ALARM_EVENT_FIRETROUBLE =100209, /* Fire alarm failure */
NETDEV_ALARM_EVENT_FIREPOINTTROUBLE =100210, /* Fire zone failure */
NETDEV_ALARM_EVENT_BURGLARPOINTTROUBLE =100211, /* Burglar zone failure */
NETDEV_ALARM_EVENT_CANCELALARM =100212, /* Cancel alarm */
NETDEV_ALARM_EVENT_DISARM =100213, /* Disarming succeeded */
NETDEV_ALARM_EVENT_ARM =100214, /* Arming succeeded */
NETDEV_ALARM_EVENT_FORCEDBYPASS =100215, /* Forced bypass */
NETDEV_ALARM_EVENT_BYPASS =100216, /* Bypass */
NETDEV_ALARM_EVENT_POINTRESTORAL =100217, /* Zone alarm cleared */
NETDEV_ALARM_EVENT_FAILTOCLOSE =100218, /* Arming failed */
NETDEV_ALARM_EVENT_FAILTOOPEN =100219, /* Disarming failed */
NETDEV_ALARM_EVENT_HISTORYBUFFERDUMP =100220, /* Event records full */
645 / 767
Network Device SDK (Windows) User Manual
NETDEV_ALARM_EVENT_TESTMSG =100221, /* Test */
NETDEV_ALARM_EVENT_ZONETROUBLE =100222, /* Zone failure */
NETDEV_ALARM_EVENT_ZONETROUBLERESTORE =100223, /* Zone failure cleared */
NETDEV_ALARM_EVENT_ZONESHORT =100224, /* Zone short circuit */
NETDEV_ALARM_EVENT_ZONEOPEN =100225, /*Zone open circuit */
NETDEV_ALARM_EVENT_ZONENORMAL =100226, /* Zone normal */
NETDEV_ALARM_EVENT_MXDEVCLOSE =100227, /*MX device armed */
NETDEV_ALARM_EVENT_MXDEVOPEN =100228, /*MX device disarmed */
NETDEV_ALARM_EVENT_MXDEV1ZONEALARM =100229, /*MX device zone 1 alarm */
NETDEV_ALARM_EVENT_MXDEV2ZONEALARM =100230, /*MX device zone 2 alarm */
NETDEV_ALARM_EVENT_MXDEV3ZONEALARM =100231, /*MX device zone 3 alarm */
NETDEV_ALARM_EVENT_MXDEV1ZONERESTAORE =100232, /*MX device zone 1 alarm cleared */
NETDEV_ALARM_EVENT_MXDEV2ZONERESTAORE =100233, /*MX device zone 2 alarm cleared */
NETDEV_ALARM_EVENT_MXDEV3ZONERESTAORE =100234, /*MX device zone 3 alarm cleared */
NETDEV_ALARM_EVENT_TROUBLE_AC =100235, /* AC power failure */
NETDEV_ALARM_EVENT_TROUBLE_BATTERY =100236, /* Backup power failure */
NETDEV_ALARM_EVENT_TROUBLE_SNDREPORT =100237, /* Report sending failure */
NETDEV_ALARM_EVENT_TROUBLE_CONTROL =100238, /* Control failure */
NETDEV_ALARM_EVENT_TROUBLE_MXBUS =100239, /*MPX bus failure */
NETDEV_ALARM_EVENT_TROUBLE_RADIOSND =100240, /* Wireless receiving failure */
NETDEV_ALARM_EVENT_TROUBLE_ASSISTPOWER =100241, /* Auxiliary power failure */
NETDEV_ALARM_EVENT_TROUBLE_OPTION =100242, /* Option device failure */
NETDEV_ALARM_EVENT_LINK_BREAK =100243, /* Link disconnected */
NETDEV_ALARM_EVENT_LINK_RESUME =100244, /* Link normal */
NETDEV_ALARM_EVENT_VOLTAGE_ALARM =100245, /* DC undervoltage alarm */
NETDEV_ALARM_EVENT_EXTERNDEV_TROUBLE =100246, /* Expansion device failure alarm */
NETDEV_ALARM_EVENT_EXTERNDEV_RESUME =100247, /* Expansion device failure alarm cleared */
NETDEV_ALARM_EVENT_POINT_DISARM =100248, /* Point disarmed */
NETDEV_ALARM_EVENT_POINT_ARM =100249, /* Point armed */
NETDEV_ALARM_EVENT_FORCE_OPEN =100250, /* Alarm control panel opened by force */
NETDEV_ALARM_EVENT_BYPASS_FAILED =100251, /* Bypass failed */
NETDEV_ALARM_EVENT_RESET_FAILED =100252, /* Reset failed */
NETDEV_ALARM_EVENT_POINT_FIRETROUBLE =100253, /* Point failure */
NETDEV_ALARM_EVENT_POINT_SEPARATE =100254, /* Point isolation */
NETDEV_ALARM_EVENT_POINT_ACTION =100255, /* Point action */
NETDEV_ALARM_EVENT_POINT_RESUME =100256, /* Point recovered */
NETDEV_ALARM_EVENT_ROB_ACTION =100257, /* Robbery alarm */
/*Newly added alarms and events */
NETDEV_ALARM_EVENT_MISSED_ARM =100260, /*Not armed */
NETDEV_ALARM_EVENT_MISSED_DISARM =100261, /*Not disarmed */
NETDEV_ALARM_EVENT_AUXILARY_RST =100262, /* Auxiliary alarm cleared */
NETDEV_ALARM_EVENT_AUXILARY =100263, /* Auxiliary alarm */
NETDEV_ALARM_EVENT_BURGLARY_RST =100264, /* Burglary alarm cleared */
NETDEV_ALARM_EVENT_BURGLARY =100265, /* Burglary alarm */
NETDEV_ALARM_EVENT_BYPASS_RST =100266, /* Bypass cleared */

646 / 767
Network Device SDK (Windows) User Manual
NETDEV_ALARM_EVENT_CANCEL =100267, /* Cancel */
NETDEV_ALARM_EVENT_DUPLICATE =100268, /* Duplicate */
NETDEV_ALARM_EVENT_DURESS_RST =100269, /* Duress alarm cleared */
NETDEV_ALARM_EVENT_DURESS =100270, /* Duress alarm*/
NETDEV_ALARM_EVENT_FIRE_RST =100271, /* Fire alarm cleared */
NETDEV_ALARM_EVENT_FIRE_TROUBLE =100272, /* Fire detector failure */
NETDEV_ALARM_EVENT_FIRE_TRB_RST =100273, /* Fire detector failure cleared */
NETDEV_ALARM_EVENT_MED_RST =100274, /* Medical assistance reset */
NETDEV_ALARM_EVENT_PANIC =100275, /* Emergency alarm */
NETDEV_ALARM_EVENT_PANIC_RST =100276, /* Emergency alarm cleared */
NETDEV_ALARM_EVENT_RESET =100277, /* Reset */
NETDEV_ALARM_EVENT_RELAY_SHORTED =100278, /* Relay short circuit */
NETDEV_ALARM_EVENT_RELAY_RST =100279, /* Relay reset */
NETDEV_ALARM_EVENT_RELAY_TROUBLE =100280, /* Relay failure */
NETDEV_ALARM_EVENT_TAMPER =100281, /* Tamper alarm */
NETDEV_ALARM_EVENT_TAMPER_RST =100282, /* Tamper alarm cleared */
NETDEV_ALARM_EVENT_TROUBLE =100283, /* Failure */
NETDEV_ALARM_EVENT_TROUBLE_RST =100284, /* Failure cleared */

/*DF8900*/
NETDEV_ALARM_EVENT_DFE_REMOTE_CONTROL=100290, /* Remote control */
NETDEV_ALARM_EVENT_DFE_SYNC =100291, /* Sync */
NETDEV_ALARM_EVENT_DFE_LIFTING =100292, /* Lifting */
NETDEV_ALARM_EVENT_DFE_SWITCH_NORMAL =100293, /* Normal switch change */
NETDEV_ALARM_EVENT_DFE_SWITCH_ACCIDENT=100294, /* Accident switch change */
NETDEV_ALARM_EVENT_DFE_KINFE_GATE =100295, /* Normal knife switch change */

NETDEV_ALARM_EVENT_ESCAPE =100296, /* ChenYingShaoWei event


NETDEV_ALARM_EVENT_ESCAPE_END =100297, /* ChenYingShaoWei event
NETDEV_ALARM_EVENT_VIOLENCE =100298, /* ChenYingShaoWei event
NETDEV_ALARM_EVENT_VIOLENCE_END =100299, /* ChenYingShaoWei event
NETDEV_ALARM_EVENT_ATTACKED =100300, /* ChenYingShaoWei event
NETDEV_ALARM_EVENT_ATTACKED_END =100301, /* ChenYingShaoWei event
NETDEV_ALARM_EVENT_NATURAL_DISASTER =100302, /* ChenYingShaoWei event
NETDEV_ALARM_EVENT_NATURAL_DISASTER_END =100303, /* ChenYingShaoWei event
NETDEV_ALARM_EVENT_ONE_KEY_ALARM =100304, /* ChenYingShaoWei event
NETDEV_ALARM_EVENT_ONE_KEY_ALARM_END =100305, /* ChenYingShaoWei event

NETDEV_ALARM_EVENT_CERC_NORMAL =100306, /* ZhongDianRuiDa event


NETDEV_ALARM_EVENT_CERC_TOUCH =100307, /* ZhongDianRuiDa event
NETDEV_ALARM_EVENT_CERC_BREAK =100308, /* ZhongDianRuiDa event
NETDEV_ALARM_EVENT_CERC_SHORT =100309, /* ZhongDianRuiDa event
NETDEV_ALARM_EVENT_CERC_COMMU_ERR =100310, /* ZhongDianRuiDa event
,

647 / 767
Network Device SDK (Windows) User Manual
NETDEV_ALARM_EVENT_HYPERSEE_DDR_ALARM =100311, /* AiBoXin event
NETDEV_ALARM_EVENT_HYPERSEE_DDR_ALARM_RST =100312, /*AiBoXin event
NETDEV_ALARM_EVENT_HYPERSEE_IR_ALARM =100313, /*AiBoXin event
NETDEV_ALARM_EVENT_HYPERSEE_IR_ALARM_RST =100314, /*AiBoXin event

NETDEV_ALARM_EVENT_UBI_ALARM =100315, /*ZhongKeRongTong event

NETDEV_ALARM_EVENT_HXTECH_CABLE_ALARM =100316, /*HuaXun perimeter event

NETDEV_ALARM_EVENT_DEVICE_UNDER_VOLTAGE_RST =100317, /* Device undervoltage cleared*/


NETDEV_ALARM_EVENT_ZONE_NOT_READY =100318, /* Zone not ready */
NETDEV_ALARM_EVENT_ZONE_NOT_READY_RST =100319, /* Zone not ready cleared */
NETDEV_ALARM_EVENT_TELEPHONE_CABLE_FAULT =100320, /*Telephone cable fault */
NETDEV_ALARM_EVENT_TELEPHONE_CABLE_FAULT_RST=100321, /*Telephone cable fault cleared*/
NETDEV_ALARM_EVENT_AC_POWER_FAULT =100322, /* AC power fault */

NETDEV_ALARM_EVENT_ZONE_TOUCH =100323, /* Zone trigger alarm */


NETDEV_ALARM_EVENT_ZONE_TOUCH_RESTORE =100324, /* Zone trigger alarm cleared */
NETDEV_ALARM_EVENT_CAPTIVE =100325, /* Force open */
NETDEV_ALARM_EVENT_CAPTIVE_RST =100326, /* Force open cleared */
NETDEV_ALARM_EVENT_UNDERVOLTAGE =100327, /* Undervoltage */
NETDEV_ALARM_EVENT_UNDERVOLTAGE_RST =100328, /* Undervoltage cleared */
NETDEV_ALARM_EVENT_TROUBLE_BATTERY_RST =100329, /* Backup battery fault cleared */
NETDEV_ALARM_EVENT_DEV_POWER_REBOOT =100330, /* Device power-on restart */
NETDEV_ALARM_EVENT_TEST_FAILURE =100331, /* Device test failure */
NETDEV_ALARM_EVENT_OPERATOR_TOUCH_LONG =100332, /* Long press operation */
NETDEV_ALARM_EVENT_REMOTE_ARM =100333, /* Remote arm */
NETDEV_ALARM_EVENT_REMOTE_DISARM =100334, /* Remote disarm */
NETDEV_ALARM_EVENT_REMOTE_STAY_ARM =100335, /* Remote arm stay */
NETDEV_ALARM_EVENT_PWD_ARM =100336, /* Password arm device */
NETDEV_ALARM_EVENT_PWD_DISARM =100337, /* Password disarm device */
NETDEV_ALARM_EVENT_PWD_STAY_DEV =100338, /* Password arm device stay */
NETDEV_ALARM_EVENT_PWD_ARM_PART =100339, /* Password arm partition */
NETDEV_ALARM_EVENT_PWD_DISARM_PART =100340, /*Password disarm partition */
NETDEV_ALARM_EVENT_PWD_STAY_PART =100341, /* Password arm partition stay */
NETDEV_ALARM_EVENT_PWD_ARM_ZONE =100342, /* Password arm zone */
NETDEV_ALARM_EVENT_PWD_DISARM_ZONE =100343, /* Password disarm zone */
NETDEV_ALARM_EVENT_USER_ARM =100344, /* User arm device */
NETDEV_ALARM_EVENT_USER_DISARM =100345, /* User disarm device */
NETDEV_ALARM_EVENT_USER_STAY_DEV =100346, /* User arm device stay */
NETDEV_ALARM_EVENT_USER_CLEAN_ALARM =100347, /* User clear alarm display */
NETDEV_ALARM_EVENT_PWD_OPEN_DOOR =100348, /* Open door by password */
NETDEV_ALARM_EVENT_KEY_OPEN_DOOR =100349, /* Open door by key */
NETDEV_ALARM_EVENT_REMOTE_OPEN_DOOR =100350, /* Open door remotely */
NETDEV_ALARM_EVENT_SWIPE_ARM =100351, /* Arm by card swipe */

648 / 767
Network Device SDK (Windows) User Manual
NETDEV_ALARM_EVENT_SWIPE_DISARM =100352, /* Disarm by card swipe */
NETDEV_ALARM_EVENT_SWIPE_LOCK =100353, /* Lock by card swipe */
NETDEV_ALARM_EVENT_SWIPE_UNLOCK =100354, /* Unlock by card swipe */
NETDEV_ALARM_EVENT_SWIPE_RECORD =100355, /* Card swipe record */
NETDEV_ALARM_EVENT_SWIPE_ATTENDANCE_IN=100356, /* Attendance in by card swipe */
NETDEV_ALARM_EVENT_SWIPE_ATTENDANCE_OUT=100357, /* Attendance out by card swipe */
NETDEV_ALARM_EVENT_SWIPE_TURNON_LIGHT =100358, /* Turn on light by card swipe */
NETDEV_ALARM_EVENT_SWIPE_OFF_LIGHT =100359, /* Turn off light by card swipe */
NETDEV_ALARM_EVENT_SWIPE_CARD_NUM =100360, /* Report card physical number by card swipe
*/
NETDEV_ALARM_EVENT_MANUAL_OPEN =100361, /* Open door or turn on light manually */
NETDEV_ALARM_EVENT_ZONE_OPEN_DOOR =100362, /* Open door by zone trigger */
NETDEV_ALARM_EVENT_ZONE_DOOR_LONGTIME=100363, /* Zone long time no trigger arm*/
NETDEV_ALARM_EVENT_ZONE_ARM =100364, /* Zone trigger arm*/
NETDEV_ALARM_EVENT_ZONE_DISARM =100365, /* Zone trigger disarm */
NETDEV_ALARM_EVENT_TIMER_ARM =100366, /* Scheduled arm */
NETDEV_ALARM_EVENT_TIMER_DISARM =100367, /* Scheduled disarm */
NETDEV_ALARM_EVENT_CENTRAL_COMM_NORMAL =100368, /* Central communication normal */
NETDEV_ALARM_EVENT_CENTRAL_HANDSHAKE_FAILED =100369, /* Central handshake failure */
NETDEV_ALARM_EVENT_CENTRAL_RESPONSE_FAILED =100370, /* Central response failure */
NETDEV_ALARM_EVENT_USER_CONFIRMATION =100371, /* User confirmed alarm */
NETDEV_ALARM_EVENT_USER_TIMEOUT =100372, /* Alarm confirmation timed out */
NETDEV_ALARM_EVENT_TELEP_RINGING =100373, /* Telephone module receive ringing
signal */
NETDEV_ALARM_EVENT_TELEP_ARM =100374, /* Telephone module receive 1-digit remote
disarm/arm password */
NETDEV_ALARM_EVENT_TELEP_STATUS_OFFLINE =100375, /* Telephone offline */
NETDEV_ALARM_EVENT_TELEP_STATUS_ONLINE =100376, /* Telephone online */
NETDEV_ALARM_EVENT_MSG_SEND_SUCC =100377, /*MSG sending succeeded */
NETDEV_ALARM_EVENT_MSG_SEND_FAILED =100378, /*MSG sending failed */
NETDEV_ALARM_EVENT_SWITCH_CLOSE =100379, /* Operation switch close */
NETDEV_ALARM_EVENT_SWITCH_OFF =100380, /* Operation switch open */
NETDEV_ALARM_EVENT_TEMPER_CHANGE =100381, /* Temperature change */
NETDEV_ALARM_EVENT_HUMIDITY_CHANGE =100382, /*Humidity change */
NETDEV_ALARM_EVENT_DEVID_WRONG =100383, /* Device ID error */
NETDEV_ALARM_EVENT_ELEC_HIGH_ARM =100384, /*Single electric fence high voltage
arm*/
NETDEV_ALARM_EVENT_ELEC_LOW_ARM =100385, /*Single electric fence low voltage arm */
NETDEV_ALARM_EVENT_ELEC_ALARM_RST =100386, /* Single electric fence reset */
NETDEV_ALARM_EVENT_ELEC_DISARM =100387, /* Single electric fence disarm */
NETDEV_ALARM_EVENT_ELEC_ARM =100388, /* Single electric fence voltage value
arm */
NETDEV_ALARM_EVENT_KEY_ALARM_OVER =100389, /* Keypad all alarms handled */
NETDEV_ALARM_EVENT_KEY_PROL_TYPE =100390, /* Keypad report protocol type (mainly for
electric fence) */

649 / 767
Network Device SDK (Windows) User Manual
NETDEV_ALARM_EVENT_MOD_DEV_ADDR =100391, /* Keypad change device address (mainly for electric
fence) */
NETDEV_ALARM_EVENT_FORWARD_CMD =100392, /* Communication device forward central command */
NETDEV_ALARM_EVENT_BASE_VALUE =110000UL, /* Start of definitions of alarm types */
NETDEV_ALARM_EVENT_IMMEDIATELY_DEFEND_ALARM =110001, /* Instant zone alarm */
NETDEV_ALARM_EVENT_IMMEDIATELY_DEFEND_ALARM_RST=110002, /* Instant zone alarm cleared */
NETDEV_ALARM_EVENT_ALL_DAY_NO_VOICE_ALARM =110003, /*24-hour silent zone alarm */
NETDEV_ALARM_EVENT_ALL_DAY_NO_VOICE_ALARM_RST=110004, /*24-hour silent zone alarm cleared */
NETDEV_ALARM_EVENT_ALL_DAY_VOICE_ALARM =110005, /*24-hour voiced zone alarm */
NETDEV_ALARM_EVENT_ALL_DAY_VOICE_ALARM_RST =110006, /*24-hour voiced zone alarm cleared */
NETDEV_ALARM_EVENT_BOARD_DEFEND_ALARM =110007, /* Perimeter zone alarm */
NETDEV_ALARM_EVENT_BOARD_DEFEND_ALARM_RST =110008, /*Perimeter zone alarm cleared */
NETDEV_ALARM_EVENT_INNER_DELAY_DEFEND_ALARM =110009, /* Internal delay zone alarm */
NETDEV_ALARM_EVENT_INNER_DELAY_DEFEND_ALARM_RST=110010, /* Internal delay zone alarm cleared */
NETDEV_ALARM_EVENT_DELAY_DEFEND_ALARM =110011, /* Delay zone alarm */
NETDEV_ALARM_EVENT_DELAY_DEFEND_ALARM_RST =110012, /*Delay zone alarm cleared */
NETDEV_ALARM_EVENT_EXPAND_MODEL_FAULT_ALARM=110013, /* Expansion module failure */
NETDEV_ALARM_EVENT_EXPAND_MODEL_FAULT_ALARM_RST=110014, /* Expansion module failure cleared */
NETDEV_ALARM_EVENT_OUTER_DISARMED =110015, /* Disarm away */
NETDEV_ALARM_EVENT_OUTER_ARMED =110016, /* Armed away */
NETDEV_ALARM_EVENT_KEY_DISARMED =110017, /* Keyed zone disarmed */
NETDEV_ALARM_EVENT_KEY_ARMED =110018, /* Keyed zone armed */
NETDEV_ALARM_EVENT_WIRELESS_NET_WORK_EXCEPTION =110019, /* Wireless network abnormal */
NETDEV_ALARM_EVENT_WIRELESS_NET_WORK_EXCEPTION_RST=110020, /* Wireless network abnormal cleared
*/
NETDEV_ALARM_EVENT_WIRED_NET_WORK_BREAK =110021, /* Wired network failure */
NETDEV_ALARM_EVENT_WIRED_NET_WORK_BREAK_RST =110022, /* Wired network failure cleared */
NETDEV_ALARM_EVENT_SOFT_DEFEND_URGENCY_ALARM =110023, /* Soft zone emergency alarm */
NETDEV_ALARM_EVENT_ARMED_STAY =110024, /*Armed stay */
NETDEV_ALARM_EVENT_IMMEDIATELY_ARMED =110025, /* Instant arming */

NETDEV_ALARM_EVENT_SMOKE_ALARM =110026, /* Smoke alarm */


NETDEV_ALARM_EVENT_SMOKE_ALARM_END =110027, /* Smoke alarm ended */
NETDEV_ALARM_EVENT_WATER_ALARM =110028, /* Water alarm */
NETDEV_ALARM_EVENT_WATER_ALARM_END =110029, /* Water alarm ended */
NETDEV_ALARM_EVENT_IO_ON =110030, /* I/O on*/
NETDEV_ALARM_EVENT_IO_OFF =110031, /*IO off*/

NETDEV_ALARM_EVENT_TOUNCH_ALARM =110032, /* Touch alarm */


NETDEV_ALARM_EVENT_INVADE_ALARM =110033, /* Intrusion alarm */
NETDEV_ALARM_EVENT_BROKEN_ALARM =110034, /* Broken alarm */
NETDEV_ALARM_EVENT_HELP =110036, /* Emergent help */
NETDEV_ALARM_EVENT_DESTROY =110037, /* Vandalism alarm */
NETDEV_ALARM_EVENT_ACS =110038, /* Access control alarm */
NETDEV_ALARM_EVENT_OTHERS =110039, /*Other*/

650 / 767
Network Device SDK (Windows) User Manual
NETDEV_ALARM_EVENT_ZONE_ALARM =110040, /*Zone alarm */
NETDEV_ALARM_EVENT_ZONE_ALARM_RST =110041, /* Zone alarm cleared */
NETDEV_ALARM_EVENT_GATO_ALARM_FENCE =110042, /* Fence alarm */
NETDEV_ALARM_EVENT_GATO_ALARM_HOST =110043, /*Control panel alarm */
NETDEV_ALARM_EVENT_GATO_ALARM_ETCZONE =110044, /* Expansion zone alarm */
NETDEV_ALARM_EVENT_GATO_ALARM_OFFLINE =110045, /* Communication disconnected */
NETDEV_ALARM_EVENT_GATO_ALARM_SWITCH1 =110046, /* Zone alarm input 1*/
NETDEV_ALARM_EVENT_GATO_ALARM_SWITCH2 =110047, /* Zone alarm input 2*/
NETDEV_ALARM_EVENT_STEAL =110048, /*Theft alarm */
NETDEV_ALARM_EVENT_GAS =110049, /* Gas alarm */
NETDEV_ALARM_EVENT_SAVE =110050, /*Rescue alarm */
NETDEV_ALARM_EVENT_INVADE_TROUBLE =110051, /* Intrusion & failure alarm */
NETDEV_ALARM_EVENT_SYS_TROUBLE =110052, /* System failure */
NETDEV_ALARM_EVENT_OPTICAL_FIBER_TROUBLE =110053, /* Optical fiber failure */

NETDEV_ALARM_EVENT_MOTION_DETECTION =110062, /* Motion detection alarm */


NETDEV_ALARM_EVENT_CALL_REMOVE =110063, /* Call cancelled alarm */
NETDEV_ALARM_EVENT_NOISE =110064, /* Noise alarm */
NETDEV_ALARM_EVENT_DELAYED =110065, /* Delayed alarm */
NETDEV_ALARM_EVENT_ALARM_INPUT_ONE =110066, /* Alarm input 1 alarm */
NETDEV_ALARM_EVENT_ALARM_INPUT_TWO =110067, /* Alarm input 2 alarm */
NETDEV_ALARM_EVENT_ALARM_CALL_EMERGENCY =110068, /*Emergency call */
NETDEV_ALARM_EVENT_ALARM_CALL_CONSULTANT=110069, /* consultation call */
NETDEV_ALARM_EVENT_DOOR_MAGNET_OPEN =110070, /* Door magnet opened */
NETDEV_ALARM_EVENT_DOOR_MAGNET_CLOSE =110071, /* Door magnet closed */
NETDEV_ALARM_EVENT_DOOR_LOCK_OPEN =110072, /* Door lock opened */
NETDEV_ALARM_EVENT_DOOR_LOCK_CLOSE =110073, /* Door lock closed */

NETDEV_ALARM_EVENT_ALARM_PORT_ONE =110074, /* Port 1 alarm */


NETDEV_ALARM_EVENT_ALARM_PORT_TWO =110075, /* Port 2 alarm */
NETDEV_ALARM_EVENT_ALARM_PORTEX =110076, /* Expansion port alarm */
NETDEV_ALARM_EVENT_ALARM_TUMULT =110077, /* Tumult alarm */
NETDEV_ALARM_EVENT_ALARM_110 =110078, /*110 alarm */
NETDEV_ALARM_EVENT_ALARM_119 =110079, /*119 alarm */
NETDEV_ALARM_EVENT_ALARM_120 =110080, /*120 alarm */

NETDEV_ALARM_EVENT_ALARM_FINDERCONNECT_FAILED =110081, /* Detector communication failure */


NETDEV_ALARM_EVENT_ALARM_OUTAGE =110082, /* Power outage alarm */
NETDEV_ALARM_EVENT_ALARM_DISASSEMBLE =110083, /* Disassemble alarm */
NETDEV_ALARM_EVENT_ALARM_CIRCUIT =110084, /* Circuit alarm */
NETDEV_ALARM_EVENT_ALARM_TOUCHNET =110085, /* Touch net alarm */
NETDEV_ALARM_EVENT_ALARM_PREVENTCUT =110086, /* Prevent cut alarm */
NETDEV_ALARM_EVENT_ALARM_COCKING =110087, /* Cocking alarm */
NETDEV_ALARM_EVENT_ALARM_SLACK =110088, /* Slack alarm */
NETDEV_ALARM_EVENT_ALARM_ZONE_FORBIDDEN =110089, /* Zone forbidden */

651 / 767
Network Device SDK (Windows) User Manual

NETDEV_ALARM_EVENT_HIGH_TEMP =110090, /*Temperature above upper limit alarm */


NETDEV_ALARM_EVENT_LOW_TEMP =110091, /*Temperature below lower limit alarm */
NETDEV_ALARM_EVENT_HIGH_HUMI =110092, /* Humidity above upper limit alarm */
NETDEV_ALARM_EVENT_LOW_HUMI =110093, /* Humidity below lower limit alarm */
NETDEV_ALARM_MONITOR_DEVICE_ONLINE =110094, /* Monitoring device online */
NETDEV_ALARM_MONITOR_DEVICE_OFFLINE =110095, /* Monitoring device offline */

NETDEV_ALARM_EVENT_ALARM_CALL_OUT_RING =110110, /*Call out ringing */


NETDEV_ALARM_EVENT_ALARM_CALL_IN =110111, /* Call in */
NETDEV_ALARM_EVENT_ALARM_CALL_END =110112, /*Call ended */
NETDEV_ALARM_EVENT_ALARM_BROADCAST_TO_SLAVE_BEGIN =110113,/* Broadcast to host begin */
NETDEV_ALARM_EVENT_ALARM_BROADCAST_TO_MAST_BEGIN =110114,/* Broadcast to extension begin */
NETDEV_ALARM_EVENT_ALARM_BROADCAST_END =110115, /* Broadcast ended */
NETDEV_ALARM_EVENT_ALARM_CALL_INTERPHONE =110116, /* Two-way audio connected */
/* Definition of access control events */
NETDEV_DOOR_EVENT_BASE =100400UL, /* Start of definitions of access control
events */
NETDEV_DOOR_EVENT_DISCONNECT =100401, /* Communication Interrupted
NETDEV_DOOR_EVENT_INFRARED_ALARM =100402, /* IR alarm */
NETDEV_DOOR_EVENT_ILLICIT_OPEN_DOOR =100403, /* Door opened illegally */
NETDEV_DOOR_EVENT_COERCE_ALARM =100404, /* Coercing alarm */
NETDEV_DOOR_EVENT_OPEN_TIMEOUT =100405, /* Door not opened before timeout */
NETDEV_DOOR_EVENT_CLOSE_TIMEOUT =100406, /* Door not closed before timeout */
NETDEV_DOOR_EVENT_ANOMALOUS_CARD =100407, /* Abnormal card entry */
NETDEV_DOOR_EVENT_CARD_OPEN_DOOR =100408, /* Door opened by card */
NETDEV_DOOR_EVENT_REMOTE_OPEN_DOOR =100409, /* Door opened remotely */
NETDEV_DOOR_EVENT_MANUAL_OPEN_DOOR =100410, /* Door opened manually */
NETDEV_DOOR_EVENT_EMERGENCY_START =100411, /* Emergency started */
NETDEV_DOOR_EVENT_EMERGENCY_STOP =100412, /* Emergency ended */
NETDEV_DOOR_EVENT_OPEN_SUCCESS =100413, /* Door opened successfully */
NETDEV_DOOR_EVENT_OPEN_FAILED =100414, /* Door failed to open */
NETDEV_DOOR_EVENT_CLOSE =100415, /* Door closing */
NETDEV_DOOR_EVENT_CLOSE_FAILED =100416, /* Door failed to close */
NETDEV_DOOR_EVENT_CARD_NO_AUTH =100417, /* Unauthorized card */
NETDEV_DOOR_EVENT_NO_DATE_LIMIT =100418, /* No expiration date */
NETDEV_DOOR_EVENT_CARD_ILLEGAL =100419, /* Illegal card */
NETDEV_DOOR_EVENT_FIREPORTECT_ALRAM =100420, /* Fire alarm */
NETDEV_DOOR_EVENT_CANCEL_FIREPORTECT =100421, /* Cancel fire alarm */
NETDEV_DOOR_EVENT_PRYING_RESIST_ALRAM =100422, /* Prying alarm */
NETDEV_DOOR_EVENT_SUPERPASSWD_OPEN_DOOR =100423, /* Door opened by super password */
NETDEV_DOOR_EVENT_COERCECODE_IN =100424, /* Duress code entry */
NETDEV_DOOR_EVENT_DOOR_STATUS_OPEN =100425, /* Door opened */
NETDEV_DOOR_EVENT_DOOR_STATUS_CLOSE =100426, /* Door closed */
NETDEV_DOOR_EVENT_DOOR_FORCED_OPEN =100427, /* Door opened by force */

652 / 767
Network Device SDK (Windows) User Manual
NETDEV_DOOR_EVENT_DOOR_STATUS_OPEN =100428, /* Door keep open */
NETDEV_DOOR_EVENT_LOCK_FAILURE =100429, /* Lock failure */
NETDEV_DOOR_EVENT_LOST_STOLEN_CARD =100430, /* Lost or stolen card */

NETDEV_DOOR_EVENT_PASSWD_WRONG =100431, /* Incorrect password */


NETDEV_DOOR_EVENT_ALWAYS_CLOSED =100432, /* Always closed */
NETDEV_DOOR_EVENT_CARD_PASSWD_ENTER =100433, /* Card & password entry */
NETDEV_DOOR_EVENT_CARD_PASSWD_WRONG =100434, /* Wrong card & password */
NETDEV_DOOR_EVENT_MORE_CARD_OPEN =100435, /* Door opened by multiple cards */
NETDEV_DOOR_EVENT_FIRST_CARD_OPEN =100436, /* Door opened by first card */
NETDEV_DOOR_EVENT_CARD_OUT_DATE =100437, /* Card expired */
NETDEV_DOOR_EVENT_CARD_WATCH =100438, /* Patrol card */

NETDEV_DOOR_EVENT_REMOTE_CLOSE_DOOR =100439, /* Door closed remotely */


NETDEV_DOOR_EVENT_REMOTE_ALWAYS_OPEN =100440, /* Remote always open */
NETDEV_DOOR_EVENT_REMOTE_ALWAYS_CLOSE =100441, /* Remote always closed */
NETDEV_DOOR_EVENT_LEGAL_CARD_PASS =100442, /* Legal card verified*/
NETDEV_DOOR_EVENT_CARD_AND_PSW_PASS =100443, /* Card & password verified */
NETDEV_DOOR_EVENT_CARD_AND_PSW_FAIL =100444, /* Card & password verification failed)*/
NETDEV_DOOR_EVENT_CARD_AND_PSW_TIMEOUT =100445, /* Card & password verification timeout */
NETDEV_DOOR_EVENT_CARD_AND_PSW_OVER_TIME=100446, /* Card & password attempts reached limit*/
NETDEV_DOOR_EVENT_INVALID_CARD =100447, /* Card number not exist */
NETDEV_DOOR_EVENT_DOOR_BUTTON_PRESS =100448, /*Door button pressed */
NETDEV_DOOR_EVENT_DOOR_BUTTON_RELEASE =100449, /*Door button released */
NETDEV_DOOR_EVENT_CARD_READER_DESMANTLE_ALARM =100450, /*Card reader tamper alarm */
NETDEV_DOOR_EVENT_CARD_READER_DESMANTLE_RESUME =100451, /*Card reader tamper alarm cleared
*/
NETDEV_DOOR_EVENT_DOOR_MAGNET_OPEN =100452, /* Door magnet opened normally */
NETDEV_DOOR_EVENT_DOOR_MAGNET_CLOSE =100453, /* Door magnet closed normally */
NETDEV_DOOR_EVENT_DOOR_MAGNET_OPEN_ABNORMAL=100454, /* Door magnet opened abnormally */
NETDEV_DOOR_EVENT_DOOR_MAGNET_OPEN_TIMEOUT =100455, /* Door magnet not opened before timeout
NETDEV_DOOR_EVENT_ANTI_SNEAK_FAIL =100456, /* Anti-passback verification failed
*/
NETDEV_DOOR_EVENT_INTERLOCK_DOOR_NOT_CLOSE =100457, /* Interlock door not closed */
NETDEV_DOOR_EVENT_MULTI_VERIFY_SUCCESS =100458, /* Multi-factor authentication succeeded
*/
NETDEV_DOOR_EVENT_LEADER_CARD_OPEN_BEGIN =100459, /* Door opened by main card started */
NETDEV_DOOR_EVENT_LEADER_CARD_OPEN_END =100460, /*Door opened by main card ended */
NETDEV_DOOR_EVENT_ALWAYS_OPEN_BEGIN =100461, /*Always open started */
NETDEV_DOOR_EVENT_ALWAYS_OPEN_END =100462, /*Always open ended */
NETDEV_DOOR_EVENT_ALWAYS_CLOSE_BEGIN =100463, /* Always close started */
NETDEV_DOOR_EVENT_ALWAYS_CLOSE_END =100464, /*Always close ended */
NETDEV_DOOR_EVENT_KEYPRESS_OPEN_DOOR =100465, /* Door opened by button */

NETDEV_DOOR_EVENT_COMMU_INTERRUPT =100481, /*Communication interrupted */

653 / 767
Network Device SDK (Windows) User Manual
NETDEV_DOOR_EVENT_COMMU_RESTORE =100482, /*Communication restored*/
NETDEV_DOOR_EVENT_LEGAL_CREDIT_CARD =100483, /* Legal card */
NETDEV_DOOR_EVENT_LEGAL_USER_ID =100484, /*Legal user ID */
NETDEV_DOOR_EVENT_CARD_NO_REG =100485, /* Card not registered */
NETDEV_DOOR_EVENT_CARD_UNAUTH =100486, /* Card unauthorized */
NETDEV_DOOR_EVENT_CARD_DISABLED =100487, /* Card disabled */
NETDEV_DOOR_EVENT_CARD_EXPIRED =100488, /* Card expired */
NETDEV_DOOR_EVENT_INVALID_TIME =100489, /* Invalid period */
NETDEV_DOOR_EVENT_PSW_ERROR =100490, /* Incorrect password */
NETDEV_DOOR_EVENT_PROHIBITED =100491, /* Entry prohibited */
NETDEV_DOOR_EVENT_REQ_CENTER_OPEN_DOOR =100492, /* Request center to open door */
NETDEV_DOOR_EVENT_LEGAL_CARD_OPEN_DOOR =100493, /* Door opened by legal card */
NETDEV_DOOR_EVENT_SUPER_CARD_OPEN_DOOR =100494, /*Door opened by super card */
NETDEV_DOOR_EVENT_CENTER_OPEN_DOOR =100496, /* Door opened by center */
NETDEV_DOOR_EVENT_LINK_OPEN_DOOR =100497, /* Door opened by linked action */
NETDEV_DOOR_EVENT_FORCE_OPEN_DOOR =100498, /* Door opened by force */
NETDEV_DOOR_EVENT_DOOR_IS_OPEN =100499, /* Door opened */
NETDEV_DOOR_EVENT_DOOR_IS_CLOSE =100500, /* Door closed */
NETDEV_DOOR_EVENT_STRESS_ALARM =100503, /* Duress alarm */
NETDEV_DOOR_EVENT_TRAILING_ALARM =100505, /* Trailing alarm */
NETDEV_DOOR_EVENT_DOOR_LOCK =100506, /* Door locked */
NETDEV_DOOR_EVENT_LIFT_DOOR_LOCK =100507, /* Door unlocked */
NETDEV_DOOR_EVENT_DOOR_NOT_CLOSE =100508, /* Door not closed */
NETDEV_DOOR_EVENT_NEED_PSW =100509, /* Password required */
NETDEV_DOOR_EVENT_NEED_FINGERPRINT =100510, /* Fingerprint required */
NETDEV_DOOR_EVENT_REQ_INTERCOM =100511, /* Intercom requested */
NETDEV_DOOR_EVENT_EMERGENCY =100512, /* Emergency */
NETDEV_DOOR_EVENT_PATROL_LEGAL_CREDIT_CARD =100513, /* Legal patrol card entry */
NETDEV_DOOR_EVENT_PATROL_LEGAL_FINGERPRINT =100514, /* Legal patrol fingerprint entry */
NETDEV_DOOR_EVENT_PATROL_CARD_NOT_REG =100515, /* Patrol card not registered */
NETDEV_DOOR_EVENT_NOT_PATROL_CARD =100516, /* Not patrol card */
NETDEV_DOOR_EVENT_NORMAL_PATROL =100517, /* Normal patrol */
NETDEV_DOOR_EVENT_ADVANCE_PATROL =100518, /* Patrol ahead of schedule */
NETDEV_DOOR_EVENT_TIMEOUT_PATROL =100519, /* Patrol timeout */
NETDEV_DOOR_EVENT_INVALID_PATROL =100520, /* Invalid patrol */
NETDEV_DOOR_EVENT_NOT_PATROL =100521, /*No patrol */
NETDEV_DOOR_EVENT_TH_ALARM =100522, /* Temperature & humidity alarm */
NETDEV_DOOR_EVENT_TH_RESTORE =100523, /*Temperature & humidity alarm
cleared */
NETDEV_DOOR_EVENT_TH_RECORD =100524, /*Temperature & humidity record */
NETDEV_DOOR_EVENT_SMOKE_ALARM =100525, /* Smoke alarm */
NETDEV_DOOR_EVENT_SMOKE_RESTORE =100526, /* Smoke alarm cleared */
NETDEV_DOOR_EVENT_SMOKE_RECORD =100527, /* Smoke record */

NETDEV_DOOR_EVENT_PC_CONTROL =100528, /* Card entry denied (PC control) */

654 / 767
Network Device SDK (Windows) User Manual
NETDEV_DOOR_EVENT_LIMITED_CARD_NUM =100529, /* Card entry denied (limited number) */
NETDEV_DOOR_EVENT_REASON_UNKNOWN =100530, /* Card entry denied (unknown cause) */
NETDEV_DOOR_EVENT_CONTROLLER_ON =100531, /* Controller powered on */
NETDEV_DOOR_EVENT_CONTROLLER_RESERT =100532, /* Controller reset */
NETDEV_DOOR_EVENT_DOOR_FORCE_CLOSE =100533, /* Door closed by force */
NETDEV_DOOR_EVENT_DOOR_OFFLINE =100534, /* Door offline */
NETDEV_DOOR_EVENT_FIRE =100535, /* Fire alarm */
NETDEV_DOOR_EVENT_CALL_EMERGENCY =100536, /* Emergency call alarm */
NETDEV_DOOR_PERSON_FACE_DOOR =100537, /* Successful face recognition access */
NETDEV_DOOR_PERSON_INVALE_DOOR =100538, /* Failed face recognition access */

NETDEV_DOOR_EVENT_FINGERPRINT_OPEN_DOOR =100553, /* Open door by fingerprint */


NETDEV_DOOR_EVENT_ANTI_SUBMARINE =100554, /* Anti-passback alarm */
NETDEV_DOOR_EVENT_PRESS_MISTAKE =100555, /* Press by mistake alarm */
NETDEV_DOOR_EVENT_PF_PW_RF_OPEN_DOOR =100556, /* Open door by fingerprint or password
or card */

NETDEV_DOOR_EVENT_DOOR_FORCED_OPEN_CLEARED =100557, /* Door forced open cleared */

NETDEV_DOOR_EVENT_BLACKLIST =100558, /* Blocklist */


NETDEV_DOOR_EVENT_FAILED_SEND_CMD =100559, /* Failed to send command */
NETDEV_DOOR_EVENT_FAILED_OPEN_DOOE_MU_CARD =100560, /*Failed to open door by multiple cards
*/
NETDEV_DOOR_EVENT_CARD_INVALID_PERIOD =100561, /*Swipe card during invalid period
*/
NETDEV_DOOR_EVENT_CARD_REPORT_LOST =100562, /*Card report lost */
NETDEV_DOOR_EVENT_TAMPER_ALARM =100563, /* Tamper alarm */
NETDEV_DOOR_EVENT_SWIPE_CARD_WHEN_NORMAL_OPEN =100564, /* Swipe card when normally open */
NETDEV_DOOR_EVENT_OPEN_DOOR_BY_EMERGENCY_PWD =100565, /* Open door by emergency
password */
NETDEV_DOOR_EVENT_OPEN_DOOR_WHEN_NORMAL_OPEN =100566, /* Open door when normally open
*/
NETDEV_DOOR_EVENT_EXIT_BUTTON_DURING_ILLEGAL_PERIOD=100567,/* Press exit button during illegal
period */
NETDEV_DOOR_EVENT_DOOR_ALREADY_OPEN =100568, /* Door already opened */
NETDEV_DOOR_EVENT_DOOR_ALREADY_CLOSE =100569, /*Door already closed */
NETDEV_DOOR_EVENT_ILLEGAL_PERIOD =100570, /* Illegal period */
NETDEV_DOOR_EVENT_OPEN_DOOR_BY_DURESS_PWD =100571, /* Open door by duress password
*/
NETDEV_DOOR_EVENT_NO_MASK =100572, /*No mask */
NETDEV_DOOR_EVENT_BODY_TEMPERATURE =100573, /*Abnormal body temperature */
NETDEV_DOOR_EVENT_M0NITOR_INPUT_ACTIVATED = 100574, /* Monitor input activated */
NETDEV_DOOR_EVENT_M0NITOR_INPUT_CLEAR = 100575, /* Monitor input cleared */
NETDEV_DOOR_EVENT_END =100999, /* End of definitions of access control events
*/

655 / 767
Network Device SDK (Windows) User Manual
#define NETDEV_IS_DOOR_EVENT(x) (100400 <= (x) && (x) < NETDEV_DOOR_EVENT_END)
}NETDEV_ALARM_SUBTYPE_E;

4.28.48 Enumeration of alarm source types

typedef enum tagNETDEVAlarmSrcBelongType


{
NETDEV_ALARM_SRC_BELONG_TYPE_OTHER = 0, /* Other */
NETDEV_ALARM_SRC_BELONG_TYPE_CHL = 1, /* Channel alarm */
NETDEV_ALARM_SRC_BELONG_TYPE_DEV = 2, /* Device alarm */
NETDEV_ALARM_SRC_BELONG_TYPE_INVALID = 0xffff /* Invalid value */
}NETDEV_ALARM_SRC_BELONG_TYPE_E;

4.28.49 Enumeration of member genders

typedef enum tagNETDEVGenderType


{
NETDEV_GENDER_TYPE_UNKNOW = 0, /* 0-Unknown */
NETDEV_GENDER_TYPE_MAN = 1, /* 1-Male */
NETDEV_GENDER_TYPE_WOMAN = 2, /* 2-Female */
NETDEV_GENDER_TYPE_UNEXPLAINED = 9, /* 9-Unexplained */
NETDEV_GENDER_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_GENDER_TYPE_E;

4.28.50 Enumeration of ID types

typedef enum tagNETDEVCertificateType


{
NETDEV_CERTIFICATE_TYPE_ID = 0, /*0: ID card */
NETDEV_CERTIFICATE_TYPE_IC = 1, /* 1: IC card */
NETDEV_CERTIFICATE_TYPE_PASSPORT = 2, /* 2: Passport */
NETDEV_CERTIFICATE_TYPE_DRIVING_LICENSE = 3, /* 3: Driver’s license */
NETDEV_CERTIFICATE_TYPE_OTHER = 99, /* 99: Other */
NETDEV_CERTIFICATE_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_ID_TYPE_E;

4.28.51 Enumeration of file info

typedef enum tagNETDEVFileType


{
NETDEV_TYPE_FOLDER = 0, /* Folder */
NETDEV_TYPE_FILE = 1, /* File */
NETDEV_TYPE_INVALID = 0xff /* Invalid value */
}NETDEV_FILE_TYPE_E;

656 / 767
Network Device SDK (Windows) User Manual
4.28.52 Enumeration of face processing result codes

typedef enum tagNETDEVPersonResultCode


{
NETDEV_PERSON_CODE_SUCCEED = 0, /* Success */
NETDEV_PERSON_CODE_COMMON_FAIL = 1, /* Common failure */
NETDEV_PERSON_CODE_SENDING = 2, /* Sending */
NETDEV_PERSON_CODE_DEV_NOT_SUPPORT = 4, /* Not supported by device */
NETDEV_PERSON_CODE_ARGORITHM_INIT_FAIL = 1000, /* Algorithm initialization failed */
NETDEV_PERSON_CODE_FACE_DETECT_FAIL = 1001, /* Face detection failed */
NETDEV_PERSON_CODE_PICTURE_NO_FACE = 1002, /* No face in image */
NETDEV_PERSON_CODE_JPEG_DECODE_FAIL = 1003, /* Failed to decode JPEG image */
NETDEV_PERSON_CODE_PICTURE_QUALITY_LOW = 1004, /* Low image quality */
NETDEV_PERSON_CODE_PICTURE_ZOOM_FAIL = 1005, /* Failed to zoom image */
NETDEV_PERSON_CODE_INTELLECT_DISABLE = 1006, /* Intelligent function disabled */
NETDEV_PERSON_CODE_PICTURE_TOO_SMALL = 1007, /* Image is too small */
NETDEV_PERSON_CODE_PICTURE_TOO_LARGE = 1008, /* Image is too large */
NETDEV_PERSON_CODE_RESOLUTION_TOO_LARGE = 1009, /* Image exceeds 1920*1080 */
NETDEV_PERSON_CODE_PICTURE_NON_EXISTENT = 1010, /* Image does not exist */
NETDEV_PERSON_CODE_FACE_ELEMENTS_LIMIT = 1011, /* Number of face elements reached upper
limit */
NETDEV_PERSON_CODE_INTELLECT_MODULE_MISMATCH = 1012, /* Smart bar version does not match
the device */
NETDEV_PERSON_CODE_DOCUMENT_ID_INVLID = 1013, /* Invalid ID number of imported
library member */
NETDEV_PERSON_CODE_PICTURE_FORMAT_ERROR = 1014, /* Invalid image format of imported
library member */
NETDEV_PERSON_CODE_MONITOR_DEVICE_LIMIT = 1015, /* Channel’s monitoring capability
reached upper limit */
NETDEV_PERSON_CODE_FACE_LIBRARY_LOCKED = 1016, /* Face library is being operated by
another client */
NETDEV_PERSON_CODE_FACE_LIBRARY_UPDATING = 1017, /* Face library file is being updated
*/
NETDEV_PERSON_CODE_JSON_DESERIALIZE_FAIL = 1018, /* Json deserialization failed */
NETDEV_PERSON_CODE_BASE64_DECODE_FAIL = 1019, /* Base64 decoding failed */
NETDEV_PERSON_CODE_PICTURE_SIZE_MISMATCH = 1020, /* Size of encoded face image does
not match the received */
NETDEV_PERSON_CODE_DEV_PROTOCOL_DIFFER = 1021, /* A monitoring task must use devices
connected via the same image protocol */
NETDEV_PERSON_CODE_REACH_LIMIT = 1022, /* Device’s face libraries reached
upper limit */
NETDEV_PERSON_CODE_NO_SMART = 1023, /* No smart bar */
NETDEV_PERSON_CODE_DEV_BUSY = 1024, /* Device is busy */
NETDEV_PERSON_CODE_INVALID = 0xff /* Invalid value */
}NETDEV_PERSON_RESULT_CODE_E;

657 / 767
Network Device SDK (Windows) User Manual
4.28.53 Enumeration of person comparison results

typedef enum tagPersonCompareResult


{
NETDEV_TYPE_COMPARE_SUCCESS = 1, /* Comparison succeeded */
NETDEV_TYPE_COMPARE_FAILED = 2, /* Comparison failed */
NETDEV_TYPE_COMPARE_INVALID = 0xff /* Invalid value */
}NETDEV_PERSON_COMPARE_RESULT_TYPE_E;

4.28.54 Enumeration of linkage actions

typedef enum tagNETDEVAlarmActID


{
ALARM_ACTION_TYPE_NVR_PREVIEW = 0, /* Preview on NVR. See
NETDEV_CHANNEL_ACT_PARAM_INFO_S */
ALARM_ACTION_TYPE_BUZZER = 1, /* Buzzer. Not supported by IPC. For
NVR, see NETDEV_ENABLED_ACT_PARAM_INFO_S */
ALARM_ACTION_TYPE_E_MAIL = 2, /* E-Mail. Not supported by IPC. For
NVR see NETDEV_ENABLED_ACT_PARAM_INFO_S */
ALARM_ACTION_TYPE_RECORD = 3, /* Recording. Not supported by IPC.
For NVR, see NETDEV_CHANNEL_ACT_PARAM_INFO_S */
ALARM_ACTION_TYPE_PRESET = 4, /* PTZ preset. See
NETDEV_PRESET_ACT_PARAM_INFO_S */
ALARM_ACTION_TYPE_OUTPUT_SWITCH = 5, /* Alarm output. See
NETDEV_OUTPUT_SWITCH_ACT_PARAM_INFO_S */
ALARM_ACTION_TYPE_SNAP = 6, /* Snapshot. For IPC, ActParam is not
required. For NVR, see NETDEV_CHANNEL_ACT_PARAM_INFO_S*/
ALARM_ACTION_TYPE_BOX = 7, /* Pop-up alarm window. Not
supported by IPC. For NVR, see NETDEV_ENABLED_ACT_PARAM_INFO_S */
ALARM_ACTION_TYPE_CENTER_RECORD = 8, /* Central recording. For IPC,
ActParam is not required. Not supported by NVR. */
ALARM_ACTION_TYPE_START_LOCAL_RECORD = 9, /* Start local recording. For IPC,
ActParam is not required. Not supported by NVR. */
ALARM_ACTION_TYPE_STOP_LOCAL_RECORD = 10, /* Stop local recording. For IPC,
ActParam is not required. Not supported by NVR. */
ALARM_ACTION_TYPE_SNAP_UP_FTP = 11, /* Upload snapshot image via FTP. For IPC,
ActParam is not required. Not supported by NVR. */
ALARM_ACTION_TYPE_SNAP_UP_EMAIL = 12, /* Send snapshot image by email. For IPC,
ActParam is not required. Not supported by NVR. */
ALARM_ACTION_TYPE_SNAP_UP_FTP_AND_EMAIL = 13, /* Upload/send snapshot image by
FTP/email. For IPC, ActParam is not required. Not supported by NVR. */
ALARM_ACTION_TYPE_SMART_SNAP_UP = 14, /* Upload smart snapshot image. For IPC,
ActParam is not required. Not supported by NVR. */
ALARM_ACTION_TYPE_FACE_PIC_SNAP_UP = 15, /* Capture and upload face image. For IPC,
ActParam is not required. Not supported by NVR. */
ALARM_ACTION_TYPE_ALARM_REPORT = 16, /* Alarm report. For IPC, ActParam is not
658 / 767
Network Device SDK (Windows) User Manual
required. Not supported by NVR. */
ALARM_ACTION_TYPE_PTZ_ZOOM = 17, /* PTZ zoom. Not supported by IPC. */
ALARM_ACTION_TYPE_INVALID = 0xff /* Invalid parameter */
}NETDEV_ALARM_ACT_ID_E;

4.28.55 Enumeration alarm output status

typedef enum tagNETDEVRelayOutPutState


{
NETDEV_BOOLEAN_STATUS_ACTIVE = 0, /* Active */
NETDEV_BOOLEAN_STATUS_INACTIVE = 1 /* Inactive */
}NETDEV_RELAYOUTPUT_STATE_E;

4.28.56 Enumeration of arming schedule enablement

typedef enum tagNETDEVDefencePlanEnable


{
NETDEV_DEFENCE_PLAN_DISABLE = 0, /* Disable */
NETDEV_DEFENCE_PLAN_ENABLE = 1 /* Enable */
}NETDEV_DEFENCE_PLAN_ENABLE_E;

4.28.57 Enumeration of days of a week

typedef enum tagNETDEVWeekInfo


{
NETDEV_LAPI_WEEK_MONDAY = 1, /* Monday */
NETDEV_LAPI_WEEK_TUESDAY = 2, /* Tuesday */
NETDEV_LAPI_WEEK_WEDNESDAY = 3, /* Wednesday */
NETDEV_LAPI_WEEK_THURSDAY = 4, /* Thursday */
NETDEV_LAPI_WEEK_FRIDAY = 5, /* Friday */
NETDEV_LAPI_WEEK_SATURDAY = 6, /* Saturday */
NETDEV_LAPI_WEEK_SUNDAY = 7, /* Sunday */
NETDEV_LAPI_WEEK_HOLIDAY = 8, /* Holiday */
NETDEV_LAPI_WEEK_INVALID = 0xff /* Invalid value */
}NETDEV_LAPI_WEEK_INFO_E;

4.28.58 Enumeration of arming types

typedef enum tagNETDEVArmingType


{
NETDEV_ARMING_TYPE_TIMING = 0, /* Schedule */
NETDEV_ARMING_TYPE_MOTIONDETEC = 1, /* Motion detection */
NETDEV_ARMING_TYPE_ALARM = 2, /* Alarm */
NETDEV_ARMING_TYPE_MOTIONDETEC_AND_ALARM = 3, /* Motion detection and alarm */
NETDEV_ARMING_TYPE_MOTIONDETEC_OR_ALARM = 4, /* Motion detection or alarm */
NETDEV_ARMING_TYPE_NO_PLAN = 5, /* No schedule */
NETDEV_ARMING_TYPE_EVENT = 10 /* Event */
659 / 767
Network Device SDK (Windows) User Manual
}NETDEV_ARMING_TYPE_E;

Remarks:
 Recording and snapshot schedules support all arming types; other schedule types only support
Normal. IPC only supports Normal (default is Normal, and this field is unnecessary).

4.28.59 Enumeration of person library types

typedef enum tagNETDEVPeopleLibType


{
NETDEV_PEOPLE_LIB_TYPE_DEFAULT = 0, /* Default (null) */
NETDEV_PEOPLE_LIB_TYPE_BLACKLIST = 1, /* Blocklist */
NETDEV_PEOPLE_LIB_TYPE_STRANGER = 2, /* Greylist/stranger */
NETDEV_PEOPLE_LIB_TYPE_STAFF = 3, /* Staff */
NETDEV_PEOPLE_LIB_TYPE_VISITOR = 4, /* Visitor */
NETDEV_PEOPLE_LIB_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_PEOPLE_LIB_TYPE_E;

4.28.60 Enumeration of face monitoring operation result codes

typedef enum tagNETDEVPersonMonitorOptResCode


{
NETDEV_PERSON_MONITOR_CODE_INIT_DETECT_FAIL = 11702, /* Failed to initialize
detection */
NETDEV_PERSON_MONITOR_CODE_FACE_DETECT_FAIL = 11703, /* Face detection failed */
NETDEV_PERSON_MONITOR_CODE_IMAGE_NOT_FIND_FACE = 11704, /* No face in image */
NETDEV_PERSON_MONITOR_CODE_JPEG_PARSE_FAIL = 11705, /* Failed to decode JPEG
image */
NETDEV_PERSON_MONITOR_CODE_IMAGE_MASS_NOT_ENOUGH = 11706, /* Low face image quality */
NETDEV_PERSON_MONITOR_CODE_IMAGE_ZOOM_FAIL = 11707, /* Failed to zoom image */
NETDEV_PERSON_MONITOR_CODE_NOT_START_SMART = 11708, /* Intelligent function
disabled */
NETDEV_PERSON_MONITOR_CODE_PICTURE_TOO_SMALL = 11709, /* Image is too small */
NETDEV_PERSON_MONITOR_CODE_CREATE_FACE_LIB_FAIL = 11710, /* Failed to create face
library */
NETDEV_PERSON_MONITOR_CODE_CREATE_MONITOR_FAIL = 11711, /* Failed to create
monitoring task */
NETDEV_PERSON_MONITOR_CODE_PICTURE_TOO_LARGE = 11714, /* Image is too large */
NETDEV_PERSON_MONITOR_CODE_RESOLUTION_TOO_LARGE = 11715, /* Image exceeds 1920*1080 */
NETDEV_PERSON_MONITOR_CODE_PICTURE_NON_EXISTENT = 11716, /* Image does not exist */
NETDEV_PERSON_MONITOR_CODE_FACE_ELEMENTS_LIMIT = 11717, /* Number of face
elements reached upper limit */
NETDEV_PERSON_MONITOR_CODE_INTELLECT_MODULE_MISMATCH = 11718, /* Smart bar version
does not match the device */
NETDEV_PERSON_MONITOR_CODE_DOCUMENT_ID_INVLID = 11719, /* Invalid ID number of
imported library member */
660 / 767
Network Device SDK (Windows) User Manual
NETDEV_PERSON_MONITOR_CODE_PICTURE_FORMAT_ERROR = 11720, /* Invalid image format of
imported library member */
NETDEV_PERSON_MONITOR_CODE_MONITOR_DEVICE_LIMIT = 11721, /* Channel’s monitoring
capability reached upper limit */
NETDEV_PERSON_MONITOR_CODE_FACE_LIBRARY_LOCKED = 11722, /* Face library is being
operated by another client */
NETDEV_PERSON_MONITOR_CODE_FACE_LIBRARY_UPDATING = 11723, /* Face library file is
being updated */
NETDEV_PERSON_MONITOR_CODE_JSON_DESERIALIZE_FAIL = 11724, /* Json deserialization
failed */
NETDEV_PERSON_MONITOR_CODE_BASE64_DECODE_FAIL = 11725, /* Base64 decoding
failed */
NETDEV_PERSON_MONITOR_CODE_PICTURE_SIZE_MISMATCH = 11726 /* Size of encoded face
image does not match the received */
}NETDEV_PERSON_MONITOR_OPT_RES_CODE_E;

4.28.61 Enumeration of alarm snapshot types

typedef enum tagNETDEVAlarmSnapShotType


{
NETDEV_ALARM_SNAPSHOT_MOTION_DETECT = 0, /* Motion detection alarm */
NETDEV_ALARM_SNAPSHOT_VIDEO_LOST = 1, /* Video loss alarm */
NETDEV_ALARM_SNAPSHOT_AUDIO_DETECTION = 2, /* Audio detection alarm */
NETDEV_ALARM_SNAPSHOT_INPUT_SWITCH = 3, /* Input alarm */
NETDEV_ALARM_SNAPSHOT_IPC_OFFLINE = 4, /* IPC offline */
NETDEV_ALARM_SNAPSHOT_TAMPER_DETECT = 5, /* Tampering detection */
NETDEV_ALARM_SNAPSHOT_CROSS_LINE = 6, /* Cross line detection, supported by VMS
only */
NETDEV_ALARM_SNAPSHOT_INTROSION_ZONE = 7, /* Intrusion detection, supported by VMS
only */
NETDEV_ALARM_SNAPSHOT_FACE_DETECT = 8, /* Face detection, supported by VMS only
*/
NETDEV_ALARM_SNAPSHOT_SCENCECHANGE = 9, /* Scene change, supported by VMS only */
NETDEV_ALARM_SNAPSHOT_OUT_FOCUS = 10, /* Defocus detection, supported by VMS only */
NETDEV_ALARM_SNAPSHOT_FACE_MATCH = 11, /* Face match alarm, supported by VMS only
*/
NETDEV_ALARM_SNAPSHOT_FACE_NOT_MATCH = 12, /* Face not match alarm, supported by VSM
only */
NETDEV_ALARM_SNAPSHOT_GATHER = 13, /* People gathering, supported by VMS only
*/
NETDEV_ALARM_SNAPSHOT_REMAIN_ARTICLE = 14, /* Object left behind, supported by VMS only
*/
NETDEV_ALARM_SNAPSHOT_SMART_TRACK = 15, /* Auto track, supported by VMS only */
NETDEV_ALARM_SNAPSHOT_LOITERING_DETECTOR = 16, /* Loitering detection, supported by VMS only
*/
NETDEV_ALARM_SNAPSHOT_VEHICLE_MATCH = 17, /* Vehicle match alarm, supported by VMS only */
661 / 767
Network Device SDK (Windows) User Manual
NETDEV_ALARM_SNAPSHOT_VEHICLE_NOT_MATCH = 18, /* Vehicle not match alarm, supported by VMS only
*/
NETDEV_ALARM_SNAPSHOT_ENTER_AREA = 19, /* Enter area, supported by VMS only */
NETDEV_ALARM_SNAPSHOT_LEAVE_AREA = 20, /* Leave area, supported by VMS only */
NETDEV_ALARM_SNAPSHOT_ARTICLE_MOVE = 21, /* Object removed, supported by VMS only */
NETDEV_ALARM_SNAPSHOT_DURESS = 22, /* Duress alarm, supported by VMS only */
NETDEV_ALARM_SNAPSHOT_ANRIDISASSEMBLY = 23, /* Anti-dismantle alarm, supported by VMS
only */
NETDEV_ALARM_SNAPSHOT_ANRIDISASSEMBLY_RECOVER = 24, /* Anti-dismantle alarm, supported by VMS
only */
NETDEV_ALARM_SNAPSHOT_BYPASS_OPERATION = 25, /* Bypass operation, supported by VMS only */
NETDEV_ALARM_SNAPSHOT_CF_BJ_EMBNAM_ZONE = 26, /* EMB zone alarm. Applicable to VMS only */
NETDEV_ALARM_SNAPSHOT_CONFLAGRATION = 27, /* Fire detection alarm */
NETDEV_ALARM_SNAPSHOT_HUMAN_SHAPE_DETECT = 28, /* Human body detection alarm */
NETDEV_ALARM_SNAPSHOT_INVALID = 0xFFFF /* Invalid value */
}NETDEV_ALARM_SNAPSHOT_TYPE_E;

4.28.62 Enumeration of 5ePTZ display modes

typedef enum tagNETDEVPTZDisplayMode


{
NETDEV_PTZ_DISPLAY_ORIGINAL = 0, /*Original image */
NETDEV_PTZ_DISPLAY_5PTZ = 1, /*Panoramic+5ePTZ*/
NETDEV_PTZ_DISPLAY_INVALID = 0xff /* Invalid value */
}NETDEV_PTZ_DISPLAY_MODE_E;

4.28.63 Enumeration of fisheye dewarping modes

typedef enum tagNetDEVFishEyePtzMode


{
NETDEV_FISHEYE_MODE_ORIGINAL = 0, /* Original image */
NETDEV_FISHEYE_MODE_180 = 1, /* 2*180°*/
NETDEV_FISHEYE_MODE_360_1PTZ = 2, /* 360°+1PTZ */
NETDEV_FISHEYE_MODE_360_6PTZ = 3, /* 360°+6PTZ */
NETDEV_FISHEYE_MODE_3PTZ = 4, /* Fisheye+3PTZ*/
NETDEV_FISHEYE_MODE_MID_ON_4PTZ = 5, /* Fisheye in the middle and display+4PTZ */
NETDEV_FISHEYE_MODE_MID_OFF_4PTZ= 6, /* Fisheye in the middle but not display+4PTZ
*/
NETDEV_FISHEYE_MODE_LEFT_4PTZ = 7, /* Fisheye on the left+4PTZ */
NETDEV_FISHEYE_MODE_8PTZ = 8, /* Fisheye+8PTZ */
NETDEV_FISHEYE_MODE_PANORAMA = 9, /* Panoramic */
NETDEV_FISHEYE_MODE_PR_3PTZ = 10, /* Panoramic+3PTZ */
NETDEV_FISHEYE_MODE_PR_4PTZ = 11, /* Panoramic+4PTZ */
NETDEV_FISHEYE_MODE_PR_8PTZ = 12, /* Panoramic+8PTZ */
NETDEV_FISHEYE_MODE_INVALID = 0xFF /* Invalid value */
}NETDEV_FISHEYE_PTZ_MODE_E;
662 / 767
Network Device SDK (Windows) User Manual
4.28.64 Enumeration of device mounting modes

typedef enum tagNETDEVfInstallMode


{
NETDEV_INSTALL_MODE_TOP = 0, /* Top mount*/
NETDEV_INSTALL_MODE_BOTTOM = 1, /* Bottom mount */
NETDEV_INSTALL_MODE_SIDE = 2, /* Side mount */
NETDEV_INSTALL_MODE_INVALID = 0xFF /* Invalid value */
}NETDEV_INSTALL_MODE_E;

4.28.65 Enumeration of mouse movement modes

typedef enum tagNETDEVfMouseMoveMode


{
NETDEV_MOUSE_MOVE = 0, /* Mouse move */
NETDEV_MOUSE_LEFT_BTN_DOWN = 1, /* Left button down */
NETDEV_MOUSE_LEFT_BTN_UP = 2, /* Left button up */
NETDEV_MOUSE_WHEEL = 3, /* Scroll wheel */
NETDEV_MOUSE_INVALID = 0xFF /* Invalid value */
}NETDEV_MOUSE_MOVE_MODE_E;

4.28.66 Enumeration of recording types

typedef enum tagNETDEVRecordType


{
NETDEV_RECORD_TYPE_MANUAL = 0, /* Manual recording */
NETDEV_RECORD_TYPE_NORMAL = 1 /* Normal recording */
}NETDEV_RECORD_TYPE_E;

4.28.67 Enumeration of recording status

typedef enum tagNETDEVManualRecordStatus


{
NETDEV_MANUAL_RECORD_STATUS_FREE = 0, /* Not recording */
NETDEV_MANUAL_RECORD_STATUS_RECORDING = 1, /* Recording */
NETDEV_MANUAL_RECORD_STATUS_INVALID = 0xFF /* Invalid value */
}NETDEV_MANUAL_RECORD_STATUS_E;

4.28.68 Device configuration commands

typedef enum tagNETDEVCfgCmd


{
NETDEV_GET_DEVICECFG = 100, /* Get device info.
See NETDEV_DEVICE_BASICINFO_S */
NETDEV_SET_DEVICECFG = 101, /* Reserved */
NETDEV_GET_NTPCFG = 110, /* Get NTP parameters.
See NETDEV_SYSTEM_NTP_INFO_S */
663 / 767
Network Device SDK (Windows) User Manual
NETDEV_SET_NTPCFG = 111, /* Set NTP parameters.
See NETDEV_SYSTEM_NTP_INFO_S */
NETDEV_GET_NTPCFG_EX = 112, /* Get NTP parameters (extended, recommended).
See NETDEV_SYSTEM_NTP_INFO_LIST_S */
NETDEV_SET_NTPCFG_EX = 113, /* Set NTP parameters (extended, recommended).
See NETDEV_SYSTEM_NTP_INFO_LIST_S */
NETDEV_GET_STREAMCFG = 120, /* Get video encoding parameters.
See NETDEV_VIDEO_STREAM_INFO_S */
NETDEV_SET_STREAMCFG = 121, /* Set video encoding parameters.
See NETDEV_VIDEO_STREAM_INFO_S */
NETDEV_GET_STREAMCFG_EX = 122, /* Get video encoding parameters (extended, recommended).
See NETDEV_VIDEO_STREAM_INFO_LIST_S */
NETDEV_SET_STREAMCFG_EX = 123, /* Set video encoding parameters (extended, recommended).
See NETDEV_VIDEO_STREAM_INFO_LIST_S */
NETDEV_GET_VIDEOMODECFG = 124, /* Get image collection modes.
See NETDEV_VIDEO_MODE_INFO_S */
NETDEV_SET_VIDEOMODECFG = 125, /* Set image collection modes.
See NETDEV_VIDEO_MODE_INFO_S */
NETDEV_GET_OSDCFG = 140, /* Get OSD configuration info.
See NETDEV_VIDEO_OSD_CFG_S */
NETDEV_SET_OSDCFG = 141, /* Set OSD configuration info.
See NETDEV_VIDEO_OSD_CFG_S */
NETDEV_GET_OSDCFG_EX = 142, /* Get OSD configuration list.
See NETDEV_CHL_OSD_CFG_LIST_S */
NETDEV_SET_OSDCFG_EX = 143, /* Set OSD configuration list.
See NETDEV_CHL_OSD_CFG_LIST_S */
NETDEV_GET_OSD_CONTENT_CFG = 144, /* Get OSD configuration info (extended,
recommended).
See NETDEV_OSD_CONTENT_S */
NETDEV_SET_OSD_CONTENT_CFG = 145, /* Set OSD configuration info (extended,
recommended).
See NETDEV_OSD_CONTENT_S */
NETDEV_GET_OSD_CONTENT_STYLE_CFG = 146, /* Get OSD content sytle.
See NETDEV_OSD_CONTENT_STYLE_S */
NETDEV_SET_OSD_CONTENT_STYLE_CFG = 147, /* Set OSD content style.
See NETDEV_OSD_CONTENT_STYLE_S */
NETDEV_GET_ALARM_OUTPUTCFG = 150, /* Get alarm output configuration info.
See NETDEV_ALARM_OUTPUT_LIST_S */
NETDEV_SET_ALARM_OUTPUTCFG = 151, /* Set alarm output configuration info.
See NETDEV_ALARM_OUTPUT_LIST_S */
NETDEV_TRIGGER_ALARM_OUTPUT = 152, /* Trigger alarm output.
See NETDEV_TRIGGER_ALARM_OUTPUT_S */
NETDEV_GET_ALARM_INPUTCFG = 153, /* Get the number of alarm inputs.
See NETDEV_ALARM_INPUT_LIST_S */
NETDEV_GET_MANUAL_ALARM_CFG = 154, /* Get manual alarm configuration info.

664 / 767
Network Device SDK (Windows) User Manual
See NETDEV_OUTPUT_SWITCH_ALARM_STATUS_LIST_S */
NETDEV_SET_MANUAL_ALARM_CFG = 155, /* Set manual alarm configuration info.
See NETDEV_OUTPUT_SWITCH_MANUAL_ALARM_INFO_S */
NETDEV_GET_INPUTSWITCH_LIST_CFG = 156, /* Get all alarm input configuration.
See NETDEV_INPUT_SWITCH_INFO_LIST_S */
NETDEV_GET_IMAGECFG = 160, /* Get image configuration info.
See NETDEV_IMAGE_SETTING_S */
NETDEV_SET_IMAGECFG = 161, /* Set image configuration info.
See NETDEV_IMAGE_SETTING_S */
NETDEV_GET_IMAGE_EXPOSURE = 162, /* Get image exposure parameters.
See NETDEV_IMAGE_EXPOSURE_S*/
NETDEV_SET_IMAGE_EXPOSURE = 163, /* Set image exposure parameters.
See NETDEV_IMAGE_EXPOSURE_S */
NETDEV_GET_IMAGE_LAMP_CTRLCFG = 164, /* Get illuminator parameters.
See NETDEV_LAMP_CTRL_INFO_S */
NETDEV_SET_IMAGE_LAMP_CTRLCFG = 165, /* Set illuminator parameters.
See NETDEV_LAMP_CTRL_INFO_S */
NETDEV_GET_IMAGE_WHITE_BALANCE = 166, /* Get image white balance parameters.
See NETDEV_WHITE_BALANCE_INFO_S */
NETDEV_SET_IMAGE_WHITE_BALANCE = 167, /* Set image white balance parameters.
See NETDEV_WHITE_BALANCE_INFO_S */
NETDEV_SET_IMAGE_PARAM_RESET = 168, /* Set default image parameters. */
NETDEV_GET_NETWORKCFG = 170, /* Get network configuration info.
See NETDEV_NETWORKCFG_S */
NETDEV_SET_NETWORKCFG = 171, /* Set network configuration info.
See NETDEV_NETWORKCFG_S */
NETDEV_GET_VPN_CFG = 172, /* Get VPN client’s specified mode.
See NETDEV_VPN_CLIENT_INFO_S */
NETDEV_SET_VPN_CFG = 173, /* Set VPN client's specified mode.
See NETDEV_VPN_CLIENT_INFO_S */
NETDEV_SET_DNS_CFG = 174, /* Set DNS address info.
See NETDEV_DNS_INFO_S */
NETDEV_GET_DNS_CFG = 175, /* Get DNS address info.
See NETDEV_DNS_INFO_S */
NETDEV_SET_NETWORK_CARDS = 176, /* Set configuration info of all NICs.
See NETDEV_NETWORK_CARD_INFO_S */
NETDEV_GET_NETWORK_CARDS = 177, /* Get configuration info of all NICs.
See NETDEV_NETWORK_CARD_INFO_S */
NETDEV_SET_NETWORK_PORTS = 178, /* Set network port info.
See NETDEV_NETWORK_PORTS_INFO_S */
NETDEV_GET_NETWORK_PORTS = 179, /* Get network port info.
See NETDEV_NETWORK_PORTS_INFO_S */
NETDEV_GET_PRIVACYMASKCFG = 180, /* Get privacy mask configuration info.
See NETDEV_PRIVACY_MASK_CFG_S */
NETDEV_SET_PRIVACYMASKCFG = 181, /* Set privacy mask configuration info.

665 / 767
Network Device SDK (Windows) User Manual
See NETDEV_PRIVACY_MASK_CFG_S */
NETDEV_DELETE_PRIVACYMASKCFG = 182, /* Delete privacy mask configuration
info. */
NETDEV_GET_TAMPERALARM = 190, /* Get tampering detection alarm info.
See NETDEV_TAMPER_ALARM_INFO_S */
NETDEV_SET_TAMPERALARM = 191, /* Set tampering detection alarm info.
See NETDEV_TAMPER_ALARM_INFO_S */
NETDEV_GET_MOTIONALARM = 200, /* Get motion detection alarm info.
See NETDEV_MOTION_ALARM_INFO_S */
NETDEV_SET_MOTIONALARM = 201, /* Set motion detection alarm info.
See NETDEV_MOTION_ALARM_INFO_S */
NETDEV_GET_CROSSLINEALARM = 202, /* Get cross line detection alarm info.
See NETDEV_CROSS_LINE_ALARM_INFO_S */
NETDEV_SET_CROSSLINEALARM = 203, /* Set cross line detection alarm info.
See NETDEV_CROSS_LINE_ALARM_INFO_S */
NETDEV_GET_INTRUSIONALARM = 204, /* Get intrusion detection alarm info.
See NETDEV_INTRUSION_ALARM_INFO_S */
NETDEV_SET_INTRUSIONALARM = 205, /* Set intrusion detection alarm
info.
See NETDEV_INTRUSION_ALARM_INFO_S */
NETDEV_GET_DISKSINFO = 210, /* Get HDD info.
See NETDEV_DISK_INFO_LIST_S */
NETDEV_SET_DISKSINFO = 211, /* Set HDD info. Reserved */
NETDEV_GET_FOCUSINFO = 230, /* Get focus info.
See NETDEV_FOCUS_INFO_S */
NETDEV_SET_FOCUSINFO = 231, /* Set focus info.
See NETDEV_FOCUS_INFO_S */
NETDEV_GET_IRCUTFILTERINFO = 232, /* Get day/night mode info.
See NETDEV_IRCUT_FILTER_INFO_S */
NETDEV_SET_IRCUTFILTERINFO = 233, /* Set day/night mode info.
See NETDEV_IRCUT_FILTER_INFO_S */
NETDEV_GET_DEFOGGINGINFO = 234, /* Get defogging mode info.
See NETDEV_DEFOGGING_INFO_S */
NETDEV_SET_DEFOGGINGINFO = 235, /* Set defogging mode info.
See NETDEV_DEFOGGING_INFO_S */
NETDEV_SET_CHL_IMAGE_ENHANCE = 236, /* Set image enhancement parameters.
See NETDEV_IMAGE_ENHANCE_S */
NETDEV_GET_CHL_IMAGE_ENHANCE = 237, /* Get image enhancement parameters.
See NETDEV_IMAGE_ENHANCE_S */
NETDEV_GET_AUDIOIN_CFG = 240, /* Get audio input configuration
info.
See NETDEV_AUDIO_INPUT_CFG_INFO_S */
NETDEV_SET_AUDIOIN_CFG = 241, /* Set audio input configuration
info.
See NETDEV_AUDIO_INPUT_CFG_INFO_S */

666 / 767
Network Device SDK (Windows) User Manual
NETDEV_GET_DST_CFG = 260, /* Get DST configuration info.
See NETDEV_DST_CFG_S */
NETDEV_SET_DST_CFG = 261, /* Set DST configuration info.
See NETDEV_DST_CFG_S */
NETDEV_GET_RECORDPLANINFO = 270, /* Get recording schedule configuration
info. Supported by NVR and VMS. See NETDEV_RECORD_PLAN_CFG_INFO_S*/
NETDEV_SET_RECORDPLANINFO = 271, /* Set recording schedule configuration
info. Supported by NVR and VMS. See NETDEV_RECORD_PLAN_CFG_INFO_S */
NETDEV_SET_SNAPSHOT_CFG = 272, /* Set snapshot parameters.
See NETDEV_VIDEO_SNAPSHOT_S */
NETDEV_GET_SNAPSHOT_CFG = 273, /* Get snapshot parameters.
See NETDEV_VIDEO_SNAPSHOT_S*/
NETDEV_GET_MOTIONDETECTION_WEEKPLAN = 280, /* Get motion detection arming schedule.
See NETDEV_WEEK_PLAN_INFO_S */
NETDEV_SET_MOTIONDETECTION_WEEKPLAN = 281, /* Set motion detection arming schedule.
Set NETDEV_WEEK_PLAN_INFO_S */
NETDEV_GET_CROSSLINEDETECTION_WEEKPLAN = 282, /* Get cross line detection arming schedule.
Set NETDEV_WEEK_PLAN_INFO_S */
NETDEV_SET_CROSSLINEDETECTION_WEEKPLAN = 283, /* Set cross line detection arming schedule.
See NETDEV_WEEK_PLAN_INFO_S */
NETDEV_GET_INTRUSIONDETECTION_WEEKPLAN = 284, /* Get intrusion detection arming schedule.
See NETDEV_WEEK_PLAN_INFO_S */
NETDEV_SET_INTRUSIONDETECTION_WEEKPLAN = 285, /* Set intrusion detection arming schedule.
See NETDEV_WEEK_PLAN_INFO_S */
NETDEV_GET_AUDIODETECTION_WEEKPLAN = 286, /* Get audio detection arming schedule.
Set NETDEV_WEEK_PLAN_INFO_S */
NETDEV_SET_AUDIODETECTION_WEEKPLAN = 287, /* Set audio detection arming schedule.
Set NETDEV_WEEK_PLAN_INFO_S */
NETDEV_GET_OBJTRACK_WEEKPLAN = 288, /* Get auto track arming scheduling.
See NETDEV_WEEK_PLAN_INFO_S */
NETDEV_SET_OBJTRACK_WEEKPLAN = 289, /* Set auto track arming scheduling.
See NETDEV_WEEK_PLAN_INFO_S */
NETDEV_GET_VIDEOLOSS_WEEKPLAN = 290, /* Get video loss arming schedule.
Set NETDEV_WEEK_PLAN_INFO_S */
NETDEV_SET_VIDEOLOSS_WEEKPLAN = 291, /* Set video loss arming schedule.
Set NETDEV_WEEK_PLAN_INFO_S */
NETDEV_GET_TAMPERDETECTION_WEEKPLAN = 292, /* Get tampering detection arming schedule.
See NETDEV_WEEK_PLAN_INFO_S */
NETDEV_SET_TAMPERDETECTION_WEEKPLAN = 293, /* Set tampering detection arming schedule.
Set NETDEV_WEEK_PLAN_INFO_S */
NETDEV_GET_INPUTSWITCHES_WEEKPLAN = 294, /* Get alarm input arming schedule.
See NETDEV_SWITCH_WEEK_PLAN_INFO_S */
NETDEV_SET_INPUTSWITCHES_WEEKPLAN = 295, /* Set alarm input arming schedule.
See NETDEV_SWITCH_WEEK_PLAN_INFO_S */
NETDEV_GET_OUTPUTSWITCHES_WEEKPLAN = 296, /* Get alarm output arming schedule.

667 / 767
Network Device SDK (Windows) User Manual
See NETDEV_SWITCH_WEEK_PLAN_INFO_S */
NETDEV_SET_OUTPUTSWITCHES_WEEKPLAN = 297, /* Set alarm output arming schedule.
See NETDEV_SWITCH_WEEK_PLAN_INFO_S */
NETDEV_GET_DEFOCUSDETECTION_WEEKPLAN = 298, /* Get defocus detection arming schedule.
See NETDEV_WEEK_PLAN_INFO_S */
NETDEV_SET_DEFOCUSDETECTION_WEEKPLAN = 299, /* Set defocus detection arming schedule.
See NETDEV_WEEK_PLAN_INFO_S */
NETDEV_GET_SCENECHANGE_WEEKPLAN = 300, /* Get scene change arming schedule.
See NETDEV_WEEK_PLAN_INFO_S */
NETDEV_SET_SCENECHANGE_WEEKPLAN = 301, /* Set scene change arming schedule.
See NETDEV_WEEK_PLAN_INFO_S */
NETDEV_GET_FACEDETECTION_WEEKPLAN = 302, /* Get face detection arming schedule.
See NETDEV_WEEK_PLAN_INFO_S */
NETDEV_SET_FACEDETECTION_WEEKPLAN = 303, /* Set face detection arming schedule.
See NETDEV_WEEK_PLAN_INFO_S */
NETDEV_GET_RECORD_STATUS = 320, /* Get recording status info.
See NETDEV_RECORD_STATUS_LIST_S */
NETDEV_GET_SERIAL_CFG = 330, /* Get serial interface configuration.
See NETDEV_SERIAL_PORTS_S */
NETDEV_SET_SERIAL_CFG = 331, /* Set serial interface configuration.
See NETDEV_SERIAL_PORTS_S */
NETDEV_GET_AUDIO_DECODE_STATUS = 340, /* Get all audio decoding statuses.
See NETDEV_AUDIO_DECODE_STATUS_LIST_S */
NETDEV_SET_AUDIO_DECODE_STATUS = 341, /* Set all audio decoding statuses.
See NETDEV_AUDIO_DECODE_STATUS_LIST_S */
NETDEV_GET_VIDEO_LOSS_RULE_INFO = 400, /* Get video loss detection configuration
info.
See NETDEV_VIDEO_LOSS_RULE_INFO_S */
NETDEV_SET_VIDEO_LOSS_RULE_INFO = 401, /* Set video loss detection configuration
info.
See NETDEV_VIDEO_LOSS_RULE_INFO_S */
NETDEV_GET_VIDEO_LOSS_LINKAGE_ACTIONS = 410, /* Get video loss alarm linkage actions.
See NETDEV_LINKAGE_ACTION_LIST_S */
NETDEV_SET_VIDEO_LOSS_LINKAGE_ACTIONS = 411, /* Set video loss alarm linkage actions.
See NETDEV_LINKAGE_ACTION_LIST_S */
NETDEV_GET_TAMPER_DETECTION_RULE_INFO = 420, /* Get tampering detection configuration
info. See NETDEV_TAMPER_DETECTION_RULE_INFO_S */
NETDEV_SET_TAMPER_DETECTION_RULE_INFO = 421, /* Set tampering detection configuration
info. See NETDEV_TAMPER_DETECTION_RULE_INFO_S */
NETDEV_GET_TAMPER_DETECTION_LINKAGE_ACTIONS = 430, /* Get tampering detection alarm linkage
actions.
See NETDEV_LINKAGE_ACTION_LIST_S */
NETDEV_SET_TAMPER_DETECTION_LINKAGE_ACTIONS = 431, /* Set tampering detection alarm linkage
actions. See NETDEV_LINKAGE_ACTION_LIST_S */
NETDEV_GET_TEMP_DETECTION_RULE_INFO = 432, /* Get temperature detection

668 / 767
Network Device SDK (Windows) User Manual
configuration info. See NETDEV_TEMP_DETECTION_RULE_INFO_S */
NETDEV_SET_TEMP_DETECTION_RULE_INFO = 433, /* Set temperature detection
configuration info. See NETDEV_TEMP_DETECTION_RULE_INFO_S */
NETDEV_GET_TEMP_DETECTION_BLACKBODY_INFO = 434, /* Get temperature detection
blackbody parameters. See NETDEV_TEMP_DETECTION_BLACKBODY_INFO_S */
NETDEV_SET_TEMP_DETECTION_BLACKBODY_INFO = 435, /* Set temperature detection
blackbody parameters. See NETDEV_TEMP_DETECTION_BLACKBODY_INFO_S */
NETDEV_GET_TEMP_DETECTION_CORRECT_INFO = 436, /* Get temperature correction parameters.
See NETDEV_TEMP_DETECTION_CORRECT_INFO_S */
NETDEV_SET_TEMP_DETECTION_CORRECT_INFO = 437, /* Set temperature correction parameters.
See NETDEV_TEMP_DETECTION_CORRECT_INFO_S */
NETDEV_GET_TEMP_DETECTION_UNIT_INFO = 438, /* Get temperature detection unit.
See NETDEV_TEMP_DETECTION_UNIT_INFO_S */
NETDEV_SET_TEMP_DETECTION_UNIT_INFO = 439, /* Set temperature detection unit.
See NETDEV_TEMP_DETECTION_UNIT_INFO_S */
NETDEV_GET_MOTION_DETECTION_AREA_TYPE = 440, /* Get the area type of motion
detection. See NETDEV_MOTION_DETECTION_AREA_TYPE_S */
NETDEV_SET_MOTION_DETECTION_AREA_TYPE = 441, /* Set the area type of motion
detection. See NETDEV_MOTION_DETECTION_AREA_TYPE_S */
NETDEV_GET_MOTION_DETECTION_AREA_GRID_INFO = 442, /* Get grid area info of motion
detection. See NETDEV_MOTION_DETECTION_AREA_GRID_INFO_S */
NETDEV_SET_MOTION_DETECTION_AREA_GRID_INFO = 443, /* Set grid area info of
motion detection.
See NETDEV_MOTION_DETECTION_AREA_GRID_INFO_S */
NETDEV_GET_MOTION_DETECTION_AREA_RECTANGLE_INFO_LIST = 444, /* Get all rectangle area
info in motion detection.
See NETDEV_MOTION_DETECTION_AREA_RECTANGLE_INFO_LIST_S */
NETDEV_SET_MOTION_DETECTION_AREA_RECTANGLE_INFO_LIST = 445, /* Set all rectangle area
info in motion detection.
See NETDEV_MOTION_DETECTION_AREA_RECTANGLE_INFO_LIST_S */
NETDEV_GET_MOTION_DETECTION_LINKAGE_ACTIONS = 450, /* Get linkage actions of
motion detection alarm. See NETDEV_LINKAGE_ACTION_LIST_S*/
NETDEV_SET_MOTION_DETECTION_LINKAGE_ACTIONS = 451, /* Set linkage actions of
motion detection alarm. See NETDEV_LINKAGE_ACTION_LIST_S */
NETDEV_GET_INPUT_SWITCHES_LINKAGE_ACTIONS = 460, /* Get linkage actions
of alarm input (input switch alarm). See NETDEV_SWITCH_LINKAGE_ACTION_S */.
NETDEV_SET_INPUT_SWITCHES_LINKAGE_ACTIONS = 461, /* Set linkage actions
of alarm input (input switch alarm). See NETDEV_SWITCH_LINKAGE_ACTION_S */
NETDEV_GET_RAID_STATUS = 470, /* Get RAID status.
See NETDEV_RAID_STATUS_S */
NETDEV_GET_RAID_STORAGE_CONTAINER_INFO_LIST = 471, /* First use
NETDEV_GET_RAID_STATUS to get RAID status. If RAID is disabled, get storage container list.

See NETDEV_HDD_INFO_LIST_S */
NETDEV_GET_STORAGE_CONTAINER_INFO_LIST = 472, /* First use

669 / 767
Network Device SDK (Windows) User Manual
NETDEV_GET_RAID_STATUS to get RAID status. If RAID is disabled, get the storage container list.

See NETDEV_STORAGE_CONTAINER_INFO_LIST_S */
NETDEV_GET_HDD_SMART_INFO = 473, /* Get S.M.A.R.T.
info of specified HDD. See NETDEV_HDD_SMART_INFO_S */
NETDEV_SET_HDD_SMART_INFO = 474, /* Set S.M.A.R.T.
info of specified HDD. See NETDEV_HDD_SMART_CHECK_INFO_S */
NETDEV_GET_RAID_STATUS_V30 = 475, /* Get RAID status.
Supported by VMS/NVR. See NETDEV_RAID_STATUS_S */
NETDEV_SET_RAID_STATUS_V30 = 476, /* Set RAID status.
Supported by VMS/NVR. See NETDEV_RAID_STATUS_S */
NETDEV_GET_CLOUD_CONVENIENT_ACCS_STATUS = 480, /* Get the status of
quick adding mode of EZCloud devices. 0: Disable 1: Enable */

NETDEV_SET_CLOUD_CONVENIENT_ACCS_STATUS = 481, /* Set the status of


quick adding mode of EZCloud devices. 0: Disable 1: Enable */

NETDEV_GET_PHOTO_SERVER_INFO = 482, /* Get configuration


info of photo server. See NETDEV_PHOTO_SERVER_CFG_INFO_LIST_S */
NETDEV_SET_PHOTO_SERVER_INFO = 483, /* Set configuration
info of photo server. See NETDEV_PHOTO_SERVER_CFG_INFO_LIST_S */
NETDEV_GET_ENHANCED_CONFIG = 484, /* Get enhanced
configuration info of VMS. See NETDEV_ENHANCED_CONFIG_INFO_S */

NETDEV_SET_ENHANCED_CONFIG = 485, /* Set enhanced


configuration info of VMS. See NETDEV_ENHANCED_CONFIG_INFO_S */
NETDEV_GET_INTELLIGENT_SERVER_INFO = 486, /* Get intelligent
server configuration. See NETDEV_DATA_SERVER_LIST */
NETDEV_SET_INTELLIGENT_SERVER_INFO = 487, /* Set intelligent
server configuration. See NETDEV_DATA_SERVER_LIST */
NETDEV_GET_MOTION_INTERVAL_INFO = 490, /* Get alarm interval parameters of
motion detection alarm. See NETDEV_MOTION_INTERVAL_INFO_S */
NETDEV_SET_MOTION_INTERVAL_INFO = 491, /* Set alarm interval parameters of
motion detection alarm. See NETDEV_MOTION_INTERVAL_INFO_S */
NETDEV_GET_MANAGER_SERVER_INFO = 492, /* Get management server
configuration. See NETDEV_MANAGER_SERVER_LIST_S */
NETDEV_SET_MANAGER_SERVER_INFO = 493, /* Set management server
configuration. See NETDEV_MANAGER_SERVER_LIST_S */
NETDEV_GET_VISIBLE_RANGE_INFO = 494, /* Get visible range parameters. See
NETDEV_VISIBLE_RANGE_INFO_S */
NETDEV_SET_VISIBLE_RANGE_INFO = 495, /* Set visible range parameters. See
NETDEV_VISIBLE_RANGE_INFO_S */
NETDEV_GET_RESET_PWD_VERTIFY_INFO = 496, /* Get verification info for
retrieving user password. See NETDEV_RESET_PWD_VERTIFY_INFO_S */
NETDEV_SET_RESET_PWD_VERTIFY_INFO = 497, /* Set verification info for

670 / 767
Network Device SDK (Windows) User Manual
retrieving user password. See NETDEV_RESET_PWD_VERTIFY_INFO_S*/
NETDEV_GET_CHL_STORAGE_QUOTA_INFO = 498, /* Get channel's storage quota info.
See NETDEV_STORAGE_QUOTA_INFO_S */
NETDEV_SET_CHL_STORAGE_QUOTA_INFO = 499, /* Set channel’s storage quota info.
See NETDEV_STORAGE_QUOTA_INFO_S */
NETDEV_GET_CUSTOM_PROTOCOL_INFO = 501, /* Get custom protocol configuration
info. See NETDEV_CUSTON_PROTOCOL_INFO_S */
NETDEV_SET_CUSTOM_PROTOCOL_INFO = 502, /* Set custom protocol configuration
info. See NETDEV_CUSTON_PROTOCOL_INFO_S */
NETDEV_GET_CUSTOM_PROTOCOL_INFOLIST = 503, /* Get custom protocol list. See
NETDEV_CUSTON_PROTOCOL_SIMPLE_INFO_LIST_S*/
NETDEV_GET_CHL_STORAGE_STRATEGY = 504, /* Get channel’s storage
strategy info. See NETDEV_STORAGE_STRATEGY_S */
NETDEV_SET_CHL_STORAGE_STRATEGY = 505, /* Set channel’s storage
strategy info. See NETDEV_STORAGE_STRATEGY_S */
NETDEV_SET_BACKFOCUS = 506, /* Set backfocus.
Applicable to IPC only. See NETDEV_BACKFOCUS_INFO_S */
NETDEV_GET_SMART_ATTR_MONITOR = 508, /* Get smart attribute
configuration. See NETDEV_SMART_ATTR_CFG_S */
NETDEV_SET_SMART_ATTR_MONITOR = 509, /* Set smart attribute
configuration. See NETDEV_SMART_ATTR_CFG_S */
NETDEV_GET_IMAGE_CORRECT_PARAM = 510, /* Get image correction
parameters. See NETDEV_IMAGE_CORRECT_PARAM_S */
NETDEV_GET_DEVICE_TIME_SYNCMODE = 512, /* Get device’s time sync mode.
See NETDEV_TIME_SYNCMODE_S */
NETDEV_SET_DEVICE_TIME_SYNCMODE = 513, /* Set device’s time sync
mode. See NETDEV_TIME_SYNCMODE_S */
NETDEV_GET_IMAGE_SCENE_AUTO_SWITCH_INFO = 514, /* Get info of automatic scene
switching. See NETDEV_SCENE_AUTO_SWITCH_INFO_S */
NETDEV_SET_IMAGE_SCENE_AUTO_SWITCH_INFO = 515, /* Set info of automatic scene
switching. NETDEV_SCENE_AUTO_SWITCH_INFO_S */
NETDEV_GET_IMAGE_CURRENT_SCENE_TEMPLATE_INFO = 516, /* Get the current scene
template in use. See NETDEV_SCENE_TEMPLATE_INFO_S */
NETDEV_SET_IMAGE_CURRENT_SCENE_TEMPLATE_INFO = 517, /* Set the current scene
template in use. See NETDEV_SCENE_TEMPLATE_INFO_S */
NETDEV_GET_IMAGE_DEFAULT_SCENE_TEMPLATE_INFO = 518, /* Get the default scene
template. See NETDEV_SCENE_TEMPLATE_INFO_S */
NETDEV_SET_IMAGE_DEFAULT_SCENE_TEMPLATE_INFO = 519, /* Set the default scene
template. See NETDEV_SCENE_TEMPLATE_INFO_S */
NETDEV_GET_IMAGE_ALL_SCENE_INFO = 520, /* Get all scene info. See
NETDEV_SCENE_INFO_LIST_S */
NETDEV_SET_IMAGE_ALL_SCENE_INFO = 521, /* Set all scene info. See
NETDEV_SCENE_INFO_LIST_S */
NETDEV_GET_IMAGE_SPECIFIC_SCENE_INFO = 522, /* Get info of a specified
scene template. See NETDEV_SCENE_INFO_S */

671 / 767
Network Device SDK (Windows) User Manual
NETDEV_SET_IMAGE_SPECIFIC_SCENE_INFO = 523, /* Set info of a specified
scene template. See NETDEV_SCENE_INFO_S */
NETDEV_GET_ATTR_COLLECT_INFO = 524, /* Get attribute
collection info. See NETDEV_ATTR_COLLECT_INFO_S */
NETDEV_SET_ATTR_COLLECT_INFO = 525, /* Set attribute
collection info. See NETDEV_ATTR_COLLECT_INFO_S */
NETDEV_GET_SYS_TIMECFG = 526, /* Get system time
parameters. See NETDEV_TIME_CFG_V30_S. Currently only display control devices support URL. When
channel ID is not required, xFF must be passed in as channel ID. */
NETDEV_SET_SYS_TIMECFG = 527, /* Set system time
parameters. See NETDEV_TIME_CFG_V30_S. Currently only display control devices support URL. When
channel ID is not needed, NETDEV_INVALID_CHANNEL_ID must be passed in as the channel ID. */
NETDEV_GET_NTPCFG_V30 = 528, /* Get all NTP server
info. See NETDEV_SYSTEM_NTP_INFO_LIST_S. Currently only display control devices support URL. When
channel ID is not needed, NETDEV_INVALID_CHANNEL_ID must be passed in as the channel ID. */
NETDEV_SET_NTPCFG_V30 = 529, /* Set all NTP server
info. See NETDEV_SYSTEM_NTP_INFO_LIST_S. Current only display control device support URL. When channel
ID is not needed, NETDEV_INVALID_CHANNEL_ID must be passed in as the channel ID */
NETDEV_GET_DEVICE_TIME_SYNCMODE_EX = 530, /* Get device’s time sync
mode. See NETDEV_TIME_SYNCMODE_S. Currently only display control devices support URL. When channel
ID is not required, NETDEV_INVALID_CHANNEL_ID must be passed in as the channel ID. */
NETDEV_SET_DEVICE_TIME_SYNCMODE_EX = 531, /* Set device’s time sync
mode. See NETDEV_TIME_SYNCMODE_S. Currently only display control devices support URL. When channel
ID is not required, NETDEV_INVALID_CHANNEL_ID must be passed in as the channel ID. */
NETDEV_GET_AREA_PEOPLE_COUNT_RULE_INFO = 532, /* Get configuration info of
area people counting rules. See NETDEV_AREA_PEOPLE_COUNT_RULE_INFO_S */
NETDEV_SET_AREA_PEOPLE_COUNT_RULE_INFO = 533, /* Set configuration info of
area people counting rules. See NETDEV_AREA_PEOPLE_COUNT_RULE_INFO_S */
NETDEV_GET_LINE_PEOPLE_COUNT_RULE_INFO = 534, /* Get configuration info of
tripwire people counting rules. See NETDEV_LINE_PEOPLE_COUNT_RULE_INFO_S */
NETDEV_SET_LINE_PEOPLE_COUNT_RULE_INFO = 535, /* Set configuration info of
tripwire people counting rules. See NETDEV_LINE_PEOPLE_COUNT_RULE_INFO_S */
NETDEV_GET_LINE_PEOPLE_COUNT_RESET_INFO = 536, /* Get reset configuration of
tripwire people counting. See NETDEV_LINE_PEOPLE_COUNT_RESET_INFO_S */
NETDEV_SET_LINE_PEOPLE_COUNT_RESET_INFO = 537, /* Set reset configuration of
tripwire people counting. See NETDEV_LINE_PEOPLE_COUNT_RESET_INFO_S */
NETDEV_GET_BOX_DOME_LINKAGE_INFO = 547, /* Get info about dome
camera that has been added on box camera. See NETDEV_LINK_DOME_INFO_LIST_S */
NETDEV_CFG_INVALID = 0xFFFF /* Invalid value */
}NETDEV_CONFIG_COMMAND_E;

4.28.69 IP protocol types

typedef enum tagHOSTType


{
NETDEV_NETWORK_HOSTTYPE_IPV4 = 0, /* IPv4 */
672 / 767
Network Device SDK (Windows) User Manual
NETDEV_NETWORK_HOSTTYPE_IPV6 = 1, /* IPv6 */
NETDEV_NETWORK_HOSTTYPE_DNS = 2, /* Domain name*/
NETDEV_NETWORK_HOSTTYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_HOSTTYPE_E;

4.28.70 Image quality

typedef enum tagNETDEVVideoQuality


{
NETDEV_VQ_L0 = 0, /* Highest */
NETDEV_VQ_L1 = 1,
NETDEV_VQ_L2 = 4, /* Higher */
NETDEV_VQ_L3 = 8,
NETDEV_VQ_L4 = 12, /* Medium */
NETDEV_VQ_L5 = 16,
NETDEV_VQ_L6 = 20, /* Low */
NETDEV_VQ_L7 = 24,
NETDEV_VQ_L8 = 28, /* Very low */
NETDEV_VQ_L9 = 31, /* Lowest */
NETDEV_VQ_LEVEL_INVALID = -1 /* Valid value */
}NETDEV_VIDEO_QUALITY_E;

4.28.71 Main stream types

typedef enum tagNETDEVMainStreamType


{
NETDEV_MAIN_STREAM_TYPE_TIME = 0, /* Schedule */
NETDEV_MAIN_STREAM_TYPE_EVENT = 1 /* Event */
}NETDEV_MAIN_STREAM_TYPE_E;

4.28.72 Bitrate types

typedef enum tagNETDEVBitRateType


{
NETDEV_BIT_RATE_TYPE_CBR = 0, /* CBR */
NETDEV_BIT_RATE_TYPE_VBR = 1 /* VBR */
}NETDEV_BIT_RATE_TYPE_E;

4.28.73 GOP types

typedef enum tagNETDEVGopType


{
NETDEV_GOP_TYPE_IP = 0, /* IP */
NETDEV_GOP_TYPE_IBP = 1, /* IBP */
NETDEV_GOP_TYPE_IBBP = 2, /* IBBP */
NETDEV_GOP_TYPE_I = 3 /* I */
}NETDEV_GOP_TYPE_E;
673 / 767
Network Device SDK (Windows) User Manual
4.28.74 Extended image encoding modes

typedef enum tagNETDEVSmartEncodeMode


{
NETDEV_SMART_ENCODE_MODE_OFF = 0, /* Off */
NETDEV_SMART_ENCODE_MODE_BASIC = 1, /* Basic smart encoding */
NETDEV_SMART_ENCODE_MODE_ADVANCED = 2 /* Advanced smart encoding */
}NETDEV_SMART_ENCODE_MODE_E;

4.28.75 Enumeration of OSD time formats

typedef enum tagNETDEVTimeOSDFormateCap


{
NETDEV_OSD_TIME_FORMAT_CAP_HHMMSS = 0, /* HH:mm:ss */
NETDEV_OSD_TIME_FORMAT_CAP_HH_MM_SS_PM = 1 /* hh:mm:ss tt */
}NETDEV_OSD_TIME_FORMAT_CAP_E;

4.28.76 OSD types

typedef enum tagNETDEVOSDTextType


{
NETDEV_OSD_TEXT_DATAANDTIME = 0, /* Date and time, for example, yyyy-MM-dd.HH:mm:ss.
For date format, see NETDEV_OSD_DATE_FORMAT_CAP_E. For time format, see
NETDEV_OSD_TIME_FORMAT_CAP_E */
NETDEV_OSD_TEXT_PLAIN
}NETDEV_OSD_TEXT_TYPE_E;

4.28.77 Enumeration of OSD font styles

typedef enum tagNETDEVOSDFontStyle


{
NETDEV_OSD_FONT_STYLE_BACKGROUND = 0, /* Background */
NETDEV_OSD_FONT_STYLE_STROKE = 1, /* Stroke */
NETDEV_OSD_FONT_STYLE_HOLLOW = 2, /* Hollow */
NETDEV_OSD_FONT_STYLE_NORMAL = 3 /* Normal */
}NETDEV_OSD_FONT_STYLE_E;

4.28.78 Enumeration of OSD font sizes

typedef enum tagNETDEVOSDFontSize


{
NETDEV_OSD_FONT_SIZE_LARGE = 0, /* Very large */
NETDEV_OSD_FONT_SIZE_BIG = 1, /* Large */
NETDEV_OSD_FONT_SIZE_MEDIUM = 2, /* Medium */
NETDEV_OSD_FONT_SIZE_SMALL = 3 /* Small */
}NETDEV_OSD_FONT_SIZE_E;

674 / 767
Network Device SDK (Windows) User Manual
4.28.79 Date format

typedef enum tagNETDEVDateOSDFormate


{
NETDEV_OSD_DATE_FORMAT_YYYY_MMDD = 0, /* yyyy-MM-dd */
NETDEV_OSD_DATE_FORMAT_MMDD_YYYY = 1, /* MM-dd-yyyy */
NETDEV_OSD_DATE_FORMAT_CHINESE_YYYY_MMDD = 2, /* yyyyMMddyyyy/MM/dd*/
NETDEV_OSD_DATE_FORMAT_CHINESE_MMDD_YYYY = 3, /* MMddyyyyMM/dd/yyyy*/
NETDEV_OSD_DATE_FORMAT_CHINESE_YYY_MMDD_X = 4, /* yyyyMMddDay (Day: e.g.,
Monday) dddd yyyy MM dd*/
NETDEV_OSD_DATE_FORMAT_CHINESE_MMDD_YYYY_X = 5, /* MMddyyyyDay (Day: e.g.,
Monday) dddd MM dd yyyy*/
NETDEV_OSD_DATE_FORMAT_ENGLISH_DDMM_YYYY = 100, /* dd/MM/yyyy */
NETDEV_OSD_DATE_FORMAT_ENGLISH_MMDD_YYYY = 101, /* MM/dd/yyyy */
NETDEV_OSD_DATE_FORMAT_ENGLISH_DDMMMM_YYYY = 102, /* dd MMMM, yyyy */
NETDEV_OSD_DATE_FORMAT_ENGLISH_MMMMDD_YYYY = 103, /* MMMM dd, yyyy */
NETDEV_OSD_DATE_FORMAT_ENGLISH_DDDDDDMMMM_YYYY = 104, /* dddd, dd MMMM, yyyy */
NETDEV_OSD_DATE_FORMAT_ENGLISH_DDDDDDMMMM_DDYYYY = 105, /* dddd, MMMM dd, yyyy */
NETDEV_OSD_DATE_FORMAT_ENGLISH_YYYY_MMDD = 106, /* yyyy/MM/dd */
NETDEV_OSD_DATE_FORMAT_ENGLISH_YYYY_MMMMDD = 107, /* yyyy, MMMM dd */
NETDEV_OSD_DATE_FORMAT_ENGLISH_DDDDYY_MMDD = 108 /* dddd, yy, MM dd */
}NETDEV_OSD_DATE_FORMAT_E;

4.28.80 Enumeration of OSD time formats

typedef enum tagNETDEVTimeOSDFormate


{
NETDEV_OSD_TIME_FORMAT_HHMMSS = 0, /* HH:mm:ss */
NETDEV_OSD_TIME_FORMAT_HH_MM_SS_T = 1, /* hh:mm:ss t.t. */
NETDEV_OSD_TIME_FORMAT_HH_MM_SS_TT = 2, /* hh:mm:ss tt */
NETDEV_OSD_TIME_FORMAT_TT_HH_MM_SS = 3, /* tt hh:mm:ss */
NETDEV_OSD_TIME_FORMAT_PM_HH_MM_SS = 4, /* 下午 hh:mm:ss P.M. hh:mm:ss*/
NETDEV_OSD_TIME_FORMAT_HH_MM_SS_XX = 5, /* HH:mm:ss.xxx */
NETDEV_OSD_TIME_FORMAT_HH_MM_SS_XX_TT = 6 /* hh:mm:ss.xxx tt */
}NETDEV_OSD_TIME_FORMAT_E;

4.28.81 Enumeration of OSD alignments

typedef enum tagNETDEVOSDAlign


{
NETDEV_OSD_ALIGN_LEFT = 0, /* Left alignment */
NETDEV_OSD_ALIGN_RIGHT = 1 /* Right alignment */
}NETDEV_OSD_ALIGN_E;

675 / 767
Network Device SDK (Windows) User Manual
4.28.82 Enumeration of OSD margin sizes

typedef enum tagNETDEVOSDMinMargin


{
NETDEV_OSD_MIN_MARGIN_NONE = 0, /* None */
NETDEV_OSD_MIN_MARGIN_SINGLE = 1, /* 1-character width */
NETDEV_OSD_MIN_MARGIN_DOUBLE = 2 /* 2-character width */
}NETDEV_OSD_MIN_MARGIN_E;

4.28.83 Operation modes of alarm input

typedef enum tagNETDEVBooleanMode


{
NETDEV_BOOLEAN_MODE_OPEN = 1, /* Normally open */
NETDEV_BOOLEAN_MODE_CLOSE = 2, /* Normally closed */
NETDEV_BOOLEAN_MODE_INVALID
}NETDEV_BOOLEAN_MODE_E;

4.28.84 Commands used to control manual alarm output

typedef enum tagNETDEVOutPutManualAlarmCmd


{
NETDEV_MANUAL_ALARM_CMD_CLOSE = 0, /* Off */
NETDEV_MANUAL_ALARM_CMD_TRIGGER = 1 /* Trigger */
}NETDEV_MANUAL_ALARM_CMD_E;

4.28.85 Exposure modes

typedef enum tagNETDEVExposureMode


{
NETDEV_EXPOSURE_MODE_AUTOMATIC = 0, /* Automatic exposure */
NETDEV_EXPOSURE_MODE_CUSTOM = 1, /* Custom exposure */
NETDEV_EXPOSURE_MODE_SHUTTER_PRIORITY = 2, /* Shutter priority */
NETDEV_EXPOSURE_MODE_APERTURE_PRIORITY = 3, /* Aperture priority */
NETDEV_EXPOSURE_MODE_GAIN_PRIORITY = 4, /* Gain priority */
NETDEV_EXPOSURE_MODE_INDOOR_50_HZ = 5, /* Indoor 50Hz */
NETDEV_EXPOSURE_MODE_INDOOR_60_HZ = 6, /* Indoor 60Hz */
NETDEV_EXPOSURE_MODE_MANUAL_OPERATION = 7, /* Manual exposure */
NETDEV_EXPOSURE_MODE_LOWER_GHOSTING = 8, /* Low motion blur */
NETDEV_EXPOSURE_MODE_INVALID = 0xFF /* Invalid value */
}NETDEV_EXPOSURE_MODE_E;

4.28.86 Supported shutter times

typedef enum tagNETDEVShutterTimeRange


{
NETDEV_SHUTTER_TIME_AUTOMATIC = 0, /* Shutter time is “auto” */
676 / 767
Network Device SDK (Windows) User Manual
NETDEV_SHUTTER_TIME_1 = 1, /* 1/1 */
NETDEV_SHUTTER_TIME_1_2 = 2, /* 1/2 */
NETDEV_SHUTTER_TIME_1_3 = 3, /* 1/3 */
NETDEV_SHUTTER_TIME_1_4 = 4, /* 1/4 */
NETDEV_SHUTTER_TIME_1_6 = 6, /* 1/6 */
NETDEV_SHUTTER_TIME_1_8 = 8, /* 1/8 */
NETDEV_SHUTTER_TIME_1_10 = 10, /* 1/10*/
NETDEV_SHUTTER_TIME_1_12 = 12, /* 1/12*/
NETDEV_SHUTTER_TIME_1_15 = 15, /* 1/15*/
NETDEV_SHUTTER_TIME_1_20 = 20, /* 1/20*/
NETDEV_SHUTTER_TIME_1_25 = 25, /* 1/25*/
NETDEV_SHUTTER_TIME_1_30 = 30, /* 1/30*/
NETDEV_SHUTTER_TIME_1_50 = 50, /* 1/50*/
NETDEV_SHUTTER_TIME_1_60 = 60, /* 1/60*/
NETDEV_SHUTTER_TIME_1_100 = 100, /* 1/100*/
NETDEV_SHUTTER_TIME_1_120 = 120, /* 1/120*/
NETDEV_SHUTTER_TIME_1_150 = 150, /* 1/150*/
NETDEV_SHUTTER_TIME_1_180 = 180, /* 1/180*/
NETDEV_SHUTTER_TIME_1_200 = 200, /* 1/200*/
NETDEV_SHUTTER_TIME_1_250 = 250, /* 1/250*/
NETDEV_SHUTTER_TIME_1_500 = 500, /* 1/500*/
NETDEV_SHUTTER_TIME_1_1000 = 1000, /* 1/1000*/
NETDEV_SHUTTER_TIME_1_2000 = 2000, /* 1/2000*/
NETDEV_SHUTTER_TIME_1_4000 = 4000, /* 1/4000*/
NETDEV_SHUTTER_TIME_1_8000 = 8000, /* 1/8000*/
NETDEV_SHUTTER_TIME_1_50000 = 50000, /* 1/50000*/
NETDEV_SHUTTER_TIME_1_100000 = 100000, /* 1/100000*/
NETDEV_SHUTTER_TIME_INVALID = 0xFF /* Invalid value */
}NETDEV_SHUTTER_TIME_RANGE_E;

4.28.87 Metering control modes

typedef enum tagNETDEVWideDynamicMode


{
NETDEV_WDM_CLOSED = 0, /* Off */
NETDEV_WDM_OPEN = 1, /* On */
NETDEV_WDM_AUTO = 2, /* Auto */
NETDEV_WDM_INVALID = 0xFF /* Invalid value */
}NETDEV_WIDE_DYNAMIC_MODE_E;

4.28.88 Day/night mode types

typedef enum tagNETDEVDayNightMode


{
NETDEV_DNM_AUTO = 0, /* Auto mode */
NETDEV_DNM_DAY_COLOR = 1, /* Day--color */
677 / 767
Network Device SDK (Windows) User Manual
NETDEV_DNM_NIGHT_BAW = 2, /* Night--black & white */
NETDEV_DNM_LINK_COLOR_TO_BLACK = 3, /* Trigger switching from color to black & white
*/
NETDEV_DNM_INVALID = 0xFF /* Invalid value */
}NETDEV_DAY_NIGHT_MODE_E;

4.28.89 Illuminator types

typedef enum tagNETDEVLampType


{
NETDEV_LAMP_TYPE_WITHOUT = 0, /* No illuminator */
NETDEV_LAMP_TYPE_WHITE = 1, /* White light */
NETDEV_LAMP_TYPE_INFRARED = 2, /* IR light */
NETDEV_LAMP_TYPE_LASER_DEVICE = 3, /* Laser */
NETDEV_LAMP_TYPE_INFRARED_SHIELD = 4, /* IR light with housing */
NETDEV_LAMP_TYPE_EXTERNAL_HEATING_LIGHT = 5, /* External warm light */
NETDEV_LAMP_TYPE_DOUBLE_LIGHT = 6, /* Dual light sources (white light + IR)
*/
NETDEV_LAMP_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_LAMP_TYPE_E;

4.28.90 White balance modes

typedef enum tagNETDEVWhiteBalance


{
NETDEV_WBM_AUTO = 0, /*Auto */
NETDEV_WBM_TRIMMING = 1, /* Fine-tune */
NETDEV_WBM_INDOOR = 2, /* Indoor */
NETDEV_WBM_OUTDOOR = 3, /* Outdoor */
NETDEV_WBM_AUTO_MERCURY_LAMP = 4, /* Auto mercury lamp */
NETDEV_WBM_NIGHT_TRIMMING = 5, /* Fine-tune (based on night mode) */
NETDEV_WBM_AUTO_NA_LAMP = 6, /* Auto sodium lamp */
NETDEV_WBM_LOCK = 7, /* Lock */
NETDEV_WBM_SELF_ADAPT_NIGHT_TRIMMING = 8, /* Adaptive fine-tune (based on night mode)
*/
NETDEV_WBM_AUTO_SECOND = 9, /* Auto 2 */
NETDEV_WBM_INVALID = 0xFF /* Invalid value */
}NETDEV_WHITE_BALANCE_MODE_E;

4.28.91 Enumeration of HDD working modes

typedef enum tagNETDEVDiskWorkStatus


{
NETDEV_DISK_WORK_STATUS_EMPTY = 0, /* Empty */
NETDEV_DISK_WORK_STATUS_UNFORMAT = 1, /* Unformatted */
NETDEV_DISK_WORK_STATUS_FORMATING = 2, /* Formatting */

678 / 767
Network Device SDK (Windows) User Manual
NETDEV_DISK_WORK_STATUS_RUNNING = 3, /* Running */
NETDEV_DISK_WORK_STATUS_HIBERNATE = 4, /* Hibernate */
NETDEV_DISK_WORK_STATUS_ABNORMAL = 5, /* Abnormal */
NETDEV_DISK_WORK_STATUS_UNKNOWN = 6, /* Unknown */
NETDEV_DISK_WORK_STATUS_INVALID /* Invalid value */
}NETDEV_DISK_WORK_STATUS_E;

4.28.92 Focus modes

typedef enum tagNETDEVFocusMode


{
NETDEV_FOCUS_AUTO = 1, /* Auto focus */
NETDEV_FOCUS_MANUAL = 2 /* Manual focus */
}NETDEV_FOCUS_MODE_E;

4.28.93 Day/night mode

typedef enum tagNETDEVIrCutFilterMode


{
NETDEV_IR_CUT_FILTER_ON = 0, /* Day mode */
NETDEV_IR_CUT_FILTER_OFF = 1, /* Night mode */
NETDEV_IR_CUT_FILTER_AUTO = 2 /* Auto mode */
}NETDEV_IR_CUT_FILTER_MODE_E;

4.28.94 Enumeration of defog modes

typedef enum tagNETDEVDefoggingMode


{
NETDEV_DEFOGGING_ON = 0, /* On */
NETDEV_DEFOGGING_OFF=1 /* Off */
}NETDEV_DEFOGGING_MODE_E;

4.28.95 Enumeration of audio collection ports

typedef enum tagNETDEVAudioCollectionPortType


{
NETDEV_AUDIO_COLLECTION_PORT_TYPE_AUDIO_IN = 0, /* Audio in */
NETDEV_AUDIO_COLLECTION_PORT_TYPE_SERIAL_IN = 1, /* Serial port */
NETDEV_AUDIO_COLLECTION_PORT_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_AUDIO_COLLECTION_PORT_TYPE_E;

4.28.96 Enumeration of audio encoding formats

typedef enum tagNETDEVAudioEncodeFormatType


{
NETDEV_AUDIO_ENCODE_FORMAT_TYPE_MPEG1 = 0, /* MPEG1 */
NETDEV_AUDIO_ENCODE_FORMAT_TYPE_G711A = 1, /* G.711A */
679 / 767
Network Device SDK (Windows) User Manual
NETDEV_AUDIO_ENCODE_FORMAT_TYPE_G711U = 2, /* G.711U */
NETDEV_AUDIO_ENCODE_FORMAT_TYPE_ADPCM = 3, /* ADPCM */
NETDEV_AUDIO_ENCODE_FORMAT_TYPE_OGG = 4, /* OGG */
NETDEV_AUDIO_ENCODE_FORMAT_TYPE_Auto = 5, /* Auto */
NETDEV_AUDIO_ENCODE_FORMAT_TYPE_AACLC = 6, /* AAC-LC */
NETDEV_AUDIO_ENCODE_FORMAT_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_AUDIO_ENCODE_FORMAT_TYPE_E;

4.28.97 Enumeration of audio sampling rates

typedef enum tagNETDEVAudioSamplingRate


{
NETDEV_AUDIO_SAMPLING_RATE_8KHZ = 0, /* 8KHz */
NETDEV_AUDIO_SAMPLING_RATE_16KHZ = 1, /* 16KHz */
NETDEV_AUDIO_SAMPLING_RATE_22_05KHZ = 2, /* 22.05KHz */
NETDEV_AUDIO_SAMPLING_RATE_24KHZ = 3, /* 24KHz */
NETDEV_AUDIO_SAMPLING_RATE_32KHZ = 4, /* 32KHz */
NETDEV_AUDIO_SAMPLING_RATE_44_1KHZ = 5, /* 44.1KHz */
NETDEV_AUDIO_SAMPLING_RATE_48KHZ = 6, /* 48KHz */
NETDEV_AUDIO_SAMPLING_RATE_96KHZ = 7, /* 96KHz */
NETDEV_AUDIO_SAMPLING_RATE_INVALID = 0xFF /* Invalid value */
}NETDEV_AUDIO_SAMPLING_RATE_E;

4.28.98 Enumeration of audio input modes

typedef enum tagNETDEVAudioInChlMode


{
NETDEV_AUDIO_CHL_MODE_LINE = 0, /* Line */
NETDEV_AUDIO_CHL_MODE_MIC = 1, /* MIC */
NETDEV_AUDIO_CHL_MODE_RS485 = 2, /* RS485 sound pickup */
NETDEV_AUDIO_CHL_MODE_SPEAKER = 3, /* Speaker */
NETDEV_AUDIO_CHL_MODE_INVALID = 0xFF /* Invalid value */
}NETDEV_AUDIO_CHL_MODE_E;

4.28.99 DST offset time

typedef enum tagNetDEVDSTOffsetTime


{
NETDEV_DST_OFFSET_TIME_30MIN = 30,
NETDEV_DST_OFFSET_TIME_60MIN = 60,
NETDEV_DST_OFFSET_TIME_90MIN = 90,
NETDEV_DST_OFFSET_TIME_120MIN = 120,
NETDEV_DST_OFFSET_TIME_INVALID = 0xff
}NETDEV_DST_OFFSET_TIME;

680 / 767
Network Device SDK (Windows) User Manual
4.28.100 Week

typedef enum tagNetDEVDayInWeek


{
NETDEV_WEEK_SUNDAY = 0, /* Sunday */
NETDEV_WEEK_MONDAY = 1, /* Monday */
NETDEV_WEEK_TUESDAY = 2, /* Tuesday */
NETDEV_WEEK_WEDNESDAY = 3, /* Wednesday */
NETDEV_WEEK_THURSDAY = 4, /* Thursday */
NETDEV_WEEK_FRIDAY = 5, /* Friday */
NETDEV_WEEK_SATURDAY = 6, /* Saturday */
NETDEV_WEEK_INVALID = 0xff /* Invalid value */
}NETDEV_DAY_IN_WEEK_E;

4.28.101 Enumeration pre-alarm recording time

typedef enum tagNETDEVPreRecordTime


{
NETDEV_PRE_RECORD_TIME_ZERO = 0, /* 0s */
NETDEV_PRE_RECORD_TIME_FIVE = 5, /* 5s */
NETDEV_PRE_RECORD_TIME_TEN = 10, /* 10s */
NETDEV_PRE_RECORD_TIME_TWENTY = 20, /* 20s */
NETDEV_PRE_RECORD_TIME_THIRTY = 30, /* 30s */
NETDEV_PRE_RECORD_TIME_SIXTY = 60 /* 60s */
}NETDEV_PRE_RECORD_TIME_E;

4.28.102 Enumeration of post-alarm recording time

typedef enum tagNETDEVPostRecordTime


{
NETDEV_POST_RECORD_TIME_FIVE =5, /* 5s*/
NETDEV_POST_RECORD_TIME_TEN =10, /* 10s */
NETDEV_POST_RECORD_TIME_THIRTY =30, /* 30s */
NETDEV_POST_RECORD_TIME_SIXTY =60, /* 60s */
NETDEV_POST_RECORD_TIME_ONE_HUNDRED_AND_TWENTY =120, /* 120s */
NETDEV_POST_RECORD_TIME_THREE_HUNDRED =300, /* 300s */
NETDEV_POST_RECORD_TIME_SIX_HUNDRED =600 /* 600s */
}NETDEV_POST_RECORD_TIME_E;

4.28.103 Enumeration of motion detection area types

typedef enum tagNETDEVMotionDetectAreaType


{
NETDEV_MOTION_DETECTION_AREA_TYPE_RECTANGLE = 0, /* Rectangle area */
NETDEV_MOTION_DETECTION_AREA_TYPE_MB = 1, /* Macroblock */
NETDEV_MOTION_DETECTION_AREA_TYPE_INVALID = 0xff /* Invalid value */

681 / 767
Network Device SDK (Windows) User Manual
}NETDEV_MOTION_DETECTION_AREA_TYPE_E;

4.28.104 HDD types

typedef enum tagNETDEVHDDType


{
NETDEV_HDD_TYPE_LOCAL_HDD = 0, /* LocalHDD */
NETDEV_HDD_TYPE_NO1_EXTEND_HDD = 1, /* No1ExtendCabinetHDD */
NETDEV_HDD_TYPE_NO2_EXTEND_HDD = 2, /* No2ExtendCabinetHDD */
NETDEV_HDD_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_HDD_TYPE_E;

4.28.105 HDD working modes

typedef enum tagNETDEVHDDWorkMode


{
NETDEV_HDD_WORK_MODE_COMMON = 0, /* Common disk */
NETDEV_HDD_WORK_MODE_RAID = 1, /* RAID disk */
NETDEV_HDD_WORK_MODE_HOT_BACKUP = 2, /* Hot spare disk */
NETDEV_HDD_WORK_MODE_INVALID = 0xFF /* Invalid value */
}NETDEV_HDD_WORK_MODE_E;

4.28.106 HDD status

typedef enum tagNETDEVHDDStatus


{
NETDEV_HDD_STATUS_NO = 0, /* No HDD */
NETDEV_HDD_STATUS_NORMAL = 1, /* Normal */
NETDEV_HDD_STATUS_ABNORMAL = 2, /* Abnormal */
NETDEV_HDD_STATUS_INVALID = 0xFF /* Invalid value */
}NETDEV_HDD_STATUS_E;

4.28.107 Storage container status

typedef enum tagNETDEVStorageContainerStatus


{
NETDEV_STORAGE_CONTAINER_STATUS_NO = 0, /* No HDD/Idle */
NETDEV_STORAGE_CONTAINER_STATUS_UNFORMATTED = 1, /* Unformatted */
NETDEV_STORAGE_CONTAINER_STATUS_FORMATTING = 2, /* Formatting */
NETDEV_STORAGE_CONTAINER_STATUS_NORMAL = 3, /* Normal */
NETDEV_STORAGE_CONTAINER_STATUS_SLEEP = 4, /* Sleep */
NETDEV_STORAGE_CONTAINER_STATUS_ABNORMAL = 5, /* Abnormal */
NETDEV_STORAGE_CONTAINER_STATUS_SWITCH = 6, /* Switching */
NETDEV_STORAGE_CONTAINER_STATUS_UNINSTALLED = 7, /* Unmounted */
NETDEV_STORAGE_CONTAINER_STATUS_INVALID = 0xFF /* Invalid value */
}NETDEV_STORAGE_CONTAINER_STATUS_E;

682 / 767
Network Device SDK (Windows) User Manual
4.28.108 Storage container attributes

typedef enum tagNETDEVStorageContainerProperty


{
NETDEV_STORAGE_CONTAINER_PROPERTY_RW = 0, /* Read/Write */
NETDEV_STORAGE_CONTAINER_PROPERTY_R = 1, /* Read-only */
NETDEV_STORAGE_CONTAINER_PROPERTY_REDUNDANT = 2, /* Redundant */
NETDEV_STORAGE_CONTAINER_PROPERTY_INVALID = 0xFF /* Invalid value */
}NETDEV_STORAGE_CONTAINER_PROPERTY_E;

4.28.109 Address types

typedef enum tagNETDEVAddrType


{
NETDEV_ADDR_TYPE_IPV4 = 0, /* IPv4 */
NETDEV_ADDR_TYPE_IPV6 = 1, /* IPv6 */
NETDEV_ADDR_TYPE_DOMAIN = 2, /* Domain name */
NETDEV_ADDR_TYPE_IPV4_IPV6 = 3, /* IPv4 and IPv6 */
NETDEV_ADDR_TYPE_INVALID = 0XFFFF /* Invalid value */
}NETDEV_ADDR_TYPE_E;

4.28.110 Storage container usage

typedef enum tagNETDEVStorageContainerUsageType


{
NETDEV_STORAGE_CONTAINER_USAGE_TYPE_RECORD_CAPTURE = 0, /* Recording/snapshot */
NETDEV_STORAGE_CONTAINER_USAGE_TYPE_BACKUP = 1, /* Backup */
NETDEV_STORAGE_CONTAINER_USAGE_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_STORAGE_CONTAINER_USAGE_TYPE_E;

4.28.111 HDD health assessment status

typedef enum tagNETDEVHDDHealthAssessmentStatus


{
NETDEV_HDD_HEALTH_ASSESSMENT_STATUS_NORMAL = 0, /* Normal */
NETDEV_HDD_HEALTH_ASSESSMENT_STATUS_PART_DAMAGE = 1, /* Bad sectors detected */
NETDEV_HDD_HEALTH_ASSESSMENT_STATUS_FAULT = 2, /* Fault */
NETDEV_HDD_HEALTH_ASSESSMENT_STATUS_INVALID = 0xFF /* Invalid value */
}NETDEV_HDD_HEALTH_ASSESSMENT_STATUS_E;

4.28.112 HDD S.M.A.R.T. test status

typedef enum tagNETDEVHDDSmartCheckStatus


{
NETDEV_HDD_SMART_CHECK_STATUS_NOT = 0, /* Not tested */
NETDEV_HDD_SMART_CHECK_STATUS_IN_PORGRESS = 1, /* Testing */
NETDEV_HDD_SMART_CHECK_STATUS_SUCCESS = 2, /* Success */
683 / 767
Network Device SDK (Windows) User Manual
NETDEV_HDD_SMART_CHECK_STATUS_RECOGNITION_FAIL = 3, /* HDD recognition failed */
NETDEV_HDD_SMART_CHECK_STATUS_FAIL = 4, /* Failure */
NETDEV_HDD_SMART_CHECK_STATUS_NOT_SUPPORT = 5, /* HDD does not support test */
NETDEV_HDD_SMART_CHECK_STATUS_INVALID = 0xFF /* Invalid value */
}NETDEV_HDD_SMART_CHECK_STATUS_E;

4.28.113 HDD S.M.A.R.T. test types

typedef enum tagNETDEVHDDSmartCheckType


{
NETDEV_HDD_SMART_CHECK_TYPE_BRIEF = 0, /* Short */
NETDEV_HDD_SMART_CHECK_TYPE_EXTEND = 1, /* Extended */
NETDEV_HDD_SMART_CHECK_TYPE_TRANSMISSION = 2, /* Conveyance */
NETDEV_HDD_SMART_CHECK_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_HDD_SMART_CHECK_TYPE_E;

4.28.114 Access protocols of management server

typedef enum tagNETDEVManagerServerProtocolType


{
NETDEV_MANAGER_SERVER_PROTOCOL_TYPE_IMOS = 0, /* IMOS */
NETDEV_MANAGER_SERVER_PROTOCOL_TYPE_GB = 1, /* GB*/
NETDEV_MANAGER_SERVER_PROTOCOL_TYPE_NONE = 2, /* None */
NETDEV_MANAGER_SERVER_PROTOCOL_TYPE_VISS = 3, /* VISS */
NETDEV_MANAGER_SERVER_PROTOCOL_TYPE_LY = 4 /* LiYuan */
}NETDEV_MANAGER_SERVER_PROTOCOL_TYPE_E;

4.28.115 Storage space unit

typedef enum tagNETDEVStorageCapUnit


{
NETDEV_TYPE_STORAGE_CAP_UNIT_GB = 0, /* GB */
NETDEV_TYPE_STORAGE_CAP_UNIT_MB = 1, /* MB */
NETDEV_TYPE_STORAGE_CAP_UNIT_INVALID = 0xff /* Invalid value */
}NETDEV_STORAGE_CAP_UNIT_E;

4.28.116 Transport protocol

typedef enum tagNETDEVTransProtocol


{
NETDEV_TRANS_PROTOCOL_TCP = 0, /* TCP */
NETDEV_TRANS_PROTOCOL_UDP = 1 /* UDP */
}NETDEV_TRANS_PROTOCOL_E;

4.28.117 Storage resources

typedef enum tagNETDEVStorageResType


684 / 767
Network Device SDK (Windows) User Manual
{
NETDEV_STORAGE_RES_TYPE_SD = 0, /* SD card */
NETDEV_STORAGE_RES_TYPE_NAS = 1, /* NAS */
NETDEV_STORAGE_RES_TYPE_INVALID = 0xff /* Invalid value */
}NETDEV_STORAGE_RES_TYPE_E;

4.28.118 Overwrite policy

typedef enum tagNETDEVFullStrategyType


{
NETDEV_FULL_STRATEGY_TYPE_FULL_COVERAGE = 0, /* Overwrite existing data when
storage is full*/
NETDEV_FULL_STRATEGY_TYPE_FULL_STOP = 1, /* Stop saving data when storage is
full */
NETDEV_FULL_STRATEGY_TYPE_INVALIDP = 0xff /* Invalid value */
}NETDEV_FULL_STRATEGY_TYPE_E;

4.28.119 Live view index

typedef enum tagNETDEVLiveStreamIndex


{
NETDEV_LIVE_STREAM_INDEX_MAIN = 0, /* Main stream */
NETDEV_LIVE_STREAM_INDEX_AUX = 1, /* Sub stream */
NETDEV_LIVE_STREAM_INDEX_THIRD = 2, /* Third stream */
NETDEV_LIVE_STREAM_INDEX_INVALID = 0xFF /* Invalid value */
}NETDEV_LIVE_STREAM_INDEX_E;

4.28.120 Image storage modes

typedef enum tagNETDEVPicStorageMode


{
NETDEV_PIC_STORAGE_MODE_NORMAL = 0, /* Normal. Delete files in SD card after successful
upload to server */
NETDEV_PIC_STORAGE_MODE_PERMANENT = 1, /* Permanent. Always keep files in SD card after
upload to server, successful or not. */
NETDEV_PIC_STORAGE_MODE_RETAIN = 2, /* Keep files in SD card after upload to server
failed. */
NETDEV_PIC_STORAGE_MODE_INVALID = 0xff /* Invalid value */
}NETDEV_PIC_STORAGE_MODE_E;

4.28.121 Back focus control commands

typedef enum tagNETDEVBackFocusCmd


{
NETDEV_BACKFOCUS_CMD_RESET = 0, /* Automatically reset back focus. Para1 is optional */
NETDEV_BACKFOCUS_CMD_AUTO = 1, /* Automatic back focus. Para1: automatic backfocus time
(ms) */
685 / 767
Network Device SDK (Windows) User Manual
NETDEV_BACKFOCUS_CMD_MANUAL = 2, /* Manual back focus. Para1: 0-Stop 1-MBF+ 2-MBF- */
NETDEV_BACKFOCUS_CMD_INVALID = 0xffff/* Invalid value */
}NETDEV_BACKFOCUS_CMD_E;

4.28.122 Time zone

typedef enum tagNETDEVTimeZone


{
NETDEV_TIME_ZONE_W1200 = 0, /* W12 */
NETDEV_TIME_ZONE_W1100 = 1, /* W11 */
NETDEV_TIME_ZONE_W1000 = 2, /* W10 */
NETDEV_TIME_ZONE_W0900 = 3, /* W9 */
NETDEV_TIME_ZONE_W0800 = 4, /* W8 */
NETDEV_TIME_ZONE_W0700 = 5, /* W7 */
NETDEV_TIME_ZONE_W0600 = 6, /* W6 */
NETDEV_TIME_ZONE_W0500 = 7, /* W5 */
NETDEV_TIME_ZONE_W0430 = 8, /* W4:30 */
NETDEV_TIME_ZONE_W0400 = 9, /* W4 */
NETDEV_TIME_ZONE_W0330 = 10, /* W3:30 */
NETDEV_TIME_ZONE_W0300 = 11, /* W3 */
NETDEV_TIME_ZONE_W0200 = 12, /* W2 */
NETDEV_TIME_ZONE_W0100 = 13, /* W1 */
NETDEV_TIME_ZONE_0000 = 14, /* W0 */
NETDEV_TIME_ZONE_E0100 = 15, /* E1 */
NETDEV_TIME_ZONE_E0200 = 16, /* E2 */
NETDEV_TIME_ZONE_E0300 = 17, /* E3 */
NETDEV_TIME_ZONE_E0330 = 18, /* E3:30 */
NETDEV_TIME_ZONE_E0400 = 19, /* E4 */
NETDEV_TIME_ZONE_E0430 = 20, /* E4:30 */
NETDEV_TIME_ZONE_E0500 = 21, /* E5 */
NETDEV_TIME_ZONE_E0530 = 22, /* E5:30 */
NETDEV_TIME_ZONE_E0545 = 23, /* E5:45 */
NETDEV_TIME_ZONE_E0600 = 24, /* E6 */
NETDEV_TIME_ZONE_E0630 = 25, /* E6:30 */
NETDEV_TIME_ZONE_E0700 = 26, /* E7 */
NETDEV_TIME_ZONE_E0800 = 27, /* E8 */
NETDEV_TIME_ZONE_E0900 = 28, /* E9 */
NETDEV_TIME_ZONE_E0930 = 29, /* E9:30 */
NETDEV_TIME_ZONE_E1000 = 30, /* E10 */
NETDEV_TIME_ZONE_E1100 = 31, /* E11 */
NETDEV_TIME_ZONE_E1200 = 32, /* E12 */
NETDEV_TIME_ZONE_E1300 = 33, /* E13 */
NETDEV_TIME_ZONE_W0930= 34, /* W9:30 */
NETDEV_TIME_ZONE_E0830 = 35, /* E8:30 */
NETDEV_TIME_ZONE_E0845 = 36, /* E8:45 */
NETDEV_TIME_ZONE_E1030 = 37, /* E10:30 */
686 / 767
Network Device SDK (Windows) User Manual
NETDEV_TIME_ZONE_E1245 = 38, /* E12:45 */
NETDEV_TIME_ZONE_E1400 = 39, /* E14 */
NETDEV_TIME_ZONE_INVALID = 0xFF /* Invalid value */
}NETDEV_TIME_ZONE_E;

4.28.123 Illuminator control modes

typedef enum tagNETDEVLampCtrlMode


{
NETDEV_LCM_GLOBAL_ATTENTION_AC = 0, /* Global mode */
NETDEV_LCM_OVEREXPOSE_INHIBIT_AC = 1, /* Overexposure restrain */
NETDEV_LCM_PRESET_RCM = 2, /* Preset-road mode */
NETDEV_LCM_MANUAL_CM = 3, /* Manual mode */
NETDEV_LCM_PRESET_PCM = 4, /* Preset-park mode*/
NETDEV_LCM_PHOTOSENS_AM = 5, /* Auto sensitivity control mode */
NETDEV_LCM_INDOOR_AM = 6, /* Indoor */
NETDEV_LCM_MANUAL_FOM = 7, /* Manual-always on*/
NETDEV_LCM_NIGHT_VIDEO_DET_MODE = 8, /* Nighttime video detection mode */
NETDEV_LCM_INVALID = 0xFF /* Invalid value */
}NETDEV_LAMP_CTRL_MODE_E;

4.28.124 HDD S.M.A.R.T. test result

typedef enum tagNETDEVHDDSmartAssessmentStatus


{
NETDEV_HDD_SMART_ASSESSMENT_STATUS_NORMAL = 0, /* Normal */
NETDEV_HDD_SMART_ASSESSMENT_STATUS_WARNING = 1, /* Warning */
NETDEV_HDD_SMART_ASSESSMENT_STATUS_FAULT = 2, /* Fault */
NETDEV_HDD_SMART_ASSESSMENT_STATUS_INVALID = 0xFF /* Invalid value */
}NETDEV_HDD_SMART_ASSESSMENT_STATUS_E;

4.28.125 Communication protocol of photo server

typedef enum tagNETDEVPhotoServerProType


{
NETDEV_PHOTO_SERVER_PRO_TYPE_PRO1 = 0, /* TCP transport: Private V1 (corresponds
to HongLiu) */
NETDEV_PHOTO_SERVER_PRO_TYPE_PRO2 = 1, /* TCP transport: Private V2 (corresponds
to current tms)*/
NETDEV_PHOTO_SERVER_PRO_TYPE_PRO3 = 2, /* TCP transport: XianChuang*/
NETDEV_PHOTO_SERVER_PRO_TYPE_PRO4 = 3, /* FTP transport: QuanShiTong*/
NETDEV_PHOTO_SERVER_PRO_TYPE_PRO5 = 4, /* FTP transport: General FTP */
NETDEV_PHOTO_SERVER_PRO_TYPE_PRO6 = 5, /* FTP transport: ZhengZhi*/
NETDEV_PHOTO_SERVER_PRO_TYPE_PRO7 = 6, /* webserver: Hikvision protocol */
NETDEV_PHOTO_SERVER_PRO_TYPE_PRO8 = 7, /* FTP transport: ZhongTong*/
NETDEV_PHOTO_SERVER_PRO_TYPE_PRO9 = 8, /* FTP transport: QuanShiTong*/

687 / 767
Network Device SDK (Windows) User Manual
NETDEV_PHOTO_SERVER_PRO_TYPE_PRO10 = 9, /* YinJiang, photo info: webserver, photo
data: FTP transport */
NETDEV_PHOTO_SERVER_PRO_TYPE_PRO11 = 10, /* TCP transport: LiYuan */
NETDEV_PHOTO_SERVER_PRO_TYPE_PRO12 = 11, /* XiangXun, photo info: TCP, photo data:
FTP transport */
NETDEV_PHOTO_SERVER_PRO_TYPE_PRO31 = 12, /* TCP transport: V2 (corresponds to
current TMS non-persistent connection)*/
NETDEV_PHOTO_SERVER_PRO_TYPE_PRO34 = 13, /* HTTP transport: SongLi*/
NETDEV_PHOTO_SERVER_PRO_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_PHOTO_SERVER_PRO_TYPE_E;

4.28.126 Sub communication protocols of photo server

typedef enum tagNETDEVPhotoServerSubProType


{
NETDEV_PHOTO_SERVER_SUBPRO_TYPE_2011 = 0, /* IMOS command*/
NETDEV_PHOTO_SERVER_SUBPRO_TYPE_2025 = 1, /* IMOS command*/
NETDEV_PHOTO_SERVER_SUBPRO_TYPE_6130 = 2, /* IMOS command*/
NETDEV_PHOTO_SERVER_SUBPRO_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_PHOTO_SERVER_SUBPRO_TYPE_E;

4.28.127 Access protocols of smart server

typedef enum tagNETDEVDataServerProtocolType


{
NETDEV_DATA_SERVER_PROTOCOL_TYPE_TCP = 1, /* TCP transport: UNV V2 (corresponds to tms) */
NETDEV_DATA_SERVER_PROTOCOL_TYPE_TFTP_COMMOM = 4, /* FTP transport: General FPT */
NETDEV_DATA_SERVER_PROTOCOL_TYPE_HTTP_GA = 51 /* HTTP transport: VIID */
}NETDEV_DATA_SERVER_PROTOCOL_TYPE_E;

4.28.128 OSD content type

typedef enum tagNETDEVOSDContentType


{
NETDEV_OSD_CONTENT_TYPE_NOTUSE = 0, /* Not use */
NETDEV_OSD_CONTENT_TYPE_CUSTOM = 1, /* Custom */
NETDEV_OSD_CONTENT_TYPE_DATE_AND_TIME = 2, /* Time and date */
NETDEV_OSD_CONTENT_TYPE_PTZ_CONTROLLER = 3, /* PTZ controller */
NETDEV_OSD_CONTENT_TYPE_PTZ_COORDINATES = 4, /* PTZ coordinates */
NETDEV_OSD_CONTENT_TYPE_CRUISE = 5, /* Patrol info */
NETDEV_OSD_CONTENT_TYPE_ZOOM = 6, /* Zoom info */
NETDEV_OSD_CONTENT_TYPE_PRESET = 7, /* Preset info */
NETDEV_OSD_CONTENT_TYPE_ALARM_INFO = 8, /* Alarm info */
NETDEV_OSD_CONTENT_TYPE_ENCODE = 9, /* Encoding info */
NETDEV_OSD_CONTENT_TYPE_SERIAL_PORT = 10, /* Serial port OSD */
NETDEV_OSD_CONTENT_TYPE_PTZ_ORIENTATION = 11, /* PTZ direction info*/

688 / 767
Network Device SDK (Windows) User Manual
NETDEV_OSD_CONTENT_TYPE_CHN_NAME = 12, /* Channel name */
NETDEV_OSD_CONTENT_TYPE_DEBUG = 13, /* Debug OSD */
NETDEV_OSD_CONTENT_TYPE_PEOPLE_COUNTING = 14, /* People counting OSD */
NETDEV_OSD_CONTENT_TYPE_NETWORK_PORT = 15, /* Network port OSD */
NETDEV_OSD_CONTENT_TYPE_TIME = 16, /* Time */
NETDEV_OSD_CONTENT_TYPE_DATE = 17, /* Date */
NETDEV_OSD_CONTENT_TYPE_SMART_CONTENT = 18, /* Smart contents */
NETDEV_OSD_CONTENT_TYPE_BATTERY = 19, /* Battery */
NETDEV_OSD_CONTENT_TYPE_SCROLL_OSD = 20, /* Scrolling OSD */
NETDEV_OSD_CONTENT_TYPE_PICTURE_OVERLAY = 21, /* Logo */
NETDEV_OSD_CONTENT_TYPE_MOTOR_VEHICLE_NUM = 22, /* Motor vehicle traffic */
NETDEV_OSD_CONTENT_TYPE_NON_MOTOR_VEHICLE_NUM = 23, /* Non-motor vehicle traffic */
NETDEV_OSD_CONTENT_TYPE_PEOPLE_NUM = 24, /* Pedestrian flow */
NETDEV_OSD_CONTENT_TYPE_INFOOSD_NUM = 25 /* Number of INFO OSD types */
}NETDEV_OSD_CONTENT_TYPE_E;

4.28.129 Enumeration of device types

typedef enum tagNETDEVDeviceMainType


{
NETDEV_DTYPE_MAIN_ENCODE = 0, /* Encoding device */
NETDEV_DTYPE_MAIN_DECODE = 1, /* Decoding device */
NETDEV_DTYPE_MAIN_VMS = 2, /* VMS device*/
NETDEV_DTYPE_MAIN_DA = 3, /* Device agent*/
NETDEV_DTYPE_MAIN_CLOUD = 4, /* Cloud encoding device */
NETDEV_DTYPE_MAIN_BAYONET = 5, /* Checkpoint device */
NETDEV_DTYPE_MAIN_ACS = 6, /* Access control device */
NETDEV_DTYPE_MAIN_ALARMHOST = 7, /* Alarm control device */
NETDEV_DTYPE_MAIN_EXITENTRANCE = 8, /* Entrance&exit device */
NETDEV_DTYPE_MAIN_LOCK = 9, /* Lock */
NETDEV_DTYPE_MAIN_PLAYER_MANAGER = 10, /* Player manager */
NETDEV_DTYPE_MAIN_PLAYER = 11, /* Player */
NETDEV_DTYPE_MAIN_UNKNOWN = 0XFF /* Unknown device */
}NETDEV_DEVICE_MAIN_TYPE_E;

4.28.130 IP address types

typedef enum tagNETSDKIpAddressType


{
NETDEV_IP_TYPE_IPV4 = 0, /* IPv4 */
NETDEV_IP_TYPE_IPV6 = 1, /* IPv6 */
NETDEV_IP_TYPE_DOMAIN = 2, /* Domain name*/
NETDEV_IP_TYPE_IPV4_AND_IPV6 = 3 /* IPv4 and IPv6 */
}NETDEV_IP_ADDRESS_TYPE_E;

689 / 767
Network Device SDK (Windows) User Manual
4.28.131 Lock signals

typedef enum tagNETDEVLockSignal


{
NETDEV_LOCK_SIGNAL_STRONG = 0, /* Strong */
NETDEV_LOCK_SIGNAL_SECOND = 1, /* Medium */
NETDEV_LOCK_SIGNAL_WEAK = 2, /* Weak */
NETDEV_LOCK_SIGNAL_NO = 3, /* No signal */
NETDEV_LOCK_SIGNAL_INVALID = 0xFF /* Invalid value */
}NETDEV_LOCK_SIGNAL_E;

4.28.132 Channel type

typedef enum tagNETDEVChlType


{
NETDEV_CHN_TYPE_ENCODE = 0, /* Encoding channel. For channel status, see
NETDEV_CHN_STATUS_E. To get data, see NETDEV_DEV_CHN_ENCODE_INFO_S */
NETDEV_CHN_TYPE_ALARMIN = 1, /* Alarm input channel. For channel status, see
NETDEV_ALARM_RUNMODE_E. To get data, see NETDEV_DEV_CHN_ALARMIN_INFO_S */
NETDEV_CHN_TYPE_ALARMOUT = 2, /* Alarm output channel. For channel status,
see
NETDEV_ALARMOUT_CHN_STATUS_E. To get data, see NETDEV_DEV_CHN_ALARMOUT_INFO_S */
NETDEV_CHN_TYPE_DECODE = 3, /* Decoding channel. To get data, see
NETDEV_DEV_CHN_DECODE_INFO_S */
NETDEV_CHN_TYPE_AUDIO = 4, /* Audio channel. To get data, see
NETDEV_DEV_CHN_AUDIO_INFO_S */
NETDEV_CHN_TYPE_NIC = 5, /* Network interface card */
NETDEV_CHN_TYPE_ALARMPOINT = 6, /* Alarm point. To get data, see
NETDEV_DEV_CHN_DA_INFO_S */
NETDEV_CHN_TYPE_DOOR = 7, /* Door. To get data, see
NETDEV_DEV_CHN_DA_INFO_S */
NETDEV_CHN_TYPE_ADU_ENCODE = 8, /* ADU’s local encoding channel. For channel
status, see
NETDEV_CHN_STATUS_E. To get data, see #NETDEV_DEV_CHN_XW_ENCODE_INFO_S */
NETDEV_CHN_TYPE_EMERGENCY = 9, /* Emergency bell. To get data, see
NETDEV_EMERGENCY_BELL_INFO_S */
NETDEV_CHN_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_CHN_TYPE_E;

4.28.133 Status of encoding channel

typedef enum tagNETDEVChnStatus


{
NETDEV_CHN_STATUS_OFFLINE = 0, /* Offline */
NETDEV_CHN_STATUS_ONLINE = 1, /* Online */
NETDEV_CHN_STATUS_VIDEO_LOSE = 2, /* Video loss */

690 / 767
Network Device SDK (Windows) User Manual
NETDEV_CHN_STATUS_INVALID = 0xFF
}NETDEV_CHN_STATUS_E;

4.28.134 Alarm input channel status

typedef enum tagNETDEVAlarmRunode


{
NETDEV_ALARM_RUNMODE_OPEN = 0, /* Normally open */
NETDEV_ALARM_RUNMODE_CLOSE = 1, /* Normally closed */
NETDEV_ALARM_RUNMODE_INVALID = 0xFF
}NETDEV_ALARM_RUNMODE_E;

4.28.135 Alarm output channel status

typedef enum tagNETDEVAlarmOutChnStatus


{
NETDEV_ALARMOUT_CHN_ACTIVE = 0,
NETDEV_ALARMOUT_CHN_INACTIVE = 1,
NETDEV_ALARMOUT_CHN_INVALID = 0xFF
}NETDEV_ALARMOUT_CHN_STATUS_E;

4.28.136 Enumeration of video input types

typedef enum tagNETDEVVideoSrcType


{
NETDEV_VIDEO_SRC_TYPE_BNC = 0, /* BNC */
NETDEV_VIDEO_SRC_TYPE_VGA = 1, /* VGA */
NETDEV_VIDEO_SRC_TYPE_HDMI = 2, /* HDMI */
NETDEV_VIDEO_SRC_TYPE_DVI_D = 3, /* DVI_D */
NETDEV_VIDEO_SRC_TYPE_DVI_I = 4, /* DVI_I */
NETDEV_VIDEO_SRC_TYPE_DP = 5, /* DP */
NETDEV_VIDEO_SRC_TYPE_SDI = 6, /* SDI */
NETDEV_VIDEO_SRC_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_VIDEO_SRC_TYPE_E;

4.28.137 Enumeration of language types

typedef enum tagNETDEVLangType


{
NETDEV_LANG_TYPE_CHINESE = 0, /* Chinese */
NETDEV_LANG_TYPE_ENGLISH = 1, /* English */
NETDEV_LANG_TYPE_TRADITIONAL_CHINESE = 2, /* Traditional Chinese
*/
NETDEV_LANG_TYPE_FRENCH = 3, /* French */
NETDEV_LANG_TYPE_GERMAN = 4, /* German */
NETDEV_LANG_TYPE_SPANISH = 5, /* Spanish */
NETDEV_LANG_TYPE_ITALIAN = 6, /* Italian */
691 / 767
Network Device SDK (Windows) User Manual
NETDEV_LANG_TYPE_PORTUGUESE = 7, /* Portuguese */
NETDEV_LANG_TYPE_RUSSIAN = 8, /* Russian */
NETDEV_LANG_TYPE_UKRAINIAN = 9, /* Ukrainian */
NETDEV_LANG_TYPE_GRUANIAN = 10, /* Gruanian */
NETDEV_LANG_TYPE_DUTCH = 11, /* Dutch */
NETDEV_LANG_TYPE_DANISH = 12, /* Danish */
NETDEV_LANG_TYPE_FINNISH = 13, /* Finnish */
NETDEV_LANG_TYPE_SWEDISH = 14, /* Swedish */
NETDEV_LANG_TYPE_NORWEGIAN = 15, /* Norwegian */
NETDEV_LANG_TYPE_LCELANDIC = 16, /* Icelandic */
NETDEV_LANG_TYPE_POLISH = 17, /* Polish */
NETDEV_LANG_TYPE_LITHUANIAN = 18, /* Lithuanian */
NETDEV_LANG_TYPE_GREEK = 19, /* Greek */
NETDEV_LANG_TYPE_CZECH = 20, /* Czech */
NETDEV_LANG_TYPE_SLOVAK = 21, /* Slovak */
NETDEV_LANG_TYPE_HUNGARIAN = 22, /* Hungarian */
NETDEV_LANG_TYPE_ROMAN = 23, /* Roman */
NETDEV_LANG_TYPE_SERBIAN = 24, /* Serbian */
NETDEV_LANG_TYPE_CROATIAN = 25, /* Croatian */
NETDEV_LANG_TYPE_SLOVENIAN = 26, /* Slovenian */
NETDEV_LANG_TYPE_BULGARIAN = 27, /* Bulgarian */
NETDEV_LANG_TYPE_BELARUSIAN = 28, /* Belarusian */
NETDEV_LANG_TYPE_TURKISH = 29, /* Turkish */
NETDEV_LANG_TYPE_ARABIC = 30, /* Arabic */
NETDEV_LANG_TYPE_HEBREW = 31, /* Hebrew */
NETDEV_LANG_TYPE_HINDI = 32, /* Hindi */
NETDEV_LANG_TYPE_BENGALI = 33, /* Bengali */
NETDEV_LANG_TYPE_PERSIAN = 34, /* Persian */
NETDEV_LANG_TYPE_JAPANESE = 35, /* Japanese */
NETDEV_LANG_TYPE_KOREAN = 36, /* Korean*/
NETDEV_LANG_TYPE_THAI = 37, /* Thai */
NETDEV_LANG_TYPE_MALAYSIAN = 38, /* Malaysian */
NETDEV_LANG_TYPE_INDONESIAN = 39, /* Indonesian */
NETDEV_LANG_TYPE_FILIPINO = 40, /* Filipino */
NETDEV_LANG_TYPE_LAO = 41, /* Lao */
NETDEV_LANG_TYPE_VIETNAMESE = 42, /* Vietnamese */
NETDEV_LANG_TYPE_MONGOLIAN = 43, /* Mongolian */
NETDEV_LANG_TYPE_ALBANIAN = 44, /* Albanian */
NETDEV_LANG_TYPE_AZERBAIJANI = 45, /* Azerbaijani */
NETDEV_LANG_TYPE_GAELIC = 46, /* Gaelic */
NETDEV_LANG_TYPE_ESTONIAN = 47, /* Estonian */
NETDEV_LANG_TYPE_BOSNIAN = 48, /* Bosnian */
NETDEV_LANG_TYPE_LOWLAND_SAXON = 49, /* Lowland Saxon */
NETDEV_LANG_TYPE_PERUVIAN = 50, /* Peruvian */
NETDEV_LANG_TYPE_LATVIAN = 51, /* Latvian */

692 / 767
Network Device SDK (Windows) User Manual
NETDEV_LANG_TYPE_INVALID = 0xFF /* Invalid */
}NETDEV_LANG_TYPE_E;

4.28.138 Enumeration of client types

typedef enum tagClientType


{
NETDEV_CLIENT_TYPE_EZVMS = 0, /* EZVMS */
NETDEV_CLIENT_TYPE_EZGATE = 1, /* EZGate */
NETDEV_CLIENT_TYPE_EZASSIST = 2, /* EZAssist */
NETDEV_CLIENT_TYPE_IVALID = 0xff /* Invalid value */
}NETDEV_CLIENT_TYPE_E;

4.28.139 Enumeration of channel statuses

typedef enum tagNETDEVChannelStatus


{
NETDEV_CHL_STATUS_OFFLINE = 0, /* Offline */
NETDEV_CHL_STATUS_ONLINE = 1, /* Online */
NETDEV_CHL_STATUS_UNBIND = 2, /* Idle */
NETDEV_CHL_STATUS_INVALID
}NETDEV_CHANNEL_STATUS_E;

4.28.140 Channel type

typedef enum tagNETDEVChannelType


{
NETDEV_CHL_TYPE_DIGITAL = 0, /* Digital */
NETDEV_CHL_TYPE_ANALOG = 1, /* Analog */
NETDEV_CHL_TYPE_INVALID
}NETDEV_CHANNEL_TYPE_E;

4.28.141 Video standard

typedef enum tagNETDEVVideoStandard


{
NETDEV_VIDEO_STANDARD_PAL = 0, /* PAL */
NETDEV_VIDEO_STANDARD_NTSC = 1, /* NTSC */
NETDEV_VIDEO_STANDARD_INVALID = 0xFF /* Invalid value */
}NETDEV_VIDEO_STANDARD_E;

4.28.142 Enumeration of PoE port status

typedef enum tagNETDEVPoEStatus


{
NETDEV_POE_STATUS_NORMAL = 1,
NETDEV_POE_STATUS_POWER_SHORTAGE = 2,
693 / 767
Network Device SDK (Windows) User Manual
NETDEV_POE_STATUS_POWER_OVERLOAP = 4,
NETDEV_POE_STATUS_NONEED_POWER = 8,
NETDEV_POE_STATUS_INVALID = 0xFF
}NETDEV_POE_STATUS_E;

4.28.143 Enumeration of device offline causes

typedef enum tagNETDEVChnOffReason


{
NETDEV_CHN_OFF_REASON_CONNECTING = 0, /* Connecting */
NETDEV_CHN_OFF_REASON_ONLINE = 1, /* Online */
NETDEV_CHN_OFF_REASON_WRONG_PWD = 2, /* Incorrect username or password */
NETDEV_CHN_OFF_REASON_NETWORK_ERROR = 3, /* Network error */
NETDEV_CHN_OFF_REASON_SET_LIVE_STREAM_ERROR = 4, /* Failed to set live stream */
NETDEV_CHN_OFF_REASON_START_LIVE_STREAM_ERROR = 5, /* Failed to start live stream */
NETDEV_CHN_OFF_REASON_STREAM_INTERUP = 6, /* Media stream interrupted */
NETDEV_CHN_OFF_REASON_TIMEOUT = 7, /* Timeout */
NETDEV_CHN_OFF_REASON_WAIT_REGIST = 8, /* GB IPC waiting for
registration packets */
NETDEV_CHN_OFF_REASON_MODIFY_LIVE_STREAM_ERROR = 9, /* GB IPC modify stream transport
protocol */
NETDEV_CHN_OFF_REASON_POE_POWER_ERROR = 10, /* PoE power error */
NETDEV_CHN_OFF_REASON_BW_RECV_NOT_ENOUGH = 11, /* Bandwidth not enough */
NETDEV_CHN_OFF_REASON_WEAK_PWD_ERROR = 12, /* Access denied for weak password */
NETDEV_CHN_OFF_REASON_INVALID = 0xFF /* Invalid value */
}NETDEV_CHN_OFF_REASON_E;

4.28.144 Device status

typedef enum tagNETDEVDeviceStatus


{
NETDEV_DEV_STATUS_OFFLINE = 0, /* Offline */
NETDEV_DEV_STATUS_ONLINE = 1, /* Online */
NETDEV_DEV_STATUS_CONNECTING = 2, /* Connecting */
NETDEV_DEV_STATUS_PWD_ERROR = 3, /* Incorrect username or password */
NETDEV_DEV_STATUS_NOT_SUPPORT = 4, /* Not supported by device */
NETDEV_DEV_STATUS_TIMEOUT = 5, /* Device connection timed out */
NETDEV_DEV_STATUS_WEAK_PWD_ERROR = 6, /* Weak password error for remote user
*/
NETDEV_DEV_STATUS_NO_DYNAMIC_PWD = 7, /* Device does not support dynamic
password */
NETDEV_DEV_STATUS_INVALID = 0XFF /* Invalid value */
}NETDEV_DEVICE_STATUS_E;

694 / 767
Network Device SDK (Windows) User Manual
4.28.145 Device sub types

typedef enum tagNETDEVDeviceSubType


{
NETDEV_DTYPE_SUB_NVR = 0, /* NVR */
NETDEV_DTYPE_SUB_IPC = 1, /* IPC */
NETDEV_DTYPE_SUB_DC_INNER = 2, /* Built-in DC */
NETDEV_DTYPE_SUB_DC_EXT = 3, /* External DC */
NETDEV_DTYPE_SUB_EC = 4, /* EC */
NETDEV_DTYPE_SUB_VMS = 5, /* VMS */
NETDEV_DTYPE_SUB_DA = 6, /* Device agent */
NETDEV_DTYPE_SUB_ADU = 7, /* ADU */
NETDEV_DTYPE_SUB_FISHEYE_IPC = 8, /* Fisheye device */
NETDEV_DTYPE_SUB_DECARD = 9, /* Decoding card */
NETDEV_DTYPE_SUB_FACE_IPC = 10, /* Face recognition camera */
NETDEV_DTYPE_SUB_ALARMHOST = 11, /* Alarm control device */
NETDEV_DTYPE_SUB_ACS = 12, /* 3rd-party access control device */
NETDEV_DTYPE_SUB_FG = 13, /* Face recognition terminal */
NETDEV_DTYPE_SUB_FACE_ACS = 14, /* Face recognition access control device */
NETDEV_DTYPE_SUB_PRIVATE_GENERAL_ACS = 15, /* Uniview general access control device
*/
NETDEV_DTYPE_SUB_PRIVATE_ALARMHOST = 16, /* Uniview alarm control device */
NETDEV_DTYPE_SUB_LOCK_WIF = 17, /* Wi-Fi lock*/
NETDEV_DTYPE_SUB_LOCK_NBIoT = 18, /* NBIoT lock*/
NETDEV_DTYPE_SUB_ID_RECOGNIZE = 19, /* Face&ID recognition device */
NETDEV_DTYPE_SUB_UNKNOW = 0xFF /* Unknown device */
}NETDEV_DEVICE_SUB_TYPE_E;

4.28.146 Access protocol

typedef enum tagNETDEVAccessProtocol


{
NETDEV_ACCESS_PROTOCOL_ONVIF = 1, /* Onvif */
NETDEV_ACCESS_PROTOCOL_PRIVATE = 2, /* Private */
NETDEV_ACCESS_PROTOCOL_GB = 3, /* GB/T28181*/
NETDEV_ACCESS_PROTOCOL_RTSP = 4, /* RTSP */
NETDEV_ACCESS_PROTOCOL_INVALID = 0xFF /* Invalid value */
}NETDEV_ACCESS_PROTOCOL_E;

4.28.147 Access mode

typedef enum tagNETDEVDeviceAccessMode


{
NETDEV_DEV_ACCESS_MODE_IP_DOMAIN = 0, /* IP, domain name */
NETDEV_DEV_ACCESS_MODE_P2P = 1, /* P2P */
NETDEV_DEV_ACCESS_MODE_UNP = 2, /* UNP */

695 / 767
Network Device SDK (Windows) User Manual
NETDEV_DEV_ACCESS_MODE_INVALID = 0XFF /* Invalid value */
}NETDEV_DEVICE_ACCESS_MODE_E;

4.28.148 Types of devices connected to channels (for NVR only)

typedef enum tagNETDEVChannelCameraType


{
NETDEV_CHL_CAMERA_TYPE_FIXED = 0, /* Fixed camera */
NETDEV_CHL_CAMERA_TYPE_PTZ = 1, /* PTZ camera */
NETDEV_CHL_CAMERA_TYPE_FISH_EYE = 2, /* Fisheye (fisheye lens + dewarping
functionality) */
NETDEV_CHL_CAMERA_TYPE_WIDE_ANGLE = 3, /* Wide-angle lens camera (including fisheye or
wide-angle lens but without dewarping functionality) */
NETDEV_CHL_CAMERA_TYPE_INVALID = 0xff
}NETDEV_CHANNEL_CAMERA_TYPE_E;

4.28.149 Alarm/event report type

typedef enum tagNETDEVReportType


{
NETDEV_REPORT_TYPE_ALARM = 0, /* Type: Alarm */
NETDEV_REPORT_TYPE_EVENT = 1, /* Type: Event */
NETDEV_REPORT_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_REPORT_TYPE_E;

4.28.150 Alarm resource types

typedef enum tagNETDEVAlarmSrcTypeEn


{
NETDEV_ALARM_SRC_LOCAL_HARD_DISK = 0, /* Local disk */
NETDEV_ALARM_SRC_EX_CABINET_1_STORAGE_DISK = 1, /* Expansion enclosure-1 disk*/
NETDEV_ALARM_SRC_EX_CABINET_2_STORAGE_DISK = 2, /* Expansion enclosure-2 disk */
NETDEV_ALARM_SRC_ARRAY_STORAGE_DISK = 3, /* Array disk */
NETDEV_ALARM_SRC_ARRAY_STORAGE_DISK = 4, /* NAS disk */
NETDEV_ALARM_SRC_ARRAY_STORAGE_DISK = 5, /* Array disk */
NETDEV_ALARM_SRC_ESATA_STORAGE_DISK = 6, /*eSATA disk */
NETDEV_ALARM_SRC_SD_STORAGE_DISK = 7, /*SD card */
NETDEV_ALARM_SRC_VIDEO_CHANNEL = 8, /*Video channel */
NETDEV_ALARM_SRC_ALARM_INPUT_CHANNEL = 9, /* Alarm input channel */
NETDEV_ALARM_SRC_SYSTEM = 10, /* System */
NETDEV_ALARM_SRC_AUDIO_CHANNEL = 11, /*Audio channel */
NETDEV_ALARM_SRC_DECODE_CHANNEL = 12, /*Decoding channel */
NETDEV_ALARM_SRC_ALARM_OUTPUT_CHANNEL = 13, /*Alarm output channel */
NETDEV_ALARM_SRC_ACCESS_CONTROL_CHANNEL = 14, /* Access control channel */
NETDEV_ALARM_SRC_ALARM_POINT_CHANNEL = 15, /* Alarm point channel */
NETDEV_ALARM_SRC_EMERGENCY_BELL_CHANNEL = 16, /* Emergency bell channel (third-

696 / 767
Network Device SDK (Windows) User Manual
party alarm) */
NETDEV_ALARM_SRC_DEV = 17, /* Device */
NETDEV_ALARM_SRC_INVALID = 0xFFFF /* Invalid value */
}NETDEV_ALARM_SRC_TYPE_E;

4.28.151 Enumerations of media types

typedef enum tagNetSDKMediaMode


{
NETDEV_MEDIA_MODE_LOCAL = 0, /* Local file */
NETDEV_MEDIA_MODE_REALPLAY = 1, /* Real-time network stream */
NETDEV_MEDIA_MODE_PLAYBACK = 2, /* Network stream playback */
NETDEV_MEDIA_MODE_DOWNLOAD = 3, /* Network stream download */
NETDEV_MEDIA_MODE_VOICECOM = 4, /* Two-way audio */
NETDEV_MEDIA_MODE_VOICESRV = 5, /* Audio data service */
NETDEV_MEDIA_MODE_M3U8PLAY = 6, /* M3u8 file playing */
NETDEV_MEDIA_MODE_UNKNOWN = 0xff /* Unknown mode */
}NETDEV_MEDIA_MODE_E;

4.28.152 Enumeration of types of operation info reported by the decoding layer

typedef enum tagNETDEVPlayerRunInfoType


{
NETDEV_PLAYER_RUN_INFO_RECORD_VIDEO = 1, /**< Operation info reported during local
recording */
NETDEV_PLAYER_RUN_INFO_MEDIA_PROCESS = 2, /**< Operation info reported during
video media processing */
NETDEV_PLAYER_RUN_INFO_SERIES_SNATCH = 3, /**< Operation info reported during
continuous snapshots */
NETDEV_PLAYER_RUN_INFO_MEDIA_VOICE = 4, /**< Operation info reported during
audio service */
NETDEV_PLAYER_RUN_INFO_MEDIA_NOT_IDENTIFY = 5, /**< Unidentified stream */
NETDEV_PLAYER_RUN_INFO_RECV_PACKET_NUM = 6, /**< Number of packets received during the
period */
NETDEV_PLAYER_RUN_INFO_RECV_BYTE_NUM = 7, /**< Number of bytes received during the
period */
NETDEV_PLAYER_RUN_INFO_VIDEO_FRAME_NUM = 8, /**< Number of video frames decoded during
the period */
NETDEV_PLAYER_RUN_INFO_AUDIO_FRAME_NUM = 9, /**< Number of audio frames decoded during
the period */
NETDEV_PLAYER_RUN_INFO_LOST_PACKET_RATIO = 10, /**< Packet loss rate during the period
(unit: .01%)*/
NETDEV_PLAYER_RUN_INFO_MEDIA_PLAY_PROGRESS = 11, /**< Progress info carried in the media */
NETDEV_PLAYER_RUN_INFO_MEDIA_PLAY_END = 12, /**< Play end carried in the media */
NETDEV_PLAYER_RUN_INFO_MEDIA_ABNORMAL = 13, /**< Media processing abnormal */
NETDEV_PLAYER_RUN_INFO_CODEC = 14, /**< Codec */
697 / 767
Network Device SDK (Windows) User Manual
NETDEV_PLAYER_RUN_INFO_STREAM = 15, /**< Network stream or input stream
playing */
NETDEV_PLAYER_RUN_INFO_PLAYBACK_FINISH = 16, /**< Playback end */
NETDEV_PLAYER_RUN_INFO_SNATCH = 17, /**< Operation info reported during
snapshot */
NETDEV_PLAYER_RUN_INFO_INVALID = 0xff
}NETDEV_PLAYER_RUN_INFO_TYPE_E;

4.28.153 Enumeration of event action types

typedef enum tagNETDEVEventActionType


{
NETDEV_EVENT_ACTION_TYPE_ADD = 0, /* Event action type: add */
NETDEV_EVENT_ACTION_TYPE_DELETE = 1, /* Event action type: delete */
NETDEV_EVENT_ACTION_TYPE_MODIFY = 2, /* Event action type: modify */
NETDEV_EVENT_ACTION_TYPE_ONLINE = 3, /* Event action type: online */
NETDEV_EVENT_ACTION_TYPE_OFFLINE = 4, /* Event action type: offline */
NETDEV_EVENT_ACTION_TYPE_EMAP_ALARM = 5, /* Event action type: e-map alarm */
NETDEV_EVENT_ACTION_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_EVENT_ACTION_TYPE_E;

4.28.154 Enumeration of event resources types

typedef enum tagNETDEVEventResType


{
NETDEV_EVENT_RES_TYPE_USER = 0, /* User resource, corresponds to the login
handle for user online/offline, otherwise, corresponds to user ID */
NETDEV_EVENT_RES_TYPE_DEVICE = 1, /* Device resource, corresponds to
device ID */
NETDEV_EVENT_RES_TYPE_CHANNEL = 2, /* Channel resource, corresponds to channel
ID */
NETDEV_EVENT_RES_TYPE_LOGOUT = 3, /* Forced user logout, corresponds to login
ID */
NETDEV_EVENT_RES_TYPE_SEQUENCE = 4, /* Sequence resource, corresponds to
resource ID */
NETDEV_EVENT_RES_TYPE_EMAP_HOTPO = 5, /* E-map hotspot resource, corresponds to
resource ID */
NETDEV_EVENT_RES_TYPE_EMAP_HOTAREA = 6, /* E-map hot zone resource, corresponds to
resource ID */
NETDEV_EVENT_RES_TYPE_EMAP_ALARM = 7, /* E-map alarm resource, corresponds to resource
ID */
NETDEV_EVENT_RES_TYPE_TIMETEMPLATE = 8, /* Alarm plan template, corresponds to
template ID */
NETDEV_EVENT_RES_TYPE_SYSRIGH = 9, /* System permission resource, corresponds
to user login handle */
NETDEV_EVENT_RES_TYPE_DEVRIGHT = 10, /* Device permission resource, corresponds to
698 / 767
Network Device SDK (Windows) User Manual
channel ID */
NETDEV_EVENT_RES_TYPE_ORG = 11, /* Organization resource, corresponds to
organization ID */
NETDEV_EVENT_RES_TYPE_ALARM_TASK = 12, /* Alarm task resource, corresponds to alarm task
ID */
NETDEV_EVENT_RES_TYPE_SLAVE = 13, /* Primary/replica resource (consistent with the
server) */
NETDEV_EVENT_RES_TYPE_TVWALL = 14, /* Video wall resource, corresponds to video wall
ID */
NETDEV_EVENT_RES_TYPE_TVWALL_SCENE = 15, /* Video wall scene resource, corresponds to video
wall ID */
NETDEV_EVENT_RES_TYPE_WND = 16, /* Video wall window resource, corresponds to
window ID */
NETDEV_EVENT_RES_TYPE_VIRTUAL_LED = 17, /* Video wall virtual LED resource, corresponds
to virtual LED ID */
NETDEV_EVENT_RES_TYPE_BROADCAST_CHANGE = 18, /* Multicast group info change (value is
consistent with the server) */
NETDEV_EVENT_RES_TYPE_LOGIC_ORG = 19, /* Virtual organization resource, corresponds to
organization ID, used when deleting channels under a virtual organization */
NETDEV_EVENT_RES_TYPE_USER_ROLE = 20, /* User role resource, corresponds to user login
handle */
NETDEV_EVENT_RES_TYPE_ROLE_ORG = 21, /* Role & organization tree resource, corresponds
to user login handle */
NETDEV_EVENT_RES_TYPE_EMAP_PIC = 22, /* Image resource, corresponds to hot zone ID */
NETDEV_EVENT_RES_TYPE_PATROL = 23, /* Patrol resource */
NETDEV_EVENT_RES_TYPE_RECORD = 24, /* Recorded patrol resource */
NETDEV_EVENT_RES_TYPE_ACS_PERSON = 25, /* Access control person resource,
corresponds to person ID */
NETDEV_EVENT_RES_TYPE_ACS_PERSON_CARD = 26, /* Access control card resource, corresponds
to person ID */
NETDEV_EVENT_RES_TYPE_TVWALL_LIST = 27, /* Video wall list, permission assigned
to video wall */
NETDEV_EVENT_RES_TYPE_TVWALL_SCENE_SWITCH = 28, /* Video wall scene switch */
NETDEV_EVENT_RES_TYPE_FACE_LIB = 29, /* Face library resource, corresponds to
face library ID */
NETDEV_EVENT_RES_TYPE_FACE_CUSTOM = 30, /* Face library custom attribute,
corresponds to attribute ID */
NETDEV_EVENT_RES_TYPE_FACE_MEMBER = 31, /* Face member resource, corresponds to
face library ID */
NETDEV_EVENT_RES_TYPE_FACE_GUARD = 32, /* Face monitoring resource, corresponds
to face monitoring ID */
NETDEV_EVENT_RES_TYPE_SMART_DETECT = 33, /* Smart detection resource, corresponds to
smart detection type. Face recognition: 0 */
NETDEV_EVENT_RES_TYPE_MANUAL_STATUS = 34, /* Manual recording status */
NETDEV_EVENT_RES_TYPE_VEHICLE_GUARD = 38, /* Plate monitoring resource, corresponds to

699 / 767
Network Device SDK (Windows) User Manual
vehicle monitoring ID */
NETDEV_EVENT_RES_TYPE_CDN_CHANNEL = 39, /* CDN channel resource change. The
changed info is not reported. The client queries the channel list proactively after receiving an
event */
NETDEV_EVENT_RES_TYPE_FACE_MEMBER_SORT = 40, /* Face member allocation resource,
corresponds to face library ID */
NETDEV_EVENT_RES_TYPE_VEHICLE_LIB = 41, /* Vehicle library resource, corresponds
to vehicle library ID */
NETDEV_EVENT_RES_TYPE_VEHICLE_MEMBER_SORT = 42, /* Vehicle member allocation resource,
corresponds to vehicle library ID */
NETDEV_EVENT_RES_TYPE_VEHICLE_MEMBER = 43, /* Vehicle member resource, corresponds
to vehicle member ID */
NETDEV_EVENT_RES_TYPE_REMAIN_PARK_SPACE = 44, /* Parking lot remaining parking space
resource */
NETDEV_EVENT_RES_TYPE_ABNORMAL_CHARGE = 45, /* Abnormal charging rule resource */
NETDEV_EVENT_RES_TYPE_PARK_RES_CHANGE = 46, /* Parking lot resource change */
NETDEV_EVENT_RES_TYPE_SMART_COMMUNITY_PERSON = 47, /* Smart community person resource */
NETDEV_EVENT_RES_TYPE_SMART_COMMUNITY_CAR = 48, /* Smart community vehicle resource */
NETDEV_EVENT_RES_TYPE_SMART_COMMUNITY_BUILDING = 49, /* Smart community building resource */
NETDEV_EVENT_RES_TYPE_SMART_COMMUNITY_UNIT = 50, /* Smart community unit resource */
NETDEV_EVENT_RES_TYPE_SMART_COMMUNITY_ROOM = 51, /* Smart community room resource */
NETDEV_EVENT_RES_TYPE_SMART_COMMUNITY_ORG = 52, /* Smart community resource organization
(community) resource */
NETDEV_EVENT_RES_TYPE_TEMP_VEHICLE_PAY_CHANGE = 53, /* Temporary vehicle charging info
change */
NETDEV_EVENT_RES_TYPE_THIRDPART_PAYMENT = 54, /* Parking lot third-party payment
resource */
NETDEV_EVENT_RES_TYPE_PAYMENT_WAIT = 55, /* Payment in progress. Please wait
*/
NETDEV_EVENT_RES_TYPE_ENTRANCE_LIST = 56, /* Entrance & exit list. Permission to
entrance & exit */
NETDEV_EVENT_RES_TYPE_VIEWPLAN_RES = 57, /* View plan. Corresponds to plan ID */
NETDEV_EVENT_RES_TYPE_SCENESPLAN_RES = 58, /* Scene plan. Corresponds to plan ID */
NETDEV_EVENT_RES_TYPE_ACS_PERMISSION = 59, /* Permission resource, used to change
permission info */
NETDEV_EVENT_RES_TYPE_ACS_GROUP = 60, /* Access control group resource, used to change
access control permission group (organization) */
NETDEV_EVENT_RES_TYPE_TVWALL_AUDIO = 61, /* Audio event */
NETDEV_EVENT_RES_TYPE_PAYMENT_RRULE = 62, /* Charging rule resource added manually */
NETDEV_EVENT_RES_TYPE_GIS = 63, /* E-map resource */
NETDEV_EVENT_RES_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_EVENT_RES_TYPE_E;

4.28.155 People counting types

typedef enum tagNETDEVTrafficStatisticsType


700 / 767
Network Device SDK (Windows) User Manual
{
NETDEV_TRAFFIC_STATISTICS_TYPE_IN = 0, /* Type: Enter */
NETDEV_TRAFFIC_STATISTICS_TYPE_OUT = 1, /* Type: Leave */
NETDEV_TRAFFIC_STATISTICS_TYPE_ALL = 2, /* Type: All */
NETDEV_TRAFFIC_STATISTICS_TYPE_BUTT
}NETDEV_TRAFFIC_STATISTICS_TYPE_E;

4.28.156 People counting report types

typedef enum tagNETDEVFormType


{
NETDEV_FORM_TYPE_DAY = 0, /* Daily report */
NETDEV_FORM_TYPE_WEEK = 1, /* Weekly report */
NETDEV_FORM_TYPE_MONTH = 2, /* Monthly report */
NETDEV_FORM_TYPE_YEAR = 3, /* Yearly report */
NETDEV_FORM_TYPE_BUTT
}NETDEV_FORM_TYPE_E;

4.28.157 People counting report types

typedef enum tagNETDEVTrafficStatisticsFormType


{
NETDEV_TRAFFIC_STAT_FORM_BY_MINUTE = 0, /* By minute */
NETDEV_TRAFFIC_STAT_FORM_BY_HOUR = 1, /* By hour */
NETDEV_TRAFFIC_STAT_FORM_BY_DAY = 2, /* By day */
NETDEV_TRAFFIC_STAT_FORM_BY_MONTH = 3, /* By month */
NETDEV_TRAFFIC_STAT_FORM_BY_BUTT
}NETDEV_TRAFFIC_STATIC_FORM_TYPE_E;

4.28.158 Enumeration of resolutions

typedef enum tagNETDEVVideoFormat


{
NETDEV_VIDEO_FORMAT_720P24 = 2, /* 1280x720@24 */
NETDEV_VIDEO_FORMAT_720P25 = 3, /* 1280x720@25 */
NETDEV_VIDEO_FORMAT_720P30 = 4, /* 1280x720@30 */
NETDEV_VIDEO_FORMAT_720P50 = 5, /* 1280x720@50 */
NETDEV_VIDEO_FORMAT_720P60 = 6, /* 1280x720@60 */
NETDEV_VIDEO_FORMAT_1080P24 = 10, /* 1920x1080@24 */
NETDEV_VIDEO_FORMAT_1080P25 = 11, /* 1920x1080@25 */
NETDEV_VIDEO_FORMAT_1080P30 = 12, /* 1920x1080@30 */
NETDEV_VIDEO_FORMAT_1080P50 = 13, /* 1920x1080@50 */
NETDEV_VIDEO_FORMAT_1080P60 = 14, /* 1920x1080@60 */
NETDEV_VIDEO_FORMAT_XGA60 = 15, /* 1024x768@60 */
NETDEV_VIDEO_FORMAT_SXGA60 = 16, /* 1280x1024@60 */
NETDEV_VIDEO_FORMAT_UXGA60 = 17, /* 1600x1200@60 */

701 / 767
Network Device SDK (Windows) User Manual
NETDEV_VIDEO_FORMAT_SXGAP60HZ = 18,
NETDEV_VIDEO_FORMAT_WXGAP60HZ = 19, /* 1366x768@60 */
NETDEV_VIDEO_FORMAT_WSXGA60HZ = 20, /* 1440x900@60 */
NETDEV_VIDEO_FORMAT_4K30 = 21, /* 3840x2160@30 */
NETDEV_VIDEO_FORMAT_4K60 = 22, /* 3840x2160@60 */
NETDEV_VIDEO_FORMAT_MUXGA60HZ = 23, /* 1920x1200@60 */
NETDEV_VIDEO_FORMAT_CUSTOM = 100, /* Custom resolution */
NETDEV_VIDEO_FORMAT_INVALID = 0xF
}NETDEV_VIDEO_FORMAT_E;

4.28.159 Enumeration of window splitting capability

typedef enum tagNETDEVPaneCap


{
NETDEV_PANE_UNSUPPORT = 0, /* Not support */
NETDEV_PANE_SAME_WND = 1, /* Support splitting windows of the same size and
position on one monitor */
NETDEV_PANE_ANY_WND = 2, /* Support splitting any window */

NETDEV_PANE_INVALID = 0xFF /* Invalid value */


}NETDEV_XW_PANE_CAP_E;

4.28.160 Enumeration of window roaming capability

typedef enum tagNETDEVRoamingCap


{
NETDEV_ROAMING_UNSUPPORT = 0, /* Not support */
NETDEV_ROAMING_SINGLE_WND = 1, /* Supports roaming single split-window */
NETDEV_ROAMING_PANE_WND = 2, /* Supports roaming multiple split-windows */

NETDEV_ROAMING_INVALID = 0xFF /* Invalid value */


}NETDEV_XW_ROAMING_CAP_E;

4.28.161 Enumeration of window opening capability

typedef enum tagNETDEVWndCap


{
NETDEV_WINDOWS_UNSUPPORT = 0, /* Not support */
NETDEV_WINDOWS_SINGLE_WND = 1, /* Supports opening windows of the same size and position
on one monitor */
NETDEV_WINDOWS_MULTI_WND = 2, /* Supports opening windows across multiple monitors,
and windows expands to maximum window size */
NETDEV_WINDOWS_ANY_WND = 3, /* Supports opening windows randomly */
NETDEV_WINDOWS_INVALID =0xff /* Invalid value */
}NETDEV_XW_WND_CAP_E;

702 / 767
Network Device SDK (Windows) User Manual
4.28.162 Enumeration of video output formats

typedef enum tagNETDEVXWLayoutNum


{
NETDEV_XW_LAYOUT_TYPE__SELF_ADAPT = 0, /* Adaptive */
NETDEV_XW_LAYOUT_TYPE_01 = 100, /* 1 split window */
NETDEV_XW_LAYOUT_TYPE_02 = 200, /* 2 split windows */
NETDEV_XW_LAYOUT_TYPE_03 = 300, /* 3 split windows */
NETDEV_XW_LAYOUT_TYPE_03_1 = 301, /* 3 split windows, 2 at top, 1 at
bottom */
NETDEV_XW_LAYOUT_TYPE_04 = 400, /* 4 split windows */
NETDEV_XW_LAYOUT_TYPE_04_1 = 401, /* 4 split windows, 1+1+2 */
NETDEV_XW_LAYOUT_TYPE_05 = 500, /* 5 split windows, 1+3+1 */
NETDEV_XW_LAYOUT_TYPE_05_1 = 501, /* 5 split windows, 1+1+3 */
NETDEV_XW_LAYOUT_TYPE_05_2 = 502, /* 5 split windows, 1+3+1 (sequence
different from 500) */
NETDEV_XW_LAYOUT_TYPE_05_3 = 503, /* 5 split windows, 1+1+3 (sequence
different from 501) */
NETDEV_XW_LAYOUT_TYPE_05_4 = 504, /* 5 split windows, 3+1+1*/
NETDEV_XW_LAYOUT_TYPE_05_5 = 505, /* 5 split windows, 1+4*/
NETDEV_XW_LAYOUT_TYPE_06 = 600, /* 6 split windows, 1+5 */
NETDEV_XW_LAYOUT_TYPE_07 = 700, /* 7 split windows, 1+6 */
NETDEV_XW_LAYOUT_TYPE_07_1 = 701, /* 7 split windows, 3+1+3 */
NETDEV_XW_LAYOUT_TYPE_07_2 = 702, /* 7 split windows, 3+1+3 (both 3: 2
at top, 1 at bottom) */
NETDEV_XW_LAYOUT_TYPE_08 = 800, /* 8 split windows, 1+7 */
NETDEV_XW_LAYOUT_TYPE_09 = 900, /* 9 split windows */
NETDEV_XW_LAYOUT_TYPE_10 = 1000, /* 10 split windows, 1+9 */
NETDEV_XW_LAYOUT_TYPE_10_1 = 1001, /* 10 split windows, 2+8 */
NETDEV_XW_LAYOUT_TYPE_13 = 1300, /* 13 split windows, 1+12 */
NETDEV_XW_LAYOUT_TYPE_13_1 = 1301, /* 13 split windows, 1+12 (sequence
different from 1300) */
NETDEV_XW_LAYOUT_TYPE_16 = 1600, /* 16 split windows */
NETDEV_XW_LAYOUT_TYPE_17 = 1700, /* 17 split windows, 1+16 */
NETDEV_XW_LAYOUT_TYPE_25 = 2500, /* 25 split windows */
NETDEV_XW_LAYOUT_TYPE_32 = 3200, /* 32 split windows, 3+1+28 */
NETDEV_XW_LAYOUT_TYPE_36 = 3600, /* 36 split windows */
NETDEV_XW_LAYOUT_TYPE_64 = 6400, /* 64 split windows */
NETDEV_XW_LAYOUT_TYPE_10001 = 10001, /* Custom layout 1 */
NETDEV_XW_LAYOUT_TYPE_10002 = 10002, /* Custom layout 2 */
NETDEV_XW_LAYOUT_TYPE_10003 = 10003, /* Custom layout 3 */
NETDEV_XW_LAYOUT_TYPE_10004 = 10004, /* Custom layout 4 */
NETDEV_XW_LAYOUT_TYPE_10005 = 10005, /* Custom layout 5 */
NETDEV_XW_LAYOUT_TYPE_10006 = 10006, /* Custom layout 6 */
NETDEV_XW_LAYOUT_TYPE_10007 = 10007, /* Custom layout 7 */

703 / 767
Network Device SDK (Windows) User Manual
NETDEV_XW_LAYOUT_TYPE_10008 = 10008, /* Custom layout 8 */

NETDEV_XW_LAYOUT_TYPE_INVALID = 0xffff
}NETDEV_XW_LAYOUT_NUM_E;

4.28.163 Enumeration of video port types

typedef enum tagNETDEVVideoPortType


{
NETDEV_VIDEO_PORT_BNC = 0, /* BNC */
NETDEV_VIDEO_PORT_VGA = 1, /* VGA */
NETDEV_VIDEO_PORT_HDMI = 2, /* HDMI */
NETDEV_VIDEO_PORT_DVI_D = 3, /* DVI_D */
NETDEV_VIDEO_PORT_DVI_I = 4, /* DVI_D */
NETDEV_VIDEO_PORT_DP = 5, /* DVI_D */
NETDEV_VIDEO_PORT_SDI = 6, /* DVI_D */
NETDEV_VIDEO_PORT_RJ45 = 7, /* RJ45 */
NETDEV_VIDEO_PORT_INVALID = 0xff /* Invalid value */
}NETDEV_VIDEO_PORT_TYPE_E;

4.28.164 Enumeration of audio channel ports

typedef enum tagNETDEVAudioPortType


{
NETDEV_AUDIO_PORT_SINGLE = 0, /* Single port */
NETDEV_AUDIO_PORT_DOUBLE = 1, /* Dual port */
NETDEV_AUDIO_PORT_INVALID = 0xff /* Invalid value */
}NETDEV_AUDIO_PORT_TYPE_E;

4.28.165 Enumeration of serial ports

typedef enum tagNETDEVXWSerialType


{
NETDEV_XW_SERIAL_TYPE_RS232 = 0, /* 232 */
NETDEV_XW_SERIAL_TYPE_RS422 = 1, /* 422 */
NETDEV_XW_SERIAL_TYPE_RS485 = 2, /* 485 */

NETDEV_XW_SERIAL_TYPE_INVALID = 0xFF /* Invalid value */


}NETDEV_XW_SERIAL_TYPE_E;

4.28.166 Enumeration of virtual LED types

typedef enum tagNETDEVLEDType


{
NETDEV_LED_TYPE_STRING = 0 /* Character */
}NETDEV_XW_LED_TYPE_E;

704 / 767
Network Device SDK (Windows) User Manual
4.28.167 Enumeration of optional command words for modifying virtual LEDs

typedef enum tagNETDEVLedCmd


{
NETDEV_LED_ENABLE = 0x0001, /* Window layout udwEnable */
NETDEV_LED_TYPE = 0x0002, /* Virtual LED type dwType */
NETDEV_LED_AREA = 0x0004, /* Virtual LED position info stArea */
NETDEV_LED_BACKGROUND = 0x0008, /* Background color stBackground */
NETDEV_LED_FONTINFO = 0x0010, /* Text description stFontInfo */
NETDEV_LED_TEXT = 0x0020, /* Text content udwTestLineNum szText*/
NETDEV_LED_ALL = 0x00FF /* All all*/
} NETDEV_XW_LED_CMD_E;

4.28.168 Enumeration of virtual LED font format

typedef enum tagNETDEVLEDFontFormat


{
NETDEV_LED_FONT_SONG = 0, /* SimSun */
NETDEV_LED_FONT_FORMAT_SIMHEI = 1, /* SimHei */
NETDEV_LED_FONT_FORMAT_KAITI = 2, /* KaiTi */
NETDEV_LED_FONT_FORMAT_Arial = 3, /* Arial */
NETDEV_LED_FONT_FORMAT_FANGSONG = 4, /* FangSong */
NETDEV_LED_FONT_FORMAT_LISHU = 5, /* LiSu */
NETDEV_LED_FONT_FORMAT_YOUYUAN = 6 /* YouYuan */
}NETDEV_XW_LED_FONT_FORMAT_E;

4.28.169 Enumeration of virtual LED font sizes

typedef enum tagNETDEVXWLEDFontSize


{
NETDEV_LED_FONT_SIZE_48X48 = 0, /* 48X48 */
NETDEV_LED_FONT_SIZE_64X64 = 1, /* 64X64 */
NETDEV_LED_FONT_SIZE_96X96 = 2, /* 96X96 */
NETDEV_LED_FONT_SIZE_128X128 = 3, /* 128X128 */
NETDEV_LED_FONT_SIZE_192X192 = 4, /* 192X192 */
NETDEV_LED_FONT_SIZE_256X256 = 5, /* 256X256 */
NETDEV_LED_FONT_SIZE_512X512 = 6, /* 512X512 */
NETDEV_FONT_SIZE_SELF_ADAPTION = 7 /* Adaptive */
}NETDEV_XW_LED_FONT_SIZE_E;

4.28.170 Enumeration of virtual LED font spacing

typedef enum tagNETDEVXWLEDFontGap


{
NETDEV_LED_FONT_GAP_NORMAL = 0, /* Normal */
NETDEV_LED_FONT_GAP_ONE = 1, /* 2/4 height */

705 / 767
Network Device SDK (Windows) User Manual
NETDEV_LED_FONT_GAP_TWO = 2, /* 4/4 height */
NETDEV_LED_FONT_GAP_THREE = 3, /* 6/4 height */
NETDEV_LED_FONT_GAP_FOUR = 4, /* 8/4 height */
NETDEV_LED_FONT_GAP_FIVE = 5, /* 1/4 height */
NETDEV_LED_FONT_GAP_SIX = 6, /* 3/4 height */
NETDEV_LED_FONT_GAP_SEVEN = 7, /* 5/4 height */
NETDEV_LED_FONT_GAP_EIGHT = 8, /* 7/4 height */
NETDEV_LED_FONT_GAP_NINE = 9, /* 10/4 height */
NETDEV_LED_FONT_GAP_INVALID = 0xFF /* Invalid value (Adaptive) */
}NETDEV_XW_LED_FONT_GAP_E;

4.28.171 Enumeration of horizontal text alignment modes

typedef enum tagNETDEVHorizontalAlignMode


{
NETDEV_HORIZONTAL_ALIGN_LEFT = 0, /* Left alignment */
NETDEV_HORIZONTAL_ALIGN_MIDDLE = 1, /* Center alignment */
NETDEV_HORIZONTAL_ALIGN_RIGHT = 2 /* Right alignment */
}NETDEV_XW_HORIZONTAL_ALIGN_MODE_E;

4.28.172 Enumeration of vertical text alignment modes

typedef enum tagNETDEVVerticalAlignMode


{
NETDEV_VERTICAL_ALIGN_TOP = 0, /* Align top */
NETDEV_VERTICAL_ALIGN_MIDDLE = 1, /* Align middle */
NETDEV_VERTICAL_ALIGN_BOTTOM = 2 /* Align bottom */
}NETDEV_XW_VERTICAL_ALIGN_MODE_E;

4.28.173 Enumeration of text scroll modes

typedef enum tagNETDEVLEDScrollingMode


{
NETDEV_LED_SCROLL_STATIC = 0, /* Static */
NETDEV_LED_SCROLL_RIGHT_TO_LEFT = 1, /* Right to left */
NETDEV_LED_SCROLL_LEFT_TO_RIGHT = 2, /* Left to right */
NETDEV_LED_SCROLL_BOTTOM_TO_TOP = 3, /* Bottom to top */
NETDEV_LED_SCROLL_TOP_TO_BOTTOM = 4 /* Top to bottom */
}NETDEV_XW_LED_SCROLLING_MODE_E;

4.28.174 Enumeration of window magnification types

typedef enum tagNETDEVZoomType


{
NETDEV_XW_ZOOM_TYPE_NO = 0x00, /* No magnification */
NETDEV_XW_ZOOM_TYPE_SPLIT = 0x01, /* Magnify split window */
NETDEV_XW_ZOOM_TYPE_WND = 0x02, /* Magnify window */
706 / 767
Network Device SDK (Windows) User Manual
NETDEV_XW_ZOOM_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_XW_ZOOM_TYPE_E;

4.28.175 Enumeration of window types

typedef enum tagNETDEVTVWallWndType


{
NETDEV_WINDOWS_TYPE_NORMAL = 0, /* Normal window */
NETDEV_WINDOWS_TYPE_ALARM = 1, /* Alarm window */

NETDEV_WINDOWS_TYPE_INVALID = 0xFF /* Invalid status */


}NETDEV_TVWALL_WND_TPYE_E;

4.28.176 Enumeration of zoom statuses

typedef enum tagNETDEVScaleEnabled


{
NETDEV_SCALE_ENABLED_NO = 0, /* No scaling */
NETDEV_SCALE_ENABLED_IN = 1, /* Scale */
NETDEV_SCALE_ENABLED_FULL = 2, /* Stretch */
NETDEV_SCALE_ENABLED_INVALID = 0xFF /* Invalid value */
}NETDEV_SCALE_ENABLED_E;

4.28.177 Enumeration of video service in split window

typedef enum tagNETDEVSessionType


{
NETDEV_SESSION_TYPE_FREE = 0, /* Idle */
NETDEV_SESSION_TYPE_LIVE_ON_WALL = 1, /* Live view on video wall */
NETDEV_SESSION_TYPE_PLAYBACK_ON_WALL = 2, /* Playback on video wall */
NETDEV_SESSION_TYPE_TURNING_ON_WALL = 3 /* Sequence on video wall */
}NETDEV_SESSION_TYPE_E;

4.28.178 Enumeration of screen magnification types

typedef enum tagNETDEVXWScreenZoomdType


{
NETDEV_XW_SCREEN_ZOOM_TYPE_PANE = 0, /* Magnify split-window */
NETDEV_XW_SCREEN_ZOOM_TYPE_WIN = 1, /*Magnify window */

NETDEV_XW_SCREEN_ZOOM_TYPE_INVALID = 0xFF /* Invalid value */


}NETDEV_XW_SCREEN_ZOOM_TYPE_E;

4.28.179 Enumeration of screen magnification modes

typedef enum tagNETDEVXWScreenZoomdMode


{
707 / 767
Network Device SDK (Windows) User Manual
NETDEV_XW_SCREEN_ZOOM_MODE_OFF = 0, /* Restore */
NETDEV_XW_SCREEN_ZOOM_MODE_ON = 1, /* Magnify */

NETDEV_XW_SCREEN_ZOOM_MODE_INVALID = 0xFF /* Invalid value */


}NETDEV_XW_SCREEN_ZOOM_MODE_E;

4.28.180 Enumeration of media transport protocols

typedef enum tagNETDEVLapiTransProtocal


{
NETDEV_LAPI_TRANS_PROTOCAL_TCP = 0, /* TCP */
NETDEV_LAPI_TRANS_PROTOCAL_UDP = 1 /* UDP */
}NETDEV_LAPI_TRANS_PROTOCAL_E;

4.28.181 Enumeration of live view types

typedef enum tagNETDEVRealPlayType


{
NETDEV_TYPE_NORMAL = 0, /* Default: normal live view */
NETDEV_TYPE_ALARM = 1, /* Alarm triggered live view */
NETDEV_TYPE_LOCAL = 2 /* Local live view */
}NETDEV_XW_REALPLAY_TYPE_E;

4.28.182 Enumeration of decoding types

typedef enum tagNETDEVDecodeType


{
NETDEV_DECODE_TYPE_CLIENT = 0, /* Decoder works as the client, active decoding */
NETDEV_DECODE_TYPE_SERVER = 1 /* Decoder works as the server, passive decoding */

}NETDEV_XW_DECODE_TYPE_E;

4.28.183 Enumeration of encryption types

typedef enum tagNetDevAuthModel


{
NETDEV_AUTH_MODEL_RSA_10 = 0, /* RSA, decimal */
NETDEV_AUTH_MODEL_PRI = 1, /* Common encryption */
NETDEV_AUTH_MODEL_RSA_16 = 2 /* RSA, hexadecimal */
}NETDEV_AUTH_MODEL_E;

4.28.184 Enumeration of text positions

typedef enum tagNETDEVContentPosition


{
NETDEV_XW_CONTENT_POSITION_TOP = 0, /* Top */
NETDEV_XW_CONTENT_POSITION_MIDDLE = 1, /* Middle */
708 / 767
Network Device SDK (Windows) User Manual
NETDEV_XW_CONTENT_POSITION_BOTTOM = 2 /* Bottom */
}NETDEV_XW_CONTENT_POSITION_E;

4.28.185 Enumeration of resource management types

typedef enum tagNETDEVXWManageType


{
NETDEV_XW_MANAGE_TYPE_OTHER = 0, /* Other */
NETDEV_XW_MANAGE_TYPE_XWARE = 1, /* Xware device manages resource
*/

NETDEV_XW_MANAGE_TYPE_INVALID = 0XFF /* Invalid value */

}NETDEV_XW_MANAGE_TYPE_E;

4.28.186 Enumeration of stream types

typedef enum tagNETDEVStreamType


{
NETDEV_STREAM_TYPE_RTP_UNICAST = 0, /* Unicast */
NETDEV_STREAM_TYPE_RTP_MULTICAST = 1, /* Multicast */

NETDEV_STREAM_TYPE_RTP_INVALID = 0xFF
}NETDEV_STREAM_TYPE_E;

4.28.187 Enumeration of scene modification types

typedef enum tagNETDEVXWSceneModifyType


{
NETDEV_XW_SCENE_MODIFY_TYPE_NAME = 0, /* Change the scene name */
NETDEV_XW_SCENE_MODIFY_TYPE_SAVE_AS = 1, /* Save the scene as another scene */

NETDEV_XW_SCENE_MODIFY_TYPE_INVALID = 0xff /* Invalid value */


}NETDEV_XW_SCENE_MODIFY_TYPE_E;

4.28.188 Enumeration of scene modes

typedef enum tagNETDEVSceneSessionMode


{
NETDEV_SCENE_SESSION_MODE_CLASSICS = 0, /* Classic mode */
NETDEV_SCENE_SESSION_MODE_ADAPTIVE_IN_SIGNAL_SRC = 1, /* Adaptive input signal source mode */
NETDEV_SCENE_SESSION_MODE_INVALID = 0xff /* Invalid value */
}NETDEV_SCENE_SESSION_MODE_E;

4.28.189 Enumeration of background image types

typedef enum tagNETDEVBaseType


709 / 767
Network Device SDK (Windows) User Manual
{
NETDEV_BASE_TYPE_JPEG = 1 /* JPEG */
}NETDEV_XW_BASE_TYPE_E;

4.28.190 Enumeration of sequence statuses

typedef enum tagNETDEVXWSequenceResStatus


{
NETDEV_XW_SEQUENCE_RES_STATUS_RUNNING = 0, /* Running */
NETDEV_XW_SEQUENCE_RES_STATUS_PAUSE = 1, /* Paused */
NETDEV_XW_SEQUENCE_RES_STATUS_STOP = 2, /* Stopped */

NETDEV_XW_SEQUENCE_RES_STATUS_INVALID = 0xFF /* Invalid value */


}NETDEV_XW_SEQUENCE_RES_STATUS_E;

4.28.191 Enumeration of sequence playing control

typedef enum tagNETDEVXWSequencePlayControlCmd


{
NETDEV_XW_SEQUENCE_PLAY_CTRL_CMD_STOP = 0, /* Stop */
NETDEV_XW_SEQUENCE_PLAY_CTRL_CMD_START = 1, /* Start */
NETDEV_XW_SEQUENCE_PLAY_CTRL_CMD_PAUSE = 2, /* Pause */
NETDEV_XW_SEQUENCE_PLAY_CTRL_CMD_RESUME = 3, /* Resume */
NETDEV_XW_SEQUENCE_PLAY_CTRL_CMD_PAGEUP = 4, /* Previous screen */
NETDEV_XW_SEQUENCE_PLAY_CTRL_CMD_PAGEDOWN = 5, /* Next screen */

NETDEV_XW_SEQUENCE_PLAY_CTRL_CMD_INVALID = 0xFF /* Invalid value */


}NETDEV_XW_SEQUENCE_PLAY_CTRL_CMD_E;

4.28.192 Enumeration of scene sequence plan modes

typedef enum tagNETDEVXWScenesPlanMode


{
NETDEV_XW_SCENES_PLAN_MODE_TIMER = 0, /* Switch according to a timer */
NETDEV_XW_SCENES_PLAN_MODE_TIME_TABLE = 1, /* Switch according to a 24H schedule */

NETDEV_XW_SCENES_PLAN_MODE_INVALID = 0xFF /* Invalid value */


}NETDEV_XW_SCENES_PLAN_MODE_E;

4.28.193 Enumeration of encoding formats

typedef enum tagNETDEVVideoEncoding


{
NETDEV_VIDEOENCODING_H264 = 0,
NETDEV_VIDEOENCODING_H265 = 1,
NETDEV_VIDEOENCODING_MPEG4 = 2,
NETDEV_VIDEOENCODING_MPEG2 = 3,
710 / 767
Network Device SDK (Windows) User Manual
NETDEV_VIDEOENCODING_MJPEG = 4
}NETDEV_XW_VIDEOENCODING_E;

4.28.194 Enumeration of command words for modifying scene windows

typedef enum tagNETDEVWndCommond


{
NETDEV_WND_PANE_MOD = 0x0001, /* Layout udwPaneMod */
NETDEV_WND_LAYER = 0x0002, /* Layer udwLayer */
NETDEV_WND_TRANSPARENCY = 0x0004, /* Transparency udwTransparency */
NETDEV_WND_AREA = 0x0008, /* Location info stArea */
NETDEV_WND_NAME = 0x0010, /* Window name name */
NETDEV_WND_STATUS = 0x0020, /* Lock or not */
NETDEV_WND_WND_TYPE = 0x0040, /* Window type */
NETDEV_WND_DC_CHI_ID = 0x0080, /* DC channel ID */
NETDEV_WND_ZOOM_TYPE = 0x0100, /* Magnification type */
NETDEV_WND_SPLIT_INDEX = 0x0200, /* Split-window ID */
NETDEV_WND_SCHEME_RES_ID = 0x0400, /* Sequence resource */
NETDEV_WND_SEQ_STATUS = 0x0800, /* Sequence status */
NETDEV_WND_PANE_INFO_NUM = 0x1000, /* Number of split windows */
NETDEV_WND_SCALE_STATUS = 0x2000, /* Scale status */
NETDEV_WND_ALL = 0xFFFF /* All configuration all */
} NETDEV_XW_WND_CMD_E;

4.28.195 Enumeration of sequence statuses

typedef enum tagNETDEVSeqStatus


{
NETDEV_SEQ_STATUS_EMPTY = 0, /* No sequence */
NETDEV_SEQ_STATUS_RUNNING = 1, /* Sequencing */
NETDEV_SEQ_STATUS_STOP = 2, /* Sequence stopped */

NETDEV_SEQ_STATUS_INVALID = 0xFF /* Invalid status */


}NETDEV_SEQ_STATUS_E;

4.28.196 Enumeration of stream service types

typedef enum tagNETDEVVideoType


{
NETDEV_PLAYBACK_REMOTE = 0, /* Remote playback */
NETDEV_REALPLAY_REMOTE = 1, /* Remote live view */
NETDEV_REALPLAY_LOCAL = 2, /* Local live view */
NETDEV_SEQUENCE_PANE = 3, /* Sequence in one split-window currently unavailable
*/
NETDEV_SEQUENCE_WND = 4, /* Sequence in window */
NETDEV_REALPLAY_ALARM = 5 /* Alarm-triggered live view */

711 / 767
Network Device SDK (Windows) User Manual
}NETDEV_XW_VIDEO_TYPE_E;

4.28.197 Enumeration of access control person management commands

typedef enum tagNETDEVACSPersonCommondType


{
NETDEV_ACS_PERSON_COMMOND_TYPE_GET = 0, /* Get */
NETDEV_ACS_PERSON_COMMOND_TYPE_MOD = 1, /* Modify */
NETDEV_ACS_PERSON_COMMOND_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_ACS_PERSON_COMMOND_TYPE_E;

4.28.198 Enumeration of alarm point channel control commands

typedef enum tagNETDEVDoorCtrlActionType


{
NETDEV_DOORCTRL_ACTION_TYPE_OPEN = 0, /* Open door */
NETDEV_DOORCTRL_ACTION_TYPE_CLOSE = 1, /* Close door */
NETDEV_DOORCTRL_ACTION_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_DOORCTRL_ACTION_TYPE_E;

4.28.199 Enumeration of manual linkage action types

typedef enum tagNETDEVlinkageType


{
NETDEV_LINKAGE_TYPE_CLICK_TRACK = 0, /* Track */
NETDEV_LINKAGE_TYPE_ENLARGE_FRAME = 1, /* Drag to zoom */
NETDEV_LINKAGE_TYPE_3D_LOCATE = 2, /* 3D positioning */
NETDEV_LINKAGE_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_LINKAGE_TYPE_E;

4.28.200 Enumeration of face member ID types

typedef enum tagNETDEVFaceMemberIDType


{
NETDEV_FACE_MEMBER_ID_TYPE_ID_CARD = 0, /* ID card */
NETDEV_FACE_MEMBER_ID_TYPE_IC_CARD = 1, /* IC card */
NETDEV_FACE_MEMBER_ID_TYPE_PASSPORT = 2, /* Passport */
NETDEV_FACE_MEMBER_ID_TYPE_DRIVING = 3, /* Driver’s license */
NETDEV_FACE_MEMBER_ID_TYPE_OTHER = 99, /* Other */
NETDEV_FACE_MEMBER_ID_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_FACE_MEMBER_ID_TYPE_E;

4.28.201 Enumeration of image types

typedef enum tagNETDEVTMSPersionImageType


{
NETDEV_TMS_PERSION_IMAGE_TYPE_FULL_VIEW = 1, /* Complete image */
712 / 767
Network Device SDK (Windows) User Manual
NETDEV_TMS_PERSION_IMAGE_TYPE_FACE = 2, /* Face image */
NETDEV_TMS_PERSION_IMAGE_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_TMS_PERSION_IMAGE_TYPE_E;

4.28.202 Enumeration of image formats

typedef enum tagNETDEVTMSPersionImageFormatType


{
NETDEV_TMS_PERSION_IMAGE_FORMAT_JPG = 1, /* JPEG */
NETDEV_TMS_PERSION_IMAGE_FORMAT_BMP = 2, /* BMP */
NETDEV_TMS_PERSION_IMAGE_FORMAT_PNG = 3, /* PNG */
NETDEV_TMS_PERSION_IMAGE_FORMAT_GIF = 4, /* GIF */
NETDEV_TMS_PERSION_IMAGE_FORMAT_TIFF = 5, /* TIFF */
NETDEV_TMS_PERSION_IMAGE_FORMAT_INVALID = 0xFF /* Invalid value */
}NETDEV_TMS_PERSION_IMAGE_FORMAT_E;

4.28.203 Enumeration of face pass-through record types

typedef enum tagNETDEVFacePassRecordType


{
NETDEV_TYPE_FACE_PASS_SNAPSHOT = 0, /* Face snapshot */
NETDEV_TYPE_FACE_PASS_COM_SUCCESS = 1, /* Comparison success alarm */
NETDEV_TYPE_FACE_PASS_COM_FAIL = 2, /* Comparison failure alarm */
NETDEV_TYPE_FACE_PASS_INVALID = 0xff /* Invalid value */
}NETDEV_FACE_PASS_RECORD_TYPE_E;

4.28.204 Enumeration of age ranges

typedef enum tagNETDEVAgeRange


{
NETDEV_AGE_RANGE_UNKNOW = 0, /* Unknown */
NETDEV_AGE_RANGE_CHILD = 1, /* Child */
NETDEV_AGE_RANGE_JUVENILE = 2, /* Juvenile */
NETDEV_AGE_RANGE_Youth = 3, /* Youth */
NETDEV_AGE_RANGE_MIDDLEAGE = 4, /* Middle age */
NETDEV_AGE_RANGE_OLDAGE = 5, /* Senior */
NETDEV_AGE_RANGE_INVALID = 0xFF /* Invalid */
}NETDEV_AGE_RANGE_E;

4.28.205 Enumeration of glasses wearing status

typedef enum tagNETDEVGlassFlag


{
NETDEV_GLASS_FLAG_UNKNOW = 0, /* Unknown */
NETDEV_GLASS_FLAG_NO = 1, /* No glasses*/
NETDEV_GLASS_FLAG_YES = 2, /* With glasses */
NETDEV_GLASS_FLAG_INVALID = 0xFF /* Invalid value */
713 / 767
Network Device SDK (Windows) User Manual
}NETDEV_GLASS_FLAG_E;

4.28.206 Enumeration of glasses styles

typedef enum tagNETDEVGlassesStyle


{
NETDEV_GLASSES_STYLE_UNKNOW = 0, /* Unknown */
NETDEV_GLASSES_STYLE_GENERAL = 1, /* General glasses */
NETDEV_GLASSES_STYLE_SUNLIGHT = 2, /* Sunglasses */
NETDEV_GLASSES_STYLE_OTHER = 99, /* Other */
NETDEV_GLASSES_STYLE_INVALID = 0xFF /* Invalid value */
}NETDEV_GLASSES_STYLE_E;

4.28.207 Enumeration of sleeve lengths

typedef enum tagNETDEVSleevesLength


{
NETDEV_SLEEVES_LENGTH_UNKNOW = 0, /* Unknown */
NETDEV_SLEEVES_LENGTH_SHORT = 1, /* Short sleeves */
NETDEV_SLEEVES_LENGTH_LONG = 2, /* Long sleeves */
NETDEV_SLEEVES_LENGTH_INVALID = 0xFF /* Invalid value */
}NETDEV_SLEEVES_LENGTH_E;

4.28.208 Enumeration of clothes colors

typedef enum tagNETDEVClothesColor


{
NETDEV_CLOTHES_COLOR_BLACK_E = 0, /* Black */
NETDEV_CLOTHES_COLOR_WHITE_E = 1, /* White */
NETDEV_CLOTHES_COLOR_GRAY_E = 2, /* Grey */
NETDEV_CLOTHES_COLOR_RED_E = 3, /* Red */
NETDEV_CLOTHES_COLOR_BLUE_E = 4, /* Blue */
NETDEV_CLOTHES_COLOR_YELLOW_E = 5, /* Yellow */
NETDEV_CLOTHES_COLOR_ORANGE_E = 6, /* Orange */
NETDEV_CLOTHES_COLOR_BROWN_E = 7, /* Brown */
NETDEV_CLOTHES_COLOR_GREEN_E = 8, /* Green */
NETDEV_CLOTHES_COLOR_PURPLE_E = 9, /* Purple */
NETDEV_CLOTHES_COLOR_CYAN_E = 10, /* Cyan */
NETDEV_CLOTHES_COLOR_PINK_E = 11, /* Pink */
NETDEV_CLOTHES_COLOR_TRANSPARENT_E = 12, /* Transparent */
NETDEV_CLOTHES_COLOR_SILVERYWHITE_E = 13, /* Silver white */
NETDEV_CLOTHES_COLOR_DARK_E = 14, /* Dark color */
NETDEV_CLOTHES_COLOR_LIGHT_E = 15, /* Light color */
NETDEV_CLOTHES_COLOR_COLOURLESS = 16, /* Colorless*/
NETDEV_CLOTHES_COLOR_YELLOWGREEN = 17, /* Yellow&Green */
NETDEV_CLOTHES_COLOR_GRADUALGREEN = 18, /* Gradual green (or gradient green) */

714 / 767
Network Device SDK (Windows) User Manual
NETDEV_CLOTHES_COLOR_OTHER_E = 99, /* Other */
NETDEV_CLOTHES_COLOR_UNKNOW_E = 100, /* Unknown */
NETDEV_CLOTHES_COLOR_INVALID = 0xFF /* Invalid value */
}NETDEV_CLOTHES_COLOR_E;

4.28.209 Enumeration of trousers length

typedef enum tagNETDEVTrousersLength


{
NETDEV_TROUSERS_LENGTH_UNKNOW = 0, /* Unknown */
NETDEV_TROUSERS_LENGTH_SHORT = 1, /* Short */
NETDEV_TROUSERS_LENGTH_LONG = 2, /* Long */
NETDEV_TROUSERS_LENGTH_INVALID = 0xFF /* Invalid value */
}NETDEV_TROUSERS_LENGTH_E;

4.28.210 Enumeration of captured body directions

typedef enum tagNETDEVBodyToward


{
NETDEV_BODY_TOWARD_UNKNOW = 0, /* Unknown */
NETDEV_BODY_TOWARD_POSITIVE = 1, /* Positive */
NETDEV_BODY_TOWARD_SIDE = 2, /* Side */
NETDEV_BODY_TOWARD_BACK = 3, /* Back */
NETDEV_BODY_TOWARD_INVALID = 0xFF /* Invalid value */
}NETDEV_BODY_TOWARD_E;

4.28.211 Enumeration of shoe tube lengths

typedef enum tagNETDEVShoesTubeLength


{
NETDEV_SHOES_TUBE_LENGTH_UNKNOW = 0, /* Unknown */
NETDEV_SHOES_TUBE_LENGTH_LONG = 1, /* Long tubes */
NETDEV_SHOES_TUBE_LENGTH_SHORT = 2, /* Short tubes/ordinary shoes */
NETDEV_SHOES_TUBE_LENGTH_INVALID = 0xFF /* Invalid value */
}NETDEV_SHOES_TUBE_LENGTH_E;

4.28.212 Enumeration of hair lengths

typedef enum tagNETDEVHairLength


{
NETDEV_HAIR_LENGTH_UNKNOW = 0, /* Unknown */
NETDEV_HAIR_LENGTH_LONG = 1, /* Long hair */
NETDEV_HAIR_LENGTH_SHORT = 2, /* Short hair */
NETDEV_HAIR_LENGTH_INVALID = 0xFF /* Invalid value */
}NETDEV_HAIR_LENGTH_E;

715 / 767
Network Device SDK (Windows) User Manual
4.28.213 Enumeration of bag carrying status

typedef enum tagNETDEVBagFlag


{
NETDEV_BAG_FLAG_NO = 0, /* No bag */
NETDEV_BAG_FLAG_CARRY = 1, /* Carrying bag */
NETDEV_BAG_FLAG_BACK = 2, /* Backpack */
NETDEV_BAG_FLAG_INVALID = 0xFF /* Invalid value */
}NETDEV_BAG_FLAG_E;

4.28.214 Enumeration of mask wearing statuses

typedef enum tagNETDEVPersonMaskFlag


{
NETDEV_PERSON_MASK_FLAG_NOT_WEAR = 1, /* Not wearing mask */
NETDEV_PERSON_MASK_FLAG_WEAR = 2, /* Wearing mask */
NETDEV_PERSON_MASK_FLAG_UNKNOW = 255, /* Unknown */
NETDEV_PERSON_MASK_FLAG_INVALID = 0xFFFF /* Invalid value */
}NETDEV_PERSON_MASK_FLAG_E;

4.28.215 Enumeration of coat textures

typedef enum tagNETDEVCoatTexture


{
NETDEV_CLOTHES_TEXTURE_NO_PATTERNS = 1, /* No pattern */
NETDEV_CLOTHES_TEXTURE_EXIST_PATTERNS = 2, /* With pattern */
NETDEV_CLOTHES_TEXTURE_UNKNOW = 255, /* Unknown */
NETDEV_CLOTHES_TEXTURE_INVALID = 0xFFFF /* Invalid value */
}NETDEV_CLOTHES_TEXTURE_E;

4.28.216 Enumeration of person movement directions

typedef enum tagNETDEVMoveDirection


{
NETDEV_MOVE_DIRECTION_STATIC = 1, /* Static */
NETDEV_MOVE_DIRECTION_UP = 2, /* Up */
NETDEV_MOVE_DIRECTION_DOWN = 3, /* Down */
NETDEV_MOVE_DIRECTION_LEFT = 4, /* Left */
NETDEV_MOVE_DIRECTION_RIGHT = 5, /* Right */
NETDEV_MOVE_DIRECTION_LEFTUP = 6, /* Up left */
NETDEV_MOVE_DIRECTION_LEFTDOWN = 7, /* Down left */
NETDEV_MOVE_DIRECTION_RIGHTUP = 8, /* Up right */
NETDEV_MOVE_DIRECTION_RIGHTDOWN = 9, /* Down right */
NETDEV_MOVE_DIRECTION_UNKNOW = 255, /* Unknown */
NETDEV_MOVE_DIRECTION_INVALID = 0xFFFF /* Invalid value */
}NETDEV_MOVE_DIRECTION_E;

716 / 767
Network Device SDK (Windows) User Manual
4.28.217 Enumeration of speed types of non-motor vehicles in structured scenes

typedef enum tagNETDEVSpeedType


{
NETDEV_SPEED_TYPE_UNKNOW = 0, /* Unknown */
NETDEV_SPEED_TYPE_STATIC = 1, /* Static */
NETDEV_SPEED_TYPE_SLOW = 2, /* Slow */
NETDEV_SPEED_TYPE_MEDIUM = 3, /* Medium */
NETDEV_SPEED_TYPE_FAST = 4, /* Fast */
NETDEV_SPEED_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_SPEED_TYPE_E;

4.28.218 Enumeration of movement directions (relative to image) of non-motor vehicles in


structured scenes

typedef enum tagNETDEVImageDirection


{
NETDEV_IMAGE_DIRECTION_UNKNOW = 0, /* Unknown */
NETDEV_IMAGE_DIRECTION_STATIC = 1, /* Static */
NETDEV_IMAGE_DIRECTION_UP = 2, /* Up */
NETDEV_IMAGE_DIRECTION_DOWN = 3, /* Down */
NETDEV_IMAGE_DIRECTION_LEFT = 4, /* Left */
NETDEV_IMAGE_DIRECTION_RIGH = 5, /* Right */
NETDEV_IMAGE_DIRECTION_LEFTUP = 6, /* Up left */
NETDEV_IMAGE_DIRECTION_LEFTDOWN = 7, /* Down left */
NETDEV_IMAGE_DIRECTION_RIGHTUP = 8, /* Up right */
NETDEV_IMAGE_DIRECTION_RIGHTDOWN = 9, /* Down right */
NETDEV_IMAGE_DIRECTION_INVALID = 0xFF /* Invalid value */
}NETDEV_IMAGE_DIRECTION_E;

4.28.219 Enumeration of non-motor vehicle types

typedef enum tagNETDEVNonVehType


{
NETDEV_NON_VEH_TYPE_UNKNOW = 0, /* Unknown */
NETDEV_NON_VEH_TYPE_BICYCLE = 1, /* Bicycle */
NETDEV_NON_VEH_TYPE_TRIYCLE = 2, /* Tricycle */
NETDEV_NON_VEH_TYPE_MOTORCYCLE = 3, /* Motorcycle */
NETDEV_NON_VEH_TYPE_ELECTRIC_BICYCLE = 4, /* Electric bicycle */
NETDEV_NON_VEH_TYPE_TWOWHEEL_VEHICLE = 5, /* Two-wheel (motorcycle/bicycle/electric
bicycle) */
NETDEV_NON_VEH_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_NON_VEH_TYPE_E;

717 / 767
Network Device SDK (Windows) User Manual
4.28.220 Enumeration of vehicle types

typedef enum tagNETDEVVehicleType


{
NETDEV_VEHICLE_TYPE_TRICYCLE_E = 0, /* 3-wheel vehicle */
NETDEV_VEHICLE_TYPE_MOTOR_BUS_E = 1, /* Bus */
NETDEV_VEHICLE_TYPE_MIDDLE_E = 2, /* Mid-size vehicle */
NETDEV_VEHICLE_TYPE_SMALL_E = 3, /* Small vehicle */
NETDEV_VEHICLE_TYPE_BIG_E = 4, /* Large vehicle */
NETDEV_VEHICLE_TYPE_TWOWHEELVEH = 5, /* 2-wheel vehicle */
NETDEV_VEHICLE_TYPE_MOTORCYCLE_E = 6, /* Motorcycle */
NETDEV_VEHICLE_TYPE_TRACTOR_E = 7, /* Tractor */
NETDEV_VEHICLE_TYPE_AGRICULTURAL_E = 8, /* Farm truck */
NETDEV_VEHICLE_TYPE_SEADAN = 9, /* Sedan */
NETDEV_VEHICLE_TYPE_SUV_E = 10, /* SUV */
NETDEV_VEHICLE_TYPE_VAN_E = 11, /* Minibus */
NETDEV_VEHICLE_TYPE_SMALLTRUCK_E = 12, /* Van */
NETDEV_VEHICLE_TYPE_MEDIUMCAR_E = 13, /* Mid-sized bus/medium bus */
NETDEV_VEHICLE_TYPE_LARGEBUS_E = 14, /* Large bus */
NETDEV_VEHICLE_TYPE_LARGETRUCK_E = 15, /* Large truck */
NETDEV_VEHICLE_TYPE_PICKUPTRUCK_E = 16, /* Pickup */
NETDEV_VEHICLE_TYPE_BUSINESSVEH_E = 17, /* MPV */
NETDEV_VEHICLE_TYPE_SPORTSCAR_E = 18, /* Roadster */
NETDEV_VEHICLE_TYPE_MINICAR_E = 19, /* Mini car */
NETDEV_VEHICLE_TYPE_HATCHBACKCAR_E = 20, /* Two-box sedan */
NETDEV_VEHICLE_TYPE_THREEBOX_E = 21, /* Three-box sedan */
NETDEV_VEHICLE_TYPE_LIGHTBUS_E = 22, /* Light bus */
NETDEV_VEHICLE_TYPE_MEDIUNTRUCK_E = 23, /* Medium duty truck */
NETDEV_VEHICLE_TYPE_TRAILER_E = 24, /* Trailer */
NETDEV_VEHICLE_TYPE_TANK_E = 25, /* Tanker */
NETDEV_VEHICLE_TYPE_WATERCAR_E = 26, /* Street sprinkler */
NETDEV_VEHICLE_TYPE_OTHER_E = 998, /* Other */
NETDEV_VEHICLE_TYPE_UNKNOW_E = 999, /* Unknown */
NETDEV_VEHICLE_TYPE_INDISTINGUISH_E = 1000, /* Not distinguish vehicle types */
NETDEV_VEHICLE_TYPE_INVALID = 0xFFFF /* Invalid value */
}NETDEV_VEHICLE_TYPE_E;

4.28.221 Enumeration of plate colors

typedef enum tagNETDEVPlateColor


{
NETDEV_PLATE_COLOR_BLACK_E = 0, /* Black*/
NETDEV_PLATE_COLOR_WHITE_E = 1, /* White*/
NETDEV_PLATE_COLOR_GRAY_E = 2, /* Grey*/
NETDEV_PLATE_COLOR_RED_E = 3, /* Red*/
NETDEV_PLATE_COLOR_BLUE_E = 4, /* Blue*/
718 / 767
Network Device SDK (Windows) User Manual
NETDEV_PLATE_COLOR_YELLOW_E = 5, /*Yellow*/
NETDEV_PLATE_COLOR_ORANGE_E = 6, /*Orange*/
NETDEV_PLATE_COLOR_BROWN_E = 7, /*Brown*/
NETDEV_PLATE_COLOR_GREEN_E = 8, /*Green*/
NETDEV_PLATE_COLOR_PURPLE_E = 9, /*Purple*/
NETDEV_PLATE_COLOR_CYAN_E = 10, /*Cyan*/
NETDEV_PLATE_COLOR_PINK_E = 11, /* Pink*/
NETDEV_PLATE_COLOR_TRANSPARENT_E = 12, /* Transparent*/
NETDEV_PLATE_COLOR_SILVERYWHITE_E = 13, /* Silver white*/
NETDEV_PLATE_COLOR_DARK_E = 14, /* Dark*/
NETDEV_PLATE_COLOR_LIGHT_E = 15, /* Light*/
NETDEV_PLATE_COLOR_COLOURLESS = 16, /* Colorless*/
NETDEV_PLATE_COLOR_YELLOWGREEN = 17, /* Yellow and green */
NETDEV_PLATE_COLOR_GRADUALGREEN = 18, /* Gradual green */
NETDEV_PLATE_COLOR_OTHER_E = 99, /* Other*/
NETDEV_PLATE_COLOR_UNKNOW_E = 100, /* Unknown*/
NETDEV_PLATE_COLOR_INVALID = 0xFF /* Invalid value */
}NETDEV_PLATE_COLOR_E;

4.28.222 Enumeration of plate types

typedef enum tagNETDEVPlateType


{
NETDEV_PLATE_TYPE_BIG_CAR_E = 0, /* Large vehicle plate */
NETDEV_PLATE_TYPE_MINI_CAR_E = 1, /* Small vehicle plate */
NETDEV_PLATE_TYPE_EMBASSY_CAR_E = 2, /* Embassy vehicle plate */
NETDEV_PLATE_TYPE_CONSULATE_CAR_E = 3, /* Consulate vehicle plate */
NETDEV_PLATE_TYPE_OVERSEAS_CAR_E = 4, /* Overseas vehicle plate */
NETDEV_PLATE_TYPE_FOREIGN_CAR_E = 5, /* Foreign vehicle plate */
NETDEV_PLATE_TYPE_COMMON_MOTORBIKE_E = 6, /* Common motorcycle plate */
NETDEV_PLATE_TYPE_HANDINESS_MOTORBIKE_E = 7, /* Light motorcycle plate */
NETDEV_PLATE_TYPE_EMBASSY_MOTORBIKE_E = 8, /* Embassy motorcycle plate */
NETDEV_PLATE_TYPE_CONSULATE_MOTORBIKE_E = 9, /* Consulate motorcycle plate */
NETDEV_PLATE_TYPE_OVERSEAS_MOTORBIKE_E = 10, /* Overseas motorcycle plate */
NETDEV_PLATE_TYPE_FOREIGN_MOTORBIKE_E = 11, /* Foreign motorcycle plate */
NETDEV_PLATE_TYPE_LOW_SPEED_CAR_E = 12, /* Low speed vehicle plate */
NETDEV_PLATE_TYPE_TRACTOR_E = 13, /* Tractor plate */
NETDEV_PLATE_TYPE_TRAILER_E = 14, /* Trailer plate */
NETDEV_PLATE_TYPE_COACH_CAR_E = 15, /* Coach vehicle plate */
NETDEV_PLATE_TYPE_COACH_MOTORBIKE_E = 16, /* Coach motorcycle plate */
NETDEV_PLATE_TYPE_TEMPORARY_ENTRY_CAR_E = 17, /* Temporary entry vehicle plate */
NETDEV_PLATE_TYPE_TEMPORARY_ENTRY_MOTORBIKE_E = 18, /* Temporary entry motorcycle plate */
NETDEV_PLATE_TYPE_TEMPORARY_DRIVING_E = 19, /* Temporary plate */
NETDEV_PLATE_TYPE_POLICE_CAR_E = 20, /* Police vehicle plate */
NETDEV_PLATE_TYPE_POLICE_MOTORBIKE_E = 21, /* Police motorcycle plate */
NETDEV_PLATE_TYPE_AGRICULTURAL_E = 22, /* Agricultural vehicle plate */
719 / 767
Network Device SDK (Windows) User Manual
NETDEV_PLATE_TYPE_HONGKONG_ENTRY_EXIT_E = 23, /* Border crossing vehicle plate (Hong
Kong)*/
NETDEV_PLATE_TYPE_MACAO_ENTRY_EXIT_E = 24, /* Border crossing vehicle plate
(Macau) */
NETDEV_PLATE_TYPE_ARMED_POLICE_E = 25, /* Armed police plate */
NETDEV_PLATE_TYPE_ARMY_E = 26, /* Military plate */
NETDEV_PLATE_TYPE_OTHER_E = 99, /* Other */
NETDEV_PLATE_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_PLATE_TYPE_E;

4.28.223 Enumeration of notification types

typedef enum tagNETDEVNotificationType


{
NETDEV_NOTIFICATION_TYPE_REALTIME = 0, /* Real-time notification */
NETDEV_NOTIFICATION_TYPE_HISTORY = 1, /* Historical notification */
NETDEV_NOTIFICATION_TYPE_EARLYWARN = 2, /* Warning */
NETDEV_NOTIFICATION_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_NOTIFICATION_TYPE_E;

4.28.224 Enumeration of smart alarm types

typedef enum tagNETDEVSmartAlarmType


{
NETDEV_SMART_ALARM_TYPE_FACE_SNAP = 0, /* Face recognition snapshot */
NETDEV_SMART_ALARM_TYPE_VEHICLE_SNAP = 1, /* Plate recognition snapshot
*/
NETDEV_SMART_ALARM_TYPE_VIDEO_STRUCT_SNAP = 3, /* Structured video snapshot */
NETDEV_SMART_ALARM_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_SMART_ALARM_TYPE_E;

4.28.225 Enumeration of LAPI subscription types

typedef enum tagNETDEVLAPISubType


{
NETDEV_LAPI_SUB_TYPE_PARKRECOGNIZE = 2048, /* Parking lot recognition snapshot */
NETDEV_LAPI_SUB_TYPE_INVALID = 0xffffffff /* Invalid value */
}NETDEV_LAPI_SUB_TYPE_E;

4.28.226 Enumeration of lane types

typedef enum tagNETDEVVehLaneType


{
NETDEV_VEH_LANE_TYPE_ENTRANCE = 0, /* Entrance */
NETDEV_VEH_LANE_TYPE_EXIT_NOCHARGE = 1, /* Exit (do not charge) */
NETDEV_VEH_LANE_TYPE_EXITE_CHARGE = 2, /* Exit (charge) */
NETDEV_VEH_LANE_TYPE_INVALID = 0xFF /* Invalid value */
720 / 767
Network Device SDK (Windows) User Manual
}NETDEV_VEH_LANE_TYPE_E;

4.28.227 Enumeration of vehicle releasing types

typedef enum tagNETDEVVehReleaseType


{
NETDEV_VEH_RELEASE_TYPE_AUTO = 0, /* Release automatically */
NETDEV_VEH_RELEASE_TYPE_MANUAL = 1, /* Release manually */
NETDEV_VEH_RELEASE_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_VEH_RELEASE_TYPE_E;

4.28.228 Enumeration of order payment statuses

typedef enum tagNETDEVOrderStatus


{
NETDEV_ORDER_STATUS_FINISH = 0, /* Unpaid */
NETDEV_ORDER_STATUS_UNFINISH = 1, /* Paid */
NETDEV_ORDER_STATUS_PREPAYMENT = 2, /* Paid in advance */
NETDEV_ORDER_STATUS_INVALID = 0xff /* Invalid value */
}NETDEV_ORDER_STATUS_E;

4.28.229 Enumeration of payment types

typedef enum tagNETDEVPayType


{
NETDEV_PAY_TYPE_CASH = 0, /* Cash */
NETDEV_PAY_TYPE_ALIPAY = 1, /* AliPay */
NETDEV_PAY_TYPE_WECHAT = 2, /* WeChat */
NETDEV_PAY_TYPE_INVALID = 0xff /* Invalid value */
}NETDEV_PAY_TYPE_E;

4.28.230 Enumeration of person types

typedef enum tagNETDEVACSPersonType


{
NETDEV_ACS_PERSON_TYPE_STAFF = 0, /* Staff */
NETDEV_ACS_PERSON_TYPE_VISITOR = 1, /* Visitor */
NETDEV_ACS_PERSON_TYPE_STRANGER = 2, /* Stranger */
NETDEV_ACS_PERSON_TYPE_BLACKLIST = 3, /* Blocklisted people */
NETDEV_ACS_PERSON_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_ACS_PERSON_TYPE_E;

4.28.231 Enumeration of visitor statuses

typedef enum tagNETDEVACSVisitStaus


{
NETDEV_ACS_VISIT_STATUS_SCHEDULE = 0, /* Scheduled */
721 / 767
Network Device SDK (Windows) User Manual
NETDEV_ACS_VISIT_STATUS_VISITING = 1, /* Visiting */
NETDEV_ACS_VISIT_STATUS_LEAVE = 2, /* Leave */
NETDEV_ACS_VISIT_STATUS_SCHEDULE_CANCEL = 3, /* Cancelled */
NETDEV_ACS_VISIT_STATUS_TIMEOUT = 4, /* Timeout */
NETDEV_ACS_VISIT_STATUS_INVALID = 0xFF /* Invalid value */
}NETDEV_ACS_VISIT_STATUS_E;

4.28.232 Enumeration of collection sources

typedef enum tagNETDEVCapSrc


{
NETDEV_CAP_SRC_FACE = 1, /* Face info collected by face recognition
terminal */
NETDEV_CAP_SRC_ENTRANCE_GUARDCARD = 2, /* Access control card info collected by card
reader */
NETDEV_CAP_SRC_ID = 3, /* ID card info collected by card
reader */
NETDEV_CAP_SRC_GATE = 4, /* Gate info collected by gate */
NETDEV_CAP_SRC_INVALID = 0xff /* Invalid value */
}NETDEV_CAP_SRC_E;

4.28.233 Enumeration of match statuses

typedef enum tagNETDEVMatchStatus


{
NETDEV_MATCH_STATUS_SUCCESS = 1, /* Authentication succeeded */
NETDEV_MATCH_STATUS_FAIL = 2, /* Authentication failed (comparison
failure) */
NETDEV_MATCH_STATUS_NO_MONITOR_TIME = 3, /* Authentication failed (comparison succeeded,
not within monitoring time) */
NETDEV_MATCH_STATUS_ATTR_ABNORMAL = 10, /* Authentication failed (comparison succeeded,
abnormal attribute) */
NETDEV_MATCH_STATUS_BASE_MAP_COLLECT_SUCC = 41, /* Background image collected
successfully */
NETDEV_MATCH_STATUS_BASE_MAP_COLLECT_FAIL = 42, /* Background image collection failed
*/ NETDEV_MATCH_STATUS_INVALID = 0xff /* Invalid value */
}NETDEV_MATCH_STATUS_E;

4.28.234 Enumeration of image formats

typedef enum tagNETDEVImageFormat


{
NETDEV_IMAGE_FORMAT_JPG = 0, /* JPG */
NETDEV_IMAGE_FORMAT_BMP = 1, /* BMP */
NETDEV_IMAGE_FORMAT_PNG = 2, /* PNG */
NETDEV_IMAGE_FORMAT_GIF = 3, /* GIF */

722 / 767
Network Device SDK (Windows) User Manual
NETDEV_IMAGE_FORMAT_TIFF = 4, /* TIFF */
NETDEV_IMAGE_FORMAT_INVALID = 0xFF /* Invalid value */
}NETDEV_IMAGE_FORMAT_E;

4.28.235 Plate colors

typedef enum tagNETDEVPlateColor


{
NETDEV_PLATE_COLOR_BLACK_E = 0, /* Black */
NETDEV_PLATE_COLOR_WHITE_E = 1, /* White */
NETDEV_PLATE_COLOR_GRAY_E = 2, /* Grey */
NETDEV_PLATE_COLOR_RED_E = 3, /* Red */
NETDEV_PLATE_COLOR_BLUE_E = 4, /* Blue */
NETDEV_PLATE_COLOR_YELLOW_E = 5, /* Yellow */
NETDEV_PLATE_COLOR_ORANGE_E = 6, /* Orange */
NETDEV_PLATE_COLOR_BROWN_E = 7, /* Brown */
NETDEV_PLATE_COLOR_GREEN_E = 8, /* Green */
NETDEV_PLATE_COLOR_PURPLE_E = 9, /* Purple */
NETDEV_PLATE_COLOR_CYAN_E = 10, /* Cyan */
NETDEV_PLATE_COLOR_PINK_E = 11, /* Pink */
NETDEV_PLATE_COLOR_TRANSPARENT_E = 12, /* Transparent */
NETDEV_PLATE_COLOR_SILVERYWHITE_E = 13, /* Silver white */
NETDEV_PLATE_COLOR_DARK_E = 14, /* Dark */
NETDEV_PLATE_COLOR_LIGHT_E = 15, /* Light */
NETDEV_PLATE_COLOR_COLOURLESS = 16, /* Colorless */
NETDEV_PLATE_COLOR_YELLOWGREEN = 17, /* Yellow and green */
NETDEV_PLATE_COLOR_GRADUALGREEN = 18, /* Gradient green */
NETDEV_PLATE_COLOR_OTHER_E = 99, /* Other */
NETDEV_PLATE_COLOR_UNKNOW_E = 100, /* Unknown */
NETDEV_PLATE_COLOR_INVALID = 0xFF /* Invalid value */
}NETDEV_PLATE_COLOR_E;

4.28.236 Plate types

typedef enum tagNETDEVPlateType


{
NETDEV_PLATE_TYPE_BIG_CAR_E = 0, /* Large vehicle plate */
NETDEV_PLATE_TYPE_MINI_CAR_E = 1, /* Small vehicle plate */
NETDEV_PLATE_TYPE_EMBASSY_CAR_E = 2, /* Embassy vehicle plate */
NETDEV_PLATE_TYPE_CONSULATE_CAR_E = 3, /* Consulate vehicle plate */
NETDEV_PLATE_TYPE_OVERSEAS_CAR_E = 4, /* Overseas vehicle plate */
NETDEV_PLATE_TYPE_FOREIGN_CAR_E = 5, /* Foreign vehicle plate */
NETDEV_PLATE_TYPE_COMMON_MOTORBIKE_E = 6, /* Common motorcycle plate */
NETDEV_PLATE_TYPE_HANDINESS_MOTORBIKE_E = 7, /* Light motorcycle plate */
NETDEV_PLATE_TYPE_EMBASSY_MOTORBIKE_E = 8, /* Embassy motorcycle plate */
NETDEV_PLATE_TYPE_CONSULATE_MOTORBIKE_E = 9, /* Consulte motorcycle plate */
723 / 767
Network Device SDK (Windows) User Manual
NETDEV_PLATE_TYPE_OVERSEAS_MOTORBIKE_E = 10, /* Overseas motorcycle plate */
NETDEV_PLATE_TYPE_FOREIGN_MOTORBIKE_E = 11, /* Foreign motorcycle plate */
NETDEV_PLATE_TYPE_LOW_SPEED_CAR_E = 12, /* Low speed vehicle plate */
NETDEV_PLATE_TYPE_TRACTOR_E = 13, /* Tractor plate */
NETDEV_PLATE_TYPE_TRAILER_E = 14, /* Trailer plate */
NETDEV_PLATE_TYPE_COACH_CAR_E = 15, /* Coach vehicle plate */
NETDEV_PLATE_TYPE_COACH_MOTORBIKE_E = 16, /* Coach motorcycle plate */
NETDEV_PLATE_TYPE_TEMPORARY_ENTRY_CAR_E = 17, /* Temporary entry vehicle plate */
NETDEV_PLATE_TYPE_TEMPORARY_ENTRY_MOTORBIKE_E = 18, /* Temporary entry motorcycle plate */
NETDEV_PLATE_TYPE_TEMPORARY_DRIVING_E = 19, /* Temporary plate */
NETDEV_PLATE_TYPE_POLICE_CAR_E = 20, /* Police vehicle plate */
NETDEV_PLATE_TYPE_POLICE_MOTORBIKE_E = 21, /* Police motorcycle plate */
NETDEV_PLATE_TYPE_AGRICULTURAL_E = 22, /* Agricultural vehicle plate */
NETDEV_PLATE_TYPE_HONGKONG_ENTRY_EXIT_E = 23, /* Border crossing vehicle plate (Hong
Kong) */
NETDEV_PLATE_TYPE_MACAO_ENTRY_EXIT_E = 24, /* Border crossing vehicle plate
(Macau) */
NETDEV_PLATE_TYPE_ARMED_POLICE_E = 25, /* Armed police plate */
NETDEV_PLATE_TYPE_ARMY_E = 26, /* Military plate */
NETDEV_PLATE_TYPE_OTHER_E = 99, /* Other */
NETDEV_PLATE_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_PLATE_TYPE_E;

4.28.237 Vehicle types

typedef enum tagNETDEVVehicleType


{
NETDEV_VEHICLE_TYPE_TRICYCLE_E = 0, /* 3-wheel vehicle */
NETDEV_VEHICLE_TYPE_MOTOR_BUS_E = 1, /* Bus */
NETDEV_VEHICLE_TYPE_MIDDLE_E = 2, /* Mid-size vehicle */
NETDEV_VEHICLE_TYPE_SMALL_E = 3, /* Small vehicle */
NETDEV_VEHICLE_TYPE_BIG_E = 4, /* Large vehicle */
NETDEV_VEHICLE_TYPE_TWOWHEELVEH = 5, /* 2-wheel vehicle */
NETDEV_VEHICLE_TYPE_MOTORCYCLE_E = 6, /* Motorcycle */
NETDEV_VEHICLE_TYPE_TRACTOR_E = 7, /* Tractor */
NETDEV_VEHICLE_TYPE_AGRICULTURAL_E = 8, /* Farm truck */
NETDEV_VEHICLE_TYPE_SEADAN = 9, /* Sedan */
NETDEV_VEHICLE_TYPE_SUV_E = 10, /* SUV */
NETDEV_VEHICLE_TYPE_VAN_E = 11, /* Minibus */
NETDEV_VEHICLE_TYPE_SMALLTRUCK_E = 12, /* Van */
NETDEV_VEHICLE_TYPE_MEDIUMCAR_E = 13, /* Mid-sized bus/medium bus */
NETDEV_VEHICLE_TYPE_LARGEBUS_E = 14, /* Large bus */
NETDEV_VEHICLE_TYPE_LARGETRUCK_E = 15, /* Large truck */
NETDEV_VEHICLE_TYPE_PICKUPTRUCK_E = 16, /* Pickup */
NETDEV_VEHICLE_TYPE_BUSINESSVEH_E = 17, /* MPV */
NETDEV_VEHICLE_TYPE_SPORTSCAR_E = 18, /* Roadster */
724 / 767
Network Device SDK (Windows) User Manual
NETDEV_VEHICLE_TYPE_MINICAR_E = 19, /* Mini car */
NETDEV_VEHICLE_TYPE_HATCHBACKCAR_E = 20, /* Two-box sedan */
NETDEV_VEHICLE_TYPE_THREEBOX_E = 21, /* Three-box sedan */
NETDEV_VEHICLE_TYPE_LIGHTBUS_E = 22, /* Light bus */
NETDEV_VEHICLE_TYPE_MEDIUNTRUCK_E = 23, /* Medium duty truck */
NETDEV_VEHICLE_TYPE_TRAILER_E = 24, /* Trailer */
NETDEV_VEHICLE_TYPE_TANK_E = 25, /* Tanker */
NETDEV_VEHICLE_TYPE_WATERCAR_E = 26, /* Street sprinkler */
NETDEV_VEHICLE_TYPE_OTHER_E = 998, /* Other */
NETDEV_VEHICLE_TYPE_UNKNOW_E = 999, /* Unknown */
NETDEV_VEHICLE_TYPE_INDISTINGUISH_E = 1000, /* Not distinguish vehicle types */
NETDEV_VEHICLE_TYPE_INVALID = 0xFFFF /* Invalid value Invalid value */
}NETDEV_VEHICLE_TYPE_E;

4.28.238 Enumeration of speed types of non-motor vehicles in structured scenes

typedef enum tagNETDEVSpeedType


{
NETDEV_SPEED_TYPE_UNKNOW = 0, /* Unknown */
NETDEV_SPEED_TYPE_STATIC = 1, /* Static */
NETDEV_SPEED_TYPE_SLOW = 2, /* Slow */
NETDEV_SPEED_TYPE_MEDIUM = 3, /* Medium */
NETDEV_SPEED_TYPE_FAST = 4, /* Fast */
NETDEV_SPEED_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_SPEED_TYPE_E;

4.28.239 Enumeration of movement directions (relative to image) of non-motor vehicles in


structured scenes

typedef enum tagNETDEVImageDirection


{
NETDEV_IMAGE_DIRECTION_UNKNOW = 0, /* Unknown */
NETDEV_IMAGE_DIRECTION_STATIC = 1, /* Static */
NETDEV_IMAGE_DIRECTION_UP = 2, /* Up */
NETDEV_IMAGE_DIRECTION_DOWN = 3, /* Down */
NETDEV_IMAGE_DIRECTION_LEFT = 4, /* Left */
NETDEV_IMAGE_DIRECTION_RIGHT = 5, /* Right */
NETDEV_IMAGE_DIRECTION_LEFTUP = 6, /* Up left */
NETDEV_IMAGE_DIRECTION_LEFTDOWN = 7, /* Down left */
NETDEV_IMAGE_DIRECTION_RIGHTUP = 8, /* Up right */
NETDEV_IMAGE_DIRECTION_RIGHTDOWN = 9, /* Down right */
NETDEV_IMAGE_DIRECTION_INVALID = 0xFF /* Invalid value */
}NETDEV_IMAGE_DIRECTION_E;

725 / 767
Network Device SDK (Windows) User Manual
4.28.240 Enumeration of channel permissions

typedef enum tagNETDEVChnPermission


{
NETDEV_CHN_PERMISSION_LIVE = BIT0, /* Live view and two-way audio */
NETDEV_CHN_PERMISSION_PTZ = BIT1, /* PTZ control */
NETDEV_CHN_PERMISSION_PLAYBACK = BIT2, /* Playback */
NETDEV_CHN_PERMISSION_MANU_RECORD = BIT3, /* Manual recording */
NETDEV_CHN_PERMISSION_LOCAL_BACK = BIT4, /* Local backup */
NETDEV_CHN_PERMISSION_INVALID = 0XFFFFFFFF /* Invalid value */
}NETDEV_CHN_PERMISSION_TYPE_E;

4.28.241 Enumeration of response statuses

typedef enum tagNETDEVOrgResponseStatus


{
NETDEV_ORG_RESPONSE_SUCCESS = 0, /* Success */
NETDEV_ORG_RESPONSE_FAIL = 1 /* Fail */
}NETDEV_ORG_RESPONSE_STAUTE_E;

4.28.242 Enumeration of NAT types

typedef enum tagNETDEVNATType


{
NETDEV_STUN_TYPE_UNKNOWN = 0, /* Unknown */
NETDEV_STUN_TYPE_FAILURE = 1, /* Failure */
NETDEV_STUN_TYPE_OPEN = 2 /* No NAT; public IP, no firewall */
NETDEV_STUN_TYPE_BLOCKED = 3, /* UDP blocked */
NETDEV_STUN_TYPE_CONE_NAT = 4, /* Full cone NAT */
NETDEV_STUN_TYPE_RESTRICTED_NAT = 5, /* Restricted cone NAT */
NETDEV_STUN_TYPE_PORT_RESTRICTED_NAT = 6, /* Port restricted NAT */
NETDEV_STUN_TYPE_SYM_NAT = 7, /* Symmetric NAT */
NETDEV_STUN_TYPE_SYM_FIREWALL = 8 /* No NAT; public IP, UDP symmetric firewall
*/
}NETDEV_NAT_TYPE_E;

4.28.243 Enumeration of protocol types

typedef enum tagNETDEVProtocolType


{
NETDEV_PROTOCOL_TYPE_HTTP = 0,
NETDEV_PROTOCOL_TYPE_HTTPS = 1,
NETDEV_PROTOCOL_TYPE_RTSP = 2
}NETDEV_PROTOCOL_TYPE_E;

726 / 767
Network Device SDK (Windows) User Manual
4.28.244 Enumeration of organization search modes

typedef enum tagNETDEVOrgFindMode


{
NETDEV_ORG_FIND_MODE_ID = 0, /* Organization ID */
NETDEV_ORG_FIND_MODE_TYPE = 1, /* Organization type */
NETDEV_ORG_FIND_MODE_INVALID = 0XFF /* Invalid value */
}NETDEV_ORG_FIND_MODE_E;

4.28.245 Enumeration of basic permissions

typedef enum tagNETDEVUserBasePermission


{
NETDEV_USER_BASE_PER_CONFIG = BIT0, /* Configure */
NETDEV_USER_BASE_PER_UPGRADE = BIT1, /* Upgrade */
NETDEV_USER_BASE_PER_LOG = BIT2, /* View and export log */
NETDEV_USER_BASE_PER_REBOOT = BIT3 /* Restart */
}NETDEV_USER_BASE_PERMISSION_E;

4.28.246 HDD modes

typedef enum tagNETDEVDiskModeType


{
NETDEV_DISK_MODE_TYPE_OLD = 0, /* Old storage format disk */
NETDEV_DISK_MODE_TYPE_NEW = 1, /* New storage format disk */
NETDEV_DISK_MODE_TYPE_INVALID = 0xFF /* Invalid value */
}NETDEV_DISK_MODE_TYPE_E;

4.28.247 Capability commands

typedef enum tagNETDEVCapabilityCommond


{
NETDEV_CAP_VIDEO_ENCODE = 1, /* Video encoding capability. See
NETDEV_VIDEO_STREAM_CAP_S */
NETDEV_CAP_OSD = 2, /* OSD parameter capability. See # NETDEV_OSD_CAP_S
*/
NETDEV_CAP_SMART = 3, /* VCA capability. See # NETDEV_SMART_CAP_S */
NETDEV_CAP_VIDEO_ENCODE_EX = 4, /* Video encoding capability (expansion). See #
NETDEV_VIDEO_STREAM_CAP_EX_S */
NETDEV_CAP_IMAGE = 5, /* Image parameter capability. See
#NETDEV_IMAGE_CAP_S */
NETDEV_CAP_AUDIO = 6, /* Audio capability. See NETDEV_AUDIO_CAP_S */
NETDEV_CAP_VIDEO_SNAPSHOT = 7, /* Video input channel’s snapshot capability. See
NETDEV_VIDEO_SNAP_CAP_S. Currently supported by IPC only. */
NETDEV_CAP_FACE_RECOGNAZE = 10, /* Face recognition capability. Currently supported by
NVR only. See NETDEV_DEV_FACE_CAP_INFO_S */

727 / 767
Network Device SDK (Windows) User Manual
NETDEV_CAP_DEV_NIC = 11, /* Device’s NIC capability. See
NETDEV_NIC_CAP_INFO_S */
NETDEV_CAP_DEV_EXCEPTION_ALARM = 12, /* Device’s exception alarm capability. See
NETDEV_EXCP_ALARM_CAP_INFO_S */
NETDEV_CAP_CHANNELS_ALARM = 13, /* Channel's alarm capability. See
NETDEV_CHN_ALARM_CAP_INFO_S (For single-channel IPC, it corresponds to the passed-in channel ID; for
multi-channel IPC, it corresponds to the passed-in channel ID + actual channel ID of IPC; for an NVR
channel, it corresponds to the actual passed-in channel ID) */
NETDEV_CAP_SYS = 14, /* System capability. See
NETDEV_SYS_CAPABILITY_S */
NETDEV_CAP_INVALID = 0Xff
}NETDEV_CAPABILITY_COMMOND_E;

4.28.248 OSD date format capability

typedef enum tagNETDEVDateOSDFormateCap


{
NETDEV_OSD_DATE_FORMAT_CAP_MD_YYYY = 0, /* M/d/yyyy */
NETDEV_OSD_DATE_FORMAT_CAP_MMDD_YYYY = 1, /* MM/dd/yyyy */
NETDEV_OSD_DATE_FORMAT_CAP_DDMM_YYYY = 2, /* dd/MM/yyyy */
NETDEV_OSD_DATE_FORMAT_CAP_YYYY_MMDD = 3, /* yyyy/MM/dd */
NETDEV_OSD_DATE_FORMAT_CAP_YYYYMMDDB = 4, /* yyyy-MM-dd */
NETDEV_OSD_DATE_FORMAT_CAP_XX_MMDD_YYYY = 5, /* dddd, MMMM dd, yyyy */
NETDEV_OSD_DATE_FORMAT_CAP_MMMMDD_YYYY = 6, /* MMMM dd, yyyy */
NETDEV_OSD_DATE_FORMAT_CAP_DDMMMM_YYYY = 7 /* dd MMMM, yyyy */
}NETDEV_OSD_DATE_FORMAT_CAP_E;

4.28.249 Enumeration of time sync modes

typedef enum tagNETDEVTimeSynmode


{
NETDEV_TIME_SYNCMODE_ACCEPT_ALL_SERVER = 0, /* Sync with all servers */
NETDEV_TIME_SYNCMODE_SYNC_COMPUTER_SYSTEM = 1, /* Sync with PC’s system time */
NETDEV_TIME_SYNCMODE_SYNC_PHOTO_SERVER = 2, /* Sync with photo server */
NETDEV_TIME_SYNCMODE_SYNC_NTP_SERVER = 3, /* Sync with NTP server */
NETDEV_TIME_SYNCMODE_SYNC_MANAGE_SERVER = 4, /* Sync with management server (non-Onvif) */
NETDEV_TIME_SYNCMODE_SYNC_MANAGE_SERVER_ONVIF= 5,/* Sync with management server (Onvif) */
NETDEV_TIME_SYNCMODE_SYNC_CLOUD_SERVER = 6, /* Sync with cloud server */
NETDEV_TIME_SYNCMODE_INVALID = 0xFF /* Invalid value */
}NETDEV_TIME_SYNCMODE_E;

4.28.250 Stream data callback function

typedef enum tagNETDEStreamDataCBType


{
NETDEV_STREAM_CB_TYPE_PARSE = 1, /* Callback of assembled audio/video data */

728 / 767
Network Device SDK (Windows) User Manual
NETDEV_STREAM_CB_TYPE_DECODE = 2, /* Callback of decoded audio/video data */
NETDEV_STREAM_CB_TYPE_DECODE_V30 = 3, /* Callback of decoded audio/video data. GPU
decoding is supported */
NETDEV_STREAM_CB_TYPE_INVALID = 0xff /* Invalid value */
}NETDEV_STREAM_DATA_CB_TYPE_E;

4.28.251 People counting types

typedef enum tagNETDEVStatisticType


{
NETDEV_STATISTIC_TYPE_ALL = 0, /* Count the total number of people
NETDEV_STATISTIC_TYPE_ENTER = 1, /* Count people who have entered */
NETDEV_STATISTIC_TYPE_LEAVE = 2, /* Count people who have left */
NETDEV_STATISTIC_TYPE_INVALID = 0xFFFF /* Invalid value */
}NETDEV_STATISTIC_TYPE_E;

4.28.252 Enumeration of listening types

typedef enum tagNETDEVListenType


{
NETDEV_FACE_SNAPSHOT_TYPE = 1, /* Face snapshot */
NETDEV_DISCOVERY_TYPE = 2, /* Device discovery */
NETDEV_LISTEN_TYPE_INVALID = 0xffff
}NETDEV_LISTEN_TYPE_E;

4.28.253 Enumeration of supported alarm types

typedef enum tagNETDEVAlarmTypeV30


{
NETDEV_ALARM_RYPE_DEV_STATUS = BIT0, /* Device status alarm */
NETDEV_ALARM_RYPE_COMM_ALARM = BIT1, /* Surveillance alarm */
NETDEV_ALARM_RYPE_INTEL_ALARM = BIT2, /* Ordinary smart alarm */
NETDEV_ALARM_RYPE_SMART_ALARM = BIT3, /* Deep learning smart alarm */
NETDEV_ALARM_RYPE_FACE_RECOGNITION = BIT4, /* Face recognition NETDEV_SetPersonAlarmCallBack */
NETDEV_ALARM_RYPE_STRUCTURED_DATA = BIT5, /* Structured data NETDEV_SetStructAlarmCallBack */
NETDEV_ALARM_RYPE_VEHICLE_RECOGNITION = BIT6, /* Plate recognition
NETDEV_SetVehicleAlarmCallBack */
NETDEV_ALARM_RYPE_TRAFFIC_DATA = BIT7, /* Traffic data (currently
unavailable) */
NETDEV_ALARM_RYPE_HYPERSENSITIVE_DATA = BIT8, /* hypersensitive data (currently not
available) */
NETDEV_ALARM_RYPE_RESOURCE_CHANGE = BIT9, /* Resource change NETDEV_SetResChangeEventCallBack
*/
NETDEV_ALARM_RYPE_PERSON_VERIFICATION = BIT10, /* Face verification NETDEV_SetAlarmFGCallBack
*/
NETDEV_ALARM_RYPE_PARKING_IDENTIFICATION = BIT11, /* Parking lot snapshot

729 / 767
Network Device SDK (Windows) User Manual
NETDEV_SetParkEventCallBack */
NETDEV_ALARM_RYPE_FIREALARM_DATA = BIT12, /* Fire detection alarm */
NETDEV_ALARM_RYPE_ALARM_PICTURE_DATA = BIT13, /* Alarm image data
NETDEV_SetPicAlarmCallBack */
NETDEV_ALARM_RYPE_PEOPLE_COUNT = BIT14, /* People counting NETDEV_SetPeopleCountAlarmCallBack
*/
NETDEV_ALARM_RYPE_HEATMAP_DATA = BIT16, /* Heatmap data (currently unavailable) */
NETDEV_ALARM_RYPE_PLAYBOX_STATUS = BIT17, /* Player status (currently unavailable) */
NETDEV_ALARM_RYPE_PLAYBOX_MANAGEMENT = BIT18, /* Player manager online status (currently
unavailable).*/
NETDEV_ALARM_RYPE_INVALID = 0xFF
}NETDEV_ALARM_TYPE_V30_E;

4.28.254 Enumeration of plate colors

typedef enum tagNETDEVTMSCarPlateColor


{
NETDEV_TMS_CAR_PLATE_COLOR_WHITE = 0, /* White */
NETDEV_TMS_CAR_PLATE_COLOR_YELLOW = 1, /* Yellow */
NETDEV_TMS_CAR_PLATE_COLOR_BLUE = 2, /* Blue */
NETDEV_TMS_CAR_PLATE_COLOR_BLACK = 3, /* Black */
NETDEV_TMS_CAR_PLATE_COLOR_OTHER = 4, /* Other colors */
NETDEV_TMS_CAR_PLATE_COLOR_GREEN = 5, /* Green, farm vehicles */
NETDEV_TMS_CAR_PLATE_COLOR_RED = 6, /* Red */
NETDEV_TMS_CAR_PLATE_COLOR_YELLOW_AND_GREEN = 7, /* Yellow & green */
NETDEV_TMS_CAR_PLATE_COLOR_GRADIENT_GREEN = 8, /* Gradient green */
NETDEV_TMS_CAR_PLATE_COLOR_INVALID = 0xFFFF /* Invalid value */
}NETDEV_TMS_CAR_PLATE_COLOR_E;

4.28.255 Enumeration of recording search types

typedef enum tagNETDEVRecordSearchType


{
NETDEV_RECORD_SEARCH_TYPE_ALL = 0x00000000, /* Used in searching, all recording types
*/
NETDEV_RECORD_SEARCH_TYPE_MANUL = 0x00000001, /* Manual recording */
NETDEV_RECORD_SEARCH_TYPE_EVENT = 0x00000002, /* Common alarm (not supported by NVR) */
NETDEV_RECORD_SEARCH_TYPE_MOTION = 0x00000004, /* Motion detection */
NETDEV_RECORD_SEARCH_TYPE_ALARMIN = 0x00000008, /* Input alarm */
NETDEV_RECORD_SEARCH_TYPE_VIDEO_LOSS= 0x00000010, /* Video loss */
NETDEV_RECORD_SEARCH_TYPE_AUDIO_DETECT= 0x00000020, /* Audio detection */
NETDEV_RECORD_SEARCH_TYPE_COMMON = 0x00000080, /* Scheduled recording (normal) */
NETDEV_RECORD_SEARCH_TYPE_FACE_DETECT = 0x00000100, /* Face detection */
NETDEV_RECORD_SEARCH_TYPE_LINE_DETECT = 0x00000200, /* Cross line detection */
NETDEV_RECORD_SEARCH_TYPE_FIELD_DETECT = 0x00000400, /* Intrusion detection */
NETDEV_RECORD_SEARCH_TYPE_FOCUS_DETECT = 0x00000800, /* Defocus detection */
730 / 767
Network Device SDK (Windows) User Manual
NETDEV_RECORD_SEARCH_TYPE_SCENE_CHANGE= 0x00001000, /* Scene change */
NETDEV_RECORD_SEARCH_TYPE_SMART_TRACK = 0x00002000, /* Auto track */
NETDEV_RECORD_SEARCH_TYPE_URGENT_BELL = 0x00004000, /* Emergency bell */
NETDEV_RECORD_SEARCH_TYPE_REMAIN_ARTICLE = 0x00020000, /* Object left behind */
NETDEV_RECORD_SEARCH_TYPE_MOVE_ARTICLE = 0x00040000, /* Object removed */
NETDEV_RECORD_SEARCH_TYPE_HUMAN_DETECT = 0x00200000, /* Human body detection */
NETDEV_RECORD_SEARCH_TYPE_ELEVATOR_ENTRANCE_DETECT= 0x20000000, /* Elevator entrance detection
*/
NETDEV_RECORD_SEARCH_TYPE_SMART_RECORD = 0x20263F20, /* All smart alarms 0010 0000 0010 0110
0011 1111 0010 0000*/
NETDEV_RECORD_SEARCH_TYPE_INVALID = 0XFFFFFFFF /* Invalid value */
}NETDEV_RECORD_SEARCH_TYPE_E;

4.28.256 Enumeration of skin tones

typedef enum tagNETDEVSkinColorType


{
NETDEV_SKINCOLOR_TYPE_UNKNOW = 0, /* Unknown */
NETDEV_SKINCOLOR_TYPE_WHITE = 2011, /* White */
NETDEV_SKINCOLOR_TYPE_BLACK = 2012, /* Black */
NETDEV_SKINCOLOR_TYPE_YELLOW = 2013, /* Yellow */
NETDEV_SKINCOLOR_TYPE_BROWN = 2014, /* Brown */
NETDEV_SKINCOLOR_TYPE_INVALID = 0xFF /* Invalid */
}NETDEV_SKINCOLOR_TYPE_E;

4.28.257 Emotions

typedef enum tagNETDEVEmotionFlag


{
NETDEV_EMOTION_FLAG_UNKNOW = 0, /* Unknow */
NETDEV_EMOTION_FLAG_ANGER = 1, /* Angry */
NETDEV_EMOTION_FLAG_CALM = 2, /* Calm */
NETDEV_EMOTION_FLAG_CONFUSED = 3, /* Confused */
NETDEV_EMOTION_FLAG_ABHORRENT = 4, /* Abhorrent */
NETDEV_EMOTION_FLAG_HAPPY = 5, /* Happy */
NETDEV_EMOTION_FLAG_SAD = 6, /* Sad */
NETDEV_EMOTION_FLAG_AFRAID = 7, /* Afraid */
NETDEV_EMOTION_FLAG_AMAZED = 8, /* Surprised */
NETDEV_EMOTION_FLAG_SQUINT = 9, /* Squint */
NETDEV_EMOTION_FLAG_SCREAM = 10, /* Screaming */
NETDEV_EMOTION_FLAG_OTHER = 11, /* Other */
NETDEV_EMOTION_FLAG_INVALID = 0xFF /* Invalid value */
}NETDEV_EMOTION_FLAG_E;

731 / 767
Network Device SDK (Windows) User Manual
4.28.258 Smile flag

typedef enum tagNETDEVSmileFlag


{
NETDEV_SMILE_FLAG_UNKNOW = 0, /* Unknown */
NETDEV_SMILE_FLAG_NO = 1, /* No smile */
NETDEV_SMILE_FLAG_YES = 2, /* With smile */
NETDEV_SMILE_FLAG_INVALID = 0xFF /* Invalid value */
}NETDEV_SMILE_FLAG_E;

4.28.259 Beard flag

typedef enum tagNETDEVBeardFlag


{
NETDEV_BEARD_FLAG_UNKNOW = 0, /* Unknown */
NETDEV_BEARD_FLAG_UNEXIST = 1, /* No beard */
NETDEV_BEARD_FLAG_EXIST = 2, /* With beard */
NETDEV_BEARD_FLAG_INVALID = 0xFF /* Invalid value */
}NETDEV_BEARD_FLAG_E;

4.28.260 Enumeration of object types

typedef enum tagNETDEVObjectType


{
NETDEV_OBJECT_TYPE_FACE = 1, /* Face */
NETDEV_OBJECT_TYPE_PERSON = 2, /* Person */
NETDEV_OBJECT_TYPE_NON_MOTOR = 3, /* Non-motor vehicle */
NETDEV_OBJECT_TYPE_MOTOR = 4, /* Motor vehicle */
NETDEV_OBJECT_TYPE_UNKNOWN = 255, /* Unknown/unidentified */
NETDEV_OBJECT_TYPE_INVALID = 0xffff /* Invalid value */
}NETDEV_OBJECT_TYPE_E;

4.28.261 Enumeration of rule types

typedef enum tagNETDEVRuleType


{
NETDEV_RULE_TYPE_INTRUSION_DETECTION = 0, /* Intrusion detection */
NETDEV_RULE_TYPE_CROSSLINE_DETECTION = 1, /* Cross line detection */
NETDEV_RULE_TYPE_LEAVE_ZONE = 2, /* Leave area */
NETDEV_RULE_TYPE_ENTER_ZONE = 3, /* Enter area */
NETDEV_RULE_TYPE_ELEVATOR_ENTRANCE_DETECTION = 4, /* Elevator entrance detection */
NETDEV_RULE_TYPE_INVALID = 0xff /* Invalid value */
}NETDEV_RULE_TYPE_E;

4.28.262 Enumeration of rule trigger types

typedef enum tagNETDEVRuleTriggerType


732 / 767
Network Device SDK (Windows) User Manual
{
NETDEV_RULE_TRIGGER_TYPE_NO_TRIGGER = 0, /* No trigger */
NETDEV_RULE_TRIGGER_TYPE_DUPLEX = 1, /* Bi-directional */
NETDEV_RULE_TRIGGER_TYPE_CLOCKWISE = 2, /* Clockwise */
NETDEV_RULE_TRIGGER_TYPE_ANTIC_CLOCKWISE = 3, /* Counterclockwise */
NETDEV_RULE_TRIGGER_TYPE_ACCESS = 4, /* Enter */
NETDEV_RULE_TRIGGER_TYPE_LEAVE = 5, /* Leave */
NETDEV_RULE_TRIGGER_TYPE_INVALID = 0xff /* Invalid value */
}NETDEV_RULE_TRIGGER_TYPE_E;

4.28.263 Target record types

typedef enum tagNETDEVObjectRecordType


{
NETDEV_OBJECT_RECORD_TYPE_CROSSLINE_DETECTION = 0, /* Cross line detection */
NETDEV_OBJECT_RECORD_TYPE_INTRUSION_DETECTION = 1, /* Intrusion detection */
NETDEV_OBJECT_RECORD_TYPE_ENTER_ZONE = 2, /* Enter area */
NETDEV_OBJECT_RECORD_TYPE_LEAVE_ZONE = 3, /* Leave area */
NETDEV_OBJECT_RECORD_TYPE_INVALID = 0xff /* Invalid value */
}NETDEV_OBJECT_RECORD_TYPE_E;

4.28.264 People counting alarm types

typedef enum tagNETDEVPeopleCountAlarmType


{
NETDEV_PEOPLE_COUNT_ALARM_TYPE_AREA_RULE = 0, /* area people counting */
NETDEV_PEOPLE_COUNT_ALARM_TYPE_LINE_RULE = 1, /* Tripwire people
counting */
NETDEV_PEOPLE_COUNT_ALARM_TYPE_CROWD_DENSITY = 2, /* Crowd density */
NETDEV_PEOPLE_COUNT_ALARM_TYPE_INVALID = 0xFFFF /* Invalid value */
}NETDEV_PEOPLE_COUNT_ALARM_TYPE_E;

4.28.265 Crowd density alarm statistics type

typedef enum tagNETDEVCrowdDensityStatisticType


{
NETDEV_CROWD_DENSITY_STATISTIC_TYPE_DENSITY = 1, /* crowd density statistics */
NETDEV_CROWD_DENSITY_STATISTIC_TYPE_STRANDED = 2, /* Number of people in present */
NETDEV_CROWD_DENSITY_STATISTIC_TYPE_INVALID = 0xff /* Invalid value */
}NETDEV_CROWD_DENSITY_STATISTIC_TYPE_E;

4.29 Error Code List

4.29.1 Common Error Codes

Code Value Meaning


733 / 767
Network Device SDK (Windows) User Manual
NETDEV_E_FAILED -1 Failure
NETDEV_E_SUCCEED 0 Success
NETDEV_E_SVC_FAILED 1 Server Error Code
NETDEV_E_NO_USER 5 User does not exist
NETDEV_E_NO_RESULT 11 No search results
NETDEV_E_NOENOUGH_BUF 12 Buffer is too small
NETDEV_E_SDK_SOCKET_LSN_FAIL 13 Failed to create socket listener
NETDEV_E_INIT_MUTEX_FAIL 14 Failed to initialize lock
NETDEV_E_INIT_SEMA_FAIL 15 Failed to initialize semaphore
NETDEV_E_ALLOC_RESOURCE_ERROR 16 SDK resource allocation error
NETDEV_E_HAVEDATA 17 Still have data
NETDEV_E_NEEDMOREDATA 18 More data required
NETDEV_E_TRANSFILE_FAIL 19 File transfer failed
NETDEV_E_DEVICE_TYPE_ERR 20 Unsupported device type
NETDEV_E_NONCE_TIMEOUT 21 Nonce expired
NETDEV_E_INNER_ERR 22 System internal error
NETDEV_E_PUBLICKEYFAIL 23 Failed to pair public key
NETDEV_E_BINDNOTIFY_FAIL 24 Failed to bind alarm
NETDEV_E_SYSCALL_FALIED 100 Failed to call system function
NETDEV_E_NULL_POINT 101 Null pointer
NETDEV_E_INVALID_PARAM 102 Invalid parameter
NETDEV_E_INVALID_MODULEID 103 Invalid module ID
NETDEV_E_INVALID_HANDLE 104 Invalid handle
NETDEV_E_NO_MEMORY 105 Failed to allocate memory
NETDEV_E_FILE_NO_EXIST 106 File does not exist
NETDEV_E_NO_DEV 107 Device does not exist
NETDEV_E_NO_FIT_LOG 108 No matches found.
NETDEV_E_BUSY 109 Busy status
NETDEV_E_TIMER_REG_FAILED 110 Failed to register timer
NETDEV_E_COMMON_FAILED 111 Common error
NETDEV_E_CMD_NOT_SUPPORT 112 Unsupported command
NETDEV_E_NOT_SUPPORT 113 Device does not support the function
NETDEV_E_TIMEOUT 114 Timeout
NETDEV_E_MSG_ERR 115 Message does not match
NETDEV_E_MODULE_INEXIST 116 Module does not exist
NETDEV_E_SOCKET_RECV_ERR 117 Failed to receive messages
NETDEV_E_DECODE_IE_FAILED 118 Failed to get message IE
NETDEV_E_ENCODE_IE_FAILED 119 Failed to add message IE
NETDEV_E_SDK_NOINTE_ERROR 120 SDK is not initialized
NETDEV_E_ALREDY_INIT_ERROR 121 SDK is already initialized
NETDEV_E_DEVICE_FACTURER_ERR 122 Unsupported device vendor
NETDEV_E_NAME_EXIST 123 The name already exists
Error occurred when getting
NETDEV_E_GET_CFG_FAILED 124
configuration info
734 / 767
Network Device SDK (Windows) User Manual
Error occurred while setting
NETDEV_E_SET_CFG_FAILED 125
configurations
NETDEV_E_CHANNEL_OVER_SPEC 126 Channel number exceeds specifications
NETDEV_E_CALL_DRV_COMMON 127 Failed to call driver
NETDEV_E_TOTAL_QUOTA_FULL 128 Not enough free space can be allocated
NETDEV_E_CALL_DB_COMMON 129 Failed to call database
NETDEV_E_NEED_MORE_MEMORY 130 Insufficient memory allocated
NETDEV_E_T2U_CONNECT_FAILED 131 T2U connection failed
NETDEV_E_FUNC_IS_INITIALIZING 132 Function is initializing
NETDEV_E_CONNECT_ERROR 200 Failed to establish a connection
NETDEV_E_SEND_MSG_ERROR 201 Failed to send message
NETDEV_E_DECODE_RSP_ERROR 202 Failed to parse response message
NETDEV_E_NONSUPPORT 203 Unsupported function
NETDEV_E_JSON_ERROR 204 Common Json error
NETDEV_E_NORESULT 205 No search results
NETDEV_E_SOCKET_RECV_ERROR 206 Socket failed to receive message
NETDEV_E_CREATE_THREAD_FAIL 207 Failed to create thread
NETDEV_E_RESCODE_NO_EXIST 208 Resource code does not exist
NETDEV_E_MSG_DATA_INVALID 209 Message content error
NETDEV_E_JSON_NO_IMAGE 210 No image
NETDEV_E_IMAGE_SIZE_BEYOND_THE_LIMIT 211 Image size exceeded the upper limit
NETDEV_E_MANAGETYPE_NONSUPPORT 403 Cannot modify client/platform type
NETDEV_E_PUBLICKEYFAIL 60068 Failed to pair public key

4.29.2 Stream Media Related Error Code

Code Value Meaning


NETDEV_E_PLAYER_FAIL 1001 Execution failure
NETDEV_E_PLAYER_INVALID_PARAM 1002 Invalid input parameter
NETDEV_E_PLAYER_NO_MEMORY 1003 Insufficient system memory
NETDEV_E_PLAYER_SOCKET_FAIL 1004 Failed to create socket
NETDEV_E_PLAYER_RECV_FAIL 1005 Failed to receive
NETDEV_E_PLAYER_RECV_ZERO 1006 Zero received
NETDEV_E_PLAYER_NOT_SUPPORT 1007 Unsupported function
NETDEV_E_PLAYER_CREATETHREAD_FAILED 1008 Failed to create thread
Failed to load dynamic
NETDEV_E_PLAYER_OPENDL_FAILED 1009
library
NETDEV_E_PLAYER_SYMDL_FAILED 1010 Failed to get dynamic method
NETDEV_E_PLAYER_SEND_FAILED 1011 Failed to send
NETDEV_E_PLAYER_EACCES 1012 No permission to create file
Failed to find the file to
NETDEV_E_PLAYER_FILE_NOT_FIND 1013
read
NETDEV_E_PLAYER_LOG_CLOSE 1014 Log closed
NETDEV_E_PLAYER_MEDIA_EXCEPTION 1017 Exception occurred during

735 / 767
Network Device SDK (Windows) User Manual
internal processing
NETDEV_E_PLAYER_SYS_FAIL 1018 Common system error
NETDEV_E_PLAYER_INIT_DONE 1019 Player is already initialized
Failed to create system
NETDEV_E_PLAYER_SYS_RES_FAILED 1020
resource
NETDEV_E_PLAYER_INVALID_IP 1021 IP error
NETDEV_E_PLAYER_EZSTREAMER_FULL 1022 Stream full
NETDEV_E_PLAYER_VOD_OVER_ABILITY 1023 VMS stream full
NETDEV_E_PLAYER_STREAM_IN_PROCESS 1024 Stream handling is in process
NETDEV_E_PLAYER_NO_SPARE_SESSION 1025 No idle session
NETDEV_E_PLAYER_NEED_AUTHENTICATE 1026 Authentication required
NETDEV_E_PLAYER_GET_AUTHENTICATE_FAID 1027 Authentication failed
Failed to create
NETDEV_E_PLAYER_MAKE_AUTHENTICATE_FAID 1028
authentication
Inconsistent authentication
NETDEV_E_PLAYER_AUTHENTICATEINFO_DIFF 1029
information
NETDEV_E_PLAYER_SESSION_CLOSED 1030 Session closed
NETDEV_E_FAIL_TO_INIT_EZPLAYER 1257 Failed to initialize player
Failed to allocate playing
NETDEV_E_FAIL_TO_ALLOC_PORT_RES 1258
channel resource
Failed to get playing channel
NETDEV_E_FAIL_TO_GET_PORT_RES 1259
resource
NETDEV_E_BUFFER_QUEUE_FULL 1260 Buffer queue is full
NETDEV_E_BUFFER_QUEUE_EMPTY 1261 Buffer queue is empty
NETDEV_E_OPEN_FILE_FAILED 1262 Failed to open file
NETDEV_E_FILE_READ_END 1263 File has been read
NETDEV_E_FILE_DISKSPACE_FULL 1264 Full disk space
NETDEV_E_FILE_READ_FAIL 1265 Failed to read file
NETDEV_E_MCM_MIC_NOT_EXIST 1266 MIC does not exist
NETDEV_E_TS_PACKET_IN_THE_ROUGH 1267 TS packing not finished
NETDEV_E_FILE_RECORD_FINISH 1268 Recording has been saved
NETDEV_E_VIDEO_RESOLUTION_CHANGE 1269 Resolution changed
NETDEV_E_VIDEO_RECORD_PART 1270 Recording is segmented
NETDEV_E_FAIL_TO_OPEN_STREAM 1513 Failed to start streaming
NETDEV_E_FAIL_TO_CLOSE_STREAM 1514 Failed to stop streaming
Failed to receive data due to
NETDEV_E_FAIL_TO_RECV_DATA 1515
network fault
NETDEV_E_FAIL_TO_PROCESS_MEDIA_DATA 1516 Failed to process media data
Playing channel has not
NETDEV_E_NOT_START_PLAY 1517
started playing operation
NETDEV_E_FAIL_TO_INPUT_DATA 1518 Failed to input stream data
NETDEV_E_INPUTDATA_BUFFER_FULL 1519 Input data buffer is full
Failed to register the
NETDEV_E_FAIL_TO_SET_PROCESS_DATA_CB 1520
callback function to receive

736 / 767
Network Device SDK (Windows) User Manual
stream data
Error occurred during audio
NETDEV_E_VOICE_RUNNING 1521
service
NETDEV_E_FAIL_TO_OPEN_VOICE_SVC 1522 Failed to start audio service
NETDEV_E_FAIL_TO_CLOSE_VOICE_SVC 1523 Failed to stop audio service
NETDEV_E_UNKNOWN_STREAM_TYPE 1524 Unknown stream type
NETDEV_E_PACKET_LOSE 1525 Packets lost
More packets are needed for
NETDEV_E_NEED_MORE_PACKET 1526
packing
NETDEV_E_FAIL_TO_CREATE_DECODE 1527 Failed to create decoder
NETDEV_E_FAIL_TO_DECODE 1528 Decoding failed
NETDEV_E_RECV_DATA_NOTENOUGH 1529 Data received is not enough
NETDEV_E_RENDER_RES_FULL 1530 Display resource is full
Display resource does not
NETDEV_E_RENDER_RES_NOT_EXIST 1531
exist
NETDEV_E_CREATE_DEV_FAILED 1532 Failed to create resource
NETDEV_E_AUDIO_RES_NOT_EXIST 1533 Audio resource does not exist
NETDEV_E_IHW265D_NEED_MORE_BITS 1534 More data required by decoder
NETDEV_E_FAIL_TO_CREATE_ENCODE 1535 Failed to create encoder
Capture resource does not
NETDEV_E_CAPTURE_RES_EXIST 1536
exist
NETDEV_E_RECORD_STARTED 1537 Recording already started
NETDEV_E_NEED_WAIT_DECODEC 1538 Decoding not completed
NETDEV_E_MORE_DATA_NEED_PACKET 1539 More data to be packed
NETDEV_E_AAC_LC_DECODE_FAIL 1540 AAC_LC decoding failed
NETDEV_E_RENDER_SURFACELOST 1541 Render surface lost
NETDEV_E_PLAYBACK_FINISH 1542 Playback ended
NETDEV_E_FILE_ENCRYPED 1543 File is encrypted
NETDEV_E_SCRAMBLING_INFO_FAILED 1544 Scrambling info failed
NETDEV_E_LIVE_EXISTED 2000 Live view already established
NETDEV_E_LIVE_INPUT_NOT_READY 2001 Stream not ready
Live view display resource is
NETDEV_E_LIVE_OUTPUT_BUSY 2002
busy
Live view control block does
NETDEV_E_LIVE_CB_NOTEXIST 2003
not exist
Live view stream resource is
NETDEV_E_LIVE_STREAM_FULL 2004
full
NETDEV_E_LIVE_NET_FAILED 2005 Session network error
NETDEV_E_LIVE_NET_TIMEOUT 2006 Session network timed out
NETDEV_E_LIVE_SHAKE_FAILED 2007 Session interaction error
NETDEV_E_LIVE_AUTH_FAILED 2008 Authentication failed
NETDEV_E_LIVE_INNER_ERROR 2009 Internal processing error on
device side
NETDEV_E_LIVE_INNER_TIMEOUT 2010 Internal processing timed out

737 / 767
Network Device SDK (Windows) User Manual
NETDEV_E_LIVE_KEEP_ALIVE_FAILED 2011 Keep-alive failed
NETDEV_E_LIVE_SESSION_NOT_EXIST 2012 Session does not exist
NETDEV_E_LIVE_NOT_ENOUGH_BANDWIDTH2 2013 Bandwidth not enough
NETDEV_E_LIVE_REALPLAY_ESTABLISHED 2014 Live view already established
NETDEV_E_LIVE_REALPLAY_RES_BUSY 2015 Live view display resource is
busy
NETDEV_E_LIVE_MULTICAST_DISABLED 2016 Multicast disabled
NETDEV_E_LIVE_MULTICAST_PORT_OCCUPIED 2017 Multicast port has been
occupied
NETDEV_E_LIVE_MULTICAST_PORT_EXHAUSTED 2018 Multicast port has been
exhausted
NETDEV_E_LIVE_MULTICAST_USER_NOT_EXIST 2019 Multicast user does not exist
NETDEV_E_LIVE_CHANNEL_NOT_ONLINE 2020 Channel is offline
NETDEV_E_LIVE_TALKBACK_ENCODED_INVALID 2021 Two-way audio resource code
is invalid
NETDEV_E_LIVE_VOICE_RES_USED_BY_TALKBACK 2022 Audio resource is being used
by two-way audio
NETDEV_E_LIVE_TALKBACK_EXISTS 2023 Two-way audio already exists
NETDEV_E_LIVE_VOICE_WORK_NOT_EXIST 2024 Two-way audio does not exist
NETDEV_E_LIVE_TALKBACK_TIMEOUT 2025 Two-way audio timed out
NETDEV_E_LIVE_TALKBACK_ERROR 2026 Two-way audio failed
NETDEV_E_LIVE_UNDEFINED_ERROR 2027 Undefined error
NETDEV_E_LIVE_BAD_REQUEST 2028 Bad request
NETDEV_E_LIVE_UNAUTHORIZED 2029 Unauthorized
NETDEV_E_LIVE_PAYMENT_REQUIRED 2030 Payment required
NETDEV_E_LIVE_FORIBIDDEN 2031 Forbidden
NETDEV_E_LIVE_METHOD_NOT_ALLOWED 2032 Method not allowed
NETDEV_E_LIVE_NOT_ACCEPTABLE 2033 Not acceptable
NETDEV_E_LIVE_PROXY_REQUIRED 2034 Proxy requires authentication
NETDEV_E_LIVE_REQUEST_TIMEOUT 2035 Request timed out
NETDEV_E_LIVE_GONE 2036 Not on server
NETDEV_E_LIVE_LENGTH_REQUIRED 2037 Length required
NETDEV_E_LIVE_PRECONDITION_FAILED 2038 Pre-processing failed
NETDEV_E_LIVE_ENTITY_TOO_LARGE 2039 Entity too long
NETDEV_E_LIVE_URI_TOO_LARGE 2040 URI too long
NETDEV_E_LIVE_UNSUPPORTED_TYPE 2041 Unsupported media type
NETDEV_E_LIVE_NOT_UNDERSTOOD 2042 Parameter not understood
NETDEV_E_LIVE_CONFERENCE_NOT_FOUND 2043 Conference not found
NETDEV_E_LIVE_NOT_ENOUGH_BANDWIDTH 2044 Bandwidth not enough
NETDEV_E_LIVE_SESSION_NOT_FOUND 2045 Session not found
NETDEV_E_LIVE_METHOD_NOT_VALID 2046 Invalid method in this state
NETDEV_E_LIVE_HEADER_NOT_VALID 2047 Invalid header for the
resource
NETDEV_E_LIVE_INVALID_RANGE 2048 Invalid range
738 / 767
Network Device SDK (Windows) User Manual
NETDEV_E_LIVE_PARAMETER_READ_ONLY 2049 Parameter is read only
NETDEV_E_LIVE_AO_NOT_ALLOWED 2050 AO is not allowed
NETDEV_E_LIVE_ONLY_AO_ALLOWED 2051 Only AO is allowed
NETDEV_E_LIVE_UNSUPPORTED_TRANSPORT 2052 Unsupported transport mode
NETDEV_E_LIVE_DESTINATION_UNREACHABLE 2053 Destination is unreachable
NETDEV_E_LIVE_INTERNAL_SERVER_ERROR 2054 Server internal error
NETDEV_E_LIVE_NOT_IMPLEMENTED 2055 Not implemented
NETDEV_E_LIVE_BAD_GATEWAY 2056 Gateway error
NETDEV_E_LIVE_SERVICE_UNAVAILABLE 2057 Service unavailable
NETDEV_E_LIVE_VERSION_NOT_SUPPORTED 2058 Unsupported RTSP version
NETDEV_E_LIVE_GATEWAY_TIMEOUT 2059 Gateway timed out
NETDEV_E_LIVE_OPTION_NOT_SUPPORTED 2060 Unsupported option
NETDEV_E_LIVE_MALLOC_FAIL 2061 Failed to allocate memory
NETDEV_E_LIVE_REALLOC_FAIL 2062 Failed to re-allocate memory
NETDEV_E_LIVE_DESCRIBE_TIMEOUT 2063 Describe timed out
NETDEV_E_LIVE_IPC_NOTBIND 2064 Channel is not bound
NETDEV_E_LIVE_DISK_ABNOMAL 2065 Disk abnormal
NETDEV_E_AUDIO_EXISTED 2100 Two-way audio already exists
NETDEV_E_AUDIO_NO_EXISTED 2101 Two-way audio does not exist
Two-way audio resource code
NETDEV_E_AUDIO_RESCODE_INVALID 2102
is invalid
NETDEV_E_AUDIO_FAILED 2104 Two-way audio failed
NETDEV_E_AUDIO_AUDIOBCAST_FULL 2205 Audio service is full
NETDEV_E_CAPTURE_NO_SUPPORT_FORMAT 2200 Unsupported snapshot format
NETDEV_E_CAPTURE_NO_ENOUGH_CAPACITY 2201 Insufficient disk space
No decoded image available
NETDEV_E_CAPTURE_NO_DECODED_PICTURE 2202
for snapshot
NETDEV_E_CAPTURE_SINGLE_FAILED 2203 Single snapshot failed
Stream is beyond the
NETDEV_E_OVER_ABILITY 2301
capability
NETDEV_E_CLOUD_DOWNLOAD_FINISH 2793 Download finished
NETDEV_E_CLOUD_PARSE_DOMAIN_FAIL 2794 Failed to resolve domain name
NETDEV_E_CLOUD_CONNECT_FAIL 2795 Connection failed
NETDEV_E_CLOUD_CONNECT_TIMEOUT 2796 Connection timed out
NETDEV_E_CLOUD_DOWNLOAD_TIMEOUT 2797 Download timed out
NETDEV_E_CLOUD_DOWNLOAD_FAIL 2798 Download failed
NETDEV_E_CLOUD_NETWORK_POOR 2799 Poor network
NETDEV_E_CLOUD_PLAY_FINISH 2800 Playing finished
NETDEV_E_CLOUD_DISK_FULL 2801 Full disk space
NETDEV_E_CLOUD_AUTH_FAIL 2802 Authentication failed
Current play time (for
NETDEV_E_CLOUD_CURRENT_TIME 2803
reporting use only)
Used disk space reached the
NETDEV_E_CLOUD_PRIOR_DISK_FULL 2804
preset value
739 / 767
Network Device SDK (Windows) User Manual
NETDEV_E_CLOUD_NODE_NOT_EXIST 2805 Time node does not exist
NETDEV_E_CLOUD_NO_CACHE_PATH 2806 No cache path
NETDEV_E_CLOUD_MSG_SEND_FAIL 2807 Failed to send message
NETDEV_E_CLOUD_TASK_CANCELLED 2808 Task has been canceled
NETDEV_E_CLOUD_TASK_STREAM_CONTINUE 2809 Stream continues to play
NETDEV_E_MEDIA_INPUT_NOT_READY 10000 Stream not ready
Control block status is
NETDEV_E_CCB_STATR_INVALID 10001
invalid
Live view display resource is
NETDEV_E_MEDIA_OUTPUT_BUSY 10002
busy
NETDEV_E_MEDIA_START_LOCAL_LIVE_ERR 10003 Live view stream not ready
NETDEV_E_MEDIA_START_LOCAL_REPLAY_ERR 10004 Playback stream not ready
Insufficient network
NETDEV_E_MEDIA_BW_RECV_NOT_ENOUGH 10007
bandwidth for receiving data
Insufficient network
NETDEV_E_MEDIA_BW_SEND_NOT_ENOUGH 10008
bandwidth for sending data
Broadcast service has reached
NETDEV_E_MEDIA_AUDIO_BROADCAST_TO_LIMIT 10009
the upper limit
NETDEV_E_MEDIA_AUDIO_CHL_BING_USED 10010 Audio channel is being used
NETDEV_E_MEDIA_NOT_SUPPORT_ENCODETYPE 10012 Unsupported stream format
NETDEV_E_MEDIA_MAX 10399 Max media related error code

4.29.3 Error Codes of PTZ Module

Error Code Value Meaning


NETDEV_E_SET_PRESET_FAILED 10400 Failed to set preset
NETDEV_E_QUERY_PRESET_FAILED 10401 Failed to query preset
NETDEV_E_QUERY_TRACK_FAILED 10402 Failed to query route
NETDEV_E_START_RECORD_TRACK_FAILED 10403 Failed to start recording route
NETDEV_E_STOP_RECORD_TRACK_FAILED 10404 Failed to stop recording route
NETDEV_E_QUERY_CRUISE_FAILED 10405 Failed to query patrol route
NETDEV_E_SET_CRUISE_FAILED 10406 Failed to set patrol route
NETDEV_E_PTZ_COMMAND_FAILED 10407 PTZ operation failed
Preset is being used by patrol route
NETDEV_E_PRESET_IN_CRUISE 10408
and cannot be deleted
NETDEV_E_CRUISEPOINT_ER 10409 Discontinuous patrol points
NETDEV_E_TRACK_ISUSED 10410 Route being used and cannot be deleted
NETDEV_E_SERIALMODE_MISMATCH 10411 Serial port mode not match
NETDEV_E_TRACK_NOT_EXIST 10412 Route does not exist
NETDEV_E_MODE_CRUISE_FULL 10413 Route points are full
NETDEV_E_PTZ_ISUSED 10414 PTZ is in use
NETDEV_E_PRESET_IN_GUARD 10415 Preset is being used by auto guard
Patrol route is being used by auto
NETDEV_E_CRUISE_PATH_IN_GUARD 10416
guard

740 / 767
Network Device SDK (Windows) User Manual
NETDEV_E_PTZ_MAX 10799 Max error code of PTZ module

4.29.4 Error Code of Playback Module

Code Value Meaning


NETDEV_E_VOD_ABEND 10800 Playback ended abnormally
NETDEV_E_VOD_END 10801 Playback ended
NETDEV_E_VOD_CALL_DRV 10802 Failed to call driver interface
NETDEV_E_VOD_CB_NOT_FIND 10803 Control block was not found
NETDEV_E_VOD_OVER_ABILITY 10804 Playback capability exceeded
NETDEV_E_VOD_TAG_OVER_LIMIT 10805 Number of tags exceeds the upper limit
NETDEV_E_VOD_NO_RECORDING 10806 No recording content
GB28181 device does not support smart
NETDEV_E_VOD_SMART_NOT_SUPPORT 10807
playback
NETDEV_E_VOD_NO_REPLAYURL 10808 Cannot get playback URL
NETDEV_E_VOD_MAX 10999 Max error code of playback module

4.29.5 Error Code of Storage Module

Code Value Meaning


NETDEV_E_STOR_ABEND 101000 Storage ended abnormally
NETDEV_E_ARRAY_NAME_EXITS 11001 Array already exists
NETDEV_E_NOT_RAID_MODE 11002 Not RAID mode
Recording schedule is not configured
NETDEV_E_NO_STORE_PLAN 11003
for the channel
NETDEV_E_DISK_ZERO_OR_ABNORMAL 11022 No disk or disk is abnormal
NETDEV_E_SLOT_NOT_NORMAL 11023 Slot 1 disk is abnormal
Restart is required if slot 1 disk is
NETDEV_E_SLOT_RECONNECT 11024 pulled out and then re-plugged in
after face recognition is enabled
NETDEV_E_BATTERY_STATUS_FAULT 11034 Device battery status is abnormal
NETDEV_E_STOR_MAX 11199 Max error code of storage module

4.29.6 Error Code of User Management Module

Code Value Meaning


NETDEV_E_USER_NOT_ONLINE 101200 User is offline
NETDEV_E_USER_WRONG_PASSWD 11201 Incorrect password
NETDEV_E_USER_NO_SUCH_USER 11202 User does not exist
NETDEV_E_USER_NO_AUTH 11203 User has no permission
Number of users added reached the
NETDEV_E_USER_MAX_NUM 11204
upper limit
NETDEV_E_USER_EXIST 11205 User already exists
Number of logged-in users reached
NETDEV_E_USER_LOGIN_MAX_NUM 11206
upper limit

741 / 767
Network Device SDK (Windows) User Manual
NETDEV_E_USER_LOCKED 11207 User has been locked
The user is administrator and the
NETDEV_E_USER_IS_ADMIN 11208
operation is not allowed
NETDEV_E_USER_NOT_VALID_PERIOD 11209 Invalid period
Number of user roles reached upper
NETDEV_E_USER_ROLE_BEYOND_RANGE 11210
limit
NETDEV_E_USER_SELOG_IP_LOCKED 11211 User is locked for security
NETDEV_E_ROLE_EXIST 11212 Role already exists
NETDEV_E_USER_NOT_VALID_TIME 11213 Invalid period
Login failed. Please change the
NETDEV_E_USER_WEAK_PASSWD_LOGIN_FAIL 11214 password into a strong one locally
and try again.
NETDEV_E_USER_IS_TEMPPASSWD 11217 User is using temporary password
Temporary password is forbidden on
NETDEV_E_USER_TEMPPASSWD_LOGIN_FAIL 11218
WAN
NETDEV_E_USER_WEAK_PASSWD_MODIFY 11219 Weak password is forbidden
NETDEV_E_USER_IP_NO_AUTH 11221 Login IP has no authorization
NETDEV_E_USER_MAX 11599 Max error code of user module

4.29.7 Error Code of Device Management Module

Code Value Meaning


NETDEV_E_DEV_REPEAT_DEV 11602 Duplicate device
NETDEV_E_DEV_NO_SUCH_DEV 11603 Device does not exist
NETDEV_E_DEV_NO_SUCH_CHL 11604 Channel does not exist
Number of devices added to VMS reached
NETDEV_E_DEV_MAX_NUM 11605
the upper limit
Number of logins to device reached the
NETDEV_E_DEV_LOGIN_MAX_NUM 11606
upper limit
NETDEV_E_DEV_COMMON_FAILED 11607 Common error returned by device
NETDEV_E_DEV_NO_SUCH_DEV_OID 11608 Old device ID does not exist
NETDEV_E_DEV_DEL_FORBID 11609 Cannot delete device
NETDEV_E_CHL_OFFLINE 11610 Channel offline
NETDEV_E_DEV_TYPE_UNMATCHED 11611 Device type not match
NETDEV_E_DEV_REPEAT_DEV_NAME 11612 Duplicate device name
NETDEV_E_DEV_CFG_FAILED 11613 Failed to configure device
NETDEV_E_DEV_NO_RESULT 11614 No search results
NETDEV_E_DEV_DEC_OFFLINE 11617 Decoding device offline
NETDEV_E_DEV_VCA_ALARM_NO_PIC 11661 Failed to get VCA alarm image
NETDEV_E_COMMON_FAIL_STAT 11801 Failed to read file (directory) status
NETDEV_E_COMMON_FILE_NONEXIST 11802 File does not exist
NETDEV_E_COMMON_MKDIR_ERR 11803 Failed to create directory
Subscription is full for current user
NETDEV_E_SUBSCRIBE_FULL 11804
(cannot return error code when

742 / 767
Network Device SDK (Windows) User Manual
subscription is full at device side)
NETDEV_E_UPGRADE_NOTADMIN 11805 Only admin can upgrade
NETDEV_E_UPGRADE_INVALID 11806 Upgrade not started
NETDEV_E_UPGRADE_INPROCESS 11807 Upgrade in progress
NETDEV_E_UPGRADE_NOMEMORY 11808 Insufficient memory for upgrade
Error occurred while opening the
NETDEV_E_UPGRADE_FILE_OPEN_ERR 11809
mirror file during upgrade
NETDEV_E_UPGRADE_DEVICE_ERR 11810 Error occurred while upgrading flash
Cannot load multiple upgrade
NETDEV_E_UPGRADE_BUSY 11811
processes simultaneously
NETDEV_E_UPGRADE_FAIL_TIMEOUT 11812 Upgrade timed out
NETDEV_E_INVALID_CONFIGFILE 11813 Invalid configuration file
NETDEV_E_STOR_RESOURCE_NOTINIT 11814 Storage resource not allocated
NETDEV_E_DEV_MAX 11999 Max error code of device module

4.29.8 Error Code of Organization Management Module

Code Value Meaning


Number of organizations reached the
NETDEV_E_ORG_MAX_NUM 12000
upper limit
Number of organization levels reached
NETDEV_E_ORG_MAX_LEVEL 12001
the upper limit
Cannot delete an organization
NETDEV_E_ORG_RESOURCE_EXIST 12002
containing resources
NETDEV_E_ORG_EXIST 12003 Organization already exists
NETDEV_E_ORG_NO_SUCH_ORG 12004 Organization does not exist
NETDEV_E_ORG_IS_ROOT 12005 Cannot delete root organization
NETDEV_E_ORG_NO_SUCH_PORG 12006 Parent organization does not exist
Cannot delete an organization
NETDEV_E_ORG_SUB_EXIST 12007
containing sub organizations
NETDEV_E_ORG_MAX 12399 Max error code of organization module

4.29.9 Error Code of Video Wall Management Module

Code Value Meaning


Number of windows exceeds upper
NETDEV_E_TVWALL_WND_NUMLIMITED 12400
limit
Number of video walls exceeded upper
NETDEV_E_TVWALL_NUMLIMTED 12401
limit
Number of virtual LEDs exceeds upper
NETDEV_E_TVWALL_LED_NUMLIMTED 12402
limit
Number of lines in virtual LED
NETDEV_E_TVWALL_LED_LINELIMTED 12403
exceeds upper limit
Number of scenes on video wall
NETDEV_E_TVWALL_SCENE_OVER_LIMIT 12404
exceeds upper limit
743 / 767
Network Device SDK (Windows) User Manual
Number of background images that can
NETDEV_E_TVWALL_BASEPIC_NUMLIMITED 12405
be saved exceeds upper limit
Number of background images that can
NETDEV_E_TVWALL_BASEPIC_SCENELIMITED 12406 be bound to a scene exceeds upper
limit
Target position exceeds decoding
NETDEV_E_TVWALL_DECODE_OUTRANGE 12407
capability
NETDEV_E_TVWALL_WND_OUTRANGE 12408 Window size exceeds upper limit
Window/roaming position out of
NETDEV_E_TVWALL_WND_RANGELIMITED 12409
range
Number of scrolling virtual LEDs
NETDEV_E_TVWALL_SCROLL_LED_NUMLIMITED 12410
exceeds upper limit
NETDEV_E_TVWALL_WND_LOCKED 12430 Current window is locked
NETDEV_E_TVWALL_LED_NOTEXIST 12431 Virtual LED does not exist
NETDEV_E_TVWALL_SEQ_EXISTD 12432 Sequence already exists
NETDEV_E_TVWALL_WND_NOTEXIST 12433 Window does not exist
NETDEV_E_TVWALL_WND_EXIST 12434 Window already exists
NETDEV_E_TVWALL_SPILT_NOTEXIST 12435 Split window does not exist
NETDEV_E_TVWALL_WND_NOSPILT 12436 Window cannot split
Decoding channel is in use by other
NETDEV_E_TVWALL_CHANNEL_UESED 12437
video wall
NETDEV_E_TVWALL_WINDEXIST 12438 Window exists on video wall
NETDEV_E_TVWALL_NOTEXIST 12439 Video wall info does not exist
NETDEV_E_TVWALL_SPLIT_INFOERR 12440 Incorrect split type
NETDEV_E_TVWALL_CHANNEL_NUMERR 12411 Incorrect channel number
NETDEV_E_TVWALL_ENC_ERR 12442 Stream not ready
Number of windows per VO exceeds
NETDEV_E_TVWALL_PERSCREEN_NUMLIMITED 12443
upper limit
NETDEV_E_TVWALL_MAX 12799 Max error code of video wall module

4.29.10 Network Related Error Code

Code Value Meaning


NETDEV_E_IPADDR_CONFLICT 12800 IP address conflict
NETDEV_E_UPNP_PORT_DISCARD 12801 Mapping port has been discarded
NETDEV_E_UPNP_PORT_EMPLOY 12802 Port is already in use
NETDEV_E_SET_VMP_PORT_FAILED 12803 Failed to set VMP port
NETDEV_E_SET_MEDIA_PORT_FAILED 12804 Failed to set media port
NETDEV_E_SET_RTSP_PORT_FAILED 12805 Failed to set RTSP port
NETDEV_E_SET_ONVIF_PORT_FAILED 12806 Failed to set ONVIF port
NETDEV_E_SET_HTTPS_PORT_FAILED 12807 Failed to set HTTPS port
NETDEV_E_SET_HTTP_PORT_FAILED 12808 Failed to set HTTP port
NETDEV_E_TEST_EMAIL 12809 Failed to send test email
NETDEV_E_DDNS_INIT 12810 Initialize defaults

744 / 767
Network Device SDK (Windows) User Manual
NETDEV_E_DDNS_GOOD 12811 Update completed
Update completed but IP does not
NETDEV_E_DDNS_NOCHG 12812
change
NETDEV_E_DDNS_BADAUTH 12813 Incorrect user password or password
Account-related error. An option
NETDEV_E_DDNS_DONATOR 12814 available only to credited users
(such as offline URL)
NETDEV_E_DDNS_NOTFQ 12815 Invalid host name format
NETDEV_E_DDNS_NOHOST 12816 Host name account does not exist
Request immediate update for more
NETDEV_E_DDNS_NUMHOST 12817
than 20 hosts
NETDEV_E_DDNS_ABUSE 12818 Host name is banned for overuse.
Invalid format of HTTP request sent
NETDEV_E_DDNS_BADAGENT 12819
by agent
Indicates error in HTTP request
NETDEV_E_DDNS_GOOD_127 12820 specification unless the client wants
to update 127.0.0.1
NETDEV_E_DDNS_DNSERR 12821 DNS error. Please contact support
Being processed by service
NETDEV_E_DDNS_911 12822
maintenance
NETDEV_E_DDNS_REQ 12823 Failed to send DDNS request
NETDEV_E_DDNS_CHECK_KEY 12824 Incorrect verification code
NETDEV_E_DDNS_BAD_NAME_FORMAT 12825 Invalid domain name format
NETDEV_E_DDNS_DOMAIN_CONFLICT 12826 Conflicting domain name
Not returned by DDNS server, only used
NETDEV_E_DDNS_CLOSE 12827
to close DDNS record status
NETDEV_E_CREATE_CERT_FAILD 12828 Failed to generate certificate file
NETDEV_E_GET_CERT_FAILD 12829 Uploaded certificate file is invalid
Incorrect username or password for
NETDEV_E_TEST_EMAIL_CHECKSERVER_INFO 12830
authentication server
Failed to send mail. Please check
NETDEV_E_TEST_EMAIL_COMM 12831
network and email configurations.
NETDEV_E_TEST_EMAIL_TIMEOUT 12832 Email sending timeout
The cloud account is already logged
NETDEV_E_CLOUD_REPEAT_USER 12833
in
NETDEV_E_CLOUD_DEV_ADD_FAIL 12834 Failed to add cloud device info
NETDEV_E_CLOUD_ORG_NULL 12835 Empty cloud organization info
Failed to get cloud info. Please check
NETDEV_E_GET_CLOUD_ORG 12836
network configurations
NETDEV_E_NO_SUCH_CLOUD_USER 12837 Cloud account does not exist
NETDEV_E_NET_MAX 13199 Max error code of network module

745 / 767
Network Device SDK (Windows) User Manual

5. Definition of Product Related Interfaces

5.1 Common Interfaces

Function Interface
SDK initialization NETDEV_Init
SDK cleanup NETDEV_Cleanup
Set log size and quantity NETDEV_ConfigLogFile
Set log path NETDEV_SetLogPath
Set the path to write to logs NETDEV_SetWriteLogFlag
Get SDK version NETDEV_GetSDKVersion
Get interface error code NETDEV_GetLastError
Register the callback function to receive NETDEV_SetExceptionCallBack
exceptions
Set the maximum number of decoding NETDEV_SetMaxDecChlNum
channels
Set keep-alive interval and times NETDEV_SetConnectTime
Set receiving timeout NETDEV_SetRevTimeOut
Register the callback function to discover NETDEV_SetDiscoveryCallBack
devices
Search device NETDEV_Discovery
Log in to device NETDEV_Login_V30
Log out of device NETDEV_Logout
Generate a keyframe dynamically NETDEV_MakeKeyFrame
Start live view NETDEV_RealPlay
Stop live view NETDEV_StopRealPlay
Start local recording NETDEV_SaveRealData
Stop local recording NETDEV_StopSaveRealData
Get live video URL NETDEV_GetStreamUrl
Start live video by URL NETDEV_FastRealPlayByUrl
Search recording file list NETDEV_FindFile
Get file info one by one NETDEV_FindNextFile
Close recording file search NETDEV_FindClose
LAPI alarm subscription NETDEV_SubscibeLapiAlarm
Cancel LAPI alarm subscription NETDEV_UnSubLapiAlarm
Register the callback function to receive NETDEV_SetPlayDataCallBack
raw streams
Register the callback function to receive NETDEV_SetPlayParseCB
assembled live stream data
Register the callback function to receive NETDEV_SetPlayDecodeVideoCB
the decoded video stream data
Register the callback function to receive NETDEV_SetPlayParseAudioCB
746 / 767
Network Device SDK (Windows) User Manual
the assembled audio stream data
Register the callback function to receive NETDEV_SetPlayDecodeAudioCB
the decoded audio stream data
Register the callback function to receive NETDEV_SetPlayDisplayCB
the displayed data
Get bit rate of window NETDEV_GetBitRate
Get frame rate of window NETDEV_GetFrameRate
Get encoding format of window. NETDEV_GetVideoEncodeFmt
Get video resolution. NETDEV_GetResolution
Get packet loss rate of window. NETDEV_GetLostPacketRate
Reset packet loss rate of window NETDEV_ResetLostPacketRate
Set image display scale NETDEV_SetRenderScale
Get image parameters (current image NETDEV_GetVideoEffect
parameters only)
Adjust current image NETDEV_SetVideoEffect
Set digital zoom NETDEV_SetDigitalZoom
Live view snapshot NETDEV_CapturePicture
Set fluency priority NETDEV_SetPictureFluency
Start two-way audio NETDEV_StartVoiceCom
Stop two-way audio NETDEV_StopVoiceCom
Turn on microphone NETDEV_OpenMic
Turn off microphone NETDEV_CloseMic
Adjust microphone volume NETDEV_MicVolumeControl
Get microphone volume NETDEV_GetMicVolume
Get mute status NETDEV_GetMuteStatus
Set mute status NETDEV_SetMuteStatus
Turn on sound NETDEV_OpenSound
Adjust speaker volume NETDEV_SoundVolumeControl
Get speaker volume NETDEV_GetSoundVolume
Turn off sound NETDEV_CloseSound
Star audio data input service NETDEV_StartInputVoiceSrv
Stop audio data input service NETDEV_StopInputVoiceSrv
Input audio data NETDEV_InputVoiceData
Register the callback function to receive NETDEV_SetParseVoiceDataCB
parsed audio data
Play recording file by time NETDEV_PlayBackByTime
Control playback status NETDEV_PlayBackControl
Stop playback NETDEV_StopPlayBack
Download recording file by time NETDEV_GetFileByTime
Stop downloading recording file NETDEV_StopGetFile
Open local file NETDEV_OpenMediaFile
Play local file NETDEV_StartPlayMediaFile
Stop playing local file NETDEV_StopPlayMediaFile
Get total duration of media file NETDEV_GetMediaFileTime
747 / 767
Network Device SDK (Windows) User Manual
Perform PTZ control (live view not NETDEV_PTZControl_Other
started)
Get preset position list NETDEV_GetPTZPresetList
Operate presets (no need to start preview) NETDEV_PTZPreset_Other
Get preset patrol route NETDEV_PTZGetCruise
Operate preset patrol (no need to start NETDEV_PTZCruise_Other
preview)
Get recorded patrol route NETDEV_PTZGetTrackCruise
Operate recorded patrol (no need to start NETDEV_PTZTrackCruise
preview)
Drag to zoom in/out (no need to start NETDEV_PTZSelZoomIn_Other
preview)
3D positioning (no need to start preview) NETDEV_PTZ3DPosition_Other
Add person library info NETDEV_CreatePersonLibInfo
Modify person library info NETDEV_ModifyPersonLibInfo
Search all the created person library NETDEV_FindPersonLibList
information.
Get person library info one by one NETDEV_FindNextPersonLibInfo
Stop searching face library and release NETDEV_FindClosePersonLibList
resource
Delete specified person library NETDEV_DeletePersonLibInfo
Add specified person info NETDEV_AddPersonInfo
Modify specified person info NETDEV_ModifyPersonInfo
Delete specified person info NETDEV_DeletePersonInfo
Search all face monitoring tasks NETDEV_FindPersonMonitorList
Get monitoring task info one by one NETDEV_FindNextPersonMonitorInfo
Stop searching monitoring task and release NETDEV_FindClosePersonMonitorList
resource
Add a single face monitoring task NETDEV_AddPersonMonitorInfo
Delete a single face monitoring task NETDEV_DeletePersonMonitorInfo
Get info about a single face monitoring NETDEV_GetPersonMonitorRuleInfo
task
Set a single face monitoring task NETDEV_SetPersonMonitorRuleInfo
Delete face monitoring tasks in batches NETDEV_BatchDeletePersonMonitorInfo
Ge capacity info of all person libraries NETDEV_GetPersonLibCapacity
Search person info with criteria NETDEV_FindPersonInfoList
Get person info one by one NETDEV_FindNextPersonInfo
Stop searching person info and release NETDEV_FindClosePersonInfoList
resource
Register the callback function to receive NETDEV_SetPersonAlarmCallBack
face recognition alarm
Register the callback function to receive NETDEV_SetStructAlarmCallBack
structured alarm

748 / 767
Network Device SDK (Windows) User Manual

5.2 Network Camera

Function Interface
Get video channel list NETDEV_QueryVideoChlDetailList
Get video channel list NETDEV_QueryVideoChlDetailListEx
Start live view NETDEV_RealPlay
Stop live view NETDEV_StopRealPlay
Register the callback function to receive NETDEV_SetPlayDataCallBack
raw streams
Register the callback function to receive NETDEV_SetPlayParseCB
assembled live stream data
Register the callback function to receive NETDEV_SetPlayDecodeVideoCB
the decoded video stream data
Register the callback function to receive NETDEV_SetPlayParseAudioCB
the assembled audio stream data
Register the callback function to receive NETDEV_SetPlayDecodeAudioCB
the decoded audio stream data
Register the stream callback function to NETDEV_SetPlayDisplayCB
set the callback of displayed data
Get bit rate of window NETDEV_GetBitRate
Get frame rate of window NETDEV_GetFrameRate
Get encoding format of window NETDEV_GetVideoEncodeFmt
Get video resolution NETDEV_GetResolution
Get packet loss rate of window NETDEV_GetLostPacketRate
Reset packet loss rate of window NETDEV_ResetLostPacketRate
Set image display scale NETDEV_SetRenderScale
Get image parameters (current image NETDEV_GetVideoEffect
parameters only)
Adjust current image NETDEV_SetVideoEffect
Set digital zoom NETDEV_SetDigitalZoom
Live view snapshot NETDEV_CapturePicture
Snapshot (not in preview) NETDEV_CaptureNoPreview
Generate a keyframe dynamically NETDEV_MakeKeyFrame
Local recording NETDEV_SaveRealData
Stop local recording NETDEV_StopSaveRealData
Set fluency priority NETDEV_SetPictureFluency
Start two-way audio NETDEV_StartVoiceCom
Stop two-way audio NETDEV_StopVoiceCom
Turn on microphone NETDEV_OpenMic
Turn off microphone NETDEV_CloseMic
Adjust microphone volume NETDEV_MicVolumeControl
Get microphone volume NETDEV_GetMicVolume
Get mute status NETDEV_GetMuteStatus

749 / 767
Network Device SDK (Windows) User Manual
Set mute status NETDEV_SetMuteStatus
Turn on sound NETDEV_OpenSound
Adjust speaker volume NETDEV_SoundVolumeControl
Get speaker volume NETDEV_GetSoundVolume
Turn off sound NETDEV_CloseSound
Star audio data input service NETDEV_StartInputVoiceSrv
Stop audio data input service NETDEV_StopInputVoiceSrv
Input audio data NETDEV_InputVoiceData
Register the callback function to receive NETDEV_SetParseVoiceDataCB
parsed audio data
Search recording files by file type and NETDEV_FindFile
time
Get file info one by one NETDEV_FindNextFile
Stop searching file and release resource NETDEV_FindClose
Play recording file by name NETDEV_PlayBackByName
Play recording file by time NETDEV_PlayBackByTime
Control playback status NETDEV_PlayBackControl
Stop playback NETDEV_StopPlayBack
Download recording file by name NETDEV_GetFileByName
Download recording file by time NETDEV_GetFileByTime
Stop downloading recording file NETDEV_StopGetFile
Open local file NETDEV_OpenMediaFile
Play local file NETDEV_StartPlayMediaFile
Stop playing local file NETDEV_StopPlayMediaFile
Get total duration of media file NETDEV_GetMediaFileTime
Perform PTZ control (live view not NETDEV_PTZControl_Other
started)
Get preset position list NETDEV_GetPTZPresetList
Operate presets (no need to start preview) NETDEV_PTZPreset_Other
Get preset patrol route NETDEV_PTZGetCruise
Operate preset patrol (no need to start NETDEV_PTZCruise_Other
preview)
Get recorded patrol route NETDEV_PTZGetTrackCruise
Operate recorded patrol (no need to start NETDEV_PTZTrackCruise
preview)
Drag to zoom in/out (no need to start NETDEV_PTZSelZoomIn_Other
preview)
3D positioning (no need to start preview) NETDEV_PTZ3DPosition_Other
Get device configuration info NETDEV_GetDevConfig
Set device configuration info NETDEV_SetDevConfig
Change device name NETDEV_ModifyDeviceName
Get mapped port NETDEV_GetUpnpNatState
Set mapped port NETDEV_SetUpnpNatState
Get system time of device NETDEV_GetSystemTimeCfg
750 / 767
Network Device SDK (Windows) User Manual
Set system time of device NETDEV_SetSystemTimeCfg
Restart device NETDEV_Reboot
Restore factory defaults. NETDEV_RestoreConfig
Start manual recording NETDEV_StartManualRecord
Stop manual recording NETDEV_StopManualRecord
Search device alarm by time NETDEV_FindAlarmInfoList
Get alarm info one by one NETDEV_FindNextAlarmInfo
Stop searching alarm and release resource NETDEV_FindCloseAlarmInfo
Get all info of all users NETDEV_GetUserDetailList
Add user info NETDEV_CreateUser
Modify user info NETDEV_ModifyUser
Delete user info NETDEV_DeleteUser
Register the callback function to receive NETDEV_SetPassengerFlowStatisticCallBack
people counting statistics
Register callback function to receive NETDEV_SetFaceSnapshotCallBack
captured face image
Add person library info NETDEV_CreatePersonLibInfo
Modify person library info NETDEV_ModifyPersonLibInfo
Search all person library info NETDEV_FindPersonLibList
Get person library info one by one NETDEV_FindNextPersonLibInfo
Stop searching person library and release NETDEV_FindClosePersonLibList
resource
Delete specified person library NETDEV_DeletePersonLibInfo
Add specified person info NETDEV_AddPersonInfo
Modify specified person info NETDEV_ModifyPersonInfo
Delete specified person info NETDEV_DeletePersonInfo
Search all face monitoring tasks NETDEV_FindPersonMonitorList
Get monitoring task info one by one NETDEV_FindNextPersonMonitorInfo
Stop searching monitoring task and release NETDEV_FindClosePersonMonitorList
resource
Add a single face monitoring task NETDEV_AddPersonMonitorInfo
Delete a single face monitoring task NETDEV_DeletePersonMonitorInfo
Get info about a single face monitoring NETDEV_GetPersonMonitorRuleInfo
task
Set a single face monitoring task NETDEV_SetPersonMonitorRuleInfo
Delete face monitoring tasks in batches NETDEV_BatchDeletePersonMonitorInfo
Get capacity info of all person libraries NETDEV_GetPersonLibCapacity
Search person info with criteria NETDEV_FindPersonInfoList
Get person info one by one NETDEV_FindNextPersonInfo
Stop searching person info and release NETDEV_FindClosePersonInfoList
resource
Register the callback function to receive NETDEV_SetPersonAlarmCallBack
face recognition alarm
Register callback function to receive NETDEV_SetStructAlarmCallBack

751 / 767
Network Device SDK (Windows) User Manual
structured alarm
LAPI alarm subscription NETDEV_SubscibeLapiAlarm
Cancel LAPI alarm subscription NETDEV_UnSubLapiAlarm

5.3 NVR

Function Interface
Get video channel list NETDEV_QueryVideoChlDetailList
Get video channel list NETDEV_QueryVideoChlDetailListEx
Start live view NETDEV_RealPlay
Stop live view NETDEV_StopRealPlay
Register the callback function to receive NETDEV_SetPlayDataCallBack
raw streams
Register the callback function to receive NETDEV_SetPlayParseCB
assembled live stream data
Register the callback function to receive NETDEV_SetPlayDecodeVideoCB
the decoded video stream data
Register the callback function to receive NETDEV_SetPlayParseAudioCB
the assembled audio stream data
Register the callback function to receive NETDEV_SetPlayDecodeAudioCB
the decoded audio stream data
Register the stream callback function to NETDEV_SetPlayDisplayCB
set the callback of displayed data
Get bit rate of window NETDEV_GetBitRate
Get frame rate of window NETDEV_GetFrameRate
Get encoding format of window NETDEV_GetVideoEncodeFmt
Get video resolution NETDEV_GetResolution
Get packet loss rate of window NETDEV_GetLostPacketRate
Reset packet loss rate of window NETDEV_ResetLostPacketRate
Set image display scale NETDEV_SetRenderScale
Get image parameters (current image NETDEV_GetVideoEffect
parameters only)
Adjust current image NETDEV_SetVideoEffect
Set digital zoom NETDEV_SetDigitalZoom
Set fluency priority NETDEV_SetPictureFluency
Start two-way audio NETDEV_StartVoiceCom
Stop two-way audio NETDEV_StopVoiceCom
Turn on microphone NETDEV_OpenMic
Turn off microphone NETDEV_CloseMic
Adjust microphone volume NETDEV_MicVolumeControl
Get microphone volume NETDEV_GetMicVolume
Get mute status NETDEV_GetMuteStatus
Set mute status NETDEV_SetMuteStatus

752 / 767
Network Device SDK (Windows) User Manual
Turn on sound NETDEV_OpenSound
Adjust speaker volume NETDEV_SoundVolumeControl
Get speaker volume NETDEV_GetSoundVolume
Turn off sound NETDEV_CloseSound
Star audio data input service NETDEV_StartInputVoiceSrv
Stop audio data input service NETDEV_StopInputVoiceSrv
Input audio data NETDEV_InputVoiceData
Register the callback function to receive NETDEV_SetParseVoiceDataCB
parsed audio data
Live view snapshot NETDEV_CapturePicture
Snapshot (not in preview) NETDEV_CaptureNoPreview
Generate a keyframe dynamically NETDEV_MakeKeyFrame
Local recording NETDEV_SaveRealData
Stop local recording NETDEV_StopSaveRealData
Search recording files by file type and NETDEV_FindFile
time
Get file info one by one NETDEV_FindNextFile
Stop searching file and release resource NETDEV_FindClose
Play recording file by name NETDEV_PlayBackByName
Play recording file by time NETDEV_PlayBackByTime
Control playback status NETDEV_PlayBackControl
Stop playback NETDEV_StopPlayBack
Download recording file by name NETDEV_GetFileByName
Download recording files by time NETDEV_GetFileByTime
Stop downloading recording file NETDEV_StopGetFile
Open local file NETDEV_OpenMediaFile
Play local file NETDEV_StartPlayMediaFile
Stop playing local file NETDEV_StopPlayMediaFile
Get total duration of media file NETDEV_GetMediaFileTime
Perform PTZ control (live view not NETDEV_PTZControl_Other
started)
Get preset position list NETDEV_GetPTZPresetList
Operate presets (no need to start preview) NETDEV_PTZPreset_Other
Get preset patrol route NETDEV_PTZGetCruise
Operate preset patrol (no need to start NETDEV_PTZCruise_Other
preview)
Get recorded patrol route NETDEV_PTZGetTrackCruise
Operate recorded patrol (no need to start NETDEV_PTZTrackCruise
preview)
Drag to zoom in/out (no need to start NETDEV_PTZSelZoomIn_Other
preview)
3D positioning (no need to start preview) NETDEV_PTZ3DPosition_Other
Get device configuration info NETDEV_GetDevConfig
Set device configuration info NETDEV_SetDevConfig
753 / 767
Network Device SDK (Windows) User Manual
Change device name NETDEV_ModifyDeviceName
Get mapped port NETDEV_GetUpnpNatState
Set mapped port NETDEV_SetUpnpNatState
Get system time of device NETDEV_GetSystemTimeCfg
Set system time of device NETDEV_SetSystemTimeCfg
Restart device NETDEV_Reboot
Restore factory defaults NETDEV_RestoreConfig
Start manual recording NETDEV_StartManualRecord
Stop manual recording NETDEV_StopManualRecord
Get all info of all users NETDEV_GetUserDetailList
Add user info NETDEV_CreateUser
Modify user info NETDEV_ModifyUser
Delete user info NETDEV_DeleteUser
Search log info by log type and time NETDEV_FindLogInfoList
Get log info one by one NETDEV_FindNextLogInfo
Stop searching log and release resource NETDEV_FindCloseLogInfo
Get people counting list NETDEV_FindTrafficStatisticInfoList
Get people counting info one by one NETDEV_FindNextTrafficStatisticInfo
Stop searching and release resource NETDEV_FindCloseTrafficStatisticInfo
Get people counting progress NETDEV_GetTrafficStatisticProgress
Start multi-channel people counting NETDEV_StartMultiTrafficStatistic
Stop multi-channel people counting NETDEV_StopTrafficStatistic
Add person library info NETDEV_CreatePersonLibInfo
Modify person library info NETDEV_ModifyPersonLibInfo
Search all person library info NETDEV_FindPersonLibList
Get person library info one by one NETDEV_FindNextPersonLibInfo
Stop searching person library and release NETDEV_FindClosePersonLibList
resource
Delete specified person library NETDEV_DeletePersonLibInfo
Add specified person info NETDEV_AddPersonInfo
Modify specified person info NETDEV_ModifyPersonInfo
Delete specified person info NETDEV_DeletePersonInfo
Search all face monitoring tasks NETDEV_FindPersonMonitorList
Get monitoring task info one by one NETDEV_FindNextPersonMonitorInfo
Stop searching monitoring task and release NETDEV_FindClosePersonMonitorList
resource
Add a single face monitoring task NETDEV_AddPersonMonitorInfo
Delete a single face monitoring task NETDEV_DeletePersonMonitorInfo
Delete face monitoring tasks in batches NETDEV_BatchDeletePersonMonitorInfo
Get info about a single face monitoring NETDEV_GetPersonMonitorRuleInfo
task
Set a single face monitoring task NETDEV_SetPersonMonitorRuleInfo
Get capacity info of all person libraries NETDEV_GetPersonLibCapacity
Search person info with criteria NETDEV_FindPersonInfoList
754 / 767
Network Device SDK (Windows) User Manual
Get person info one by one NETDEV_FindNextPersonInfo
Stop searching person info and release NETDEV_FindClosePersonInfoList
resource
Register the callback function to receive NETDEV_SetPersonAlarmCallBack
face recognition alarm
Register the callback function to receive NETDEV_SetStructAlarmCallBack
structured alarm
LAPI alarm subscription NETDEV_SubscibeLapiAlarm
Cancel LAPI alarm subscription NETDEV_UnSubLapiAlarm

755 / 767
Network Device SDK (Windows) User Manual

5.4 VMS

756 / 767
Network Device SDK (Windows) User Manual
Function Interface
Get specified organization info NETDEV_GetOrgInfo
Batch add devices NETDEV_BatchAddDevice
Batch delete devices NETDEV_BatchDelDevice
Get device list by device type NETDEV_FindDevList
Get device info one by one NETDEV_FindNextDevInfo
Stop searching device info and release resource NETDEV_FindCloseDevInfo
Get device list by device ID or channel type NETDEV_FindDevChnList
Get device channel info one by one NETDEV_FindNextDevChn
Stop searching device channel info and release NETDEV_FindCloseDevChn
resource
Start live view NETDEV_RealPlay
Stop live view NETDEV_StopRealPlay
Register the callback function to receive raw NETDEV_SetPlayDataCallBack
streams
Register the callback function to receive NETDEV_SetPlayParseCB
assembled live stream data
Register the callback function to receive the NETDEV_SetPlayDecodeVideoCB
decoded video stream data
Register the callback function to receive the NETDEV_SetPlayParseAudioCB
assembled audio stream data
Register the callback function to receive the NETDEV_SetPlayDecodeAudioCB
decoded audio stream data
Register the stream callback function to set the NETDEV_SetPlayDisplayCB
callback of displayed data
Get bit rate of window NETDEV_GetBitRate
Get frame rate of window NETDEV_GetFrameRate
Get encoding format of window NETDEV_GetVideoEncodeFmt
Get video resolution NETDEV_GetResolution
Get packet loss rate of window NETDEV_GetLostPacketRate
Reset packet loss rate of window NETDEV_ResetLostPacketRate
Set image display scale NETDEV_SetRenderScale
Get image parameters (current image parameters NETDEV_GetVideoEffect
only)
Adjust current image NETDEV_SetVideoEffect
Set digital zoom NETDEV_SetDigitalZoom
Set fluency priority NETDEV_SetPictureFluency
Start two-way audio NETDEV_StartVoiceCom
Stop two-way audio NETDEV_StopVoiceCom
Turn on microphone NETDEV_OpenMic
Turn off microphone NETDEV_CloseMic
Adjust microphone volume NETDEV_MicVolumeControl
Get microphone volume NETDEV_GetMicVolume
Get mute status NETDEV_GetMuteStatus

757 / 767
Network Device SDK (Windows) User Manual
Set mute status NETDEV_SetMuteStatus
Turn on sound NETDEV_OpenSound
Adjust speaker volume NETDEV_SoundVolumeControl
Get speaker volume NETDEV_GetSoundVolume
Turn off sound NETDEV_CloseSound
Star audio data input service NETDEV_StartInputVoiceSrv
Stop audio data input service NETDEV_StopInputVoiceSrv
Input audio data NETDEV_InputVoiceData
Register the callback function to receive parsed NETDEV_SetParseVoiceDataCB
audio data
Get channel status in audio broadcast group NETDEV_GetVoiceBroadcastChlStatus
Add audio broadcast group NETDEV_CreateVoiceBroadcastGroup
Modify audio broadcast group NETDEV_ModifyVoiceBroadcastGroup
Start audio broadcast NETDEV_StartVoiceBroadcast
Stop audio broadcast NETDEV_StopVoiceBroadcast
Live view snapshot NETDEV_CapturePicture
Generate a keyframe dynamically NETDEV_MakeKeyFrame
Local recording NETDEV_SaveRealData
Stop local recording NETDEV_StopSaveRealData
Search recording files by file type and time NETDEV_FindFile
Get file info one by one NETDEV_FindNextFile
Stop searching file and release resource NETDEV_FindClose
Play recording file by time NETDEV_PlayBackByTime
Control playback status NETDEV_PlayBackControl
Stop playback NETDEV_StopPlayBack
Download recording file by time NETDEV_GetFileByTime
Stop downloading recording file NETDEV_StopGetFile
Open local file NETDEV_OpenMediaFile
Play local file NETDEV_StartPlayMediaFile
Stop playing local file NETDEV_StopPlayMediaFile
Get total duration of media file NETDEV_GetMediaFileTime
User logs in to a cloud account NETDEV_LoginCloud
Perform PTZ control (live view not started) NETDEV_PTZControl_Other
Get preset position list NETDEV_GetPTZPresetList
Operate presets (no need to start preview) NETDEV_PTZPreset_Other
Get preset patrol route NETDEV_PTZGetCruise
Operate preset patrol (no need to start preview) NETDEV_PTZCruise_Other
Get recorded patrol route NETDEV_PTZGetTrackCruise_V30
Operate recorded patrol (no need to start preview) NETDEV_PTZTrackCruise_V30
Drag to zoom in/out (no need to start preview) NETDEV_PTZSelZoomIn_Other
3D positioning (no need to start preview) NETDEV_PTZ3DPosition_Other
Get people counting list NETDEV_FindTrafficStatisticInfoList
Get people counting info one by one NETDEV_FindNextTrafficStatisticInfo
Stop searching and release resource NETDEV_FindCloseTrafficStatisticInfo
758 / 767
Network Device SDK (Windows) User Manual
Get people counting progress NETDEV_GetTrafficStatisticProgress
Start multi-channel people counting NETDEV_StartMultiTrafficStatistic
Stop multi-channel people counting NETDEV_StopTrafficStatistic
Get access control permission group list NETDEV_FindACSPermissionGroupList
Get the next record NETDEV_FindNextACSPermissionGroupInfo
Stop searching records and release resource NETDEV_FindCloseACSPermissionGroupList
Add access control permission group NETDEV_AddACSPersonPermissionGroup
Modify access control permission group NETDEV_ModifyACSPersonPermissionGroup
Delete access control permission group NETDEV_DeleteACSPersonPermissionGroup
Get a single access control permission group NETDEV_GetSinglePermGroupInfo
Sign out visitor NETDEV_ACSPersonSignout
Get permission info of specified person NETDEV_GetACSPersonPermission
Set permission of specified person NETDEV_SetACSPersonPermission
Get entry/exit records NETDEV_FindACSAttendanceLogList
Get the next entry/exit record NETDEV_FindNextACSAttendanceLog
Stop searching entry/exit record and release NETDEV_FindCloseACSAttendanceLogList
resource
Add visitor blocklist NETDEV_AddACSPersonBlackList
Delete visitor blocklist NETDEV_DeleteACSPersonBlackList
Modify visitor blocklist NETDEV_ModifyACSPersonBlackList
Get specified visitor blocklist NETDEV_GetACSPersonBlackList
Get visitor blocklist list NETDEV_FindACSPersonBlackList
Get the next record NETDEV_FindNextACSPersonBlackListInfo
Stop searching records and release resource NETDEV_FindCloseACSPersonBlackList
Access channel control NETDEV_DoorCtrl
Control doors in batches NETDEV_DoorBatchCtrl
Access person control NETDEV_ACSPersonCtrl
Add person info in batches NETDEV_AddACSPersonList
Delete access control person info in batches NETDEV_DeleteACSPersonList
Get access control person list NETDEV_FindACSPersonList
Get the next access control person info NETDEV_FindNextACSPersonInfo
Stop searching access control person list and NETDEV_FindCloseACSPersonInfo
release resource
Get info about access control card bound with NETDEV_GetACSPersonCardInfo
specified person
Bind access control card with specified person NETDEV_AddACSPersonCardInfo
(i.e. open card)
Delete access control card bound with specified NETDEV_DeleteACSPersonCardInfo
person (i.e. return card)
Get visitor record NETDEV_FindACSVisitLogList
Get the next visitor record NETDEV_FindNextACSVisitLog
Stop searching visitor record and release resource NETDEV_FindCloseACSVisitLog
Callback function for receiving alarm messages NETDEV_SetAlarmFGCallBack
Configure third-party payment order NETDEV_IssuePayOrder
759 / 767
Network Device SDK (Windows) User Manual
Register callback function to receive parking lot NETDEV_SetParkEventCallBack
event
Get parking lot info in batches NETDEV_GetParkInfoList
Get all entrance and exit info of a parking lot NETDEV_GetParkEntranceInfoList
Get all entrance and exit lane info of a parking NETDEV_GetParkLaneInfoList
lot
Add person library info NETDEV_CreatePersonLibInfo
Modify person library info NETDEV_ModifyPersonLibInfo
Search all person library info NETDEV_FindPersonLibList
Get person library info one by one NETDEV_FindNextPersonLibInfo
Stop searching face library and release resource NETDEV_FindClosePersonLibList
Delete specified person library NETDEV_DeletePersonLibInfo
Add specified person info NETDEV_AddPersonInfo
Modify specified person info NETDEV_ModifyPersonInfo
Batch delete person info NETDEV_DeletePersonInfoList
Search all face monitoring tasks NETDEV_FindPersonMonitorList
Get monitoring task info one by one NETDEV_FindNextPersonMonitorInfo
Stop searching monitoring task and release NETDEV_FindClosePersonMonitorList
resource
Add a single face monitoring task NETDEV_AddPersonMonitorInfo
Delete a single face monitoring task NETDEV_DeletePersonMonitorInfo
Get info about a single face monitoring task NETDEV_GetPersonMonitorRuleInfo
Set a single face monitoring task NETDEV_SetPersonMonitorRuleInfo
Get capacity info of all person libraries NETDEV_GetPersonLibCapacity
Search person info with criteria NETDEV_FindPersonInfoList
Get person info one by one NETDEV_FindNextPersonInfo
Stop searching person info and release resource NETDEV_FindClosePersonInfoList
Register the callback function to receive face NETDEV_SetPersonAlarmCallBack
recognition alarm
Register the callback function to receive NETDEV_SetStructAlarmCallBack
structured alarm info
Delete face monitoring tasks in batches NETDEV_BatchDeletePersonMonitorInfo
Get face recognition record NETDEV_FindFaceRecordDetailList
Get face recognition record info one by one NETDEV_FindNextFaceRecordDetail
Stop searching face recognition record and release NETDEV_FindCloseFaceRecordDetail
resource
Get face image info of a single face recognition NETDEV_GetFaceRecordImageInfo
record
Get system image info NETDEV_GetSystemPicture
Register callback function to receive plate NETDEV_SetVehicleAlarmCallBack
recognition alarm
Search detailed vehicle member info with criteria NETDEV_FindVehicleMemberDetailList
Get vehicle member info one by one NETDEV_FindNextVehicleMemberDetail
Stop searching vehicle member and release resource NETDEV_FindCloseVehicleMemberDetail

760 / 767
Network Device SDK (Windows) User Manual
Add vehicle members in batches NETDEV_AddVehicleMemberList
Delete vehicle members in batches NETDEV_DelVehicleMemberList
Delete specified vehicle member NETDEV_DelVehicleInfo
Get detailed info about a single vehicle member NETDEV_GetVehicleMemberInfo
Modify vehicle info in specified vehicle library NETDEV_ModifyVehicleMemberInfo
Get all monitoring tasks of vehicle recognition NETDEV_FindVehicleMonitorList
Get vehicle monitoring task info one by one NETDEV_FindNextVehicleMonitorInfo
Stop searching vehicle monitoring task and release NETDEV_FindCloseVehicleMonitorList
resource
Add a single vehicle monitoring task NETDEV_AddVehicleMonitorInfo
Delete vehicle monitoring tasks in batches NETDEV_DeleteVehicleMonitorInfo
Get info about a single vehicle monitoring task NETDEV_GetVehicleMonitorInfo
Set a single vehicle monitoring task NETDEV_SetVehicleMonitorInfo
Search detailed vehicle recognition record info NETDEV_FindVehicleRecordInfoList
with criteria
Get vehicle recognition record info one by one NETDEV_FindNextVehicleRecordInfo
Stop searching vehicle recognition record and NETDEV_FindCloseVehicleRecordList
release resource
Get vehicle image info of a single vehicle NETDEV_GetVehicleRecordImageInfo
recognition record
Assign vehicle members in batches to specified NETDEV_AddVehicleLibMember
vehicle library
Remove vehicle members in batches from specified NETDEV_DeleteVehicleLibMember
vehicle library
Get all vehicle library lists NETDEV_FindVehicleLibList
Get vehicle library info one by one NETDEV_FindNextVehicleLibInfo
Stop searching vehicle library and release NETDEV_FindCloseVehicleLibList
resource
Add a single vehicle library NETDEV_AddVehicleLibInfo
Modify specified vehicle library NETDEV_ModifyVehicleLibInfo
Delete specified vehicle library NETDEV_DeleteVehicleLibInfo
Add time template NETDEV_AddTimeTemplate
Delete specified time templates in batches NETDEV_BatchDeleteTimeTemplate
Modify specified time template NETDEV_ModifyTimeTemplate
Get info about specified time template NETDEV_GetTimeTemplate
Get time templates of specified template type in NETDEV_FindTimeTemplateByTypeList
batches
Get time template info by type one by one NETDEV_FindNextTimeTemplateByTypeInfo
Stop searching time template by type and release NETDEV_FindCloseTimeTemplateByTypeList
resource
Subscribe to VCA events NETDEV_SubscribeSmart
Cancel subscription to VCA events NETDEV_UnsubscribeSmart
LAPI alarm subscription NETDEV_SubscibeLapiAlarm
Cancel LAPI alarm subscription NETDEV_UnSubLapiAlarm

761 / 767
Network Device SDK (Windows) User Manual

6. Help

6.1 Programming Environment Setup

6.1.1 Development and Compilation Environment on Windows

 Directories in the SDK


The SDK contains the following folders:
include: contains the required header files;
lib: contains the required library files;
dll: contains the required dynamic libraries;
doc: contains the SDK User Manual;
demo: contains the MFC and C# source code for the demo;
demo: contains the executable program of demo.
 Set compiler options of the integrated development environment
Take VS2008 as an example. SDK path: C:\NetDEVSDK;
(1) Choose Project > Properties to open the Property page. Choose Property Configuration > C/C++ >
General. Enter C:\NetDEVSDK\include in Additional Include Directories.
(2) Choose Property Configuration > Linker > General. Enter C:\NetDEVSDK\lib in Additional Library
Directories.
(3) Choose Property Configuration > Linker > Input, enter the required library files in Additional
Dependencies.
 NOTE!
Make sure you keep all the dynamic library files, configuration files, and application programs of
the SDK under the same directory. For example, keep all the files under dll in the same directory as
NetDEVSDK.exe.

The name of the exported SDK log is “netdevsdk.log”.


 Dependent Libraries and Header Files

Header file Library file (Windows) Remarks

NetDEVSDK.h NetDEVSDK.lib

6.1.2 Development and Compilation Environment on Linux

 Directories in the SDK


include: contains the required header files;
lib: contains the required Linux library;
doc: contains the SDK User Manual;
demo: contains the demo source code
 Configure environment variables

762 / 767
Network Device SDK (Windows) User Manual
(1) Use the cd command to access the lib directory, copy the path of the lib directory;
(2) Add the lib directory path to the vi /etc/ld.so.conf file, save and exit.
(3) Execute the ldconfig command to make the environment variable take effect;

6.1.3 Development and Compilation Environment on Android

 Directories in the SDK


include: contains the required header files;
lib: contains the required Android libraries (32-bit and 64-bit);
doc: contains the SDK User Manual;
demo: contains the source code of Android Demo;
 Demo configuration
(1)Configure Build.gradle(Project:netdevsdk), and change the gradle version to the user’s version
number.

(2)Configure Build.gradle(Module:app), and change the SDK version to the user’s version number.

(3)Configure local.properties, change the SDK path to the user’s local path.

763 / 767
Network Device SDK (Windows) User Manual
6.1.4 Development and Compilation Environment on iOS

 Directories in the SDK


include: contains the required header files;
lib: contains the required Linux library;
doc: contains the SDK User Manual;
demo: contains the demo source code
 Xcode configuration
(1) Add SDK library and other dependent libraries. Copy the lib files extracted from the package
to the project path, and add the SDK static library files in Link Binary With Libraries of
Build Phases. Add dependent files for iPhone SDK. SDK static library files: all the .a files
in the lib directory. Other files: libiconv.tbd, libstdc++.tbd, libz.tbd, libc++.tbd.
(2) Configure build settings. Set Enable Bitcode to NO, set Enable Testability to NO;

6.2 Precautions

 Interfaces and structs suffixed with _V30 are preferred.


V30 has optimized functions and structs to provide better compatibility. It is recommended to use
the latest version of functions and structs.
 To update the SDK version, you must update all the library files and header files.
 Unless otherwise stated, all interfaces must be called after the SDK is initialized.
 When capturing and downloading images, the directory where the path of the incoming file is
located must exist; otherwise, the call will fail.
 Before using the NETPluginSDK, you must install it as administrator.

6.3 FAQ

(1) What is the SDK login port?


 Same as the web service port of the device. For example, if the web service port is 80, then the
default SDK port is also 80.
(2) How to tell if playback/download has ended?
 When the upper layer calls SDK interfaces for playback/download, the start and end times will be
given.
 Call SDK interfaces to get the current playback/download timestamp.
 Compare the end time passed in with the current timestamp. The download has ended if the current
timestamp is greater than or equal to the end time passed in.
(3) Does the SDK support connection of third-party devices?
 No.
(4) Streaming by SDK succeeded in LAN; after port mapping to WAN, streaming by Web succeeded and
login by SDK also succeeded, but why streaming by SDK failed?
 Differences between streaming by Web and SDK?
 SDK uses the HTTP port for login and uses the RTSP port for streaming.
 Streaming by SDK failed because the RTSP port is blocked. Use commands to test the HTTP and RSTP
ports separately to check port mapping. For example, the figure below shows the port is

764 / 767
Network Device SDK (Windows) User Manual
disconnected: telnet 192.168.3.129 50554

(5) Blurry image or green screen is displayed after streaming by SDK succeeded in Windows.
 Probably it is because the graphics card driver is too old or the DirectX function is disabled.
Use the DirectX diagnostic tool (press Win+R and run dxdiag). The normal display is as shown below.

 Common solution: Upgrade the graphics card driver.


(6) Why face images are not received by registering the NETDEV_SetFaceSnapshotCallBack callback
for the camera's face capturing function?
 Enable the face capture function in IE.
 Disable firewall on your computer.
 Configure the PC address and port for the smart server (SDK listens to port 54000 by default),
as shown below.

(7) Failed to get snapshots using the snapshot interface (non-preview).


 This function needs the camera to support it. On the camera's web interface, check whether

765 / 767
Network Device SDK (Windows) User Manual
snapshot can be enabled, as shown below:

(8) Failed to receive alarms using the SDK.


 Disable firewall on your computer.
 On the device's web interface, check if the logs contain alarm records to make sure the alarms
have actually been triggered. For example, check alarm records on the NVR:

(9) Link errors are reported during compile time when integrating with SDK libraries on Linux.
 In the /etc/ld.so.conf file, add the absolute path to the SDK library.
 Run the ldconfig command.
(10) The application cannot start when I run MFC Demo. Is it because a side-by-side configuration
error?
 You need to install VC2800 runtime library. MFC operation needs the system environment. Download
the corresponding vcredit from the Internet and install it.
(11) Cannot load C# demo source code into SDK libraries during compile time and runtime.
 Check whether all the SDK DLLs are included in the program's output path.
 Check whether project configuration is correct, whether it matches the bit number of the downloaded
version. The figure below shows the settings of the 32-bit version.

766 / 767
Network Device SDK (Windows) User Manual

(12) Chinese characters are displayed incorrectly in the data obtained through the SDK.
 Strings obtained through the SDK are all in UTF8 format, so Chinese characters need to be converted
to display properly.
(13) Q1: Things that you need to know before using NETDEV_SetDevConfig () to configure parameters.
 NETDEV_SetDevConfig () requires the input to be a struct with complete assignment, otherwise,
errors are likely to occur. To avoid this problem, before you call NETDEV_SetDevConfig (), call
NETDEV_GetDevConfig () to assign an initial value to the struct that needs modification, then modify
the corresponding parameter, and then call NETDEV_SetDevConfig ().
(14) What is audio data forwarding? What is it mainly used for?
 Audio data forwarding is the network part function of two-way audio, that is, the part of receiving
and sending audio data. It can call back device audio and can also call NETDEV_InputVoiceData () to
send audio data to the device.
 The source of audio data is more flexible than two-way audio and can be collected by users or
from audio files.
(15) Can the callback function of live view and two-way audio be set to NULL?
 Yes, in that case, live view and two-way audio are still normal, but users cannot handle data by
themselves.
(16) Functions of audio broadcast?
 Refers to sending audio data to multiple devices simultaneously but not processing audio data
from the devices. If a device has only one audio input interface, then only one of following can take
place at the same time: audio broadcast, two-way audio, and audio forwarding.
(17) Interfaces that must be called for live view and the correct sequence of calling?
 Correct sequence: NETDEV_Init——> NETDEV_Login_V30——> NETDEV_RealPlay——>
NETDEV_StopRealPlay——> NETDEV_Logout ——> NETDEV_Cleanup.

767 / 767

You might also like