This is post number 8 in a series that describe new and updated samples in the Windows 7 SDK. The following table lists samples that pertain to Windows Base technologies, and are new to Windows 7 or updated to support Windows 7. This includes technologies such as Boot Configuration, Debugging, Device Foundation, Eventing, File Server Resource Manager (FSRM), iSCSI Software Initiator, IO, Monitor Services, Performance Counters, Registry, Services, Storage, Troubleshooting, Volume Shadow Copy Service (VSS), Windows Error Reporting, and more.
See also:
New Win32 Samples in Windows SDK for Windows 7: Networking and Related Services
New Win32 Samples in Windows SDK for Windows 7: Multimedia
New Win32 Samples in Windows SDK for Windows 7: Security
New Win32 Samples in Windows SDK for Windows 7: Systems Management
New Win32 Samples in Windows SDK for Windows 7: Open Packaging Conventions (OPC)
New Win32 Samples in Windows SDK for Windows 7: Tablet PC and MultiTouch
New Win32 Samples in Windows SDK for Windows 7: Web
New Win32 Samples in Windows SDK for Windows 7: Windows Base
New Win32 Samples in Windows SDK for Windows 7: Windows User Interface
New Win32 Samples in Windows SDK for Windows 7: Windows XML Paper Specification (XPS)
New Win32 Samples in Windows SDK for Windows 7: Communication
Over 1,200 samples were changed since the release of the Windows SDK for Windows 7 RC release. Many “new to Win 7” samples were added, simplified, or extended, and many older samples were updated to support Windows 7 as well as older operating systems.
For build instructions and additional information about the samples, see the Readme.txt files and other documents in the SDK sample folders. For general sample building instructions, refer to the Samples Reference page that installs with the Windows SDK, and the SDK Release Notes (under the Start menu, in All Programs > Microsoft Windows SDK v7.0). By default, Win32 samples are installed under the following path: C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples.
Send your thoughts to the Windows SDK Feedback alias. Tell us how you use the SDK and what we can do to improve your development experience.
New/updated Windows Base samples in the Windows SDK for Windows 7
Sample
Description
Install Location
C# WMI BCD Samples application and library
Demonstrates how to use the new Bcd boot configuration framework WMI classes using C# and .NET 2.
WinBase\BootConfigurationData
Debug dbh
Demonstrates the dbghelp API.
winbase\Debug\dbh
RaiseFailFastException API Code Sample
Demonstrates how to use the RaiseFailFastException API. The RaiseFailFastException API differs from its RaiseException counterpart in that it bypasses any frame-based or vectored exception handlers, including the process' unhandled exception filter.
WinBase\Debug\FailFast
Devices and Printers Folder Extensibility Sample
Demonstrates how to create property pages and context menu handlers for devices in the Devices and Printers Folder. The sample solution contains two projects: a context menu project and a property page project. Each builds into its own DLL. If a client wants to implement a context menu and property page, then they could both just be built into the same DLL and share the same class factory.
WinBase\DeviceFoundation\DeviceFolderExtensibility
Function Discovery Client Sample
Demonstrates the query and notification functionality of the Function Discovery APIs.
WinBase\DeviceFoundation\FunctionDiscovery\Client
Function Discovery Provider Sample
Demonstrates how to write a fully functional PnP-X Function Discovery provider.
WinBase\DeviceFoundation\FunctionDiscovery\Provider
PnP-X Simple Thermostat Sample
Demonstrates an end-to-end scenario using PnP-X. It includes device samples using UPnP and WSD, a driver to install the devices in PnP, proxies to talk with the devices, and a client application that uses the devices through the proxies. Developers will find this sample when implementing end-to-end scenarios using PnP-X or just implementing small portions of a scenario, like a PnP-X compliant device.
WinBase\DeviceFoundation\PNPX\SimpleThermostat
Event Trace Controller Sample
Demonstrates use of control APIs for event tracing.
WinBase\Eventing\Controller
ETW Consumer Sample
Demonstrates the use of the Vista and Windows 7 TDH APIs for manifested event consumption.
WinBase\Eventing\EtwConsumer
Event Log Consumer Sample
Demonstrates Event Log consumption using Evt APIs
WinBase\Eventing\EventLogConsumer\CPP
ChannelConfig CSharp
Demonstrates some of the configuration capabilities of Windows Event Log.
WinBase\Eventing\EventLogConsumer\CSharp\Config
LogManagement CSharp
This sample retrieves log information, exports events into a log archive, saves the localized message information for the exported log archive, and clears the log.
WinBase\Eventing\EventLogConsumer\Csharp\LogManagement
ProviderMetadata CSharp
Demonstrates some of the provider and event discovery capabilities of Windows Event Log.
WinBase\Eventing\EventLogConsumer\CSharp\ProviderMetadata
ReadEvents CSharp
Demonstrates the use of querying and rendering capabilities of Windows Event Log.
WinBase\Eventing\EventLogConsumer\CSharp\Querying
Subscribe CSharp
Demonstrates some of the subscription capabilities of Windows Event Log.
WinBase\Eventing\EventLogConsumer\CSharp\Subscribe
Advanced Eventing CSharp Sample
Demonstrates advanced eventing concepts. For an introductory sample, refer to Samples\WinBase\Eventing\Simple\CSharp
WinBase\Eventing\Provider\Advanced\CSharp
WPP Consumer Sample
Demonstrates consumption of WPP events
WinBase\Eventing\WppConsumer
Retrieves properties and property definitions for FSRM Classification
Demonstrates retrieving FSRM property definitions and properties on a file using native C++ COM
WinBase\FSRM\EnumClassificationProperties\
Simple Content Classifier for FSRM
Demonstrates how to create a simple managed content classifier for FSRM
WinBase\FSRM\ManagedContentClassifier
Managed FSRM property enumeration
Demonstrates how to enumerate and get property definitions and properties on files from FSRM
WinBase\FSRM\ManagedGetEnumProperties
FSRM PowerShell Hosting Classifier
A sample classifier that can host powershell scripts for determining classification of files
WinBase\FSRM\PowerShellHostClassifier
FSRM Content Based Classification Using IFilter
Demonstrates the extensibility of the FSRM classification infrastructure by adding a custom classification module to the FSRM pipeline. This classifier Demonstrates how to use the streaming interface exposed in the IFsrmPropertyBag, and to leverage IFilters to classify content on application generated files such as .docx, .xsl etc.
WinBase\FSRM\SampleIFilterBasedClassifier
FSRM Sample Classification Module
Demonstrates the extensibility of the FSRM classification infrastructure by adding a custom classification module to the FSRM pipeline. The classifier can be configured via parameters to classify files that contain a particular text string in its contents or file name.
WinBase\FSRM\SampleTextBasedClassifier\
Asynchronous Create and Cancellation sample
Demonstrates safe usage of the CancelSynchronousIo API to cancel a call to CreateFile that is made 'asynchronous' by posting it to another thread.
winbase\io\cancel\create
Extended File Handle API Sample
Demonstrates a new API, GetFileInformationByHandleEx, that was added in the Windows Vista timeframe that allows a user to query the file system for extended information for a given file handle. In addition, it demonstrates the use of another new API, OpenFileById, which can be used to open a handle to a file when the underlying file system supports opening the file by ID (eg. NTFS).
WinBase\IO\ExtendedFileAPIs
Winbase: Oplock Sample
Demonstrates the usage of the new oplock levels introduced in Windows 7.
Winbase\Io\Oplocks
iSCSI Initiator Sample
Demonstrates how to use the iSCSI initiator apis with the Microsoft iSCSI initiator service.
WinBase\iSCSI
Service Status Change Notification API samples
Demonstrates usage of the Service Status Change Notification APIs in Vista. This sample implements a simple service that monitors the start and stop of other services using the notification APIs.
WinBase\MonitorServices
Perflib v2 Basic Sample
Demonstrates basic functionality of perflib v2. For global aggregation, refer to sample located under Samples\WinBase\PerfCounters\GlobalAggregation\CPP.
WinBase\PerfCounters\Basic\CPP
Performance Counters (C#)
Demonstrates providing performance counter data from a .Net application using System.Diagnostics.PerformanceData namespace.
WinBase\PerfCounters\Basic\CSharp
Perflib v2 Global Aggregate Sample
Demonstrates the use of Global Aggregation functionality provided by performance counter infrastructure.
WinBase\PerfCounters\GlobalAggregate\CPP
Registry
Simple utility which demonstrates the functions needed to access the registry. The sample goes up and down the branches of the registry tree, displaying the individual key's data values.
winbase\Registry
Service
Demonstrates how to create and install a service.
winbase\Service
Unmanaged code sample for Enhanced Storage
Demonstrates how to work with certificate and password silo devices using portable devices API.
WinBase\Storage\EhStorEnumerator
Enhanced Storage Interop Library
Demonstrates Managed Interop Library for Enhanced Storage API's
WinBase\Storage\EhStorManaged
Windows Troubleshooting - Advanced
Demonstrates how to use the Windows Troubleshooting Platform to solve a simple configuration issue.
WinBase\Troubleshooting\Advanced
Windows Troubleshooting - Simple
WinBase\Troubleshooting\Simple
Express Writer sample application
Demonstrates the new Express Writer functionality
winbase\vss\ExpressW
Sample Writer
Demonstrates how to create a VSS sample writer
winbase\VSS\SampleWriter
VSS Requester Sample
Demonstrates Volume Shadow Copy Service(VSS) requestor functionality and design.
winbase\VSS\vshadow
Volume Shadow Copy Service Sample Provider
Demonstrates operation of a VSS hardware provider.
winbase\VSS\vsssampleprovider
WerReportAddDump API Code Sample
Demonstrates how to use the Windows Error Reporting APIs to send a report that contains a dump file of the current process.
WinBase\WindowsErrorReporting\AddDumpSample
WerReportAddFile API Code Sample
Demonstrates how to use the Windows Error Reporting APIs to send a report that contains a custom file.
WinBase\WindowsErrorReporting\AddFileSample
RegisterApplicationRecoveryCallback API Sample
Demonstrates how to use the RegisterApplicationRecoveryCallback API. The RegisterApplicationRecoveryCallback API registers a special callback that Windows Error Reporting will call prior to terminating the process due to a crash or a hang.
WinBase\WindowsErrorReporting\AppRecovery
RegisterApplicationRestart API Code Sample
Demonstrates how to use the RegisterApplicationRestart API. The RegisterApplicationRestart API lets Windows Error Reporting restart the application automatically in the event that the application crashes or hangs, or has to be restarted due to an update.
WinBase\WindowsErrorReporting\AppRestart
WerRegisterFile API Code Sample
Demonstrates how to use the WerRegisterFile API. The WerRegisterFile API allows an application to include a custom file that is collected when WER creates an error report in the event that an application crashes or hangs.
WinBase\WindowsErrorReporting\RegisterFile
WerRegisterMemoryBlock API Code Sample
Demonstrates how to use the WerRegisterMemoryBlock API. The WerRegisterMemoryBlock API allows an application to include a block of memory as part of the minidump file that WER generates in the event that an application crashes or hangs.
WinBase\WindowsErrorReporting\RegisterMemoryBlock
WER Runtime Exception Module Sample
Demonstrates how to use the runtime exception module technology introduced by WER in Windows 7 and Windows Server 2008 R2.
WinBase\WindowsErrorReporting\RuntimeExceptionModule
WerReportSetUIOption API Code Sample
Demonstrates how to customize the Windows Error Reporting UI when creating and submitting a generic report.
WinBase\WindowsErrorReporting\UICustomizationSample
Karin Meier-Magruder
Program Manager for Samples
Windows SDK Team