HrValidateIPMSubtree

適用対象: Outlook 2013 | Outlook 2016

標準の対人メッセージ (IPM) フォルダーをメッセージ ストアに追加します。

プロパティ
ヘッダー ファイル: Mapiutil.h
実装元: MAPI
呼び出し元: クライアント アプリケーション
HrValidateIPMSubtree(
  LPMDB lpMDB,
  ULONG ulFlags,
  ULONG FAR * lpcValues,
  LPSPropValue FAR * lppProps,
  LPMAPIERROR FAR * lppMapiError
);

パラメーター

lpMDB

[in]フォルダーを追加するメッセージ ストア オブジェクトへのポインター。

ulFlags

[in]フォルダーの作成方法を制御するために使用されるフラグのビットマスク。 次のフラグを設定できます。

MAPI_FORCE_CREATE

フォルダーは、メッセージ ストアのプロパティが有効であることを示している場合でも、作成前に確認する必要があります。 クライアント アプリケーションは、通常、既存のフォルダーの構造が破損していることを示すエラーが発生したときに、このフラグを設定します。

MAPI_FULL_IPM_TREE

IPM フォルダーの完全なセットは、メッセージ ストアのルート フォルダーに作成する必要があります。 階層内のフォルダー タイトルは次のとおりです。

  • フォルダー ビュー
  • 共通ビュー
  • 検索ルート*
  • IPM サブツリー*
  • 受信トレイ
  • 送信トレイ
  • 削除済みアイテム*
  • 送信済みアイテム

ここで、 * でマークされた 3 つのフォルダーは、MAPI_FULL_IPM_TREE フラグが設定されていない場合でも作成される最小セットです。 通常、クライアント アプリケーションは、フォルダーを作成するメッセージ ストアが既定のストアである場合に、このフラグを設定します。

lpcValues

[in, out]lppProps パラメーターで返される配列内の SPropValue 構造体の数へのポインター。 lppProps が NULL の場合、lpcValues パラメーターの値は 0 にすることができます。

lppProps

[in, out]PR_VALID_FOLDER_MASK (PidTagValidFolderMask) プロパティと適切なフォルダー エントリ識別子プロパティのプロパティ値を含む SPropValue 構造体の配列へのポインター。 HrValidateIPMSubtree がメッセージ ストアに受信トレイを作成する場合、SPropValue 配列には、特殊なプロパティ タグが としてPROP_TAG(PT_BINARY, PROP_ID_NULL)コード化された受信トレイ エントリ識別子が含まれます。 lppProps パラメーターには NULL を指定できます。呼び出し元の実装で SPropValue 配列を返す必要はないことを示します。

lppMapiError

[out]エラーのバージョン、コンポーネント、コンテキスト情報を含む MAPIERROR 構造体へのポインターへのポインター。 MAPIERROR 構造体が返されない場合、lppMAPIError パラメーターは NULL に設定されます。

戻り値

なし。

注釈

MAPI では、 HrValidateIPMSubtree 関数を内部的に使用して、ストアが最初に開かれるとき、またはストアが既定のストアになったときに、メッセージ ストアに標準 IPM サブツリーを構築します。 この関数は、クライアント アプリケーションが標準メッセージ フォルダーを検証または修復するためにも使用できます。

HrValidateIPMSubtree は、常にストアのルート フォルダーに検索ルート フォルダーと IPM サブツリー フォルダーを作成し、IPM サブツリー フォルダーの削除済みアイテム フォルダーを作成します。 IPM サブツリー フォルダーは、そのメッセージ ストア内の IPM 階層のルートです。 検索ルート フォルダーは、検索結果フォルダーのサブツリーのルートとして使用できます。

IPM クライアントは、IPM サブツリー ルート フォルダーから始まり、その下に子フォルダーを表示するフォルダー ビューを表示する必要があります。 メッセージ ストアのルート フォルダー内の情報は、クライアントのユーザー インターフェイスに表示しないでください。 この機能は、クライアントが情報を非表示にする必要がある場合は、IPM サブツリー ルート ディレクトリに情報を配置できることを意味します。このディレクトリは、ユーザーには表示されません。 一方、サーバー ベースのメッセージ ストアなど、メッセージやフォルダーをユーザーに表示しない必要がある IPM 以外のアプリケーションは、IPM 階層の外部に配置できます。

HrValidateIPMSubtree、PR_VALID_FOLDER_MASK プロパティを設定して、作成する各 IPM フォルダーに有効なエントリ識別子があるかどうかを示します。 メッセージ ストアの次のエントリ識別子プロパティは、対応するフォルダーのエントリ識別子に設定され、PR_VALID_FOLDER_MASKと共に lppProps パラメーターで返されます。

PR_COMMON_VIEWS_ENTRYID (PidTagCommonViewsEntryId)

PR_FINDER_ENTRYID (PidTagFinderEntryId)

PR_IPM_OUTBOX_ENTRYID (PidTagIpmOutboxEntryId)

PR_IPM_SENTMAIL_ENTRYID (PidTagIpmSentMailEntryId)

PR_IPM_SUBTREE_ENTRYID (PidTagIpmSubtreeEntryId)

PR_IPM_WASTEBASKET_ENTRYID (PidTagIpmWastebasketEntryId)

PR_VIEWS_ENTRYID (PidTagViewsEntryId)

IPM 受信トレイ ( PT_BINARY 、PROP_ID_NULL) のプレースホルダー PROP_TAG。

MFCMAPI リファレンス

MFCMAPI のサンプル コードについては、次の表を参照してください。

ファイル 関数 コメント
MstStoreDlg.cpp CMsgStoreDlg::OnValidateIPMSubtree MFCMAPI では 、HrValidateIPMSubtree メソッドを使用して、標準フォルダーをメッセージ ストアに追加します。

関連項目

IMAPISession::OpenMsgStoreMFCMAPI をコード サンプルとして使用する