IABContainer::CopyEntriesIABContainer::CopyEntries

適用されます: OutlookApplies to: Outlook

1 つまたは複数のエントリ、メッセージを通常のユーザーまたは配布リストにコピーします。Copies one or more entries, typically messaging users or distribution lists.

HRESULT CopyEntries(
  LPENTRYLIST lpEntries,
  ULONG_PTR ulUIParam,
  LPMAPIPROGRESS lpProgress,
  ULONG ulFlags
);

ParametersParameters

lpEntrieslpEntries

[in]コピーするエントリのエントリ id が含まれているENTRYLIST構造体の配列へのポインター。[in] A pointer to an array of ENTRYLIST structures that contains the entry identifiers of the entries to copy.

ulUIParamulUIParam

[in]すべてのダイアログ ボックスの親ウィンドウまたはこのメソッドを表示するウィンドウへのハンドル。[in] The handle to the parent window of any dialog boxes or windows that this method displays. _UlFlags_パラメーターに AB_NO_DIALOG フラグが設定されている場合、 _ulUIParam_パラメーターは 0 にする必要があります。The ulUIParam parameter must be zero if the AB_NO_DIALOG flag is set in the ulFlags parameter.

lpProgresslpProgress

[in]進行状況インジケーターの場合、または NULL を表示する進行中のオブジェクトへのポインター。[in] A pointer to a progress object that displays a progress indicator, or NULL. _LpProgress_が NULL の場合は、 IMAPISupport::DoProgressDialogメソッドを介して、MAPI によって提供される進行中のオブジェクトを使用して進行状況のインジケーターを表示する必要があります。If lpProgress is NULL, a progress indicator should be displayed by using the progress object supplied by MAPI through the IMAPISupport::DoProgressDialog method. _UlFlags_に AB_NO_DIALOG フラグが設定されている場合、 _lpProgress_パラメーターは無視されます。The lpProgress parameter is ignored if the AB_NO_DIALOG flag is set in ulFlags.

ulFlagsulFlags

[in]コピー操作の実行方法を制御するフラグのビットマスクです。[in] A bitmask of flags that controls how the copy operation is performed. 次のフラグを設定することができます。The following flags can be set:

AB_NO_DIALOGAB_NO_DIALOG

進行状況インジケーターの表示を抑制します。Suppresses display of a progress indicator. このフラグが設定されていない場合は、進行状況のインジケーターが表示されます。If this flag is not set, a progress indicator is displayed.

CREATE_CHECK_DUP_LOOSECREATE_CHECK_DUP_LOOSE

緩やかなレベルの重複するエントリのチェックを実行することを示します。Indicates that a loose level of duplicate entry checking should be performed. 緩やかな重複するエントリのチェックの実装は、特定のプロバイダーです。The implementation of loose duplicate entry checking is provider specific. などのプロバイダーは、同じ 2 つのエントリの表示名と緩やかな一致を定義できます。For example, a provider can define a loose match as any two entries that have the same display name.

CREATE_CHECK_DUP_STRICTCREATE_CHECK_DUP_STRICT

厳密なレベルの重複するエントリのチェックを実行することを示します。Indicates that a strict level of duplicate entry checking should be performed. 厳密な重複するエントリのチェックの実装は、特定のプロバイダーです。The implementation of strict duplicate entry checking is provider specific. などのプロバイダーは、両方同じ 2 つのエントリの名前とメッセージのアドレスを表示すると、厳密な一致を定義できます。For example, a provider can define a strict match as any two entries that have both the same display name and messaging address.

CREATE_REPLACECREATE_REPLACE

2 つ重複していることが判明した場合に新しいエントリが既存のものを置換する必要があることを示します。Indicates that a new entry should replace an existing one if it is determined that the two are duplicates.

�߂�lReturn value

S_OKS_OK

コピー操作が成功しました。The copy operation succeeded.

MAPI_W_PARTIAL_COMPLETIONMAPI_W_PARTIAL_COMPLETION

コピー操作は完了しましたが、1 つまたは複数のエントリをコピーできませんでした。The copy operation succeeded overall, but one or more of the entries could not be copied. この値が返されると、呼び出しを成功として処理する必要があります。When this value is returned, the call should be handled as successful. この値をテストするには、 HR_FAILEDマクロを使用します。To test for this value, use the HR_FAILED macro. 詳細については、エラーを処理するためのマクロの使用を参照してください。For more information, see Using Macros for Error Handling.

備考Remarks

