Condividi tramite


Funzione OpenFileMappingA (winbase.h)

Apre un oggetto di 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 rispetto a qualsiasi descrittore di sicurezza nell'oggetto di mapping dei file di destinazione. Per un elenco di valori, vedere Protezione 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 di 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 dell'oggetto kernel . Il passaggio rapido dell'utente 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 del 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 ottenere informazioni estese sull'errore, chiamare GetLastError.

Osservazioni

L'handle che OpenFileMapping restituisce 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, il timestamp dell'ultima modifica potrebbe non essere aggiornato automaticamente. Se necessario, il chiamante deve usare SetFileTime per impostare il timestamp.

Quando non è più necessario, il chiamante deve rilasciare l'handle restituito da OpenFileMapping con una chiamata a CloseHandle.

In Windows Server 2012 questa funzione è supportata dalle tecnologie seguenti.

Tecnologia Sostenuto
Protocollo SMB (Server Message Block) 3.0
SMB 3.0 Transparent Failover (TFO)
SMB 3.0 con condivisioni file con scalabilità orizzontale (SO)
Cluster Shared Volume File System (CsvFS)
Resilient File System (ReFS)
 

Esempi

Per un esempio, vedere Creazione di memoria condivisa denominata.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP [solo app desktop]
server minimo supportato Windows Server 2003 [solo app desktop]
piattaforma di destinazione Finestre
intestazione winbase.h (include Windows.h, Memoryapi.h)
libreria Kernel32.lib
dll Kernel32.dll

Vedere anche

CreateFileMapping

funzioni di mapping dei file

Funzioni di gestione della memoria

condivisione di file e di memoria