Condividi tramite


Uso delle API impostazioni dei controlli genitori

Le impostazioni vengono illustrate prima della registrazione perché la registrazione è condizionale sulle impostazioni dell'utente.

Impostazioni API WMI Write/Read

L'API WMI fornisce l'accesso non astratta (non elaborato) a tutte le impostazioni create dall'infrastruttura Dei controlli genitori, come definito nel file di schema Wpcsprov.mof. L'archivio impostazioni esiste nello spazio dei nomi \root\CIMV2\Applications\WindowsParentalControls, con le definizioni di classe seguenti che definiscono uno schema. Gli elementi di estendibilità vengono annotati.

Per computer:

  • WpcSystemSettings (un'istanza)
    • I metodi AddUser() e RemoveUser() per creare ed eliminare le impostazioni dei controlli genitori per un determinato SID, rispettivamente.
    • Proprietà per il sistema di classificazione dei giochi corrente in vigore e rilevamento e notifica correlati al controllo amministratore dei log.
    • Estendibilità: proprietà per l'applicazione HTTP di sola lettura e lettura/scrittura e elenchi di esenzione url per il filtro contenuto Web, filtro contenuto Web override ID e ID risorsa e ID del log personalizzato e numero di eventi di log personalizzato di campi e registrazione dei nomi dell'intestazione.
  • WpcRatingsSystem (un'istanza per ogni sistema di classificazione installato)
    • WpcRating (un'istanza per livello di classificazione).
    • WpcRatingDescriptor (un'istanza per descrittore di classificazione).
  • Estendibilità: WpcExtension (un'istanza per ogni collegamento di estendibilità del pannello dei controlli genitori aggiunta).
    • Proprietà per GUID, sottosistema, ID, percorso risorsa immagine, percorso delle risorse di stato disabilitato, percorso eseguibile, percorso della DLL della risorsa nome visualizzato e ID, percorso DLL della risorsa sottotitolo e ID.

Utente controllato:

  • WpcUserSettings (un'istanza per utente controllato)

    • Proprietà per la proprietà del SID, i controlli genitori on/off flag, l'accesso al flag/off, i limiti di tempo per il flag di disattivazione, l'override del flag abilitato, la maschera delle ore di accesso e le restrizioni generali delle applicazioni in/off flag.

    • In Windows 8 la proprietà esistente rappresenta la prima mezz'ora per ogni ora. Una nuova proprietà di mezz'ora è stata aggiunta per rappresentare la seconda metà di ogni ora. È stata introdotta una nuova proprietà aggiuntiva per rappresentare l'assegno di tempo giornaliero.

      Windows 7 e Windows Vista: Restrizioni timer supportate per la granularità di 1 ora.

  • WpcWebSettings (un'istanza per utente controllato)

    • Proprietà per la proprietà siD, filtrare il flag on/off, il livello di filtro, il flag bloccato dei download dei file, i siti non valutati.
  • WpcUrlOverride (un'istanza per URL consentita o negata nell'elenco di override url usato come elenco consentito/bloccato per il filtro del contenuto Web)

    • Proprietà per il siD proprietario, l'URL interessato, lo stato consentito/bloccato.
  • WpcAppOverride (un'istanza per percorso consentita in modo esplicito nell'elenco delle restrizioni delle applicazioni generali)

    • Proprietà per la proprietà del SID. ID regola PIÙ SICURO, percorso dell'applicazione.
  • WpcGamesSettings (un'istanza per utente controllato)

    • Proprietà per la proprietà del SID, i giochi consentiti flag, GUID del sistema di classificazione per queste impostazioni, consentono il flag dei giochi non valutati, l'ID della valutazione massima consentita nel sistema corrente, la raccolta di descrittori negati.
  • WpcGameOverride (un'istanza per ID applicazione consentita o negata in modo esplicito)

    • Proprietà per la proprietà del SID, l'ID applicazione che identifica il gioco, lo stato consentito/negato.

Note sulla rappresentazione dei dati

Diverse delle impostazioni all'interno dello schema sono vincolate dal file mof con attributo non_null. Non è possibile impostare su una variante Null. Per tutti i tipi non di matrice, il codice Controllo genitori inizializza i valori. Per le matrici, gli stati vuoti possono essere scritti usando una variante Null, una variante vuota o una matrice variant di dimensioni zero. Il provider WMI normalizzerà tutti questi valori a una rappresentazione dello stato variant null in lettura.

L'uso di WMI per registrare un collegamento di estendibilità dell'interfaccia utente richiede la specifica delle informazioni seguenti:

  • GUID: più collegamenti possono condividere lo stesso GUID se fanno parte di un pacchetto o di una suite comuni.
  • Sottosistema: destinato a indicare le classificazioni dei tipi di collegamento, ad esempio suite o applicazioni autonome conformi
  • Percorso della DLL delle risorse nome e ID: specifica la risorsa per la visualizzazione del nome visualizzato per il collegamento.
  • Percorso della DLL della risorsa sottotitolo e ID: specifica la risorsa per un testo aggiuntivo sotto il nome.
  • Percorso immagine: percorso completo di una bitmap di 24 × 24 pixel (BMP), con profondità di 8 bit per pixel e preferibilmente un canale alfa. Questo valore viene specificato in modo coerente con le estensioni della shell: <percorso> del file system,< ID risorsa negativo\1>. Ad esempio: C:\Windows\System32\Wpccpl.dll,-20.
  • Percorso immagine disabilitato: uguale al percorso dell'immagine precedente, ad eccezione della variante della bitmap che mostra lo stato disabilitato. Questa immagine viene visualizzata quando i controlli genitori sono disattivati.
  • Percorso exe: percorso completo di un eseguibile da richiamare tramite ShellExecute(). Questo percorso deve essere specificato con barre rovesciata oppure il collegamento non richiama il file eseguibile. L'aggiunta di un token %SID% dopo che il percorso exe comporta l'esecuzione del collegamento sostituendo la stringa SID per l'utente per cui la pagina dell'hub è attualmente in corso di visualizzazione. Il file eseguibile può quindi usare la stringa SID per gestire le funzionalità per l'utente specificato.

La disinstallazione dell'applicazione deve rimuovere una registrazione del collegamento di estendibilità.

Impostando la proprietà FilterID sullo stesso GUID di un collegamento di estendibilità dell'interfaccia utente registrata esistente, il collegamento visualizzato verrà promosso da un collegamento generico in Altre impostazioni al collegamento Esclusivo restrizioni Web. Questa è un'impostazione a livello di computer e quindi causerà il filtro contenuto Web in box per ignorare tutti i filtri per tutti gli utenti controllati. Un nome descrittivo deve essere impostato anche nella proprietà FilterName, specificata da un percorso per la DLL e l'ID della risorsa.

Il sistema Controlli genitori consiglia quanto segue da qualsiasi filtro Web di override:

  • Onorare lo stato generale dei controlli parentali on/off per un utente.
  • Onorare le impostazioni di Report attività per un utente.
  • Monitorare la proprietà FilterID. Se cambia dal GUID specificato dal fornitore, un altro filtro ha assunto la proprietà e il filtro del fornitore deve disabilitarlo. Un'interfaccia COM è stata aggiunta per ridurre il sovraccarico del controllo periodicamente per questa modifica rispetto a una chiamata WMI.
  • È consigliabile rispettare sia le voci dell'applicazione HTTP di sola lettura che di lettura/scrittura e dell'elenco di esenzione URL.
  • Consigliato per rispettare l'elenco di override dell'URL per utente (allow/block list).
  • Essere affidabile per il passaggio rapido dell'utente.

I controlli genitori non comportano limitazioni sul modo in cui un web o altri plug di filtro del contenuto vengono inseriti in Windows per l'implementazione del filtro. I fornitori possono sfruttare gli investimenti correnti o le tecnologie preferite (LSP, TDI, altro).

La disinstallazione del filtro del fornitore deve annullare la registrazione delle voci FilterID e FilterName. Questa operazione viene eseguita impostando FilterID su GUID_NULL e FilterName su un valore null variant. Il filtro contenuto Web in box verrà quindi riabilitata.

Si noti che la riabilitazione del filtro Web in box filtra solo le nuove sessioni e non le sessioni attive da prima dell'opzione.

Filtro contenuto Web Allow/Block List Export/Import Format

Questa funzionalità non è supportata in Windows 8.

Windows 7 e Windows Vista: Questa funzionalità è supportata.

<WebAddresses>

<URL AllowBlock="1">https://alloweddomain.com/</URL>

<URL AllowBlock="1">https://allowedurl.com/allowed/default.html</URL>

<URL AllowBlock="2">https://blockeddomain.com/</URL>

<URL AllowBlock="2">https://blockedurl.com/blocked/default.html</URL>

</WebAddresses>

Note di override delle restrizioni dell'applicazione

Le restrizioni delle applicazioni vengono impostate su base utente per consentire file binari o percorsi specifici. Se un nuovo utente controllato da genitori è configurato e le restrizioni dell'applicazione sono necessarie per l'utente, è consigliabile usare la chiave Di esecuzione di Windows nel Registro di sistema con un'applicazione di piccole dimensioni contrassegnata come richiesta di elevazione distribuita per scrivere le sostituzioni. Ciò comporterà una richiesta di credenziali una sola volta per configurare le sostituzioni per l'utente, dopo la quale i file binari di destinazione per gli overridi non saranno un problema agli utenti a causa di ulteriori richieste di override dell'amministratore.

Azioni necessarie per le modifiche alle impostazioni da rendere effettive

Se un amministratore modifica le impostazioni per un utente standard connesso, viene generato un messaggio di avviso. Indica che le modifiche delle impostazioni potrebbero non essere effettive fino a quando l'utente controllato non esegue di nuovo l'accesso e torna indietro. Questo è il design conservativo. La maggior parte delle impostazioni avrà effetto quasi immediatamente mentre l'utente controllato è connesso. Un'eccezione è per i giochi, in cui le impostazioni avranno effetto la prossima volta che l'esplorazione dei giochi viene eseguita o richiamando il gioco viene tentato.

Codice di esempio

Gli esempi C++ vengono forniti nell'SDK che illustrano l'uso delle funzionalità di estendibilità delle impostazioni. Vedere la sezione Esempi di controlli genitori.

Strumenti di test indipendenti

L'ispezione di classi e istanze è facilitata dal plug-in Wmimgmt.msc e dallo strumento di Wbemtest.exe.

Considerazioni a 64 bit

Le versioni del sistema operativo Windows a 64 bit hanno attualmente sia un provider WMI a 32 bit che un provider a 64 bit installato.

Sviluppo e debug del codice generale

Se Visual Studio viene usato per lo sviluppo del codice di gestione delle impostazioni, il debug locale richiederà l'esecuzione di Visual Studio con diritti di amministratore (richiamando esegui come amministratore usando la riga di comando o l'opzione di clic con il pulsante destro del mouse). Ciò è dovuto all'isolamento del processo e del messaggio implementato da Controllo dell'account utente.

Impostazioni API di conformità minime lettura

Interfacce e metodi

L'API di conformità controllata dal file di intestazione Wpcapi.h fornisce accesso in sola lettura semplificato alle impostazioni seguenti usando le interfacce COM.

I metodi di interfaccia radice IWindowsParentalControls forniscono l'accesso a:

  • Metodi IWPCSettings:
    • IsLoggingRequired(): la creazione di report attività è configurata come attivato per l'utente?
    • GetLastSettingsChangeTime(): l'applicazione può essere in grado di tenere presente se i criteri delle impostazioni sono stati modificati dopo un controllo precedente.
    • GetRestrictions(): consente di leggere se sono impostate restrizioni Web, limiti di tempo, restrizioni del gioco o restrizioni dell'applicazione.
  • Metodi IWPCWebSettings:
    • GetSettings() : recupera i flag per il filtro in caso di filtro o disattivazione e download bloccati.
    • RequestURLOverride(): immettere una richiesta nel meccanismo di override dell'amministratore (approvazione over-the-shoulder) che presenterà una finestra di dialogo contenente gli URL da approvare.
  • Metodi IWPCGamesSettings:
    • IsBlocked() - per un ID applicazione di gioco specificato, è il gioco bloccato dai controlli genitori e per quale motivo.
  • GetVisibility(): fornisce informazioni sul fatto che l'interfaccia utente di Controlli genitori sia attualmente nascosta.
  • GetWebFilterInfo(): fornisce un'interfaccia per ottenere l'ID del filtro contenuto Web attualmente attivo.

Codice di esempio

Gli esempi C++ sono disponibili nell'SDK che illustra l'uso dell'API di conformità. Vedere la sezione Esempi di controlli genitori.