New Win32 Samples in Windows SDK for Windows 7: Networking and Related Services


This is the second in a series of posts that describe new and updated samples in the Windows 7 SDK.   The following table lists samples that pertain to networking and related services, and are new to Windows 7 or updated to support Windows 7, including the  Active Directory Service Interfaces (ADSI), Dynamic Host Configuration Protocol (DHCP), EAP, HTTP, IPHelp, Mobile Broadband, Network Access Protection (NAP), Distributed Routing, Quality of Service (QOS), Remote Access Server (RAS), Remote Procedure Call (RPC), Universal Plug and Play (UPNP), Windows File Protection (WFP), Winsock, and Wireless LAN (WLAN).


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.  The MSDN Windows SDK Developer Center is the place to find resources and links to Windows SDK products, release notes, technical articles, and more.


New/updated Networking and related services samples in the Windows SDK for Windows 7
























































































































































































































































































































Sample


Description


Location (under Samples)


AddGroup


The AddGroup sample adds a group object to a specified container in Active Directory.


NetDs\ADSI\ActiveDir\AddGroup\vc


ActiveDir ADEvent


Demonstrates an Active Directory administrative notification handler.


netds\ADSI\ActiveDir\ADEvent


ActiveDir Attributes


Uses ADSI to bind to the Active Directory schema container and enumerate some types of its attributes.


netds\adsi\activedir\attributes\vc


BindToParent Sample


The BindtoParent sample uses ADSI to bind to the local domain partition in Active Directory. It then searches for a specified user object. When it finds the object, the sample binds to the parent of that object, which is the container of the user object in the Active Directory hierarchy.


netds\ADSI\activedir\bindtoparent\VC


ActiveDir CreateUser


The CreateUser sample uses ADSI with the LDAP provider to create a domain account for a user.


netds\ADSI\activedir\createuser\VC


Active Dir Credentials


The Credentials sample uses ADSI and the LDAP provider to bind to Active Directory using specified credentials rather than using the default credentials of the logged-on user.


NetDs\ADSI\ActiveDir\Credentials\VC


ActiveDIR GCAllUsers


The GCallUsers sample searches the global catalog to enumerate users in an Active Directory forest.


netds\ADSI\activedir\gcallusers\VC


ActiveDir GetDomainMode


The GetDomainmode sample binds to an Active Directory domain partition and reads the ntMixedDomain property to determine the operation mode of the domain.


netds\ADSI\activedir\getdomainmode\VC


ActiveDir GetSchemaInfo


The GetSchemaInfo sample uses ADSI to bind to the Active Directory schema container and search for classSchema and/or attributeSchema objects that match a specified query.


NetDs\ADSI\ActiveDir\GetSchemaInfo\vc


ActiveDir PropertyList


The PropertyList sample uses ADSI to bind to Active Directory and enumerate its attributes. The sample Demonstrates use of the IADs, IADsPropertyList, IADsPropertyEntry, and IADsPropertyValue interfaces.


netds\ADSI\ActiveDir\PropertyList\vc


PropSheetHost_s


The PropSheetHost Demonstrates how to host the Active Directory Users and Computers MMC snap-in property sheet for an Active Directory object.


netds\adsi\activedir\PropSheetHost


ActiveDir QueryUsers Sample


The QueryUsers sample queries an Active Directory domain partition for user objects that match a specified filter.


NetDs\ADSI\ActiveDir\QueryUsers\vc


ActiveDir RootDSE


The RootDSE sample binds to rootDSE of an Active Directory server using the IADs interface and retrieves the defaultNamingContext property, which contains the distinguished name of the domain partition, as well as other naming contexts for the domain.


netds\ADSI\ActiveDir\RootDSE\VC


ActiveDir SID


The SID sample uses ADSI to bind to the local domain partition in Active Directory. It then searches for a specified user object. When it finds the object, the sample retrieves the user’s SID and converts the binary SID to a SID string format.


