background image

PTRobot API 

 

                                                       Page 10 of 41 

© 2005, Primera Technology, Inc.  Primera is a registered trademark and Bravo is a trademark of Primera Technology, Inc.  All other trademarks are the property of 
their respective companies. 

 

// 

 

 

 

 

 robotically controlled. The calling application  

//                          

 needs to use PTRobot_SetRoboticDrive to resolve 

// 

     

this 

error. 

// 
/////////////////////////// 

DWORD WINAPI 

PTRobot_EnumDrives

(HANDLE hRobot, HANDLE 

*

 phDrives, DWORD 

*

 pdwNumDrives); 

 

 

2.1.6 

PTRobot_EnumDrivesWithList 

/////////////////////////// 
// 
// PTRobot_EnumDrivesWithList 
// 
// Description: 
// 

 

Function to pass down drives enumerated by the calling app for 

//       

PTRobot to use in determining which drives are robotically controlled. 

// 

 

This is an alternative function to PTRobot_EnumDrives. 

// Params: 
// 

 

hRobot 

Handle to the robot. 

// 

 

phDrives  

points to an array of HANDLEs that contains the 

//                  

drive handles of the drives in the system 

//       

pdwNumDrives  

points to a DWORD containing the number of HANDLEs 

//                 

 

in the phDrives array.   

// 

 

phRobotDrives  

points to an array of HANDLEs that contains the 

//                   

 

drive handles of the drives contained in this robot. 

//       

pdwNumRobotDrives points to a DWORD containing the number of drives 

//                 

 

in the phRobotDrives array. 

// 
// Notes: 
// 

 

phRobotDrives and pdwNumRobotDrives will be updated upon successful  

//       

completion of this command.  phRobotDrives will contain  

//      

handles to drives contained in the robot. pdwNumRobotDrives will be 

// 

 

updated with the number of drives found.  

// 
// 

 

The format of the drive handle is the following: 

// 
//       

The least significant byte should contain the drive letter, the  

// 

 

 

other three bytes should contain the SCSI triple.  The drive can  

// 

 

 

be identified by either of these methods. 

// 
// 

 

 

For Example:  0x01030044 would identify a drive with: 

// 

 

 

 

 

 

Host=1, ID = 3, LUN = 0, and a drive letter of "D" 

// 

     

 

 

 

// 

 

 

To identify the same drive the client could pass down  

// 

 

 

0x01030000, 0x00000044, or 0x01030044. 

// 
// 

 

This function should be called instead of PTRobot_EnumDrives if the  

// 

 

calling application wants to enumerate the drives and have PTRobot  

// 

 

select the Robotically controlled drives from the list the calling  

//  

application 

provides. 

// 

   

// Return: 
//      

PTROBOT_OK if Successful 

// 

 

PTROBOT_SEQUENCE if this command is called out of sequence or after  

// 

      

PTRobot_EnumDrives 

Содержание PTRobot API

Страница 1: ...PTRobot API DLL Based Application Programming Interface Primera Technology Inc May 16 2006 Revision 2 0...

Страница 2: ...icationID 14 2 2 PTRobot Info Status Functions 14 2 2 1 PTRobot_GetDriveInfo 14 2 2 2 PTRobot_GetRobotInfo 14 2 2 3 PTRobot_GetRobotStatus 15 2 2 4 PTRobot_GetMediaInfo 15 2 3 PTRobot Robotic Function...

Страница 3: ...3 5 7 SYSERR_BOTH_EMPTY 33 5 8 SYSERR_PICK 33 5 9 SYSERR_ARM_MOVE 33 5 10 SYSERR_CART_MOVE 34 5 11 SYSERR_INTERNAL_SW 34 5 12 SYSERR_NO_ROBODRIVES 34 5 13 SYSERR_OFFLINE 34 5 14 SYSERR_COVER_OPEN 34 5...

Страница 4: ...l other trademarks are the property of their respective companies 5 35 SYSERR_DROPPED_DISC_PRINTER_FATAL 38 5 36 SYSERR_MULTIPLEDISCS_IN_RIGHTBIN 38 5 37 SYSERR_MULTIPLEDISCS_IN_LEFTBIN 38 5 38 SYSERR...

Страница 5: ...isc Publisher XRP 1 2 Usage Below is PSUEDO CODE example for how a calling application should use PTRobot to implement robotics into its application At program startup PTRobot_Initialize PTRobot_EnumR...

