サーバーの状態情報を返します。この情報に基づいて、レポート サーバーが要求を処理する準備ができているかどうかを判断します。
構文
Public Sub GetServerStatus(ByRef Names() As String, ByRef Statuses()_
As String, ByRef Descriptions() As String, ByRef Severities() As _
Int32, ByRef Length As Int32, ByRef HRESULT As Int32)
public void GetServerStatus(out string Names[], out string Statuses[],
out string Descriptions[], out sint32 Severities[],
out sint32 Length, out sint32 HRESULT);
パラメータ
- Names[]
設定の名前を表す配列。
- Statuses[]
設定の状態を表す配列。
- Descriptions[]
各設定の状態の説明を表す配列。
- Severities[]
各設定の状態の重大度レベルを表す配列。
- Length
返された配列の長さを表す整数値。
- HRESULT
成功またはエラー コードを示す値。
戻り値
GetServerStatus によって、レポート サーバーの複数の設定の構成がチェックされ、状態情報を表す配列セットで一致したものが返されます。
GetServerStatus によって、メソッド呼び出しの成功または失敗を示す HRESULT が返されます。値 0 は、レポート サーバー インスタンスが正常に起動したことを示します。正常に起動しなかった場合は、次のいずれかのエラーが返されます。
| エラー メッセージ |
|---|
ACT_E_CANT_CONNECT_CATALOG |
ACT_E_SERVICE_NOT_ACTIVATED |
ACT_E_SERVICE_DISABLED |
ACT_E_UNEXPECTED_DB_ERROR |
ACT_E_UNEXPECTED_DB_RESULT |
ACT_E_ALREADY_ACTIVATED |
ACT_E_NOT_ANNOUNCED |
ACT_E_NOT_ADMIN |
ACT_E_DB_IMPERSONATE_ERROR |
ACT_E_CRYPT_IMPERSONATE_ERROR |
ACT_E_CRYPT_EXPORT_ERROR |
解説
WMI 管理オブジェクトによって公開されるメソッドは、InvokeMethod 関数によって呼び出されます。詳細については、Microsoft .NET Framework WMI ドキュメントの「管理オブジェクトのメソッドの実行」を参照してください。
使用例
次のサンプル コードは、指定したコンピュータにあるすべてのレポート サーバー インスタンスの構成設定を表示します。
using System;
using System.Management;
using System.IO;
[assembly: CLSCompliant(true)]
class Class1
{
[STAThread]
static void Main(string[] args)
{
const string machineWmiNamespace =
@"\\localhost\root\Microsoft\SqlServer\ReportServer\v9";
ConnectionOptions connOptions = new ConnectionOptions();
connOptions.Authentication = AuthenticationLevel.Default;
ObjectGetOptions getOptions = new ObjectGetOptions();
getOptions.Timeout = new System.TimeSpan(0, 0, 30);
ManagementScope machineScope =
new ManagementScope(machineWmiNamespace, connOptions);
machineScope.Connect();
ManagementPath path =
new ManagementPath("MSReportServer_Instance");
ManagementClass serverClass =
new ManagementClass(machineScope, path, getOptions);
serverClass.Get();
ManagementObjectCollection instances =
serverClass.GetInstances();
foreach (ManagementObject instance in instances)
{
Console.WriteLine("\n-----\nSERVER STATUS:\n");
ManagementBaseObject serverStatusObject =
instance.InvokeMethod("GetServerStatus", null, null);
int t = (int)serverStatusObject["Length"];
Array namesArray = (Array)serverStatusObject["Names"];
Array descArray =
(Array)serverStatusObject["Descriptions"];
Array statusArray =
(Array)serverStatusObject["Statuses"];
Array severityArray =
(Array)serverStatusObject["Severities"];
for (int i = 0; i < t; i++)
{
Console.WriteLine("{0} - {1}",
(string)namesArray.GetValue(i),
(string)descArray.GetValue(i));
Console.WriteLine("Value: {0}, Severity: {1}",
(string)statusArray.GetValue(i),
(int)severityArray.GetValue(i));
}
Console.WriteLine("\n--- Press any key ---");
Console.ReadKey();
}
}
}
要件
名前空間 :root\Microsoft\SqlServer\ReportServer\v9
プラットフォーム : Windows Server 2003 Datacenter Edition、Windows Server 2003 Enterprise Edition、Windows Server 2003 Standard Edition、Windows Vista、Windows XP Professional Service Pack 2 (SP2) または Service Pack 1 (SP1)、および Windows 2000 (すべてのバージョン)
参照
関連項目
MSReportServer_ConfigurationSetting メンバ