Funzione GetMappedFileNameA (psapi.h)
Controlla se l'indirizzo specificato si trova all'interno di un file mappato alla memoria nello spazio indirizzi del processo specificato. In tal caso, la funzione restituisce il nome del file mappato alla memoria.
Sintassi
DWORD GetMappedFileNameA(
[in] HANDLE hProcess,
[in] LPVOID lpv,
[out] LPSTR lpFilename,
[in] DWORD nSize
);
Parametri
[in] hProcess
Handle per il processo. L'handle deve avere il diritto di accesso PROCESS_QUERY_INFORMATION . Per altre informazioni, vedere Sicurezza dei processi e diritti di accesso.
[in] lpv
Indirizzo da verificare.
[out] lpFilename
Puntatore al buffer che riceve il nome del file mappato alla memoria a cui appartiene l'indirizzo specificato da lpv .
[in] nSize
Dimensioni del buffer lpFilename , in caratteri.
Valore restituito
Se la funzione ha esito positivo, il valore restituito specifica la lunghezza della stringa copiata nel buffer, in caratteri.
Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
A partire da Windows 7 e Windows Server 2008 R2, Psapi.h stabilisce i numeri di versione per le funzioni PSAPI. Il numero di versione PSAPI influisce sul nome usato per chiamare la funzione e la libreria che un programma deve caricare.
Se PSAPI_VERSION è 2 o versione successiva, questa funzione viene definita come K32GetMappedFileName in Psapi.h ed esportata in Kernel32.lib e Kernel32.dll. Se PSAPI_VERSION è 1, questa funzione viene definita come GetMappedFileName in Psapi.h ed esportata in Psapi.lib e Psapi.dll come wrapper che chiama K32GetMappedFileName.
I programmi che devono essere eseguiti in versioni precedenti di Windows e Windows 7 e versioni successive devono sempre chiamare questa funzione come GetMappedFileName. Per garantire la risoluzione corretta dei simboli, aggiungere Psapi.lib alla macro TARGETLIBS e compilare il programma con -DPSAPI_VERSION=1. Per usare il collegamento dinamico in fase di esecuzione, caricare Psapi.dll.
In Windows Server 2012 questa funzione è supportata dalle tecnologie seguenti.
Tecnologia | Supportato |
---|---|
Protocollo SMB (Server Message Block) 3.0 | Sì |
Failover trasparente SMB 3.0 (TFO) | Sì |
SMB 3.0 con condivisioni file di scalabilità orizzontale (SO) | Sì |
File system del volume condiviso cluster (CsvFS) | Sì |
Resilient File System (ReFS) | Sì |
Esempi
Per un esempio, vedere Recupero di un nome file da un handle di file.
Nota
L'intestazione psapi.h definisce GetMappedFileName come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | psapi.h |
Libreria | Kernel32.lib in Windows 7 e Windows Server 2008 R2; Psapi.lib (se PSAPI_VERSION=1) in Windows 7 e Windows Server 2008 R2; Psapi.lib in Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP |
DLL | Kernel32.dll in Windows 7 e Windows Server 2008 R2; Psapi.dll (se PSAPI_VERSION=1) in Windows 7 e Windows Server 2008 R2; Psapi.dll in Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP |