A version is identified by its version string, which consists of
up to three different numbers. Each number is an integer whose
minimum value is 0 and maximum value is 9999. The version string
consists of the following:
Major, minor, and bug fix number for packages
Major and minor number for policies
Syntax version number for policy types
The versioning concept that is provided by PMAD does not support
branches. This means the version tree is actually only a list of
object versions ordered by the creation time and identified by the
version number.
The order of two versions is defined by the following rule.
Version 1 is greater than version 2 if ( version_1.major > version_2.major ) ||
( version_1.major == version_2.major && version_1.minor
> version_2.minor ) ||
( version_1.major == version_2.major && version_1.minor ==
version_2.minor && version_1.bugfix >
version_2.bugfix)
For historical reasons, there are methods that return or require
either a version string or the version numbers of the object. The
version string may or may not contain leading zeros. For example,
"1.0.0" is equal to "0001.0000.0000", and "23.11.12" is equal to
"0023.0011.0012".
If there are two policies with the same policy ID and version
number, the policy with more trailing '*' characters is treated as
the higher version.
Since:
6.x
Member Function Documentation
HRESULT
IOvPmdVersion::GetLatestVersion
(
[out, retval] IDispatch
**
ppInstance
)
Semantics:
Return the highest (latest) version of this object.
Parameters:
ppInstance
- The IDispatch interface pointer to the latest
version.
Possible errors:
Database communication errors
Since:
6.x
HRESULT
IOvPmdVersion::GetMajorVersion
(
[out, retval] long *
plMajorVersion
)
Semantics:
Return the major version number of the object version.
Parameters:
plMajorVersion
- The major version number.
Possible errors:
Database communication errors
Since:
6.x
HRESULT
IOvPmdVersion::GetMinorVersion
(
[out, retval] long *
plMinorVersion
)
Semantics:
Return the minor version number of the object version.
Parameters:
plMinorVersion
- The minor version number.
Possible errors:
Database communication errors
Since:
6.x
HRESULT
IOvPmdVersion::GetNextVersion
(
[out, retval] IDispatch
**
ppInstance
)
Semantics:
Return the version of this object that is the lowest of all
those versions that are higher than this object version.
Parameters:
ppInstance
- The IDispatch interface pointer to the returned
object version. It is NULL if this version is already the highest
version of the object.
Possible errors:
Database communication errors
Since:
6.x
HRESULT
IOvPmdVersion::GetPreviousVersion
(
[out, retval] IDispatch
**
ppInstance
)
Semantics:
Return the version of this object that is the highest of all
those versions that are lower than this object version.
Parameters:
ppInstance
- The IDispatch interface pointer to the returned
object version. It is NULL if this version is already the lowest
version of the object.
Possible errors:
Database communication errors
Since:
6.x
HRESULT
IOvPmdVersion::GetVersionList
(
[out, retval]
SAFEARRAY(IDispatch *)*
ppVersions
)
Semantics:
Return all versions of the object including itself.
Parameters:
ppVersions
- SAFEARRAY containing IDispatch interface pointers to
all versions of this object. Use the method
"IOvPmdPolicyManager::CVar(...)" to access the elements of the
array within a VB script.
Possible errors:
Database communication errors
Since:
6.x
HRESULT
IOvPmdVersion::GetVersionString
(
[out, retval] BSTR *
psVersion
)
Semantics:
Return the version of the object in the string format.