Sicurezza e diritti di accesso al mapping dei file

Il modello di sicurezza di Windows consente di controllare l'accesso agli oggetti di mapping dei file. Per altre informazioni, vedere Modello di controllo di accesso.

È possibile specificare un descrittore di sicurezza per un oggetto di mapping file quando si chiama la funzione CreateFileMapping . Se si specifica NULL, l'oggetto ottiene un descrittore di sicurezza predefinito. Gli ACL nel descrittore di sicurezza predefinito per un oggetto di mapping file provengono dal token primario o di rappresentazione dell'autore.

Per recuperare il descrittore di sicurezza di un oggetto di mapping file, chiamare la funzione GetNamedSecurityInfo o GetSecurityInfo . Per impostare il descrittore di sicurezza di un oggetto di mapping file, chiamare la funzione SetNamedSecurityInfo o SetSecurityInfo .

I diritti di accesso validi per gli oggetti di mapping file includono DELETE, READ_CONTROL, WRITE_DAC e WRITE_OWNERdiritti di accesso standard. Gli oggetti di mapping dei file non supportano il diritto di accesso standard SYNC . Nella tabella seguente sono elencati i diritti di accesso specifici per gli oggetti di mapping dei file.

Diritto di accesso Significato
FILE_MAP_ALL_ACCESS Include tutti i diritti di accesso a un oggetto di mapping di file tranne FILE_MAP_EXECUTE. Le funzioni MapViewOfFile e MapViewOfFileEx trattano questa funzione come specificare FILE_MAP_WRITE.
FILE_MAP_EXECUTE Consente il mapping delle visualizzazioni eseguibili dell'oggetto di mapping dei file. L'oggetto deve essere stato creato con la protezione delle pagine che consente l'accesso, ad esempio PAGE_EXECUTE_READ, PAGE_EXECUTE_WRITECOPY o protezione PAGE_EXECUTE_READWRITE .
FILE_MAP_READ Consente il mapping di visualizzazioni di sola lettura o di scrittura di copia dell'oggetto di mapping dei file.
FILE_MAP_WRITE Consente il mapping di visualizzazioni di sola lettura, scrittura o lettura/scrittura di un oggetto di mapping file. L'oggetto deve essere stato creato con la protezione delle pagine che consente l'accesso in scrittura, ad esempio PAGE_READWRITE o PAGE_EXECUTE_READWRITE protezione.

Il mapping di una visualizzazione copia-on-write di un oggetto di mapping file richiede lo stesso accesso del mapping di una visualizzazione di sola lettura. Il flag di FILE_MAP_COPY non è un diritto di accesso e non deve essere specificato come parte di un descrittore di sicurezza. Questo valore può essere usato solo con funzioni che esegue il mapping di una visualizzazione di un oggetto di mapping di file, ad esempio le funzioni MapViewOfFile e MapViewOfFileEx o con la funzione OpenFileMapping, che tratta FILE_MAP_COPY lo stesso modo in cui tratta FILE_MAP_READ.

È possibile richiedere il diritto di accesso ACCESS_SYSTEM_SECURITY a un oggetto di mapping file se si vuole leggere o scrivere il sacL dell'oggetto. Per altre informazioni, vedere Elenchi di controllo di accesso (ACL) e SACL Access Right.