Compartilhar via


ScRelocProps

Aplica-se a: Outlook 2013 | Outlook 2016

Ajusta os ponteiros em uma matriz SPropValue depois que a matriz e seus dados foram copiados ou movidos para um novo local.

Propriedade Valor
Arquivo de cabeçalho:
Mapidefs.h
Implementado por:
MAPI
Chamado por:
Aplicativos cliente e provedores de serviços
SCODE ScRelocProps(
  int cprop,
  LPSPropValue rgprop,
  LPVOID pvBaseOld,
  LPVOID pvBaseNew,
  ULONG FAR * pcb
);

Parâmetros

cprop

[in] Contagem de propriedades na matriz apontada pelo parâmetro rgprop .

rgprop

[in] Ponteiro para uma matriz de estruturas SPropValue para as quais os ponteiros devem ser ajustados.

pvBaseOld

[in] Ponteiro para o endereço base original da matriz apontada pelo parâmetro rgprop .

pvBaseNew

[in] Ponteiro para o novo endereço base da matriz apontada pelo parâmetro rgprop .

Pcb

[in, out] Ponteiro opcional para o tamanho, em bytes, da matriz indicada pelo parâmetro pvBaseNew . Se não for NULL, o parâmetro pcb será definido como o número de bytes armazenados no parâmetro pvD .

Valor de retorno

S_OK

Os ponteiros foram ajustados com êxito.

MAPI_E_INVALID_PARAMETER

Um ou ambos os parâmetros eram inválidos ou um tipo de propriedade desconhecido foi encontrado.

Comentários

A função ScRelocProps opera na suposição de que a matriz de valor da propriedade para a qual os ponteiros são ajustados foi originalmente alocada em uma única chamada semelhante a uma chamada para a função ScCopyProps . Se um aplicativo cliente ou provedor de serviços estiver trabalhando com um valor de propriedade criado a partir de blocos de memória desarticulados, ele deverá usar ScCopyProps para copiar propriedades.

ScRelocProps é usado para manter a validade de ponteiros em uma matriz SPropValue . Para manter a validade dos ponteiros ao escrever tal matriz e lê-la de um disco, execute as seguintes operações:

  1. Antes de escrever a matriz e os dados em um disco, chame ScRelocProps na matriz com o parâmetro pvBaseNew apontando para algum valor padrão zero, por exemplo.

  2. Depois de ler a matriz e os dados de um disco, chame ScRelocProps na matriz com o parâmetro pvBaseOld igual ao mesmo valor padrão usado na Etapa 1. A matriz e os dados devem ser lidos em um buffer criado com uma única alocação.

  3. O parâmetro pcb para ScRelocProps é opcional.

Confira também

MAPIAllocateBuffer

ScCountProps

ScDupPropset

ScRelocNotifications