netds\ADSI\activedir\sid\VC


ADSI ActiveDir User


The User sample binds to a user object in Active Directory and uses the IADsUser interface to retrieve information about the user.


NetDs\ADSI\ActiveDir\User\vc


ActiveDir WkGuid Sample


The WkGuid sample uses the well-known GUID of the Users container to bind to the Users container in the default naming context.


NetDs\ADSI\ActiveDir\WKGUID\vc


ADSI General ADQI


Lists all supported ADSI interfaces for a given ADsPath. For selected supported interfaces, the sample allows you to run some of the object methods.


netds\ADSI\General\ADQI


ADSI General ADsCmd


Demonstrates dumping all properties from an ADSI object.


netds\ADSI\General\ADsCmd


ADSI General ADSIDump


Traverses the Active Directory tree and dumps a listing of all objects and their attributes for the specified ADsPath to a file.


netds\ADSI\General\ADSIDump


ADSI General DsSrch


Demonstrates searching using IID_IDirectorySearch and ADSI.


netds\ADSI\General\DsSrch


ADSI Start Binding


Demonstrates how to bind to a domain using the credentials of the currently logged-on user and with credentials of a specified user.


netds\ADSI\Start\Binding\vc


ADSI Start Child


Demonstrates binding to a child object from a container


netds\ADSI\Start\Child\vc


ADSI Start Create


The Create sample creates a new local user account. It includes a function that uses the IADsContainer interface with the WinNT provider to create a local user account. It also has an optional function that uses the IDirectoryObject interface with the LDAP provider to create a domain user account in Active Directory.


netds\ADSI\Start\Create\vc


ADSI Start Delete


Uses the WinNT: provider and the IADsContainer interface to delete a local user object. It also uses the LDAP provider and the IDirectoryObject interface to delete a user account from Active Directory.


netds\ADSI\Start\Delete\vc


ADSI Start Enum


Enumerates the objects in a container, printing the name and class of every object in a specified WinNT domain.


netds\ADSI\Start\Enum\vc


ADSI Start Filter


Enumerates selected objects in a container, printing the name and class of the filtered objects in a specified WinNT domain.


netds\ADSI\Start\Filter\vc


ADSI Start Move


Moves an object from one container to another by moving a user from one organizational unit to another.


netds\ADSI\Start\Move\vc


ADSI Start Parent


Binds to an object and then uses the IADs interface to retrieve a binding string for the object’s parent.


netds\ADSI\Start\Parent\vc


ADSI Start Read


Reads various single-valued and multi-valued properties of an Active Directory object.


netds\ADSI\Start\Read\vc


ADSI Start Rename


Renames an Active Directory Object.


netds\ADSI\Start\Rename\vc


ADSI Start Schema


Enumerates the objects in the schema using the WinNT provider.


netds\ADSI\Start\Schema\vc


ADSI Start Search


Uses the IDirectorySearch interface to search Active Directory for objects that match a specified filter.


netds\ADSI\Start\Search\vc


ADSI Start Write


How to set single-valued and multi-valued attributes of an Active Directory object.


netds\ADSI\Start\Write\vc


DHCP Notify


Demonstrates obtaining notification of parameters when they change. This example monitors the change of the Gateway address (OPTION_ROUTER_ADDRESS = 3) in a DHCP Client. The DHCP Client Options API will signal an application via an Event handle whenever this value changes. This change can occur during the renew or release state of a DHCP Client.


netds\DHCP\DHCPNotify


DHCP Persist


Demonstrates how to request an option to be made persistent; i.e. the option is retrieved during every DHCP Client boot.


netds\DHCP\DHCPPersist


DHCP Request


Demonstrates requesting parameters from the DHCP Client. The parameters requested will either come from the DHCP Client cache or the DHCP Client will request them from the DHCP Server via a DHCP_INFORM packet. Please note that not all DHCP Servers support the DHCP_INFORM packet so if no data is received either the server does not support it or the client timed out waiting for a response.


