Python доступ к данным DLL - PullRequest
       5

Python доступ к данным DLL

0 голосов
/ 23 ноября 2018

Я не очень знаком с 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...