63 lines
2.3 KiB
Plaintext
63 lines
2.3 KiB
Plaintext
Readme - Windows Vista Parental Controls Utilities
|
|
|
|
DESCRIPTION:
|
|
The Windows Vista Parental Controls infrastructure supports two types of APIs.
|
|
One is a simple,COM-based API named the Compliance API. This API allows for
|
|
read-only access to key configuration settings. A second API makes use of a
|
|
Windows Management Instrumentation (WMI) provider to allow for read/write access
|
|
to all exposed configuration settings of Parental Controls.
|
|
|
|
This sample builds a static library of basic COM initialization, WMI helper,
|
|
and SID access functions that are used in most of the Parental Controls
|
|
samples. These functions enhance readability and reduce duplication of code
|
|
for the other samples.
|
|
|
|
Functions exposed by this library are prepended with "Wpcu" to simplify
|
|
recognition as Windows Parental Controls Utility functions.
|
|
|
|
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:
|
|
Utilities.cpp Implementation file
|
|
Utilities.h Header
|
|
Utilities.sln Solution file
|
|
Utilities.vcproj Project file
|
|
|
|
REQUIREMENTS:
|
|
No ATL or MFC dependencies are present. The sample may be built with either
|
|
the Windows SDK environment or Visual C++.
|
|
|
|
BUILD INSTRUCTIONS:
|
|
The library may be built directly using the solution file in this directory, but
|
|
this is not necessary. The project has been added as a dependency to all sample
|
|
solutions requiring linking with the library.
|
|
|
|
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/Utilities
|
|
3. Type "vcbuild Utilities.sln"
|
|
This creates the executable in the output subdirectory for the current build
|
|
configuration(s).
|
|
|
|
KEY APIS USED IN THE LIBRARY:
|
|
COM CoInitialize()
|
|
COM CoInitializeSecurity()
|
|
COM CoUninitialize()
|
|
WMI IWbemLocator::ConnectServer()
|
|
WMI IWbemClassObject::Put()
|
|
WMI IWbemClassObject::Get()
|
|
|
|
Note that encapsulating IWbemClassObject::Put() with IWbemServices::PutInstance()
|
|
here was considered non-optimal as some WMI class objects have multiple properties
|
|
requiring Put() and only needing one final commit via IWbemClassObject::PutInstance().
|
|
|
|
|
|
DOCUMENTATION:
|
|
Please refer to the Parental Controls for Windows Vista topic under the Security
|
|
node.
|
|
|