New Win32 Samples in Windows SDK for Windows 7: Windows Base


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


Demonstrates how to use the Windows Troubleshooting Platform to solve a simple configuration issue.


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


 

Comments (0)