Страница 6: ...espective companies PTRobot_LoadPrinterFromDrive Robo Drive PTRobot_GetRobotStatus called in a loop PTRobot_PrintFile szPrintFile or PTRobot_PrintFileWithMerge PTRobot_GetRobotStatus called in a loop...

Страница 7: ...al data structures of the PTRobot module Params None Notes Return PTROBOT_OK if Successful PTROBOT_INTERNAL if an internal error occurred DWORD WINAPI PTRobot_Initialize 2 1 2 PTRobot_Destroy PTRobot_...

Страница 8: ...e DWORD dwDbgLvl TCHAR szTraceFile 2 1 4 PTRobot_EnumRobots PTRobot_EnumRobots Description Function to enumerate the Robots on the system Params phRobots points to an array of HANDLEs to store the Rob...

Страница 9: ...tput will be the number of drives found Notes Both params will be updated upon successful completion of this command phDrives will contain handles to drives connected to this system pdwNumDrives will...

Страница 10: ...s the drive handles of the drives contained in this robot pdwNumRobotDrives points to a DWORD containing the number of drives in the phRobotDrives array Notes phRobotDrives and pdwNumRobotDrives will...

Страница 11: ...the duplicator when the PTROBOT_MULTDRIVES error is returned from either of the EnumDrives functions Params hRobots Handle to the Robot hDrive Handle to the Drive dwColIndex Index identifying the col...

Страница 12: ...OBOT_OK if Successful PTROBOT_SEQUENCE if this command is called out of sequence PTROBOT_INTERNAL if an internal error occurred DWORD WINAPI PTRobot_SetOpenCloseFunction void pvOpenClose 2 1 9 PTRobot...

Страница 13: ...pecific system error or PTRobot API Return error Params hRobot Handle to the robot from EnumRobots Use NULL only if no handle has been obtained yet dwErrorNum System Error Number pwszErrorString Error...

Страница 14: ...specified by Primera Notes Return PTROBOT_OK if Successful PTROBOT_INTERNAL if an internal error occurred DWORD WINAPI PTRobot_SetApplicationID DWORD dwAppID 2 2 PTRobot Info Status Functions 2 2 1 P...

Страница 15: ...ot_GetRobotStatus PTRobot_GetRobotStatus Description Function to get the current status for a particular robot Params hRobot Handle to the robot from EnumRobots pRobotStatus points to a PTRobotStatus...

Страница 16: ...a PTRobotInfo structure Notes Return PTROBOT_OK if Successful PTROBOT_SEQUENCE if this command is called out of sequence PTROBOT_INTERNAL if an internal error occurred PTROBOT_INVALID_ROBOT if the rob...

Страница 17: ...ive section Notes Clear drive before loading should be done the first loading This will cause the picker to attempt to pick discs out of the drive to determine if any discs were left in the drive from...

Страница 18: ...Location 2 3 3 PTRobot_LoadPrinterFromDrive PTRobot_LoadPrinterFromDrive Description Function to load the printer from a drive Params hRobot Handle to the robot from EnumRobots hDrive Handle to the dr...

Страница 19: ...PTRobot_UnLoadDrive HANDLE hRobot HANDLE hDrive DWORD dwToLocation 2 3 5 PTRobot_UnLoadPrinter PTRobot_UnLoadPrinter Description Function to unload the printer to an output position Params hRobot Hand...

Страница 20: ...PTRobot_MoveDiscBetweenLocations HANDLE hRobot DWORD dwFromLocation DWORD dwToLocation 2 3 7 PTRobot_PrintFile PTRobot_PrintFile Description Function to print a Surething image STD raster image JPG BM...

Страница 21: ...HAR strings These are the merge strings or photo names including path to be printed NOTE For the strings that follow dwMergeStrings to be used the user must have Set Merge File within the STD file Lim...

Страница 22: ...he printer settings are invalid DWORD WINAPI PTRobot_SetPrinterSettings HANDLE hRobot PTPrinterSettings pPrinterSettings 2 3 10 PTRobot_GetPrinterSettings PTRobot_GetPrinterSettings Description Functi...

Страница 23: ...escription Function to instruct the system to perform a specifc action Params hRobot Handle to the robot from EnumRobots dwAction Action to perform Notes This function is used to perform a specific fu...

Страница 24: ...PTROBOT_INTERNAL if an internal error occurred PTROBOT_INVALID_ROBOT if the robot handle is invalid PTROBOT_INVALID_ACTION if the robot action is invalid DWORD WINAPI PTRobot_SystemAction HANDLE hRobo...

