Struct IProcessLifetime#

Inheritance Relationships#

Derived Type#

Struct Documentation#

struct IProcessLifetime#

Process lifetime monitoring.

Subclassed by CProcessControl

Public Functions

virtual uint32_t RegisterMonitor(TProcessID tProcessID, IInterfaceAccess *pMonitor) = 0#

Register a process lifetime monitor.

Parameters:
  • tProcessID[in] Process ID to monitor the lifetime for.

  • pMonitor[in] Pointer to the monitor interface. The monitor should expose the IProcessLifetimeCallback interface.

Returns:

Returns a non-zero cookie when successful; zero when not.

virtual void UnregisterMonitor(uint32_t uiCookie) = 0#

Unregistered a previously registered monitor.

Parameters:

uiCookie[in] The cookie from the monitor registration.

virtual bool WaitForTerminate(TProcessID tProcessID, uint32_t uiWaitMs) = 0#

Wait for a process to finalize.

Parameters:
  • tProcessID[in] The process ID to wait for.

  • uiWaitMs[in] Maximum time to wait in ms. Could be 0xffffffff to wait indefintely.

Returns:

Returns ‘true’ when the process was terminated (or isn’t running), ‘false’ when still running and a timeout has occurred.

uint32 RegisterMonitor (in TProcessID tProcessID, in IInterfaceAccess pMonitor)

Register a process lifetime monitor.

Parameters:
  • tProcessID[in] Process ID to monitor the lifetime for.

  • pMonitor[in] Pointer to the monitor interface. The monitor should expose the IProcessLifetimeCallback interface.

Returns:

Returns a non-zero cookie when successful; zero when not.

void UnregisterMonitor (in uint32 uiCookie)

Unregistered a previously registered monitor.

Parameters:

uiCookie[in] The cookie from the monitor registration.

boolean WaitForTerminate (in TProcessID tProcessID, in uint32 uiWaitMs)

Wait for a process to finalize.

Parameters:
  • tProcessID[in] The process ID to wait for.

  • uiWaitMs[in] Maximum time to wait in ms. Could be 0xffffffff to wait indefintely.

Returns:

Returns ‘true’ when the process was terminated (or isn’t running), ‘false’ when still running and a timeout has occurred.

Public Static Attributes

static ::sdv::interface_id _id = 0x3872CE0C82A56919#

Interface ID.