estructura MARK_HANDLE_INFO (winioctl.h)
Contiene información que se usa para marcar un archivo o directorio especificados y su registro del diario de cambios de números de secuencias actualizadas (USN) con datos sobre los cambios. Lo usa el código de control FSCTL_MARK_HANDLE .
Sintaxis
typedef struct _MARK_HANDLE_INFO {
union {
DWORD UsnSourceInfo;
DWORD CopyNumber;
} DUMMYUNIONNAME;
DWORD UsnSourceInfo;
HANDLE VolumeHandle;
DWORD HandleInfo;
} MARK_HANDLE_INFO, *PMARK_HANDLE_INFO;
Miembros
DUMMYUNIONNAME
DUMMYUNIONNAME.UsnSourceInfo
DUMMYUNIONNAME.CopyNumber
UsnSourceInfo
Tipo de cambios que se están realizando.
La operación no modifica el archivo o directorio externamente desde el punto de vista de la aplicación que la creó.
Cuando un subproceso escribe un nuevo registro USN, las marcas de información de origen del registro anterior siguen estando presentes solo si el subproceso también establece esas marcas. Por lo tanto, la estructura de información de origen permite que las aplicaciones filtren los registros USN establecidos solo por un origen conocido, como un filtro antivirus.
Se definen los valores siguientes.
Valor | Significado |
---|---|
|
La operación proporciona información sobre un cambio en el archivo o directorio realizado por el sistema operativo.
Un uso típico es cuando el almacenamiento remoto mueve datos de un almacenamiento externo a otro local. El almacenamiento remoto es el software de administración de almacenamiento jerárquico. Este movimiento suele agregar como mínimo la marca USN_REASON_DATA_OVERWRITE a un registro USN. Sin embargo, los datos no han cambiado desde el punto de vista del usuario. Al señalar USN_SOURCE_DATA_MANAGEMENT en el miembro SourceInfo de la estructura USN_RECORD que contiene el registro, puede determinar que, aunque se realiza una operación de escritura en el elemento, los datos no han cambiado. |
|
La operación agrega un flujo de datos privado a un archivo o directorio.
Un ejemplo podría ser un detector de virus que agrega información de suma de comprobación. A medida que el detector de virus modifica el elemento, el sistema genera registros USN. USN_SOURCE_AUXILIARY_DATA indica que las modificaciones no cambiaron los datos de la aplicación. |
|
La operación crea o actualiza el contenido de un archivo replicado.
Por ejemplo, el servicio de replicación de archivos establece esta marca cuando crea o actualiza un archivo en un directorio replicado. |
|
La replicación se realiza en sistemas cliente desde la nube o los servidores. |
VolumeHandle
Identificador de volumen al volumen donde reside el archivo o directorio. Para obtener más información sobre cómo obtener un identificador de volumen, vea la sección Comentarios.
Este identificador es necesario para comprobar los privilegios de esta operación.
El autor de la llamada debe tener el privilegio SE_MANAGE_VOLUME_NAME . Para obtener más información, consulte Privilegios.
HandleInfo
Marca que especifica información adicional sobre el archivo o directorio identificado por el valor de identificador en el miembro VolumeHandle .
Valor | Significado |
---|---|
|
El archivo se marca como no se puede desfragmentar hasta que se cierra el identificador.
Una vez que se cierra un identificador marcado MARK_HANDLE_PROTECT_CLUSTERS , no hay ninguna garantía de que los clústeres del archivo no se muevan. |
|
El archivo se marca como no se puede desfragmentar hasta que se cierra el identificador.
Windows Server 2003: Esta marca no se admite hasta Windows Server 2003 con SP1. Windows XP: Esta marca no se admite. |
|
El archivo se marca como no se puede desfragmentar hasta que se cierra el identificador.
Windows Server 2003: Esta marca no se admite hasta Windows Server 2003 con SP1. Windows XP: Esta marca no se admite. |
|
El archivo está marcado para el comportamiento de lectura en tiempo real, independientemente del tipo de archivo real. Los archivos marcados con esta marca deben abrirse para E /S sin búfer.
Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Esta marca no se admite. |
|
El archivo marcado previamente para el comportamiento de lectura en tiempo real mediante la marca MARK_HANDLE_REALTIME se puede desmarcar mediante esta marca, quitando el comportamiento en tiempo real. Los archivos marcados con esta marca deben abrirse para E /S sin búfer.
Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Esta marca no se admite. |
|
Indica el número de copia especificado en el miembro CopyNumber que se debe usar para las lecturas. Los archivos marcados con esta marca deben abrirse para E /S sin búfer.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Esta marca no se admite hasta Windows 8 y Windows Server 2012. |
|
El archivo marcado previamente para el comportamiento de lectura y copia mediante la marca MARK_HANDLE_READ_COPY se puede desmarcar mediante esta marca, quitando el comportamiento de lectura y copia. Los archivos marcados con esta marca deben abrirse para E /S sin búfer.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Esta marca no se admite hasta Windows 8 y Windows Server 2012. |
|
Al mezclar la E/S asignada o almacenada en caché con E/S no almacenada en caché, el sistema intenta, cuando se emite una E/S no almacenada en caché, para purgar las asignaciones de memoria del intervalo de E/S no almacenada en caché. Si estas purgas producen un error en el sistema normalmente no devuelve el error al autor de la llamada, lo que puede provocar un estado dañado (por lo que la documentación indica que no lo hace). Esta marca indica al sistema que devuelva errores de purga para el identificador especificado para que la aplicación pueda controlar mejor esta situación. Esta marca no se admite hasta Windows 8 y Windows Server 2012. |
|
Un archivo muy fragmentado en NTFS usa varios registros MFT para describir todas las extensiones de un archivo. Esta lista de registros MFT secundarios (también conocidos como registros FRS) se controla mediante una estructura conocida como lista de atributos. Una lista de atributos está limitada a un tamaño de 128 0000. Cuando el tamaño de una lista de atributos alcanza un determinado umbral NTFS desencadenará una compactación en segundo plano en las extensiones, por lo que se usará el número mínimo de registros FRS secundarios.
Esta marca deshabilita esta característica de compactación frS para el archivo especificado.
Esta marca no se admite hasta Windows 10. |
|
Indica a NTFS que establezca el valor UsnSourceInfo especificado en escrituras de paginación en el Journal usn. Tradicionalmente, esto no se hacía en las escrituras de paginación, ya que el sistema no sabía qué subproceso realizó los cambios especificados. Se trata de una invalidación. Esto solo funciona si el FileObject que usa el administrador de memoria tiene este estado asociado.
Esta marca no se admite hasta Windows 10. |
|
Al establecer esta marca, se indica al sistema que no se permiten escrituras en este archivo. Si una aplicación intenta abrir el archivo para el acceso de escritura, se produce un error en la operación con STATUS_ACCESS_DENIED.
Si se ve un error en una escritura, se produce un error en la operación con STATUS_MARKED_TO_DISALLOW_WRITES Esta marca no se admite hasta Windows 10. |
Comentarios
Para recuperar un identificador de un volumen, llame a CreateFile con el parámetro lpFileName establecido en una cadena con el siguiente formato:
"\.\X:"
En la cadena anterior, X es la letra que identifica la unidad en la que aparece el volumen.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Encabezado | winioctl.h (incluya Windows.h) |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de