2025-11-28 00:35:46 +09:00

90 lines
3.0 KiB
Plaintext

Readme - Windows Vista Parental Controls Compliance API Sample
DESCRIPTION:
The Windows Vista Parental Controls infrastructure provides a simple
COM-based API for reading the most important state values for a user's
restrictions and activity monitoring policies.
This command line application sample demonstrates code required to get each
of the available state values noted:
1. Whether activity logging is required for the user
2. The last settings change time for the user
3. Flags for active policies:
Log activity monitoring required (duplicates #1 above)
Web restrictions on
Time restrictions on
Games restrictions on
Application restrictions on
4. For games restrictions, obtain the reason a specified game ID would be blocked
(choices: not blocked, internal error, explicitly set, blocked by
rating, blocked by rating descriptor)
5. For web restrictions, obtain whether blocked by no-file-download policy
In addition for web restrictions, a method is exposed to trigger presenting a
dialog with a URL and optionally associated subURLs for an administrator to
allow if acceptable.
PLATFORM:
The Parental Controls runtimes require Windows Vista, and are only deployed
on consumer (non-business) SKUs. Programmatic detection of supported SKUs is
provided in the documentation.
FILES:
ComplianceAPI.cpp Implementation file
ComplianceAPI.h Header
ComplianceAPI.sln Solution file
ComplianceAPI.vcproj Project file
The project has a dependency on the Utilities.lib static library project in
the Utilities peer directory.
REQUIREMENTS:
No ATL or MFC dependencies are present. The sample may be built with either
the Windows SDK environment or Visual C++.
BUILD INSTRUCTIONS:
To build with the Windows SDK:
1. From the Start->All Programs menu choose Microsoft Windows SDK -> CMD Shell
2. In the WinSDK CMD Shell, navigate to:
Samples/Security/ParentalControls/ComplianceApi
3. Type "vcbuild ComplianceAPI.sln"
This creates the executable in the output subdirectory for the current build
configuration(s).
KEY APIS USED IN THE SAMPLE:
COM CoCreateInstance()
WPC IWindowsParentalControls::GetUserSettings()
WPC IWPCSettings::IsLoggingRequired()
WPC IWPCSettings::GetLastSettingsChangeTime()
WPC IWPCSettings::GetRestrictions()
WPC IWindowsParentalControls::GetGamesSettings()
WPC IWPCGamesSettings::IsBlocked()
WPC IWindowsParentalControls::GetWebSettings()
WPC IWPCWebSettings::GetSettings()
WPC IWPCWebSettings::RequestURLOverride()
USAGE:
complianceapi [<username>] <function> [additional arguments]
(Note: If username is not specified, report is for current user)
where function, additional arguments, and descriptions are as follows:
user
-> show settings for user
isgameblocked <app ID GUID>
-> show if and why blocked for specified game ID
requrloverride <URL> [<subURL1> ... <subURLn>]
-> request URL override (and associated subURLs if needed), showing changed status response
Returns: 0 on success, 1 on failure
DOCUMENTATION:
Refer to the Parental Controls for Windows Vista topic under the Security node.