Share via


Función OpenFileMappingFromApp (memoryapi.h)

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

Sintaxis

HANDLE OpenFileMappingFromApp(
  [in] ULONG  DesiredAccess,
  [in] BOOL   InheritHandle,
  [in] PCWSTR Name
);

Parámetros

[in] DesiredAccess

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. Solo puedes abrir el objeto de asignación de archivos para FILE_MAP_EXECUTE acceso si la aplicación tiene la funcionalidad codeGeneration .

[in] InheritHandle

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] Name

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 DesiredAccess , la operación de apertura 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

Puedes llamar a OpenFileMappingFromApp desde aplicaciones de la Tienda Windows con funcionalidades Just-In-Time (JIT) para usar la funcionalidad JIT. La aplicación debe incluir la funcionalidad codeGeneration en el archivo de manifiesto de la aplicación para usar las funcionalidades JIT. OpenFileMappingFromApp permite a las aplicaciones de la Tienda Windows usar la clase MemoryMappedFile en .NET Framework.

El identificador que devuelve OpenFileMappingFromApp 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 OpenFileMappingFromApp con una llamada a CloseHandle.

Requisitos

   
Cliente mínimo compatible Windows 10 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2016 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado memoryapi.h (incluye Windows.h)
Library WindowsApp.lib
Archivo DLL Kernel32.dll

Vea también

CreateFileMapping

Funciones de asignación de archivos

Funciones de administración de memoria

OpenFileMapping

Compartir archivos y memoria