IABContainer::CopyEntriesメソッドは、同じコンテナーまたは別のコンテナーからエントリをコピーします。The IABContainer::CopyEntries method copies entries from the same container or a different container. CopyEntriesへの呼び出しは、コピーするには、各エントリの次の呼び出しと同等の機能です。A call to CopyEntries is functionally equivalent to making the following calls for each entry to be copied:

  1. 新しいエントリを作成するIABContainer::CreateEntryメソッドです。The IABContainer::CreateEntry method to create the new entry.

  2. コピーするエントリからプロパティを読み取るIMAPIProp::GetPropsメソッドです。The IMAPIProp::GetProps method to read properties from the entry to be copied.

  3. 新しいエントリのプロパティを記述するIMAPIProp::SetPropsメソッドです。The IMAPIProp::SetProps method to write properties to the new entry.

  4. IMAPIProp::SaveChangesメソッドを新しいエントリの保存を実行します。The new entry's IMAPIProp::SaveChanges method to perform a save.

  5. コンテナーの参照を解放するのには、新しいエントリのリ スのメソッドです。The new entry's IUnknown::Release method to release the container's reference.

実装者へのメモNotes to implementers

IABContainer::CopyEntriesメソッドをサポートするすべてのコンテナーは、変更可能である必要があります。All containers that support the IABContainer::CopyEntries method must be modifiable. 変更可能であることを示すには、そのPR_CONTAINER_FLAGS (PidTagContainerFlags) プロパティで、コンテナーの AB_MODIFIABLE フラグを設定します。Set your container's AB_MODIFIABLE flag in its PR_CONTAINER_FLAGS (PidTagContainerFlags) property to indicate that it is modifiable.

すべてのフラグの操作をサポートする必要があります。ただし、解釈し、これらのフラグの使用は、特定の実装-は、実装のコンテキストでは、CREATE_CHECK_DUP_LOOSE と CREATE_CHECK_DUP_STRICT のフラグの意味は何を意味を判断できます。You must support all of the flags; however, the interpretation and use of these flags is implementation specific—that is, you can determine what the semantics of the CREATE_CHECK_DUP_LOOSE and CREATE_CHECK_DUP_STRICT flags mean in the context of your implementation. できないかのエントリは、重複しているかどうかを決定できません、コピーするエントリを常に許可します。If you cannot or do not determine whether an entry is a duplicate, always allow the entry to be copied.

CREATE_REPLACE フラグが設定されている場合は、常に CREATE_CHECK_DUP_LOOSE または CREATE_CHECK_DUP_STRICT を設定するかどうかと、エントリは、重複しているかどうかに関係なくエントリをコピーします。If the CREATE_REPLACE flag is set, always copy the entry regardless of whether CREATE_CHECK_DUP_LOOSE or CREATE_CHECK_DUP_STRICT is set and whether the entry is a duplicate.

CREATE_REPLACE が設定されていない場合は、CREATE_CHECK_DUP_STRICT の設定は、重複データをチェックします。If CREATE_REPLACE is not set and CREATE_CHECK_DUP_STRICT is set, check for duplicates. 重複エントリが確認された場合は、エントリをコピーできません。If an entry is determined to be a duplicate, do not copy the entry.

CREATE_REPLACE; をサポートする必要はありません。CREATE_REPLACE をサポートしていないことは、無視しても安全とコピーが常に実行を意味します。You do not need to support CREATE_REPLACE; not supporting CREATE_REPLACE means that you can safely ignore it and always perform a copy.

重複していないエントリをコピーできない場合にのみ、MAPI_W_PARTIAL_COMPLETION の警告を返します。Return the warning MAPI_W_PARTIAL_COMPLETION only if a nonduplicate entry cannot be copied.

呼び出し側への注意Notes to callers

プロバイダーに重複するエントリのチェックを実行するためにコンテナーをどのようにするかを示すために、CREATE_CHECK_DUP_LOOSE と CREATE_CHECK_DUP_STRICT フラグを使用します。Use the CREATE_CHECK_DUP_LOOSE and CREATE_CHECK_DUP_STRICT flags to indicate to the provider how you want the container to perform duplicate-entry checking. 重複しているかどうかに関係なく追加のエントリがある場合は、いずれかまたは設定しませんこれらのフラグのいずれかの CREATE_REPLACE フラグを設定します。If you need to have an entry added regardless of whether it is a duplicate, either do not set either of these flags or set the CREATE_REPLACE flag. CREATE_REPLACE は、エントリが重複の場合を限定しないことを示します常にそれをする元のエントリを置き換えます。CREATE_REPLACE indicates that you do not care if an entry is a duplicate; you always want it to replace the original entry.

関連項目See also

ENTRYLISTENTRYLIST

IABContainer::CreateEntryIABContainer::CreateEntry

IMAPIProgress: IUnknownIMAPIProgress : IUnknown

IMAPIProp::SaveChangesIMAPIProp::SaveChanges

これにより: IMAPIContainerIABContainer : IMAPIContainer