Função GetMappedFileNameA (psapi.h)

Verifica se o endereço especificado está dentro de um arquivo mapeado na memória no espaço de endereço do processo especificado. Nesse caso, a função retorna o nome do arquivo mapeado na memória.

Sintaxe

DWORD GetMappedFileNameA(
  [in]  HANDLE hProcess,
  [in]  LPVOID lpv,
  [out] LPSTR  lpFilename,
  [in]  DWORD  nSize
);

Parâmetros

[in] hProcess

Um identificador para o processo. O identificador deve ter o direito de acesso PROCESS_QUERY_INFORMATION . Para obter mais informações, consulte Direitos de acesso e segurança do processo.

[in] lpv

O endereço a ser verificado.

[out] lpFilename

Um ponteiro para o buffer que recebe o nome do arquivo mapeado na memória ao qual pertence o endereço especificado pelo lpv .

[in] nSize

O tamanho do buffer lpFilename , em caracteres.

Retornar valor

Se a função for bem-sucedida, o valor retornado especificará o comprimento da cadeia de caracteres copiada para o buffer, em caracteres.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.

Comentários

A partir do Windows 7 e do Windows Server 2008 R2, o Psapi.h estabelece números de versão para as funções PSAPI. O número de versão do PSAPI afeta o nome usado para chamar a função e a biblioteca que um programa deve carregar.

Se PSAPI_VERSION for 2 ou maior, essa função será definida como K32GetMappedFileName em Psapi.h e exportada em Kernel32.lib e Kernel32.dll. Se PSAPI_VERSION for 1, essa função será definida como GetMappedFileName em Psapi.h e exportada em Psapi.lib e Psapi.dll como um wrapper que chama K32GetMappedFileName.

Os programas que devem ser executados em versões anteriores do Windows, bem como no Windows 7 e versões posteriores, sempre devem chamar essa função como GetMappedFileName. Para garantir a resolução correta de símbolos, adicione Psapi.lib à macro TARGETLIBS e compile o programa com -DPSAPI_VERSION=1. Para usar a vinculação dinâmica em tempo de execução, carregue Psapi.dll.

Em Windows Server 2012, essa função é compatível com as tecnologias a seguir.

Tecnologia Com suporte
Protocolo SMB (SMB) 3.0 Sim
TFO (Failover transparente) do SMB 3.0 Sim
SMB 3.0 com compartilhamentos de arquivos de expansão (SO) Sim
Sistema de arquivos de Volume Compartilhado Clusterizado (CsvFS) Sim
ReFS (Sistema de Arquivos Resiliente) Sim
 

Exemplos

Para obter um exemplo, consulte Obtendo um nome de arquivo de um identificador de arquivo.

Observação

O cabeçalho psapi.h define GetMappedFileName como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho psapi.h
Biblioteca Kernel32.lib no Windows 7 e Windows Server 2008 R2; Psapi.lib (se PSAPI_VERSION=1) no Windows 7 e Windows Server 2008 R2; Psapi.lib no Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP
DLL Kernel32.dll no Windows 7 e no Windows Server 2008 R2; Psapi.dll (se PSAPI_VERSION=1) no Windows 7 e no Windows Server 2008 R2; Psapi.dll no Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP

Confira também

EnumProcesses

Informações do arquivo mapeado em memória

Funções PSAPI