netds\DHCP\DHCPRequest


DHCPv4 Compare Scopes


Compares scope-level options for V4 scopes with the same scope address on 2 DHCP servers (e.g. when configured in an 80:20 configuration) and highlights the differences.


netds\dhcp\DHCPServerCompareScopesV4


DHCPv4 Server Scope Stats


Dump statistics across all the V4 scopes on a DHCP server.


netds\dhcp\DHCPServerScopeStatsV4


DHCPv4 Server Show Leases


Dump IPv4 leases across all the scopes configured on a DHCP server


netds\dhcp\DHCPServerShowLeasesV4


DHCPv6 Server Show Leases


Dump IPv6 leases across all the scopes configured on a DHCP server.


netds\dhcp\DHCPServerShowLeasesV6


EAPHost Method Sample


Demonstrates a working EAPHost EAP method – both peer and authenticator implementation. Also demonstrates how one would author an EAPHost supplicant.


NetDS\EAP\EAPHost


Asynchronous HTTP server sample


Demonstrates how to create a simple HTTP server using the HTTP API, v2. It does this using the system thread pool.


NetDs\HTTP\AsyncServer


Http.sys Server


Demonstrates a simple server app that receives a request and sends back a response. Demonstrates the use of V2 http.sys Api’s for writing a server application. This program creates a server seesion, Url group and request Queue and starts a listener on the URL specified by the user. The listener receives a request and sends the response.


NetDs\Http\HttpV2Server


IPHelp EnableRouter


Demonstrates how to use IPHLPAPI EnableRouter


netds\IPHelp\EnableRouter


IPHelp IPArp


Demonstrates the use of IP Helper APIs to manipulate ARP cache.


netds\IPHelp\IPArp


IPHelp IPChange


Demonstrates how to programmatically change an IP address for a specific network adapter on your machine. This program also demonstrates how to retrieve existing network adapter IP configuration information.


netds\IPHelp\IPChange


IPHelp IPRenew


Demonstrates how to programmatically release and renew IPv4 addresses obtained through DHCP. Also demonstrates how to retrieve existing network adapter configuration information.


netds\IPHelp\IPRenew


IPHelp IPRoute


Demonstrates how to manipulate network routing tables.


netds\IPHelp\IPRoute


IPHelp IPStat


Demonstrates the use of IP Helper APIs to get IP statistics.


netds\IPHelp\IPStat


Mobile Broadband APIs sample


Demonstrates how to use Mobile Broadband APIs such as how to enumerate mobile broadband interfaces or how to get radio state of specific interface


NetDs\MB\mbapi\


Network Access Protection Sample


Demonstrates NAP System Health Agent, NAP System Health Validator, NAP SHV Configuration UI, and a NAP Enforcement Client.


Netds\NAP


Distributed Routing Table (DRT)


The DRT Sample Demonstrates the use of a subset of the Peer to Peer APIs centered on the Distributed Routing Table (DRT) protocol.


NetDs\PeerToPeer\DRT


QOS2 sample


Demonstrates the use of the QOS2 API. This program implements a simple traffic generator which uses the QOS2 API to not overload the network path between the source and its destination.


netds\Qos\Qos2


Traffic Control API sample


Demonstrates how to use the Traffic Control API.


NetDs\QoS\TC\


RRAS Agile VPN


Demonstrates how to use the RasUpdateConnection and RasGetProjectionInfoEx APIs to get the IKEv2 projection information and to perform a MOBIKE switch. First it makes a VPN connection using RasDial on the interface specified by argument “interface_index”. Once the connection is setup it tries to perform a MOBIKE switch to the “new_interface_index” and if the switch is successful the local tunnel end point will be changed as seen on the console in program output.


netds\ras\RASAgileVPN


RPC AsyncRPC


