Compartilhar via


Função GetMappedFileNameA (psapi.h)

Verifica se o endereço especificado está dentro de um arquivo mapeado por memória no espaço de endereço do processo especificado. Em caso afirmativo, a função retornará o nome do arquivo mapeado pela 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 acesso PROCESS_QUERY_INFORMATION correto. Para obter mais informações, consulte Process Security and Access Rights.

[in] lpv

O endereço a ser verificado.

[out] lpFilename

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

[in] nSize

O tamanho do buffer lpFilename, em caracteres.

Valor de retorno

Se a função for bem-sucedida, o valor retornado especifica 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.

Observações

Começando com o Windows 7 e o 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 no Psapi.h e exportada em Kernel32.lib e Kernel32.dll. Se PSAPI_VERSION for 1, essa função será definida como GetMappedFileName no Psapi.h e exportada em Psapi.lib e Psapi.dll como um wrapper que chama K32GetMappedFileName.

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.

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

Tecnologia Suportado
Protocolo SMB (Bloco de Mensagens do Servidor) 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 de Cluster (CsvFS) Sim
ReFS (Sistema de Arquivos Resiliente) Sim
 

Exemplos

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

Nota

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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2003 [somente aplicativos da área de trabalho]
da 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
de 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

Consulte também

EnumProcesses

Memory-Mapped de informações de arquivo

Funções PSAPI