状態テーブルとオブジェクトの状態Status Table and Status Objects

適用されます: OutlookApplies to: Outlook

MAPI は MAPI のサブシステム、MAPI スプーラー、アドレス帳、または特定のサービス プロバイダーのステータスに関する情報を持つテーブルを提供します。MAPI provides a table with information about the status of the MAPI subsystem, MAPI spooler, address book, or a particular service provider. IMAPISession::GetStatusTableを呼び出すことによってこのテーブルにアクセスできます。You can access this table by calling IMAPISession::GetStatusTable.

状態テーブル内の各行は、MAPI またはサービス プロバイダーによって実装される状態オブジェクトを表します。Each row in the status table represents a status object implemented by MAPI or a service provider. アップロードまたはメッセージをダウンロードしてのに、特定のトランスポート プロバイダーと通信するのにプロバイダーのパスワードを変更するのには、プロバイダーの設定] プロパティ シートを表示するのには、状態オブジェクトを使用できます。You can use a status object to display a provider's configuration property sheet, to change a provider password, to upload or download messages, and to communicate with a particular transport provider.

状態オブジェクトにアクセスするための 2 つの方法があります。There are two ways to access a status object:

  • 状態テーブルをThrough the status table

  • ログオン オブジェクトのOpenStatusEntryメソッドを使用Through a logon object's OpenStatusEntry method

ログオン オブジェクトがクライアントに使用可能なため、状態オブジェクトにアクセスするのにはステータス ・ テーブルを使わなければなりません。Because logon objects are unavailable to clients, you must use the status table to access status objects. 状態テーブルのアプローチは、いくつかの呼び出しを必要とする状態オブジェクトが開かれ、そのIMAPIStatus実装へのポインターが返される前に、直接ではありません。The status table approach is indirect, requiring a few calls before the status object is opened and a pointer to its IMAPIStatus implementation returned.

開くには、状態オブジェクトの状態テーブルを使用するにはTo use the status table to open a status object

  1. IMAPITableポインターを取得するためにIMAPIStatus::GetStatusTableを呼び出します。Call IMAPIStatus::GetStatusTable to retrieve an IMAPITable pointer.

  2. PR_ENTRYID (PidTagEntryId)、 PR_RESOURCE_TYPE (PidTagResourceType) およびPR_DISPLAY_NAME ([に設定する列を制限するのには、状態テーブルのIMAPITable::SetColumnsメソッドを呼び出すPidTagDisplayName](pidtagdisplayname-canonical-property.md))。Call the status table's IMAPITable::SetColumns method to limit the column set to PR_ENTRYID (PidTagEntryId), PR_RESOURCE_TYPE (PidTagResourceType), and PR_DISPLAY_NAME (PidTagDisplayName).

  3. 特定のステータスのオブジェクトをテーブルのビューを制限します。Limit the table view to a particular status object. MAPI 実装では、クライアントはPR_RESOURCE_TYPEを使用してプロパティの制限を定義できます。For MAPI implementations, a client can define a property restriction using PR_RESOURCE_TYPE. PR_PROVIDER_DISPLAY (PidTagProviderDisplay)、プロバイダーの名前やPR_PROVIDER_DLL_NAME (PidTagProviderDllName) は、プロバイダーの DLL の名前サービス プロバイダー実装では、クライアントを制限することができます。ファイルです。For service provider implementations, a client can restrict on PR_PROVIDER_DISPLAY (PidTagProviderDisplay), the name of the provider, or on PR_PROVIDER_DLL_NAME (PidTagProviderDllName), the name of the provider DLL file.

  4. 制限を設定するのにはIMAPITable::Restrictを呼び出します。Call IMAPITable::Restrict to set the restriction.

  5. HrQueryAllRowsSPropertyRestriction構造体を渡すことを呼び出し、プロバイダーの状態を表す行を取得します。Call HrQueryAllRows, passing in the SPropertyRestriction structure, to retrieve the row that represents the status of the provider.

  6. IMAPISession::OpenEntry、状態テーブルの行からのエントリ id を指定する状態オブジェクトを開き、 IMAPIStatusポインターを取得するを呼び出します。Call IMAPISession::OpenEntry, specifying the entry identifier from the status table row, to open the status object and retrieve an IMAPIStatus pointer.

