次の方法で共有


IFsrmSetting インターフェイス (fsrm.h)

FSRM の構成に使用されます。

このインターフェイスを取得するには、 CoCreateInstanceEx 関数を呼び出します。 CLSID_FsrmSettingをクラス識別子として使用し、__uuidof(IFsrmSetting)インターフェイス識別子として使用します。

継承

IFsrmSetting インターフェイスは、IDispatch インターフェイスから継承されます。 IFsrmSetting には、次の種類のメンバーもあります。

メソッド

IFsrmSetting インターフェイスには、これらのメソッドがあります。

 
IFsrmSetting::EmailTest

指定したメール アドレスに電子メール メッセージを送信します。
IFsrmSetting::get_AdminEmail

管理者のメール アドレスを取得または設定します。 (Get)
IFsrmSetting::get_DisableCommandLine

FSRM がコマンド ライン アクションの実行を妨げるかどうかを決定する値を取得または設定します。 (Get)
IFsrmSetting::get_EnableScreeningAudit

FSRM がファイル画面違反の監査レコードを保持するかどうかを決定する値を取得または設定します。 (Get)
IFsrmSetting::get_MailFrom

電子メール メッセージの送信元の既定のメール アドレスを取得または設定します。 (Get)
IFsrmSetting::get_SmtpServer

FSRM が電子メールの送信に使用する SMTP サーバーを取得または設定します。 (Get)
IFsrmSetting::GetActionRunLimitInterval

グローバル実行制限間隔を使用するアクションが、アクションが再度実行されるまで待機する必要がある時間を取得します。
IFsrmSetting::p ut_AdminEmail

管理者のメール アドレスを取得または設定します。 (Put)
IFsrmSetting::p ut_DisableCommandLine

FSRM がコマンド ライン アクションの実行を妨げるかどうかを決定する値を取得または設定します。 (Put)
IFsrmSetting::p ut_EnableScreeningAudit

FSRM がファイル画面違反の監査レコードを保持するかどうかを決定する値を取得または設定します。 (Put)
IFsrmSetting::p ut_MailFrom

電子メール メッセージの送信元の既定のメール アドレスを取得または設定します。 (Put)
IFsrmSetting::p ut_SmtpServer

FSRM が電子メールの送信に使用する SMTP サーバーを取得または設定します。 (Put)
IFsrmSetting::SetActionRunLimitInterval

グローバル実行制限間隔を使用するアクションが、アクションが再度実行されるまでに待機する必要がある時間を設定します。

解説

スクリプトからこのオブジェクトを作成するには、プログラム識別子 "Fsrm.FsrmSetting" を使用します。

次の例は、このインターフェイスのプロパティを取得する方法を示しています。

#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();
}

要件

   
サポートされている最小のクライアント サポートなし
サポートされている最小のサーバー Windows Server 2008
対象プラットフォーム Windows
ヘッダー fsrm.h (FsrmPipeline.h、FsrmQuota.h、FsrmReports.h、FsrmScreen.h、FsrmTlb.h を含む)

関連項目

FSRM インターフェイス

FsrmSetting