IUccDiagnosticInfo Interface
This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.
Encapsulates the diagnostic information as an entry in an error report.
Namespace: Microsoft.Office.Interop.UccApi
Assembly: Microsoft.Office.Interop.UccApi (in microsoft.office.interop.uccapi.dll)
Syntax
'Declaration
Public Interface IUccDiagnosticInfo
Inherits IUnknown
public interface IUccDiagnosticInfo : IUnknown
public interface class IUccDiagnosticInfo : IUnknown
public interface IUccDiagnosticInfo extends IUnknown
public interface IUccDiagnosticInfo extends IUnknown
Remarks
The UCC API supports error reporting to the event log on an application's local computer or to the server. Each entry of the error report is also propagated to the application as an instance of this interface.
Win32 COM/C++ Syntax
interface IUccDiagnosticInfo : IUnknown
Example
An instance of IUccDiagnosticInfo is obtained by reading the UCCOPEC_DIAGNOSTIC_DETAILS property of an instance of IUccContext.
The following example reads an IUccOperationProgressEvent instance obtained from the platform when the OnShutdown event is raised. You get an instance of IUccOperationContext from the OriginalOperationContext property of IUccOperationProgressEvent instance.
The example method accepts an IUccOperationContext instance obtained as previously described.
public struct DiagnosicInfo
{
public int Code;
public List<string> Properties;
public string Source;
public List<int> ErrorCodes;
public string Text;
public string DiagType;
}
public List<DiagnosicInfo> DiagnosticInformation(IUccOperationContext pContext)
{
List<DiagnosicInfo> returnValue = new List<DiagnosicInfo>();
if (pContext.Context.IsPropertySet(
(int)UCC_OPERATION_PROGRESS_EVENT_CONTEXT.UCCOPEC_DIAGNOSTIC_DETAILS))
{
IUccCollection diagCollection = pContext.Context.get_Property(
(int)UCC_OPERATION_PROGRESS_EVENT_CONTEXT.UCCOPEC_DIAGNOSTIC_DETAILS) as IUccCollection;
foreach (IUccDiagnosticInfo d in diagCollection)
{
DiagnosicInfo diagDetails = new DiagnosicInfo();
diagDetails.DiagType = d.Type.ToString();
diagDetails.Code = d.Code;
foreach (int code in d.SubCodes)
{
diagDetails.ErrorCodes.Add(code);
}
diagDetails.Source = d.Source;
diagDetails.Text = d.Text;
foreach (IUccProperty property in d.Properties)
{
diagDetails.Properties.Add(
property.Id.ToString()
+ " "
+ property.Value.ToString());
}
returnValue.Add(diagDetails);
}
}
return returnValue;
}
Platforms
Development Platforms
Windows XP Professional with Service Pack 2 (SP2), Windows Server 2000 with Service Pack 4, Windows Server 2003, Windows Vista Ultimate Edition, Windows Vista Business Edition, Windows Vista Enterprise Edition
Target Platforms
See Also
Reference
IUccDiagnosticInfo Members
Microsoft.Office.Interop.UccApi Namespace