Función GetMappedFileNameA (psapi.h)
Comprueba si la dirección especificada está dentro de un archivo asignado a memoria en el espacio de direcciones del proceso especificado. Si es así, la función devuelve el nombre del archivo asignado a memoria.
Sintaxis
DWORD GetMappedFileNameA(
[in] HANDLE hProcess,
[in] LPVOID lpv,
[out] LPSTR lpFilename,
[in] DWORD nSize
);
Parámetros
[in] hProcess
Identificador del proceso. El identificador debe tener el derecho de acceso PROCESS_QUERY_INFORMATION. Para obtener más información, consulte Derechos de acceso y seguridad de procesos.
[in] lpv
Dirección que se va a comprobar.
[out] lpFilename
Puntero al búfer que recibe el nombre del archivo asignado a memoria al que pertenece la dirección especificada por lpv .
[in] nSize
Tamaño del búfer lpFilename , en caracteres.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto especifica la longitud de la cadena copiada en el búfer, en caracteres.
Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Comentarios
A partir de Windows 7 y Windows Server 2008 R2, Psapi.h establece números de versión para las funciones DE PSAPI. El número de versión de PSAPI afecta al nombre utilizado para llamar a la función y a la biblioteca que debe cargar un programa.
Si PSAPI_VERSION es 2 o superior, esta función se define como K32GetMappedFileName en Psapi.h y exportada en Kernel32.lib y Kernel32.dll. Si PSAPI_VERSION es 1, esta función se define como GetMappedFileName en Psapi.h y exportada en Psapi.lib y Psapi.dll como contenedor que llama a K32GetMappedFileName.
Los programas que deben ejecutarse en versiones anteriores de Windows, así como Windows 7 y versiones posteriores siempre deben llamar a esta función como GetMappedFileName. Para garantizar la resolución correcta de símbolos, agregue Psapi.lib a la macro TARGETLIBS y compile el programa con -DPSAPI_VERSION=1. Para usar la vinculación dinámica en tiempo de ejecución, cargue Psapi.dll.
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 | Sí |
Conmutación por error transparente (TFO) de SMB 3.0 | Sí |
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO) | Sí |
Sistema de archivos de Volumen compartido de clúster (CsvFS) | Sí |
Sistema de archivos resistente a errores (ReFS) | Sí |
Ejemplos
Para obtener un ejemplo, vea Obtener un nombre de archivo a partir de un identificador de archivo.
Nota
El encabezado psapi.h define GetMappedFileName como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Requisito | Value |
---|---|
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 | psapi.h |
Library | Kernel32.lib en Windows 7 y Windows Server 2008 R2; Psapi.lib (si PSAPI_VERSION=1) en Windows 7 y Windows Server 2008 R2; Psapi.lib en Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP |
Archivo DLL | Kernel32.dll en Windows 7 y Windows Server 2008 R2; Psapi.dll (si PSAPI_VERSION=1) en Windows 7 y Windows Server 2008 R2; Psapi.dll en Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP |