liujie
2026-08-11 323764c813a09cd56cdab780155ef659dbe0b364
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package com.ruoyi.web.integration.dahua;
 
/**
 * 大华 NetSDK V3.061(Win64/Linux64)门禁相关结构体布局。
 */
final class DahuaSdkLayout {
 
    static final int LOGIN_INPUT_SIZE = 288;
    static final int LOGIN_OUTPUT_SIZE = 240;
    static final int LOGIN_OUTPUT_ERROR_OFFSET = 104;
 
    static final int USER_INFO_SIZE = 6840;
    static final int USER_ID_OFFSET = 0;
    static final int USER_ID_LENGTH = 32;
    static final int USER_NAME_OFFSET = 32;
    static final int USER_NAME_LENGTH = 32;
    static final int USER_TYPE_OFFSET = 64;
    static final int USER_STATUS_OFFSET = 68;
    static final int USER_TIME_OFFSET = 72;
    static final int CITIZEN_ID_OFFSET = 76;
    static final int CITIZEN_ID_LENGTH = 32;
    static final int DOOR_NUM_OFFSET = 172;
    static final int DOORS_OFFSET = 176;
    static final int TIME_SECTION_NUM_OFFSET = 304;
    static final int TIME_SECTION_OFFSET = 308;
    static final int VALID_BEGIN_TIME_OFFSET = 952;
    static final int VALID_END_TIME_OFFSET = 976;
 
    static final int FACE_INFO_SIZE = 43288;
    static final int FACE_PHOTO_NUM_OFFSET = 41076;
    static final int FACE_PHOTO_LENGTH_OFFSET = 41080;
    static final int FACE_PHOTO_POINTER_OFFSET = 41120;
 
    // 旧版 CLIENT_FaceInfoOpreate 接口在 DH-ASI7213H 固件上可用,Win/Linux x64 布局一致。
    static final int LEGACY_FACE_INPUT_SIZE = 42256;
    static final int LEGACY_FACE_USER_ID_OFFSET = 4;
    static final int LEGACY_FACE_PHOTO_NUM_OFFSET = 41728;
    static final int LEGACY_FACE_PHOTO_LENGTH_OFFSET = 41732;
    static final int LEGACY_FACE_PHOTO_POINTER_OFFSET = 41752;
    static final int LEGACY_FACE_OUTPUT_SIZE = 4;
 
    static final int SIMPLE_INPUT_SIZE = 16;
    static final int SIMPLE_OUTPUT_SIZE = 16;
    static final int FACE_INSERT_OUTPUT_SIZE = 6160;
    static final int REMOVE_INPUT_SIZE = 16012;
    static final int REMOVE_USER_IDS_OFFSET = 8;
 
    static final int USER_OPERATION_INSERT = 0;
    static final int USER_OPERATION_REMOVE = 2;
    static final int FACE_OPERATION_INSERT = 0;
    static final int FACE_OPERATION_UPDATE = 2;
    static final int FACE_OPERATION_REMOVE = 3;
    static final int LEGACY_FACE_OPERATION_INSERT = 0;
    static final int LEGACY_FACE_OPERATION_UPDATE = 2;
 
    static final int FAIL_CODE_NONE = 0;
    static final int FAIL_CODE_NO_RECORD = 16;
    static final int FAIL_CODE_INVALID_USER_ID = 22;
    static final int FAIL_CODE_PHOTO_EXISTS = 24;
    static final int FAIL_CODE_FACE_FEATURE_EXISTS = 28;
 
    static final int MAX_FACE_IMAGE_BYTES = 200 * 1024;
 
    private DahuaSdkLayout() {
    }
}