ScRelocProps
適用対象: Outlook 2013 | Outlook 2016
配列とそのデータがコピーまたは新しい場所に移動された後に 、SPropValue 配列内のポインターを調整します。
プロパティ | 値 |
---|---|
ヘッダー ファイル: |
Mapidefs.h |
実装元: |
MAPI |
呼び出し元: |
クライアント アプリケーションとサービス プロバイダー |
SCODE ScRelocProps(
int cprop,
LPSPropValue rgprop,
LPVOID pvBaseOld,
LPVOID pvBaseNew,
ULONG FAR * pcb
);
パラメーター
cprop
[in] rgprop パラメーターによって指される配列内のプロパティの数。
rgprop
[in]ポインターを調整する SPropValue 構造体の配列へのポインター。
pvBaseOld
[in] rgprop パラメーターによって指される配列の元のベース アドレスへのポインター。
pvBaseNew
[in] rgprop パラメーターによって指される配列の新しいベース アドレスへのポインター。
Pcb
[in, out] pvBaseNew パラメーターによって示される配列のサイズ (バイト単位) への省略可能なポインター。 NULL でない場合、 pcb パラメーターは pvD パラメーターに格納されているバイト数に設定されます。
戻り値
S_OK
ポインターが正常に調整されました。
MAPI_E_INVALID_PARAMETER
1 つまたは両方のパラメーターが無効であったか、不明なプロパティの種類が検出されました。
注釈
ScRelocProps 関数は、ポインターが調整されるプロパティ値配列が、もともと ScCopyProps 関数の呼び出しと同様に 1 回の呼び出しで割り当てられたことを前提として動作します。 クライアント アプリケーションまたはサービス プロバイダーが、不整合なメモリ ブロックから構築されたプロパティ値を使用している場合は、代わりに ScCopyProps を 使用してプロパティをコピーする必要があります。
ScRelocProps は、SPropValue 配列内のポインターの有効性を維持するために使用されます。 このような配列をディスクに書き込み、ディスクから読み取るときにポインターの有効性を維持するには、次の操作を実行します。
配列とデータをディスクに書き込む前に、たとえば、pvBaseNew パラメーターが標準値 0 を指す配列で ScRelocProps を呼び出します。
ディスクから配列とデータを読み取った後、手順 1 で使用したのと同じ標準値と等しい pvBaseOld パラメーターを使用して、配列の ScRelocProps を呼び出します。 配列とデータは、1 つの割り当てで作成されたバッファーに読み込む必要があります。
ScRelocProps への pcb パラメーターは省略可能です。