Exportar (0) Imprimir
Expandir todo
div
EOF
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

_umask_s

establece la máscara predeterminada de los permisos de archivo. Una versión de _umask con mejoras de seguridad como se describe en Características de seguridad en CRT.

errno_t _umask_s(
   int mode,
   int * pOldMode
);

[in] mode

Valor de permisos predeterminado.

[out] oldMode

el valor anterior de la configuración de permisos.

Devuelve un código de error si Mode no especifica un modo válido o el puntero de pOldMode es NULL.

condiciones de error

mode

pOldMode

Valor devuelto

Contenido de oldMode

cualquier

NULL

EINVAL

no modificado

modo no válido

cualquier

EINVAL

no modificado

Si una de las condiciones anteriores se produce, se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros. Si la ejecución puede continuar, _umask_s devuelve EINVAL y establece errno a EINVAL.

La función de _umask_sestablece la máscara de archivo del proceso actual el modo especificado por mode. La máscara de archivo modifica la configuración de permisos nuevos archivos creados por _creat, _open, o _sopen. Si un bit de la máscara es 1, el bit correspondiente en el valor solicitado de permiso del archivo se establece en 0 (denegado). Si un bit de la máscara es 0, el bit correspondiente permanece sin cambios. La configuración de permisos para un nuevo archivo no se establece hasta que se cierra el archivo por primera vez.

La expresión de entero pmode contiene una o ambas de las constantes de manifiesto siguientes, definidos en SYS \STAT.H:

_S_IWRITE

Escribir permitida.

_S_IREAD

lectura permitida.

_S_IREAD | _S_IWRITE

lectura y escritura permitidas.

Cuando se dan ambas constantes, se combinan con bit a bit el operador ( | ). Si el argumento de mode es _S_IREAD, la lectura no se permite (el archivo es de sólo escritura). Si el argumento de mode es _S_IWRITE, escribir no se permite (el archivo es de sólo lectura). Por ejemplo, si el bit de escritura se establece en la máscara, cualquier nuevo archivo será de sólo lectura. Observe que con MS-DOS y los sistemas operativos Windows, todos los archivos son legibles; no es posible asignar el permiso de solo escritura. Por consiguiente, establecer el bit de lectura con _umask_sno tiene ningún efecto en los modos de archivo.

Si pmode no es una combinación de una de las constantes de manifiesto ni escribir un conjunto alternas de constantes, la función omitirá los.

rutina

Encabezado necesario

_umask_s

<io.h> y <sistema/stat.h> y <sistema/types.h>

Para obtener información adicional de compatibilidad, vea compatibilidad en la Introducción.

// crt_umask_s.c
/* This program uses _umask_s to set
 * the file-permission mask so that all future
 * files will be created as read-only files.
 * It also displays the old mask.
 */

#include <sys/stat.h>
#include <sys/types.h>
#include <io.h>
#include <stdio.h>

int main( void )
{
   int oldmask, err;

   /* Create read-only files: */
   err = _umask_s( _S_IWRITE, &oldmask );
   if (err)
   {
      printf("Error setting the umask.\n");
      exit(1);
   }
   printf( "Oldmask = 0x%.4x\n", oldmask );
}
Oldmask = 0x0000

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft