IFPCServer4::GetDiagnosticLogging method

Applies to: desktop apps only

The GetDiagnosticLogging method retrieves diagnostic logging results on the server.


HRESULT GetDiagnosticLogging(
  [in, out]  DWORD *pdwStartIndex,
  [in, out]  DWORD *pdwBufferSize,
  [out]      BYTE **ppBuffer


  • pdwStartIndex [in, out]
    Required. Pointer to a DWORD.

    As an input paramter, a positive value represents the index of the first diagnostic logging result to retrieve. A value of 0 indicates that only the most recent diagnostic logging result should be retrieved.

    On return, the parameter stores the index of the next record not retrieved by the method call.

  • pdwBufferSize [in, out]
    Required. Pointer to a DWORD.

    As an input parameter, it indicates the maximum buffer size (in bytes) of diagnostic logging results to return in the method call. The value must be in the [100, 100000] range (inclusive); otherwise, the E_INVALIDARG error code will be returned.

    On return, the parameter stores the actual buffer size (in bytes) of the data pointed at by ppBuffer.

  • ppBuffer [out]
    Required. Address of a pointer that on return points to the BYTE at the beginning of the block of memory where the diagnostic logging results are stored. The memory is allocated by CoTaskMemAlloc; therefore it must be deleted by using CoTaskMemFree.

Return value

This method can return one of the following:

  • S_OK, indicating that the operation succeeded.
  • E_INVALIDARG, indicating that the buffer size supplied in the pdwBufferSize parameter was not in the [100, 100000] range (inclusive). In this case, the [out] parameters returned do not contain valid data.


This method cannot be used in Microsoft Visual Basic Scripting Edition (VBScript).


Minimum supported client

Windows Vista

Minimum supported server

Windows Server 2008 R2, Windows Server 2008 with SP2 (64-bit only)


Forefront Threat Management Gateway (TMG) 2010





See also




Build date: 7/12/2010