4.4 Scheduling File Server Resource Manager Protocol Storage Reports

File Server Resource Manager Protocol reports are configured through method calls on the IFsrmReportJob interface (section 3.2.4.2.34), which is returned by the IFsrmReportManager interface (section 3.2.4.2.33). The following describes how a client schedules the running of reports:

  1. The client requests the creation of an instance of the Report Manager on the local machine by calling CoCreateInstance with the class GUID of the Report Manager, requesting an instance of the Report Manager on the server.

  2. The server returns a reference to the IFsrmReportManager interface.

  3. The client requests the creation of an instance of the Report Scheduler on the local machine by calling CoCreateInstance with the class GUID of the Report Scheduler, requesting an instance of the Report Scheduler on the server.

  4. The server returns a reference to the IFsrmReportScheduler interface (section 3.2.4.2.36).

  5. The client calls the method IFsrmReportManager::GetReportJob (section 3.2.4.2.33.3), passing in the task name of the report job that the client requires.

  6. The server returns a reference to the IFsrmReportJob interface of the report job with the specified name back to the client.

  7. The client calls IFsrmReportScheduler::CreateScheduleTask (section 3.2.4.2.36.2), passing in the name, namespaces, and serialized text of the task.

  8. The server returns S_OK, signifying it created the new task.

  9. The client calls IFsrmReportJob::Task (put) (section 3.2.4.2.34.3), with the name of the scheduled task used in step 7.

  10. The server returns S_OK, signifying it is maintaining the new task name.

  11. The client calls IFsrmQuotaTemplate::CommitAndUpdateDerived (section 3.2.4.2.20.6).

  12. The server returns S_OK, signifying it committed the changes to the report job.

Flow diagram of scheduling storage reports

Figure 4: Flow diagram of scheduling storage reports