ScRelocPropsScRelocProps

適用されます: OutlookApplies to: Outlook

SPropValue配列のポインターは、配列とそのデータがコピーまたは新しい場所に移動された後に調整します。Adjusts the pointers in an SPropValue array after the array and its data have been copied or moved to a new location.

ヘッダー ファイル:Header file:
Mapidefs.hMapidefs.h
によって実装されます。Implemented by:
MAPIMAPI
によって呼び出されます。Called by:
クライアント アプリケーションとサービス ・ プロバイダーClient applications and service providers
SCODE ScRelocProps(
  int cprop,
  LPSPropValue rgprop,
  LPVOID pvBaseOld,
  LPVOID pvBaseNew,
  ULONG FAR * pcb
);

ParametersParameters

cpropcprop

[in]_Rgprop_パラメーターが指す配列内のプロパティの数です。[in] Count of properties in the array pointed to by the rgprop parameter.

rgproprgprop

[in]ポインターが調整するのにはSPropValue構造体の配列へのポインター。[in] Pointer to an array of SPropValue structures for which pointers are to be adjusted.

pvBaseOldpvBaseOld

[in]_Rgprop_パラメーターが指す配列の元のベース アドレスへのポインターです。[in] Pointer to the original base address of the array pointed to by the rgprop parameter.

pvBaseNewpvBaseNew

[in]_Rgprop_パラメーターが指す配列の新しいベース アドレスへのポインターです。[in] Pointer to the new base address of the array pointed to by the rgprop parameter.

pcbpcb

[で [チェック アウト]ポインターを_pvBaseNew_パラメーターで指定された配列のバイト単位のサイズを指します。[in, out] Optional pointer to the size, in bytes, of the array indicated by the pvBaseNew parameter. 設定されていない場合 NULL の場合、 _pcb_のパラメーターは_pvD_パラメーターに格納されるバイトの数です。If not NULL, the pcb parameter is set to the number of bytes stored in the pvD parameter.

�߂�lReturn value

S_OKS_OK

ポインターが正常に調整されました。Pointers were adjusted successfully.

MAPI_E_INVALID_PARAMETERMAPI_E_INVALID_PARAMETER

1 つまたは両方のパラメーターが有効でなかったか、不明なプロパティの種類が発生しました。One or both parameters were invalid, or an unknown property type was encountered.

備考Remarks

ScRelocProps関数は、ポインターが調整のプロパティ値の配列が最初に割り当てられたのScCopyProps関数の呼び出しのような 1 つの呼び出しであるという前提で動作します。The ScRelocProps function operates on the assumption that the property value array for which pointers are adjusted was originally allocated in a single call similar to a call to the ScCopyProps function. 切り離されたメモリ ブロックから構築されたプロパティの値では、クライアント アプリケーションまたはサービス プロバイダーが動作している場合は、代わりにプロパティをコピーするのにはScCopyPropsを使用してください。If a client application or service provider is working with a property value that is built from disjointed blocks of memory, it should use ScCopyProps to copy properties instead.

SPropValue配列内のポインターの有効性を維持するためにScRelocPropsが使用されます。ScRelocProps is used to maintain the validity of pointers in an SPropValue array. ポインターの有効性を保つためにそのような配列を書き込むと、ディスクから読み込むには、次の操作を実行します。To maintain pointers' validity when writing such an array to and reading it from a disk, perform the following operations:

  1. アレイとのデータをディスクに書き出す前に、アレイ上のいくつか標準的な値が 0 を指す_pvBaseNew_パラメーターを使用してScRelocPropsを呼び出します。Before writing the array and data to a disk, call ScRelocProps on the array with the pvBaseNew parameter pointing to some standard value zero, for instance.

  2. アレイとのデータをディスクから読み取り後を呼び出すScRelocProps 、 _pvBaseOld_パラメーターを使用してアレイに手順 1 で使用される同じ標準的な値に等しい。After reading the array and data from a disk, call ScRelocProps on the array with the pvBaseOld parameter equal to the same standard value used in Step 1. 配列およびデータは、1 つの割り当てで作成されたバッファーに読み取る必要があります。The array and data must be read into a buffer created with a single allocation.

  3. ScRelocProps _pcb_のパラメーターはオプションです。The pcb parameter to ScRelocProps is optional.

関連項目See also

MAPIAllocateBufferMAPIAllocateBuffer

ScCountPropsScCountProps

ScDupPropsetScDupPropset

ScRelocNotificationsScRelocNotifications