Страница 25: ...Handle TCHAR tszRobotDesc 100 Robot Description DWORD dwRobotType See Robot Type section 4 4 DWORD dwNumDrives Number of Recorders on this robot DWORD dwNumPrinters Number of Printers on this robot 0...

Страница 26: ...its in 1mm increments 0 20 PTPrinterSettings pPTPrinterSettings 3 5 PTMediaInfo Structure typedef struct TCHAR tszMediaID 20 TCHAR tszMediaType 20 PTMediaInfo pPTMediaInfo 3 6 PTRobotInfo2 Structure t...

Страница 27: ...mDiscsInBins 5 0th element is left most bin values are 255 if unknown DWORD dwTotalPrints Total of prints DWORD dwTotalPicks Total of picks from input bin DWORD dwVerticalOffset Vertical print offset...

Страница 28: ...511 define PTROBOT_PRN_INVALID 512 define PTROBOT_UNSUPPORTED_OPTION 513 define PTROBOT_DIRNOTFOUND 514 define PTROBOT_INVALID_LOCATION 515 define PTROBOT_MULTDRIVES 516 define PTROBOT_INVALID_PRINTE...

Страница 29: ...SYSERR_COLOR_INVALID 37 define SYSERR_BLACK_INVALID 38 define SYSERR_BOTH_INVALID 39 define SYSERR_NOCARTS 40 define SYSERR_K_IN_CMY 41 define SYSERR_CMY_IN_K 42 define SYSERR_SWAPPED 43 define SYSERR...

Страница 30: ...TTON 0x00000004 define PTACT_REINIT_DRIVES 0x00000008 define PTACT_IDENTIFY 0x00000010 define PTACT_CANCELCMD 0x00000020 define PTACT_ENABLEPWRBUTTON 0x00000040 define PTACT_RESETSYSTEM 0x00000080 4 8...

Страница 31: ...define ENGLISH 0 define JAPANESE 1 define GERMAN 2 define FRENCH 3 define SPANISH 4 define ITALIAN 5 4 14 Printer Tray Status define PRINT_TRAY_IN_WITH_DISC D define PRINT_TRAY_IN_NO_DISC I define PR...

Страница 32: ...r to try again 5 2 SYSERR_CART_CODE DiscPublisherI II DiscPublisher XR XRP There was a problem finding the ink cartridges Open the cover and press the left button Make sure the color cartridge is inst...

Страница 33: ...e the cartridge open the cover on the unit and press the left button Then install the new cartridge and close the cover To ignore the warning open and close the cover 5 7 SYSERR_BOTH_EMPTY DiscPublish...

Страница 34: ...he unit is offline Please ensure the unit is connected and powered on You may need to shut down and restart the software 5 14SYSERR_COVER_OPEN The unit s cover is open Please close the cover 5 15 SYSE...

Страница 35: ...blisher XR XRP Multiple discs were placed in the recorder Please open the cover and manually remove any extra discs from the printer keeping a single disc in place Then close the cover to continue 5 1...

Страница 36: ...isc into the printer tray Then close the cover to continue 5 23 SYSERR_DROPPED_DISC_REJECT DiscPublisherII PRO The disc was dropped while moving to the reject area Please remove the dropped disc Then...

Страница 37: ...cartridges are invalid Open the cover and press the left button Change the cartridges and close the cover 5 29 SYSERR_NOCARTS DiscPublisherPRO No cartridges are installed Open the cover and press the...

Страница 38: ...ress the left button DiscPublisher XR XRP The disc was dropped while moving to from the printer Please open the cover and manually remove and discard the disc Then place a new disc in the recorder and...

Страница 39: ...ERR_BLK_EMPTY_FINAL DiscPublisherPRO WARNING The black cartridge is Empty To replace the cartridge open the cover on the unit and press the left button Then install the new cartridge and close the cov...

Страница 40: ...tion 5 35 to 5 41 7 13 05 document version 1 7 Added hRobot parameter to PTRobot_GetErrorString Section 2 1 11 Fixed documentation error for robotic functions Section 2 3 where the reject position was...

Страница 41: ...tes in PTRobot_EnumRobots 5 23 05 document version 1 2 Added links within the document 5 20 05 document version 1 1 Added PrintFileWithMerge section 2 3 8 Added sections 5 Recommended System Error Str...

Отзывы: