Condividi tramite


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
Failover trasparente SMB 3.0 (TFO)
SMB 3.0 con condivisioni file di scalabilità orizzontale (SO)
File system del volume condiviso cluster (CsvFS)
Resilient File System (ReFS)
 

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

CreateFileMapping

Funzioni di mapping dei file

Funzioni di gestione della memoria

Condivisione di file e memoria