## Reported library analysis issues

Issue | Explanation
Library removed | If a library is found in the baseline but not in the target, the message Library is no longer available is printed on the report.
Library added | If a library is found in the target but not in the baseline, the message Library has been added is printed on the report.
Function moved | If a function has a match in the target, but at a different ordinal, the message Function has moved is printed on the report together with the function name and its original and new position. ##### For example `Function has moved CClkAlmModel::ClockAlarmInfo(int, SClockAlarmInfo &) const @ 3 => @ 4`
Function removed | If a function has no match in the target, and either the target has no function at the ordinal or the function at the ordinal in the target matches some other function in the baseline, the message Function has been removed is printed on the report together with the function name and position. ##### For example `Function has been removed CClkAlmModel::ClockAlarmSet(int, SClockAlarmInfo const &) @ 4`
Function modified | If the function has no match in the target and the target has a function at the ordinal that does not match any baseline function, the message Function has been modified is printed on the report together with the name and position of both the function found in the baseline and the function found in the target. ##### For example `Function has been modified CContactDatabase::SetCntServerHeapFailure(RHeap::TAllocFail, int) @ 221 => CContactDatabase::SetCntServerHeapFailure(int, int) @ 221` However, the tool considers the following changes between functions as matches, and does not report them: 1. Change a non-const function parameter to const. 2. Change a non-const function to const.
Function inserted | If the baseline has no match for the function and the function has been inserted to a slot where the baseline function at the ordinal has been matched to something else, the message Function has been inserted is printed on the report together with the name and position of the new function. ##### For example `Function has been inserted CClkAlmModel::ClockAlarmSet(SClockAlarmInfo const &) @ 5`
Function added | If the baseline has no function at the corresponding ordinal of the target, and the function has been added to a new slot at the bottom of the list, the message Function has been added is printed on the report together with the name and position of the new function. ##### For example `Function has been added CContactDatabase::ICCTemplateIdL(void) @ 411`
DLL removed | If a DLL is found in the baseline but not in the target, the message DLL is missing is printed on the report.
UID1 modified | UID1 indicates the structure of the file, for example, whether it is an executable, a DLL, or a file store. If the UID1 in the target does not match UID1 in baseline, the message Target type/UID1 has been changed is printed on the report.
UID2 modified | The meaning of UID2 depends on the type of object it applies to. For polymorphic interface DLLs, UID2 identifies the interface that the DLL implements. For static interface DLLs that others link to, the UID2 value is always the same. For executables (with the exception of GUI applications), the UID2 value is ignored. If the UID2 in the target does not match UID2 in baseline, the message UID3 has been changed is printed on the report.
UID3 modified | UID3 distinguishes between objects with the same UID2 and can be thought of as a project identifier. For example, for an application, the same UID3 is shared by the executable, registration file, and all documents. If the UID3 in the target does not match UID3 in baseline, the message UID3 has been changed is printed on the report.
Secure ID modified | In OS versions with platform security, the Secure ID (SID) for a binary is taken to be the same as the third UID for that file. If an application does not specify a UID3 or specifies it as zero, then the Secure ID is undefined for the application. This has several consequences, including lack of privacy for data used by that application. If the Secure ID in the target does not match Secure ID in baseline, the message Secure ID has been changed is printed on the report.
Capability modified | If any of the capability of the baseline DLL is missing from the target DLL, the message Capability has been changed is printed on the report.