Compartir a través de


OLFI

Hace referencia a: Outlook 2013 | Outlook 2016

Cola de estructuras de identificador a largo plazo usadas por el proveedor de almacenamiento de archivos de carpetas personales (PST) para asignar un identificador de entrada para un nuevo mensaje o carpeta en modo sin conexión.

Información rápida

typedef struct { 
    ULONG    ulVersion; 
    MAPIUID  muidReserved; 
    ULONG    ulReserved; 
    DWORD    dwAlloc; 
    DWORD    dwNextAlloc; 
    LTID     ltidAlloc; 
    LTID     ltidNextAlloc; 
} OLFI, *POLFI;

Members

ulVersion

  • Número de versión de la estructura.

muidReserved

  • Este miembro está reservado para el uso interno de Outlook y no se admite.

ulReserved

  • Este miembro está reservado para el uso interno de Outlook y no se admite.

dwAlloc

  • Número de entradas que están disponibles para la asignación. Estas entradas comparten el mismo identificador único global (GUID).

dwNextAlloc

  • Número de entradas que están disponibles a continuación para la asignación. Estas entradas comparten el mismo GUID.

ltidAlloc

  • La estructura de identificador a largo plazo, LTID, que identifica la entrada disponible actualmente para la asignación. La estructura de identificador a largo plazo contiene un GUID y un índice que identifica un objeto en el almacén. Juntos, el GUID y el índice pueden formar un identificador de entrada único para un objeto .

ltidNextAlloc

  • Estructura de identificador a largo plazo que identifica la siguiente entrada disponible.

Comentarios

Un identificador de entrada es un identificador de entrada MAPI de 4 bytes para una carpeta o un mensaje. Para obtener más información, vea ENTRYID.

Cuando un proveedor de almacén PST asigna un identificador de entrada a un nuevo objeto, primero necesita un GUID que identifique el servidor y un índice que identifique el objeto en el almacén. Aunque el GUID no es único en todos los identificadores de entrada, el GUID y el índice combinado proporcionan una entrada única. Este GUID y el par de índices se realiza un seguimiento de una estructura de identificador a largo plazo, LTID, que forma parte de la estructura OLFI .

El proveedor de almacén PST no mantiene físicamente en OLFI una estructura LTID para cada par GUID-índice. Mantiene una estructura LTID , ltidAlloc, para el primer par GUID-index disponible actualmente; un recuento, dwAlloc, del número de entradas disponibles que comparten este mismo GUID; y una segunda estructura LTID , ltidNextAlloc, para el siguiente par GUID-índice disponible que tiene un GUID diferente. El proveedor de almacenes PST usa la estructura OLFI para realizar un seguimiento de los GUID e índices que ha entregado. En un nivel virtual, el proveedor mantiene una reserva de varias estructuras LTID que están listas para asignarse. dwAlloc mantiene un recuento de las estructuras LTID disponibles.

Las solicitudes de identificadores de entrada se incluyen en bloques. Cuando hay una solicitud para un bloque, el proveedor de almacén PST comprueba si hay suficiente reserva a mano comparando el tamaño solicitado con dwAlloc. Si hay suficiente reserva, devuelve el GUID y el índice en ltidAlloc para la asignación. A continuación, disminuye dwAlloc por el tamaño solicitado y aumenta el índice en ltidAlloc por el tamaño solicitado. Esto prepara el proveedor del almacén PST para asignar ltidAlloc en la siguiente solicitud para otro bloque de identificadores de entrada. Tenga en cuenta que el GUID sigue siendo el mismo para la siguiente solicitud.

Si el tamaño de una solicitud es mayor que dwAlloc, el proveedor de almacén PST intenta usar lo que tiene a continuación en reserva, tal como se especifica en dwNextAlloc y ltidNextAlloc. Copia dwNextAlloc y ltidNextAlloc a dwAlloc y ltidAlloc respectivamente, y establece dwNextAlloc y ltidNextAlloc en NULL.

Un proveedor que encapsula el proveedor de almacén PST debe comprobar periódicamente ltidNextAlloc para ver si es NULL. Si es así, el proveedor debe rellenarlo con un nuevo GUID y restablecer dwNextAlloc para que se puedan asignar más identificadores de entrada.

Vea también

Acerca de la API de replicación acerca del LTIDde la máquina de estado de replicación