プロパティ シートを表示するには、対象のプロバイダーの状態のオブジェクトのIMAPIStatus::SettingsDialogメソッドを呼び出します。To display a property sheet, call the status object's IMAPIStatus::SettingsDialog method for the target provider. SettingsDialogでは、プロバイダーの構成のプロパティを変更する表示のため、場合によっては、プロパティ シートを表示します。SettingsDialog displays a property sheet for viewing and in some cases, changing the configuration properties of a provider.

トランスポート プロバイダーとの通信をするには、その状態のオブジェクトのIMAPIStatus::ValidateStateメソッドを呼び出します。To communicate with a transport provider, call its status object's IMAPIStatus::ValidateState method. ValidateStateは、トランスポート プロバイダーを再構成品を獲得し、プロバイダーが、ユーザー インターフェイスを表示しないようにするに渡されるフラグの設定により、リモート サーバーからのメッセージ ヘッダーのダウンロードに関連するセッションを制御できます。ValidateState can reconfigure a transport provider, prevent the provider from displaying a user interface, and control a session that involves downloading message headers from a remote server, depending on the flags that you pass in. たとえば、リモート ヘッダーのダウンロードをキャンセルするには、 ValidateStateに ABORT_XP_HEADER_OPERATION フラグを渡します。For example, to cancel the downloading of remote headers, pass the ABORT_XP_HEADER_OPERATION flag to ValidateState. リモート サーバーから切断、または接続するには、FORCE_XP_CONNECT または FORCE_XP_DISCONNECT を渡します。To connect or disconnect from the remote server, pass FORCE_XP_CONNECT or FORCE_XP_DISCONNECT. プロバイダーを再設定するには、CONFIG_CHANGED を渡します。To reconfigure the provider, pass CONFIG_CHANGED.

要求時にメッセージの送信または受信を実装するクライアントは、トランスポート プロバイダーのまたは MAPI スプーラーのいずれかのIMAPIStatus::FlushQueuesメソッドを呼び出します。Clients that implement sending or receiving of messages on demand call either a transport provider's or the MAPI spooler's IMAPIStatus::FlushQueues method. メソッドに 3 つのフラグを渡すことができます: FLUSH_UPLOAD、FLUSH_DOWNLOAD、および FLUSH_FORCE。You can pass three flags into the method: FLUSH_UPLOAD, FLUSH_DOWNLOAD, and FLUSH_FORCE. FLUSH_UPLOAD は、着信メッセージを受信するプロバイダーまたは FLUSH_DOWNLOAD プロバイダーを指示するときに、出力キューで待機しているすべてのメッセージを送信するのには、MAPI スプーラーを無効、または MAPI スプーラーに指示します。FLUSH_UPLOAD instructs the provider or the MAPI spooler to send any messages waiting in the output queue while FLUSH_DOWNLOAD instructs the provider or the MAPI spooler to receive any incoming messages. FLUSH_FORCE は、タイミングに関係なく、フラッシュを実行する状態オブジェクトが発生する他のフラグのいずれかを設定できます。FLUSH_FORCE can be set with either of the other flags to cause the status object to perform the flush regardless of the timing.

呼び出せるようにSettingsDialogまたはパスワードの変更を、MAPI サブシステム、MAPI スプーラーを無効、またはアドレスのいずれかの書籍の状態のオブジェクトにされないようにします。Do not expect to be able to call SettingsDialog or ChangePassword on any of the MAPI subsystem, MAPI spooler, or address book status objects. のみ、サブシステムとアドレス帳のステータスのオブジェクトがサポートしているValidateStateです。MAPI スプーラーの状態オブジェクトは、 ValidateStateだけでなく、 FlushQueuesをサポートします。Both the subsystem and address book status objects only support ValidateState; the MAPI spooler status object supports FlushQueues in addition to ValidateState.

関連項目See also

ステータス ・ テーブルStatus Tables

MAPI オブジェクトのステータスMAPI Status Objects