*LPNET_DVR_TIME;这是什么
typedef struct
{
DWORD dwYear;
DWORD dwMonth;
DWORD dwDay;
DWORD dwHour;
DWORD dwMinute;
DWORD dwSecond;
}NET_DVR_TIME, *LPNET_DVR_TIME;
### `NET_DVR_TIME`
结构体本身的**类型名**,代表这个时间结构体。
```cpp
NET_DVR_TIME t; // 直接定义一个结构体变量
```
### `*LPNET_DVR_TIME`
`LPNET_DVR_TIME` 是**`NET_DVR_TIME*` 的别名(指针类型)**
- LP = Long Pointer,老式Windows命名,长指针
- `LPNET_DVR_TIME` = `NET_DVR_TIME *`
等价拆开写:
```cpp
typedef struct { ... } NET_DVR_TIME;
typedef NET_DVR_TIME * LPNET_DVR_TIME;
```
### 使用示例
```cpp
NET_DVR_TIME stTime;
LPNET_DVR_TIME pTime = &stTime; // LPNET_DVR_TIME 就是结构体指针
// 等价写法:
// NET_DVR_TIME* pTime = &stTime;
```
> 这是海康SDK的经典命名风格:
> - LPxxx 代表xxx结构体的指针
> 比如:`LPNET_DVR_USER_LOGIN_INFO`、`LPNET_DVR_DEVICECFG`
### 一句话总结
`LPNET_DVR_TIME` = **NET_DVR_TIME结构体的指针类型**,`*LPNET_DVR_TIME` 不要单独看,是typedef一次性同时定义结构体+结构体指针。
> 注意区分:
> - `NET_DVR_TIME` → 结构体本体
> - `LPNET_DVR_TIME` → `NET_DVR_TIME *` 结构体指针