COMMANDLINES: The following command is given for the root SDK directory. Running the program from the demo\Common directory will not work because of the the current package designation. The classpath environment variable must be set as specified in the readme in the main directory as well in order to compile and run the programs correctly. Compiling- javac demo\Common\*.java GENERAL HELP: RESTRICTIONS: ManagementPath currently only obtains one controller from the UTM agent. SetControllerToFailUnfail and VolumeManager may need another address to the other controller to function as desired. PROGRAMMING NOTES: ManagementPath: SYMbolClient: Connecting to a controller: 1> Create a SYMbolAPIClientV1 class with the parameters IP address, m_RawClient.PORT, and a boolean. m_RawClient specifies the port number for the array, and the boolean is true if the connection to the array is through TCP and false for UDP. 2> Create a ControllerDescriptor for the controller to connect to on the array. This is done by the ManagementClass in the sample code. 3> Bind to the controller using the ControllerDescriptor and the SYMbolAPIClientV1.bindToController() method. 4> Check the return code returned by the method to determine if the bind was successsful. ReturnCode.RETCODE_OK signifies success, and other codes indicate the attempt failed. Closing a connection to a controller: The connection to the controller can be closed using the SYMbolAPIClientV1.close() method. This will close socket and allow another device to connect. If too many sockets are left open, the controller not be reachable on the network. StateWatcher: Keeping a current object bundle: A separate thread should be used to keep track of the current object bundle since the polling can take a long time to return. 1> Connect to the controller on the array to watch. The SYMbolClient and ManagementPath classes are used in the sample code to perform this task. 2> Create a ChangeQueryDescriptor and set the ConfigGeneration number and Mel Sequence number to a value that will ensure that a change will be returned, such as -1. Also use the ChangeQueryDescriptor.setMaxWait() method to specify the amount of time the controller waits before responding. The next steps are repeated: 3> Set the timeout for the SYMbolAPIClientV1 using the SYMbolAPIClientV1.setTimeout() method and ProcedureTimeout class. 4> Use the SYMbolAPIClientV1.getChangeInfo() method to get the current configuration information. If the Mel Sequence Number or the Configuration Number is different from the last numbers recieved a the object bundle needs to be updated. 5> Update the object bundle by first setting the timeout using the SYMbolAPIClientV1.setTimeout() method and ProcedureTimeout class. Then use the SYMbolAPIClientV1.getObjectBundle() method to obtain the bundle. Utility: Setting the password for the SYMbolAPIClientV1 class: The SYMbolAuthGenerator class is used to generate the proper authentication infomation on the client. This class must be updated whenever an array configuration change occurs. As a result this class should be set right before the SYMbol call is made. 1> Create an SYMbolAuthGenerator class with the array's internet address and storage array id. 2> Set the timeout for the array using the SYMbolAPIClientV1.setTimeout method. Recommended times can be found from the ProcedureTimeout.getProcTimeout() method. 3> Use the method SYMbolAPIClientV1.getChangeInfo() to obtain the current configuration information. 4> Add the password and configuration number to the SYMbolAuthGenerator class using the SYMbolAuthGenerator.setConfigGeneration() and SYMbolAuthGenerator.setPassword() methods. Utility.rawCompare: This method is usefull in comparing VolumeRefs, DriveRefs, ControllerRefs, and other classes that extend the SYMbolRef class. The byte array representation of the SYMbolRefs are obtained using the SYMbolRef.getRefToken() method. Utility.bytesToString: This method is usefull in translating VolumeRefs, DriveRefs, ControllerRefs, and other classes that extend the SYMbolRef class into a string representation. The byte array representation of the SYMbolRefs are obtained using the SYMbolRef.getRefToken() method. Utility.findTray: This method is used to find the slot location of a tray. It is acceptable for this function to return null under certain situations.Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.