Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Un registro de Common Log File System (CLFS) puede ser dedicado o multiplexado. Un registro dedicado actúa como almacenamiento estable para una sola secuencia. Un registro multiplexado actúa como almacenamiento estable para varias secuencias. En este tema se describen los registros dedicados. Para obtener información sobre los registros multiplexados, vea Registros clFS multiplexados.
Para crear un registro dedicado, realice los pasos siguientes.
Llame a ClfsCreateLogFile para obtener un puntero a una estructura de LOG_FILE_OBJECT . Establezca el parámetro puszLogFileName en una cadena del formulario "log:<log name>", donde <log name> es una ruta de acceso válida en el sistema de archivos subyacente. Por ejemplo, si establece puszLogFileName en "log:c:\ClfsLogs\myLog", el archivo de registro base myLog.blf se crearía en el directorio c:\ClfsLogs. El directorio c:\ClfsLogs también serviría como la ubicación predeterminada para los contenedores que agregue al registro más adelante.
Nota Es la forma de la cadena pasada en puszLogFileName que determina si CLFS crea un registro dedicado o multiplexado. Si la cadena tiene dos puntos (::) después del nombre del registro, CLFS crea un registro multiplexado. En el ejemplo que se proporciona aquí, "log:c\ClfsLogs\myLog" no tiene dos puntos, por lo que CLFS crea un registro dedicado.
El puntero LOG_FILE_OBJECT devuelto por ClfsCreateLogFile representa una instancia abierta de la secuencia única y única del registro dedicado.
Pase el puntero LOG_FILE_OBJECT que obtuvo de ClfsCreateLogFile a ClfsAddLogContainer para crear un contenedor (extensión física contigua) en un almacenamiento estable que contendrá registros de registro. Especifique el tamaño del contenedor (que se redondeará hasta un múltiplo de 512 kilobytes) estableciendo el parámetro pcbContainer . Establezca el parámetro puszContainerPath para especificar un nombre de ruta de acceso para el contenedor. El nombre de la ruta de acceso puede ser absoluto o relativo al directorio que contiene el archivo de registro base.
Puede crear contenedores adicionales para el registro llamando a ClfsAddLogContainer de nuevo. Tenga en cuenta que todos los contenedores de un registro determinado deben tener el mismo tamaño. Como alternativa a llamar a ClfsAddLogContainer varias veces, puede llamar a ClfsAddLogContainerSet para crear varios contenedores simultáneamente.
Pase el puntero LOG_FILE_OBJECT obtenido de ClfsCreateLogFile a ClfsCreateMarshallingArea para obtener un puntero a un área de serialización que puede usar para leer y escribir registros de registro en la secuencia. Especifique el tamaño de los bloques de E/S de registro que usará el área de serialización estableciendo el parámetro cbMarshallingBuffer . Hay otros parámetros que puede usar para establecer varias propiedades del área de serialización.
Si necesita áreas de serialización adicionales, pase de nuevo el mismo puntero LOG_FILE_OBJECT a ClfsCreateMarshallingArea , una vez para cada área de serialización adicional que necesite.
Ahora que tiene una o varias áreas de serialización asociadas a la secuencia, puede escribir registros en esas áreas de serialización llamando a las siguientes funciones.
ClfsReserveAndAppendLogAligned
Cada vez que escriba un registro, obtendrá un número de secuencia de registro (LSN) que identifica el registro. El LSN asignado a un registro siempre es mayor que el LSN asignado al registro escrito anteriormente, independientemente del área de serialización que se usó para escribir el registro.