During play, the Player package makes the following SCORM API calls (SCORM 1.2 API names in brackets):
Initialize [LMSInitialize] Called when the SCO is first launched by the LMS.
Terminate [LMSFinish] Called when the user navigates away from the SCO.
GetValue [LMSGetValue] Called at SCO startup to read all variables from the LMS.
SetValue [LMSSetValue] Called when the user navigates away from the SCO, prior to terminating the session, to write back all variables to the LMS. In addition, the SCO's completion status and score (if any) are written to the LMS any time the completion status of the SCO changes. This allows the LMS to immediately change the SCO's indicator in its user interface, if the LMS supports this.
Commit [LMSCommit] Explicitly called whenever the SCO's completion status is reported back to the LMS. When the user navigates away from the SCO, an implicit commit takes place when the session is terminated.
GetLastError [LMSGetLastError] Called whenever an LMS function returns an error.
GetErrorString [LMSGetErrorString] Called whenever an LMS function returns an error. This error is then reported through the Player interface.