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 |