Funzione OpenFileMappingA (winbase.h)
Apre un oggetto mapping di file denominato.
Sintassi
HANDLE OpenFileMappingA(
[in] DWORD dwDesiredAccess,
[in] BOOL bInheritHandle,
[in] LPCSTR lpName
);
Parametri
[in] dwDesiredAccess
Accesso all'oggetto di mapping del file. Questo accesso viene controllato in base a qualsiasi descrittore di sicurezza nell'oggetto di mapping dei file di destinazione. Per un elenco dei valori, vedere Sicurezza mapping file e diritti di accesso.
[in] bInheritHandle
Se questo parametro è TRUE, un processo creato dalla funzione CreateProcess può ereditare l'handle; in caso contrario, l'handle non può essere ereditato.
[in] lpName
Nome dell'oggetto di mapping del file da aprire. Se è presente un handle aperto per un oggetto di mapping di file con questo nome e il descrittore di sicurezza nell'oggetto mapping non è in conflitto con il parametro dwDesiredAccess , l'operazione di apertura ha esito positivo. Il nome può avere un prefisso "Global\" o "Local\" per aprire in modo esplicito un oggetto nello spazio dei nomi globale o sessione. Il resto del nome può contenere qualsiasi carattere ad eccezione del carattere barra rovesciata (\). Per altre informazioni, vedere Spazi dei nomi degli oggetti kernel. Il passaggio rapido degli utenti viene implementato usando le sessioni di Servizi terminal. Il primo utente a eseguire l'accesso usa la sessione 0, l'utente successivo per accedere usa la sessione 1 e così via. I nomi degli oggetti kernel devono seguire le linee guida descritte per Servizi terminal in modo che le applicazioni possano supportare più utenti.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è un handle aperto per l'oggetto di mapping di file specificato.
Se la funzione ha esito negativo, il valore restituito è NULL. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
L'handle restituito da OpenFileMapping può essere usato con qualsiasi funzione che richiede un handle per un oggetto di mapping di file.
Quando si modifica un file tramite una visualizzazione mappata, è possibile che il timestamp dell'ultima modifica non venga aggiornato automaticamente. Se necessario, il chiamante deve usare SetFileTime per impostare il timestamp.
Quando non è più necessario, il chiamante deve chiamare il rilascio dell'handle restituito da OpenFileMapping con una chiamata a CloseHandle.
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 Creazione di una memoria condivisa denominata.
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 | winbase.h (include Windows.h, Memoryapi.h) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |
Vedere anche
Funzioni di gestione della memoria