Я не очень знаком с python. Я получаю данные из видеонаблюдения.Для этого видеонаблюдения создан файл DLL, и пользователь может извлечь из него данные.Мне удалось написать программное обеспечение на С ++, чтобы запустить его, однако я не смог преобразовать код в python.Я уверен, что мой файл python должен сначала связаться с этим файлом dll, потому что я могу войти в систему видеонаблюдения, но не могу извлечь данные.Спасибо!
Файл C ++:
case COMM_UPLOAD_PLATE_RESULT: {
NET_DVR_PLATE_RESULT struPlateResult = { 0 };
memcpy(&struPlateResult, pAlarmInfo, sizeof(struPlateResult));
printf("Number: %s\n", struPlateResult.struPlateInfo.sLicense);
}
Файл dll:
typedef struct tagNET_DVR_PLATE_RESULT
{
DWORD dwSize;
BYTE byResultType;
BYTE byChanIndex;
WORD wAlarmRecordID;
DWORD dwRelativeTime;
BYTE byAbsTime[32];
DWORD dwPicLen;
DWORD dwPicPlateLen;
DWORD dwVideoLen;
BYTE byTrafficLight;
BYTE byPicNum;
BYTE byDriveChan;
BYTE byVehicleType;
DWORD dwBinPicLen;
DWORD dwCarPicLen;
DWORD dwFarCarPicLen;
BYTE *pBuffer3;
BYTE *pBuffer4;
BYTE *pBuffer5;
BYTE byRelaLaneDirectionType;
BYTE byCarDirectionType;
BYTE byRes3[6];
NET_DVR_PLATE_INFO struPlateInfo;
NET_DVR_VEHICLE_INFO struVehicleInfo;
BYTE *pBuffer1;
BYTE *pBuffer2;
}NET_DVR_PLATE_RESULT, *LPNET_DVR_PLATE_RESULT;
typedef struct tagNET_DVR_PLATE_INFO
{
BYTE byPlateType;
BYTE byColor;
BYTE byBright;
BYTE byLicenseLen;
BYTE byEntireBelieve;
BYTE byRegion;
BYTE byCountry;
BYTE byArea;
BYTE byPlateSize;
BYTE byRes[15];
char sPlateCategory[MAX_CATEGORY_LEN/*8*/];
DWORD dwXmlLen;
char* pXmlBuf;
NET_VCA_RECT struPlateRect;
char sLicense[MAX_LICENSE_LEN];
BYTE byBelieve[MAX_LICENSE_LEN];
}NET_DVR_PLATE_INFO, *LPNET_DVR_PLATE_INFO;