3.2.5.1.1 OnNewTrackingInfo (Opnum 3)
The OnNewTrackingInfo method handles a tracker event from the server.
-
HRESULT OnNewTrackingInfo( [in] IUnknown* pToplevelCollection );
pToplevelCollection: An interface pointer of a DCOM object. This MUST be a TrackingInfoCollection OBJREF_CUSTOM (section 2.2.5.5). This collection SHOULD be of type TRKCOLL_PROCESSES (as specified in section 2.2.5.5), and each TrackingInfoObject in the collection SHOULD represent a process on the server. Each process TrackingInfoObject structure SHOULD have the following properties.
-
Property name
vt value
Meaning
ProcessID
0x00000013
The process identifier.
ExeName
0x00000008
Implementation-specific identifier of the type of process.<25>
Paused
0x00000013
TRUE (0x00000001) if the distinguished container for the process is paused; otherwise, FALSE (0x00000000).
0x00000013
TRUE (0x00000001) if the distinguished instance container for the process is recycled; otherwise, FALSE (0x00000000).
IsService
0x00000013
TRUE (0x00000001) if the process is a system service; otherwise, FALSE (0x00000000). The definition of system service is implementation-specific.<26>
Applications
0x0000000D
A TrackingInfoCollection (section 2.2.5.5) of type TRKCOLL_CONTAINERS that represents the instance containers in the process.
-
Each instance container TrackingInfoObject SHOULD have the following properties.
-
Property name
vt value
Meaning
ApplicationID
0x00000008
The CurlyBraceGuidString (section 2.2.1) representation of the conglomeration identifier of the conglomeration that is associated with the instance container.
ApplInstanceID
0x00000008
The CurlyBraceGuidString (section 2.2.1) representation of the container identifier of the instance container.
ApplicationType
0x00000013
An implementation-specific<27> integer that identifies the type of instance container.
PartitionID
0x00000008
The CurlyBraceGuidString (section 2.2.1) representation of the Partition ID of the conglomeration.
Name
0x00000008
An implementation-specific<28> Unicode string that provides a human-readable name for the conglomeration that is associated with the instance container.
Components
0x0000000D
A TrackingInfoCollection (section 2.2.5.5) of type TRKCOLL_COMPONENTS that represents the components instantiated in the instance container.
-
Each component TrackingInfoObject SHOULD have the following properties:
-
Property name
vt value
Meaning
0x00000008
The CurlyBraceGuidString (section 2.2.1) representation of the CLSID of the component.
Objects
0x00000013
The number of component instances for the component in an instance container.
Activated
0x00000013
The number of active component instances for the component in an instance container.
Pooled
0x00000013
The number of pooled component instances for the component in an instance container.
InCall
0x00000013
The number of component instances for the component in an instance container that are currently performing a method call.
CallTime
0x00000013
A value that indicates the average amount of time, in milliseconds, that it takes to complete method calls to component instances for the component. The calculation of this value is implementation-specific.<29>
Name
0x00000008
An implementation-specific Unicode string that provides a human-readable name for the component.<30>
Return Values: The OnNewTrackingInfo method MUST return S_OK (0x00000000) on success and a failure result (as specified in [MS-ERREF] section 2.1) on failure.
Upon receiving a call to the OnNewTrackingInfo method, the client MUST attempt to unmarshal the TrackingInfoCollection OBJREF_CUSTOM received in pToplevelCollection and fail the call if it cannot. The client SHOULD then return before performing any further actions. Any further implementation-specific processing SHOULD be done asynchronously.