Spazi dei nomi degli oggetti
Uno spazio dei nomi dell'oggetto protegge gli oggetti denominati dall'accesso non autorizzato. La creazione di uno spazio dei nomi privato consente alle applicazioni e ai servizi di creare un ambiente più sicuro.
Un processo può creare uno spazio dei nomi privato usando la funzione CreatePrivateNamespace. Questa funzione richiede di specificare un limite che definisce la modalità di isolamento degli oggetti nello spazio dei nomi. Il chiamante deve essere entro il limite specificato affinché l'operazione di creazione abbia esito positivo. Per specificare un limite, usare le funzioniCreateBoundaryDescriptore addSIDToBoundaryDescriptor.
Il parametro lpAliasPrefix di CreatePrivateNamespace funge da nome dello spazio dei nomi. Ogni spazio dei nomi viene identificato in modo univoco dal nome e dai limiti. Il sistema supporta più spazi dei nomi privati con lo stesso nome, purché specifichino limiti diversi.
Si supponga che un processo richieda la creazione di uno spazio dei nomi, NS1, che definisce un limite contenente due elementi: il SID amministratore e il numero di sessione corrente. Lo spazio dei nomi viene creato se il processo è in esecuzione nell'account Amministratore nella sessione specificata. Un altro processo può accedere a questo spazio dei nomi usando la funzioneOpenPrivateNamespace. Sia il nome che il limite specificati devono corrispondere se questo processo deve aprire lo spazio dei nomi creato dal primo processo. Si noti che un processo può aprire uno spazio dei nomi esistente anche se non si trova all'interno del limite, a meno che l'autore non possa accedere con restrizioni allo spazio dei nomi usando il parametro lpPrivateNamespaceAttributes.
Gli oggetti creati in questo spazio dei nomi hanno nomi del formato prefisso\nomeoggetto. Il prefisso è il nome dello spazio dei nomi specificato dal parametro lpAliasPrefix di di CreatePrivateNamespace. Ad esempio, per creare un oggetto evento denominato MyEvent nello spazio dei nomi NS1, chiamare la funzione CreateEvent con il parametro lpName impostato su NS1\MyEvent.
Il processo che ha creato lo spazio dei nomi può usare la funzioneClosePrivateNamespaceper chiudere l'handle allo spazio dei nomi. L'handle viene chiuso anche quando termina il processo che ha creato lo spazio dei nomi. Dopo la chiusura dell'handle dello spazio dei nomi, le chiamate successive a OpenPrivateNamespace hanno esito negativo, ma tutte le operazioni sugli oggetti nello spazio dei nomi hanno esito positivo.
Argomenti correlati