Función OpenFileMappingW (memoryapi.h)

Abre un objeto de asignación de archivos con nombre.

Sintaxis

HANDLE OpenFileMappingW(
  [in] DWORD   dwDesiredAccess,
  [in] BOOL    bInheritHandle,
  [in] LPCWSTR lpName
);

Parámetros

[in] dwDesiredAccess

Acceso al objeto de asignación de archivos. Este acceso se comprueba con cualquier descriptor de seguridad en el objeto de asignación de archivos de destino. Para obtener una lista de valores, consulte Derechos de acceso y seguridad de asignación de archivos.

[in] bInheritHandle

Si este parámetro es TRUE, un proceso creado por la función CreateProcess puede heredar el identificador; de lo contrario, no se puede heredar el identificador.

[in] lpName

Nombre del objeto de asignación de archivos que se va a abrir. Si hay un identificador abierto para un objeto de asignación de archivos por este nombre y el descriptor de seguridad del objeto de asignación no entra en conflicto con el parámetro dwDesiredAccess , la operación abierta se realiza correctamente. El nombre puede tener un prefijo "Global" o "Local" para abrir explícitamente un objeto en el espacio de nombres global o de sesión. El resto del nombre puede contener cualquier carácter excepto el carácter de barra diagonal inversa (\). Para obtener más información, vea Espacios de nombres de objeto kernel. El cambio rápido de usuarios se implementa mediante sesiones de Terminal Services. El primer usuario en iniciar sesión usa la sesión 0, el siguiente usuario para iniciar sesión usa la sesión 1, etc. Los nombres de objeto de kernel deben seguir las directrices descritas para Terminal Services para que las aplicaciones puedan admitir varios usuarios.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es un identificador abierto para el objeto de asignación de archivos especificado.

Si la función no se realiza correctamente, el valor devuelto es NULL. Para obtener información de error extendida, llame a GetLastError.

Comentarios

El identificador que devuelve OpenFileMapping se puede usar con cualquier función que requiera un identificador para un objeto de asignación de archivos.

Al modificar un archivo a través de una vista asignada, es posible que la última marca de tiempo de modificación no se actualice automáticamente. Si es necesario, el autor de la llamada debe usar SetFileTime para establecer la marca de tiempo.

Cuando ya no es necesario, el autor de la llamada debe llamar a liberar el identificador devuelto por OpenFileMapping con una llamada a CloseHandle.

En Windows Server 2012, esta función es compatible con las siguientes tecnologías.

Tecnología Compatible
Protocolo Bloque de mensajes del servidor (SMB) 3.0
Conmutación por error transparente (TFO) de SMB 3.0
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO)
Sistema de archivos de Volumen compartido de clúster (CsvFS)
Sistema de archivos resistente a errores (ReFS)
 

Ejemplos

Para obtener un ejemplo, vea Crear memoria compartida con nombre.

Requisitos

   
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado memoryapi.h (incluye Windows.h, Memoryapi.h)
Library onecore.lib
Archivo DLL Kernel32.dll

Vea también

CreateFileMapping

Funciones de asignación de archivos

Funciones de administración de memoria

Compartir archivos y memoria