Hello Master, I have a task from my college to develop SDK (printer), when i browsed to site i got 3 files: reference.pdf, .h and .dll. I heard a lot of master C++ here so help me please how to use the SDK. please give a little source code in visual C++ in using this SDK (how to call the function) in the below thread i'll post the .h (header file)
This is the header file: Code: typedef void (CALLBACK *ZBRGDIGetSDKVer)(LPINT major, LPINT minor, LPINT engLevel); typedef INT (CALLBACK *ZBRGDICloseGraphics)(HDC hDC, LPINT err); typedef INT (CALLBACK *ZBRGDIInitGraphics)(LPSTR printerName, HDC *hDC, LPINT err); typedef INT (CALLBACK *ZBRGDIInitGraphicsEx)(LPSTR printerName, HDC *hDC, LPSTR jobName, int *jobID, LPINT err); typedef INT (CALLBACK *ZBRGDIInitGraphicsFromPrintDlg)(HDC *hDC, LPINT err); typedef INT (CALLBACK *ZBRGDIPrintGraphics)(HDC hDC, LPINT err); typedef INT (CALLBACK *ZBRGDIPrintGraphicsEx)(HDC hDC, LPINT err); typedef INT (CALLBACK *ZBRGDIStartPage)(HDC hDC, LPINT err); typedef INT (CALLBACK *ZBRGDIEndPage)(HDC hDC, LPINT err); typedef INT (CALLBACK *ZBRGDIClearGraphics)(LPINT err); typedef INT (CALLBACK *ZBRGDIPrintFilePos)(HDC hDC, LPSTR fileName, DWORD position, LPINT err); typedef INT (CALLBACK *ZBRGDIPrintFileRect)(HDC hDC, LPSTR fileName, DWORD x, DWORD y, DWORD width, DWORD sizeY, LPINT err); typedef INT (CALLBACK *ZBRGDIDrawText)(DWORD x, DWORD y, LPSTR text, LPSTR font, DWORD fontSize, DWORD fontStyle, DWORD color, LPINT err); typedef INT (CALLBACK *ZBRGDIDrawTextUnicode)(DWORD x, DWORD y, LPWSTR text, LPWSTR font, DWORD fontSize, DWORD fontStyle, DWORD color, LPINT err); typedef INT (CALLBACK *ZBRGDIDrawTextEx)(DWORD x, DWORD y, INT angle, DWORD alignment, LPSTR text, LPSTR font, DWORD fontSize, DWORD fontStyle, DWORD color, LPINT err); typedef INT (CALLBACK *ZBRGDIDrawTextRect)(DWORD x, DWORD y, DWORD width, DWORD sizeY, DWORD alignment, LPSTR text, LPSTR font, DWORD fontSize, DWORD fontStyle, DWORD color, LPINT err); typedef INT (CALLBACK *ZBRGDIDrawTextRectEx)(DWORD x, DWORD y, DWORD width, DWORD height, INT angle, DWORD alignment, LPSTR text, LPSTR font, DWORD fontSize, DWORD fontStyle, DWORD color, LPINT err); typedef INT (CALLBACK *ZBRGDIDrawLine)(DWORD x1, DWORD y1, DWORD x2, DWORD y2, DWORD color, float thickness, LPINT err); typedef INT (CALLBACK *ZBRGDIDrawImage)(LPSTR fileName, DWORD x, DWORD y, LPINT err); typedef INT (CALLBACK *ZBRGDIDrawImagePos)(LPSTR fileName, DWORD position, LPINT err); typedef INT (CALLBACK *ZBRGDIDrawImageRect)(LPSTR fileName, DWORD x, DWORD y, DWORD width, DWORD sizeY, LPINT err); typedef INT (CALLBACK *ZBRGDIDrawRectangle)(DWORD x, DWORD y, DWORD width, DWORD sizeY, float thickness, DWORD color, LPINT err); typedef INT (CALLBACK *ZBRGDIDrawEllipse)(DWORD x, DWORD y, DWORD width, DWORD height, float thickness, DWORD color, LPINT err); typedef INT (CALLBACK *ZBRGDIDrawBarCode)(DWORD x, DWORD y, DWORD rotation, DWORD barCodeType, DWORD barWidthRatio, DWORD barCodeMultiplier, DWORD barCodeHeight, DWORD textUnder, LPSTR barCodeData, LPINT err); typedef INT (CALLBACK *ZBRGDIIsPrinterReady)(LPSTR printerName, LPINT err); typedef INT (CALLBACK *ZBRGDIPreviewGraphics)(HWND hwnd, LPINT err); // Number of graphical pixels on card, width and height #define MAX_WIDTH 1044 #define MAX_HEIGHT 660 // For positioning text and images #define ZBR_UPPER_LEFT 0 #define ZBR_LOWER_LEFT 1 #define ZBR_UPPER_RIGHT 2 #define ZBR_LOWER_RIGHT 3 #define ZBR_CENTER 4 #define ZBR_LEFT 5 #define ZBR_RIGHT 6 // For font styles #define ZBR_REGULAR 0 //FontStyleRegular #define ZBR_BOLD 1 //FontStyleBold #define ZBR_ITALIC 2 //FontStyleItalic #define ZBR_BOLD_ITALIC 3 //FontStyleBoldItalic #define ZBR_UNDERLINE 4 //FontStyleUnderline #define ZBR_STRIKEOUT 8 //FontStyleStrikeout // Errors returned by the SDK graphics engine #define ZBR_GDI_ERROR_GENERIC_ERROR 8001 //GenericError = 1, #define ZBR_GDI_ERROR_INVALID_PARAMETER 8002 //InvalidParameter = 2, #define ZBR_GDI_ERROR_OUT_OF_MEMORY 8003 //OutOfMemory = 3, #define ZBR_GDI_ERROR_OBJECT_BUSY 8004 //ObjectBusy = 4, #define ZBR_GDI_ERROR_INSUFFICIENT_BUFFER 8005 //InsufficientBuffer = 5, #define ZBR_GDI_ERROR_NOT_IMPLEMENTED 8006 //NotImplemented = 6, #define ZBR_GDI_ERROR_WIN32_ERROR 8007 //Win32Error = 7, #define ZBR_GDI_ERROR_WRONG_STATE 8008 //WrongState = 8, #define ZBR_GDI_ERROR_ABORTED 8009 //Aborted = 9, #define ZBR_GDI_ERROR_FILE_NOT_FOUND 8010 //FileNotFound = 10, #define ZBR_GDI_ERROR_VALUE_OVERFLOW 8011 //ValueOverflow = 11, #define ZBR_GDI_ERROR_ACCESS_DENIED 8012 //AccessDenied = 12, #define ZBR_GDI_ERROR_UNKNOWN_IMAGE_FORMAT 8013 //UnknownImageFormat = 13, #define ZBR_GDI_ERROR_FONT_FAMILY_NOT_FOUND 8014 //FontFamilyNotFound = 14, #define ZBR_GDI_ERROR_FONT_STYLE_NOT_FOUND 8015 //FontStyleNotFound = 15, #define ZBR_GDI_ERROR_NOT_TRUE_TYPE_FONT 8016 //NotTrueTypeFont = 16, #define ZBR_GDI_ERROR_UNSUPPORTED_GDIPLUS_VERSION 8017 //UnsupportedGdiplusVersion = 17, #define ZBR_GDI_ERROR_GDIPLUS_NOT_INITIALIZED 8018 //GdiplusNotInitialized = 18, #define ZBR_GDI_ERROR_PROPERTY_NOT_FOUND 8019 //PropertyNotFound = 19, #define ZBR_GDI_ERROR_PROPERTY_NOT_SUPPORTED 8020 //PropertyNotSupported = 20 #define ZBR_GDI_ERROR_GRAPHICS_ALREADY_INITIALIZED 8021 #define ZBR_GDI_ERROR_NO_GRAPHIC_DATA 8022 #define ZBR_GDI_ERROR_GRAPHICS_NOT_INITIALIZED 8023 // Print Dialog Error Codes #define ZBR_DLG_ERROR_DLG_CANCELED 8025 //User closed or canceled the dlg window #define ZBR_DLG_ERROR_SETUP_FAILURE 8026 //PrintDlg function failed to load the required resources. #define ZBR_DLG_ERROR_PARSE_FAILURE 8027 //PrintDlg function failed to parse the strings in the //[devices] section of the WIN.INI file. #define ZBR_DLG_ERROR_RET_DEFAULT_FAILURE 8028 //PD_RETURNDEFAULT flag was specified in the Flags member of //the PRINTDLG structure, but the hDevMode or hDevNames member was not NULL #define ZBR_DLG_ERROR_LOAD_DRV_FAILURE 8029 //PrintDlg function failed to load the device driver for the specified printer. #define ZBR_DLG_ERROR_GET_DEVMODE_FAIL 8030 //printer driver failed to initialize a DEVMODE structure. #define ZBR_DLG_ERROR_INIT_FAILURE 8031 //PrintDlg function failed during initialization, and there is no more specific //extended error code to describe the failure. #define ZBR_DLG_ERROR_NO_DEVICES 8032 //No printer drivers were found. #define ZBR_DLG_ERROR_NO_DEFAULT_PRINTER 8033 //A default printer does not exist. #define ZBR_DLG_ERROR_DN_DM_MISMATCH 8034 //data in the DEVMODE and DEVNAMES structures describes two different printers. #define ZBR_DLG_ERROR_CREATE_IC_FAILURE 8035 //PrintDlg function failed when it attempted to create an information context. #define ZBR_DLG_ERROR_PRINTER_NOT_FOUND 8036 //The [devices] section of the WIN.INI file did not contain an entry for the requested printer. #define ZBR_DLG_ERROR_DEFAULT_DIFFERENT 8037 //error occurs when you store the DEVNAMES structure and the user changes the default printer by using the Control Panel. #define ZBR_ERROR_NO_ERROR 0 #define ZBR_SDK_ERROR_PRINTER_NOT_SUPPORTED 60 #define ZBR_SDK_ERROR_CANNOT_GET_PRINTER_HANDLE 61 #define ZBR_SDK_ERROR_CANNOT_GET_PRINTER_DRIVER 62 #define ZBR_SDK_ERROR_INVALID_PARAMETER 63 #define ZBR_SDK_ERROR_PRINTER_BUSY 64 #define ZBR_SDK_ERROR_INVALID_PRINTER_HANDLE 65 #define ZBR_SDK_ERROR_CLOSE_HANDLE_ERROR 66 #define ZBR_SDK_ERROR_COMMUNICATION_ERROR 67 #define ZBR_SDK_ERROR_BUFFER_OVERFLOW 68 #define ZBR_SDK_ERROR_READ_DATA_ERROR 69 #define ZBR_SDK_ERROR_WRITE_DATA_ERROR 70 #define ZBR_SDK_ERROR_LOAD_LIBRARY_ERROR 71 #define ZBR_SDK_ERROR_INVALID_STRUCT_ALIGNMENT 72 #define ZBR_SDK_ERROR_GETTING_DEVICE_CONTEXT 73 #define ZBR_SDK_ERROR_SPOOLER_ERROR 74 #define ZBR_SDK_ERROR_OUT_OF_MEMORY 75 #define ZBR_SDK_ERROR_OUT_OF_DISK_SPACE 76 #define ZBR_SDK_ERROR_USER_ABORT 77 #define ZBR_SDK_ERROR_APPLICATION_ABORT 78 #define ZBR_SDK_ERROR_CREATE_FILE_ERROR 79 #define ZBR_SDK_ERROR_WRITE_FILE_ERROR 80 #define ZBR_SDK_ERROR_READ_FILE_ERROR 81 #define ZBR_SDK_ERROR_UNKNOWN_ERROR 0xFFFF