3.18.4.1 GenerateClusterLog (Opnum 3)

The GenerateClusterLog method<46> writes a file that contains diagnostic information about failover clusters for the server on which it executes. The content and format of the file are implementation-specific but contain diagnostic information.

 HRESULT GenerateClusterLog {
   [ in ] ULONG SpanMinutes,
   [ in ] ClusterLogExFlag flags,
   [ out ] BSTR* LongFilePath
 };

SpanMinutes: A value, in minutes, that indicates those values that SHOULD be in the log. Events that occurred in the range of Now to (Now – SpanMinutes) MUST be in the log and no others. Now is the GMT on the server.

Flags: Is of type ClusterLogExFlag enum as specified in section 2.2.25.

LogFilePath: Upon successful completion of this method, the server MUST set this parameter to the location where the server has exposed a file containing the diagnostic log data. The path is relative to the machine and starts with a share name. The format is "<share>\<filename>" where <share> is a share name, and <filename> is the name of the file or device. The LogFilePath parameter MUST form a valid UncPath if \\servername>\ is prepended to its contents. On unsuccessful completion of this method, the client MUST ignore this value.

Return Values: A signed 32-bit value that indicates return status. If the method returns a negative value, it has failed. Zero or positive values indicate success, with the lower 16 bits in positive nonzero values containing warnings or flags defined in the method implementation. For more information about Win32 error codes and HRESULT values, see [MS-ERREF] sections 2.2 and 2.1.

Return value/code

Description

0x00000000

S_OK

The call was successful.

For any other condition, this method MUST return a value that is not one of the values listed in the preceding table. The client MUST behave in an identical manner for all return values not listed in the preceding table.

Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying RPC protocol [MS-RPCE].

The opnum field value for this method is 3.

When processing this call, the server MUST do the following:

  • If ClusterLogFlagLocalTime is set in Flags field, use local time on the server.

  • If ClusterLogFlagSkipClusterState is set in the Flags field, the server MUST skip including the cluster state in the log.

  • Generate the file with the correct data, honoring the SpanMinutes parameter.

  • Place the file in a valid LogFilePath on the machine, as specified in section 3.18.4.1.

  • Generate the server-relative path to the file.

Return the following information to the client:

  • The server-relative path to the file.