Demonstrates Asynchronous RPC functionalities


netds\rpc\AsyncRPC


RPC ClUuid


Demonstrates how to supply multiple implementations of the remote procedure specified in the interface.


netds\rpc\ClUuid


RPC Data DUnion


Demonstrates discriminated unions


netds\rpc\Data\DUnion


RPC Data InOut


Demonstrates the use of [in,out] parameters


netds\rpc\Data\InOut


RPC User Marshal


Demonstrates the use of User Marshal attributes and functionalities instead of the obsolete Represent_As functionality in the original sample.


netds\rpc\Data\UserMarshal


RPC Data Xmit


Demonstrates the type-conversion attribute transmit_as. Older sample was rewritten to use Wire Marshal instead of less-efficient transmit as.


netds\rpc\Data\WireMarshal


RPC Dynept


Demonstrates a client application managing its connection to the server through dynamic endpoints.


netds\rpc\Dynept


RPC Handles cxhndl


Demonstrates the use of the context_handle attribute.


netds\rpc\Handles\cxhndl


RPC Handles usrdef


Demonstrates the use of user-defined handles


netds\rpc\Handles\usrdef


RPC Hello


Demonstrates a client/server implementation of the classic “Hello world” program.


netds\rpc\Hello


RPC RPCsvc


Demonstrates how to implement an NT system service that uses RPC.


netds\rpc\RPCsvc


RPC StrOut


Demonstrates how to allocate memory at a server for a two-dimensional object (an array of pointers) and pass it back to the client as an [out]-only parameter.


netds\rpc\StrOut


upnp DCO_DimmerService


Implements the dimmer device and dimmer service functionality of the RegDevice sample. This is implemented as COM server object.


netds\upnp\DCO_DimmerService


UPNP GenericUCP


GenericUCP is a C++ sample UPnP application that discovers and controls UPnP devices found on the network. This sample was developed using Visual C++. The sample application uses the UPnP Control Point API provided by upnp.dll. More description about the application can be found in the documentation. The application first starts by discovering devices on the network through one of the three types of searches available, FindByType, FindByUDN and AsyncFind. The devices found are instantiated in the device list. One of the devices can be selected and the service objects for the selected device are listed in the service list. One of the services can be selected and controlled by invoking actions against it. The events relevant to the service are displayed in the events field.


netds\upnp\GenericUCP


upnp RegisterDevice


Implements dimmer device functionality as a COM server object and demonstrates how to register/unregister this device with the Microsoft UPnP framework’s Device Host. The device specific functionality is implemented in the ..\DCO_DimmerService directory.


netds\upnp\RegisterDevice


MsnFilter_s bulk submission.


Sample program that uses WFP API’s to block all incoming traffic except traffic destined to windows live messenger.


NetDS\WFP\MsnFilter


Windows Connect Now sample


Demonstrates the basic usage of the WCNAPI’s to configure a WCN enabled device. This includes devices such as a wireless router or printer. Also, this demonstrates getting a wireless profile from a configured WCN enabled router via the devices’ push button.


NetDs\WindowsConnectNow


Bluetooth Connection Sample


Demonstrates how to establish a connection using Bluetooth


NetDS\Winsock\Bluetooth


Winsock Ideal Send Backlog sample


Demonstrates simple implementation of ideal send backlog feature of winsock.


netds\winsock\isb


Wireless Autconfig API Sample


Demonstrates the use of APIs provided by the Wireless Autoconfig Service. Profile Management and Connection Control is shown.


netds\wlan\AutoConfig


Wireless Hosted Network Sample


Demonstrates how to use the wireless Hostednetwork feature available on Windows 7. The operating system installs a virtual device if a Hosted Network capable wireless adapter is present on the machine. This virtual device is used exclusively for performing software access point (SoftAP) connections.


 


Karin Meier-Magruder
Program Manager for Samples
Windows SDK Team

Comments (0)

Skip to main content