IFsrmSetting interface (fsrm.h)
Used to configure FSRM.
To get this interface, call the
CoCreateInstanceEx function. Use
CLSID_FsrmSetting as the class identifier and
__uuidof(IFsrmSetting)
as the interface identifier.
Inheritance
The IFsrmSetting interface inherits from the IDispatch interface. IFsrmSetting also has these types of members:
Methods
The IFsrmSetting interface has these methods.
IFsrmSetting::EmailTest Send an email message to the specified email address. |
IFsrmSetting::get_AdminEmail Retrieves or sets the email address for the administrator. (Get) |
IFsrmSetting::get_DisableCommandLine Retrieves or sets a value that determines whether FSRM prevents command line actions from running. (Get) |
IFsrmSetting::get_EnableScreeningAudit Retrieves or sets a value that determines whether FSRM keeps audit records of the file screen violations. (Get) |
IFsrmSetting::get_MailFrom Retrieves or sets the default email address from which email messages are sent. (Get) |
IFsrmSetting::get_SmtpServer Retrieves or sets the SMTP server that FSRM uses to send email. (Get) |
IFsrmSetting::GetActionRunLimitInterval Gets the time that an action that uses the global run limit interval must wait before the action is run again. |
IFsrmSetting::put_AdminEmail Retrieves or sets the email address for the administrator. (Put) |
IFsrmSetting::put_DisableCommandLine Retrieves or sets a value that determines whether FSRM prevents command line actions from running. (Put) |
IFsrmSetting::put_EnableScreeningAudit Retrieves or sets a value that determines whether FSRM keeps audit records of the file screen violations. (Put) |
IFsrmSetting::put_MailFrom Retrieves or sets the default email address from which email messages are sent. (Put) |
IFsrmSetting::put_SmtpServer Retrieves or sets the SMTP server that FSRM uses to send email. (Put) |
IFsrmSetting::SetActionRunLimitInterval Sets the time that an action that uses the global run limit interval must wait before the action is run again. |
Remarks
To create this object from a script, use the program identifier, "Fsrm.FsrmSetting".
Examples
The following example shows how to retrieve the properties of this interface.
#ifndef UNICODE
#define UNICODE
#endif
#include <windows.h>
#include <stdio.h>
#include <comutil.h>
#include <fsrm.h> // FSRM base objects and collections
#include <fsrmtlb_i.c> // contains CLSIDs
//
// Print the FSRM configuration settings.
//
void wmain(void)
{
HRESULT hr = 0;
IFsrmSetting* pSettings = NULL;
BSTR bstr = NULL;
VARIANT_BOOL boolVal = VARIANT_FALSE;
long interval = 0;
hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
if (FAILED(hr))
{
wprintf(L"CoInitializeEx() failed, 0x%x.\n", hr);
exit(1);
}
hr = CoCreateInstance(CLSID_FsrmSetting,
NULL,
CLSCTX_LOCAL_SERVER,
__uuidof(IFsrmSetting),
reinterpret_cast<void**> (&pSettings));
if (FAILED(hr))
{
wprintf(L"CoCreateInstance(FsrmSetting) failed, 0x%x.\n", hr);
if (E_ACCESSDENIED == hr)
wprintf(L"Access denied. You must run the client with an elevated token.\n");
goto cleanup;
}
wprintf(L"Successfully created Setting object.\n");
// Get the default email address for the administrator. If set, you
// can then use the [Admin Email] macro for any action or report
// email address.
hr = pSettings->get_AdminEmail(&bstr);
if (FAILED(hr))
{
wprintf(L"pSettings->get_AdminEmail failed, 0x%x.\n", hr);
goto cleanup;
}
wprintf(L"AdminEmail: %s\n", bstr);
SysFreeString(bstr);
// Determines whether FSRM allows command actions to execute. The default
// is execute command actions.
hr = pSettings->get_DisableCommandLine(&boolVal);
if (FAILED(hr))
{
wprintf(L"pSettings->get_DisableCommandLine failed, 0x%x.\n", hr);
goto cleanup;
}
wprintf(L"DisableCommandLine: %s\n", (VARIANT_TRUE == boolVal) ? L"True" : L"False");
// Determines whether FSRM keeps audit records for file screen IO violations.
// The default is not to keep audit records.
hr = pSettings->get_EnableScreeningAudit(&boolVal);
if (FAILED(hr))
{
wprintf(L"pSettings->get_EnableScreeningAudit failed, 0x%x.\n", hr);
goto cleanup;
}
wprintf(L"EnableScreeningAudit: %s\n", (VARIANT_TRUE == boolVal) ? L"True" : L"False");
// The default address from which reports and email actions are sent.
// If set, you do not have to set the IFsrmActionEmail::MailFrom property.
// The default is FSRM@<localdomain>
hr = pSettings->get_MailFrom(&bstr);
if (FAILED(hr))
{
wprintf(L"pSettings->get_MailFrom failed, 0x%x.\n", hr);
goto cleanup;
}
wprintf(L"MailFrom: %s\n", bstr);
SysFreeString(bstr);
// Get the SMTP server. If not set, email is not sent.
hr = pSettings->get_SmtpServer(&bstr);
if (FAILED(hr))
{
wprintf(L"pSettings->get_SmtpServer failed, 0x%x.\n", hr);
goto cleanup;
}
wprintf(L"SmtpServer: %s\n", bstr);
SysFreeString(bstr);
// Each action can specify an interval to wait before executing the action again.
// The default for each action is 60 minutes.
wprintf(L"Default interval, in minutes, to wait between executing an action:\n");
hr = pSettings->GetActionRunLimitInterval(FsrmActionType_EventLog, &interval);
if (FAILED(hr))
{
wprintf(L"pSettings->GetActionRunLimitInterval(FsrmActionType_EventLog) failed, 0x%x.\n", hr);
goto cleanup;
}
wprintf(L"\tEventLog interval: %ld\n", interval);
hr = pSettings->GetActionRunLimitInterval(FsrmActionType_Email, &interval);
if (FAILED(hr))
{
wprintf(L"pSettings->GetActionRunLimitInterval(FsrmActionType_Email) failed, 0x%x.\n", hr);
goto cleanup;
}
wprintf(L"\tEmail interval: %ld\n", interval);
hr = pSettings->GetActionRunLimitInterval(FsrmActionType_Command, &interval);
if (FAILED(hr))
{
wprintf(L"pSettings->GetActionRunLimitInterval(FsrmActionType_Command) failed, 0x%x.\n", hr);
goto cleanup;
}
wprintf(L"\tCommand interval: %ld\n", interval);
hr = pSettings->GetActionRunLimitInterval(FsrmActionType_Report, &interval);
if (FAILED(hr))
{
wprintf(L"pSettings->GetActionRunLimitInterval(FsrmActionType_Report) failed, 0x%x.\n", hr);
goto cleanup;
}
wprintf(L"\tReport interval: %ld\n", interval);
hr = pSettings->put_SmtpServer(_bstr_t(L"<FQDNOFSMTPSERVER>"));
if (FAILED(hr))
{
wprintf(L"pSettings->put_SmtpServer failed, 0x%x.\n", hr);
goto cleanup;
}
cleanup:
if (pSettings)
pSettings->Release();
CoUninitialize();
}
Requirements
Requirement | Value |
---|---|
Minimum supported client | None supported |
Minimum supported server | Windows Server 2008 |
Target Platform | Windows |
Header | fsrm.h (include FsrmPipeline.h, FsrmQuota.h, FsrmReports.h, FsrmScreen.h, FsrmTlb.h) |