Download as pdf or txt
Download as pdf or txt
You are on page 1of 5210

Contents

Windows Desktop Technologies


Active Directory Domain Services
Active Directory Lightweight Directory Services
Active Directory Rights Management Services SDK
Active Directory Service Interfaces
AllJoyn API
Antimalware Scan Interface
Application Installation and Servicing
Application Recovery and Restart
Audio Devices DDI Reference
Automation
Background Intelligent Transfer Service
Backup
Battery Devices Reference
Bluetooth Devices Reference
Bluetooth
CIMWin32 WMI Providers
Cloud Filter API
COM+ (Component Services)
Component Object Model (COM)
Compression API
Core Audio APIs
Data Access and Storage
Data Deduplication API
Data Exchange
Debugging and authoring support
Desktop Window Manager (DWM)
Developer licensing
Developer Notes
Device Access API
Device and Driver Installation Reference
Dialog Boxes
Direct Manipulation
Direct2D
Direct3D 10 Graphics
Direct3D 11 Graphics
Direct3D 12 Graphics
Direct3D 9 Graphics
DirectComposition
DirectDraw
DirectWrite
DirectXMath
Display Devices Reference
Distributed File System
Distributed Transaction Coordinator WMI Provider
Domain Name System (DNS)
Driver Development Tools Reference
DXGI
Dynamic Host Configuration Protocol (DHCP)
Enhanced Storage
Event Tracing
Eventlogprov
Extensible Authentication Protocol Host
Extensible Authentication Protocol
Failover Cluster WMI Provider
Failover Clustering Hyper-V WMI Provider
Fax Service
File Server Resource Manager
Game Mode
Gaming Device Information
GDI+
Group Policy API
Group Policy Management Console
Hardware Counter Profiling
High DPI
HLSL
Human Interface Devices Reference
Hyper-V management
Hyper-V WMI Provider
Image Mastering API
Indexing Service
Ink input
Input Feedback Configuration
Input Source Identification
Installable file systems DDI reference
Interaction Context
Internationalization for Windows Applications
IP Helper
ISCSI Discovery Library API
ISCSI Target Server Provider
Kernel-Mode Driver Reference
Keyboard and Mouse Input
Legacy Windows Environment Features
Lightweight Directory Access Protocol
Location API
Magnification API
Management Information Base
Menus and Other Resources
Microsoft HTML Help 1.4
Microsoft Management Console 2.0
Microsoft Media Foundation
Mobile Broadband
Mobile Device Management Registration
Mobile Device Management Settings Provider
Monitor Configuration
MS-CHAP Password Management API
Multicast Address Dynamic Client Allocation Protocol (MADCAP)
Native Wifi
NetBIOS
NetShell
Network Access Protection
Network Diagnostics Framework
Network Drivers Prior to Windows Vista
Network Drivers, Windows Vista and Later
Network List Manager
Network Management
Network Policy Server
Offline Files
OOBE APIs for setup state and notification
OpenGL
Operation Recorder
Other Devices Technologies
Packaging, deployment, and query of Windows Store apps
Packaging
Parental Controls
Peer-to-Peer
Performance Counters
Performance Logs and Alerts
Picture Acquisition
Pointer Device Input Stack
Pointer Input Messages and Notifications
Power Metering and Budgeting Reference
Process Snapshotting
Process Status API (PSAPI)
Projected File System
Quality of Service (QOS)
Radial controller input
Remote Assistance
Remote Desktop Services
Remote Differential Compression
Remote Procedure Call (RPC)
Restart Manager
Routing and Remote Access Service
Security and Identity
Sensor API
Sensor device driver reference
Serial Controller Driver Reference
Settings Management Infrastructure (SMI)
Simple Network Management Protocol
Software Device API
Spell Checker API
Storage driver DDI reference
Storage Volume Provider
Streaming media DDI reference
Structured Storage
System Event Notification Service
System Monitor
System Restore
System Services
Tablet PC
TAPI 2.2
Task Scheduler
Telephony Application Programming Interfaces
Telephony Service Provider
Text Services Framework
The Windows Shell
Tiles, badges, and notifications for Classic desktop applications
Title Callable UI
Tool Help Library
Touch Hit Testing
Touch Injection
Touch Input
TPM Base Services
TraceLogging
UPnP APIs
USB driver reference
User Access Logging
Virtual Hard Disk
Virtual Storage
W_graph_fx
W_ui_comp
WebDAV
WebSocket Protocol Component API
WhqlProvider Provider
WIA
Window Stations and Desktops
Windows Accessibility Features
Windows Address Book
Windows and Messages
Windows Animation Manager
Windows Biometric Framework
Windows Clustering
Windows Color System
Windows Connect Now
Windows Connection Manager
Windows Contacts
Windows Controls
Windows Data Access Components WMI Provider
Windows Deployment Services
Windows Desktop Sharing
Windows Error Reporting
Windows Event Collector
Windows Event Log
Windows Filtering Platform
Windows Firewall Technologies
Windows GDI
Windows HTTP Services (WinHTTP)
Windows Imaging Component
Windows Information Protection (WIP)
Windows Installer Provider
Windows Internet
Windows Machine Learning
Windows Management Infrastructure (MI)
Windows Management Instrumentation
Windows Media Device Manager 11 SDK
Windows Messaging (MAPI)
Windows Messenger
Windows Mixed Reality
Windows Multimedia
Windows Network Virtualization
Windows Networking (WNet)
Windows Property System
Windows Remote Management
Windows Ribbon Framework
Windows Runtime C++ reference
Windows Search
Windows Server Backup
Windows Sockets 2
Windows Subsystem for Linux
Windows Sync
Windows System Assessment Tool
Windows Update Agent API
Windows Web Services
Winlocation_com_ref
Winsensors_com_ref
Wlbsprov
WMI Provider for NFS
WPD Application Programming Interface
WPD Automation Object Model
WPF Bitmap Effects
XAML Diagnostics
XAudio2 APIs
XblIdpAuthManager
XInput Game Controller APIs
XML HTTP Extended Request
XPS Documents
Headers
Accctrl.h
Aclapi.h
Aclui.h
Activation.h
Activationregistration.h
Adhoc.h
Adshlp.h
Adsprop.h
Adtgen.h
Advpub.h
Af_irda.h
Amsi.h
Apiquery2.h
Appcompatapi.h
Appmgmt.h
Appmodel.h
Appnotify.h
Appxpackaging.h
Asyncinfo.h
Atacct.h
Atlthunk.h
Audioapotypes.h
Audioclient.h
Audioendpoints.h
Audioenginebaseapo.h
Audioengineendpoint.h
Audiomediatype.h
Audiopolicy.h
Audiosessiontypes.h
Authif.h
Authz.h
Aux_ulib.h
Avrfsdk.h
Avrt.h
Azroles.h
Baseaudioprocessingobject.h
Batclass.h
Bcrypt.h
Bits.h
Bits1_5.h
Bits10_1.h
Bits10_2.h
Bits10_3.h
Bits2_0.h
Bits2_5.h
Bits3_0.h
Bits4_0.h
Bits5_0.h
Bitscfg.h
Bluetoothapis.h
Bluetoothleapis.h
Bthdef.h
Bthledef.h
Bthsdpdef.h
Callobj.h
Camerauicontrol.h
Capi.h
Casetup.h
Cchannel.h
Celib.h
Certadm.h
Certbcli.h
Certcli.h
Certenc.h
Certenroll.h
Certexit.h
Certif.h
Certmod.h
Certpol.h
Certpoleng.h
Certsrv.h
Certview.h
Cfapi.h
Cfg.h
Cfgmgr32.h
Chptrarr.h
Chstrarr.h
Chstring.h
Clfs.h
Clfsmgmt.h
Clfsmgmtw32.h
Clfsw32.h
Cloneviewhelper.h
Cluadmex.h
Clusapi.h
Cmdtree.h
Cmnquery.h
Codecapi.h
Comadmin.h
Combaseapi.h
Comcat.h
Coml2api.h
Commctrl.h
Commdlg.h
Commoncontrols.h
Comppkgsup.h
Compressapi.h
Comsvcs.h
Control.h
Corewindow.h
Cpl.h
Credentialprovider.h
Credssp.h
Cryptdlg.h
Cryptuiapi.h
Cryptxml.h
Cscapi.h
Cscobj.h
Ctffunc.h
Ctfspui.h
Ctfutb.h
Ctxtcall.h
D2d1.h
D2d1_1.h
D2d1_1helper.h
D2d1_2.h
D2d1_3.h
D2d1_3helper.h
D2d1effectauthor.h
D2d1effectauthor_1.h
D2d1effecthelpers.h
D2d1effects.h
D2d1effects_1.h
D2d1effects_2.h
D2d1helper.h
D2d1svg.h
D3d10.h
D3d10_1.h
D3d10_1shader.h
D3d10effect.h
D3d10misc.h
D3d10sdklayers.h
D3d10shader.h
D3d11.h
D3d11_1.h
D3d11_2.h
D3d11_3.h
D3d11_4.h
D3d11on12.h
D3d11sdklayers.h
D3d11shader.h
D3d11shadertracing.h
D3d12.h
D3d12sdklayers.h
D3d12shader.h
D3d12video.h
D3d9.h
D3d9caps.h
D3d9helper.h
D3dcommon.h
D3dcompiler.h
D3dcsx.h
Datetimeapi.h
Davclnt.h
Dbghelp.h
Dbt.h
Dciman.h
Dcommon.h
Dcomp.h
Dcompanimation.h
Dcomptypes.h
Dde.h
Ddeml.h
Ddkernel.h
Ddkmapi.h
Ddpbackup.h
Ddraw.h
Ddrawgdi.h
Ddrawi.h
Ddrawint.h
Debugapi.h
Deviceaccess.h
Devicetopology.h
Dhcpcsdk.h
Dhcpsapi.h
Dhcpssdk.h
Dhcpv6csdk.h
Diagnosticdataquery.h
Diagnosticdataquerytypes.h
Digitalv.h
Dimm.h
Dinput.h
Dinputd.h
Directmanipulation.h
Directml.h
Directxcollision.h
Directxmath.h
Directxpackedvector.h
Dispatcherqueue.h
Dmemmgr.h
Dmerror.h
Dmusics.h
Docobj.h
Documenttarget.h
Dot1x.h
Dpa_dsa.h
Dpapi.h
Drt.h
Dsadmin.h
Dsclient.h
Dsgetdc.h
Dskquota.h
Dsparse.h
Dsquery.h
Dsrole.h
Dssec.h
Dvp.h
Dwmapi.h
Dwrite.h
Dwrite_1.h
Dwrite_2.h
Dwrite_3.h
Dxgi.h
Dxgi1_2.h
Dxgi1_3.h
Dxgi1_4.h
Dxgi1_5.h
Dxgi1_6.h
Dxgicommon.h
Dxgidebug.h
Dxgiformat.h
Dxmini.h
Dxva2api.h
Dxva9typ.h
Dxvahd.h
Eapauthenticatoractiondefine.h
Eapauthenticatortypes.h
Eaphostpeerconfigapis.h
Eaphostpeertypes.h
Eapmethodauthenticatorapis.h
Eapmethodpeerapis.h
Eapmethodtypes.h
Eappapis.h
Eaptypes.h
Editionupgradehelper.h
Edpwin32.h
Efswrtinterop.h
Ehstorapi.h
Ehstorextensions.h
Elscore.h
Emi.h
Emptyvc.h
Enclaveapi.h
Endpointvolume.h
Errhandlingapi.h
Errorrep.h
Errors.h
Evalcom2.h
Evcoll.h
Eventsys.h
Eventtoken.h
Evntcons.h
Evntprov.h
Evntrace.h
Evr.h
Evr9.h
Exdisp.h
Expandedresources.h
Exposeenums2managed.h
Faxcom.h
Faxcomex.h
Faxdev.h
Faxext.h
Faxroute.h
Fci.h
Fdi.h
Fdi_fci_types.h
Featurestagingapi.h
Fhcfg.h
Fhsvcctl.h
Fibersapi.h
Fileapi.h
Filehc.h
Filter.h
Filtereg.h
Fltuser.h
Fontsub.h
Frquery.h
Fsrm.h
Fsrmenums.h
Fsrmpipeline.h
Fsrmquota.h
Fsrmreports.h
Fsrmscreen.h
Fsrmtlb.h
Functiondiscoveryapi.h
Functiondiscoveryconstraints.h
Functiondiscoveryprovider.h
Fwpmtypes.h
Fwpmu.h
Fwpstypes.h
Fwptypes.h
Fxsutility.h
Gamingdeviceinformation.h
Gamingtcui.h
Gb18030.h
Gdiplusbase.h
Gdiplusbrush.h
Gdipluscolor.h
Gdipluscolormatrix.h
Gdipluseffects.h
Gdiplusenums.h
Gdiplusgraphics.h
Gdiplusheaders.h
Gdiplusimageattributes.h
Gdiplusimagecodec.h
Gdiplusimaging.h
Gdiplusinit.h
Gdipluslinecaps.h
Gdiplusmatrix.h
Gdiplusmetaheader.h
Gdipluspath.h
Gdipluspen.h
Gdipluspixelformats.h
Gdiplusstringformat.h
Gdiplustypes.h
Genericusbfnioctl.h
Gpedit.h
Gpmgmt.h
Guiddef.h
Handleapi.h
Heapapi.h
Highlevelmonitorconfigurationapi.h
Holographicspaceinterop.h
Hrtfapoapi.h
Hstring.h
Htmlhelp.h
Http.h
Iaccess.h
Iads.h
Icftypes.h
Icmpapi.h
Icontact.h
Icontentprefetchertasktrigger.h
Icwcfg.h
Identitycommon.h
Identityprovider.h
Identitystore.h
Ifdef.h
Ifmib.h
Iketypes.h
Imagehlp.h
Imagetranscode.h
Imapi.h
Imapi2.h
Imapi2fs.h
Ime.h
Imepad.h
Imessagedispatcher.h
Imm.h
Immdev.h
In6addr.h
Inaddr.h
Indexsrv.h
Infocard.h
Infotech.h
Inked.h
Inkpresenterdesktop.h
Inkrenderer.h
Inputpaneinterop.h
Inputpanelconfiguration.h
Inputscope.h
Inspectable.h
Instance.h
Interactioncontext.h
Interlockedapi.h
Intsafe.h
Intshcut.h
Ioapiset.h
Ip2string.h
Ipexport.h
Iphlpapi.h
Ipmib.h
Iprtrmib.h
Ipsectypes.h
Iptypes.h
Ipxrtdef.h
Iscsidsc.h
Isolatedapplauncher.h
Isysmon.h
Iwscapi.h
Jobapi.h
Jobapi2.h
Joystickapi.h
Keycredmgr.h
Ksopmapi.h
Ktmtypes.h
Ktmw32.h
L2cmn.h
Libloaderapi.h
Libloaderapi2.h
Lmaccess.h
Lmalert.h
Lmapibuf.h
Lmat.h
Lmaudit.h
Lmconfig.h
Lmdfs.h
Lmerrlog.h
Lmjoin.h
Lmmsg.h
Lmremutl.h
Lmserver.h
Lmshare.h
Lmstats.h
Lmsvc.h
Lmuse.h
Lmwksta.h
Loadperf.h
Locationapi.h
Lowlevelmonitorconfigurationapi.h
Lpmapi.h
Lsalookup.h
Lzexpand.h
Madcapcl.h
Magnification.h
Manipulations.h
Mapi.h
Mapiunicodehelp.h
Mbnapi.h
Mcx.h
Mdhcp.h
Mdmregistration.h
Memoryapi.h
Memorybuffer.h
Mergemod.h
Messagedispatcherapi.h
Methodco.h
Mfapi.h
Mfcaptureengine.h
Mfidl.h
Mfmediacapture.h
Mfmediaengine.h
Mfmp2dlna.h
Mfobjects.h
Mfplay.h
Mfreadwrite.h
Mfsharingengine.h
Mfspatialaudio.h
Mftransform.h
Mgm.h
Mgmtapi.h
mi.h
Micaut.h
Midles.h
Mileffects.h
Minidumpapiset.h
Minwinbase.h
Mmc.h
Mmcobj.h
Mmddk.h
Mmdeviceapi.h
Mmeapi.h
Mmiscapi.h
Mmreg.h
Mmsystem.h
Mobsync.h
Mpconfig.h
Mprapi.h
Msaatext.h
Msacm.h
Msajtransport.h
Msapofxproxy.h
Mscat.h
Mschapp.h
Msclus.h
Msctf.h
Msctfmonitorapi.h
Msdrm.h
Msdrmdefs.h
Msi.h
Msime.h
Msimeapi.h
Msinkaut.h
Msinkaut15.h
Msiquery.h
Msopc.h
Msp.h
Mspaddr.h
Mspcall.h
Msports.h
Mspstrm.h
Msrdc.h
Mssip.h
Mstask.h
Mstcpip.h
Mswmdm.h
Mswsock.h
Mswsockdef.h
Msxml.h
Msxml6.h
Mtpext.h
Mtxdm.h
Muiload.h
Namedpipeapi.h
Namespaceapi.h
Naptypes.h
Natupnp.h
Nb30.h
Ncrypt.h
Ncryptprotect.h
Ndattrib.h
Ndfapi.h
Ndhelper.h
Ndkinfo.h
Netcon.h
Netfw.h
Netioapi.h
Netiodef.h
Netlistmgr.h
Netsh.h
Networkisolation.h
Newdev.h
Nldef.h
Notificationactivationcallback.h
Npapi.h
Nsemail.h
Nspapi.h
Ntddkbd.h
Ntddmou.h
Ntddpsch.h
Ntdef.h
Ntdsapi.h
Ntenclv.h
Ntlsa.h
Ntmsapi.h
Ntmsmli.h
Ntquery.h
Ntsecapi.h
Ntsecpkg.h
Oaidl.h
Objbase.h
Objectarray.h
Objidl.h
Objidlbase.h
Objpath.h
Objsel.h
Ocidl.h
Ole.h
Ole2.h
Oleacc.h
Oleauto.h
Olectl.h
Oledbguid.h
Oledlg.h
Oleidl.h
Ondemandconnroutehelper.h
Oobenotification.h
Opmapi.h
P2p.h
Pathcch.h
Pchannel.h
Pdh.h
Peerdist.h
Peninputpanel.h
Perflib.h
Photoacquire.h
Physicalmonitorenumerationapi.h
Pla.h
Playtomanagerinterop.h
Pnpxassoc.h
Pnrpdef.h
Pnrpns.h
Portabledeviceapi.h
Portabledeviceconnectapi.h
Powerbase.h
Powersetting.h
Powrprof.h
Printmanagerinterop.h
Prnasnot.h
Prntvpt.h
Processenv.h
Processsnapshot.h
Processthreadsapi.h
Processtopologyapi.h
Profileapi.h
Profinfo.h
Projectedfslib.h
Proofofpossessioncookieinfo.h
Propapi.h
Propidl.h
Propidlbase.h
Propkeydef.h
Propsys.h
Propvarutil.h
Provider.h
Prsht.h
Psapi.h
Pwm.h
Qmgr.h
Qos.h
Qos2.h
Qosobjs.h
Qospol.h
Qossp.h
Radialcontrollerinterop.h
Ras.h
Rasdlg.h
Raseapif.h
Rasshost.h
Rdpappcontainerclient.h
Rdpencomapi.h
Realtimeapiset.h
Recapis.h
Reconcil.h
Rectypes.h
Refptrco.h
Relogger.h
Remotesystemadditionalinfo.h
Rend.h
Rendezvoussession.h
Resapi.h
Resourceindexer.h
Restartmanager.h
Restrictederrorinfo.h
Richedit.h
Richole.h
Roapi.h
Robuffer.h
Roerrorapi.h
Rometadata.h
Rometadataapi.h
Rometadataresolution.h
Roparameterizediid.h
Roregistrationapi.h
Routprot.h
Rpc.h
Rpcasync.h
Rpcdce.h
Rpcdcep.h
Rpcndr.h
Rpcnsi.h
Rpcproxy.h
Rpcssl.h
Rrascfg.h
Rtlsupportapi.h
Rtmv2.h
Rtscom.h
Rtworkq.h
Sas.h
Sbtsv.h
Scclient.h
Scesvc.h
Schannel.h
Schedule.h
Scrnsave.h
Scserver.h
Sddl.h
Sdoias.h
Searchapi.h
Secext.h
Securityappcontainer.h
Securitybaseapi.h
Sensapi.h
Sensevts.h
Sensorsapi.h
Sessdirpublictypes.h
Setupapi.h
Sfc.h
Shappmgr.h
Shcore.h
Shdeprecated.h
Shellapi.h
Shellscalingapi.h
Shidfact.h
Shimgdata.h
Shldisp.h
Shlobj.h
Shlobj_core.h
Shlwapi.h
Shobjidl.h
Shobjidl_core.h
Shtypes.h
Slpublic.h
Smbclnt.h
Snmp.h
Socketapi.h
Spatialaudioclient.h
Spatialaudiohrtf.h
Spatialaudiometadata.h
Spatialinteractionmanagerinterop.h
Spellcheck.h
Spellcheckprovider.h
Sporder.h
Srpapi.h
Srrestoreptapi.h
Sspi.h
Stm.h
Storageprovider.h
Storprop.h
Stralign.h
Stringapiset.h
Strmif.h
Strsafe.h
Structuredquery.h
Structuredquerycondition.h
Subauth.h
Subsmgr.h
Swdevice.h
Swdevicedef.h
Synchapi.h
Syncmgr.h
Syncregistration.h
Sysinfoapi.h
Systemtopologyapi.h
T2embapi.h
Tabflicks.h
Tapi.h
Tapi3.h
Tapi3cc.h
Tapi3ds.h
Tapi3if.h
Taskschd.h
Tbs.h
Tcpestats.h
Tcpioctl.h
Tcpmib.h
Tdh.h
Tdiinfo.h
Termmgr.h
Textserv.h
Textstor.h
Thrdbase.h
Threadpoolapiset.h
Threadpoollegacyapiset.h
Thumbcache.h
Thumbnailstreamcache.h
Timeapi.h
Timeprov.h
Timezoneapi.h
Tlhelp32.h
Tlogstg.h
Tokenbinding.h
Tom.h
Tpcshrd.h
Tpmvscmgr.h
Traceloggingactivity.h
Traceloggingprovider.h
Traffic.h
Transportsettingcommon.h
Tsgauthenticationengine.h
Tsgpolicyengine.h
Tspi.h
Tspubplugin2com.h
Tspubplugincom.h
Tssbx.h
Tsuserex.h
Tsvirtualchannels.h
Tvout.h
Txfw32.h
Txlogpub.h
Ual.h
Udpmib.h
Uianimation.h
Uiautomationclient.h
Uiautomationcore.h
Uiautomationcoreapi.h
Uiribbon.h
Unknwn.h
Unknwnbase.h
Upnp.h
Upnphost.h
Urlmon.h
Usbuser.h
Userenv.h
Usp10.h
Utilapiset.h
Uxtheme.h
Vbinterf.h
Vdmdbg.h
Vds.h
Vdshwprv.h
Vdslun.h
Verrsrc.h
Versionhelpers.h
Vfw.h
Virtdisk.h
Vmgenerationcounter.h
Vsadmin.h
Vsbackup.h
Vsmgmt.h
Vsprov.h
Vss.h
Vswriter.h
Waasapi.h
Waasapitypes.h
Wabapi.h
Wabdefs.h
Wabiab.h
Wabmem.h
Wabtags.h
Wbemcli.h
Wbemdisp.h
Wbemglue.h
Wbemprov.h
Wbemtime.h
Wcmapi.h
Wcmconfig.h
Wcndevice.h
Wcntypes.h
Wcsplugin.h
Wct.h
Wdsbp.h
Wdsclientapi.h
Wdspxe.h
Wdstci.h
Wdstpdi.h
Wdstptmgmt.h
Weakreference.h
Webapplication.h
Webauthenticationcoremanagerinterop.h
Webservices.h
Websocket.h
Werapi.h
Wia_xp.h
Wiavideo.h
Winbase.h
Winber.h
Winbio.h
Winbio_adapter.h
Wincodec.h
Wincodecsdk.h
Wincred.h
Wincrypt.h
Winddi.h
Windef.h
Windns.h
Windows.data.pdf.interop.h
Windows.devices.alljoyn.interop.h
Windows.foundation.h
Windows.graphics.capture.interop.h
Windows.graphics.directx.direct3d11.interop.h
Windows.graphics.effects.interop.h
Windows.graphics.imaging.interop.h
Windows.media.core.interop.h
Windows.ui.composition.interop.h
Windows.ui.xaml.hosting.referencetracker.h
Windows.ui.xaml.media.dxinterop.h
Windowsceip.h
Windowsdefender.h
Windowsstoragecom.h
Windowsx.h
Winefs.h
Winenclaveapi.h
Winerror.h
Winevt.h
Winfax.h
Wingdi.h
Winhttp.h
Wininet.h
Winineti.h
Winioctl.h
Winldap.h
Winml.h
Winnetwk.h
Winnls.h
Winnls32.h
Winnt.h
Winperf.h
Winreg.h
Winsafer.h
Winsatcominterfacei.h
Winscard.h
Winsnmp.h
Winsock.h
Winsock2.h
Winstring.h
Winsvc.h
Winsxs.h
Winsync.h
Winternl.h
Wintrust.h
Winusb.h
Winusbio.h
Winuser.h
Winver.h
Winwlx.h
Wlanapi.h
Wmcodecdsp.h
Wmcontainer.h
Wmdmlog.h
Wmiutils.h
Wnvapi.h
Wofapi.h
Workspaceax.h
Workspaceruntime.h
Workspaceruntimeclientext.h
Wow64apiset.h
Wpcapi.h
Wpcevent.h
Wrdsgraphicschannels.h
Ws2atm.h
Ws2bth.h
Ws2def.h
Ws2ipdef.h
Ws2spi.h
Ws2tcpip.h
Wsbapp.h
Wsbonline.h
Wscapi.h
Wsdattachment.h
Wsdbase.h
Wsdclient.h
Wsddisco.h
Wsdevlicensing.h
Wsdhost.h
Wsdtypes.h
Wsdutil.h
Wsdxml.h
Wsdxmldom.h
Wsipv6ok.h
Wslapi.h
Wsman.h
Wsmandisp.h
Wsnwlink.h
Wsrm.h
Wtsapi32.h
Wtsdefs.h
Wtshintapi.h
Wtsprotocol.h
Wtypes.h
Wtypesbase.h
Wuapi.h
Wuapicommon.h
X3daudio.h
Xamlom.h
Xapo.h
Xapobase.h
Xapofx.h
Xaudio2.h
Xaudio2fx.h
Xblidpauthmanager.h
Xenroll.h
Xinput.h
Xpsdigitalsignature.h
Xpsobjectmodel.h
Xpsobjectmodel_1.h
Xpsobjectmodel_2.h
Xpsprint.h
Active Directory Domain Services
2/7/2020 • 24 minutes to read • Edit Online

Overview of the Active Directory Domain Services technology.


To develop Active Directory Domain Services, you need these headers:
adsprop.h
cmnquery.h
dsadmin.h
dsclient.h
dsgetdc.h
dsparse.h
dsquery.h
dsrole.h
ntdsapi.h
objsel.h
schedule.h
For programming guidance for this technology, see:
Active Directory Domain Services

Enumerations
T IT L E DESC RIP T IO N

DS_KCC_TASKID Specifies tasks that Knowledge Consistency Checker (KCC) can


execute.

DS_MANGLE_FOR The DS_MANGLE_FOR enumeration is used to define whether


a relative distinguished name is mangled (encoded) and in
what form the mangling occurs.

DS_NAME_ERROR The DS_NAME_ERROR enumeration defines the errors


returned by the status member of the
DS_NAME_RESULT_ITEM structure. These are potential errors
that may be encountered while a name is converted by the
DsCrackNames function.

DS_NAME_FLAGS The DS_NAME_FLAGS enumeration is used to define how the


name syntax will be cracked. These flags are used by the
DsCrackNames function.

DS_NAME_FORMAT The DS_NAME_FORMAT enumeration provides formats to use


for input and output names for the DsCrackNames function.

DS_REPL_INFO_TYPE The DS_REPL_INFO_TYPE enumeration is used with the


DsReplicaGetInfo and DsReplicaGetInfo2 functions to specify
the type of replication data to retrieve.
T IT L E DESC RIP T IO N

DS_REPL_OP_TYPE Used to indicate the type of replication operation that a given


entry in the replication queue represents.

DS_REPSYNCALL_ERROR The DS_REPSYNCALL_ERROR enumeration is used with the


DS_REPSYNCALL_ERRINFO structure to indicate where in the
replication process an error occurred.

DS_REPSYNCALL_EVENT The DS_REPSYNCALL_EVENT enumeration is used with the


DS_REPSYNCALL_UPDATE structure to define which event the
DS_REPSYNCALL_UPDATE structure represents.

DS_SPN_NAME_TYPE The DS_SPN_NAME_TYPE enumeration is used by the


DsGetSPN function to identify the format for composing
SPNs.

DS_SPN_WRITE_OP The DS_SPN_WRITE_OP enumeration identifies the type of


write operation that should be performed by the
DsWriteAccountSpn function.

DSROLE_MACHINE_ROLE Used with the MachineRole member of the


DSROLE_PRIMARY_DOMAIN_INFO_BASIC structure to specify
the computer role.

DSROLE_OPERATION_STATE Used with the DSROLE_OPERATION_STATE_INFO structure to


indicate the operational state of a computer.

DSROLE_PRIMARY_DOMAIN_INFO_LEVEL Used with the DsRoleGetPrimaryDomainInformation function


to specify the type of data to retrieve.

DSROLE_SERVER_STATE Used with the DSROLE_UPGRADE_STATUS_INFO structure to


indicate the role of a server.

Functions
T IT L E DESC RIP T IO N

AddForms Called to allow a query form extension object to add forms to


the query dialog box.

AddPages Called to allow a query form object to add pages to an


existing form.

AddPages The IDsAdminNewObjExt::AddPages method is called to


enable the object creation wizard extension to add the desired
pages to the wizard.

ADsPropCheckIfWritable The ADsPropCheckIfWritable function determines if an


attribute can be written.

ADsPropCreateNotifyObj The ADsPropCreateNotifyObj function is used to create, or


obtain, a notification object for use by an Active Directory
Domain Services property sheet extension.
T IT L E DESC RIP T IO N

ADsPropGetInitInfo Used to obtain directory object data that an Active Directory


Domain Services property sheet extension applies to.

ADsPropSendErrorMessage The ADsPropSendErrorMessage function adds an error


message to a list of error messages displayed by calling the
ADsPropShowErrorDialog function.

ADsPropSetHwnd Used to notify the notification object of the property page


window handle.

ADsPropSetHwndWithTitle Used to notify the notification object of the property page


window handle.

ADsPropShowErrorDialog The ADsPropShowErrorDialog function displays a dialog box


that contains the error messages accumulated through calls
to the ADsPropSendErrorMessage function or the
WM_ADSPROP_NOTIFY_ERROR.

Begin The IDsAdminNotifyHandler::Begin method is called when an


event that the notification handler has requested is occurring.
The notification handler specifies the events to receive
notifications for when IDsAdminNotifyHandler::Initialize is
called.

BFFCALLBACK Receives event notifications from the Active Directory Domain


Services container browser dialog box.

BrowseTo The IDsBrowseDomainTree::BrowseTo method displays a


dialog box used to browse for a domain.

Clear Empties the contents of the query store.

Commit The IDsAdminNewObjPrimarySite::Commit method causes a


single-page primary object creation extension's
IDsAdminNewObjExt::WriteData method to be called and
writes the temporary object to persistent memory.

CreateModal The IDsAdminCreateObj::CreateModal method displays the


object creation wizard and returns the newly created object.
The IDsAdminCreateObj::Initialize method must be called
before IDsAdminCreateObj::CreateModal can be called.

CreateNew The IDsAdminNewObjPrimarySite::CreateNew method


enables a primary object creation extension to create a
temporary directory service object in Active Directory
Domain Services.

DsAddressToSiteNamesA Obtains the site names corresponding to the specified


addresses.

DsAddressToSiteNamesExA Obtains the site and subnet names corresponding to the


addresses specified.

DsAddressToSiteNamesExW Obtains the site and subnet names corresponding to the


addresses specified.
T IT L E DESC RIP T IO N

DsAddressToSiteNamesW Obtains the site names corresponding to the specified


addresses.

DsAddSidHistoryA Retrieves the primary account security identifier (SID) of a


security principal from one domain and adds it to the
sIDHistory attribute of a security principal in another domain
in a different forest.

DsAddSidHistoryW Retrieves the primary account security identifier (SID) of a


security principal from one domain and adds it to the
sIDHistory attribute of a security principal in another domain
in a different forest.

DsBindA Binds to a domain controller.

DsBindingSetTimeout The DsBindingSetTimeout function sets the timeout value


that is honored by all RPC calls that use the specified binding
handle. RPC calls that required more time than the timeout
value are canceled.

DsBindToISTGA Binds to the computer that holds the Inter-Site Topology


Generator (ISTG) role in the domain of the local computer.

DsBindToISTGW Binds to the computer that holds the Inter-Site Topology


Generator (ISTG) role in the domain of the local computer.

DsBindW Binds to a domain controller.

DsBindWithCredA Binds to a domain controller using the specified credentials.

DsBindWithCredW Binds to a domain controller using the specified credentials.

DsBindWithSpnA Binds to a domain controller using the specified credentials


and a specific service principal name (SPN) for mutual
authentication.

DsBindWithSpnExA Binds to a domain controller using the specified credentials


and a specific service principal name (SPN) for mutual
authentication.

DsBindWithSpnExW Binds to a domain controller using the specified credentials


and a specific service principal name (SPN) for mutual
authentication.

DsBindWithSpnW Binds to a domain controller using the specified credentials


and a specific service principal name (SPN) for mutual
authentication.

DsBrowseForContainerA Displays a dialog box used to browse for container objects in


Active Directory Domain Services.

DsBrowseForContainerW Displays a dialog box used to browse for container objects in


Active Directory Domain Services.
T IT L E DESC RIP T IO N

DsClientMakeSpnForTargetServerA Constructs a service principal name (SPN) that identifies a


specific server to use for authentication.

DsClientMakeSpnForTargetServerW Constructs a service principal name (SPN) that identifies a


specific server to use for authentication.

DsCrackNamesA Converts an array of directory service object names from one


format to another.

DsCrackNamesW Converts an array of directory service object names from one


format to another.

DsCrackSpnA Parses a service principal name (SPN) into its component


strings.

DsCrackSpnW Parses a service principal name (SPN) into its component


strings.

DsCrackUnquotedMangledRdnA The DsCrackUnquotedMangledRdn function unmangles


(unencodes) a given relative distinguished name and returns
both the decoded GUID and the mangling type used.

DsCrackUnquotedMangledRdnW The DsCrackUnquotedMangledRdn function unmangles


(unencodes) a given relative distinguished name and returns
both the decoded GUID and the mangling type used.

DsDeregisterDnsHostRecordsA The DsDeregisterDnsHostRecords function deletes DNS


entries, except for type A records registered by a domain
controller. Only an administrator, account operator, or server
operator may call this function.

DsDeregisterDnsHostRecordsW The DsDeregisterDnsHostRecords function deletes DNS


entries, except for type A records registered by a domain
controller. Only an administrator, account operator, or server
operator may call this function.

DsEnumerateDomainTrustsA Obtains domain trust data for a specified domain.

DsEnumerateDomainTrustsW Obtains domain trust data for a specified domain.

DsFreeDomainControllerInfoA The DsFreeDomainControllerInfo function frees memory that


is allocated by DsGetDomainControllerInfo for data about the
domain controllers in a domain.

DsFreeDomainControllerInfoW The DsFreeDomainControllerInfo function frees memory that


is allocated by DsGetDomainControllerInfo for data about the
domain controllers in a domain.

DsFreeNameResultA Frees the memory held by a DS_NAME_RESULT structure.

DsFreeNameResultW Frees the memory held by a DS_NAME_RESULT structure.

DsFreePasswordCredentials Frees memory allocated for a credentials structure by the


DsMakePasswordCredentials function.
T IT L E DESC RIP T IO N

DsFreeSchemaGuidMapA Frees memory that the DsMapSchemaGuids function has


allocated for a DS_SCHEMA_GUID_MAP structure.

DsFreeSchemaGuidMapW Frees memory that the DsMapSchemaGuids function has


allocated for a DS_SCHEMA_GUID_MAP structure.

DsFreeSpnArrayA Frees an array returned from the DsGetSpn function.

DsFreeSpnArrayW Frees an array returned from the DsGetSpn function.

DsGetDcCloseW Closes a domain controller enumeration operation.

DsGetDcNameA Returns the name of a domain controller in a specified


domain.

DsGetDcNameW Returns the name of a domain controller in a specified


domain.

DsGetDcNextA Retrieves the next domain controller in a domain controller


enumeration operation.

DsGetDcNextW Retrieves the next domain controller in a domain controller


enumeration operation.

DsGetDcOpenA Opens a new domain controller enumeration operation.

DsGetDcOpenW Opens a new domain controller enumeration operation.

DsGetDcSiteCoverageA The DsGetDcSiteCoverage function returns the site names of


all sites covered by a domain controller.

DsGetDcSiteCoverageW The DsGetDcSiteCoverage function returns the site names of


all sites covered by a domain controller.

DsGetDomainControllerInfoA Retrieves data about the domain controllers in a domain.

DsGetDomainControllerInfoW Retrieves data about the domain controllers in a domain.

DsGetForestTrustInformationW Obtains forest trust data for a specified domain.

DsGetFriendlyClassName Retrieves the localized name for an object class.

DsGetIcon Obtains the icon for a given object class.

DsGetRdnW Retrieves the key and value of the first relative distinguished
name and a pointer to the next relative distinguished name
from a distinguished name string.

DsGetSiteNameA The DsGetSiteName function returns the name of the site


where a computer resides.
T IT L E DESC RIP T IO N

DsGetSiteNameW The DsGetSiteName function returns the name of the site


where a computer resides.

DsGetSpnA The DsGetSpn function constructs an array of one or more


service principal names (SPNs). Each name in the array
identifies an instance of a service. These SPNs may be
registered with the directory service (DS) using the
DsWriteAccountSpn function.

DsGetSpnW The DsGetSpn function constructs an array of one or more


service principal names (SPNs). Each name in the array
identifies an instance of a service. These SPNs may be
registered with the directory service (DS) using the
DsWriteAccountSpn function.

DsInheritSecurityIdentityA Appends the objectSid and sidHistory attributes of


SrcPrincipal to the sidHistory of DstPrincipal and then deletes
SrcPrincipal, all in a single transaction.

DsInheritSecurityIdentityW Appends the objectSid and sidHistory attributes of


SrcPrincipal to the sidHistory of DstPrincipal and then deletes
SrcPrincipal, all in a single transaction.

DsIsMangledDnA The DsIsMangledDn function determines if the first relative


distinguished name (RDN) in a distinguished name (DN) is a
mangled name of a given type.

DsIsMangledDnW The DsIsMangledDn function determines if the first relative


distinguished name (RDN) in a distinguished name (DN) is a
mangled name of a given type.

DsIsMangledRdnValueA Determines if a given relative distinguished name value is a


mangled name of the given type.

DsIsMangledRdnValueW Determines if a given relative distinguished name value is a


mangled name of the given type.

DsListDomainsInSiteA Lists all the domains in a site.

DsListDomainsInSiteW Lists all the domains in a site.

DsListInfoForServerA The DsListInfoForServer function lists miscellaneous data for a


server.

DsListInfoForServerW The DsListInfoForServer function lists miscellaneous data for a


server.

DsListRolesA The DsListRoles function lists roles recognized by the server.

DsListRolesW The DsListRoles function lists roles recognized by the server.

DsListServersForDomainInSiteA Lists all the servers in a domain in a site.

DsListServersForDomainInSiteW Lists all the servers in a domain in a site.


T IT L E DESC RIP T IO N

DsListServersInSiteA Lists all the servers in a site.

DsListServersInSiteW Lists all the servers in a site.

DsListSitesA Lists all the sites in the enterprise forest.

DsListSitesW Lists all the sites in the enterprise forest.

DsMakePasswordCredentialsA Constructs a credential handle suitable for use with the


DsBindWithCred function.

DsMakePasswordCredentialsW Constructs a credential handle suitable for use with the


DsBindWithCred function.

DsMakeSpnA Constructs a service principal name (SPN) that identifies a


service instance.

DsMakeSpnW Constructs a service principal name (SPN) that identifies a


service instance.

DsMapSchemaGuidsA Converts GUIDs of directory service schema objects to their


display names.

DsMapSchemaGuidsW Converts GUIDs of directory service schema objects to their


display names.

DsMergeForestTrustInformationW Merges the changes from a new forest trust data structure
with an old forest trust data structure.

DsQuerySitesByCostA Gets the communication cost between one site and one or
more other sites.

DsQuerySitesByCostW Gets the communication cost between one site and one or
more other sites.

DsQuerySitesFree Frees the memory allocated by the DsQuerySitesByCost


function.

DsQuoteRdnValueA Converts an RDN into a quoted RDN value, if the RDN value
contains characters that require quotes.

DsQuoteRdnValueW Converts an RDN into a quoted RDN value, if the RDN value
contains characters that require quotes.

DsRemoveDsDomainA Removes all traces of a domain naming context from the


global area of the directory service.

DsRemoveDsDomainW Removes all traces of a domain naming context from the


global area of the directory service.

DsRemoveDsServerA The DsRemoveDsServer function removes all traces of a


directory service agent (DSA) from the global area of the
directory service.
T IT L E DESC RIP T IO N

DsRemoveDsServerW The DsRemoveDsServer function removes all traces of a


directory service agent (DSA) from the global area of the
directory service.

DsReplicaAddA Adds a replication source reference to a destination naming


context.

DsReplicaAddW Adds a replication source reference to a destination naming


context.

DsReplicaConsistencyCheck Invokes the Knowledge Consistency Checker (KCC) to verify


the replication topology.

DsReplicaDelA Removes a replication source reference from a destination


naming context (NC).

DsReplicaDelW Removes a replication source reference from a destination


naming context (NC).

DsReplicaFreeInfo Frees the replication state data structure allocated by the


DsReplicaGetInfo or DsReplicaGetInfo2 functions.

DsReplicaGetInfo2W Retrieves replication state data from the directory service. This
function allows paging of results in cases where there are
more than 1000 entries to retrieve.

DsReplicaGetInfoW Retrieves replication state data from the directory service.

DsReplicaModifyA Modifies an existing replication source reference for a


destination naming context.

DsReplicaModifyW Modifies an existing replication source reference for a


destination naming context.

DsReplicaSyncA Synchronizes a destination naming context (NC) with one of


its sources.

DsReplicaSyncAllA Synchronizes a server with all other servers, using transitive


replication, as necessary.

DsReplicaSyncAllW Synchronizes a server with all other servers, using transitive


replication, as necessary.

DsReplicaSyncW Synchronizes a destination naming context (NC) with one of


its sources.

DsReplicaUpdateRefsA Adds or removes a replication reference for a destination from


a source naming context.

DsReplicaUpdateRefsW Adds or removes a replication reference for a destination from


a source naming context.

DsReplicaVerifyObjectsA Verifies all objects for a naming context with a source.


T IT L E DESC RIP T IO N

DsReplicaVerifyObjectsW Verifies all objects for a naming context with a source.

DsRoleFreeMemory Frees memory allocated by the


DsRoleGetPrimaryDomainInformation function.

DsRoleGetPrimaryDomainInformation Retrieves state data for the computer.

DsServerRegisterSpnA The DsServerRegisterSpn function composes two SPNs for a


host-based service.

DsServerRegisterSpnW The DsServerRegisterSpn function composes two SPNs for a


host-based service.

DsUnBindA The DsUnBind function finds an RPC session with a domain


controller and unbinds a handle to the directory service (DS).

DsUnBindW The DsUnBind function finds an RPC session with a domain


controller and unbinds a handle to the directory service (DS).

DsUnquoteRdnValueA The DsUnquoteRdnValue function is a client call that converts


a quoted RDN value back to an unquoted RDN value.

DsUnquoteRdnValueW The DsUnquoteRdnValue function is a client call that converts


a quoted RDN value back to an unquoted RDN value.

DsValidateSubnetNameA The DsValidateSubnetName function validates a subnet name


in the form xxx.xxx.xxx.xxx/YY.

DsValidateSubnetNameW The DsValidateSubnetName function validates a subnet name


in the form xxx.xxx.xxx.xxx/YY.

DsWriteAccountSpnA Writes an array of service principal names (SPNs) to the


servicePrincipalName attribute of a specified user or computer
account object in Active Directory Domain Services.

DsWriteAccountSpnW Writes an array of service principal names (SPNs) to the


servicePrincipalName attribute of a specified user or computer
account object in Active Directory Domain Services.

End The IDsAdminNotifyHandler::End method is called after the


notification event has occurred. This method is called even if
the notification process is canceled.

EnumClassAttributes Enumerates the attributes for a given object class.

FlushCachedDomains The IDsBrowseDomainTree::FlushCachedDomains method


frees the cached domain list.

FreeDomains The IDsBrowseDomainTree::FreeDomains method frees the


memory allocated by the IDsBrowseDomainTree::GetDomains
method.

GetAttributeADsType Retrieves the attribute type for a given attribute.


T IT L E DESC RIP T IO N

GetClassCreationInfo Retrieves data about the class creation wizard objects for a
given object class.

GetDisplaySpecifier The IDsDisplaySpecifier::GetDisplaySpecifier method binds to


the display specifier object for a given class in Active Directory
Domain Services.

GetDomains The IDsBrowseDomainTree::GetDomains method retrieves the


trust domains of the current computer. The current computer
is set using the IDsBrowseDomainTree::SetComputer method.

GetFriendlyAttributeName The IDsDisplaySpecifier::GetFriendlyAttributeName method


retrieves from the localized name of an attribute of a given
object class.

GetFriendlyClassName The IDsDisplaySpecifier::GetFriendlyClassName method


retrieves the localized name for an object class.

GetIcon The IDsDisplaySpecifier::GetIcon method obtains the icon for


a given object class.

GetIconLocation Obtains the icon location for a given object class.

GetPageCounts The IDsAdminNewObj::GetPageCounts method obtains the


total number of pages in the wizard as well as the index of the
first page of the extension.

GetSummaryInfo The IDsAdminNewObjExt::GetSummaryInfo method obtains a


string that contains a summary of the data gathered by the
new object wizard extension page. This string is displayed in
the wizard Finish page.

Initialize Initializes the query form extension object.

Initialize The IDsObjectPicker::Initialize method initializes the object


picker dialog box with data about the scopes, filters, and
options used by the object picker dialog box.

Initialize The IDsAdminCreateObj::Initialize method initializes an


IDsAdminCreateObj object with data about the container
where the object will be created, the class of the object to be
created and, possibly, the source object to copy from.

Initialize The IDsAdminNewObjExt::Initialize method initializes an object


creation wizard extension.

Initialize Called to initialize the notification handler.

InvokeDialog Displays a modal object picker dialog box and returns the
user selections.

IsClassContainer Determines if a given object class is a container.


T IT L E DESC RIP T IO N

LPCQADDFORMSPROC Called by a query form extension to add a form to the query


dialog box.

LPCQADDPAGESPROC Called by a query form extension to add a page to a query


form in the query dialog box.

LPCQPAGEPROC Called by the query dialog box to notify the query form
extension of events that occur in a query page.

LPDSENUMATTRIBUTES The DSEnumAttributesCallback function is an application-


defined callback function that is called once for each attribute
enumerated by the IDsDisplaySpecifier::EnumClassAttributes
method.

Notify Called for each object after the confirmation dialog box has
been displayed and the notification handler is selected in the
confirmation dialog box.

OnError Called when an error has occurred in the wizard pages.

OpenQueryWindow The ICommonQuery::OpenQueryWindow method displays


the directory service query dialog. This method does not
return until the dialog box has been closed by the user.

ReadInt Reads an integer value from the query store.

ReadString Reads a string from the query store.

ReadStruct Reads a structure from the query store.

SetButtons The IDsAdminNewObj::SetButtons method enables or disables


the "Next" command button in the wizard for a specific page.

SetComputer Specifies the computer and credentials to be used by this


instance of the IDsBrowseDomainTree interface.

SetCredentials Use this method to override the user credentials, passing new
credentials for the account profile to be used.

SetLanguageID Changes the locale used by the IDsDisplaySpecifier object to a


specified language.

SetObject The IDsAdminNewObjExt::SetObject method provides the


object creation extension with a pointer to the directory
object created.

SetServer Specifies the server from which display specifier data is


obtained.

WriteData Enables the object creation wizard extension to write its data
into an object in Active Directory Domain Services.

WriteInt Writes an integer value to the query store.


T IT L E DESC RIP T IO N

WriteString Writes a string to the query store.

WriteStruct Writes a structure to the query store.

Interfaces
T IT L E DESC RIP T IO N

ICommonQuery Used to programmatically display the system-supplied


directory service query dialog box.

IDsAdminCreateObj Used by an application or component to programmatically


start a creation wizard for a specified object class.

IDsAdminNewObj The IDsAdminNewObj interface is used by a primary or


secondary object creation wizard extension to obtain page
count data and to control the command buttons in the
wizard.

IDsAdminNewObjExt The IDsAdminNewObjExt interface is implemented by an


object creation wizard extension.

IDsAdminNewObjPrimarySite The IDsAdminNewObjPrimarySite interface is implemented by


the system and is used by a primary object creation extension
to create a new temporary object in Active Directory Domain
Services and then commit the object to persistent memory.

IDsAdminNotifyHandler The IDsAdminNotifyHandler interface is implemented by an


Active Directory administrative notification handler.

IDsBrowseDomainTree The IDsBrowseDomainTree interface is used by an application


to display a domain browser dialog box and/or obtain a list of
trust domains related to a given computer.

IDsDisplaySpecifier Provides access to Active Directory Domain Service objects of


the displaySpecifier class.

IDsObjectPicker The IDsObjectPicker interface is used by an application to


initialize and display an object picker dialog box. To create an
instance of this interface, call CoCreateInstance with the
CLSID_DsObjectPicker class identifier as shown below.

IDsObjectPickerCredentials The IDsObjectPickerCredentials interface allows you to


override credentials for the IDsObjectPicker object
implementing this interface.

IPersistQuery Used to store and retrieve query parameters to and from


persistent storage.

IQueryForm Implemented by a query form extension object to allow the


form object to add forms and pages to the system-supplied
directory service query dialog box.
Structures
T IT L E DESC RIP T IO N

ADSPROPERROR The ADSPROPERROR structure is used to pass error data to


the notification object with the ADsPropSendErrorMessage
function or the WM_ADSPROP_NOTIFY_ERROR message.

ADSPROPINITPARAMS Used with the ADsPropGetInitInfo function to obtain object


data that a display specifier applies to.

CQFORM Used to define a query form added to the query dialog box
with the CQAddFormsProc callback function.

CQPAGE Used to define a query page added to a form in the query


dialog box with the CQAddPagesProc callback function.

DOMAIN_CONTROLLER_INFOA Used with the DsGetDcName function to receive data about a


domain controller.

DOMAIN_CONTROLLER_INFOW Used with the DsGetDcName function to receive data about a


domain controller.

DOMAIN_DESC Contains data about an element in a domain tree obtained


with the IDsBrowseDomainTree::GetDomains method.

DOMAIN_TREE The DOMAINTREE structure contains data about a node in a


domain tree obtained with the
IDsBrowseDomainTree::GetDomains method. Each of the
domains in the tree node are represented by a DOMAINDESC
structure.

DS_DOMAIN_CONTROLLER_INFO_1A The DS_DOMAIN_CONTROLLER_INFO_1 structure contains


data about a domain controller. This structure is returned by
the DsGetDomainControllerInfo function.

DS_DOMAIN_CONTROLLER_INFO_1W The DS_DOMAIN_CONTROLLER_INFO_1 structure contains


data about a domain controller. This structure is returned by
the DsGetDomainControllerInfo function.

DS_DOMAIN_CONTROLLER_INFO_2A The DS_DOMAIN_CONTROLLER_INFO_2 structure contains


data about a domain controller. This structure is returned by
the DsGetDomainControllerInfo function.

DS_DOMAIN_CONTROLLER_INFO_2W The DS_DOMAIN_CONTROLLER_INFO_2 structure contains


data about a domain controller. This structure is returned by
the DsGetDomainControllerInfo function.

DS_DOMAIN_CONTROLLER_INFO_3A The DS_DOMAIN_CONTROLLER_INFO_3 structure contains


data about a domain controller. This structure is returned by
the DsGetDomainControllerInfo function.

DS_DOMAIN_CONTROLLER_INFO_3W The DS_DOMAIN_CONTROLLER_INFO_3 structure contains


data about a domain controller. This structure is returned by
the DsGetDomainControllerInfo function.
T IT L E DESC RIP T IO N

DS_DOMAIN_TRUSTSA Used with the DsEnumerateDomainTrusts function to contain


trust data for a domain.

DS_DOMAIN_TRUSTSW Used with the DsEnumerateDomainTrusts function to contain


trust data for a domain.

DS_NAME_RESULT_ITEMA The DS_NAME_RESULT_ITEM structure contains a name


converted by the DsCrackNames function, along with
associated error and domain data.

DS_NAME_RESULT_ITEMW The DS_NAME_RESULT_ITEM structure contains a name


converted by the DsCrackNames function, along with
associated error and domain data.

DS_NAME_RESULTA The DS_NAME_RESULT structure is used with the


DsCrackNames function to contain the names converted by
the function.

DS_NAME_RESULTW The DS_NAME_RESULT structure is used with the


DsCrackNames function to contain the names converted by
the function.

DS_REPL_ATTR_META_DATA The DS_REPL_ATTR_META_DATA structure is used with the


DsReplicaGetInfo and DsReplicaGetInfo2 functions to contain
replication state data for an object attribute.

DS_REPL_ATTR_META_DATA_2 The DS_REPL_ATTR_META_DATA_2 structure is used with the


DsReplicaGetInfo and DsReplicaGetInfo2 functions to contain
replication state data for an object attribute.

DS_REPL_ATTR_META_DATA_BLOB The DS_REPL_ATTR_META_DATA_BLOB structure is used to


contain replication state data for an object attribute.

DS_REPL_ATTR_VALUE_META_DATA The DS_REPL_ATTR_VALUE_META_DATA structure is used with


the DsReplicaGetInfo2 function to provide metadata for a
collection of attribute values.

DS_REPL_ATTR_VALUE_META_DATA_2 Used with the DsReplicaGetInfo2 function to provide


metadata for a collection of attribute values.

DS_REPL_ATTR_VALUE_META_DATA_EXT Provides metadata for a collection of attribute replication


values.

DS_REPL_CURSOR The DS_REPL_CURSOR structure contains inbound replication


state data with respect to all replicas of a given naming
context, as returned by the DsReplicaGetInfo and
DsReplicaGetInfo2 functions.

DS_REPL_CURSOR_2 The DS_REPL_CURSOR_2 structure contains inbound


replication state data with respect to all replicas of a given
naming context, as returned by the DsReplicaGetInfo2
function. This structure is an enhanced version of the
DS_REPL_CURSOR structure.
T IT L E DESC RIP T IO N

DS_REPL_CURSOR_3W The DS_REPL_CURSOR_3 structure contains inbound


replication state data with respect to all replicas of a given
naming context, as returned by the DsReplicaGetInfo2
function.

DS_REPL_CURSOR_BLOB The DS_REPL_CURSOR_BLOB structure contains inbound


replication state data with respect to all replicas of a given
naming context.

DS_REPL_CURSORS The DS_REPL_CURSORS structure is used with the


DsReplicaGetInfo and DsReplicaGetInfo2 function to provide
replication state data with respect to all replicas of a given
naming context.

DS_REPL_CURSORS_2 The DS_REPL_CURSORS_2 structure is used with the


DsReplicaGetInfo2 function to provide replication state data
with respect to all replicas of a given naming context.

DS_REPL_CURSORS_3W The DS_REPL_CURSORS_3 structure is used with the


DsReplicaGetInfo2 function to provide replication state data
with respect to all replicas of a given naming context.

DS_REPL_KCC_DSA_FAILURESW The DS_REPL_KCC_DSA_FAILURES structure contains an array


of DS_REPL_KCC_DSA_FAILURE structures, which in turn
contain replication state data with respect to inbound
replication partners, as returned by the DsReplicaGetInfo and
DsReplicaGetInfo2 functions.

DS_REPL_KCC_DSA_FAILUREW The DS_REPL_KCC_DSA_FAILURE structure contains replication


state data about a specific inbound replication partner, as
returned by the DsReplicaGetInfo and DsReplicaGetInfo2
function.

DS_REPL_KCC_DSA_FAILUREW_BLOB Contains replication state data with respect to a specific


inbound replication partner.

DS_REPL_NEIGHBORSW The DS_REPL_NEIGHBORS structure is used with the


DsReplicaGetInfo and DsReplicaGetInfo2 functions to provide
inbound replication state data for naming context and source
server pairs.

DS_REPL_NEIGHBORW Contains inbound replication state data for a particular


naming context and source server pair, as returned by the
DsReplicaGetInfo and DsReplicaGetInfo2 functions.

DS_REPL_NEIGHBORW_BLOB Contains inbound replication state data for a particular


naming context and source server pair.

DS_REPL_OBJ_META_DATA The DS_REPL_OBJ_META_DATA structure contains an array of


DS_REPL_ATTR_META_DATA structures. These structures
contain replication state data for past and present attributes
for a given object.
T IT L E DESC RIP T IO N

DS_REPL_OBJ_META_DATA_2 The DS_REPL_OBJ_META_DATA_2 structure contains an array


of DS_REPL_ATTR_META_DATA_2 structures, which in turn
contain replication state data for the attributes (past and
present) for a given object, as returned by the
DsReplicaGetInfo2 function.

DS_REPL_OPW The DS_REPL_OP structure describes a replication task


currently executing or pending execution, as returned by the
DsReplicaGetInfo or DsReplicaGetInfo2 function.

DS_REPL_OPW_BLOB The DS_REPL_OPW_BLOB structure describes a replication


task currently executing or pending execution.

DS_REPL_PENDING_OPSW Contains an array of DS_REPL_OP structures, which in turn


describe the replication tasks currently executing and queued
to execute, as returned by the DsReplicaGetInfo and
DsReplicaGetInfo2 functions.

DS_REPL_QUEUE_STATISTICSW Used to contain replication queue statistics.

DS_REPL_VALUE_META_DATA Used with the DS_REPL_ATTR_VALUE_META_DATA structure


to contain attribute value replication metadata.

DS_REPL_VALUE_META_DATA_2 Used with the DS_REPL_ATTR_VALUE_META_DATA_2 structure


to contain attribute value replication metadata.

DS_REPL_VALUE_META_DATA_BLOB Used to contain attribute value replication metadata.

DS_REPL_VALUE_META_DATA_BLOB_EXT Contains attribute value replication metadata.

DS_REPL_VALUE_META_DATA_EXT Contains attribute replication meta data for the


DS_REPL_ATTR_VALUE_META_DATA_EXT structure.

DS_REPSYNCALL_ERRINFOA The DS_REPSYNCALL_ERRINFO structure is used with the


DS_REPSYNCALL_UPDATE structure to contain errors
generated by the DsReplicaSyncAll function during replication.

DS_REPSYNCALL_ERRINFOW The DS_REPSYNCALL_ERRINFO structure is used with the


DS_REPSYNCALL_UPDATE structure to contain errors
generated by the DsReplicaSyncAll function during replication.

DS_REPSYNCALL_SYNCA The DS_REPSYNCALL_SYNC structure identifies a single


replication operation performed between a source, and
destination, server by the DsReplicaSyncAll function.

DS_REPSYNCALL_SYNCW The DS_REPSYNCALL_SYNC structure identifies a single


replication operation performed between a source, and
destination, server by the DsReplicaSyncAll function.

DS_REPSYNCALL_UPDATEA The DS_REPSYNCALL_UPDATE structure contains status data


about the replication performed by the DsReplicaSyncAll
function.
T IT L E DESC RIP T IO N

DS_REPSYNCALL_UPDATEW The DS_REPSYNCALL_UPDATE structure contains status data


about the replication performed by the DsReplicaSyncAll
function.

DS_SCHEMA_GUID_MAPA Contains the results of a call to DsMapSchemaGuids.

DS_SCHEMA_GUID_MAPW Contains the results of a call to DsMapSchemaGuids.

DS_SELECTION The DS_SELECTION structure contains data about an object


the user selected from an object picker dialog box. The
DS_SELECTION_LIST structure contains an array of
DS_SELECTION structures.

DS_SELECTION_LIST The DS_SELECTION_LIST structure contains data about the


objects the user selected from an object picker dialog box.

DS_SITE_COST_INFO The DS_SITE_COST_INFO structure is used with the


DsQuerySitesByCost function to contain communication cost
data.

DSA_NEWOBJ_DISPINFO Used with the IDsAdminNewObjExt::Initialize method to


supply additional data about an Active Directory Domain
Services object creation wizard.

DSBITEMA Contains data about an item in the Active Directory container


browser dialog box.

DSBITEMW Contains data about an item in the Active Directory container


browser dialog box.

DSBROWSEINFOA The DSBROWSEINFO structure is used with the


DsBrowseForContainer function to supply and return data
about the Active Directory container browser dialog box.

DSBROWSEINFOW The DSBROWSEINFO structure is used with the


DsBrowseForContainer function to supply and return data
about the Active Directory container browser dialog box.

DSCLASSCREATIONINFO Used with the IDsDisplaySpecifier::GetClassCreationInfo


method to hold data about the class creation wizard objects
for an object class.

DSCOLUMN The DSCOLUMN structure represents a column in the


directory services query dialog box. An array of this structure
is contained in the DSQUERYPARAMS structure.

DSDISPLAYSPECOPTIONS Used to supply data to a context menu or property page


extension about the display specifiers used.

DSOBJECT Contains directory object data.

DSOBJECTNAMES The DSOBJECTNAMES structure is used to contain directory


object data for use by an Active Directory property sheet or
context menu extension.
T IT L E DESC RIP T IO N

DSOP_FILTER_FLAGS Contains flags that indicate the types of objects presented to


the user for a specified scope or scopes.

DSOP_INIT_INFO The DSOP_INIT_INFO structure contains data required to


initialize an object picker dialog box. This structure is used
with the IDsObjectPicker::Initialize method.

DSOP_SCOPE_INIT_INFO The DSOP_SCOPE_INIT_INFO structure describes one or more


scope types that have the same attributes.

DSOP_UPLEVEL_FILTER_FLAGS The DSOP_UPLEVEL_FILTER_FLAGS structure contains flags


that indicate the filters to use for an up-level scope.

DSPROPERTYPAGEINFO The DSPROPERTYPAGEINFO structure is used by an Active


Directory property sheet extension to obtain static
registration data for the extension. This structure is supplied
by the CFSTR_DSPROPERTYPAGEINFO clipboard format.

DSQUERYCLASSLIST The DSQUERYCLASSLIST structure describes a list of classes


against which a directory service query is made.

DSQUERYINITPARAMS Describes the data used to initialize a browse dialog box in


the directory service query.

DSQUERYPARAMS The DSQUERYPARAMS structure contains query data used by


the directory service query when searching the directory
service.

DSROLE_OPERATION_STATE_INFO Used with the DsRoleGetPrimaryDomainInformation function


to contain the operational state data for a computer.

DSROLE_PRIMARY_DOMAIN_INFO_BASIC Used with the DsRoleGetPrimaryDomainInformation function


to contain domain data.

DSROLE_UPGRADE_STATUS_INFO Used with the DsRoleGetPrimaryDomainInformation function


to contain domain upgrade status data.

OPENQUERYWINDOW Used with the ICommonQuery::OpenQueryWindow method


to initialize the directory service query dialog box.

SCHEDULE Used with the DsReplicaAdd and DsReplicaModify functions to


contain replication schedule data for a replication source.

SCHEDULE_HEADER Used to contain the replication schedule data for a replication


source.
Active Directory Lightweight Directory Services
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Active Directory Lightweight Directory Services technology.


The Active Directory Lightweight Directory Services technology is not associated with any headers.
For programming guidance for this technology, see:
Active Directory Lightweight Directory Services

Functions
T IT L E DESC RIP T IO N

DsBindByInstanceA Explicitly binds to any AD LDS or Active Directory instance.

DsBindByInstanceW Explicitly binds to any AD LDS or Active Directory instance.


Active Directory Rights Management Services SDK
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Active Directory Rights Management Services SDK technology.


To develop Active Directory Rights Management Services SDK, you need these headers:
msdrm.h
msdrmdefs.h
For programming guidance for this technology, see:
Active Directory Rights Management Services SDK
Active Directory Service Interfaces
2/7/2020 • 18 minutes to read • Edit Online

Overview of the Active Directory Service Interfaces technology.


To develop Active Directory Service Interfaces, you need these headers:
adshlp.h
For programming guidance for this technology, see:
Active Directory Service Interfaces
Glossary

Enumerations
T IT L E DESC RIP T IO N

ADS_ACEFLAG_ENUM The ADS_ACEFLAG_ENUM enumeration is used to specify the


behavior of an Access Control Entry (ACE) for an Active
Directory object.

ADS_ACETYPE_ENUM Used to specify the type of an access-control entry for Active


Directory objects.

ADS_AUTHENTICATION_ENUM Specifies authentication options used in ADSI for binding to


directory service objects.

ADS_CHASE_REFERRALS_ENUM The ADS_CHASE_REFERRALS_ENUM enumeration specifies if,


and how, referral chasing occurs.

ADS_DEREFENUM The ADS_DEREFENUM enumeration specifies the process


through which aliases are dereferenced.

ADS_DISPLAY_ENUM The ADS_DISPLAY_ENUM enumeration specifies how a path is


to be displayed.

ADS_ESCAPE_MODE_ENUM Specifies how escape characters are displayed in a directory


path.

ADS_FLAGTYPE_ENUM The ADS_FLAGTYPE_ENUM enumeration specifies values that


can be used to indicate the presence of the ObjectType or
InheritedObjectType fields in the access-control entry (ACE).

ADS_FORMAT_ENUM Specifies the available path value types used by the


IADsPathname::Retrieve method.

ADS_GROUP_TYPE_ENUM Specifies the type of group objects in ADSI.

ADS_NAME_INITTYPE_ENUM The ADS_NAME_INITTYPE_ENUM enumeration specifies the


types of initialization to perform on a NameTranslate object. It
is used in the IADsNameTranslate interface.
T IT L E DESC RIP T IO N

ADS_NAME_TYPE_ENUM Specifies the formats used for representing distinguished


names.

ADS_OPTION_ENUM Contains values that indicate the options that can be retrieved
or set with the IADsObjectOptions.GetOption and
IADsObjectOptions.SetOption methods.

ADS_PASSWORD_ENCODING_ENUM Identifies the type of password encoding used with the


ADS_OPTION_PASSWORD_METHOD option in the
IADsObjectOptions::GetOption and
IADsObjectOptions::SetOption methods.

ADS_PATHTYPE_ENUM The ADS_PATHTYPE_ENUM enumeration specifies the type of


object on which the IADsSecurityUtility interface is going to
add or modify a security descriptor.

ADS_PREFERENCES_ENUM The ADS_PREFERENCES_ENUM enumeration specifies the


query preferences of the OLE DB provider for ADSI.

ADS_PROPERTY_OPERATION_ENUM Specifies ways to update a named property in the cache.

ADS_RIGHTS_ENUM Specifies access rights assigned to an Active Directory object.

ADS_SCOPEENUM Specifies the scope of a directory search.

ADS_SD_CONTROL_ENUM The ADS_SD_CONTROL_ENUM enumeration specifies control


flags for a security descriptor.

ADS_SD_FORMAT_ENUM The ADS_SD_FORMAT_ENUM enumeration specifies the


format that the security descriptor of an object will be
converted to by the IADsSecurityUtility interface.

ADS_SD_REVISION_ENUM Specifies the revision number of the access-control entry


(ACE), or the access-control list (ACL), for Active Directory.

ADS_SEARCHPREF_ENUM Specifies preferences for an IDirectorySearch object.

ADS_SECURITY_INFO_ENUM Specifies the available options for examining security data of


an object.

ADS_SETTYPE_ENUM The ADS_SETTYPE_ENUM enumeration specifies the available


pathname format used by the IADsPathname::Set method.

ADS_STATUSENUM Specifies the status of a search preference set with the


IDirectorySearch::SetSearchPreference method.

ADS_SYSTEMFLAG_ENUM The ADS_SYSTEMFLAG_ENUM enumeration defines some of


the values that can be assigned to the systemFlags attribute.
Some of the values in the enumeration are specific to
attributeSchema objects; other values can be set on objects of
any class.

ADS_USER_FLAG_ENUM Defines the flags used for setting user properties in the
directory.
T IT L E DESC RIP T IO N

ADSI_DIALECT_ENUM The ADSI_DIALECT_ENUM enumeration specifies query


dialects used in the OLE DB provider for ADSI.

ADSTYPEENUM Used to identify the data type of an ADSI property value.

Functions
T IT L E DESC RIP T IO N

AbandonSearch The IDirectorySearch::AbandonSearch method abandons a


search initiated by an earlier call to the ExecuteSearch method.

Add Adds a named item to the collection.

Add Adds an ADSI object to an existing group.

AddAce The IADsAccessControlList::AddAce method adds an


IADsAccessControlEntry object to the IADsAccessControlList
object.

AddLeafElement Adds an element to the end of the directory path already set
on the Pathname object.

ADsBuildEnumerator The ADsBuildEnumerator function creates an enumerator


object for the specified ADSI container object.

ADsBuildVarArrayInt The ADsBuildVarArrayInt function builds a variant array of


integers from an array of DWORD values.

ADsBuildVarArrayStr The ADsBuildVarArrayStr function builds a variant array from


an array of Unicode strings.

ADsEncodeBinaryData The ADsEncodeBinaryData function converts a binary large


object (BLOB) to the Unicode format suitable to be embedded
in a search filter.

ADsEnumerateNext The ADsEnumerateNext function enumerates through a


specified number of elements from the current cursor position
of the enumerator.

ADsFreeEnumerator Frees an enumerator object created with the


ADsBuildEnumerator function.

ADsGetLastError The ADsGetLastError function retrieves the calling thread's


last-error code value.

ADsGetObject Binds to an object given its path and a specified interface


identifier.

ADsOpenObject Binds to an ADSI object using explicit user name and password
credentials.
T IT L E DESC RIP T IO N

ADsSetLastError The ADsSetLastError sets the last-error code value for the
calling thread.

AllocADsMem Allocates a block of memory of the specified size.

AllocADsStr Allocates memory for and copies a specified string.

BinarySDToSecurityDescriptor Converts a binary security descriptor to an


IADsSecurityDescriptor object.

ChangePassword Changes the user password from the specified old value to a
new value.

Clear Clears the current values of the property value object.

CloseSearchHandle The IDirectorySearch::CloseSearchHandle method closes the


handle to a search result and frees the associated memory.

Continue The IADsServiceOperations::Continue method resumes a


service operation paused by the IADsServiceOperations::Pause
method.

ConvertSecurityDescriptor Converts a security descriptor from one format to another.

CopyAccessList The IADsAccessControlList::CopyAccessList method copies


every access control entry (ACE) in the access-control list
(ACL) to the caller's process space.

CopyAcl The IADsAcl::CopyAcl method makes a copy of the existing


ACL.

CopyHere The IADsContainer::CopyHere method creates a copy of the


specified directory object in this container.

CopyPath Creates a copy of the Pathname object.

CopySecurityDescriptor The IADsSecurityDescriptor::CopySecurityDescriptor method


copies an ADSI security descriptor object that holds security
data about an object.

Create Sets up a request to create a directory object of the specified


schema class and a given name in the container.

CreateDSObject Creates a child of the current directory service object.

Delete Deletes a specified directory object from this container.

DeleteDSObject Deletes a leaf object in a directory tree.

DeleteObject The IADsDeleteOps::DeleteObject method deletes an ADSI


object.
T IT L E DESC RIP T IO N

ExecuteSearch The IDirectorySearch::ExecuteSearch method executes a search


and passes the results to the caller.

FreeADsMem Frees the memory allocated by AllocADsMem or


ReallocADsMem.

FreeADsStr Frees the memory of a string allocated by AllocADsStr or


ReallocADsStr.

FreeColumn The IDirectorySearch::FreeColumn method releases memory


that the IDirectorySearch::GetColumn method allocated for
data for the column.

Get Retrieves a property of a given name from the property cache.

Get Retrieves the name of a directory object in the specified


format.

get__NewEnum The IADsAccessControlList::get__NewEnum method is used to


obtain an enumerator object for the ACL to enumerate ACEs.

get__NewEnum The IADsCollection::get__NewEnum method gets a dependent


enumerator object that implements IEnumVARIANT for this
ADSI collection object. Be aware that there are two underscore
characters in the function name (get__NewEnum).

get__NewEnum Retrieves an enumerator object for the container.

get__NewEnum The IADsMembers::get__NewEnum method gets a dependent


enumerator object that implements IEnumVARIANT for this
ADSI collection object. Be aware that there are two underscore
characters in the function name (get__NewEnum).

get_SecurityMask Determines which elements of the security descriptor to


retrieve or set.

GetAnyDCName Retrieves the DNS name of a domain controller in the local


computer's domain.

GetColumn The IDirectorySearch::GetColumn method gets data from a


named column of the search result.

GetDCSiteName Retrieves the name of the Active Directory site that contains
the local computer.

GetElement Retrieves an element of a directory path.

GetEscapedElement Used to escape special characters in the input path.

GetEx Retrieves, from the property cache, property values of a given


attribute.

GetEx Gets the object names in the specified format.


T IT L E DESC RIP T IO N

GetFirstRow The GetFirstRow method gets the first row of a search result.
This method will issue or reissue a new search, even if this
method has been called before.

GetInfo Loads into the property cache values of the supported


properties of this ADSI object from the underlying directory
store.

GetInfoEx The IADs::GetInfoEx method loads the values of specified


properties of the ADSI object from the underlying directory
store into the property cache.

GetNextColumnName The IDirectorySearch::GetNextColumnName method gets the


name of the next column in the search result that contains
data.

GetNextRow Gets the next row of the search result.

GetNumElements Retrieves the number of elements in the path.

GetObject Retrieves an item of the collection.

GetObject Retrieves an interface for a directory object in the container.

GetObjectAttributes Retrieves one or more specified attributes of the directory


service object.

GetObjectInformation The IDirectoryObject::GetObjectInformation method retrieves


a pointer to an ADS_OBJECT_INFO structure that contains
data regarding the identity and location of a directory service
object.

GetObjectProperty Retrieves an attribute value.

GetOption Gets a provider-specific option for a directory object.

GetPreviousRow The IDirectorySearch::GetPreviousRow method gets the


previous row of the search result. If the provider does not
provide cursor support, it should return E_NOTIMPL.

GetPropertyItem Retrieves the item that matches the name from the list.

GetSecurityDescriptor Retrieves a security descriptor for the specified file, fileshare, or


registry key.

GetTrees Retrieves the DNS names of all the directory trees in the local
computer's forest.

Groups Obtains a collection of the ADSI group objects to which this


user belongs.

Init Initializes a name translate object by binding to a specified


directory server, domain, or global catalog, using the
credentials of the current user.
T IT L E DESC RIP T IO N

InitEx Initializes a name translate object by binding to a specified


directory server, domain, or global catalog, using the specified
user credential.

IsMember Determines if a directory service object is an immediate


member of the group.

Item The IADsPropertyList::Item method retrieves the specified


property item from the list.

Members Retrieves a collection of the immediate members of the group.

MoveHere Moves a specified object to the container that implements this


interface.

Next The IADsPropertyList::Next method gets the next item in the


property list. The returned item is a Property Entry object.

OpenDSObject Binds to an ADSI object, using the given credentials, and


retrieves an IDispatch pointer to the specified object.

Operate Interprets the control code and input parameters according to


the specifications of the provider.

Pause The IADsPrintJobOperations::Pause method halts the


processing of the current print job. Call the
IADsPrintJobOperations::Resume method to continue the
processing.

Pause The IADsPrintQueueOperations::Pause method suspends the


processing of print jobs within a print queue service.

Pause The IADsServiceOperations::Pause method pauses a service


started with the IADsServiceOperations::Start method.

PrintJobs The IADsPrintQueueOperations::PrintJobs method gets an


IADsCollection interface pointer on the collection of the print
jobs processed in this print queue.

PrivateGetIDsOfNames The IADsExtension::PrivateGetIDsOfNames method is called by


the aggregator, ADSI, after ADSI determines that the
extension is used to support a dual or dispatch interface. The
method can use the type data to get DISPID using
IDispatch::GetIDsOfNames.

PrivateInvoke The IADsExtension::PrivateInvoke method is normally called by


ADSI after the IADsExtension::PrivateGetIDsOfNames method.
This method can either have a custom implementation or it
can delegate the operation to IDispatch::DispInvoke method.

Purge The IADsPrintQueueOperations::Purge method clears the print


queue of all print jobs without processing them.

PurgePropertyList Deletes all items from the property list.


T IT L E DESC RIP T IO N

Put Sets the values of an attribute in the ADSI attribute cache.

put_SecurityMask Determines which elements of the security descriptor to


retrieve or set.

PutEx Modifies the values of an attribute in the ADSI attribute cache.

PutObjectProperty Sets an attribute value.

PutPropertyItem Updates the values for an item in the property list.

Qualifiers Returns a collection of ADSI objects that describe additional


qualifiers for this schema class.

Qualifiers Returns a collection of ADSI objects that describe additional


qualifiers of this property.

ReallocADsMem Reallocates and copies an existing memory block.

ReallocADsStr Creates a copy of a Unicode string.

RefreshSchemaCache The IADsADSystemInfo::RefreshSchemaCache method


refreshes the Active Directory schema cache.

Remove The IADsCollection::Remove method removes the named item


from this ADSI collection object.

Remove The IADsGroup::Remove method removes the specified user


object from this group. The operation does not remove the
group object itself even when there is no member remaining
in the group.

RemoveAce Removes an access-control entry (ACE) from the access-


control list (ACL).

RemoveLeafElement Removes the last element from the directory path that has
been set on the Pathname object.

Reset Resets the list to the first item.

ResetPropertyItem Removes the specified item from the list; that is, from the
cache.

Resources The IADsFileServiceOperations::Resources method gets a


pointer to a pointer to the IADsCollection interface on a
collection of the resource objects representing the current
open resources on this file service.

Resume The IADsPrintJobOperations::Resume method continues the


print job halted by the IADsPrintJobOperations::Pause
method.
T IT L E DESC RIP T IO N

Resume The IADsPrintQueueOperations::Resume method resumes


processing of suspended print jobs in the print queue.

Retrieve The IADsPathname::Retrieve method retrieves the path of the


object with different format types.

SecurityDescriptorToBinarySD Converts an IADsSecurityDescriptor object to the binary


security descriptor format.

Sessions The IADsFileServiceOperations::Sessions method gets a


pointer to a pointer to the IADsCollection interface on a
collection of the session objects that represent the current
open sessions for this file service.

Set Directs the directory service to set up a specified object for


name translation.

Set Sets up the Pathname object for parsing a directory path.

SetDisplayType Specifies how to display the path of an object.

SetEx Establishes an array of objects for name translation.

SetInfo The IADs::SetInfo method saves the cached property values of


the ADSI object to the underlying directory store.

SetObjectAttributes The IDirectoryObject::SetObjectAttributes method modifies


data in one or more specified object attributes defined in the
ADS_ATTR_INFO structure.

SetOption Sets a provider-specific option for manipulating a directory


object.

SetPassword The IADsServiceOperations::SetPassword method sets the


password for the account used by the service manager. This
method is called when the security context for this service is
created.

SetPassword Sets the user password to a specified value.

SetSearchPreference Specifies a search preference for obtaining data in a


subsequent search.

SetSecurityDescriptor Sets the security descriptor for the specified file, file share, or
registry key.

Shutdown The IADsComputerOperations::Shutdown method causes a


computer under ADSI control to execute the shutdown
operation with an optional reboot.

Skip Skips a specified number of items, counting from the current


cursor position, in the property list.
T IT L E DESC RIP T IO N

Start The IADsServiceOperations::Start method starts a network


service.

Status The IADsComputerOperations::Status method retrieves the


status of a computer.

Stop The IADsServiceOperations::Stop method stops a currently


active network service.

Interfaces
T IT L E DESC RIP T IO N

IADs The IADs interface defines the basic object features, that is,
properties and methods, of any ADSI object.

IADsAccessControlEntry The IADsAccessControlEntry interface is a dual interface that


enables directory clients to access and manipulate individual
access-control entries (ACEs) of the owning object.

IADsAccessControlList The IADsAccessControlList interface is a dual interface that


manages individual access-control entries (ACEs).

IADsAcl The IADsAcl interface provides methods for an ADSI client to


access and manipulate the ACL or Inherited ACL attribute
values. This interface manipulates the attributes.

IADsADSystemInfo The IADsADSystemInfo interface retrieves data about the local


computer if it is running a Windows operating system in a
Windows domain. For example, you can get the domain, site,
and distinguished name of the local computer.

IADsBackLink The IADsBackLink interface provides methods for an ADSI


client to access the Back Link attribute. You can call the
property methods of this interface to obtain and modify the
attribute.

IADsCaseIgnoreList The IADsCaseIgnoreList interface provides methods for an


ADSI client to access the Case Ignore List attribute. You can
call the property methods of this interface to obtain and
modify the attribute.

IADsClass The IADsClass interface is designed for managing schema class


objects that provide class definitions for any ADSI object.
Other schema management interfaces include IADsProperty
for attribute definitions and IADsSyntax for attribute syntax.

IADsCollection The IADsCollection interface is a dual interface that enables its


hosting ADSI object to define and manage an arbitrary set of
named data elements for a directory service.

IADsComputer The IADsComputer interface is a dual interface that inherits


from IADs.
T IT L E DESC RIP T IO N

IADsComputerOperations The IADsComputerOperations interface is a dual interface that


inherits from IADs.

IADsContainer The IADsContainer interface enables an ADSI container object


to create, delete, and manage contained ADSI objects.
Container objects represent hierarchical directory trees, such
as in a file system, and to organize the directory hierarchy.

IADsDeleteOps The IADsDeleteOps interface specifies a method an object can


use to delete itself from the underlying directory. For a
container object, the method deletes its children and the
entire subtree.

IADsDNWithBinary The IADsDNWithBinary interface provides methods for an


ADSI client to associate a distinguished name (DN) with the
GUID of an object.

IADsDNWithString The IADsDNWithString interface provides methods for an ADSI


client to associate a distinguished name (DN) to a string value.

IADsDomain The IADsDomain interface is a dual interface that inherits from


IADs.

IADsEmail The IADsEmail interface provides methods for an ADSI client


to access the Email Address attribute.

IADsExtension The IADsExtension interface forms the basis of the ADSI


application extension model.

IADsFaxNumber The IADsFaxNumber interface provides methods for an ADSI


client to access the Facsimile Telephone Number attribute.

IADsFileService The IADsFileService interface is a dual interface that inherits


from IADsService.

IADsFileServiceOperations The IADsFileServiceOperations interface is a dual interface that


inherits from IADsServiceOperations.

IADsFileShare The IADsFileShare interface is a dual interface that inherits


from IADs. It is designed for representing a published file
share across the network. Call the methods on IADsFileShare
to access or publish data about a file share point.

IADsGroup Manages group membership data in a directory service.

IADsHold The IADsHold interface provides methods for an ADSI client to


access the Hold attribute.

IADsLargeInteger Used to manipulate 64-bit integers of the LargeInteger type.

IADsLocality The IADsLocality interface is a dual interface that inherits from


IADs.

IADsMembers The IADsMembers interface is a dual interface.


T IT L E DESC RIP T IO N

IADsNamespaces The IADsNamespaces interface is implemented by the ADs


provider and is used for managing namespace objects.

IADsNameTranslate The IADsNameTranslateinterface translates distinguished


names (DNs) among various formats as defined in the
ADS_NAME_TYPE_ENUM enumeration. The feature is available
to objects in Active Directory.

IADsNetAddress The IADsNetAddress interface provides methods for an ADSI


client to access the Net Address attribute.

IADsO The IADsO interface is a dual interface that inherits from IADs.

IADsObjectOptions Provides a direct mechanism to specify and obtain provider-


specific options for manipulating an ADSI object.

IADsOctetList The IADsOctetList interface provides methods for an ADSI


client to access the Octet List attribute.

IADsOpenDSObject The IADsOpenDSObject interface is designed to supply a


security context for binding to an object in the underlying
directory store.

IADsOU Used to manage organizationalUnit objects.

IADsPath The IADsPath interface provides methods for an ADSI client to


access the Path attribute.

IADsPathname Parses the X.500 and Windows path in ADSI.

IADsPostalAddress The IADsPostalAddress interface provides methods for an


ADSI client to access the Postal Address attribute.

IADsPrintJob The IADsPrintJob interface is a dual interface that inherits from


IADs.

IADsPrintJobOperations The IADsPrintJobOperations interface is a dual interface that


inherits from IADs.

IADsPrintQueue The IADsPrintQueue interface represents a printer on a


network.

IADsPrintQueueOperations Used to control a printer from across a network.

IADsProperty The IADsProperty interface is designed to manage a single


attribute definition for a schema class object.

IADsPropertyEntry The IADsPropertyEntry interface is used to manage a property


entry in the property cache.

IADsPropertyList The IADsPropertyList interface is used to modify, read, and


update a list of property entries in the property cache of an
object.
T IT L E DESC RIP T IO N

IADsPropertyValue Used to represent the value of an IADsPropertyEntry object in


a predefined data type.

IADsPropertyValue2 Used to represent the value of an IADsPropertyEntry object in


any data format.

IADsReplicaPointer The IADsReplicaPointer interface provides methods for an ADSI


client to access the Replica Pointer attribute.

IADsResource The IADsResource interface is a dual interface that inherits


from IADs. It is designed to manage an open resource for a file
service across a network.

IADsSecurityDescriptor Provides access to properties on an ADSI security descriptor


object.

IADsSecurityUtility The IADsSecurityUtility interface is used to get, set, or retrieve


the security descriptor on a file, fileshare, or registry key.

IADsService The IADsService interface is a dual interface that inherits from


IADs.

IADsServiceOperations The IADsServiceOperations interface is a dual interface that


inherits from IADs.

IADsSession The IADsSession interface is a dual interface that inherits from


IADs. It is designed to represent an active session for file
service across a network.

IADsSyntax The IADsSyntax interface specifies methods to identify and


modify the available Automation data types used to represent
its data.

IADsTimestamp The IADsTimestamp interface provides methods for an ADSI


client to access the Timestamp attribute.

IADsTypedName The IADsTypedName interface provides methods for an ADSI


client to access the Typed Name attribute.

IADsUser The IADsUser interface is a dual interface that inherits from


IADs.

IADsWinNTSystemInfo The IADsWinNTSystemInfo interface retrieves the WinNT


system information about a computer. Such system
information includes user account name, user domain, host
name, and the primary domain controller of the host
computer.

IDirectoryObject The IDirectoryObject interface is a non-Automation COM


interface that provides clients with direct access to directory
service objects.

IDirectorySchemaMgmt Not currently implemented and should not be used.


T IT L E DESC RIP T IO N

IDirectorySearch The IDirectorySearch interface is a pure COM interface that


provides a low overhead method that non-Automation clients
can use to perform queries in the underlying directory.

Structures
T IT L E DESC RIP T IO N

ADS_ATTR_DEF The ADS_ATTR_DEF structure is used only as a part of


IDirectorySchemaMgmt, which is an obsolete interface.

ADS_ATTR_INFO Used to contain one or more attribute values for use with the
IDirectoryObject::CreateDSObject,
IDirectoryObject::GetObjectAttributes, or
IDirectoryObject::SetObjectAttributes method.

ADS_BACKLINK The ADS_BACKLINK structure is an ADSI representation of the


Back Link attribute syntax.

ADS_CASEIGNORE_LIST The ADS_CASEIGNORE_LIST structure is an ADSI


representation of the Case Ignore List attribute syntax.

ADS_CLASS_DEF The ADS_CLASS_DEF structure is used only as a part of


IDirectorySchemaMgmt, which is an obsolete interface. The
information that follows is provided for legacy purposes only.
The ADS_CLASS_DEF structure holds the definitions of an
object class.

ADS_DN_WITH_BINARY Used with the ADSVALUE structure to contain a distinguished


name attribute value that also contains binary data.

ADS_DN_WITH_STRING Used with the ADSVALUE structure to contain a distinguished


name attribute value that also contains string data.

ADS_EMAIL The ADS_EMAIL structure is an ADSI representation of the


EMail Address attribute syntax.

ADS_FAXNUMBER The ADS_FAXNUMBER structure is an ADSI representation of


the Facsimile Telephone Number attribute syntax.

ADS_HOLD The ADS_HOLD structure is an ADSI representation of the


Hold attribute syntax.

ADS_NETADDRESS The ADS_NETADDRESS structure is an ADSI representation of


the Net Address attribute syntax.

ADS_NT_SECURITY_DESCRIPTOR The ADS_NT_SECURITY_DESCRIPTOR structure defines the


data type of the security descriptor for Windows.

ADS_OBJECT_INFO The ADS_OBJECT_INFO structure specifies the data, including


the identity and location, of a directory service object.
T IT L E DESC RIP T IO N

ADS_OCTET_LIST The ADS_OCTET_LIST structure is an ADSI representation of an


ordered sequence of single-byte strings.

ADS_OCTET_STRING The ADS_OCTET_STRING structure is an ADSI representation


of the Octet String attribute syntax used in Active Directory.

ADS_PATH The ADS_PATH structure is an ADSI representation of the Path


attribute syntax.

ADS_POSTALADDRESS The ADS_POSTALADDRESS structure is an ADSI representation


of the Postal Address attribute.

ADS_PROV_SPECIFIC The ADS_PROV_SPECIFIC structure contains provider-specific


data represented as a binary large object (BLOB).

ADS_REPLICAPOINTER Represents an ADSI representation of the Replica Pointer


attribute syntax.

ADS_SEARCH_COLUMN The ADS_SEARCH_COLUMN structure specifies the contents


of a search column in the query returned from the directory
service database.

ADS_SEARCHPREF_INFO The ADS_SEARCHPREF_INFO structure specifies the query


preferences.

ADS_SORTKEY The ADS_SORTKEY structure specifies how to sort a query.

ADS_TIMESTAMP The ADS_TIMESTAMP structure is an ADSI representation of


the Timestamp attribute syntax.

ADS_TYPEDNAME Represents an ADSI representation of Typed Name attribute


syntax.

ADS_VLV Contains metadata used to conduct virtual list view (VLV)


searches.

ADSVALUE Contains a value specified as an ADSI data type.


AllJoyn API
2/7/2020 • 2 minutes to read • Edit Online

Overview of the AllJoyn API technology.


To develop AllJoyn API, you need these headers:
msajtransport.h
windows.devices.alljoyn.interop.h
For programming guidance for this technology, see:
AllJoyn API

Functions
T IT L E DESC RIP T IO N

AllJoynCloseBusHandle Closes the Named Pipe handle.

AllJoynConnectToBus Opens the AllJoyn Router Node Service named pipe, and sets
it to PIPE_NOWAIT.

AllJoynEnumEvents Provides AllJoyn transport functionality similar to the TCP


socket WSAEnumNetworkEvents functionality.

AllJoynEventSelect Provides AllJoyn transport functionality similar to the TCP


socket WSAEventSelect functionality.

AllJoynReceiveFromBus Receives data from the bus via named pipe.

AllJoynSendToBus Sends data to the bus via named pipe. The caller of this API is
responsible to check if the bytesTransferred is less than the
requested bytes and call this API again to resend the rest of
the data.

CreateFromWin32Handle Constructs an AllJoynBusAttachment over an existing


alljoyn_busattachment instance without taking ownership.

get_Win32Handle Classic COM interface that simply returns a pointer to the


underlying alljoyn_busattachment instance, so the app can use
it directly with the AllJoyn Core C API.

Interfaces
T IT L E DESC RIP T IO N

IWindowsDevicesAllJoynBusAttachmentFactoryInterop This interface allows for the creation of alljoyn_busattachment


without taking ownership of the reference.
T IT L E DESC RIP T IO N

IWindowsDevicesAllJoynBusAttachmentInterop This interface allows for retrieval of the underlying


alljoyn_busattachment object.
Antimalware Scan Interface
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Antimalware Scan Interface technology.


To develop with Antimalware Scan Interface, you need to include this header.
amsi.h
For programming guidance for this technology, see
Antimalware Scan Interface (AMSI)

Enumerations
T IT L E DESC RIP T IO N

AMSI_ATTRIBUTE Specifies the types of attributes that can be requested by


IAmsiStream::GetAttribute.

AMSI_RESULT Specifies the types of results returned by scans.

Functions
T IT L E DESC RIP T IO N

AmsiCloseSession Close a session that was opened by AmsiOpenSession.

AmsiInitialize Initialize the AMSI API.

AmsiOpenSession Opens a session within which multiple scan requests can be


correlated.

AmsiResultIsMalware Determines if the result of a scan indicates that the content


should be blocked.

AmsiScanBuffer Scans a buffer-full of content for malware.

AmsiScanString Scans a string for malware.

AmsiUninitialize Remove the instance of the AMSI API that was originally
opened by AmsiInitialize.

CloseSession Closes the session.

CloseSession Closes the session.

DisplayName The name of the antimalware provider to be displayed.

GetAttribute Returns a requested attribute from the stream.


T IT L E DESC RIP T IO N

Read Requests a buffer-full of content to be read.

Scan Scan a stream of content.

Scan Scan a stream of content.

Interfaces
T IT L E DESC RIP T IO N

IAmsiStream Represents a stream to be scanned.

IAntimalware Represents the antimalware product.

IAntimalwareProvider Represents the provider of the antimalware product.


Application Installation and Servicing
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Application Installation and Servicing technology.


To develop Application Installation and Servicing, you need these headers:
evalcom2.h
mergemod.h
msi.h
msiquery.h
setupapi.h
sfc.h
winsxs.h
For programming guidance for this technology, see:
Setup API
Windows Installer
Isolated Applications and Side-by-side Assemblies
Windows Resource Protection
Application Recovery and Restart
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Application Recovery and Restart technology.


The Application Recovery and Restart technology is not associated with any headers.
For programming guidance for this technology, see:
Application Recovery and Restart

Functions
T IT L E DESC RIP T IO N

ApplicationRecoveryFinished Indicates that the calling application has completed its data
recovery.

ApplicationRecoveryInProgress Indicates that the calling application is continuing to recover


data.

GetApplicationRecoveryCallback Retrieves a pointer to the callback routine registered for the


specified process. The address returned is in the virtual
address space of the process.

GetApplicationRestartSettings Retrieves the restart information registered for the specified


process.

RegisterApplicationRecoveryCallback Registers the active instance of an application for recovery.

RegisterApplicationRestart Registers the active instance of an application for restart.

UnregisterApplicationRecoveryCallback Removes the active instance of an application from the


recovery list.

UnregisterApplicationRestart Removes the active instance of an application from the restart


list.
Audio Devices DDI Reference
2/7/2020 • 7 minutes to read • Edit Online

Overview of the Audio Devices DDI Reference technology.


To develop Audio Devices DDI Reference, you need these headers:
audiomediatype.h
baseaudioprocessingobject.h
dmusics.h
msapofxproxy.h
For programming guidance for this technology, see:
Audio Devices DDI Reference

Enumerations
T IT L E DESC RIP T IO N

APO_FLAG The APO_FLAG enumeration defines constants that are used


as flags by an audio processing object (APO).

KSPROPERTY_AUDIOEFFECTSDISCOVERY The KSPROPERTY_AUDIOEFFECTSDISCOVERY enumeration


defines a constant that is used by the list of audio processing
objects (APOs).

Functions
T IT L E DESC RIP T IO N

Activate The Activate method enables or disables the audio device


under program control.

Activate The Activate method activates or deactivates the synthesizer


sink.

AERT_Allocate The AERT_Allocate utility function allocates and locks a


segment of memory for use by audio processing objects.

AERT_Free The AERT_Free utility function releases (frees) memory that


was locked by the AERT_Allocate function, for use by audio
processing objects to process audio data.

APOProcess The APOProcess method causes the APO to make a


processing pass.

AssignChannelToBuses AssignChannelToBuses is unsupported and may be altered or


unavailable in the future.
T IT L E DESC RIP T IO N

CalcInputFrames The CalcInputFrames method returns the number of input


frames that an APO requires to generate a given number of
output frames.

CalcOutputFrames The CalcOutputFrames method returns the number of output


frames that an APO requires for a given number of input
frames.

Close The Close method closes a DirectMusic "port", which is a


DirectMusic term for a device that sends or receives music
data.

Commit After a change has been made, this method saves the
changes.

CreateAudioMediaType The CreateAudioMediaType function uses the format specified


by the caller to create a media type object that describes the
audio format.

CreateAudioMediaTypeFromUncompressedAudioFormat The CreateAudioMediaTypeFromUncompressedAudioFormat


function uses the information provided in the
UNCOMPRESSEDAUDIOFORMAT structure to create a media
type object that describes the audio format.

Download The Download method downloads a wave or instrument


definition to the synthesizer.

GetAppend The GetAppend method outputs the number of additional


wave samples that the DirectMusic "port" needs to have
appended to the end of a download buffer.

GetAt Gets a property key from the property array of an item.

GetAudioFormat The GetAudioFormat method returns the WAVEFORMATEX


structure for the audio data format.

GetChannelPriority The GetChannelPriority method outputs the priority of a MIDI


channel.

GetCount This method returns a count of the number of properties that


are attached to the file.

GetDesiredBufferSize The GetDesiredBufferSize method retrieves the synthesizer's


preferred buffer size, expressed in samples.

GetEffectsList The GetEffectsList method is used for retrieving the list of


audio processing effects that are currently active, and stores
an event to be signaled if the list changes.

GetFormat The GetFormat method retrieves an IAudioMediaType


representation of a custom format.

GetFormat The GetFormat method retrieves information about the wave


format.
T IT L E DESC RIP T IO N

GetFormatCount The GetFormatCount method retrieves the number of custom


formats supported by the system effects audio processing
object (sAPO).

GetFormatRepresentation The GetFormatRepresentation method retrieves a string


representation of the custom format so that it can be
displayed on a user-interface.

GetInputChannelCount GetInputChannelCount returns the input channel count


(samples-per-frame) for this APO.

GetLatency The GetLatency method returns the latency for this APO.
Latency is the amount of time it takes a frame to traverse the
processing pass of an APO.

GetLatencyClock The GetLatencyClock method retrieves a reference to the


IReferenceClock interface (described in the Microsoft Windows
SDK documentation) of the reference-clock object that tracks
the current mix time.

GetLatencyClock The GetLatencyClock method retrieves the latency clock,


which measures the progress of the output audio stream.

GetPortCaps The GetPortCaps method retrieves the capabilities of a


DirectMusic "port", which is a DirectMusic term for a device
that sends or receives music data.

GetRegistrationProperties GetRegistrationProperties returns the registration properties


of the audio processing object (APO).

GetRunningStats The GetRunningStats method retrieves current information


about the state of the synthesizer so that an application can
tell how the synth is performing.

GetUncompressedAudioFormat The IAudioMediaType::GetUncompressedAudioFormat returns


information about the audio data format.

GetValue This method retrieves the data for a specific property.

GetVoiceState GetVoiceState is unsupported and may be altered or


unavailable in the future.

Init The Init method initializes the synth-sink object.

Initialize The Initialize method initializes the APO and supports data of
variable length.

IsCompressedFormat The IsCompressedFormat method determines whether the


audio data format is a compressed format.

IsEqual The IsEqual method compares two media types and


determines whether they are identical.
T IT L E DESC RIP T IO N

IsInputFormatSupported This method negotiates with the Windows Vista audio engine
to establish a data format for the stream of audio data.

IsOutputFormatSupported The IsOutputFormatSupported method is used to verify that


a specific output format is supported.

LockForProcess The LockForProcess method is used to verify that the APO is


locked and ready to process data.

Open The Open method opens a DirectMusic synthesizer "port".

PlayBuffer The PlayBuffer method downloads a stream of MIDI messages


to the synthesizer.

PlayVoice PlayVoice is unsupported and may be altered or unavailable in


the future.

Refresh Refresh is unsupported and may be altered or unavailable in


the future.

RefTimeToSample The RefTimeToSample method converts a reference time to a


sample time.

Render The Render method is called by the synth sink to render to a


buffer in the audio stream.

Reset The Reset method resets the APO to its original state. This
method does not cause any changes in the connection objects
that are attached to the input or the output of the APO.

SampleToRefTime The SampleToRefTime method converts a sample time to a


reference time.

SetChannelPriority The SetChannelPriority method sets the priority of a MIDI


channel.

SetDirectSound The SetDirectSound method connects the synthesizer sink


with an existing DirectSound object and a DirectSound buffer.

SetMasterClock The SetMasterClock method provides the synthesizer with a


master time source, which the synthesizer requires to
synchronize itself with the rest of DirectMusic.

SetMasterClock The SetMasterClock method provides the synth sink with a


master time source, which is required for synchronization with
the rest of DirectMusic.

SetNumChannelGroups The SetNumChannelGroups method instructs the synthesizer


to set its number of channel groups to a new value.

SetSynthSink The SetSynthSink method establishes the connection of the


synth to the wave sink.
T IT L E DESC RIP T IO N

SetValue This method sets a property value or replaces or removes an


existing value.

StopVoice StopVoice is unsupported and may be altered or unavailable


in the future.

Unload The Unload method unloads a DLS resource (waveform or


articulation data for a MIDI instrument) that was previously
downloaded by a call to IDirectMusicSynth::Download.

UnlockForProcess The UnlockForProcess method releases the lock that was


imposed on the APO by the LockForProcess method.

Interfaces
T IT L E DESC RIP T IO N

IAudioMediaType The IAudioMediaType interface exposes methods that allow an


sAPO to get information that is used to negotiate with the
audio engine for the appropriate audio data format.

IAudioProcessingObject System Effects Audio Processing Objects (sAPOs) are typically


used in or called from real-time process threads.

IAudioProcessingObjectConfiguration The IAudioProcessingObjectConfiguration interface is used to


configure the APO. This interface uses its methods to lock and
unlock the APO for processing.

IAudioProcessingObjectRT This interface can operate in real-time mode and its methods
can be called form real-time processing threads.

IAudioSystemEffects The IAudioSystemEffects interface uses the basic methods that


are inherited from IUnknown, and must implement an
Initialize method.

IAudioSystemEffects2 The IAudioSystemEffects2 interface was introduced with


Windows 8.1 for retrieving information about the processing
objects in a given mode.

IAudioSystemEffectsCustomFormats The IAudioSystemEffectsCustomFormats interface is


supported in Windows Vista and later versions of Windows.

IDirectMusicSynth The IDirectMusicSynth interface is used by DirectMusic to


communicate with user-mode synthesizers.

IDirectMusicSynth8 IDirectMusicSynth8is unsupported and may be altered or


unavailable in the future.

IDirectMusicSynthSink The IDirectMusicSynthSink interface is now largely obsolete


and is supported only by versions of DirectMusic before
DirectX 8.
T IT L E DESC RIP T IO N

IPropertyStore This interface exposes methods used to enumerate and


manipulate property values.

Structures
T IT L E DESC RIP T IO N

APO_REG_PROPERTIES The APO_REG_PROPERTIES structure is used by


IAudioProcessingObject::GetRegistrationProperties for
returning the registration properties of an audio processing
object (APO).

APOInitBaseStruct The APOInitBaseStruct structure is the base initialization


header that must precede other initialization data in
IAudioProcessingObject::Initialize.

APOInitSystemEffects The APOInitSystemEffects structure gets passed to the system


effects APO for initialization.

APOInitSystemEffects2 The APOInitSystemEffects2 structure was introduced with


Windows 8.1, to make it possible to provide additional
initialization context to the audio processing object (APO) for
initialization.

AudioFXExtensionParams The AudioFXExtensionParams structure is passed to the


system effects ControlPanel Extension PropertyPage via
IShellPropSheetExt::AddPages.

DMUS_VOICE_STATE DMUS_VOICE_STATE is not supported and may be altered or


unavailable in the future.

KSP_PINMODE The KSP_PINMODE structure specifies the pin property and


the supported audio processing modes for a pin factory.

MDEVICECAPSEX The MDEVICECAPSEX structure contains device capability


information for Plug and Play (PnP) device drivers.

MIDIOPENDESC The MIDIOPENDESC structure is a client-filled structure that


provides information about how to open a MIDI device.

UNCOMPRESSEDAUDIOFORMAT The UNCOMPRESSEDAUDIOFORMAT structure specifies the


frame rate, channel mask, and other attributes of the
uncompressed audio data format.

WAVEFORMATEX The WAVEFORMATEX structure specifies the data format of a


wave audio stream.
Automation
2/7/2020 • 33 minutes to read • Edit Online

Overview of the Automation technology.


To develop Automation, you need these headers:
oaidl.h
oleauto.h
olectl.h
wia_xp.h
wtypes.h
For programming guidance for this technology, see:
Automation

Enumerations
T IT L E DESC RIP T IO N

CALLCONV Identifies the calling convention used by a member function


described in the METHODDATA structure.

DESCKIND Identifies the type description being bound to.

FUNCFLAGS Specifies function flags.

FUNCKIND Specifies the function type.

INVOKEKIND Specifies the way a function is invoked.

LIBFLAGS Defines flags that apply to type libraries.

REGKIND Controls how a type library is registered.

SYSKIND Identifies the target operating system platform.

TYPEFLAGS The type flags.

TYPEKIND Specifies a type.

VARENUM Specifies the variant types.

VARFLAGS Specifies variable flags.

VARKIND Specifies the variable type.

Functions
T IT L E DESC RIP T IO N

AddFuncDesc Adds a function description to the type description.

AddImplType Specifies an inherited interface, or an interface implemented


by a component object class (coclass).

AddRefTypeInfo Adds a type description to those referenced by the type


description being created.

AddressOfMember Retrieves the addresses of static functions or variables, such as


those defined in a DLL.

AddVarDesc Adds a variable or data member description to the type


description.

AfterTypeChange Raised after a type has been changed.

Bind Maps a name to a member of a type, or binds global variables


and functions contained in a type library.

BindType Binds to the type descriptions contained within a type library.

BSTR_UserFree Frees resources on the server side when called by RPC stub
files.

BSTR_UserFree64 Frees resources on the server side when called by RPC stub
files.

BSTR_UserMarshal Marshals a BSTR object into the RPC buffer.

BSTR_UserMarshal64 Marshals a BSTR object into the RPC buffer.

BSTR_UserSize Calculates the wire size of the BSTR object, and gets its handle
and data.

BSTR_UserSize64 Calculates the wire size of the BSTR object, and gets its handle
and data.

BSTR_UserUnmarshal Unmarshals a BSTR object from the RPC buffer.

BSTR_UserUnmarshal64 Unmarshals a BSTR object from the RPC buffer.

BstrFromVector Returns a BSTR, assigning each element of the vector to a


character in the BSTR.

ClearCustData Releases memory used to hold the custom data item.

Clone Creates a copy of the current state of enumeration.

CreateDispTypeInfo Creates simplified type information for use in an


implementation of IDispatch.

CreateErrorInfo Creates an instance of a generic error object.


T IT L E DESC RIP T IO N

CreateInstance Creates a new instance of a type that describes a component


object class (coclass).

CreateStdDispatch Creates a standard implementation of the IDispatch interface


through a single function call. This simplifies exposing objects
through Automation.

CreateTypeInfo Creates a new type description instance within the type


library.

CreateTypeLib Provides access to a new object instance that supports the


ICreateTypeLib interface.

CreateTypeLib2 Creates a type library in the current file format.

DefineFuncAsDllEntry Associates a DLL entry point with the function that has the
specified index.

DeleteFuncDesc Deletes a function description specified by the index number.

DeleteFuncDescByMemId Deletes the specified function description (FUNCDESC).

DeleteImplType Deletes the IMPLTYPE flags for the indexed interface.

DeleteTypeInfo Deletes a specified type information from the type library.

DeleteVarDesc Deletes the specified VARDESC structure.

DeleteVarDescByMemId Deletes the specified VARDESC structure.

DispCallFunc Low-level helper for Invoke that provides machine


independence for customized Invoke.

DispGetIDsOfNames Low-level helper for Invoke that provides machine


independence for customized Invoke.

DispGetParam Retrieves a parameter from the DISPPARAMS structure,


checking both named parameters and positional parameters,
and coerces the parameter to the specified type.

DispInvoke Automatically calls member functions on an interface, given


the type information for the interface.

DosDateTimeToVariantTime Converts the MS-DOS representation of time to the date and


time representation stored in a variant.

FindName Finds occurrences of a type description in a type library. This


may be used to quickly verify that a name exists in a type
library.

GetActiveObject Retrieves a pointer to a running object that has been


registered with OLE.
T IT L E DESC RIP T IO N

GetAllCustData Gets all custom data items for the library.

GetAllCustData Gets all custom data items for the library.

GetAllFuncCustData Gets all custom data from the specified function.

GetAllImplTypeCustData Gets all custom data for the specified implementation type.

GetAllParamCustData Gets all of the custom data for the specified function
parameter.

GetAllVarCustData Gets the variable for the custom data.

GetAltMonthNames Retrieves the secondary (alternate) month names.

GetContainingTypeLib Retrieves the containing type library and the index of the type
description within that type library.

GetCustData Gets the custom data.

GetCustData Gets the custom data.

GetDescription Returns a textual description of the error.

GetDllEntry Retrieves a description or specification of an entry point for a


function in a DLL.

GetDocumentation Retrieves the documentation string, the complete Help file


name and path, and the context ID for the Help topic for a
specified type description.

GetDocumentation Retrieves the documentation string for the library, the


complete Help file name and path, and the context identifier
for the library Help topic in the Help file.

GetDocumentation2 Retrieves the documentation string, the complete Help file


name and path, the localization context to use, and the
context ID for the library Help topic in the Help file.

GetDocumentation2 Retrieves the library's documentation string, the complete


Help file name and path, the localization context to use, and
the context ID for the library Help topic in the Help file.

GetErrorInfo Obtains the error information pointer set by the previous call
to SetErrorInfo in the current logical thread.

GetField Returns a pointer to the VARIANT containing the value of a


given field name.

GetFieldNames Gets the names of the fields of the record.

GetFieldNoCopy Returns a pointer to the value of a given field name without


copying the value and allocating resources.
T IT L E DESC RIP T IO N

GetFuncCustData Gets the custom data from the specified function.

GetFuncDesc Retrieves the FUNCDESC structure that contains information


about a specified function.

GetFuncIndexOfMemId Binds to a specific member based on a known DISPID, where


the member name is not known (for example, when binding
to a default member).

GetGuid Gets the GUID of the record type.

GetGUID Returns the globally unique identifier (GUID) of the interface


that defined the error.

GetHelpContext Returns the Help context identifier (ID) for the error.

GetHelpFile Returns the path of the Help file that describes the error.

GetIDsOfNames Maps a single member and an optional set of argument


names to a corresponding set of integer DISPIDs, which can
be used on subsequent calls to Invoke.

GetIDsOfNames Maps between member names and member IDs, and


parameter names and parameter IDs.

GetImplTypeCustData Gets the custom data of the implementation type.

GetImplTypeFlags Retrieves the IMPLTYPEFLAGS enumeration for one


implemented interface or base interface in a type description.

GetLibAttr Retrieves the structure that contains the library's attributes.

GetLibStatistics Returns statistics about a type library that are required for
efficient sizing of hash tables.

GetMops Retrieves marshaling information.

GetName Gets the name of the record type.

GetNames Retrieves the variable with the specified member ID or the


name of the property or method and the parameters that
correspond to the specified function ID.

GetParamCustData Gets the custom data of the specified parameter.

GetRecordInfoFromGuids Returns a pointer to the IRecordInfo interface for a UDT by


passing the GUID of the type information without having to
load the type library.

GetRecordInfoFromTypeInfo Returns a pointer to the IRecordInfo interface of the UDT by


passing its type information.
T IT L E DESC RIP T IO N

GetRefTypeInfo If a type description references other type descriptions, it


retrieves the referenced type descriptions.

GetRefTypeOfImplType If a type description describes a COM class, it retrieves the


type description of the implemented interface types.

GetSize Gets the number of bytes of memory necessary to hold the


record instance.

GetSource Returns the language-dependent programmatic ID (ProgID)


for the class or application that raised the error.

GetTypeAttr Retrieves a TYPEATTR structure that contains the attributes of


the type description.

GetTypeComp Retrieves the ITypeComp interface for the type description,


which enables a client compiler to bind to the type
description's members.

GetTypeComp Enables a client compiler to bind to the types, variables,


constants, and global functions for a library.

GetTypeFlags Returns the type flags without any allocations. This returns a
flag that expands the type flags without growing the
TYPEATTR (type attribute).

GetTypeInfo Retrieves the type information for an object, which can then
be used to get the type information for an interface.

GetTypeInfo Retrieves the type information that describes a UDT or


safearray of UDTs.

GetTypeInfo Retrieves the specified type description in the library.

GetTypeInfoCount Retrieves the number of type information interfaces that an


object provides (either 0 or 1).

GetTypeInfoCount Provides the number of type descriptions that are in a type


library.

GetTypeInfoOfGuid Retrieves the type description that corresponds to the


specified GUID.

GetTypeInfoType Retrieves the type of a type description.

GetTypeKind Returns the TYPEKIND enumeration quickly, without doing


any allocations.

GetVarCustData Gets the custom data of the specified variable.

GetVarDesc Retrieves a VARDESC structure that describes the specified


variable.
T IT L E DESC RIP T IO N

GetVarIndexOfMemId Binds to a specific member based on a known DISPID, where


the member name is not known (for example, when binding
to a default member).

InterfaceSupportsErrorInfo Indicates whether an interface supports the IErrorInfo


interface.

Invoke Provides access to properties and methods exposed by an


object.

Invoke Invokes a method, or accesses a property of an object, that


implements the interface described by the type description.

IsMatchingType Determines whether the record that is passed in matches that


of the current record information.

IsName Indicates whether a passed-in string contains the name of a


type or member described in the library.

LayOut Assigns VTBL offsets for virtual functions and instance offsets
for per-instance data members, and creates the two type
descriptions for dual interfaces.

LHashValOfName Computes a hash value for a name.

LHashValOfNameSys Computes a hash value for a name.

LHashValOfNameSysA Computes a hash value for the specified name.

LoadRegTypeLib Uses registry information to load a type library.

LoadTypeLib Loads and registers a type library.

LoadTypeLibEx Loads a type library and (optionally) registers it in the system


registry.  .

LPSAFEARRAY_UserFree Frees resources on the server side when called by RPC stub
files.

LPSAFEARRAY_UserFree64 Frees resources on the server side when called by RPC stub
files.

LPSAFEARRAY_UserMarshal Marshals data from the specified SAFEARRAY object to the


user's RPC buffer on the client or server side.

LPSAFEARRAY_UserMarshal64 Marshals data from the specified SAFEARRAY object to the


user's RPC buffer on the client or server side.

LPSAFEARRAY_UserSize Calculates the wire size of the SAFEARRAY object, and gets its
handle and data.

LPSAFEARRAY_UserSize64 Calculates the wire size of the SAFEARRAY object, and gets its
handle and data.
T IT L E DESC RIP T IO N

LPSAFEARRAY_UserUnmarshal Unmarshals a SAFEARRAY object from the RPC buffer.

LPSAFEARRAY_UserUnmarshal64 Unmarshals a SAFEARRAY object from the RPC buffer.

Next Retrieves the specified items in the enumeration sequence.

OaBuildVersion Retrieves the build version of OLE Automation.

OaEnablePerUserTLibRegistration Enables the RegisterTypeLib function to override default


registry mappings under Windows Vista Service Pack 1 (SP1),
Windows Server 2008, and later operating system versions.

OleLoadPictureFile Creates an IPictureDisp object from a picture file on disk.

OleLoadPictureFileEx Loads a picture from a file.

OleSavePictureFile Saves a picture to a file.

PutField Puts a variant into a field.

PutFieldNoCopy Passes ownership of the data to the assigned field by placing


the actual data into the field.

QueryPathOfRegTypeLib Retrieves the path of a registered type library.

RecordClear Releases object references and other values of a record


without deallocating the record.

RecordCopy Copies an existing record into the passed in buffer.

RecordCreate Allocates memory for a new record, initializes the instance and
returns a pointer to the record.

RecordCreateCopy Creates a copy of an instance of a record to the specified


location.

RecordDestroy Releases the resources and deallocates the memory of the


record.

RecordInit Initializes a new instance of a record.

RegisterActiveObject Registers an object as the active object for its class.

RegisterTypeLib Adds information about a type library to the system registry.

RegisterTypeLibForUser Registers a type library for use by the calling user.

ReleaseFuncDesc Releases a FUNCDESC previously returned by


ITypeInfo::GetFuncDesc.

ReleaseTLibAttr Releases the TLIBATTR originally obtained from GetLibAttr.


T IT L E DESC RIP T IO N

ReleaseTypeAttr Releases a TYPEATTR previously returned by


ITypeInfo::GetTypeAttr.

ReleaseVarDesc Releases a VARDESC previously returned by


ITypeInfo::GetVarDesc.

RequestTypeChange Raised when a request has been made to change a type. The
change can be disallowed.

Reset Resets the enumeration sequence to the beginning.

RevokeActiveObject Ends an object's status as active.

SafeArrayAccessData Increments the lock count of an array, and retrieves a pointer


to the array data.

SafeArrayAddRef Increases the pinning reference count of the descriptor for the
specified safe array by one, and may increase the pinning
reference count of the data for the specified safe array by one
if that data was dynamically allocated, as determined by the
descriptor of the safe array.

SafeArrayAllocData Allocates memory for a safe array, based on a descriptor


created with SafeArrayAllocDescriptor.

SafeArrayAllocDescriptor Allocates memory for a safe array descriptor.

SafeArrayAllocDescriptorEx Creates a safe array descriptor for an array of any valid variant
type, including VT_RECORD, without allocating the array data.

SafeArrayCopy Creates a copy of an existing safe array.

SafeArrayCopyData Copies the source array to the specified target array after
releasing any resources in the target array.

SafeArrayCreate Creates a new array descriptor, allocates and initializes the


data for the array, and returns a pointer to the new array
descriptor.

SafeArrayCreateEx Creates and returns a safe array descriptor from the specified
VARTYPE, number of dimensions and bounds.

SafeArrayCreateVector Creates a one-dimensional array. A safe array created with


SafeArrayCreateVector is a fixed size, so the constant
FADF_FIXEDSIZE is always set.

SafeArrayCreateVectorEx Creates and returns a one-dimensional safe array of the


specified VARTYPE and bounds.

SafeArrayDestroy Destroys an existing array descriptor and all of the data in the
array.

SafeArrayDestroyData Destroys all the data in the specified safe array.


T IT L E DESC RIP T IO N

SafeArrayDestroyDescriptor Destroys the descriptor of the specified safe array.

SafeArrayGetDim Gets the number of dimensions in the array.

SafeArrayGetElement Retrieves a single element of the array.

SafeArrayGetElemsize Gets the size of an element.

SafeArrayGetIID Gets the GUID of the interface contained within the specified
safe array.

SafeArrayGetLBound Gets the lower bound for any dimension of the specified safe
array.

SafeArrayGetRecordInfo Retrieves the IRecordInfo interface of the UDT contained in the


specified safe array.

SafeArrayGetUBound Gets the upper bound for any dimension of the specified safe
array.

SafeArrayGetVartype Gets the VARTYPE stored in the specified safe array.

SafeArrayLock Increments the lock count of an array, and places a pointer to


the array data in pvData of the array descriptor.

SafeArrayPtrOfIndex Gets a pointer to an array element.

SafeArrayPutElement Stores the data element at the specified location in the array.

SafeArrayRedim Changes the right-most (least significant) bound of the


specified safe array.

SafeArrayReleaseData Decreases the pinning reference count for the specified safe
array data by one. When that count reaches 0, the memory
for that data is no longer prevented from being freed.

SafeArrayReleaseDescriptor Decreases the pinning reference count for the descriptor of


the specified safe array by one. When that count reaches 0,
the memory for that descriptor is no longer prevented from
being freed.

SafeArraySetIID Sets the GUID of the interface for the specified safe array.

SafeArraySetRecordInfo Sets the record info in the specified safe array.

SafeArrayUnaccessData Decrements the lock count of an array, and invalidates the


pointer retrieved by SafeArrayAccessData.

SafeArrayUnlock Decrements the lock count of an array so it can be freed or


resized.

SaveAllChanges Saves the ICreateTypeLib instance following the layout of type


information.
T IT L E DESC RIP T IO N

SetAlignment Specifies the data alignment for an item of


TYPEKIND=TKIND_RECORD.

SetCustData Sets a value for custom data.

SetCustData Sets a value to custom data.

SetDescription Sets the textual description of the error.

SetDocString Sets the documentation string displayed by type browsers.

SetDocString Sets the documentation string associated with the library.

SetErrorInfo Sets the error information object for the current logical thread
of execution.

SetFuncAndParamNames Sets the name of a function and the names of its parameters
to the specified names.

SetFuncCustData Sets a value for custom data for the specified function.

SetFuncDocString Sets the documentation string for the function with the
specified index.

SetFuncHelpContext Sets the Help context ID for the function with the specified
index.

SetFuncHelpStringContext Sets a Help context value for a specified function.

SetGuid Sets the globally unique identifier (GUID) associated with the
type description.

SetGuid Sets the universal unique identifier (UUID) associated with the
type library.

SetGUID Sets the globally unique identifier (GUID) of the interface that
defined the error.

SetHelpContext Sets the Help context identifier (ID) for the error.

SetHelpContext Sets the Help context ID of the type information.

SetHelpContext Sets the Help context ID for retrieving general Help


information for the type library.

SetHelpFile Sets the path of the Help file that describes the error.

SetHelpFileName Sets the name of the Help file.

SetHelpStringContext Sets the context number for the specified Help string.

SetHelpStringContext Sets the Help string context number.


T IT L E DESC RIP T IO N

SetHelpStringDll Sets the DLL name to be used for Help string lookup (for
localization purposes).

SetImplTypeCustData Sets a value for custom data for the specified implementation
type.

SetImplTypeFlags Sets the attributes for an implemented or inherited interface


of a type.

SetLcid Sets the binary Microsoft national language ID associated


with the library.

SetLibFlags Sets library flags.

SetMops Sets the marshaling opcode string associated with the type
description or the function.

SetName Sets the name of the typeinfo.

SetName Sets the name of the type library.

SetParamCustData Sets a value for the custom data for the specified parameter.

SetSource Sets the language-dependent programmatic identifier


(ProgID) for the class or application that raised the error.

SetTypeDescAlias Sets the type description for which this type description is an
alias, if TYPEKIND=TKIND_ALIAS.

SetTypeFlags Sets type flags of the type description being created.

SetVarCustData Sets a value for custom data for the specified variable.

SetVarDocString Sets the documentation string for the variable with the
specified index.

SetVarHelpContext Sets the Help context ID for the variable with the specified
index.

SetVarHelpStringContext Sets a Help context value for a specified variable.

SetVarName Sets the name of a variable.

SetVersion Sets the major and minor version number of the type
information.

SetVersion Sets the major and minor version numbers of the type library.

Skip Attempts to skip over the next celt elements in the


enumeration sequence.
T IT L E DESC RIP T IO N

SysAddRefString Increases the pinning reference count for the specified string
by one.

SysAllocString Allocates a new string and copies the passed string into it.

SysAllocStringByteLen Takes an ANSI string as input, and returns a BSTR that


contains an ANSI string. Does not perform any ANSI-to-
Unicode translation.

SysAllocStringLen Allocates a new string, copies the specified number of


characters from the passed string, and appends a null-
terminating character.

SysFreeString Deallocates a string allocated previously by SysAllocString,


SysAllocStringByteLen, SysReAllocString, SysAllocStringLen, or
SysReAllocStringLen.

SysReAllocString Reallocates a previously allocated string to be the size of a


second string and copies the second string into the
reallocated memory.

SysReAllocStringLen Creates a new BSTR containing a specified number of


characters from an old BSTR, and frees the old BSTR.

SysReleaseString Decreases the pinning reference count for the specified string
by one. When that count reaches 0, the memory for that
string is no longer prevented from being freed.

SysStringByteLen Returns the length (in bytes) of a BSTR.

SysStringLen Returns the length of a BSTR.

SystemTimeToVariantTime Converts a system time to a variant representation.

UnRegisterTypeLib Removes type library information from the system registry.


Use this API to allow applications to properly uninstall
themselves.

UnRegisterTypeLibForUser Removes type library information that was registered by using


RegisterTypeLibForUser.

VarAbs Returns the absolute value of a variant.

VarAdd Returns the sum of two variants.

VarAnd Performs a bitwise And operation between two variants of any


integral type.

VarBoolFromCy Converts a currency value to a Boolean value.

VarBoolFromDate Converts a date value to a Boolean value.

VarBoolFromDec Converts a decimal value to a Boolean value.


T IT L E DESC RIP T IO N

VarBoolFromDisp Converts the default property of an IDispatch instance to a


Boolean value.

VarBoolFromI1 Converts a char value to a Boolean value.

VarBoolFromI2 Converts a short value to a Boolean value.

VarBoolFromI4 Converts a long value to a Boolean value.

VarBoolFromI8 Converts an 8-byte integer value to a Boolean value.

VarBoolFromR4 Converts a float value to a Boolean value.

VarBoolFromR8 Converts a double value to a Boolean value.

VarBoolFromStr Converts an OLECHAR string to a Boolean value.

VarBoolFromUI1 Converts an unsigned char value to a Boolean value.

VarBoolFromUI2 Converts an unsigned short value to a Boolean value.

VarBoolFromUI4 Converts an unsigned long value to a Boolean value.

VarBoolFromUI8 Converts an 8-byte unsigned integer value to a Boolean


value.

VarBstrCat Concatenates two variants of type BSTR and returns the


resulting BSTR.

VarBstrCmp Compares two variants of type BSTR.

VarBstrFromBool Converts a Boolean value to a BSTR value.

VarBstrFromCy Converts a currency value to a BSTR value.

VarBstrFromDate Converts a date value to a BSTR value.

VarBstrFromDec Converts a decimal value to a BSTR value.

VarBstrFromDisp Converts the default property of an IDispatch instance to a


BSTR value.

VarBstrFromI1 Converts a char value to a BSTR value.

VarBstrFromI2 Converts a short value to a BSTR value.

VarBstrFromI4 Converts a long value to a BSTR value.

VarBstrFromI8 Converts an 8-byte unsigned integer value to a BSTR value.

VarBstrFromR4 Converts a float value to a BSTR value.


T IT L E DESC RIP T IO N

VarBstrFromR8 Converts a double value to a BSTR value.

VarBstrFromUI1 Converts an unsigned char value to a BSTR value.

VarBstrFromUI2 Converts an unsigned short value to a BSTR value.

VarBstrFromUI4 Converts an unsigned long value to a BSTR value.

VarBstrFromUI8 Converts an 8-byte unsigned integer value to a BSTR value.

VarCat Concatenates two variants and returns the result.

VarCmp Compares two variants.

VarCyAbs Retrieves the absolute value of a variant of type currency.

VarCyAdd Adds two variants of type currency.

VarCyCmp Compares two variants of type currency.

VarCyCmpR8 Compares a variant of type currency with a value of type


double.

VarCyFix Retrieves the integer portion of a variant of type currency.

VarCyFromBool Converts a Boolean value to a currency value.

VarCyFromDate Converts a date value to a currency value.

VarCyFromDec Converts a decimal value to a currency value.

VarCyFromDisp Converts the default property of an IDispatch instance to a


currency value.

VarCyFromI1 Converts a char value to a currency value.

VarCyFromI2 Converts a short value to a currency value.

VarCyFromI4 Converts a long value to a currency value.

VarCyFromI8 Converts an 8-byte integer value to a currency value.

VarCyFromR4 Converts a float value to a currency value.

VarCyFromR8 Converts a double value to a currency value.

VarCyFromStr Converts an OLECHAR string to a currency value.

VarCyFromUI1 Converts an unsigned char value to a currency value.


T IT L E DESC RIP T IO N

VarCyFromUI2 Converts an unsigned short value to a currency value.

VarCyFromUI4 Converts an unsigned long value to a currency value.

VarCyFromUI8 Converts an 8-byte unsigned integer value to a currency


value.

VarCyInt Retrieves the integer portion of a variant of type currency.

VarCyMul Multiplies two variants of type currency.

VarCyMulI4 Multiplies a currency value by a 32-bit integer.

VarCyMulI8 Multiplies a currency value by a 64-bit integer.

VarCyNeg Performs a logical negation on a variant of type currency.

VarCyRound Rounds a variant of type currency to the specified number of


decimal places.

VarCySub Subtracts two variants of type currency.

VarDateFromBool Converts a Boolean value to a date value.

VarDateFromCy Converts a currency value to a date value.

VarDateFromDec Converts a decimal value to a date value.

VarDateFromDisp Converts the default property of an IDispatch instance to a


date value.

VarDateFromI1 Converts a char value to a date value.

VarDateFromI2 Converts a short value to a date value.

VarDateFromI4 Converts a long value to a date value.

VarDateFromI8 Converts an 8-byte unsigned integer value to a date value.

VarDateFromR4 Converts a float value to a date value.

VarDateFromR8 Converts a double value to a date value.

VarDateFromStr Converts an OLECHAR string to a date value.

VarDateFromUdate Converts a time and date converted from MS-DOS format to


variant format.

VarDateFromUdateEx Converts a time and date converted from MS-DOS format to


variant format.
T IT L E DESC RIP T IO N

VarDateFromUI1 Converts an unsigned char value to a date value.

VarDateFromUI2 Converts an unsigned short value to a date value.

VarDateFromUI4 Converts an unsigned long value to a date value.

VarDateFromUI8 Converts an 8-byte unsigned value to a date value.

VarDecAbs Retrieves the absolute value of a variant of type decimal.

VarDecAdd Adds two variants of type decimal.

VarDecCmp Compares two variants of type decimal.

VarDecCmpR8 Compares a variant of type decimal with the a value of type


double.

VarDecDiv Divides two variants of type decimal.

VarDecFix Retrieves the integer portion of a variant of type decimal.

VarDecFromBool Converts a Boolean value to a decimal value.

VarDecFromCy Converts a currency value to a decimal value.

VarDecFromDate Converts a date value to a decimal value.

VarDecFromDisp Converts the default property of an IDispatch instance to a


decimal value.

VarDecFromI1 Converts a char value to a decimal value.

VarDecFromI2 Converts a short value to a decimal value.

VarDecFromI4 Converts a long value to a decimal value.

VarDecFromI8 Converts an 8-byte integer value to a decimal value.

VarDecFromR4 Converts a float value to a decimal value.

VarDecFromR8 Converts a double value to a decimal value.

VarDecFromStr Converts an OLECHAR string to a decimal value.

VarDecFromUI1 Converts an unsigned char value to a decimal value.

VarDecFromUI2 Converts an unsigned short value to a decimal value.

VarDecFromUI4 Converts an unsigned long value to a decimal value.


T IT L E DESC RIP T IO N

VarDecFromUI8 Converts an 8-byte unsigned integer value to a decimal value.

VarDecInt Retrieves the integer portion of a variant of type decimal.

VarDecMul Multiplies two variants of type decimal.

VarDecNeg Performs logical negation on a variant of type decimal.

VarDecRound Rounds a variant of type decimal to the specified number of


decimal places.

VarDecSub Subtracts two variants of type decimal.

VarDiv Returns the result from dividing two variants.

VarEqv Performs a bitwise equivalence on two variants.

VarFix Returns the integer portion of a variant.

VarFormat Formats a variant into string form by parsing a format string.

VarFormatCurrency Formats a variant containing currency values into a string


form.

VarFormatDateTime Formats a variant containing named date and time


information into a string.

VarFormatFromTokens Takes a tokenized format string and applies it to a variant to


produce a formatted output string.

VarFormatNumber Formats a variant containing numbers into a string form.

VarFormatPercent Formats a variant containing percentages into a string form.

VarI1FromBool Converts a Boolean value to a char value.

VarI1FromCy Converts a currency value to a char value.

VarI1FromDate Converts a date value to a char value.

VarI1FromDec Converts a decimal value to a char value.

VarI1FromDisp Converts the default property of an IDispatch instance to a


char value.

VarI1FromI2 Converts a short value to a char value.

VarI1FromI4 Converts a long value to a char value.

VarI1FromI8 Converts an 8-byte integer value to a char value.


T IT L E DESC RIP T IO N

VarI1FromR4 Converts a float value to a char value.

VarI1FromR8 Converts a double value to a char value.

VarI1FromStr Converts an OLECHAR string to a char value.

VarI1FromUI1 Converts an unsigned char value to a char value.

VarI1FromUI2 Converts an unsigned short value to a char value.

VarI1FromUI4 Converts an unsigned long value to a char value.

VarI1FromUI8 Converts an 8-byte unsigned integer value to a char value.

VarI2FromBool Converts a Boolean value to a short value.

VarI2FromCy Converts a currency value to a short value.

VarI2FromDate Converts a date value to a short value.

VarI2FromDec Converts a decimal value to a short value.

VarI2FromDisp Converts the default property of an IDispatch instance to a


short value.

VarI2FromI1 Converts a char value to a short value.

VarI2FromI4 Converts a long value to a short value.

VarI2FromI8 Converts an 8-byte integer value to a short value.

VarI2FromR4 Converts a float value to a short value.

VarI2FromR8 Converts a double value to a short value.

VarI2FromStr Converts an OLECHAR string to a short value.

VarI2FromUI1 Converts an unsigned char value to a short value.

VarI2FromUI2 Converts an unsigned short value to a short value.

VarI2FromUI4 Converts an unsigned long value to a short value.

VarI2FromUI8 Converts an 8-byte unsigned integer value to a short value.

VarI4FromBool Converts a Boolean value to a long value.

VarI4FromCy Converts a currency value to a long value.

VarI4FromDate Converts a date value to a long value.


T IT L E DESC RIP T IO N

VarI4FromDec Converts a decimal value to a long value.

VarI4FromDisp Converts the default property of an IDispatch instance to a


long value.

VarI4FromI1 Converts a char value to a long value.

VarI4FromI2 Converts a short value to a long value.

VarI4FromI4 Converts an int value to a long value.

VarI4FromI8 Converts an 8-byte integer value to a long value.

VarI4FromR4 Converts a float value to a long value.

VarI4FromR8 Converts a double value to a long value.

VarI4FromStr Converts an OLECHAR string to a long value.

VarI4FromUI1 Converts an unsigned char value to a long value.

VarI4FromUI2 Converts an unsigned short value to a long value.

VarI4FromUI4 Converts an unsigned long value to a long value.

VarI4FromUI8 Converts an 8-byte unsigned integer value to a long.

VarI8FromBool Converts a Boolean value to an 8-byte integer value.

VarI8FromCy Converts a currency value to an 8-byte integer value.

VarI8FromDate Converts a date value to an 8-byte integer value.

VarI8FromDec Converts a decimal value to an 8-byte integer value.

VarI8FromDisp Converts the default property of an IDispatch instance to an


8-byte integer value.

VarI8FromI1 Converts a char value to an 8-byte integer value.

VarI8FromI2 Converts a short value to an 8-byte integer value.

VarI8FromR4 Converts a float value to an 8-byte integer value.

VarI8FromR8 Converts a double value to an 8-byte integer value.

VarI8FromStr Converts an OLECHAR string to an 8-byte integer value.

VarI8FromUI1 Onverts an unsigned byte value to an 8-byte integer value.


T IT L E DESC RIP T IO N

VarI8FromUI2 Converts an unsigned short value to an 8-byte integer value.

VarI8FromUI4 Converts an unsigned long value to an 8-byte integer value.

VarI8FromUI8 Converts an unsigned 8-byte integer value to an 8-byte


integer value.

VARIANT_UserFree Frees resources on the server side when called by RPC stub
files.

VARIANT_UserFree64 Frees resources on the server side when called by RPC stub
files.

VARIANT_UserMarshal Marshals a VARIANT object into the RPC buffer.

VARIANT_UserMarshal64 Marshals a VARIANT object into the RPC buffer.

VARIANT_UserSize Calculates the wire size of the VARIANT object, and gets its
handle and data.

VARIANT_UserSize64 Calculates the wire size of the VARIANT object, and gets its
handle and data.

VARIANT_UserUnmarshal Unmarshals a VARIANT object from the RPC buffer.

VARIANT_UserUnmarshal64 Unmarshals a VARIANT object from the RPC buffer.

VariantChangeType Converts a variant from one type to another.

VariantChangeTypeEx Converts a variant from one type to another, using an LCID.

VariantClear Clears a variant.

VariantCopy Frees the destination variant and makes a copy of the source
variant.

VariantCopyInd Frees the destination variant and makes a copy of the source
variant, performing the necessary indirection if the source is
specified to be VT_BYREF.

VariantInit Initializes a variant.

VariantTimeToDosDateTime Converts the variant representation of a date and time to


MS-DOS date and time values.

VariantTimeToSystemTime Converts the variant representation of time to system time


values.

VarIdiv Converts two variants of any type to integers then returns


the result from dividing them.

VarImp Performs a bitwise implication on two variants.


T IT L E DESC RIP T IO N

VarInt Returns the integer portion of a variant.

VarMod Divides two variants and returns only the remainder.

VarMonthName Returns a string containing the localized month name.

VarMul Returns the result from multiplying two variants.

VarNeg Performs logical negation on a variant.

VarNot Performs the bitwise not negation operation on a variant.

VarNumFromParseNum Converts parsed results to a variant.

VarOr Performs a logical disjunction on two variants.

VarParseNumFromStr Parses a string, and creates a type-independent description of


the number it represents.

VarPow Returns the result of performing the power function with two
variants.

VarR4CmpR8 Compares two variants of types float and double.

VarR4FromBool Converts a Boolean value to a float value.

VarR4FromCy Converts a currency value to a float value.

VarR4FromDate Converts a date value to a float value.

VarR4FromDec Converts a decimal value to a float value.

VarR4FromDisp Converts the default property of an IDispatch instance to a


float value.

VarR4FromI1 Onverts a char value to a float value.

VarR4FromI2 Converts a short value to a float value.

VarR4FromI4 Converts a long value to a float value.

VarR4FromI8 Converts an 8-byte integer value to a float value.

VarR4FromR8 Converts a double value to a float value.

VarR4FromStr Converts an OLECHAR string to a float value.

VarR4FromUI1 Converts an unsigned char value to a float value.

VarR4FromUI2 Converts an unsigned short value to a float value.


T IT L E DESC RIP T IO N

VarR4FromUI4 Converts an unsigned long value to a float value.

VarR4FromUI8 Converts an unsigned 8-byte integer value to a float value.

VarR8FromBool Converts a Boolean value to a double value.

VarR8FromCy Converts a currency value to a double value.

VarR8FromDate Converts a date value to a double value.

VarR8FromDec Converts a decimal value to a double value.

VarR8FromDisp Converts the default property of an IDispatch instance to a


double value.

VarR8FromI1 Converts a char value to a double value.

VarR8FromI2 Converts a short value to a double value.

VarR8FromI4 Converts a long value to a double value.

VarR8FromI8 Converts an 8-byte integer value to a double value.

VarR8FromR4 Converts a float value to a double value.

VarR8FromStr Converts an OLECHAR string to a double value.

VarR8FromUI1 Converts an unsigned char value to a double value.

VarR8FromUI2 Converts an unsigned short value to a double value.

VarR8FromUI4 Converts an unsigned long value to a double value.

VarR8FromUI8 Converts an 8-byte unsigned integer value to a double value.

VarR8Pow Performs the power function for variants of type double.

VarR8Round Rounds a variant of type double to the specified number of


decimal places.

VarRound Rounds a variant to the specified number of decimal places.

VarSub Subtracts two variants.

VarTokenizeFormatString Parses the actual format string into a series of tokens which
can be used to format variants using VarFormatFromTokens.

VarUdateFromDate Converts a time and date converted from variant format to


MS-DOS format.

VarUI1FromBool Converts a Boolean value to an unsigned char value.


T IT L E DESC RIP T IO N

VarUI1FromCy Converts a currency value to an unsigned char value.

VarUI1FromDate Converts a date value to an unsigned char value.

VarUI1FromDec Converts a decimal value to an unsigned char value.

VarUI1FromDisp Converts the default property of an IDispatch instance to an


unsigned char value.

VarUI1FromI1 Converts a char value to an unsigned char value.

VarUI1FromI2 Converts a short value to an unsigned char value.

VarUI1FromI4 Converts a long value to an unsigned char value.

VarUI1FromI8 Converts an 8-byte integer value to a byte value.

VarUI1FromR4 Converts a float value to an unsigned char value.

VarUI1FromR8 Converts a double value to an unsigned char value.

VarUI1FromStr Converts an OLECHAR string to an unsigned char string.

VarUI1FromUI2 Converts an unsigned short value to an unsigned char value.

VarUI1FromUI4 Converts an unsigned long value to an unsigned char value.

VarUI1FromUI8 Converts an 8-byte unsigned integer value to a byte value.

VarUI2FromBool Converts a Boolean value to an unsigned short value.

VarUI2FromCy Converts a currency value to an unsigned short value.

VarUI2FromDate Converts a date value to an unsigned short value.

VarUI2FromDec Converts a decimal value to an unsigned short value.

VarUI2FromDisp Converts the default property of an IDispatch instance to an


unsigned short value.

VarUI2FromI1 Converts a char value to an unsigned short value.

VarUI2FromI2 Converts a short value to an unsigned short value.

VarUI2FromI4 Converts a long value to an unsigned short value.

VarUI2FromI8 Converts an 8-byte integer value to an unsigned short value.

VarUI2FromR4 Converts a float value to an unsigned short value.


T IT L E DESC RIP T IO N

VarUI2FromR8 Converts a double value to an unsigned short value.

VarUI2FromStr Converts an OLECHAR string to an unsigned short value.

VarUI2FromUI1 Converts an unsigned char value to an unsigned short value.

VarUI2FromUI4 Converts an unsigned long value to an unsigned short value.

VarUI2FromUI8 Converts an 8-byte unsigned integer value to an unsigned


short value.

VarUI4FromBool Converts a Boolean value to an unsigned long value.

VarUI4FromCy Converts a currency value to an unsigned long value.

VarUI4FromDate Converts a date value to an unsigned long value.

VarUI4FromDec Converts a decimal value to an unsigned long value.

VarUI4FromDisp Converts the default property of an IDispatch instance to an


unsigned long value.

VarUI4FromI1 Converts a char value to an unsigned long value.

VarUI4FromI2 Converts a short value to an unsigned long value.

VarUI4FromI4 Converts a long value to an unsigned long value.

VarUI4FromI8 Converts an 8-byte integer value to an unsigned long value.

VarUI4FromR4 Converts a float value to an unsigned long value.

VarUI4FromR8 Converts a double value to an unsigned long value.

VarUI4FromStr Converts an OLECHAR string to an unsigned long value.

VarUI4FromUI1 Converts an unsigned char value to an unsigned long value.

VarUI4FromUI2 Converts an unsigned short value to an unsigned long value.

VarUI4FromUI8 Converts an 8-byte unsigned integer value to an unsigned


long value.

VarUI8FromBool Converts a VARIANT_BOOL value to an 8-byte unsigned


integer value.

VarUI8FromCy Converts a currency value to an 8-byte unsigned integer


value.

VarUI8FromDate Converts a date value to an 8-byte unsigned integer value.


T IT L E DESC RIP T IO N

VarUI8FromDec Converts a decimal value to an 8-byte unsigned integer value.

VarUI8FromDisp Converts the default property of an IDispatch instance to an


8-byte unsigned integer value.

VarUI8FromI1 Converts a char value to an 8-byte unsigned integer value.

VarUI8FromI2 Converts a short value to an 8-byte unsigned integer value.

VarUI8FromI8 Converts an 8-byte integer value to an 8-byte unsigned


integer value.

VarUI8FromR4 Converts a float value to an 8-byte unsigned integer value.

VarUI8FromR8 Converts a double value to an 8-byte unsigned integer value.

VarUI8FromStr Converts an OLECHAR string to an 8-byte unsigned integer


value.

VarUI8FromUI1 Converts a byte value to an 8-byte unsigned integer value.

VarUI8FromUI2 Converts an unsigned short value to an 8-byte unsigned


integer value.

VarUI8FromUI4 Converts an unsigned long value to an 8-byte unsigned


integer value.

VarWeekdayName Returns a string containing the localized name of the weekday.

VarXor Performs a logical exclusion on two variants.

VectorFromBstr Returns a vector, assigning each character in the BSTR to an


element of the vector.

Interfaces
T IT L E DESC RIP T IO N

ICreateErrorInfo Returns error information.

ICreateTypeInfo Provides the tools for creating and administering the type
information defined through the type description.

ICreateTypeInfo2 Provides the tools for creating and administering the type
information defined through the type description.

ICreateTypeLib Provides the methods for creating and managing the


component or file that contains type information.

ICreateTypeLib2 Provides the methods for creating and managing the


component or file that contains type information.
T IT L E DESC RIP T IO N

IDispatch Exposes objects, methods and properties to programming


tools and other applications that support Automation.

IEnumVARIANT Provides a method for enumerating a collection of variants,


including heterogeneous collections of objects and intrinsic
types.

IErrorInfo Provides detailed contextual error information.

IRecordInfo Describes the structure of a particular UDT.

ISupportErrorInfo Ensures that error information can be propagated up the call


chain correctly. Automation objects that use the error
handling interfaces must implement ISupportErrorInfo.

ITypeChangeEvents Enables clients to subscribe to type change notifications on


objects that implement the ITypeInfo, ITypeInfo2,
ICreateTypeInfo, and ICreateTypeInfo2 interfaces.

ITypeComp The ITypeComp interface provides a fast way to access


information that compilers need when binding to and
instantiating structures and interfaces.

ITypeInfo Used for reading information about objects.

ITypeInfo2 Used for reading information about objects.

ITypeLib Represents a type library, the data that describes a set of


objects.

ITypeLib2 Represents a type library, the data that describes a set of


objects.

Structures
T IT L E DESC RIP T IO N

ARRAYDESC Describes an array, its element type, and its dimension.

BINDPTR Describes a pointer.

CUSTDATA Represents custom data.

CUSTDATAITEM Represents a custom data item.

DISPPARAMS Contains the arguments passed to a method or property.

EXCEPINFO Describes an exception that occurred during IDispatch::Invoke.

FUNCDESC Describes a function.


T IT L E DESC RIP T IO N

INTERFACEDATA Describes the object's properties and methods.

METHODDATA Describes a method or property.

NUMPARSE Specifies numeric parsing information.

PARAMDATA Describes a parameter accepted by a method or property.

PARAMDESC Contains information needed for transferring a structure


element, parameter, or function return value between
processes.

PARAMDESCEX Contains information about the default value of a parameter.

SAFEARRAY Represents a safe array.

SAFEARRAYBOUND Represents the bounds of one dimension of the array.

TLIBATTR Contains information about a type library. Information from


this structure is used to identify the type library and to
provide national language support for member names.

TYPEATTR Contains attributes of a type.

TYPEDESC Describes the type of a variable, the return type of a function,


or the type of a function parameter.

VARDESC Describes a variable, constant, or data member.

VARIANT VARIANTARG describes arguments passed within


DISPPARAMS, and VARIANT to specify variant data that
cannot be passed by reference.
Background Intelligent Transfer Service
2/7/2020 • 21 minutes to read • Edit Online

Overview of the Background Intelligent Transfer Service technology.


To develop Background Intelligent Transfer Service, you need these headers:
bits.h
bits10_1.h
bits10_2.h
bits10_3.h
bits1_5.h
bits2_0.h
bits2_5.h
bits3_0.h
bits4_0.h
bits5_0.h
bitscfg.h
qmgr.h
For programming guidance for this technology, see:
Background Intelligent Transfer Service

Enumerations
T IT L E DESC RIP T IO N

BG_AUTH_SCHEME Defines constants that specify the authentication scheme to


use when a proxy or server requests user authentication.

BG_AUTH_TARGET Defines constants that specify whether the credentials are


used for proxy or server user authentication requests.

BG_CERT_STORE_LOCATION Defines constants that specify the location of the certificate


store.

BG_ERROR_CONTEXT Defines constants that specify the context in which the error
occurred.

BG_JOB_PRIORITY Defines constants that specify the priority level of a job.

BG_JOB_PROXY_USAGE Defines constants that specify which proxy to use for file
transfers. You can define different proxy settings for each job.

BG_JOB_STATE Defines constants that specify the different states of a job.

BG_JOB_TYPE Defines constants that specify the type of transfer job, such
as download.
T IT L E DESC RIP T IO N

BITS_FILE_PROPERTY_ID Defines constants that specify ID values corresponding to


background copy file properties.

BITS_JOB_PROPERTY_ID Defines constants that specify the ID of the property for the
BITS job.

BITS_JOB_TRANSFER_POLICY Defines constants that specify ID values corresponding to


BITS properties.

GROUPPROP The GROUPPROP enumeration defines the constant values


for retrieving and setting group property values.

Functions
T IT L E DESC RIP T IO N

AddFile Adds a single file to the job.

AddFiles Use the AddFiles method to add one or more files to


download to the job.

AddFileSet Adds multiple files to a job.

AddFileWithRanges Adds a file to a download job and specifies the ranges of the
file you want to download.

Cancel Deletes the job from the transfer queue and removes related
temporary files from the client (downloads) and server
(uploads).

CancelGroup Use the CancelGroup method to remove the group from the
queue. Files completely downloaded before calling this
method are available to the client. You can cancel a group at
anytime; however, the group cannot be recovered once it is
canceled.

ClearHelperToken Discards the helper token, and does not change the usage
flags.

ClearPeers Removes all peers from the list of peers that can serve
content.

ClearRecords Removes all the records and files from the cache.

Clone Creates another IEnumBackgroundCopyFiles enumerator that


contains the same enumeration state as the current one.

Clone Creates another IEnumBackgroundCopyJobs enumerator that


contains the same enumeration state as the current one.

Clone Creates another IEnumBitsPeerCacheRecords enumerator that


contains the same enumeration state as the current one.
T IT L E DESC RIP T IO N

Clone Creates another IEnumBitsPeers enumerator that contains


the same enumeration state as the current one.

Clone Use the Clone method to create another


IEnumBackgroundCopyGroups enumerator that contains the
same enumeration state as the current one.

Clone Use the Clone method to create another


IEnumBackgroundCopyJobs1 enumerator that contains the
same enumeration state as the current one.

Complete Ends the job and saves the transferred files on the client.

CreateGroup Use the CreateGroup method to create a new group and add
it to the download queue.

CreateJob Creates a job.

CreateJob Use the CreateJob method to add a new job to the group. A
group can contain only one job.

DeleteRecord Deletes a record and file from the cache. This method uses
the record's identifier to identify the record to delete.

DeleteUrl Deletes all cache records and the file from the cache for the
given URL.

DisableBITSUploads Use the DisableBITSUploads method to disable BITS upload


on the virtual directory to which the ADSI object points. This
method sets the BITSUploadEnabled IIS extension property.

DiscoverPeers Generates a list of peers that can serve content.

EnableBITSUploads Use the EnableBITSUploads method to enable BITS upload on


the virtual directory to which the ADSI object points. This
method sets the BITSUploadEnabled IIS extension property.

EnumFiles Retrieves an IEnumBackgroundCopyFiles interface pointer


that you use to enumerate the files in a job.

EnumGroups Use the EnumGroups method to retrieve a list of groups that


the current user owns. If the current user has Administrator
privileges, the method returns all groups in the queue.

EnumJobs Retrieves an interface pointer to an enumerator object that


you use to enumerate the jobs in the transfer queue. The
order of the jobs in the enumerator is arbitrary.

EnumJobs Use the EnumJobs method to retrieve a list of jobs in the


group. The list contains only one job.

EnumPeers Gets an IEnumBitsPeers interface pointer that you use to


enumerate the peers that can serve content. The
enumeration is a snapshot of the records in the cache.
T IT L E DESC RIP T IO N

EnumRecords Gets an IEnumBitsPeerCacheRecords interface pointer that


you use to enumerate the records in the cache. The
enumeration is a snapshot of the records in the cache.

FileRangesTransferred BITS calls your implementation of the FileRangesTransferred


method when one or more file ranges have been
downloaded. File ranges are added to the job using the
IBackgroundCopyFile6::RequestFileRanges method.

FileTransferred BITS calls your implementation of the FileTransferred method


when BITS successfully finishes transferring a file.

get_GroupID Use the get_GroupID method to retrieve the group's


identifier.

get_JobID Use the get_JobID method to retrieve the job's identifier.

get_Size Use the get_Size method to retrieve the size of all files in the
group to download.

GetCleanupTask Use the GetCleanupTask method to retrieve an interface


pointer to the cleanup task associated with the virtual
directory.

GetCleanupTaskName Use the GetCleanupTaskName method to retrieve the name


of the cleanup task associated with the virtual directory.

GetClientCertificate Retrieves the client certificate from the job.

GetConfigurationFlags Gets the configuration flags that determine if the computer


serves content to peers and can download content from
peers.

GetCount Retrieves a count of the number of files in the enumeration.

GetCount Retrieves a count of the number of jobs in the enumeration.

GetCount Retrieves a count of the number of cache records in the


enumeration.

GetCount Retrieves a count of the number of peers in the enumeration.

GetCount Use the GetCount method to retrieve a count of the number


of groups in the enumeration.

GetCount Use the GetCount method to retrieve a count of the number


of jobs in the enumeration.

GetCustomHeaders Retrieves the custom headers set by an earlier call to


IBackgroundCopyJobHttpOptions::SetCustomHeaders (that
is, headers which BITS will be sending to the remote, not
headers which BITS receives from the remote).

GetDescription Retrieves the description of the job.


T IT L E DESC RIP T IO N

GetDisplayName Retrieves the display name for the job. Typically, you use the
display name to identify the job in a user interface.

GetError Retrieves the error code and identify the context in which the
error occurred.

GetError Retrieves the error interface after an error occurs.

GetErrorContextDescription Retrieves the description of the context in which the error


occurred.

GetErrorCount Retrieves the number of times BITS tried to transfer the job
and an error occurred.

GetErrorDescription Retrieves the error text associated with the error.

GetErrorDescription Retrieves a description for the specified error code.

GetFile Retrieves an interface pointer to the file object associated with


the error.

GetFile Use the GetFile method to retrieve the remote and local file
names for the given file in the job.

GetFileACLFlags Retrieves the flags that identify the owner and ACL
information to maintain when transferring a file using SMB.

GetFileCount Use the GetFileCount method to retrieve the number of files


in the job.

GetFileModificationTime Gets the date and time that the file was last modified on the
server.

GetFileRanges Gets the ranges of the file that are in the cache.

GetFileRanges Retrieves the ranges that you want to download from the
remote file.

GetFileSize Gets the size of the file.

GetFilledFileRanges Returns the set of file ranges that have been downloaded.

GetGroup Use the GetGroup method to retrieve a group from the


download queue.

GetHelperTokenFlags Returns the usage flags for a token that is associated with a
BITS transfer job.

GetHelperTokenSid Returns the SID of the helper token if one is set.

GetHttpMethod Retrieves a wide string containing the HTTP method name for
the BITS transfer. By default, download jobs will be "GET", and
upload and upload-reply jobs will be "BITS_POST".
T IT L E DESC RIP T IO N

GetId Retrieves the identifier used to identify the job in the queue.

GetId Gets the identifier that uniquely identifies the record in the
cache.

GetJob Retrieves a specified job from the transfer queue. Typically,


your application persists the job identifier, so you can later
retrieve the job from the queue.

GetJob Use the GetJob method to retrieve a job from the group.

GetLastAccessTime Gets the date and time that the file was last accessed.

GetLocalName Retrieves the local name of the file.

GetMaximumCacheSize Gets the maximum size of the cache.

GetMaximumContentAge Gets the age by when files are removed from the cache.

GetMaximumDownloadTime Retrieves the maximum time that BITS will spend transferring
the files in the job.

GetMinimumRetryDelay Retrieves the minimum length of time that the service waits
after encountering a transient error condition before trying to
transfer the file.

GetNoProgressTimeout Retrieves the length of time that the service tries to transfer
the file after a transient error condition occurs. If there is
progress, the timer is reset.

GetNotifyCmdLine Retrieves the program to execute when the job enters the
error or transferred state.

GetNotifyFlags Retrieves the event notification flags for the job.

GetNotifyInterface Retrieves the interface pointer to your implementation of the


IBackgroundCopyCallback interface.

GetObject Use the GetObject method to retrieve a pointer to the


IBITSExtensionSetup interface. This method performs the
same binding that the ADsGetObject ADSI function performs.

GetOriginUrl Gets the origin URL of the cached file.

GetOwner Retrieves the identity of the job's owner.

GetOwnerElevationState Gets a value that determines if the token of the owner was
elevated at the time they created or took ownership of the
job.

GetOwnerIntegrityLevel Gets the integrity level of the token of the owner that created
or took ownership of the job.
T IT L E DESC RIP T IO N

GetPeerCachingFlags Retrieves flags that determine if the files of the job can be
cached and served to peers and if BITS can download content
for the job from peers.

GetPeerDownloadStats Specifies statistics about the amount of data downloaded


from peers and origin servers.

GetPeerName Gets the server principal name that uniquely identifies the
peer.

GetPriority Retrieves the priority level for the job. The priority level
determines when the job is processed relative to other jobs in
the transfer queue.

GetProgress Retrieves information on the progress of the file transfer.

GetProgress Retrieves job-related progress information, such as the


number of bytes and files transferred.

GetProgress Use the GetProgress method to retrieve the progress of the


download.

GetProgress Use the GetProgress method to retrieve the job's progress.

GetProp Use the GetProp method to retrieve a property value from


the group.

GetProperty Gets a generic property of a BITS file transfer.

GetProperty A generic method for getting BITS job properties.

GetProtocol Retrieves the protocol used to transfer the file. The remote file
name identifies the protocol to use to transfer the file.

GetProxySettings Retrieves the proxy information that the job uses to transfer
the files.

GetRecord Gets a record from the cache.

GetRemoteName Retrieves the remote name of the file.

GetReplyData Retrieves an in-memory copy of the reply data from the


server application. Call this method only if the job's type is
BG_JOB_TYPE_UPLOAD_REPLY and its state is
BG_JOB_STATE_TRANSFERRED.

GetReplyFileName Retrieves the name of the file that contains the reply data
from the server application. Call this method only if the job
type is BG_JOB_TYPE_UPLOAD_REPLY.

GetReplyProgress Retrieves progress information related to the transfer of the


reply data from an upload-reply job.
T IT L E DESC RIP T IO N

GetSecurityFlags Retrieves the flags for HTTP that determine whether the
certificate revocation list is checked and certain certificate
errors are ignored, and the policy to use when a server
redirects the HTTP request.

GetState Retrieves the state of the job.

GetStatus Use the GetStatus method to retrieve the state of the group.

GetStatus Use the GetStatus method to retrieve the state of the job.

GetTemporaryName Gets the full path of the temporary file that contains the
content of the download.

GetTimes Retrieves job-related time stamps, such as the time that the
job was created or last modified.

GetType Retrieves the type of transfer being performed, such as a file


download or upload.

GetValidationState Gets the current validation state of this file.

IsAuthenticated Determines whether the peer is authenticated.

IsAvailable Determines whether the peer is available (online) to serve


content.

IsDownloadedFromPeer Gets a value that determines if any part of the file was
downloaded from a peer.

IsFileValidated Determines whether the file has been validated.

JobError BITS calls your implementation of the JobError method when


the state of the job changes to BG_JOB_STATE_ERROR.

JobModification BITS calls your implementation of the JobModification


method when the job has been modified.

JobTransferred BITS calls your implementation of the JobTransferred method


when all of the files in the job have been successfully
transferred.

MakeCustomHeadersWriteOnly Sets the HTTP custom headers for this job to be write-only.

Next Retrieves a specified number of items in the enumeration


sequence. If there are fewer than the requested number of
elements left in the sequence, it retrieves the remaining
elements.

Next Retrieves a specified number of items in the enumeration


sequence. If there are fewer than the requested number of
elements left in the sequence, it retrieves the remaining
elements.
T IT L E DESC RIP T IO N

Next Retrieves a specified number of items in the enumeration


sequence. If there are fewer than the requested number of
elements left in the sequence, it retrieves the remaining
elements.

Next Retrieves a specified number of items in the enumeration


sequence. If there are fewer than the requested number of
elements left in the sequence, it retrieves the remaining
elements.

Next Use the Next method to retrieve the specified number of


items in the enumeration sequence. If there are fewer than
the requested number of elements left in the sequence, it
retrieves the remaining elements.

Next Use the Next method to retrieve the specified number of


items in the enumeration sequence. If there are fewer than
the requested number of elements left in the sequence, it
retrieves the remaining elements.

OnStatus Implement the OnStatus method to receive notification when


the group is complete or an error occurs.

RemoveClientCertificate Removes the client certificate from the job.

RemoveCredentials Removes credentials from use. The credentials must match an


existing target and scheme pair that you specified using the
IBackgroundCopyJob2::SetCredentials method. There is no
method to retrieve the credentials you have set.

ReplaceRemotePrefix Replaces the beginning text of all remote names in the


download job with the specified string.

RequestFileRanges Adds a new set of file ranges to be prioritized for download.

Reset Resets the enumeration sequence to the beginning.

Reset Resets the enumeration sequence to the beginning.

Reset Resets the enumeration sequence to the beginning.

Reset Resets the enumeration sequence to the beginning.

Reset Use the Reset method to reset the enumeration sequence to


the beginning.

Reset Use the Reset method to reset the enumeration sequence to


the beginning.

Resume Activates a new job or restarts a job that has been


suspended.

ResumeGroup Use the ResumeGroup method to start a group that has


been suspended in the download queue.
T IT L E DESC RIP T IO N

SetClientCertificateByID Specifies the identifier of the client certificate to use for client
authentication in an HTTPS (SSL) request.

SetClientCertificateByName Specifies the subject name of the client certificate to use for
client authentication in an HTTPS (SSL) request.

SetConfigurationFlags Sets the configuration flags that determine if the computer


can serve content to peers and can download content from
peers.

SetCredentials Specifies the credentials to use for a proxy or remote server


user authentication request.

SetCustomHeaders Specifies one or more custom HTTP headers to include in


HTTP requests.

SetDescription Provides a description of the job.

SetDisplayName Specifies a display name for the job. Typically, you use the
display name to identify the job in a user interface.

SetFileACLFlags Specifies the owner and ACL information to maintain when


using SMB to download or upload a file.

SetHelperToken Sets the helper token to impersonate the token of the COM
client.

SetHelperTokenFlags Sets the usage flags for a token that is associated with a BITS
transfer job.

SetHttpMethod Overrides the default HTTP method used for a BITS transfer.

SetMaximumCacheSize Specifies the maximum size of the cache.

SetMaximumContentAge Specifies when files are removed from the cache based on
age.

SetMaximumDownloadTime Sets the maximum time that BITS will spend transferring the
files in the job.

SetMinimumRetryDelay Sets the minimum length of time that BITS waits after
encountering a transient error condition before trying to
transfer the file.

SetNoProgressTimeout Sets the length of time that BITS tries to transfer the file after
a transient error condition occurs. If there is progress, the
timer is reset.

SetNotifyCmdLine Specifies a program to execute if the job enters the


BG_JOB_STATE_ERROR or BG_JOB_STATE_TRANSFERRED state.
BITS executes the program in the context of the user who
called this method.
T IT L E DESC RIP T IO N

SetNotifyFlags Specifies the type of event notification you want to receive,


such as job transferred events.

SetNotifyInterface Identifies your implementation of the


IBackgroundCopyCallback interface to BITS. Use the
IBackgroundCopyCallback interface to receive notification of
job-related events.

SetPeerCachingFlags Sets flags that determine if the files of the job can be cached
and served to peers and if the job can download content
from peers.

SetPriority Specifies the priority level of your job. The priority level
determines when your job is processed relative to other jobs
in the transfer queue.

SetProp Use the SetProp method to set the property value for a
group property.

SetProperty Sets a generic property of a BITS file transfer.

SetProperty A generic method for setting BITS job properties.

SetProxySettings Specifies which proxy to use to transfer files.

SetRemoteName Changes the remote name to a new URL in a download job.

SetReplyFileName Specifies the name of the file to contain the reply data from
the server application. Call this method only if the job's type
is BG_JOB_TYPE_UPLOAD_REPLY.

SetSecurityFlags Sets flags for HTTP that determine whether the certificate
revocation list is checked and certain certificate errors are
ignored, and the policy to use when a server redirects the
HTTP request.

SetServerCertificateValidationInterface Server certificates are sent when an HTTPS connection is


opened. Use this method to set a callback to be called to
validate those server certificates.

SetValidationState Sets the validation state of this file.

Skip Skips the next specified number of elements in the


enumeration sequence. If there are fewer elements left in the
sequence than the requested number of elements to skip, it
skips past the last element in the sequence.

Skip Skips the next specified number of elements in the


enumeration sequence. If there are fewer elements left in the
sequence than the requested number of elements to skip, it
skips past the last element in the sequence.
T IT L E DESC RIP T IO N

Skip Skips the next specified number of elements in the


enumeration sequence. If there are fewer elements left in the
sequence than the requested number of elements to skip, it
skips past the last element in the sequence.

Skip Skips the next specified number of elements in the


enumeration sequence. If there are fewer elements left in the
sequence than the requested number of elements to skip, it
skips past the last element in the sequence.

Skip Use the Skip method to skip the next specified number of
elements in the enumeration sequence. If there are fewer
elements left in the sequence than the requested number of
elements to skip, it skips past the last element in the
sequence.

Skip Use the Skip method to skip the next specified number of
elements in the enumeration sequence. If there are fewer
elements left in the sequence than the requested number of
elements to skip, it skips past the last element in the
sequence.

Suspend Suspends a job. New jobs, jobs that are in error, and jobs that
have finished transferring files are automatically suspended.

SuspendGroup Use the SuspendGroup method to pause a group in the


download queue. New groups, groups that are in error, or
groups that have finished downloading are automatically
suspended.

SwitchToForeground Use the SwitchToForeground method to download the group


in the foreground instead of the background.

TakeOwnership Changes ownership of the job to the current user.

UpdateDownloadPosition Specifies a position to prioritize downloading missing data


from.

ValidateServerCertificate A callback method that you implement that will be called so


that you can validate the server certificates sent when an
HTTPS connection is opened.

Interfaces
T IT L E DESC RIP T IO N

IBackgroundCopyCallback Implement the IBackgroundCopyCallback interface to receive


notification that a job is complete, has been modified, or is in
error. Clients use this interface instead of polling for the status
of the job.

IBackgroundCopyCallback1 Implement the IBackgroundCopyCallback1 interface to


receive notification when events occur.
T IT L E DESC RIP T IO N

IBackgroundCopyCallback2 Implement this interface to receive notification that a file has


completed downloading.

IBackgroundCopyCallback3 Clients implement the IBackgroundCopyCallback3 interface to


receive notification that ranges of a file have completed
downloading.

IBackgroundCopyError Use the IBackgroundCopyError interface to determine the


cause of an error and if the transfer process can proceed.

IBackgroundCopyFile IBackgroundCopyFile contains information about a file that is


part of a job. For example, you can use IBackgroundCopyFile
methods to retrieve the local and remote names of the file
and transfer progress information.

IBackgroundCopyFile2 Use the IBackgroundCopyFile2 interface to specify a new


remote name for the file and retrieve the list of ranges to
download.

IBackgroundCopyFile3 Use this interface to retrieve the name of the temporary file
that contains the downloaded content and to validate the file
so that peers can request its content.

IBackgroundCopyFile4 Use this interface to retrieve download statistics for peers and
origin servers.

IBackgroundCopyFile5 Use this interface to get or set generic properties of BITS file
transfers.

IBackgroundCopyFile6 Use this interface to request file ranges for On Demand


download jobs.

IBackgroundCopyGroup Use the IBackgroundCopyGroup interface to manage a


group. A group contains download jobs. For example, add a
job to the group, set the properties of the group, and start
and stop the group in the download queue.

IBackgroundCopyJob Use the IBackgroundCopyJob interface to add files to the job,


set the priority level of the job, determine the state of the job,
and to start and stop the job.

IBackgroundCopyJob1 Use the IBackgroundCopyJob1 interface to add files to the


job and retrieve the job's status.

IBackgroundCopyJob2 Retrieve reply data from an upload-reply job, determine the


progress of the reply data transfer to the client, request
command line execution, and provide credentials for proxy
and remote server authentication requests.

IBackgroundCopyJob3 Use the IBackgroundCopyJob3 interface to download ranges


of a file and change the prefix of a remote file name.

IBackgroundCopyJob4 Use this interface to enable peer caching, restrict download


time, and inspect user token characteristics.
T IT L E DESC RIP T IO N

IBackgroundCopyJob5 Use this interface to query or set several optional behaviors


of a job.

IBackgroundCopyJobHttpOptions Use this interface to specify client certificates for certificate-


based client authentication and custom headers for HTTP
requests.

IBackgroundCopyJobHttpOptions2 Use this interface to retrieve and/or to override the HTTP


method used for a BITS transfer.

IBackgroundCopyJobHttpOptions3 Use this interface to set HTTP customer headers to write-only,


or to set a server certificate validation callback method that
you've implemented.

IBackgroundCopyManager Creates transfer jobs, retrieves an enumerator object that


contains the jobs in the queue, and retrieves individual jobs
from the queue.

IBackgroundCopyQMgr Use the IBackgroundCopyQMgr interface to create a new


group, retrieve an existing group, or enumerate all groups in
the queue. A group contains a download job.

IBackgroundCopyServerCertificateValidationCallback Server certificates are sent when an HTTPS connection is


opened. Use this method to implement a callback to be called
to validate those server certificates.

IBITSExtensionSetup Use the IBITSExtensionSetup interface to enable or disable


BITS uploads to a virtual directory.

IBITSExtensionSetupFactory Use the IBITSExtensionSetupFactory interface to get a pointer


to the IBITSExtensionSetup interface.

IBitsPeer Use IBitsPeer to get information about a peer in the


neighborhood.

IBitsPeerCacheAdministration Use IBitsPeerCacheAdministration to manage the pool of


peers from which you can download content.

IBitsPeerCacheRecord Use IBitsPeerCacheRecord to get information about a file in


the cache.

IBitsTokenOptions Use IBitsTokenOptions to associate and manage a pair of


security tokens for a Background Intelligent Transfer Service
(BITS) transfer job.

IEnumBackgroundCopyFiles Use the IEnumBackgroundCopyFiles interface to enumerate


the files that a job contains. To get an
IEnumBackgroundCopyFiles interface pointer, call the
IBackgroundCopyJob::EnumFiles method.

IEnumBackgroundCopyGroups Use the IEnumBackgroundCopyGroups interface to


enumerate the list of groups in the download queue. To get
an IEnumBackgroundCopyGroups interface pointer, call the
IBackgroundCopyQMgr::EnumGroups method.
T IT L E DESC RIP T IO N

IEnumBackgroundCopyJobs Use the IEnumBackgroundCopyJobs interface to enumerate


the list of jobs in the transfer queue. To get an
IEnumBackgroundCopyJobs interface pointer, call the
IBackgroundCopyManager::EnumJobs method.

IEnumBackgroundCopyJobs1 Use the IEnumBackgroundCopyJobs1 interface to enumerate


the list of jobs in a group. To get an
IEnumBackgroundCopyJobs1 interface pointer, call the
IBackgroundCopyGroup::EnumJobs method.

IEnumBitsPeerCacheRecords Use IEnumBitsPeerCacheRecords to enumerate the records of


the cache.

IEnumBitsPeers Use IEnumBitsPeers to enumerate the list of peers that BITS


has discovered.

Structures
T IT L E DESC RIP T IO N

BG_AUTH_CREDENTIALS Identifies the target (proxy or server), authentication scheme,


and the user's credentials to use for user authentication
requests. The structure is passed to the
IBackgroundCopyJob2::SetCredentials method.

BG_AUTH_CREDENTIALS_UNION Identifies the credentials to use for the authentication scheme


specified in the BG_AUTH_CREDENTIALS structure.

BG_BASIC_CREDENTIALS The BG_BASIC_CREDENTIALS structure identifies the user


name and password to authenticate.

BG_FILE_INFO Provides the local and remote names of the file to transfer.

BG_FILE_PROGRESS Provides file-related progress information, such as the


number of bytes transferred.

BG_FILE_RANGE Identifies a range of bytes to download from a file.

BG_JOB_PROGRESS Provides job-related progress information, such as the


number of bytes and files transferred.

BG_JOB_REPLY_PROGRESS Provides progress information related to the reply portion of


an upload-reply job.

BG_JOB_TIMES Provides job-related time stamps.

BITS_FILE_PROPERTY_VALUE Provides the property value of a BITS file.

BITS_JOB_PROPERTY_VALUE Provides the property value of the BITS job based on the
value of the BITS_JOB_PROPERTY_ID enumeration.

FILESETINFO The FILESETINFO structure identifies the remote and local


names of the file to download.
Backup
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Backup technology.


To develop Backup, you need these headers:
winbase.h
winnt.h
For programming guidance for this technology, see:
Backup

Functions
T IT L E DESC RIP T IO N

BackupRead Back up a file or directory, including the security information.

BackupSeek Seeks forward in a data stream initially accessed by using the


BackupRead or BackupWrite function.

BackupWrite Restore a file or directory that was backed up using


BackupRead.

CreateTapePartition Reformats a tape.

EraseTape Erases all or part of a tape.

GetTapeParameters Retrieves information that describes the tape or the tape drive.

GetTapePosition Retrieves the current address of the tape, in logical or absolute


blocks.

GetTapeStatus Determines whether the tape device is ready to process tape


commands.

PrepareTape Prepares the tape to be accessed or removed.

SetTapeParameters Specifies the block size of a tape or configures the tape device.

SetTapePosition Sets the tape position on the specified device.

WriteTapemark Writes a specified number of filemarks, setmarks, short


filemarks, or long filemarks to a tape device.

Structures
T IT L E DESC RIP T IO N

TAPE_ERASE Describes the partition to be erased.

TAPE_GET_DRIVE_PARAMETERS Describes the tape drive. It is used by the GetTapeParameters


function.

TAPE_GET_MEDIA_PARAMETERS Describes the tape in the tape drive. It is used by the


GetTapeParametersfunction.

TAPE_GET_POSITION Describes the position of the tape.

TAPE_PREPARE Describes how to prepare the tape.

TAPE_SET_DRIVE_PARAMETERS Describes the tape drive. It is used by the


SetTapeParametersfunction.

TAPE_SET_MEDIA_PARAMETERS Describes the tape in the tape drive. It is used by the


SetTapeParametersfunction.

TAPE_SET_POSITION Describes how and where to position the tape.

TAPE_WRITE_MARKS Describes the type and number of tapemarks to write.

WIN32_STREAM_ID Contains stream data.


Battery Devices Reference
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Battery Devices Reference technology.


To develop Battery Devices Reference, you need these headers:
batclass.h
For programming guidance for this technology, see:
Battery Devices Reference

Functions
T IT L E DESC RIP T IO N

BatteryClassInitializeDevice The BatteryClassInitializeDevice routine initializes a new


battery device for the class driver.

BatteryClassIoctl BatteryClassIoctl handles system-defined battery IOCTLs.

BatteryClassQueryWmiDataBlock The BatteryClassQueryWmiDataBlock routine is used by


battery miniclass drivers inside their DpWmiQueryDataBlock
routines to allow the battery class driver to process the WMI
data block query requests it handles on behalf of the driver.

BatteryClassStatusNotify BatteryClassStatusNotify notifies the battery class driver of


changes in battery status.

BatteryClassSystemControl The BatteryClassSystemControl routine processes WMI IRPs


on behalf of a battery miniclass driver.

BatteryClassUnload BatteryClassUnload frees resources for a battery device that is


no longer in use.

BCLASS_DISABLE_STATUS_NOTIFY_CALLBACK BatteryMiniDisableStatusNotify disables status notification for


a battery device.

BCLASS_QUERY_INFORMATION_CALLBACK BatteryMiniQueryInformation returns information about the


given battery device.

BCLASS_QUERY_STATUS_CALLBACK BatteryMiniQueryStatus returns status information about the


given battery device.

BCLASS_QUERY_TAG_CALLBACK BatteryMiniQueryTag returns the current battery tag.

BCLASS_SET_INFORMATION_CALLBACK BatteryMiniSetInformation requests that a battery enter the


charging or discharging state, or sets a critical bias value for
the battery.
T IT L E DESC RIP T IO N

BCLASS_SET_STATUS_NOTIFY_CALLBACK BatteryMiniSetStatusNotify sets the battery capacity and


power state levels at which the class driver requires
notification.

Structures
T IT L E DESC RIP T IO N

BATTERY_MINIPORT_INFO Battery miniclass drivers fill in this structure before calling the
battery class driver's BatteryClassInitializeDevice routine.

BATTERY_MINIPORT_INFO_V1_1 Battery miniclass drivers fill in the


BATTERY_MINIPORT_INFO_V1_1 structure before calling the
battery class driver's BatteryClassInitializeDevice routine.
BATTERY_MINIPORT_INFO_V1_1 is an updated version of the
previous structure BATTERY_MINIPORT_INFO.

BATTERY_NOTIFY A battery miniclass driver receives a BATTERY_NOTIFY


structure when its BatteryMiniSetStatusNotify routine is called.

BATTERY_TAG_CHANGE This structure is reserved for system use.

BATTERY_WMI_CYCLE_COUNT Defines information about number of charge cycles of a


battery for use with the BatteryClassQueryWmiDataBlock
function.

BATTERY_WMI_FULL_CHARGED_CAPACITY Defines information about the capacity of a battery for use


with the BatteryClassQueryWmiDataBlock).

BATTERY_WMI_RUNTIME Defines information about the estimated runtime of a battery


for use with the BatteryClassQueryWmiDataBlock function.

BATTERY_WMI_STATIC_DATA Defines static data about a battery.

BATTERY_WMI_STATUS Defines battery status information.

BATTERY_WMI_STATUS_CHANGE This structure is reserved for system use.

BATTERY_WMI_TEMPERATURE Defines information about temperature of the battery for use


with the BatteryClassQueryWmiDataBlock function.
Bluetooth Devices Reference
3/13/2020 • 2 minutes to read • Edit Online

Overview of the Bluetooth Devices Reference technology.


To develop Bluetooth Devices Reference, you need these headers:
bluetoothleapis.h
bthledef.h
For programming guidance for this technology, see:
Bluetooth Devices Reference

Enumerations
T IT L E DESC RIP T IO N

BTH_LE_GATT_DESCRIPTOR_TYPE The BTH_LE_GATT_DESCRIPTOR_TYPE enumeration describes


the different types of Bluetooth LE generic attributes (GATT).

BTH_LE_GATT_EVENT_TYPE The BTH_LE_GATT_EVENT_TYPE enumeration describes the


different types of Bluetooth Low Energy (LE) generic attribute
(GATT) profile events.

Functions
T IT L E DESC RIP T IO N

BluetoothGATTAbortReliableWrite Specifies the end of reliable write procedures, and the writes
should be aborted.

BluetoothGATTBeginReliableWrite The BluetoothGATTBeginReliableWrite function specifies that


reliable writes are about to begin.

BluetoothGATTEndReliableWrite Specifies the end of reliable writes, and the writes should be
committed.

BluetoothGATTGetCharacteristics Gets all the characteristics available for the specified service.

BluetoothGATTGetCharacteristicValue Gets the value of the specified characteristic.

BluetoothGATTGetDescriptors Gets all the descriptors available for the specified


characteristic.

BluetoothGATTGetDescriptorValue Gets the value of the specified descriptor.

BluetoothGATTGetIncludedServices Gets all the included services available for a given service.

BluetoothGATTGetServices The BluetoothGATTGetServices function gets all the primary


services available for a server.
T IT L E DESC RIP T IO N

BluetoothGATTRegisterEvent Registers a routine to be called back during a characteristic


value change event on the given characteristic identified by its
characteristic handle.

BluetoothGATTSetCharacteristicValue Writes the specified characteristic value to the Bluetooth


device.

BluetoothGATTSetDescriptorValue Writes the specified descriptor value to the Bluetooth device.

BluetoothGATTUnregisterEvent Unregisters the given characteristic value change event.

BluetoothSetLocalServiceInfo Sets local service information for a specific Bluetooth radio.

PFNBLUETOOTH_GATT_EVENT_CALLBACK Profile drivers implement a Bluetooth GATT event callback to


be called whenever the value of a specific characteristic
changes.

Structures
T IT L E DESC RIP T IO N

BLUETOOTH_GATT_VALUE_CHANGED_EVENT The BLUETOOTH_GATT_VALUE_CHANGED_EVENT structure


describes a changed attribute value.

BLUETOOTH_GATT_VALUE_CHANGED_EVENT_REGISTRATION The
BLUETOOTH_GATT_VALUE_CHANGED_EVENT_REGISTRATION
structure describes one or more characteristics that have
changed.

BTH_LE_GATT_CHARACTERISTIC The BTH_LE_GATT_CHARACTERISTIC structure describes a


Bluetooth Low Energy (LE) generic attribute (GATT) profile
characteristic.

BTH_LE_GATT_CHARACTERISTIC_VALUE The BTH_LE_GATT_CHARACTERISTIC_VALUE structure


describes a Bluetooth Low Energy (LE) generic attribute (GATT)
profile characteristic value.

BTH_LE_GATT_DESCRIPTOR The BTH_LE_GATT_DESCRIPTOR structure describes a


Bluetooth Low Energy (LE) generic attribute (GATT) profile
descriptor.

BTH_LE_GATT_DESCRIPTOR_VALUE The BTH_LE_GATT_DESCRIPTOR_VALUE structure describes a


parent characteristic.

BTH_LE_GATT_SERVICE The BTH_LE_GATT_SERVICE structure describes a Bluetooth


Low Energy (LE) generic attribute (GATT) profile service.

BTH_LE_UUID The BTH_LE_UUID structure contains information about a


Bluetooth Low Energy (LE) Universally Unique Identifier
(UUID).
Bluetooth
2/7/2020 • 4 minutes to read • Edit Online

Overview of the Bluetooth technology.


To develop Bluetooth, you need these headers:
bluetoothapis.h
bthdef.h
bthsdpdef.h
ws2bth.h
For programming guidance for this technology, see:
Bluetooth

Enumerations
T IT L E DESC RIP T IO N

BLUETOOTH_AUTHENTICATION_METHOD BLUETOOTH_AUTHENTICATION_METHOD enumeration


defines the supported authentication types during device
pairing.

BLUETOOTH_AUTHENTICATION_REQUIREMENTS BLUETOOTH_AUTHENTICATION_REQUIREMENTS
enumeration specifies the 'Man in the Middle' protection
required for authentication.

BLUETOOTH_IO_CAPABILITY BLUETOOTH_IO_CAPABILITY enumeration defines the


input/output capabilities of a Bluetooth Device.

Functions
T IT L E DESC RIP T IO N

BluetoothAuthenticateDevice Sends an authentication request to a remote Bluetooth


device.

BluetoothAuthenticateDeviceEx The BluetoothAuthenticateDeviceEx function sends an


authentication request to a remote Bluetooth device.

BluetoothAuthenticateMultipleDevices Enables the caller to prompt for multiple devices to be


authenticated during a single instance of the Bluetooth
Connection wizard.

BluetoothDisplayDeviceProperties Starts Control Panel device information property sheet.

BluetoothEnableDiscovery The BluetoothEnableDiscovery function changes the discovery


state of a local Bluetooth radio or radios.
T IT L E DESC RIP T IO N

BluetoothEnableIncomingConnections The BluetoothEnableIncomingConnections function modifies


whether a local Bluetooth radio accepts incoming connections.

BluetoothEnumerateInstalledServices The BluetoothEnumerateInstalledServices function


enumerates the services GUIDs (Globally Unique Identifiers)
enabled on a Bluetooth device.

BluetoothFindDeviceClose The BluetoothFindDeviceClose function closes an enumeration


handle associated with a device query.

BluetoothFindFirstDevice The BluetoothFindFirstDevice function begins the


enumeration Bluetooth devices.

BluetoothFindFirstRadio The BluetoothFindFirstRadio function begins the enumeration


of local Bluetooth radios.

BluetoothFindNextDevice The BluetoothFindNextDevice function finds the next


Bluetooth device.

BluetoothFindNextRadio The BluetoothFindNextRadio function finds the next Bluetooth


radio.

BluetoothFindRadioClose The BluetoothFindRadioClose function closes the enumeration


handle associated with finding Bluetooth radios.

BluetoothGetDeviceInfo Retrieves information about a remote Bluetooth device.

BluetoothGetRadioInfo Obtains information about a Bluetooth radio.

BluetoothIsConnectable The BluetoothIsConnectable function determines whether a


Bluetooth radio or radios is connectable.

BluetoothIsDiscoverable The BluetoothIsDiscoverable function determines whether a


Bluetooth radio or radios is discoverable.

BluetoothIsVersionAvailable BluetoothIsVersionAvailable function indicates if the installed


Bluetooth binary set supports the requested version.

BluetoothRegisterForAuthentication The BluetoothRegisterForAuthentication function registers a


callback function that is called when a particular Bluetooth
device requests authentication.

BluetoothRegisterForAuthenticationEx The BluetoothRegisterForAuthenticationEx function registers


an application for a pin request, numeric comparison and
callback function.

BluetoothRemoveDevice Removes authentication between a Bluetooth device and the


computer and clears cached service information for the device.

BluetoothSdpEnumAttributes The BluetoothSdpEnumAttributes function enumerates


through the SDP record stream, and calls the callback function
for each attribute in the record.
T IT L E DESC RIP T IO N

BluetoothSdpGetAttributeValue The BluetoothSdpGetAttributeValue function retrieves the


attribute value for an attribute identifier.

BluetoothSdpGetContainerElementData Iterates a container stream and returns each element


contained within the container element.

BluetoothSdpGetElementData Retrieves and parses a single element from an SDP stream.

BluetoothSdpGetString Converts a raw string embedded in the SDP record into a


Unicode string.

BluetoothSelectDevices Enables Bluetooth device selection.

BluetoothSelectDevicesFree Frees resources associated with a previous call to


BluetoothSelectDevices.

BluetoothSendAuthenticationResponse The BluetoothSendAuthenticationResponse function is called


when an authentication request to send the passkey response
is received.

BluetoothSendAuthenticationResponseEx The BluetoothSendAuthenticationResponseEx function is called


when an authentication request to send the passkey or a
Numeric Comparison response is made.

BluetoothSetServiceState Enables or disables services for a Bluetooth device.

BluetoothUnregisterAuthentication The BluetoothUnregisterAuthentication function removes


registration for a callback routine that was previously
registered with a call to the
BluetoothRegisterForAuthentication function.

BluetoothUpdateDeviceRecord Updates the local computer cache about a Bluetooth device.

PFN_AUTHENTICATION_CALLBACK Used in conjunction with the


BluetoothRegisterForAuthentication function.

PFN_AUTHENTICATION_CALLBACK_EX PFN_AUTHENTICATION_CALLBACK_EX function is a callback


function prototype used in conjunction with the
BluetoothRegisterForAuthenticationEx function.

PFN_BLUETOOTH_ENUM_ATTRIBUTES_CALLBACK A callback function prototype that is called once for each


attribute found in the pSDPStream parameter passed to the
BluetoothSdpEnumAttributes function call.

PFN_DEVICE_CALLBACK A callback prototype used in association with selecting


Bluetooth devices.

Structures
T IT L E DESC RIP T IO N

BLUETOOTH_ADDRESS_STRUCT The BLUETOOTH_ADDRESS structure provides the address of


a Bluetooth device.
T IT L E DESC RIP T IO N

BLUETOOTH_AUTHENTICATE_RESPONSE BLUETOOTH_AUTHENTICATE_RESPONSE structure contains


information passed in response to a
BTH_REMOTE_AUTHENTICATE_REQUEST event.

BLUETOOTH_AUTHENTICATION_CALLBACK_PARAMS BLUETOOTH_AUTHENTICATION_CALLBACK_PARAMS
structure contains specific configuration information about the
Bluetooth device responding to an authentication request.

BLUETOOTH_COD_PAIRS The BLUETOOTH_COD_PAIRS structure provides for


specification and retrieval of Bluetooth Class Of Device (COD)
information.

BLUETOOTH_DEVICE_INFO_STRUCT The BLUETOOTH_DEVICE_INFO structure provides


information about a Bluetooth device.

BLUETOOTH_DEVICE_SEARCH_PARAMS Specifies search criteria for Bluetooth device searches.

BLUETOOTH_FIND_RADIO_PARAMS The BLUETOOTH_FIND_RADIO_PARAMS structure facilitates


enumerating installed Bluetooth radios.

BLUETOOTH_LOCAL_SERVICE_INFO_STRUCT Contains local service information for a Bluetooth device.

BLUETOOTH_NUMERIC_COMPARISON_INFO BLUETOOTH_NUMERIC_COMPARISON_INFO structure


contains the numeric value used for authentication via
numeric comparison.

BLUETOOTH_OOB_DATA_INFO BLUETOOTH_OOB_DATA_INFO structure contains data used


to authenticate prior to establishing an Out-of-Band device
pairing.

BLUETOOTH_PASSKEY_INFO BLUETOOTH_PASSKEY_INFO structure contains a passkey


value used for authentication. A passkey is similar to a
password, except that a passkey value is used for
authentication only once.

BLUETOOTH_PIN_INFO BLUETOOTH_PIN_INFO structure contains information used


for authentication via PIN.

BLUETOOTH_RADIO_INFO Contains information about a Bluetooth radio.

BLUETOOTH_SELECT_DEVICE_PARAMS Facilitates and manages the visibility, authentication, and


selection of Bluetooth devices and services.

BTH_DEVICE_INFO Stores information about a Bluetooth device.

BTH_HCI_EVENT_INFO Used in connection with obtaining WM_DEVICECHANGE


messages for Bluetooth.

BTH_L2CAP_EVENT_INFO Contains data about events associated with an L2CAP


channel.

BTH_QUERY_DEVICE The BTH_QUERY_DEVICE structure is used when querying for


the presence of a Bluetooth device.
T IT L E DESC RIP T IO N

BTH_QUERY_SERVICE The BTH_QUERY_SERVICE structure is used to query a


Bluetooth service.

BTH_RADIO_IN_RANGE Stores data about Bluetooth devices within communication


range.

BTH_SET_SERVICE Provides service information for the specified Bluetooth


service.

SDP_ELEMENT_DATA The SDP_ELEMENT_DATA structure stores SDP element data.

SDP_STRING_TYPE_DATA The SDP_STRING_TYPE_DATA structure stores information


about SDP string types.

SdpAttributeRange The SdpAttributeRange structure is used in a Bluetooth query


to constrain the set of attributes to return in the query.

SdpQueryUuid The SdpQueryUuid structure facilitates searching for UUIDs.

SdpQueryUuidUnion The SdpQueryUuidUnion union contains the UUID on which


to perform an SDP query. Used in conjunction with the
SdpQueryUuid structure.

SOCKADDR_BTH The SOCKADDR_BTH structure is used in conjunction with


Bluetooth socket operations, defined by address family
AF_BTH.
CIMWin32 WMI Providers
2/7/2020 • 2 minutes to read • Edit Online

Overview of the CIMWin32 WMI Providers technology.


To develop CIMWin32 WMI Providers, you need these headers:
sdoias.h
For programming guidance for this technology, see:
CIMWin32 WMI Providers
Cloud Filter API
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Cloud Filter API technology.


To develop Cloud Filter API, you need these headers:
cfapi.h
For programming guidance for this technology, see:
Cloud Filter API
COM+ (Component Services)
2/7/2020 • 2 minutes to read • Edit Online

Overview of the COM+ (Component Services) technology.


To develop COM+ (Component Services), you need these headers:
comadmin.h
mtxdm.h
For programming guidance for this technology, see:
COM+ (Component Services)
Component Object Model (COM)
2/7/2020 • 98 minutes to read • Edit Online

Overview of the Component Object Model (COM) technology.


To develop Component Object Model (COM), you need these headers:
accctrl.h
callobj.h
combaseapi.h
comcat.h
ctxtcall.h
dmerror.h
docobj.h
eventsys.h
guiddef.h
iaccess.h
imessagedispatcher.h
messagedispatcherapi.h
objbase.h
objidl.h
objidlbase.h
ocidl.h
ole.h
ole2.h
oledlg.h
oleidl.h
roapi.h
rpcdce.h
shobjidl.h
txlogpub.h
unknwn.h
unknwnbase.h
urlmon.h
vbinterf.h
winddi.h
winerror.h
wtypesbase.h
For programming guidance for this technology, see:
Component Object Model (COM)

Enumerations
T IT L E DESC RIP T IO N

ACTIVATEFLAGS Indicates whether an object is activated as a windowless


object. It is used in IOleInPlaceSiteEx::OnInPlaceActivateEx.

ADVF Flags that control caching and notification of changes in


data.

APTTYPE Specifies different types of apartments.

APTTYPE Specifies different types of apartments.

APTTYPEQUALIFIER Specifies the set of possible COM apartment type qualifiers.

APTTYPEQUALIFIER Specifies the set of possible COM apartment type qualifiers.

BIND_FLAGS Controls aspects of moniker binding operations.

BINDSPEED Indicates approximately how long the caller will wait to bind
to an object.

CALLFRAME_COPY Determines whether the copied call frame data can be


shared with data in the parent frame by determining its
lifetime dependency on the parent frame.

CALLFRAME_FREE Determines the parameter type to be freed.

CALLFRAME_NULL Determines the parameter type to be freed.

CALLFRAME_WALK Determines the parameter type to be walked.

CALLTYPE Specifies the call types used by


IMessageFilter::HandleInComingCall.

CLSCTX Values that are used in activation calls to indicate the


execution contexts in which an object is to be run.

CO_MARSHALING_CONTEXT_ATTRIBUTES Identifies one of the marshaling context attributes that you


can query by using the GetMarshalingContextAttribute
method.

CO_MARSHALING_CONTEXT_ATTRIBUTES Identifies one of the marshaling context attributes that you


can query by using the GetMarshalingContextAttribute
method.

COINIT Determines the concurrency model used for incoming calls


to objects created by this thread. This concurrency model
can be either apartment-threaded or multithreaded.

COMSD Determines the type of COM security descriptor to get


when calling CoGetSystemSecurityPermissions.

COWAIT_FLAGS Specifies the behavior of the CoWaitForMultipleHandles


function.
T IT L E DESC RIP T IO N

CWMO_FLAGS Provides flags for the CoWaitForMultipleObjects function.

DATADIR Specifies the direction of the data flow. This determines the
formats that the resulting enumerator can enumerate.

DISCARDCACHE Specifies what to do with caches that are to be discarded


from memory if their dirty bit has been set.

DOCMISC Provides miscellaneous property information about a


document object.

DVASPECT Specifies the desired data or view aspect of the object when
drawing or getting data.

DVASPECT2 Specifies new drawing aspects used to optimize the drawing


process.

DVASPECTINFOFLAG Indicates whether an object can support optimized drawing


of itself.

DVEXTENTMODE Indicates whether the sizing mode is content or integral


sizing.

EOC_ChangeType Indicates the nature of the change to an event object.

EOLE_AUTHENTICATION_CAPABILITIES Specifies various capabilities in CoInitializeSecurity and


IClientSecurity::SetBlanket (or its helper function
CoSetProxyBlanket).

EOLE_AUTHENTICATION_CAPABILITIES Specifies various capabilities in CoInitializeSecurity and


IClientSecurity::SetBlanket (or its helper function
CoSetProxyBlanket).

EXTCONN Specifies the type of external connection existing on an


embedded object.

EXTCONN Specifies the type of external connection existing on an


embedded object.

GLOBALOPT_PROPERTIES Identifies process-global options that you can set or query


by using the IGlobalOptions interface.

GLOBALOPT_PROPERTIES Identifies process-global options that you can set or query


by using the IGlobalOptions interface.

GLOBALOPT_UNMARSHALING_POLICY_VALUES Provides values for the COM unmarshaling policy global


option.

GLOBALOPT_UNMARSHALING_POLICY_VALUES Provides values for the COM unmarshaling policy global


option.

GUIDKIND Flags used to specify the kind of information requested from


an object in the IProvideClassInfo2.
T IT L E DESC RIP T IO N

HITRESULT Indicates whether a location is within the image of an object.

MKRREDUCE Specifies how far a moniker should be reduced.

MKSYS Indicates the moniker's class.

MSHCTX Specifies the destination context, which is the process in


which the unmarshaling is to be done.

MSHLFLAGS Specifies why the marshaling is to be done.

OLECLOSE Indicates whether an object should be saved before closing.

OLECMDEXECOPT Specifies command execution options.

OLECMDF Specifies the type of support provided by an object for the


command specified in an OLECMD structure.

OLECMDID Specifies which standard command is to be executed. A


single value from this enumeration is passed in the nCmdID
argument of IOleCommandTarget::Exec.

OLECMDID_WINDOWSTATE_FLAG Specifies the window state.

OLECMDTEXTF Specifies the type of information that an object should store


in the OLECMDTEXT structure passed in
IOleCommandTarget::QueryStatus.

OLECONTF Indicates the type of objects to be enumerated.

OLEDCFLAGS Specifies additional information to the container about the


device context that the object has requested.

OLEGETMONIKER Controls aspects of the behavior of the


IOleObject::GetMoniker and IOleClientSite::GetMoniker
methods.

OLELINKBIND Controls binding operations to a link source.

OLEMISC Describes miscellaneous characteristics of an object or class


of objects.

OLERENDER Indicates the type of caching requested for newly created


objects.

OLEUIPASTEFLAG Indicates the user options that are available to the user
when pasting this format, and within which group or list of
choices (Paste, Paste Link, etc.).
T IT L E DESC RIP T IO N

OLEUPDATE Indicates whether the linked object updates the cached data
for the linked object automatically or only when the
container calls either the IOleObject::Update or
IOleLink::Update methods. The constants are used in the
IOleLink interface.

OLEVERBATTRIB Describes the attributes of a specified verb for an object.

OLEWHICHMK Indicates which part of an object's moniker is being set or


retrieved.

PENDINGMSG Specifies the return values for the


IMessageFilter::MessagePending method.

PENDINGTYPE Indicates the level of nesting in the


IMessageFilter::MessagePending method.

PICTUREATTRIBUTES Specifies attributes of a picture object as returned through


the IPicture::get_Attributes method.

POINTERINACTIVE Indicate the activation policy of the object and are used in
the IPointerInactive::GetActivationPolicy method.

QACONTAINERFLAGS Indicates ambient properties supplied by the container. It is


used in the dwAmbientFlags member of the QACONTAINER
structure.

RECORD_READING_POLICY Specifies a hint about the order in which records are to be


read from a log.

REGCLS Controls the type of connections to a class object.

SERVERCALL Indicates the status of server call.

THDTYPE Indicates whether a particular thread supports a message


loop.

THDTYPE Indicates whether a particular thread supports a message


loop.

TYMED Indicates the type of storage medium being used in a data


transfer. They are used in the STGMEDIUM or FORMATETC
structures.

TYSPEC Specifies a mapping for a class ID.

UASFLAGS Provides information about the parent undo unit.

USERCLASSTYPE Indicates the different variants of the display name


associated with a class of objects.

VIEWSTATUS Specifies the opacity of the object and the drawing aspects
supported by the object.
Functions
T IT L E DESC RIP T IO N

Activate Creates the dialog box window for the property page.

ActivateMe Asks a document site to activate the document making the


call as a document object rather than an in-place-active
object and, optionally, specifies which view of the object
document to activate.

Add Adds a simple undo unit to the collection.

Add Adds a simple undo unit to the collection. While a parent


undo unit is open, the undo manager adds undo units to it
by calling IOleParentUndoUnit::Add.

AddConnection Increments the count of an object's strong external


connections.

AddConnection Increments the count of an object's strong external


connections.

AddRef Increments the reference count for an interface pointer to a


COM object. You should call this method whenever you
make a copy of an interface pointer.

AddRefHfont Notifies the font object that the previously realized font
identified with hFont should remain valid until ReleaseHfont
is called or the font object itself is released completely.

AddRefOnProcess Increments the reference count of the process.

AddSynchronize Adds a synchronization object to the container.

AddSynchronize Adds a synchronization object to the container.

AdjustRect Adjusts a specified rectangle if it is entirely or partially


covered by overlapping, opaque objects.

Advise Establishes a connection between a connection point object


and the client's sink.

Advise Establishes an advisory connection between an OLE object


and the calling object's advise sink. Through that sink, the
calling object can receive notification when the OLE object is
renamed, saved, or closed.

Advise Establishes an advisory connection between a compound


document object and the calling object's advise sink,
through which the calling object receives notification when
the compound document object is renamed, saved, or
closed.

Advise Creates a connection between an advise sink and a data


object for receiving notifications.
T IT L E DESC RIP T IO N

Alloc Allocates a block of memory.

AllowForegroundTransfer Yields the foreground window to the COM server process.

AppendRecord Write a new record to the end of the log.

ApplicationFree Releases the application.

ApplicationLaunch Launches the application.

Apply Applies the current values to the underlying objects


associated with the property page as previously passed to
IPropertyPage::SetObjects.

ApplyViewState Initializes a view with view state previously saved in call to


IOleDocumentView::SaveViewState.

BindIfRunning Activates the connection between the linked object and the
link source if the link source is already running.

BindMoniker Locates an object by means of its moniker, activates the


object if it is inactive, and retrieves a pointer to the specified
interface on that object.

BindToObject Binds to the specified object. The binding process involves


finding the object, putting it into the running state if
necessary, and providing the caller with a pointer to a
specified interface on the identified object.

BindToSource Activates the connection to the link source by binding the


moniker stored within the linked object.

BindToStorage Binds to the storage for the specified object. Unlike the
IMoniker::BindToObject method, this method does not
activate the object identified by the moniker.

Cache Specifies the format and other data to be cached inside an


embedded object.

CallIndirect Invokes one of the methods in the interface with an indirect


reference to the arguments of the invocation.

Cancel Requests that a method call be canceled.

Cancel Requests that a method call be canceled.

CancelLink Disconnects the selected links.

CancelLink Disconnects the selected links.

CanInPlaceActivate Determines whether the container can activate the object in


place.
T IT L E DESC RIP T IO N

CanWindowlessActivate Informs an object if its container can support it as a


windowless object that can be in-place activated.

CatalogRefresh Refreshes the catalog.

Clone Creates a new enumerator that contains the same


enumeration state as the current one.

Clone Creates a new enumerator that contains the same


enumeration state as the current one.

Clone Creates a new enumerator that contains the same


enumeration state as the current one.

Clone Creates a duplicate font object.

Clone Creates a new enumerator that contains the same


enumeration state as the current one.

Clone Creates a duplicate view object with an internal state


identical to that of the current view.

Clone Creates a new enumerator that contains the same


enumeration state as the current one.

Clone Creates a new enumerator that contains the same


enumeration state as the current one.

Clone Creates a new enumerator that contains the same


enumeration state as the current one.

Clone Creates a new enumerator that contains the same


enumeration state as the current one.

Clone Creates a new enumerator that contains the same


enumeration state as the current one.

Clone Creates a new enumerator that contains the same


enumeration state as the current one.

Clone Creates a new enumerator that contains the same


enumeration state as the current one.

Clone Creates a new enumerator that contains the same


enumeration state as the current one.

Clone Creates a new enumerator that contains the same


enumeration state as the current one.

Clone Creates a new enumerator that contains the same


enumeration state as the current one.
T IT L E DESC RIP T IO N

Clone Creates a new enumerator that contains the same


enumeration state as the current one.

Clone Creates a new enumerator that contains the same


enumeration state as the current one.

Close Closes the specified parent undo unit.

Close Closes the specified parent undo unit.

Close Changes an embedded object from the running to the


loaded state. Disconnects a linked object from its link source.

CloseView Instructs a document view to close itself and release its


IOleInPlaceSite pointer.

CLSIDFromProgID Looks up a CLSID in the registry, given a ProgID.

CLSIDFromProgIDEx Triggers automatic installation if the COMClassStore policy is


enabled.

CLSIDFromProgIDEx Triggers automatic installation if the COMClassStore policy is


enabled.

CLSIDFromString Converts a string generated by the StringFromCLSID


function back into the original CLSID.

CoAddRefServerProcess Increments a global per-process reference count.

CoAllowSetForegroundWindow This function passes the foreground privilege (the privilege


to set the foreground window) from one process to another.
The process that has the foreground privilege can call this
function to pass that privilege on to a local COM server
process.

CoAllowUnmarshalerCLSID Adds an unmarshaler CLSID to the allowed list for the calling
process only.

CoCancelCall Requests cancellation of an outbound DCOM method call


pending on a specified thread.

CoCopyProxy Makes a private copy of the specified proxy.

CoCreateFreeThreadedMarshaler Creates an aggregatable object capable of context-


dependent marshaling.

CoCreateGuid Creates a GUID, a unique 128-bit integer used for CLSIDs


and interface identifiers.

CoCreateInstance Creates a single uninitialized object of the class associated


with a specified CLSID.

CoCreateInstanceEx Creates an instance of a specific class on a specific computer.


T IT L E DESC RIP T IO N

CoCreateInstanceFromApp Creates an instance of a specific class on a specific computer


from within an app container.

CoDecrementMTAUsage Releases the increment made by a previous call to the


CoIncrementMTAUsage function.

CoDisableCallCancellation Undoes the action of a call to CoEnableCallCancellation.


Disables cancellation of synchronous calls on the calling
thread when all calls to CoEnableCallCancellation are
balanced by calls to CoDisableCallCancellation.

CoDisconnectContext Disconnects all proxy connections that are being maintained


on behalf of all interface pointers that point to objects in the
current context.

CoDisconnectObject Disconnects all remote process connections being


maintained on behalf of all the interface pointers that point
to a specified object.

CoDosDateTimeToFileTime Converts the MS-DOS representation of the time and date


to a FILETIME structure used by Windows.

CoEnableCallCancellation Enables cancellation of synchronous calls on the calling


thread.

CoFileTimeNow Returns the current time as a FILETIME structure.

CoFileTimeNow Returns the current time as a FILETIME structure.

CoFileTimeToDosDateTime Converts a FILETIME into MS-DOS date and time values.

CoFreeAllLibraries Frees all the DLLs that have been loaded with the
CoLoadLibrary function (called internally by
CoGetClassObject), regardless of whether they are currently
in use.

CoFreeLibrary Frees a library that, when loaded, was specified to be freed


explicitly.

CoFreeUnusedLibraries Unloads any DLLs that are no longer in use, probably


because the DLL no longer has any instantiated COM
objects outstanding.

CoFreeUnusedLibrariesEx Unloads any DLLs that are no longer in use and whose
unload delay has expired.

CoGetApartmentType Returns the current apartment type and type qualifier.

CoGetCallContext Retrieves the context of the current call on the current


thread.

CoGetCallerTID Returns a pointer to a DWORD that contains the apartment


ID of the caller's thread.
T IT L E DESC RIP T IO N

CoGetCancelObject Obtains a pointer to a call control interface, normally


ICancelMethodCalls, on the cancel object corresponding to
an outbound COM method call pending on the same or
another client thread.

CoGetClassObject Provides a pointer to an interface on a class object


associated with a specified CLSID.

CoGetContextToken Returns a pointer to an implementation of IObjContext for


the current context.

CoGetCurrentLogicalThreadId Returns the logical thread identifier of the current physical


thread.

CoGetCurrentProcess Returns a value that is unique to the current thread.


CoGetCurrentProcess can be used to avoid thread ID reuse
problems.

CoGetInstanceFromFile Creates a new object and initializes it from a file using


IPersistFile::Load.

CoGetInstanceFromIStorage Creates a new object and initializes it from a storage object


through an internal call to IPersistFile::Load.

CoGetInterceptor Instantiates the appropriate interceptor for the specified


interface to be intercepted and returns the newly created
interceptor.

CoGetInterfaceAndReleaseStream Unmarshals a buffer containing an interface pointer and


releases the stream when an interface pointer has been
marshaled from another thread to the calling thread.

CoGetMalloc Retrieves a pointer to the default OLE task memory allocator


(which supports the system implementation of the IMalloc
interface) so applications can call its methods to manage
memory.

CoGetMarshalSizeMax Returns an upper bound on the number of bytes needed to


marshal the specified interface pointer to the specified
object.

CoGetObject Converts a display name into a moniker that identifies the


object named, and then binds to the object identified by the
moniker.

CoGetObjectContext Returns the context for the current object.

CoGetPSClsid Returns the CLSID of the DLL that implements the proxy
and stub for the specified interface.

CoGetStandardMarshal Creates a default, or standard, marshaling object in either


the client process or the server process, depending on the
caller, and returns a pointer to that object's IMarshal
implementation.
T IT L E DESC RIP T IO N

CoGetStdMarshalEx Creates an aggregated standard marshaler for use with


lightweight client-side handlers.

CoGetSystemSecurityPermissions Returns the default values of the Security Descriptors of the


machine-wide launch and access permissions, as well as
launch and access limits.

CoGetTreatAsClass Returns the CLSID of an object that can emulate the


specified object.

CoHandlePriorityEventsFromMessagePump Called by message dispatchers on an ASTA thread after


dispatching a windows message to provide an opportunity
for short-running infrastructural COM calls and other high-
priority or short-running COM work to be dispatched
between messages.

CoImpersonateClient Enables the server to impersonate the client of the current


call for the duration of the call.

CoIncrementMTAUsage Keeps MTA support active when no MTA threads are


running.

CoInitialize Initializes the COM library on the current thread and


identifies the concurrency model as single-thread apartment
(STA).

CoInitializeEx Initializes the COM library for use by the calling thread, sets
the thread's concurrency model, and creates a new
apartment for the thread if one is required.

CoInitializeSecurity Registers security and sets the default security values for the
process.

CoInvalidateRemoteMachineBindings Tells the service control manager to flush any cached RPC
binding handles for the specified computer.

CoIsHandlerConnected Determines whether a remote object is connected to the


corresponding in-process object.

CoIsOle1Class Determines whether the specified CLSID represents an OLE


1 object.

CoLoadLibrary Loads a specific DLL into the caller's process.

CoLockObjectExternal Called either to lock an object to ensure that it stays in


memory, or to release such a lock.

CoMarshalHresult Marshals an HRESULT to the specified stream, from which it


can be unmarshaled using the CoUnmarshalHresult
function.

CoMarshalInterface Writes into a stream the data required to initialize a proxy


object in some client process.
T IT L E DESC RIP T IO N

CoMarshalInterThreadInterfaceInStream Marshals an interface pointer from one thread to another


thread in the same process.

CommonPrefixWith Creates a new moniker based on the prefix that this moniker
has in common with the specified moniker.

ComposeWith Creates a new composite moniker by combining the current


moniker with the specified moniker.

Connect Initializes a client proxy, binding it to the specified RPC


channel.

Connect Initializes a server stub, binding it to the specified interface.

Connect Initializes a client proxy, binding it to the specified RPC


channel.

Connect Initializes a server stub, binding it to the specified interface.

ContextCallback Enters the object context, executes the specified function,


and returns.

ContextSensitiveHelp Determines whether context-sensitive help mode should be


entered during an in-place activation session.

ConvertObject Converts the object to the type of the specified CLSID.

ConvertObject Converts the object to the type of the specified CLSID.

Copy Creates a copy of this call frame and all of its associated
data.

CopyProxy Makes a private copy of the proxy for the specified interface.

CoQueryAuthenticationServices Retrieves a list of the authentication services registered


when the process called CoInitializeSecurity.

CoQueryClientBlanket Called by the server to find out about the client that
invoked the method executing on the current thread.

CoQueryProxyBlanket Retrieves the authentication information the client uses to


make calls on the specified proxy.

CoRegisterActivationFilter Registers a process-wide filter to process activation requests.

CoRegisterChannelHook Registers a channel hook.

CoRegisterClassObject Registers an EXE class object with OLE so other applications


can connect to it.

CoRegisterInitializeSpy Registers an implementation of the IInitializeSpy interface.


The IInitializeSpy interface is defied to allow developers to
perform initialization and cleanup on COM apartments.
T IT L E DESC RIP T IO N

CoRegisterMallocSpy Registers an implementation of the IMallocSpy interface,


thereafter requiring OLE to call its wrapper methods around
every call to the corresponding IMalloc method.

CoRegisterMessageFilter Registers with OLE the instance of an IMessageFilter


interface, which is to be used for handling concurrency
issues on the current thread.

CoRegisterPSClsid Enables a downloaded DLL to register its custom interfaces


within its running process so that the marshaling code will
be able to marshal those interfaces.

CoRegisterSurrogate Registers the surrogate process through its ISurrogate


interface pointer.

CoReleaseMarshalData Destroys a previously marshaled data packet.

CoReleaseServerProcess Decrements the global per-process reference count.

CoResumeClassObjects Called by a server that can register multiple class objects to


inform the SCM about all registered classes, and permits
activation requests for those class objects.

CoRevertToSelf Restores the authentication information on a thread of


execution.

CoRevokeClassObject Informs OLE that a class object, previously registered with


the CoRegisterClassObject function, is no longer available for
use.

CoRevokeInitializeSpy Revokes a registered implementation of the IInitializeSpy


interface.

CoRevokeMallocSpy Revokes a registered IMallocSpy object.

CoSetCancelObject Sets (registers) or resets (unregisters) a cancel object for use


during subsequent cancel operations on the current thread.

CoSetMessageDispatcher Registers or unregisters the per-thread message dispatcher


that is to be invoked when there are window messages
available to dispatch within COM wait APIs on an ASTA
thread.

CoSetProxyBlanket Sets the authentication information that will be used to


make calls on the specified proxy.

CoSuspendClassObjects Prevents any new activation requests from the SCM on all
class objects registered within the process.

CoSwitchCallContext Switches the call context object used by CoGetCallContext.

CoTaskMemAlloc Allocates a block of task memory in the same way that


IMalloc::Alloc does.
T IT L E DESC RIP T IO N

CoTaskMemFree Frees a block of task memory previously allocated through a


call to the CoTaskMemAlloc or CoTaskMemRealloc function.

CoTaskMemRealloc Changes the size of a previously allocated block of task


memory.

CoTestCancel Determines whether the call being executed on the server


has been canceled by the client.

CoTreatAsClass Establishes or removes an emulation, in which objects of one


class are treated as objects of a different class.

CoUninitialize Closes the COM library on the current thread, unloads all
DLLs loaded by the thread, frees any other resources that
the thread maintains, and forces all RPC connections on the
thread to close.

CoUnmarshalHresult Unmarshals an HRESULT type from the specified stream.

CoUnmarshalInterface Initializes a newly created proxy using data written into the
stream by a previous call to the CoMarshalInterface
function, and returns an interface pointer to that proxy.

Count Retrieves the number of context properties in the context.

Count Retrieves the number of context properties in the context.

CountRefs Retrieves the total number of references that a stub has on


the server object to which it is connected.

CountRefs Retrieves the total number of references that a stub has on


the server object to which it is connected.

CoWaitForMultipleHandles Waits for specified handles to be signaled or for a specified


timeout period to elapse.

CoWaitForMultipleObjects A replacement for CoWaitForMultipleHandles. This


replacement API hides the options for
CoWaitForMultipleHandles that are not supported in ASTA.

CreateAntiMoniker Creates and returns a new anti-moniker.

CreateAsyncBindCtx Creates an asynchronous bind context for use with


asynchronous monikers.

CreateBindCtx Returns a pointer to an implementation of IBindCtx (a bind


context object). This object stores information about a
particular moniker-binding operation.

CreateCall Creates an instance of the call object that corresponds to a


specified asynchronous interface.

CreateCall Creates an instance of the call object that corresponds to a


specified asynchronous interface.
T IT L E DESC RIP T IO N

CreateClassMoniker Creates a class moniker that refers to the specified class.

CreateDataAdviseHolder Retrieves a pointer to the OLE implementation of


IDataAdviseHolder on the data advise holder object.

CreateDataAdviseHolder Retrieves a pointer to the OLE implementation of


IDataAdviseHolder on the data advise holder object.

CreateDataCache Retrieves a pointer to a new instance of an OLE-provided


implementation of a data cache.

CreateFileMoniker Creates a file moniker based on the specified path.

CreateFormatEnumerator Creates an object that implements IEnumFORMATETC over a


static array of FORMATETC structures.

CreateGenericComposite Performs a generic composition of two monikers and


supplies a pointer to the resulting composite moniker.

CreateInstance Creates an uninitialized object.

CreateInstanceLic Creates an instance of the licensed object for the specified


license key. This method is the only possible means to create
an object on an otherwise unlicensed machine.

CreateItemMoniker Creates an item moniker that identifies an object within a


containing object (typically a compound document).

CreateObjrefMoniker Creates an OBJREF moniker based on a pointer to an object.

CreateOleAdviseHolder Creates an advise holder object for managing compound


document notifications. It returns a pointer to the object's
OLE implementation of the IOleAdviseHolder interface.

CreatePointerMoniker Creates a pointer moniker based on a pointer to an object.

CreateProxy Creates a proxy for the specified remote interface.

CreateProxy Creates a proxy for the specified remote interface.

CreateStub Creates a stub for the remote use of the specified interface.

CreateStub Creates a stub for the remote use of the specified interface.

CreateView Creates a document view object in the caller's process and


obtains a pointer to that object's IOleDocumentView
interface.

DAdvise Called by an object supporting an advise sink to create a


connection between a data object and the advise sink. This
enables the advise sink to be notified of changes in the data
of the object.
T IT L E DESC RIP T IO N

Deactivate Destroys the window created in IPropertyPage::Activate.

DeactivateAndUndo Deactivates the object, ends the in-place session, and


reverts to the container's saved undo state.

DebugServerQueryInterface Retrieves a pointer to the interface that a stub represents.

DebugServerQueryInterface Retrieves a pointer to the interface that a stub represents.

DebugServerRelease Releases an interface pointer that was previously returned by


DebugServerQueryInterface.

DebugServerRelease Releases an interface pointer that was previously returned by


DebugServerQueryInterface.

DidAlloc Determines whether this allocator was used to allocate the


specified block of memory.

DidAlloc Determines whether this allocator was used to allocate the


specified block of memory.

DiscardCache Discards the caches found in memory.

DiscardFrom Instructs the undo manager to discard the specified undo


unit and all undo units below it on the undo or redo stack.

DiscardUndoState Instructs the container to discard its undo state. The


container should not call
IOleInPlaceObject::ReActivateAndUndo.

Disconnect Disconnects a client proxy from any RPC channel to which it


is connected.

Disconnect Disconnects a server stub from any interface to which it is


connected.

Disconnect Disconnects a client proxy from any RPC channel to which it


is connected.

Disconnect Disconnects a server stub from any interface to which it is


connected.

DisconnectObject Releases all connections to an object. The object's server calls


the object's implementation of this method prior to shutting
down.

DisconnectObject Releases all connections to an object. The object's server calls


the object's implementation of this method prior to shutting
down.

DllCanUnloadNow Determines whether the DLL that implements this function


is in use. If not, the caller can unload the DLL from memory.
T IT L E DESC RIP T IO N

DllGetClassObject Retrieves the class object from a DLL object handler or


object application.

DllRegisterServer Instructs an in-process server to create its registry entries


for all classes supported in this server module.

DllUnregisterServer Instructs an in-process server to remove only those entries


created through DllRegisterServer.

Do Instructs the undo unit to carry out its action. Note that if it
contains child undo units, it must call their Do methods as
well.

DockWindow Docks the specified window handle to the specified monitor


handle.

DoDragDrop Carries out an OLE drag and drop operation.

DoVerb Requests that an object perform an action in response to an


end-user's action. The possible actions are enumerated for
the object in IOleObject::EnumVerbs.

DragEnter Indicates whether a drop can be accepted, and, if so, the


effect of the drop.

DragEnterTarget OLE calls this method when the user drags the mouse
cursor into a potential drop target window.

DragLeave Removes target feedback and releases the data object.

DragLeaveTarget OLE calls this method when the user drags the mouse
cursor out of a potential drop target window.

DragOver Provides target feedback to the user and communicates the


drop's effect to the DoDragDrop function so it can
communicate the effect of the drop back to the source.

Draw Draws a representation of an object onto the specified


device context.

Drop Incorporates the source data into the target window,


removes target feedback, and releases the data object.

DUnadvise Destroys a notification connection that had been previously


set up.

EditProperty Specifies which field is to receive the focus when the


property page is activated.

Enable Enables or disables the undo manager.

EnableModeless Enables or disables modeless dialog boxes when the


container creates or destroys a modal dialog box.
T IT L E DESC RIP T IO N

EnableModeless Enables or disables a frame's modeless dialog boxes.

Enum Retrieves a pointer to an enumerator for the components of


a composite moniker.

EnumAdvise Creates an enumerator that can be used to enumerate the


advisory connections currently established for an object.

EnumAdvise Retrieves a pointer to an enumerator that can be used to


enumerate the advisory connections registered for an
object, so a container can know what to release prior to
closing down.

EnumAdvise Returns an object that can be used to enumerate the current


advisory connections.

EnumCache Creates an enumerator that can be used to enumerate the


current cache connections.

EnumCategories Retrieves an enumerator for the component categories


registered on the system.

EnumClassesOfCategories Retrieves an enumerator for the classes that implement one


or more specified category identifiers.

EnumConnectionPoints Creates an enumerator object to iterate through all the


connection points supported in the connectable object, one
connection point per outgoing IID.

EnumConnections Creates an enumerator object to iterate through the current


connections for this connection point.

EnumContextProps Returns an IEnumContextProps interface pointer that can be


used to enumerate the context properties in this context.

EnumContextProps Returns an IEnumContextProps interface pointer that can be


used to enumerate the context properties in this context.

EnumControls Enumerates the controls on the form.

EnumDAdvise Creates an object that can be used to enumerate the current


advisory connections.

EnumFormatEtc Creates an object to enumerate the formats supported by a


data object.

EnumImplCategoriesOfClass Retrieves an enumerator for the CATIDs implemented by the


specified class.

EnumObjectParam Retrieves a pointer to an interface that can be used to


enumerate the keys of the bind context's string-keyed table
of pointers.

EnumObjects Enumerates the objects in the current container.


T IT L E DESC RIP T IO N

EnumRedoable Creates an enumerator object that the caller can use to


iterate through a series of top-level undo units from the
redo stack.

EnumReqCategoriesOfClass Retrieves an enumerator for the CATIDs required by the


specified class.

EnumRunning Creates and returns a pointer to an enumerator that can list


the monikers of all the objects currently registered in the
running object table (ROT).

EnumUndoable Creates an enumerator object that the caller can use to


iterate through a series of top-level undo units from the
undo stack.

EnumVerbs Exposes a pull-down menu listing the verbs available for an


object in ascending order by verb number.

EnumViews Creates an object that enumerates the views supported by a


document object, or if only one view is supported, returns a
pointer to that view.

Exec Executes the specified command or displays help for the


command.

FAILED Provides a generic test for failure on any status value.

FContinue Indicates whether a generic operation should continue.

FContinuePrinting Indicates whether a lengthy printing operation should


continue.

FindConnectionPoint Returns a pointer to the IConnectionPoint interface of a


connection point for a specified IID, if that IID describes a
supported outgoing interface.

FindUnit Indicates whether the specified unit is a child of this undo


unit or one of its children, that is if the specified unit is part
of the hierarchy in this parent unit.

Force Forces the contents of the log to disk, at least up through


the specified LSN.

Format Formats a string according to a pattern.

Free Frees a previously allocated block of memory.

Free Frees a previously allocated block of memory.

Free Frees the frame copy to avoid a memory leak.

FreeBuffer Frees a previously allocated RPC channel buffer.


T IT L E DESC RIP T IO N

FreeBuffer Frees a previously allocated RPC channel buffer.

FreeParam Frees the specified parameter in the frame.

FreeSurrogate Unloads a DLL server.

FreeSurrogate Unloads a DLL server.

Freeze Freezes the drawn representation of an object so that it will


not change until the IViewObject::Unfreeze method is called.
The most common use of this method is for banded
printing.

FreezeEvents Indicates whether the container is ignoring or accepting


events from the control.

get_Attributes Retrieves the current set of the picture's bit attributes.

get_Bold Gets the font's current Bold property.

get_Charset Retrieves the character set used in the font.

get_CurDC Retrieves the handle of the current device context. This


property is valid only for bitmap pictures.

get_Description The display text for the event publisher.

get_Handle Retrieves the handle to the picture managed within this


picture object to a specified location.

get_Height Retrieves the current height of the picture in the picture


object.

get_hFont Retrieves a handle to the font described by this font object.

get_hPal Retrieves a copy of the palette currently used by the picture


object.

get_Italic Gets the font's current Italic property.

get_KeepOriginalFormat Retrieves the current value of the picture's


KeepOriginalFormat property.

get_Name Retrieves the name of the font family.

get_Name The name of the event property.

get_OwnerSID The security identifier of the creator of the event publisher.

get_PublisherName The display name for the event publisher.

get_PublisherType The optional administrative group for the event publisher.


T IT L E DESC RIP T IO N

get_Size Retrieves the point size of the font.

get_Strikethrough Gets the font's current Strikethrough property.

get_Type Retrieves the current type of the picture contained in the


picture object.

get_Underline Gets the font's current Underline property.

get_Value The value of the event property.

get_Weight Gets the font's current Weight property.

get_Width Retrieves the current width of the picture in the picture


object.

GetActivationPolicy Retrieves the current activation policy for the object. This
method is called by the container on receipt of a
WM_SETCURSOR or WM_MOUSEMOVE message when an
inactive object is under the mouse pointer.

GetAdvise Retrieves the advisory connection on the object that was


used in the most recent call to IViewObject::SetAdvise.

GetAllAccessRights Gets the entire list of access rights and/or the owner and
group for the specified object.

GetBindOptions Retrieves the binding options stored in this bind context.

GetBorder Retrieves the outer rectange for toolbars and controls while
the object is active in place.

GetBoundSource Retrieves a pointer to the link source if the connection is


active.

GetBuffer Retrieves a buffer into which data can be marshaled for


transmission.

GetBuffer Retrieves a buffer into which data can be marshaled for


transmission.

GetCanonicalFormatEtc Provides a potentially different but logically equivalent


FORMATETC structure. You use this method to determine
whether two different FORMATETC structures would return
the same data, removing the need for duplicate rendering.

GetCapture Called by an in-place active, windowless object to determine


whether it still has the mouse capture.

GetCategoryDesc Retrieves the localized description string for a specific


category ID.

GetClassFile Returns the CLSID associated with the specified file name.
T IT L E DESC RIP T IO N

GetClassForHandler Retrieves the CLSID of the object handler to be used in the


destination process during standard marshaling.

GetClassForHandler Retrieves the CLSID of the object handler to be used in the


destination process during standard marshaling.

GetClassID Retrieves the class identifier (CLSID) of the object.

GetClassInfo Retrieves a pointer to the ITypeInfo interface for the object's


type information. The type information for an object
corresponds to the object's coclass entry in a type library.

GetClassObject Retrieves a class object.

GetClientSite Retrieves a pointer to an embedded object's client site.

GetClipboardData Retrieves a data object containing the current contents of


the embedded object on which this method is called. Using
the pointer to this data object, it is possible to create a new
embedded object with the same data as the original.

GetColorSet Returns the logical palette that the object will use for
drawing in its IViewObject::Draw method with the
corresponding parameters.

GetComparisonData Retrieves data from a moniker that can be used to test the
moniker for equality against another moniker.

GetConnectionInterface Retrieves the IID of the outgoing interface managed by this


connection point.

GetConnectionPointContainer Retrieves the IConnectionPointContainer interface pointer


for the parent connectable object.

GetContainer Retrieves a pointer to the object's container.

GetContentExtent Gets the content extent of a control.

GetControlInfo Retrieves information about the control's keyboard


mnemonics and behavior.

GetConvertInfo Gets the conversion information associated with the


specified object.

GetConvertInfo Gets the conversion information associated with the


specified object.

GetCurFile Retrieves the current name of the file associated with the
object. If there is no current working file, this method
retrieves the default save prompt for the object.

GetCurrentApartmentType Retrieves the type of apartment in which the caller is


executing.
T IT L E DESC RIP T IO N

GetCurrentApartmentType Retrieves the type of apartment in which the caller is


executing.

GetCurrentLogicalThreadId Retrieves the GUID of the thread in which the caller is


executing.

GetCurrentLogicalThreadId Retrieves the GUID of the thread in which the caller is


executing.

GetCurrentThreadType Retrieves the type of thread in which the caller is executing.

GetCurrentThreadType Retrieves the type of thread in which the caller is executing.

GetData Called by a data consumer to obtain data from a source


data object.

GetDataHere Called by a data consumer to obtain data from a source


data object. This method differs from the GetData method in
that the caller must allocate and free the specified storage
medium.

GetDC Provides an object with a handle to a device context for a


screen or compatible device from its container.

GetDefaultProperty Retrieves a named property and its value from the property
bag associated with the event publisher.

GetDefaultPropertyCollection Creates a collection object that enumerates the properties


contained in the property bag associated with the event
publisher object.

GetDescription Retrieves a description of the undo unit that can be used in


the undo or redo user interface.

GetDestCtx Retrieves the destination context for the RPC channel.

GetDestCtx Retrieves the destination context for the RPC channel.

GetDisplayName Retrieves the display name for the moniker.

GetDisplayString Retrieves a text string describing the specified property.

GetDocMiscStatus Retrieves status information about the document object.

GetDocument Obtains the IUnknown interface pointer on the document


object that owns this view.

GetDropTarget Retrieves the IDropTarget interface for an in-place active,


windowless object that supports drag and drop.

GetExtendedControl Retrieves an IDispatch pointer to the extended control that


the container uses to wrap the real control.
T IT L E DESC RIP T IO N

GetExtent Retrieves a running object's current display size.

GetExtent Retrieves the size that the specified view object will be drawn
on the specified target device.

GetFocus Called by an in-place active, windowless object to determine


whether it still has the keyboard focus.

GetGUID Retrieves the specified GUID for the object.

GetHandle Retrieves a handle to the synchronization object.

GetHandle Retrieves a handle to the synchronization object.

GetIID Retrieves the interface id supported by this ICallIndirect


implementation.

GetIIDAndMethod Retrieves the interface ID or the method number.

GetInfo Retrieves information about the call frame.

GetInfoOfIndex Retrieves the type information from the specified index.

GetInPlaceSite Retrieves the view site associated with this view object.

GetInterfaceFromGlobal Retrieves a pointer to an interface on an object that is usable


by the calling apartment. This interface must be currently
registered in the global interface table.

GetLastRedoDescription Retrieves the description for the top-level undo unit that is
on top of the redo stack.

GetLastUndoDescription Retrieves the description for the top-level undo unit that is
on top of the undo stack.

GetLastUpdate Determines the last time the object was updated.

GetLastUpdate Determines the last time the object was updated.

GetLicInfo Retrieves information about the licensing capabilities of this


class factory.

GetLinkSource Retrieves information about a link that can be displayed in


the Links dialog box.

GetLinkSource Retrieves information about a link that can be displayed in


the Links dialog box.

GetLinkUpdateOptions Determines the current update options for a link.

GetLinkUpdateOptions Determines the current update options for a link.


T IT L E DESC RIP T IO N

GetLocaleID Retrieves the locale identifier (an LCID) that a property page
can use to adjust its locale-specific settings.

GetLogLimits Retrieves information about the current bounds of the log.

GetMarshalingContextAttribute Gets information about the marshaling context.

GetMarshalingContextAttribute Gets information about the marshaling context.

GetMarshalSizeMax Retrieves the maximum size of the buffer that will be needed
during marshaling.

GetMarshalSizeMax Retrieves an upper bound on the number of bytes needed


to marshal the call frame.

GetMethodInfo Retrieves information about the interface method from the


call frame.

GetMiscStatus Retrieves the status of an object at creation and loading.

GetMoniker Retrieves a moniker for the object's client site. An object can
force the assignment of its own or its container's moniker by
specifying a value for dwAssign.

GetMoniker Retrieves an embedded object's moniker, which the caller can


use to link to the object.

GetMultiTypeInfoCount Retrieves the number of type information blocks that this


object must provide.

GetNames Retrieves the method or interface name of this call.

GetNaturalExtent Provides sizing hints from the container for the object to use
as the user resizes it.

GetNextLink Enumerates the links in a container.

GetNextLink Enumerates the links in a container.

GetObject Gets a pointer to an interface on the VBA object.

GetObject Retrieves a pointer to the specified object.

GetObject Determines whether the object identified by the specified


moniker is running, and if it is, retrieves a pointer to that
object.

GetObjectInfo Gets the size, type, name, and location information for an
object.

GetObjectInfo Gets the size, type, name, and location information for an
object.
T IT L E DESC RIP T IO N

GetObjectParam Retrieves an interface pointer to the object associated with


the specified key in the bind context's string-keyed table of
pointers.

GetObjectStorage Retrieves a pointer to the storage for the specified object.

GetOleObject Gets a pointer to an OLE control on a Visual Basic container.

GetOpenParentState Retrieves state information about the innermost open


parent undo unit.

GetPageContainer Retrieves a pointer to the object representing the entire


property frame dialog box that contains all the pages.
Calling this method could potentially allow one page to
navigate to another.

GetPageInfo Retrieves information about the property page.

GetPageInfo Retrieves the number of a document's first page and the


total number of pages.

GetPages Retrieves a list of property pages that can be displayed in


this object's property sheet.

GetParam Retrieves the value of a specified parameter in the call frame.

GetParamInfo Retrieves the information for the specified parameter.

GetParentState Retrieves state information about the innermost open


parent undo unit.

GetPredefinedStrings Retrieves an array description strings for the allowable values


that the specified property can accept.

GetPredefinedValue Retrieves the value of the specified property that is


associated with a predefined string name.

GetProperty Retrieves the specified context property from the context.

GetProperty Retrieves the specified context property from the context.

GetRect Retrieves a rectangle describing a requested drawing aspect.

GetRect Retrieves the rectangular coordinates of the viewport in


which the view is or will be activated.

GetRegisteredSink Retrieves the registered event sink.

GetReturnValue Retrieves the return value stored in the call frame.

GetRunningClass Retrieves the CLSID of a running object.


T IT L E DESC RIP T IO N

GetRunningObjectTable Retrieves an interface pointer to the running object table


(ROT) for the computer on which this bind context is
running.

GetRunningObjectTable Returns a pointer to the IRunningObjectTable interface on


the local running object table (ROT).

GetSite Retrieves the latest site passed using SetSite.

GetSize Retrieves the size of a previously allocated block of memory.

GetSize Retrieves the size of a previously allocated block of memory.

GetSizeMax Retrieves the size of the stream needed to save the object.

GetSizeMax Retrieves the size of the stream needed to save the object.

GetSourceDisplayName Retrieves the display name of the link source of the linked
object.

GetSourceMoniker Retrieves the moniker identifying the link source of a linked


object.

GetStackLocation Retrieves the stack location onto which this call frame is
bound.

GetStackSize Retrieves the number of bytes that should be popped from


the stack in order to return from an invocation of the
method.

GetTimeOfLastChange Retrieves the time at which the object identified by this


moniker was last changed.

GetTimeOfLastChange Retrieves the time that an object was last modified.

GetUnitType Retrieves the CLSID and a type identifier for the undo unit.

GetUnmarshalClass Retrieves the CLSID of the unmarshaling code.

GetUpdateOptions Retrieves a value indicating how often the linked object


updates its cached data.

GetUserClassID Retrieves an object's class identifier, the CLSID corresponding


to the string identifying the object to an end user.

GetUserType Retrieves the user-type name of an object for display in user-


interface elements such as menus, list boxes, and dialog
boxes.

GetViewInfo Gets the view information associated with the object.

GetViewInfo Gets the view information associated with the object.


T IT L E DESC RIP T IO N

GetViewStatus Retrieves information about the opacity of the object, and


what drawing aspects are supported.

GetWindow Retrieves a handle to one of the windows participating in in-


place activation (frame, document, parent, or in-place object
window).

GetWindowContext Enables an in-place object to retrieve the window interfaces


that form the window object hierarchy, and the position in
the parent window where the object's in-place activation
window should be located.

GiveFeedback Enables a source application to give visual feedback to the


end user during a drag-and-drop operation by providing
the DoDragDrop function with an enumeration value
specifying the visual effect.

GrantAccessRights Merges the new list of access rights with the existing access
rights on the object.

HandleInComingCall Provides a single entry point for incoming calls.

HandsOffStorage Instructs the object to release all storage objects that have
been passed to it by its container and to enter HandsOff
mode.

Hash Creates a hash value using the internal state of the moniker.

HeapMinimize Minimizes the heap as much as possible by releasing unused


memory to the operating system, coalescing adjacent free
blocks, and committing free pages.

HeapMinimize Minimizes the heap as much as possible by releasing unused


memory to the operating system, coalescing adjacent free
blocks, and committing free pages.

Help Invokes the property page help in response to an end-user


request.

HRESULT_CODE Extracts the code portion of the specified HRESULT.

HRESULT_FACILITY Extracts the facility of the specified HRESULT.

HRESULT_FROM_NT Maps an NT status value to an HRESULT value.

HRESULT_FROM_WIN32 Maps a system error code to an HRESULT value.

HRESULT_SEVERITY Extracts the severity field of the specified HRESULT.

IIDFromString Converts a string generated by the StringFromIID function


back into the original interface identifier (IID).

ImpersonateClient Enables a server to impersonate a client for the duration of a


call.
T IT L E DESC RIP T IO N

ImpersonateClient Enables a server to impersonate a client for the duration of a


call.

Init Initializes the process server.

InitCache Fills the cache as needed using the data provided by the
specified data object.

InitFromData Initializes a newly created object with data from a specified


data object, which can reside either in the same container or
on the Clipboard.

Initialize Initializes a thread to use Windows Runtime APIs.

InitNew Initializes an object to a default state. This method is to be


called instead of IPersistStreamInit::Load.

InitNew Initializes a new storage object.

InitNew Create a new log instance on the specified file. If a file with
that name already exists, it is overwritten.

InPlaceDeactivate Deactivates an active in-place object and discards the


object's undo state.

InsertMenus Enables the container to insert menu groups into the


composite menu to be used during the in-place session.

InvalidateRect Enables an object to invalidate a specified rectangle of its in-


place image on the screen.

InvalidateRgn Enables an object to invalidate a specified region of its in-


place image on the screen.

Inverse Creates a moniker that is the inverse of this moniker. When


composed to the right of this moniker or one of similar
structure, the moniker will compose to nothing.

Invoke Invokes the interface that a stub represents.

Invoke Invokes the interface that a stub represents.

Invoke Applies this activation record to an object. In a marshalling


situation, typically this is carried out on the server side, and
is the means by which the work of the actual object is
accomplished.

IS_ERROR Provides a generic test for errors on any status value.

IsAccelerator Determines whether the specified keystroke maps to an


accelerator in the specified accelerator table.
T IT L E DESC RIP T IO N

IsAccessAllowed Determines whether the specified trustee has access rights


to the object or property.

IsClassOfCategories Determines whether a class implements one or more


categories.

IsConnected Determines whether the RPC channel is connected.

IsConnected Determines whether the RPC channel is connected.

IsDirty Determines whether an object has changed since it was last


saved to its stream.

IsDirty Determines whether an object has changed since it was last


saved to its current file.

IsDirty Determines whether an object has changed since it was last


saved to its current storage.

IsDirty Determines whether an object has changed since it was last


saved to its stream.

IsEqual Compares this font object to another for equivalence.

IsEqual Determines whether this moniker is identical to the specified


moniker.

IsEqualGUID Determines whether two GUIDs are equal.

IsEqualGUID Determines whether two GUIDs are equal.

IsEqualGUID Determines whether two GUIDs are equal.

IsEvaluatingEdpPolicy Indicates whether the drop target is intends to handle the


evaluation of the enterprise protection policy.

IsIIDSupported Determines whether a stub is designed to handle the


unmarshaling of a particular interface.

IsIIDSupported Determines whether a stub is designed to handle the


unmarshaling of a particular interface.

IsImpersonating Indicates whether the server is currently impersonating the


client.

IsImpersonating Indicates whether the server is currently impersonating the


client.

IsPageDirty Indicates whether the property page has changed since it


was activated or since the most recent call to Apply.

IsRunning Determines whether the specified object is running.


T IT L E DESC RIP T IO N

IsRunning Determines whether the object identified by this moniker is


currently loaded and running.

IsRunning Determines whether an object is currently in the running


state.

IsRunning Determines whether the object identified by the specified


moniker is currently running.

IsSystemMoniker Determines whether this moniker is one of the system-


provided moniker classes.

IsUpToDate Checks whether an object is up to date.

Load Initializes an object from the stream where it was saved


previously.

Load Opens the specified file and initializes an object from the file
contents.

Load Loads an object from its existing storage.

Load Initializes an object from the stream where it was saved


previously.

LoadDllServer Loads a DLL server into the implementing surrogate. COM


calls this method when there is an activation request for the
DLL server's class, if the class is registered as DllSurrogate.

LoadDllServer Loads a DLL server into the implementing surrogate. COM


calls this method when there is an activation request for the
DLL server's class, if the class is registered as DllSurrogate.

Lock Requests a lock on a shared resource.

LockContainer Keeps the container for embedded objects running until


explicitly released.

LockInPlaceActive Indicates whether a control should remain in-place active.


Calls to this method typically nest an event to ensure that
the object's activation state remains stable throughout the
processing of the event.

LockRunning Locks an already running object into its running state or


unlocks it from its running state.

LockServer Locks an object application open in memory. This enables


instances to be created more quickly.

LockServer Locks an object application open in memory. This enables


instances to be created more quickly.

MAKE_HRESULT Creates an HRESULT value from its component pieces.


T IT L E DESC RIP T IO N

MAKE_HRESULT Creates an HRESULT value from its component pieces.

MAKE_SCODE Creates an SCODE value from its component pieces.

MapPropertyToPage Retrieves the CLSID of the property page associated with


the specified property.

Marshal Marshals the call frame by turning its reachable data into a
flat buffer without disturbing the frame.

MarshalInterface Marshals an interface pointer.

MarshalInterface Marshals an interface pointer.

MessagePending Indicates that a message has arrived while COM is waiting


to respond to a remote call.

MkParseDisplayName Converts a string into a moniker that identifies the object


named by the string.

MonikerCommonPrefixWith Creates a new moniker based on the common prefix that


this moniker (the one comprising the data of this moniker
object) shares with another moniker.

MonikerRelativePathTo Provides a moniker that, when composed onto the end of


the first specified moniker (or one with a similar structure),
yields the second specified moniker.

Move Positions and resizes the property page dialog box within
the frame.

Next Retrieves the specified number of items in the enumeration


sequence.

Next Retrieves the specified number of items in the enumeration


sequence.

Next Retrieves the specified number of items in the enumeration


sequence.

Next Retrieves the specified number of items in the enumeration


sequence.

Next Retrieves the specified number of items in the enumeration


sequence.

Next Retrieves the specified number of items in the enumeration


sequence.

Next Retrieves the specified number of items in the enumeration


sequence.
T IT L E DESC RIP T IO N

Next Retrieves the specified number of items in the enumeration


sequence.

Next Retrieves the specified number of items in the enumeration


sequence.

Next Retrieves the specified number of items in the enumeration


sequence.

Next Retrieves the specified number of items in the enumeration


sequence.

Next Retrieves the specified number of items in the enumeration


sequence.

Next Retrieves the specified number of items in the enumeration


sequence.

Next Retrieves the specified number of items in the enumeration


sequence.

Next Retrieves the specified number of items in the enumeration


sequence.

Next Retrieves the specified number of items in the enumeration


sequence.

NoteChangeTime Records the time that a running object was last modified.
The object must have previously been registered with the
running object table (ROT). This method stores the time of
last change in the ROT.

OleBuildVersion This function is obsolete.

OleCreate Creates an embedded object identified by a CLSID. You use it


typically to implement the menu item that allows the end
user to insert a new object.

OleCreate Creates an embedded object identified by a CLSID. You use it


typically to implement the menu item that allows the end
user to insert a new object.

OleCreateDefaultHandler Creates a new instance of the default embedding handler.


This instance is initialized so it creates a local server when
the embedded object enters the running state.

OleCreateEmbeddingHelper Creates an OLE embedding helper object using application-


supplied code aggregated with pieces of the OLE default
object handler. This helper object can be created and used in
a specific context and role, as determined by the caller.

OleCreateEx Extends OleCreate functionality by supporting more efficient


instantiation of objects in containers requiring caching of
multiple presentation formats or data, instead of the single
format supported by OleCreate.
T IT L E DESC RIP T IO N

OleCreateFontIndirect Creates and initializes a standard font object using an initial


description of the font's properties in a FONTDESC structure.

OleCreateFromData Creates an embedded object from a data transfer object


retrieved either from the clipboard or as part of an OLE
drag-and-drop operation. It is intended to be used to
implement a paste from an OLE drag-and-drop operation.

OleCreateFromDataEx Extends OleCreateFromData functionality by supporting


more efficient instantiation of objects in containers requiring
caching of multiple formats of presentation or data, instead
of the single format supported by OleCreateFromData.

OleCreateFromFile Creates an embedded object from the contents of a named


file.

OleCreateFromFile Creates an embedded object from the contents of a named


file.

OleCreateFromFileEx Extends OleCreateFromFile functionality by supporting more


efficient instantiation of objects in containers requiring
caching of multiple presentation formats or data, instead of
the single format supported by OleCreateFromFile.

OleCreateLink Creates an OLE compound-document linked object.

OleCreateLinkEx Extends OleCreateLink functionality by supporting more


efficient instantiation of objects in containers requiring
caching of multiple formats of presentations or data, instead
of the single format supported by OleCreateLink.

OleCreateLinkFromData Creates a linked object from a data transfer object retrieved


either from the clipboard or as part of an OLE drag-and-
drop operation.

OleCreateLinkFromDataEx Extends OleCreateLinkFromData functionality by supporting


more efficient instantiation of objects in containers requiring
caching of multiple formats of presentations or data, instead
of the single format supported by OleCreateLinkFromData.

OleCreateLinkToFile Creates an object that is linked to a file.

OleCreateLinkToFileEx Extends OleCreateLinkToFile functionality by supporting


more efficient instantiation of objects in containers requiring
caching of multiple formats of presentations or data, instead
of the single format supported by OleCreateLinkToFile.
T IT L E DESC RIP T IO N

OleCreateMenuDescriptor Creates and returns an OLE menu descriptor (that is, an


OLE-provided data structure that describes the menus) for
OLE to use when dispatching menu messages and
commands.

OleCreatePictureIndirect Creates a new picture object initialized according to a


PICTDESC structure.

OleCreatePropertyFrame Invokes a new property frame, that is, a property sheet


dialog box, whose parent is hwndOwner, where the dialog is
positioned at the point (x,y) in the parent window and has
the caption lpszCaption.

OleCreatePropertyFrameIndirect Creates a property frame, that is, a property sheet dialog


box, based on a structure (OCPFIPARAMS) that contains the
parameters, rather than specifying separate parameters as
when calling OleCreatePropertyFrame.

OleCreateStaticFromData Creates a static object, that contains only a representation,


with no native data, from a data transfer object.

OleDestroyMenuDescriptor Called by the container to free the shared menu descriptor


allocated by the OleCreateMenuDescriptor function.

OleDoAutoConvert Automatically converts an object to a new class if automatic


conversion for that object class is set in the registry.

OleDraw Enables drawing objects more easily. You can use it instead
of calling IViewObject::Draw directly.

OleDraw Enables drawing objects more easily. You can use it instead
of calling IViewObject::Draw directly.

OleDuplicateData Duplicates the data found in the specified handle and


returns a handle to the duplicated data. The source data is in
a clipboard format. Use this function to help implement
some of the data transfer interfaces such as IDataObject.

OleFlushClipboard Carries out the clipboard shutdown sequence. It also


releases the IDataObject pointer that was placed on the
clipboard by the OleSetClipboard function.

OleGetAutoConvert Determines whether the registry is set for objects of a


specified CLSID to be automatically converted to another
CLSID, and if so, retrieves the new CLSID.

OleGetClipboard Retrieves a data object that you can use to access the
contents of the clipboard.

OleGetClipboardWithEnterpriseInfo Enables Windows Information Protection enlightened


applications to retrieve an IDataObject from the OLE
Clipboard accompanied by Windows Information Protection
information about the data and the source application.
T IT L E DESC RIP T IO N

OleGetIconOfClass Returns a handle to a metafile containing an icon and a


string label for the specified CLSID.

OleGetIconOfFile Returns a handle to a metafile containing an icon and string


label for the specified file name.

OleIconToCursor Converts an icon to a cursor.

OleInitialize Initializes the COM library on the current apartment,


identifies the concurrency model as single-thread apartment
(STA), and enables additional functionality described in the
Remarks section below.

OleIsCurrentClipboard Determines whether the data object pointer previously


placed on the clipboard by the OleSetClipboard function is
still on the clipboard.

OleIsRunning Determines whether a compound document object is


currently in the running state.

OleLoad Loads into memory an object nested within a specified


storage object.

OleLoadFromStream Loads an object from the stream.

OleLoadFromStream Loads an object from the stream.

OleLoadPicture Creates a new picture object and initializes it from the


contents of a stream. This is equivalent to calling
OleCreatePictureIndirect with NULL as the first parameter,
followed by a call to IPersistStream::Load.

OleLoadPictureEx Creates a new picture object and initializes it from the


contents of a stream. This is equivalent to calling
OleCreatePictureIndirect with NULL as the first parameter,
followed by a call to IPersistStream::Load.

OleLoadPicturePath Creates a new picture object and initializes it from the


contents of a stream. This is equivalent to calling
OleCreatePictureIndirect(NULL, ...) followed by
IPersistStream::Load.

OleLockRunning Locks an already running object into its running state or


unlocks it from its running state.

OleMetafilePictFromIconAndLabel Creates a metafile in which the specified icon and label are
drawn.

OleNoteObjectVisible Increments or decrements an external reference that keeps


an object in the running state.

OleQueryCreateFromData Checks whether a data object has one of the formats that
would allow it to become an embedded object through a call
to either the OleCreateFromData or
OleCreateStaticFromData function.
T IT L E DESC RIP T IO N

OleQueryLinkFromData Determines whether an OLE linked object (rather than an


OLE embedded object) can be created from a clipboard data
object.

OleRegEnumFormatEtc Creates an enumeration object that can be used to


enumerate data formats that an OLE object server has
registered in the system registry.

OleRegEnumVerbs Supplies an enumeration of the registered verbs for the


specified class. Developers of custom DLL object applications
use this function to emulate the behavior of the default
object handler.

OleRegGetMiscStatus Returns miscellaneous information about the presentation


and behaviors supported by the specified CLSID from the
registry.

OleRegGetUserType Gets the user type of the specified class from the registry.

OleRun Puts an OLE compound document object into the running


state.

OleSave Saves an object opened in transacted mode into the


specified storage object.

OleSaveToStream Saves an object with the IPersistStream interface on it to the


specified stream.

OleSaveToStream Saves an object with the IPersistStream interface on it to the


specified stream.

OleSetAutoConvert Specifies a CLSID for automatic conversion to a different


class when an object of that class is loaded.

OleSetClipboard Places a pointer to a specific data object onto the clipboard.


This makes the data object accessible to the
OleGetClipboard function.

OleSetContainedObject Notifies an object that it is embedded in an OLE container,


which ensures that reference counting is done correctly for
containers that support links to embedded objects.

OleSetMenuDescriptor Installs or removes OLE dispatching code from the


container's frame window.

OLESTR Transforms string literals into Unicode strings.

OleTranslateAccelerator Called by the object application, allows an object's container


to translate accelerators according to the container's
accelerator table.
T IT L E DESC RIP T IO N

OleTranslateColor Converts an OLE_COLOR type to a COLORREF.

OleUIAddVerbMenuA Adds the Verb menu for the specified object to the specified
menu.

OleUIAddVerbMenuW Adds the Verb menu for the specified object to the specified
menu.

OleUIBusyA Invokes the standard Busy dialog box, allowing the user to
manage concurrency.

OleUIBusyW Invokes the standard Busy dialog box, allowing the user to
manage concurrency.

OleUICanConvertOrActivateAs Determines if there are any OLE object classes in the registry
that can be used to convert or activate the specified CLSID
from.

OleUIChangeIconA Invokes the standard Change Icon dialog box, which allows
the user to select an icon from an icon file, executable, or
DLL.

OleUIChangeIconW Invokes the standard Change Icon dialog box, which allows
the user to select an icon from an icon file, executable, or
DLL.

OleUIChangeSourceA Invokes the Change Source dialog box, allowing the user to
change the source of a link.

OleUIChangeSourceW Invokes the Change Source dialog box, allowing the user to
change the source of a link.

OleUIConvertA Invokes the standard Convert dialog box, allowing the user
to change the type of a single specified object, or the type of
all OLE objects of the specified object's class.

OleUIConvertW Invokes the standard Convert dialog box, allowing the user
to change the type of a single specified object, or the type of
all OLE objects of the specified object's class.

OleUIEditLinksA Invokes the standard Links dialog box, allowing the user to
make modifications to a container's linked objects.

OleUIEditLinksW Invokes the standard Links dialog box, allowing the user to
make modifications to a container's linked objects.

OleUIInsertObjectA Invokes the standard Insert Object dialog box, which allows
the user to select an object source and class name, as well as
the option of displaying the object as itself or as an icon.
T IT L E DESC RIP T IO N

OleUIInsertObjectW Invokes the standard Insert Object dialog box, which allows
the user to select an object source and class name, as well as
the option of displaying the object as itself or as an icon.

OleUIObjectPropertiesA Invokes the Object Properties dialog box, which displays


General, View, and Link information about an object.

OleUIObjectPropertiesW Invokes the Object Properties dialog box, which displays


General, View, and Link information about an object.

OleUIPasteSpecialA Invokes the standard Paste Special dialog box, allowing the
user to select the format of the clipboard object to be
pasted or paste-linked.

OleUIPasteSpecialW Invokes the standard Paste Special dialog box, allowing the
user to select the format of the clipboard object to be
pasted or paste-linked.

OleUIPromptUserA Displays a dialog box with the specified template and returns
the response (button identifier) from the user. This function
is used to display OLE warning messages, for example, Class
Not Registered.

OleUIPromptUserW Displays a dialog box with the specified template and returns
the response (button identifier) from the user. This function
is used to display OLE warning messages, for example, Class
Not Registered.

OleUIUpdateLinksA Updates all links in the link container and displays a dialog
box that shows the progress of the updating process. The
process is stopped if the user presses the Stop button or
when all links are processed.

OleUIUpdateLinksW Updates all links in the link container and displays a dialog
box that shows the progress of the updating process. The
process is stopped if the user presses the Stop button or
when all links are processed.

OleUninitialize Closes the COM library on the apartment, releases any class
factories, other COM objects, or servers held by the
apartment, disables RPC on the apartment, and frees any
resources the apartment maintains.

OnAmbientPropertyChange Informs a control that one or more of the container's


ambient properties has changed.

OnCall Informs the event sink if it receives a method call on the


interceptor. The sink is provided with an ICallFrame instance
which is bound to the intercepted incoming method
invocation. Through that sink the call frame can be
manipulated in various ways.

OnChanged Notifies a sink that a bindable property has changed.


T IT L E DESC RIP T IO N

OnClose Called by the server to notify all registered advisory sinks


that the object has changed from the running to the loaded
state.

OnControlInfoChanged Informs the container that the control's CONTROLINFO


structure has changed and that the container should call the
control's IOleControl::GetControlInfo for an update.

OnDataChange Called by the server to notify a data object's currently


registered advise sinks that data in the object has changed.

OnDefWindowMessage Invokes the default processing for all messages passed to an


object.

OnDocWindowActivate Notifies the active in-place object when the container's


document window is activated or deactivated.

OnFocus Indicates whether the control managed by this control site


has gained or lost the focus.

OnFrameWindowActivate Notifies the object when the container's top-level frame


window is activated or deactivated.

OnInactiveMouseMove Notifies the object that the mouse pointer has moved over it
so the object can fire mouse events. This method is called by
the container on receipt of a WM_MOUSEMOVE method
when an inactive object is under the mouse pointer.

OnInactiveSetCursor Sets the mouse pointer for an inactive object. This method is
called by the container on receipt of a WM_SETCURSOR
method when an inactive object is under the mouse pointer.

OnInPlaceActivate Notifies the container that one of its objects is being


activated in place.

OnInPlaceActivateEx Called by the embedded object to determine whether it


needs to redraw itself upon activation.

OnInPlaceDeactivate Notifies the container that the object is no longer active in


place.

OnInPlaceDeactivateEx Notifies the container if the object needs to be redrawn


upon deactivation.

OnLinkSrcChange Notifies the container that registered the advise sink that a
link source has changed (either name or location), enabling
the container to update the link's moniker.

OnMnemonic Informs a control that the user has pressed a keystroke that
represents a keyboard mneumonic.

OnNextAdd Notifies the last undo unit in the collection that a new unit
has been added.
T IT L E DESC RIP T IO N

OnPosRectChange Notifies the container that the object extents have changed.

OnProgress Notifies registered objects and applications of the progress


of a downloading operation.

OnRename Called by the server to notify all registered advisory sinks


that the object has been renamed.

OnRequestEdit Notifies a sink that a requestedit property is about to


change.

OnRun Notifies the cache that the data source object has entered
the running state so that the cache object can establish
advise sinks as needed.

OnSave Called by the server to notify all registered advisory sinks


that the object has been saved.

OnShowWindow Notifies a container when an embedded object's window is


about to become visible or invisible. This method does not
apply to an object that is activated in place and therefore
has no window separate from that of its container.

OnStatusChange Informs the frame that the property page managed by this
site has changed its state, that is, one or more property
values have been changed in the page. Property pages
should call this method whenever changes occur in their
dialog boxes.

OnStop Notifies the cache that it should terminate any existing


advise sinks. No indication is given as to whether a
connection actually existed.

OnUIActivate Notifies the container that the object is about to be


activated in place and that the object is going to replace the
container's main menu with an in-place composite menu.

OnUIDeactivate Notifies the container that it should reinstall its user


interface and take focus, and whether the object has an
undoable state.

OnViewChange Notifies an object's registered advise sinks that its view has
changed.

OnViewStatusChange Notifies the sink that a view status of an object has changed.

OnWalkInterface Walks through a call frame to look for the specified interface
in the call frame. The interface can be manipulated or
replaced by paying close attention to the reference count.

OnWindowMessage Dispatches a message from a container to a windowless


object that is in-place active.

Open Opens a new parent undo unit, which becomes part of the
containing unit's undo stack.
T IT L E DESC RIP T IO N

Open Opens a new parent undo unit, which becomes part of its
containing unit's undo stack.

Open Displays a document view in a separate pop-up window. The


semantics are equivalent to IOleObject::DoVerb with
OLEIVERB_OPEN.

OpenLinkSource Opens the link's source.

OpenLinkSource Opens the link's source.

ParseDisplayName Parses the specified display name and creates a


corresponding moniker.

ParseDisplayName Converts a display name into a moniker.

PictureChanged Notifies the picture object that its picture resource has
changed. This method only calls
IPropertyNotifySink::OnChanged with DISPID_PICT_HANDLE
for any connected sinks.

PostAlloc Performs operations required after calling IMalloc::Alloc.

PostDidAlloc Performs operations required after calling IMalloc::DidAlloc.

PostFree Performs operations required after calling IMalloc::Free.

PostGetSize Performs operations required after calling IMalloc::GetSize.

PostHeapMinimize Performs operations required after calling


IMalloc::HeapMinimize.

PostInitialize Performs initialization steps required after calling the


CoInitializeEx function.

PostMessageFilter Sends the simple frame site a message that is received by a


control's own window after the control has processed the
message.

PostRealloc Performs operations required after calling IMalloc::Realloc.

PostUninitialize Performs cleanup steps required after calling the


CoUninitialize function.

PreAlloc Performs operations required before calling IMalloc::Alloc.

PreDidAlloc Performs operations required before calling IMalloc::DidAlloc.


T IT L E DESC RIP T IO N

PreFree Performs operations required before calling IMalloc::Free.


This method ensures that the pointer passed to Free points
to the beginning of the actual allocation.

PreGetSize Performs operations required before calling IMalloc::GetSize.

PreHeapMinimize Performs operations required before calling


IMalloc::HeapMinimize.

PreInitialize Performs initialization steps required before calling the


CoInitializeEx function.

PreMessageFilter Provides a site with the opportunity to process a message


that is received by a control's own window before the
control itself does any processing.

PreRealloc Performs operations required before calling IMalloc::Realloc.

PreUninitialize Performs cleanup steps required before calling the


CoUninitialize function.

Print Prints an object on the specified printer, using the specified


job requirements.

ProcessShutdown Shuts down the process.

ProgIDFromCLSID Retrieves the ProgID for a given CLSID.

Pull Retrieves data of the byte type from the pipe source.

Pull Retrieves data of the double integer type from the pipe
source.

Pull Retrieves data of the long integer type from the pipe source.

Pull Retrieves data of the byte type from the pipe source.

Pull Retrieves data of the double integer type from the pipe
source.

Pull Retrieves data of the long integer type from the pipe source.

PumpMessages Performs custom dispatching when window messages are


available to be dispatched on an ASTA thread.

Push Sends data of the byte type to the pipe source.

Push Sends data of the double integer type to the pipe source.

Push Sends data of the long integer type to the pipe source.

Push Sends data of the byte type to the pipe source.


T IT L E DESC RIP T IO N

Push Sends data of the double integer type to the pipe source.

Push Sends data of the long integer type to the pipe source.

put_Bold Sets the font's Bold property.

put_Charset Sets the font's character set.

put_Description The display text for the event publisher.

put_Italic Sets the font's Italic property.

put_KeepOriginalFormat Sets the value of the picture's KeepOriginalFormat property.

put_Name Specifies a new name for the font family.

put_Name The name of the event property.

put_OwnerSID The security identifier of the creator of the event publisher.

put_PublisherID The identifier for the event publisher.

put_PublisherName The display name for the event publisher.

put_PublisherType The optional administrative group for the event publisher.

put_Size Sets the point size of the font.

put_Strikethrough Sets the font's Strikethrough property.

put_Underline Sets the font's Underline property.

put_Value The value of the event property.

put_Weight Sets the font's Weight property.

PutDefaultProperty Writes a named property and its value to the property bag
associated with the event publisher.

Query Queries the specified global property of the COM runtime.

Query Retrieves the value of an RPC binding option property.

Query Queries the specified global property of the COM runtime.

Query Retrieves the value of an RPC binding option property.

QueryBlanket Retrieves authentication information the client uses to make


calls on the specified proxy.
T IT L E DESC RIP T IO N

QueryBlanket Retrieves information about the client that invoked one of


the server's methods.

QueryBlanket Retrieves information about the client that invoked one of


the server's methods.

QueryContinueDrag Determines whether a drag-and-drop operation should be


continued, canceled, or completed. You do not call this
method directly. The OLE DoDragDrop function calls this
method during a drag-and-drop operation.

QueryGetData Determines whether the data object is capable of rendering


the data as specified. Objects attempting a paste or drop
operation can call this method before calling
IDataObject::GetData to get an indication of whether the
operation may be successful.

QueryHitPoint Indicates whether a point is within a given aspect of an


object.

QueryHitRect Indicates whether any point in a rectangle is within a given


drawing aspect of an object.

QueryInterface Retrieves pointers to the supported interfaces on an object.

QueryInterface A helper function template that infers an interface identifier,


and calls QueryInterface(REFIID,void).

QueryInternalInterface Retrieves pointers to the supported internal interfaces on an


object.

QueryInternalInterface Retrieves pointers to the supported internal interfaces on an


object.

QueryMultipleInterfaces Retrieves pointers to multiple supported interfaces on an


object.

QueryMultipleInterfaces Retrieves pointers to multiple supported interfaces on an


object.

QueryStatus Queries the object for the status of one or more commands
generated by user interface events.

QueryTextMetrics Fills a caller-allocated structure with information about the


font.

QuickActivate Quick activates a control.

ReactivateAndUndo Reactivates a previously deactivated object, undoing the last


state of the object.

ReadRecord Read a record from the log.

ReadRecordPrefix Reads an initial part of a record from the log.


T IT L E DESC RIP T IO N

Realloc Changes the size of a previously allocated block of memory.

Realloc Changes the size of a previously allocated block of memory.

RedoTo Instructs the undo manager to invoke undo actions back


through the redo stack, down to and including the specified
undo unit.

Reduce Reduces a moniker to its simplest form.

Register Registers an object and its identifying moniker in the


running object table (ROT).

RegisterCategories Registers one or more component categories. Each


component category consists of a CATID and a list of locale-
dependent description strings.

RegisterClassImplCategories Registers the class as implementing one or more component


categories.

RegisterClassReqCategories Registers the class as requiring one or more component


categories.

RegisterDragDrop Registers the specified window as one that can be the target
of an OLE drag-and-drop operation and specifies the
IDropTarget instance to use for drop operations.

RegisterInterfaceInGlobal Registers the specified interface on an object residing in one


apartment of a process as a global interface, enabling other
apartments access to that interface.

RegisterObjectBound Registers an object with the bind context to ensure that the
object remains active until the bind context is released.

RegisterObjectParam Associates an object with a string key in the bind context's


string-keyed table of pointers.

RegisterSink Registers an event sink for receiving notifications of method


calls.

RelativePathTo Creates a relative moniker between this moniker and the


specified moniker.

Release Decrements the reference count for an interface on a COM


object.

ReleaseBoundObjects Releases all pointers to all objects that were previously


registered by calls to RegisterObjectBound.

ReleaseConnection Decrements the count of an object's strong external


connections.

ReleaseConnection Decrements the count of an object's strong external


connections.
T IT L E DESC RIP T IO N

ReleaseDC Releases the device context previously obtained by a call to


IOleInPlaceSiteWindowless::GetDC.

ReleaseHfont Notifies the font object that the caller that previously locked
this font in the cache with IFont::AddRefHfont no longer
requires the lock.

ReleaseMarshalData Destroys a marshaled data packet.

ReleaseMarshalData Destroys a marshaled data packet.

ReleaseMarshalData Releases resources that are held by interface pointers


residing in a packet of marshaled data. This method finds all
interface pointers in the packet, and calls the
CoReleaseMarshalData function on each one.

ReleaseMarshalData Releases resources that may be held by interface pointers


residing in a packet of marshaled data. This method finds all
interface pointers in the packet and calls the
CoReleaseMarshalData function on each interface pointer.

ReleaseRefOnProcess Decrements the reference count of the process.

ReleaseStgMedium Frees the specified storage medium.

RemoveDefaultProperty Removes a named property and its value from the property
bag associated with the event publisher object.

RemoveMenus Removes a container's menu elements from the composite


menu.

RemoveProperty Removes the specified context property from the context.

RemoveProperty Removes the specified context property from the context.

Render Renders (draws) a specified portion of the picture defined by


the offset (xSrc,ySrc) of the source picture and the
dimensions to copy (cxSrc,xySrc).

RequestBorderSpace Determines whether there is space available for tools to be


installed around the object's window frame while the object
is active in place.

RequestLicKey Creates a license key that the caller can save and use later to
create an instance of the licensed object.

RequestNewObjectLayout Asks a container to resize the display site for embedded


objects.

RequestUIActivate Notifies the container that the object is about to enter the
UI-active state.

Reset Resets the enumeration sequence to the beginning.


T IT L E DESC RIP T IO N

Reset Resets the enumeration sequence to the beginning.

Reset Resets the enumeration sequence to the beginning.

Reset Resets the enumeration sequence to the beginning.

Reset Resets the enumeration sequence to the beginning.

Reset Resets the enumeration sequence to the beginning.

Reset Resets the enumeration sequence to the beginning.

Reset Resets the enumeration sequence to the beginning.

Reset Resets the enumeration sequence to the beginning.

Reset Resets the enumeration sequence to the beginning.

Reset Resets the enumeration sequence to the beginning.

Reset Sets the synchronization object to the nonsignaled state.

Reset Resets the enumeration sequence to the beginning.

Reset Resets the enumeration sequence to the beginning.

Reset Resets the enumeration sequence to the beginning.

Reset Sets the synchronization object to the nonsignaled state.

Reset Resets the enumeration sequence to the beginning.

Reset Resets the enumeration sequence to the beginning.

ResetInitializerTimeout Sets the process initialization time-out.

ResetInitializerTimeout Sets the process initialization time-out.

ResizeBorder Alerts the object that it needs to resize its border space.

RetryRejectedCall Provides applications with an opportunity to display a dialog


box offering retry, cancel, or task-switching options.

RevertToSelf Restores the authentication information of a thread to what


it was before impersonation began.

RevertToSelf Restores the authentication information of a thread to what


it was before impersonation began.
T IT L E DESC RIP T IO N

Revoke Removes an entry from the running object table (ROT) that
was previously registered by a call to
IRunningObjectTable::Register.

RevokeAccessRights Removes any explicit entries for the list of trustees.

RevokeDragDrop Revokes the registration of the specified application window


as a potential target for OLE drag-and-drop operations.

RevokeInterfaceFromGlobal Revokes the registration of an interface in the global


interface table.

RevokeObjectBound Removes the object from the bind context, undoing a


previous call to RegisterObjectBound.

RevokeObjectParam Removes the specified key and its associated pointer from
the bind context's string-keyed table of objects. The key
must have previously been inserted into the table with a call
to RegisterObjectParam.

Run Forces an object to run.

Save Saves an object to the specified stream.

Save Saves a copy of the object to the specified file.

Save Saves an object, and any nested objects that it contains, into
the specified storage object. The object enters NoScribble
mode.

Save Saves an object to the specified stream.

SaveAsFile Saves the picture's data into a stream in the same format
that it would save itself into a file. Bitmaps use the BMP file
format, metafiles the WMF format, and icons the ICO
format.

SaveCompleted Notifies the object that it can write to its file.

SaveCompleted Notifies the object that it can write to its storage object.

SaveObject Saves the embedded object associated with the client site.
This function is synchronous; by the time it returns, the save
will be completed.

SaveViewState Saves the view state into the specified stream.

SCODE_CODE Extracts the code portion of the specified SCODE.

SCODE_FACILITY Extracts the facility of the specified SCODE.

SCODE_SEVERITY Extracts the severity field of the specified SCODE.


T IT L E DESC RIP T IO N

Scroll Instructs the container to scroll the view of the object by the
specified number of pixels.

ScrollRect Enables an object to scroll an area within its in-place active


image on the screen.

SelectPicture Selects a bitmap picture into a given device context, and


returns the device context in which the picture was
previously selected as well as the picture's GDI handle. This
method works in conjunction with IPicture::get_CurDC.

SendOnClose Sends notification to all advisory sinks currently registered


with the advise holder that the object has closed.

SendOnDataChange Sends notifications to each advise sink for which there is a


connection established by calling the
IAdviseSink::OnDataChange method for each advise sink
currently being handled by this instance of the advise holder
object.

SendOnRename Sends notification to all advisory sinks currently registered


with the advise holder that the name of object has changed.

SendOnSave Sends notification to all advisory sinks currently registered


with the advise holder that the object has been saved.

SendReceive Sends a method invocation across an RPC channel to the


server stub.

SendReceive Sends a method invocation across an RPC channel to the


server stub.

Set Sets the specified global property of the COM runtime.

Set Sets the value of an RPC binding option property.

Set Sets the specified global property of the COM runtime.

Set Sets the value of an RPC binding option property.

set_hPal Assigns a GDI palette to the picture contained in the picture


object.

SetAccessPolicyHint Provides a hint to the implementation about the pattern in


which records will be read.

SetAccessRights Replaces the existing access rights on an object with the


specified list.

SetActiveObject Provides a direct channel of communication between the


object and each of the frame and document windows.
T IT L E DESC RIP T IO N

SetAdvise Establishes a connection between the view object and an


advise sink so that the advise sink can be notified about
changes in the object's view.

SetBindOptions Sets new values for the binding parameters stored in the
bind context.

SetBlanket Sets the authentication information (the security blanket)


that will be used to make calls on the specified proxy.

SetBorderSpace Allocates space for the border requested in the call to


IOleInPlaceUIWindow::RequestBorderSpace.

SetCapture Enables an in-place active, windowless object to capture all


mouse messages.

SetClientSite Informs an embedded object of its display location, called a


"client site," within its container.

SetColorScheme Specifies the color palette that the object application should
use when it edits the specified object.

SetContainedObject Notifies an object that it is embedded in an OLE container,


which ensures that reference counting is done correctly for
containers that support links to embedded objects.

SetContentExtent Sets the content extent of a control.

SetCurrentLogicalThreadId Sets the GUID of the thread in which the caller is executing.

SetCurrentLogicalThreadId Sets the GUID of the thread in which the caller is executing.

SetData Initializes the cache with data in a specified format and on a


specified medium.

SetData Called by an object containing a data source to transfer data


to the object that implements this method.

SetDropSourceEnterpriseId Provides the drop target with the enterprise ID of the drop
source.

SetEventHandle Assigns an event handle to a synchronization object.

SetEventHandle Assigns an event handle to a synchronization object.

SetExtent Informs an object of how much display space its container


has assigned it.

SetFocus Sets the keyboard focus for a UI-active, windowless object.

SetHdc Provides a device context to the font that describes the


logical mapping mode.
T IT L E DESC RIP T IO N

SetHostNames Provides an object with the names of its container


application and the compound document in which it is
embedded.

SetInitialPageNum Sets the page number of the first page of a document.

SetInPlaceSite Associates a container's document view site with a


document's view object.

SetLinkSource Changes the source of a link.

SetLinkSource Changes the source of a link.

SetLinkUpdateOptions Sets a link's update options to automatic or manual.

SetLinkUpdateOptions Sets a link's update options to automatic or manual.

SetMenu Adds a composite menu to the window frame containing the


object being activated in place.

SetMoniker Notifies an object of its container's moniker, the object's own


moniker relative to the container, or the object's full moniker.

SetObjectRects Specifies how much of the in-place object is to be visible.

SetObjects Provides the property page with an array of pointers to


objects associated with this property page.

SetOwner Sets the owner or the group of an item.

SetPageSite Initializes a property page and provides the page with a


pointer to the IPropertyPageSite interface through which the
property page communicates with the property frame.

SetParam Sets the value of a specified parameter in the call frame.

SetProperty Adds the specified context property to the object context.

SetProperty Adds the specified context property to the object context.

SetRatio Converts the scaling factor for this font between logical
units and HIMETRIC units.

SetRect Sets the rectangular coordinates of the viewport in which


the view is to be activated or resets the coordinates of the
viewport in which a view is currently activated.

SetRectComplex Sets the rectangular coordinates of the viewport, scroll bars,


and size box.

SetReturnValue Sets the return value within the call frame.


T IT L E DESC RIP T IO N

SetSite Enables a container to pass an object a pointer to the


interface for its site.

SetSourceDisplayName Sets the display name for the link source.

SetSourceMoniker Sets the moniker for the link source.

SetStackLocation Sets the stack location onto which this call frame is bound.

SetStatusText Sets and displays status text about the in-place object in the
container's frame window status line.

SetUpdateOptions Specifies how often a linked object should update its cached
data.

SetViewInfo Sets the view information associated with the object.

SetViewInfo Sets the view information associated with the object.

Show Makes the property page dialog box visible or invisible. If


the page is made visible, the page should set the focus to
itself, specifically to the first property on the page.

Show Activates or deactivates a view.

ShowObject Asks a container to display its object to the user. This


method ensures that the container itself is visible and not
minimized.

ShowPropertyFrame Instructs a container to display a property sheet for the


control embedded in this site.

Signal Sets the synchronization object to the signaled state and


causes pending wait operations to return S_OK.

Signal Sets the synchronization object to the signaled state and


causes pending wait operations to return S_OK.

Skip Skips over the specified number of items in the enumeration


sequence.

Skip Skips over the specified number of items in the enumeration


sequence.

Skip Skips over the specified number of items in the enumeration


sequence.

Skip Skips over the specified number of items in the enumeration


sequence.

Skip Skips over the specified number of items in the enumeration


sequence.
T IT L E DESC RIP T IO N

Skip Skips over the specified number of items in the enumeration


sequence.

Skip Skips over the specified number of items in the enumeration


sequence.

Skip Skips over the specified number of items in the enumeration


sequence.

Skip Skips over the specified number of items in the enumeration


sequence.

Skip Skips over the specified number of items in the enumeration


sequence.

Skip Skips over the specified number of items in the enumeration


sequence.

Skip Skips over the specified number of items in the enumeration


sequence.

Skip Skips over the specified number of items in the enumeration


sequence.

Skip Skips over the specified number of items in the enumeration


sequence.

Skip Skips over the specified number of items in the enumeration


sequence.

Skip Skips over the specified number of items in the enumeration


sequence.

StringFromCLSID Converts a CLSID into a string of printable characters.


Different CLSIDs always convert to different strings.

StringFromGUID2 Converts a globally unique identifier (GUID) into a string of


printable characters.

StringFromIID Converts an interface identifier into a string of printable


characters.

SUCCEEDED Provides a generic test for success on any status value.

TestCancel Determines whether a call has been canceled.

TestCancel Determines whether a call has been canceled.

TransformCoords Converts coordinates expressed in HIMETRIC units (as is


standard in OLE) to the units specified by the container.

TranslateAccelerator Passes a keystroke to the control site for processing.


T IT L E DESC RIP T IO N

TranslateAccelerator Passes a keystroke to the property page for processing.

TranslateAccelerator Passes a keystroke to the property frame for processing.

TranslateAccelerator Processes menu accelerator-key messages from the


container's message queue. This method should only be
used for objects created by a DLL object application.

TranslateAccelerator Translates accelerator keystrokes intended for the container's


frame while an object is active in place.

TruncatePrefix Throws away the specified prefix of the log, making it no


longer retrievable.

UIActivate Activates or deactivates a document view's user interface


elements, such as menus, toolbars, and accelerators.

UIDeactivate Deactivates and removes the user interface of an active in-


place object.

Unadvise Terminates an advisory connection previously established


between a connection point object and a client's sink.

Unadvise Deletes a previously established advisory connection.

Unadvise Deletes a previously established advisory connection.

Unadvise Removes a connection between a data object and an


advisory sink that was set up through a previous call to
IDataAdviseHolder::Advise. This method is typically called in
the implementation of IDataObject::DUnadvise.

UnbindSource Breaks the connection between a linked object and its link
source.

Uncache Removes a cache connection created previously using


IOleCache::Cache.

Undocked Undocks the accessibility window so that it will not be


automatically moved to its previous location.

UndockWindow Undocks the specified window handle if it is currently


docked.

UndoTo Instructs the undo manager to invoke undo actions back


through the undo stack, down to and including the specified
undo unit.

Unfreeze Releases a drawing that was previously frozen using


IViewObject::Freeze. The most common use of this method
is for banded printing.

Unlock Releases a lock on a shared resource.


T IT L E DESC RIP T IO N

Unmarshal Unmarshals a packet of data containing the previously


marshaled [out] parameters of a call into this already existing
activation record.

Unmarshal Turns a marshaled packet of data back into an activation


record that can then be invoked or manipulated in some
other way.

UnmarshalInterface Unmarshals an interface pointer.

UnmarshalInterface Unmarshals an interface pointer.

UnRegisterCategories Removes the registration of one or more component


categories. Each component category consists of a CATID
and a list of locale-dependent description strings.

UnRegisterClassImplCategories Removes one or more implemented category identifiers


from a class.

UnRegisterClassReqCategories Removes one or more required category identifiers from a


class.

Update Updates the compound document's cached data for a linked


object. This involves binding to the link source, if it is not
already bound.

Update Updates an object handler's or link object's data or view


caches.

UpdateCache Updates the specified caches. This method is used when the
application needs precise control over caching.

UpdateLink Forces selected links to connect to their source and retrieve


current information.

UpdateLink Forces selected links to connect to their source and retrieve


current information.

Wait Waits for the synchronization object to be signaled or for a


specified timeout period to elapse, whichever comes first.

Wait Waits for the synchronization object to be signaled or for a


specified timeout period to elapse, whichever comes first.

WaitMultiple Waits for any synchronization object in the container to be


signaled or for a specified timeout period to elapse,
whichever comes first.

WaitMultiple Waits for any synchronization object in the container to be


signaled or for a specified timeout period to elapse,
whichever comes first.

WalkFrame Searches for interface pointers that are reachable from [in],
[in, out], or [out] parameters of the frame.
Interfaces
T IT L E DESC RIP T IO N

IAccessControl Enables the management of access to objects and properties


on the objects.

IAccessibilityDockingService Docks an application window to the bottom of a monitor


when a Windows Store app is visible and not snapped, or
when the launcher is visible.

IAccessibilityDockingServiceCallback Receives Acessibility Window Docking events.

IAdviseSink Enables containers and other objects to receive notifications


of data changes, view changes, and compound-document
changes occurring in objects of interest.

IAdviseSink2 The IAdviseSink2 interface is an extension of the IAdviseSink


interface, adding the method OnLinkSrcChange to the
contract to handle a change in the moniker of a linked
object.

IAdviseSinkEx This interface is derived from IAdviseSink to provide


extensions for notifying the sink of changes in an object's
view status.

IAgileObject Marks an interface as agile across apartments.

IAgileObject Marks an interface as agile across apartments.

IBindCtx Provides access to a bind context, which is an object that


stores information about a particular moniker binding
operation.

IBlockingLock Provides a semaphore that can be used to provide


temporarily exclusive access to a shared resource such as a
file.

ICallFactory Creates a call object for processing calls to the methods of


an asynchronous interface.

ICallFactory Creates a call object for processing calls to the methods of


an asynchronous interface.

ICallFrame Enables manipulation of call frames such as stack frames.

ICallFrameEvents Delivers method call notifications.

ICallFrameWalker Walks a stack frame looking for interesting values.

ICallIndirect Invokes an object with an indirect reference to the


invocations arguments, rather than the traditional direct call.

ICallInterceptor Supports the registration and un-registering of event sinks


wishing to be notified of calls made directly on the interface.
T IT L E DESC RIP T IO N

ICallUnmarshal Is used on the server (receiving) side of a remote invocation.

ICancelMethodCalls Manages cancellation requests on an outbound method call


and monitors the current state of that method call on the
server thread.

ICancelMethodCalls Manages cancellation requests on an outbound method call


and monitors the current state of that method call on the
server thread.

ICatInformation Obtains information about the categories implemented or


required by a certain class, as well as information about the
categories registered on the specified computer.

ICatRegister Provides methods for registering and unregistering


component category information in the registry. This
includes both the human-readable names of categories and
the categories implemented/required by a given component
or class.

IClassActivator Specifies a method that retrieves a class object.

IClassFactory Enables a class of objects to be created.

IClassFactory Enables a class of objects to be created.

IClassFactory2 Enables a class factory object, in any sort of object server, to


control object creation through licensing.

IClientSecurity Gives the client control over the security settings for each
individual interface proxy of an object.

IComThreadingInfo Enables you to obtain the following information about the


apartment and thread that the caller is executing
in:_apartment type, thread type, and thread GUID. It also
allows you to specify a thread GUID.

IComThreadingInfo Enables you to obtain the following information about the


apartment and thread that the caller is executing
in:_apartment type, thread type, and thread GUID. It also
allows you to specify a thread GUID.

IConnectionPoint Supports connection points for connectable objects.

IConnectionPointContainer Supports connection points for connectable objects.

IContext Supports setting COM+ context properties.

IContext Supports setting COM+ context properties.

IContextCallback Provides a mechanism to execute a function inside a specific


COM+ object context.
T IT L E DESC RIP T IO N

IContinueCallback Provides a generic callback mechanism for interruptible


processes that should periodically ask an object whether to
continue.

IDataAdviseHolder Creates and manages advisory connections between a data


object and one or more advise sinks.

IDataObject Enables data transfer and notification of changes in data.

IDropSource The IDropSource interface is one of the interfaces you


implement to provide drag-and-drop operations in your
application.

IDropSourceNotify The IDropSourceNotify interface is implemented on an


IDropSource object to receive notifications from OLE when a
user drags the mouse into or out of a potential drop target
window.

IDropTarget The IDropTarget interface is one of the interfaces you


implement to provide drag-and-drop operations in your
application.

IEnterpriseDropTarget When implemented by the drop target application, this


interface gives the OLE drag and drop engine the ability to
determine whether the drop target application intends to
evaluate enterprise protection policy and gives the OLE drag
and drop engine a way to provide the enterprise ID of the
drop source application to the drop target application.

IEnumCATEGORYINFO Enumerates component categories registered in the system.

IEnumConnectionPoints Enumerates connection points.

IEnumConnections Enumerates the current connections for a connectable


object.

IEnumContextProps Provides a mechanism for enumerating the context


properties associated with a COM+ object context.

IEnumContextProps Provides a mechanism for enumerating the context


properties associated with a COM+ object context.

IEnumFORMATETC Enumerates the FORMATETC structures that define the


formats and media supported by a given data object.

IEnumGUID Enables clients to enumerate through a collection of class


IDs for COM classes.

IEnumMoniker Enumerates the components of a moniker or the monikers


in a table of monikers.

IEnumOleDocumentViews Enumerates the views supported by a document object.

IEnumOleUndoUnits Enumerates the undo units on the undo or redo stack.


T IT L E DESC RIP T IO N

IEnumOLEVERB Enumerates the different verbs available for an object in


order of ascending verb number. An enumerator that
implements the IEnumOLEVERB interface is returned by
IOleObject::EnumVerbs.

IEnumSTATDATA Enumerates the advisory connection information for a data


object.

IEnumString Enumerate strings. LPWSTR is the type that indicates a


pointer to a zero-terminated string of wide, or Unicode,
characters.

IEnumString Enumerate strings. LPWSTR is the type that indicates a


pointer to a zero-terminated string of wide, or Unicode,
characters.

IEnumUnknown Enumerates objects with the IUnknown interface. It can be


used to enumerate through the objects in a component
containing multiple objects.

IEnumUnknown Enumerates objects with the IUnknown interface. It can be


used to enumerate through the objects in a component
containing multiple objects.

IEventProperty Associates a named event property with its value.

IEventPublisher Registers, modifies, removes, and provides information


about an event publisher.

IExternalConnection Manages a server object's count of marshaled, or external,


connections. A server that maintains such a count can
detect when it has no external connections and shut itself
down in an orderly fashion.

IExternalConnection Manages a server object's count of marshaled, or external,


connections. A server that maintains such a count can
detect when it has no external connections and shut itself
down in an orderly fashion.

IFastRundown Marks an interface as eligible for fast rundown behavior.

IFastRundown Marks an interface as eligible for fast rundown behavior.

IFileBasedLogInit Initializes an instance of a file based implementation of ILog.

IFont Provides a wrapper around a Windows font object.

IFontDisp Exposes a font object's properties through Automation. It


provides a subset of the IFont methods.

IForegroundTransfer Transfers the foreground window to the process hosting the


COM server.

IGetOleObject Gets access to an OLE control on a Visual Basic container.


T IT L E DESC RIP T IO N

IGetVBAObject Gets access to the IVBFormat interface.

IGlobalInterfaceTable Enables any apartment in a process to get access to an


interface implemented on an object in any other apartment
in the process.

IGlobalOptions Sets and queries global properties of the Component Object


Model (COM) runtime.

IGlobalOptions Sets and queries global properties of the Component Object


Model (COM) runtime.

IInitializeSpy Performs initialization or cleanup when entering or exiting a


COM apartment.

IInternalUnknown Used exclusively in lightweight client-side handlers that


require access to some of the internal interfaces on the
proxy.

IInternalUnknown Used exclusively in lightweight client-side handlers that


require access to some of the internal interfaces on the
proxy.

ILog Provides generic low-level logging functionality.

IMalloc Allocates, frees, and manages memory.

IMalloc Allocates, frees, and manages memory.

IMallocSpy Enables application developers to monitor (spy on) memory


allocation, detect memory leaks, and simulate memory
failure in calls to IMalloc methods.

IMarshal Enables a COM object to define and manage the marshaling


of its interface pointers.

IMarshal Enables a COM object to define and manage the marshaling


of its interface pointers.

IMarshalingStream Provides additional information about the marshaling


context to custom-marshaled objects and unmarshalers.

IMarshalingStream Provides additional information about the marshaling


context to custom-marshaled objects and unmarshalers.

IMessageDispatcher Callback interface implemented by components that need to


perform special processing of window messages on an ASTA
thread.

IMessageFilter Provides COM servers and applications with the ability to


selectively handle incoming and outgoing COM messages
while waiting for responses from synchronous calls.
T IT L E DESC RIP T IO N

IMoniker Enables you to use a moniker object, which contains


information that uniquely identifies a COM object.

IMultiQI Enables a client to query an object proxy, or handler, for


multiple interfaces by using a single RPC call.

IMultiQI Enables a client to query an object proxy, or handler, for


multiple interfaces by using a single RPC call.

INoMarshal Marks an object that doesn't support being marshaled or


stored in the Global Interface Table.

INoMarshal Marks an object that doesn't support being marshaled or


stored in the Global Interface Table.

IObjContext Performs various operations on contexts.

IObjContext Performs various operations on contexts.

IObjectWithSite Provides a simple way to support communication between


an object and its site in the container.

IOleAdviseHolder Manages advisory connections and compound document


notifications in an object server.

IOleCache Provides control of the presentation data that gets cached


inside of an object. Cached presentation data is available to
the container of the object even when the server application
is not running or is unavailable.

IOleCache2 Enables object clients to selectively update each cache that


was created with IOleCache::Cache.

IOleCacheControl Provides proper maintenance of caches. It maintains the


caches by connecting the running object's IDataObject
implementation to the cache, allowing the cache to receive
notifications from the running object.

IOleClientSite Provides the primary means by which an embedded object


obtains information about the location and extent of its
display site, its moniker, its user interface, and other
resources provided by its container.

IOleCommandTarget Enables objects and their containers to dispatch commands


to each other. For example, an object's toolbars may contain
buttons for commands such as Print, Print Preview, Save,
New, and Zoom.

IOleContainer Enumerates objects in a compound document or lock a


container in the running state. Container and object
applications both implement this interface.

IOleControl Provides the features for supporting keyboard mnemonics,


ambient properties, and events in control objects.
T IT L E DESC RIP T IO N

IOleControlSite Provides the methods that enable a site object to manage


each embedded control within a container.

IOleDocument Enables a document object to communicate to containers its


ability to create views of its data.

IOleDocumentSite Enables a document that has been implemented as a


document object to bypass the normal activation sequence
for in-place-active objects and to directly instruct its client
site to activate it as a document object.

IOleDocumentView The IOleDocumentView interface enables a container to


communicate with each view supported by a document
object.

IOleInPlaceActiveObject Provides a direct channel of communication between an in-


place object and the associated application's outer-most
frame window and the document window within the
application that contains the embedded object.

IOleInPlaceFrame Controls the container's top-level frame window.

IOleInPlaceObject Manages the activation and deactivation of in-place objects,


and determines how much of the in-place object should be
visible.

IOleInPlaceObjectWindowless Enables a windowless object to process window messages


and participate in drag and drop operations. It is derived
from and extends the IOleInPlaceObject interface.

IOleInPlaceSite Manages the interaction between the container and the


object's in-place client site. Recall that the client site is the
display site for embedded objects, and provides position and
conceptual information about the object.

IOleInPlaceSiteEx Provides an additional set of activation and deactivation


notification methods that enable an object to avoid
unnecessary flashing on the screen when the object is
activated and deactivated.

IOleInPlaceSiteWindowless Extends the IOleInPlaceSiteEx interface.

IOleInPlaceUIWindow Implemented by container applications and used by object


applications to negotiate border space on the document or
frame window.

IOleItemContainer Used by item monikers when they are bound to the objects
they identify.

IOleLink Enables a linked object to provide its container with


functions pertaining to linking.

IOleObject Serves as the principal means by which an embedded object


provides basic functionality to, and communicates with, its
container.
T IT L E DESC RIP T IO N

IOleParentUndoUnit Enables undo units to contain child undo units.

IOleUILinkContainerA Implemented by containers and used by OLE common


dialog boxes. It supports these dialog boxes by providing
the methods needed to manage a container's links.

IOleUILinkContainerW Implemented by containers and used by OLE common


dialog boxes. It supports these dialog boxes by providing
the methods needed to manage a container's links.

IOleUILinkInfoA An extension of the IOleUILinkContainer interface. It returns


the time that an object was last updated, which is link
information that IOleUILinkContainer does not provide.

IOleUILinkInfoW An extension of the IOleUILinkContainer interface. It returns


the time that an object was last updated, which is link
information that IOleUILinkContainer does not provide.

IOleUIObjInfoA Implemented by containers and used by the container's


Object Properties dialog box and by the Convert dialog box.

IOleUIObjInfoW Implemented by containers and used by the container's


Object Properties dialog box and by the Convert dialog box.

IOleUndoManager The IOleUndoManager interface enables containers to


implement multi-level undo and redo operations for actions
that occur within contained controls.

IOleUndoUnit Serves as the main interface on an undo unit. An undo unit


encapsulates the information necessary to undo or redo a
single action.

IOleWindow The IOleWindow interface provides methods that allow an


application to obtain the handle to the various windows that
participate in in-place activation, and also to enter and exit
context-sensitive help mode.

IParseDisplayName Parses a displayable name string to convert it into a moniker


for custom moniker implementations.

IPerPropertyBrowsing Retrieves the information in the property pages offered by


an object.

IPersist Provides the CLSID of an object that can be stored


persistently in the system. Allows the object to specify which
object handler to use in the client process, as it is used in the
default implementation of marshaling.

IPersistFile Enables an object to be loaded from or saved to a disk file,


rather than a storage object or stream.

IPersistStorage Enables a container application to pass a storage object to


one of its contained objects and to load and save the
storage object.
T IT L E DESC RIP T IO N

IPersistStream Enables the saving and loading of objects that use a simple
serial stream for their storage needs.

IPersistStreamInit A replacement for IPersistStream that adds an initialization


method.

IPicture Manages a picture object and its properties. Picture objects


provide a language-neutral abstraction for bitmaps, icons,
and metafiles.

IPictureDisp Exposes the picture object's properties through Automation.


It provides a subset of the functionality available through
IPicture methods.

IPipeByte Transfers data of the byte type (which is 8 bits wide).

IPipeByte Transfers data of the byte type (which is 8 bits wide).

IPipeDouble Transfers data of the double type (which is 64 bits wide).

IPipeDouble Transfers data of the double type (which is 64 bits wide).

IPipeLong Transfers data of the long integer type (which is 32 bits


wide).

IPipeLong Transfers data of the long integer type (which is 32 bits


wide).

IPointerInactive Enables an object to remain inactive most of the time, yet


still participate in interaction with the mouse, including drag
and drop.

IPrint Enables compound documents in general and active


documents in particular to support programmatic printing.

IProcessInitControl Specifies the process initialization time-out interval.

IProcessInitControl Specifies the process initialization time-out interval.

IProcessLock Used by ISurrogateService to prevent the process from


terminating due to a time-out.

IProgressNotify Enables applications and other objects to receive


notifications of changes in the progress of a downloading
operation.

IPropertyNotifySink Implemented by a sink object to receive notifications about


property changes from an object that supports
IPropertyNotifySink as an outgoing interface.

IPropertyPage Provides the main features of a property page object that


manages a particular page within a property sheet.
T IT L E DESC RIP T IO N

IPropertyPage2 An extension to IPropertyPage to support initial selection of


a property on a page.

IPropertyPageSite Provides the main features for a property page site object.

IProvideClassInfo Provides access to the type information for an object's


coclass entry in its type library.

IProvideClassInfo2 An extension to IProvideClassInfo that makes is faster and


easier to retrieve an object's outgoing interface IID for its
default event set.

IProvideMultipleClassInfo An extension to IProvideClassInfo2 that makes it faster and


easier to retrieve type information from a component that
may have multiple coclasses that determine its behavior.

IPSFactoryBuffer Provides custom methods for the creation of COM object


proxies and stubs. This interface is not marshalable.

IPSFactoryBuffer Provides custom methods for the creation of COM object


proxies and stubs. This interface is not marshalable.

IQuickActivate Enables controls and containers to avoid performance


bottlenecks on loading controls. It combines the load-time
or initialization-time handshaking between the control and
its container into a single call.

IROTData Implemented by monikers to enable the running object


table (ROT) to compare monikers against each other.

IRpcChannelBuffer Marshals data between a COM client proxy and a COM


server stub.

IRpcChannelBuffer Marshals data between a COM client proxy and a COM


server stub.

IRpcOptions Enables callers to set or query the values of various


properties that control how COM handles remote procedure
calls (RPC).

IRpcOptions Enables callers to set or query the values of various


properties that control how COM handles remote procedure
calls (RPC).

IRpcProxyBuffer Controls the RPC proxy used to marshal data between COM
components.

IRpcProxyBuffer Controls the RPC proxy used to marshal data between COM
components.

IRpcStubBuffer Controls the RPC stub used to marshal data between COM
components.
T IT L E DESC RIP T IO N

IRpcStubBuffer Controls the RPC stub used to marshal data between COM
components.

IRunnableObject Enables a container to control the running of its embedded


objects.

IRunningObjectTable Manages access to the running object table (ROT), a globally


accessible look-up table on each workstation.

IServerSecurity Used by a server to help authenticate the client and to


manage impersonation of the client.

IServerSecurity Used by a server to help authenticate the client and to


manage impersonation of the client.

ISimpleFrameSite Provides simple frame controls that act as simple containers


for other nested controls.

ISpecifyPropertyPages Indicates that an object supports property pages.

IStdMarshalInfo Retrieves the CLSID identifying the handler to be used in the


destination process during standard marshaling.

IStdMarshalInfo Retrieves the CLSID identifying the handler to be used in the


destination process during standard marshaling.

ISurrogate Used to dynamically load new DLL servers into an existing


surrogate and free the surrogate when it is no longer
needed.

ISurrogate Used to dynamically load new DLL servers into an existing


surrogate and free the surrogate when it is no longer
needed.

ISurrogateService Used to initialize, launch, and release a COM+ application.


You can also refresh the catalog and shut down the process.

ISynchronize Provides asynchronous communication between objects


about the occurrence of an event.

ISynchronize Provides asynchronous communication between objects


about the occurrence of an event.

ISynchronizeContainer Manages a group of unsignaled synchronization objects.

ISynchronizeContainer Manages a group of unsignaled synchronization objects.

ISynchronizeEvent Assigns an event handle to a synchronization object.

ISynchronizeEvent Assigns an event handle to a synchronization object.

ISynchronizeHandle Retrieves a handle associated with a synchronization object.


T IT L E DESC RIP T IO N

ISynchronizeHandle Retrieves a handle associated with a synchronization object.

IUnknown Enables clients to get pointers to other interfaces on a given


object through the QueryInterface method, and manage the
existence of the object through the AddRef and Release
methods.

IVBFormat Provides formatting support for controls on a Visual Basic


container.

IVBGetControl Provides access to all the controls on a Visual Basic


container.

IViewObject Enables an object to display itself directly without passing a


data object to the caller. In addition, this interface can create
and manage a connection with an advise sink so the caller
can be notified of changes in the view object.

IViewObject2 An extension to the IViewObject interface which returns the


size of the drawing for a given view of an object. You can
prevent the object from being run if it isn't already running
by calling this method instead of IOleObject::GetExtent.

IViewObjectEx An extension derived from IViewObject2 to provide support


for Enhanced, flicker-free drawing for non-rectangular
objects and transparent objects, hit testing for non-
rectangular objects, and Control sizing

Structures
T IT L E DESC RIP T IO N

ACTRL_ACCESS_ENTRY_LISTA Contains a list of access entries.

ACTRL_ACCESS_ENTRY_LISTW Contains a list of access entries.

ACTRL_ACCESS_ENTRYA Contains access-control information for a specified trustee.


This structure stores information equivalent to the access-
control information stored in an ACE.

ACTRL_ACCESS_ENTRYW Contains access-control information for a specified trustee.


This structure stores information equivalent to the access-
control information stored in an ACE.

ACTRL_ACCESSA Contains an array of access-control lists for an object and its


properties.

ACTRL_ACCESSW Contains an array of access-control lists for an object and its


properties.

ACTRL_PROPERTY_ENTRYA Contains a list of access-control entries for an object or a


specified property on an object.
T IT L E DESC RIP T IO N

ACTRL_PROPERTY_ENTRYW Contains a list of access-control entries for an object or a


specified property on an object.

BIND_OPTS Contains parameters used during a moniker-binding


operation.

CADWORD Specifies a counted array of values that can be used to


obtain the value corresponding to one of the predefined
strings for a property.

CALLFRAME_MARSHALCONTEXT Provides information about the context in which marshalling


should be carried out.

CALLFRAMEINFO Provides information about a call frame such as the method


in the call frame, if it has in, out, or in/out parameters, the
number of [in], [out], or [in, out] interfaces, the interface ID,
the number of methods in the interface and the number of
parameters in this method.

CALLFRAMEPARAMINFO Provides information about the parameter on the stack.

CALPOLESTR Specifies a counted array of strings used to specify the


predefined strings that a property can accept.

CATEGORYINFO Describes a component category.

CAUUID Specifies a counted array of UUID or GUID types used to


receive an array of CLSIDs for the property pages that the
object wants to display.

COAUTHIDENTITY Contains a user name and password.

COAUTHINFO Contains the authentication settings used while making a


remote activation request from the client computer to the
server computer.

CONNECTDATA Describes a connection that exists to a given connection


point.

CONTROLINFO Contains parameters that describe a control's keyboard


mnemonics and keyboard behavior. The structure is
populated during the IOleControl::GetControlInfo method.

COSERVERINFO Identifies a remote computer resource to the activation


functions.

COSERVERINFO Identifies a remote computer resource to the activation


functions.

CSPLATFORM Contains an operating system platform and processor


architecture.
T IT L E DESC RIP T IO N

DVASPECTINFO Contains information that is used by the IViewObject::Draw


method to optimize rendering of an inactive object by
making more efficient use of the GDI.

DVEXTENTINFO Represents the sizing data used in


IViewObjectEx::GetNaturalExtent.

DVTARGETDEVICE Specifies information about the target device for which data
is being composed. DVTARGETDEVICE contains enough
information about a Windows target device so a handle to a
device context (HDC) can be created using the CreateDC
function.

FONTDESC Contains parameters used to create a font object through


the OleCreateFontIndirect function.

FORMATETC Represents a generalized clipboard format.

INTERFACEINFO Contains information about incoming calls.

LICINFO Contains parameters that describe the licensing behavior of


a class factory that supports licensing. The structure is filled
by calling the IClassFactory2::GetLicInfo method.

MULTI_QI Represents an interface in a query for multiple interfaces.

MULTI_QI Represents an interface in a query for multiple interfaces.

OBJECTDESCRIPTOR Represents the data structure used for the


CF_OBJECTDESRIPTOR and CF_LINKSRCDESCRIPTOR file
formats.

OCPFIPARAMS Contains parameters used to invoke a property sheet dialog


box through the OleCreatePropertyFrameIndirect function.

OLECMD Associates command flags from the OLECMDF enumeration


with a command identifier through a call to
IOleCommandTarget::QueryStatus.

OLECMDTEXT Specifies a text name or status string for a single command


identifier.

OLEINPLACEFRAMEINFO Contains information about the accelerators supported by a


container during an in-place session. The structure is used in
the IOleInPlaceSite::GetWindowContext method and the
OleTranslateAccelerator function.

OLEMENUGROUPWIDTHS Indicates the number of menu items in each of the six menu
groups of a menu shared between a container and an object
server during an in-place editing session. This is the
mechanism for building a shared menu.
T IT L E DESC RIP T IO N

OLEUIBUSYA Contains information that the OLE User Interface Library


uses to initialize the Busy dialog box, and space for the
library to return information when the dialog box is
dismissed.

OLEUIBUSYW Contains information that the OLE User Interface Library


uses to initialize the Busy dialog box, and space for the
library to return information when the dialog box is
dismissed.

OLEUICHANGESOURCEA Contains information that is used to initialize the standard


Change Source dialog box.

OLEUICHANGESOURCEW Contains information that is used to initialize the standard


Change Source dialog box.

OLEUICONVERTA Contains information that the OLE User Interface Library


uses to initialize the Convert dialog box, and space for the
library to return information when the dialog box is
dismissed.

OLEUICONVERTW Contains information that the OLE User Interface Library


uses to initialize the Convert dialog box, and space for the
library to return information when the dialog box is
dismissed.

OLEUIEDITLINKSA Contains information that the OLE User Interface Library


uses to initialize the Edit Links dialog box, and contains
space for the library to return information when the dialog
box is dismissed.

OLEUIEDITLINKSW Contains information that the OLE User Interface Library


uses to initialize the Edit Links dialog box, and contains
space for the library to return information when the dialog
box is dismissed.

OLEUIGNRLPROPSA Initializes the General tab of the Object Properties dialog


box.

OLEUIGNRLPROPSW Initializes the General tab of the Object Properties dialog


box.

OLEUIINSERTOBJECTA Contains information that the OLE User Interface Library


uses to initialize the Insert Object dialog box, and space for
the library to return information when the dialog box is
dismissed.

OLEUIINSERTOBJECTW Contains information that the OLE User Interface Library


uses to initialize the Insert Object dialog box, and space for
the library to return information when the dialog box is
dismissed.

OLEUILINKPROPSA Contains information that is used to initialize the Link tab of


the Object Properties dialog box.
T IT L E DESC RIP T IO N

OLEUILINKPROPSW Contains information that is used to initialize the Link tab of


the Object Properties dialog box.

OLEUIOBJECTPROPSA Contains information that is used to initialize the standard


Object Properties dialog box.

OLEUIOBJECTPROPSW Contains information that is used to initialize the standard


Object Properties dialog box.

OLEUIPASTEENTRYA An array of entries to be specified in the


OLEUIPASTESPECIAL structure for the Paste Special dialog
box.

OLEUIPASTEENTRYW An array of entries to be specified in the


OLEUIPASTESPECIAL structure for the Paste Special dialog
box.

OLEUIPASTESPECIALA Contains information that the OLE User Interface Library


uses to initialize the Paste Special dialog box, as well as space
for the library to return information when the dialog box is
dismissed.

OLEUIPASTESPECIALW Contains information that the OLE User Interface Library


uses to initialize the Paste Special dialog box, as well as space
for the library to return information when the dialog box is
dismissed.

OLEUIVIEWPROPSA Contains information that is used to initialize the View tab of


the Object properties dialog box.

OLEUIVIEWPROPSW Contains information that is used to initialize the View tab of


the Object properties dialog box.

OLEVERB Defines a verb that an object supports. The


IOleObject::EnumVerbs method creates an enumerator that
can enumerate these structures for an object, and supplies a
pointer to the enumerator's IEnumOLEVERB.

PAGERANGE Specifies a range of pages.

PAGESET Identifies one or more page-ranges to be printed and,


optionally, identifies only the even or odd pages as part of a
pageset.

PICTDESC Contains parameters to create a picture object through the


OleCreatePictureIndirect function.

POINTF Contains information that is used to convert between


container units, expressed in floating point, and control
units, expressed in HIMETRIC.

PROPPAGEINFO Contains parameters used to describe a property page to a


property frame. A property page fills a caller-provided
structure in the IPropertyPage::GetPageInfo method.
T IT L E DESC RIP T IO N

QACONTAINER Specifies container information for


IQuickActivate::QuickActivate.

QACONTROL Specifies control information for


IQuickActivate::QuickActivate.

QUERYCONTEXT Contains a list of attributes used to look up a class


implementation.

RPCOLEMESSAGE Contains marshaling invocation arguments and return


values between COM components.

RPCOLEMESSAGE Contains marshaling invocation arguments and return


values between COM components.

SOLE_AUTHENTICATION_INFO Identifies an authentication service, authorization service,


and the authentication information for the specified
authentication service.

SOLE_AUTHENTICATION_INFO Identifies an authentication service, authorization service,


and the authentication information for the specified
authentication service.

SOLE_AUTHENTICATION_LIST Indicates the default authentication information to use with


each authentication service.

SOLE_AUTHENTICATION_LIST Indicates the default authentication information to use with


each authentication service.

SOLE_AUTHENTICATION_SERVICE Identifies an authentication service that a server is willing to


use to communicate to a client.

SOLE_AUTHENTICATION_SERVICE Identifies an authentication service that a server is willing to


use to communicate to a client.

STATDATA Contains information used to specify each advisory


connection.
Compression API
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Compression API technology.


To develop Compression API, you need these headers:
compressapi.h
For programming guidance for this technology, see:
Compression API

Enumerations
T IT L E DESC RIP T IO N

COMPRESS_INFORMATION_CLASS The values of this enumeration identify the type of information


class being set or retrieved.

Functions
T IT L E DESC RIP T IO N

CloseCompressor Call to close an open COMPRESSOR_HANDLE.

CloseDecompressor Call to close an open DECOMPRESSOR_HANDLE.

Compress Takes a block of information and compresses it.

CreateCompressor Generates a new COMPRESSOR_HANDLE.

CreateDecompressor Generates a new DECOMPRESSOR_HANDLE.

Decompress Takes a block of compressed information and decompresses it.

QueryCompressorInformation Queries a compressor for information for a particular


compression algorithm.

QueryDecompressorInformation Use this function to query information about a particular


compression algorithm.

ResetCompressor Prepares the compressor for the compression of a new stream.

ResetDecompressor Prepares the decompressor for the decompression of a new


stream.

SetCompressorInformation Sets information in a compressor for a particular compression


algorithm.
T IT L E DESC RIP T IO N

SetDecompressorInformation Sets information in a decompressor for a particular


compression algorithm.

Structures
T IT L E DESC RIP T IO N

COMPRESS_ALLOCATION_ROUTINES A structure containing optional memory allocation and


deallocation routines.
Core Audio APIs
2/7/2020 • 31 minutes to read • Edit Online

Overview of the Core Audio APIs technology.


To develop Core Audio APIs, you need these headers:
audioclient.h
audioendpoints.h
audioenginebaseapo.h
audioengineendpoint.h
audiopolicy.h
audiosessiontypes.h
devicetopology.h
endpointvolume.h
mmdeviceapi.h
spatialaudioclient.h
spatialaudiohrtf.h
spatialaudiometadata.h
For programming guidance for this technology, see:
Core Audio APIs

Enumerations
T IT L E DESC RIP T IO N

_AUDCLNT_BUFFERFLAGS The _AUDCLNT_BUFFERFLAGS enumeration defines flags that


indicate the status of an audio endpoint buffer.

AUDCLNT_SHAREMODE The AUDCLNT_SHAREMODE enumeration defines constants


that indicate whether an audio stream will run in shared
mode or in exclusive mode.

AUDCLNT_STREAMOPTIONS Defines values that describe the characteristics of an audio


stream.

AUDIO_STREAM_CATEGORY Specifies the category of an audio stream.

AudioObjectType Specifies the type of an ISpatialAudioObject.

AudioSessionState The AudioSessionState enumeration defines constants that


indicate the current state of an audio session.

ConnectorType The ConnectorType enumeration indicates the type of


connection that a connector is part of.

DataFlow The DataFlow enumeration indicates the data-flow direction


of an audio stream through a connector.
T IT L E DESC RIP T IO N

EDataFlow The EDataFlow enumeration defines constants that indicate


the direction in which audio data flows between an audio
endpoint device and an application.

EndpointFormFactor The EndpointFormFactor enumeration defines constants that


indicate the general physical attributes of an audio endpoint
device.

ERole The ERole enumeration defines constants that indicate the


role that the system has assigned to an audio endpoint
device.

KSJACK_SINK_CONNECTIONTYPE The KSJACK_SINK_CONNECTIONTYPE enumeration defines


constants that specify the type of connection. These values
are used in the KSJACK_SINK_INFORMATION structure that
stores information about an audio jack sink.

PartType The PartType enumeration defines constants that indicate


whether a part in a device topology is a connector or subunit.

SpatialAudioHrtfDirectivityType Specifies the shape in which sound is emitted by an


ISpatialAudioObjectForHrtf.

SpatialAudioHrtfDistanceDecayType Specifies the type of decay applied over distance from the
position of an ISpatialAudioObjectForHrtf to the position of
the listener.

SpatialAudioHrtfEnvironmentType Specifies the type of acoustic environment that is simulated


when audio is processed for an ISpatialAudioObjectForHrtf.

SpatialAudioMetadataCopyMode Specifies the copy mode used when calling


ISpatialAudioMetadataCopier::CopyMetadataForFrames.

SpatialAudioMetadataWriterOverflowMode Specifies the desired behavior when an


ISpatialAudioMetadataWriter attempts to write more items
into the metadata buffer than was specified when the client
was initialized.

Functions
T IT L E DESC RIP T IO N

Activate The Activate method creates a COM object with the specified
interface.

Activate The Activate method activates a function-specific interface on


a connector or subunit.

ActivateAudioInterfaceAsync Enables Windows Store apps to access preexisting


Component Object Model (COM) interfaces in the WASAPI
family.

ActivateCompleted Indicates that activation of a WASAPI interface is complete


and results are available.
T IT L E DESC RIP T IO N

ActivateSpatialAudioMetadataCopier Creates an ISpatialAudioMetadataWriter object for copying


spatial audio metadata items from one
ISpatialAudioMetadataItems object to another.

ActivateSpatialAudioMetadataItems Creates an ISpatialAudioMetadataItems object for storing


spatial audio metadata items.

ActivateSpatialAudioMetadataReader Creates an ISpatialAudioMetadataWriter object for reading


spatial audio metadata items from an
ISpatialAudioMetadataItems object.

ActivateSpatialAudioMetadataWriter Creates an ISpatialAudioMetadataWriter object for writing


spatial audio metadata items to an
ISpatialAudioMetadataItems object.

ActivateSpatialAudioObject Activates an ISpatialAudioObject for audio rendering.

ActivateSpatialAudioObjectForHrtf Activates an ISpatialAudioObjectForHrtf for audio rendering.

ActivateSpatialAudioObjectForMetadataCommands Activate an ISpatialAudioObjectForMetadataCommands for


rendering.

ActivateSpatialAudioObjectForMetadataItems Activate an ISpatialAudioObjectForMetadataItems for


rendering.

ActivateSpatialAudioStream Activates and initializes spatial audio stream using one of the
spatial audio stream activation structures.

AttachToBuffer Attaches caller-provided memory for storage of


ISpatialAudioMetadataItems objects.

AttachToPopulatedBuffer Attaches a previously populated buffer for storage of


ISpatialAudioMetadataItems objects. The metadata items
already in the buffer are retained.

BeginUpdatingAudioObjects Puts the system into the state where audio object data can be
submitted for processing and the ISpatialAudioObject state
can be modified.

Close Completes any necessary operations on the


SpatialAudioMetadataItems object and releases the object.

Close Completes any necessary operations on the


SpatialAudioMetadataItems object and releases the object.

Close Completes any needed operations on the metadata buffer


and releases the specified ISpatialAudioMetadataItems object.

ConnectTo The ConnectTo method connects this connector to a


connector in another device-topology object.
T IT L E DESC RIP T IO N

CopyMetadataForFrames Copies metadata items from the source


ISpatialAudioMetadataItems, provided to the Open method,
object to the destination ISpatialAudioMetadataItems object,
specified with the dstMetadataItems parameter.

DetachBuffer Detaches the buffer. Memory can only be attached to a single


metadata item at a time.

Disconnect The Disconnect method disconnects this connector from


another connector.

EndUpdatingAudioObjects Notifies the system that the app has finished supplying audio
data for the spatial audio objects activated with
ActivateSpatialAudioObject.

EnumAudioEndpoints The EnumAudioEndpoints method generates a collection of


audio endpoint devices that meet the specified criteria.

EnumPartsIncoming The EnumPartsIncoming method gets a list of all the


incoming parts—that is, the parts that reside on data paths
that are upstream from this part.

EnumPartsOutgoing The EnumPartsOutgoing method retrieves a list of all the


outgoing parts—that is, the parts that reside on data paths
that are downstream from this part.

Get4BRange The Get4BRange method gets the 4-byte range of the


device-specific property value.

GetActivateResult Gets the results of an asynchronous activation of a WASAPI


interface initiated by an application calling the
ActivateAudioInterfaceAsync function.

GetAllVolumes The GetAllVolumes method retrieves the volume levels for all
the channels in the audio stream.

GetAllVolumes The GetAllVolumes method retrieves the volume levels for all
the channels in the audio session.

GetAudioObjectType Gets a value specifying the type of audio object that is


represented by the ISpatialAudioObject.

GetAudioSessionControl The GetAudioSessionControl method retrieves an audio


session control.

GetAvailableDynamicObjectCount Gets the number of dynamic spatial audio objects that are
currently available.

GetAvailableOffloadConnectorCount The GetAvailableOffloadConnectorCount method retrieves


the number of avaialable endpoints that can handle offloaded
streams on the hardware audio engine.

GetBuffer Gets a buffer that is used to supply the audio data for the
ISpatialAudioObject.
T IT L E DESC RIP T IO N

GetBuffer Retrieves a pointer to the next available packet of data in the


capture endpoint buffer.

GetBuffer Retrieves a pointer to the next available space in the


rendering endpoint buffer into which the caller can write a
data packet.

GetBufferSize The GetBufferSize method retrieves the size (maximum


capacity) of the endpoint buffer.

GetBufferSizeLimits The GetBufferSizeLimits method returns the buffer size limits


of the hardware audio engine in 100-nanosecond units.

GetChannelConfig The GetChannelConfig method gets the current channel-


configuration mask from a channel-configuration control.

GetChannelCount The GetChannelCount method gets the number of channels


in the audio stream.

GetChannelCount The GetChannelCount method gets the number of channels


in the audio stream.

GetChannelCount The GetChannelCount method retrieves the number of


channels in the audio stream.

GetChannelCount The GetChannelCount method retrieves the number of


channels in the stream format for the audio session.

GetChannelCount The GetChannelCount method gets a count of the channels


in the audio stream that enters or leaves the audio endpoint
device.

GetChannelsPeakValues The GetChannelsPeakValues method gets the peak sample


values for all the channels in the audio stream.

GetChannelVolume The GetChannelVolume method retrieves the volume level for


the specified channel in the audio stream.

GetChannelVolume The GetChannelVolume method retrieves the volume level for


the specified channel in the audio session.

GetChannelVolumeLevel The GetChannelVolumeLevel method gets the volume level, in


decibels, of the specified channel in the audio stream that
enters or leaves the audio endpoint device.

GetChannelVolumeLevelScalar The GetChannelVolumeLevelScalar method gets the


normalized, audio-tapered volume level of the specified
channel of the audio stream that enters or leaves the audio
endpoint device.

GetChannelVolumes The GetChannelVolumes method retrieves the volume levels


for the various audio channels in the offloaded stream.

GetCharacteristics The GetCharacteristics method is reserved for future use.


T IT L E DESC RIP T IO N

GetConnectedTo The GetConnectedTo method gets the connector to which


this connector is connected.

GetConnector The GetConnector method gets the connector that is


specified by a connector number.

GetConnectorCount The GetConnectorCount method gets the number of


connectors in the device-topology object.

GetConnectorIdConnectedTo The GetConnectorIdConnectedTo method gets the global ID


of the connector, if any, that this connector is connected to.

GetControlInterface The GetControlInterface method gets a reference to the


specified control interface, if this part supports it.

GetControlInterfaceCount The GetControlInterfaceCount method gets the number of


control interfaces that this part supports.

GetCount Gets the number of supported audio formats in the list.

GetCount The GetCount method retrieves a count of the devices in the


device collection.

GetCount The GetCount method gets the number of parts in the parts
list.

GetCount The GetCount method gets the total number of audio


sessions that are open on the audio device.

GetCurrentPadding The GetCurrentPadding method retrieves the number of


frames of padding in the endpoint buffer.

GetCurrentSharedModeEnginePeriod Returns the current format and periodicity of the audio


engine.

GetDataFlow The GetDataFlow method indicates whether the audio


endpoint device is a rendering device or a capture device.

GetDataFlow The GetDataFlow method gets the direction of data flow


through this connector.

GetDefaultAudioEndpoint The GetDefaultAudioEndpoint method retrieves the default


audio endpoint for the specified data-flow direction and role.

GetDevice The GetDevice method retrieves an audio endpoint device


that is identified by an endpoint ID string.

GetDeviceId The GetDeviceId method gets the device identifier of the


device that is represented by the device-topology object.

GetDeviceIdConnectedTo The GetDeviceIdConnectedTo method gets the device


identifier of the audio device, if any, that this connector is
connected to.
T IT L E DESC RIP T IO N

GetDevicePeriod The GetDevicePeriod method retrieves the length of the


periodic interval separating successive processing passes by
the audio engine on the data in the endpoint buffer.

GetDevicePosition The GetDevicePosition method gets the current device


position, in frames, directly from the hardware.

GetDevicePreferredFormat The GetDevicePreferredFormat method gets the preferred


audio stream format for the connection.

GetDisplayName The GetDisplayName method retrieves the display name for


the audio session.

GetEnabled The GetEnabled method gets the current state (enabled or


disabled) of the AGC.

GetEnabled The GetEnabled method gets the current state (enabled or


disabled) of the loudness control.

GetEngineFormat The GetEngineFormat method retrieves the current data


format of the offloaded audio stream.

GetFormat Gets the format with the specified index in the list. The
formats are listed in order of importance. The most preferable
format is first in the list.

GetFrameCount Gets the total frame count of the


ISpatialAudioMetadataItems, which defines valid item offsets.

GetFrequency The GetFrequency method gets the device frequency.

GetGfxState The GetGfxState method retrieves the GFX state of the


offloaded audio stream.

GetGlobalId The GetGlobalId method gets the global ID of this part.

GetGroupingParam The GetGroupingParam method retrieves the grouping


parameter of the audio session.

GetIconPath The GetIconPath method retrieves the path for the display
icon for the audio session.

GetId The GetId method retrieves an endpoint ID string that


identifies the audio endpoint device.

GetIID The GetIID method gets the interface ID of the function-


specific control interface of the part.

GetInfo Gets the total frame count for the


ISpatialAudioMetadataItems, which defines valid item offsets.

GetItemCount The current number of items stored by the


ISpatialAudioMetadataItems.
T IT L E DESC RIP T IO N

GetJackCount The GetJackCount method gets the number of jacks required


to connect to an audio endpoint device.

GetJackCount The GetJackCount method gets the number of jacks on the


connector, which are required to connect to an endpoint
device.

GetJackDescription The GetJackDescription method gets a description of an audio


jack.

GetJackDescription2 The GetJackDescription2 method gets the description of a


specified audio jack.

GetJackSinkInformation The GetJackSinkInformation method retrieves the sink


information for the specified jack.

GetLevel The GetLevel method gets the peak level that the peak meter
recorded for the specified channel since the peak level for that
channel was previously read.

GetLevel The GetLevel method gets the volume level, in decibels, of the
specified channel.

GetLevelRange The GetLevelRange method gets the range, in decibels, of the


volume level of the specified channel.

GetLocalEffectsState The GetLocalEffectsState method retrieves the local effects


state that is currently applied to the offloaded audio stream.

GetLocalId The GetLocalId method gets the local ID of this part.

GetMasterVolume The GetMasterVolume method retrieves the client volume


level for the audio session.

GetMasterVolumeLevel The GetMasterVolumeLevel method gets the master volume


level, in decibels, of the audio stream that enters or leaves the
audio endpoint device.

GetMasterVolumeLevelScalar The GetMasterVolumeLevelScalar method gets the master


volume level of the audio stream that enters or leaves the
audio endpoint device. The volume level is expressed as a
normalized, audio-tapered value in the range from 0.0 to 1.0.

GetMaxDynamicObjectCount Gets the maximum number of dynamic audio objects for the
spatial audio client.

GetMaxFrameCount Gets the maximum possible frame count per processing pass.
This method can be used to determine the size of the source
buffer that should be allocated to convey audio data for each
processing pass.

GetMaxItemCount The maximum number of items allowed by the


ISpatialAudioMetadataItems, defined when the object is
created.
T IT L E DESC RIP T IO N

GetMaxValueBufferLength The size of the largest command value defined by the


metadata format for the ISpatialAudioMetadataItems.

GetMeterChannelCount Gets the number of available audio channels in the offloaded


stream that can be metered.

GetMeteringChannelCount The GetMeteringChannelCount method gets the number of


channels in the audio stream that are monitored by peak
meters.

GetMeteringData The GetMeteringData method retrieves general information


about the available audio channels in the offloaded stream.

GetMixFormat The GetMixFormat method retrieves the stream format that


the audio engine uses for its internal processing of shared-
mode streams.

GetMute The GetMute method retrieves the mute status of the


offloaded audio stream.

GetMute The GetMute method gets the current state (enabled or


disabled) of the mute control.

GetMute The GetMute method retrieves the current muting state for
the audio session.

GetMute The GetMute method gets the muting state of the audio
stream that enters or leaves the audio endpoint device.

GetName The GetName method gets the friendly name for the audio
function that the control interface encapsulates.

GetName The GetName method gets the friendly name of this part.

GetNativeStaticObjectTypeMask Gets a channel mask which represents the subset of static


speaker bed channels native to current rendering engine.

GetNextPacketSize The GetNextPacketSize method retrieves the number of


frames in the next data packet in the capture endpoint buffer.

GetPart The GetPart method gets a part from the parts list.

GetPartById The GetPartById method gets a part that is identified by its


local ID.

GetPartType The GetPartType method gets the part type of this part.

GetPeakValue The GetPeakValue method gets the peak sample value for the
channels in the audio stream.

GetPosition The GetPosition method gets the current device position.


T IT L E DESC RIP T IO N

GetProcessId The GetProcessId method retrieves the process identifier of


the audio session.

GetSelection The GetSelection method gets the local ID of the part that is
connected to the selector input that is currently selected.

GetSelection The GetSelection method gets the local ID of the part that is
connected to the selector output that is currently selected.

GetService Gets additional services from the


ISpatialAudioObjectRenderStream.

GetService The GetService method accesses additional services from the


audio client object.

GetSession The GetSession method gets the audio session specified by an


audio session number.

GetSessionEnumerator The GetSessionEnumerator method gets a pointer to the


audio session enumerator object.

GetSessionIdentifier The GetSessionIdentifier method retrieves the audio session


identifier.

GetSessionInstanceIdentifier The GetSessionInstanceIdentifier method retrieves the


identifier of the audio session instance.

GetSharedModeEnginePeriod Returns the range of periodicities supported by the engine for


the specified stream format.

GetSignalPath The GetSignalPath method gets a list of parts in the signal


path that links two parts, if the path exists.

GetSimpleAudioVolume The GetSimpleAudioVolume method retrieves a simple audio


volume control.

GetSpatialAudioMetadataItems Gets a pointer to the ISpatialAudioMetadataItems object


which stores metadata items for the
ISpatialAudioObjectForMetadataItems.

GetSpatialAudioMetadataItemsBufferLength Gets the length of the buffer required to store the specified
number of spatial audio metadata items.

GetState The GetState method retrieves the current device state.

GetState The GetState method retrieves the current state of the audio
session.

GetStaticObjectPosition Gets the position in 3D space of the specified static spatial


audio channel.

GetStreamLatency The GetStreamLatency method retrieves the maximum


latency for the current stream and can be called any time
after the stream has been initialized.
T IT L E DESC RIP T IO N

GetSubType The GetSubType method gets the part subtype of this part.

GetSubunit The GetSubunit method gets the subunit that is specified by a


subunit number.

GetSubunitCount The GetSubunitCount method gets the number of subunits in


the device topology.

GetSupportedAudioObjectFormatEnumerator Gets an IAudioFormatEnumerator that contains all supported


audio formats for spatial audio objects, the first item in the list
represents the most preferable format.

GetTopologyObject The GetTopologyObject method gets a reference to the


IDeviceTopology interface of the device-topology object that
contains this part.

GetType The GetType method gets the type of this connector.

GetType The GetType method gets the data type of the device-specific
property value.

GetValue The GetValue method gets the current value of the device-
specific property.

GetVolumeChannelCount The GetVolumeChannelCount method retrieves the number


of available audio channels in the offloaded stream.

GetVolumeRange The GetVolumeRange method gets the volume range, in


decibels, of the audio stream that enters or leaves the audio
endpoint device.

GetVolumeRangeChannel The GetVolumeRangeChannel method gets the volume range


for a specified channel.

GetVolumeStepInfo The GetVolumeStepInfo method gets information about the


current step in the volume range.

Initialize The Initialize method initializes the audio stream.

InitializeSharedAudioStream Initializes a shared stream with the specified periodicity.

IsActive Gets a boolean value indicating whether the


ISpatialAudioObject is valid.

IsAudioObjectFormatSupported Gets a value indicating whether


ISpatialAudioObjectRenderStream supports a the specified
format.

IsConnected The IsConnected method indicates whether this connector is


connected to another connector.

IsFormatSupported The IsFormatSupported method indicates whether the audio


endpoint device supports the specified audio stream format.
T IT L E DESC RIP T IO N

IsFormatSupported The IsFormatSupported method indicates whether the audio


endpoint device supports a particular stream format.

IsLastBufferControlSupported Indicates if last buffer control is supported.

IsOffloadCapable The IsOffloadCapable method retrieves information about


whether or not the endpoint on which a stream is created is
capable of supporting an offloaded audio stream.

IsSpatialAudioStreamAvailable When successful, gets a value indicating whether the currently


active spatial rendering engine supports the specified spatial
audio render stream.

IsSystemSoundsSession The IsSystemSoundsSession method indicates whether the


session is a system sounds session.

Item The Item method retrieves a pointer to the specified item in


the device collection.

OnAvailableDynamicObjectCountChange Notifies the spatial audio client when the rendering capacity
for an ISpatialAudioObjectRenderStream is about to change,
specifies the time after which the change will occur, and
specifies the number of dynamic audio objects that will be
available after the change.

OnChannelVolumeChanged The OnChannelVolumeChanged method notifies the client


that the volume level of an audio channel in the session
submix has changed.

OnDefaultDeviceChanged The OnDefaultDeviceChanged method notifies the client that


the default audio endpoint device for a particular device role
has changed.

OnDeviceAdded The OnDeviceAdded method indicates that a new audio


endpoint device has been added.

OnDeviceRemoved The OnDeviceRemoved method indicates that an audio


endpoint device has been removed.

OnDeviceStateChanged The OnDeviceStateChanged method indicates that the state


of an audio endpoint device has changed.

OnDisplayNameChanged The OnDisplayNameChanged method notifies the client that


the display name for the session has changed.

OnGroupingParamChanged The OnGroupingParamChanged method notifies the client


that the grouping parameter for the session has changed.

OnIconPathChanged The OnIconPathChanged method notifies the client that the


display icon for the session has changed.

OnNotify The OnNotify method notifies the client when the status of a
connector or subunit changes.
T IT L E DESC RIP T IO N

OnNotify The OnNotify method notifies the client that the volume level
or muting state of the audio endpoint device has changed.

OnPropertyValueChanged The OnPropertyValueChanged method indicates that the


value of a property belonging to an audio endpoint device
has changed.

OnSessionCreated The OnSessionCreated method notifies the registered


processes that the audio session has been created.

OnSessionDisconnected The OnSessionDisconnected method notifies the client that


the audio session has been disconnected.

OnSimpleVolumeChanged The OnSimpleVolumeChanged method notifies the client that


the volume level or muting state of the audio session has
changed.

OnStateChanged The OnStateChanged method notifies the client that the


stream-activity state of the session has changed.

OnVolumeDuckNotification The OnVolumeDuckNotification method sends a notification


about a pending system ducking event.

OnVolumeUnduckNotification The OnVolumeUnduckNotification method sends a


notification about a pending system unducking event.

Open Opens an ISpatialAudioMetadataItems object for copying.

Open Opens an ISpatialAudioMetadataItems object for reading.

Open Opens an ISpatialAudioMetadataItems object for writing.

OpenPropertyStore The OpenPropertyStore method retrieves an interface to the


device's property store.

QueryHardwareSupport The QueryHardwareSupport method queries the audio


endpoint device for its hardware-supported functions.

QueryHardwareSupport The QueryHardwareSupport method queries the audio


endpoint device for its hardware-supported functions.

ReadNextItem Gets the number of commands and the sample offset for the
metadata item being read.

ReadNextItemCommand Reads metadata commands and value data for the current
item.

RegisterAudioSessionNotification The RegisterAudioSessionNotification method registers the


client to receive notifications of session events, including
changes in the stream state.

RegisterControlChangeCallback The RegisterControlChangeCallback method registers the


IControlChangeNotify interface, which the client implements
to receive notifications of status changes in this part.
T IT L E DESC RIP T IO N

RegisterControlChangeNotify The RegisterControlChangeNotify method registers a client's


notification callback interface.

RegisterDuckNotification The RegisterDuckNotification method registers the application


with the session manager to receive ducking notifications.

RegisterEndpointNotificationCallback The RegisterEndpointNotificationCallback method registers a


client's notification callback interface.

RegisterSessionNotification The RegisterSessionNotification method registers the


application to receive a notification when a session is created.

ReleaseBuffer The ReleaseBuffer method releases the buffer.

ReleaseBuffer The ReleaseBuffer method releases the buffer space acquired


in the previous call to the IAudioRenderClient::GetBuffer
method.

ReleaseOutputDataPointerForLastBuffer Releases the output data pointer for the last buffer.

Reset Reset a stopped audio stream.

Reset The Reset method resets the audio stream.

ResetToDefault Resets the format to the default setting provided by the


device manufacturer.

SetAllVolumes The SetAllVolumes method sets the individual volume levels


for all the channels in the audio stream.

SetAllVolumes The SetAllVolumes method sets the individual volume levels


for all the channels in the audio session.

SetChannelConfig The SetChannelConfig method sets the channel-configuration


mask in a channel-configuration control.

SetChannelVolume The SetChannelVolume method sets the volume level for the
specified channel in the audio stream.

SetChannelVolume The SetChannelVolume method sets the volume level for the
specified channel in the audio session.

SetChannelVolumeLevel The SetChannelVolumeLevel method sets the volume level, in


decibels, of the specified channel of the audio stream that
enters or leaves the audio endpoint device.

SetChannelVolumeLevelScalar The SetChannelVolumeLevelScalar method sets the


normalized, audio-tapered volume level of the specified
channel in the audio stream that enters or leaves the audio
endpoint device.

SetChannelVolumes The SetChannelVolumes method sets the volume levels for


the various audio channels in the offloaded stream.
T IT L E DESC RIP T IO N

SetClientProperties Sets the properties of the audio stream by populating an


AudioClientProperties structure.

SetDirectivity Sets the spatial audio directivity model for the


ISpatialAudioObjectForHrtf.

SetDisplayName The SetDisplayName method assigns a display name to the


current session.

SetDistanceDecay Sets the decay model that is applied over distance from the
position of an ISpatialAudioObjectForHrtf to the position of
the listener.

SetDuckingPreference The SetDuckingPreference method enables or disables the


default stream attenuation experience (auto-ducking)
provided by the system.

SetEnabled The SetEnabled method enables or disables the AGC.

SetEnabled The SetEnabled method enables or disables the loudness


control.

SetEndOfStream Instructs the system that the final block of audio data has
been submitted for the ISpatialAudioObject so that the object
can be deactivated and it's resources reused.

SetEngineDeviceFormat The SetEngineDeviceFormat method sets the waveform audio


format for the hardware audio engine.

SetEnvironment Sets the type of acoustic environment that is simulated when


audio is processed for the ISpatialAudioObjectForHrtf.

SetEventHandle The SetEventHandle method sets the event handle that the
system signals when an audio buffer is ready to be processed
by the client.

SetGain Sets the gain for the ISpatialAudioObjectForHrtf.

SetGfxState The SetGfxState method sets the GFX state of the offloaded
audio stream.

SetGroupingParam The SetGroupingParam method assigns a session to a


grouping of sessions.

SetIconPath The SetIconPath method assigns a display icon to the current


session.

SetLevel The SetLevel method sets the volume level, in decibels, of the
specified channel.

SetLevelAllChannels The SetLevelAllChannels method sets the volume levels, in


decibels, of all the channels in the audio stream.
T IT L E DESC RIP T IO N

SetLevelUniform The SetLevelUniform method sets all channels in the audio


stream to the same uniform volume level, in decibels.

SetLocalEffectsState The SetLocalEffectsState method sets the local effects state


that is to be applied to the offloaded audio stream.

SetMasterVolume The SetMasterVolume method sets the master volume level


for the audio session.

SetMasterVolumeLevel The SetMasterVolumeLevel method sets the master volume


level, in decibels, of the audio stream that enters or leaves the
audio endpoint device.

SetMasterVolumeLevelScalar The SetMasterVolumeLevelScalar method sets the master


volume level of the audio stream that enters or leaves the
audio endpoint device. The volume level is expressed as a
normalized, audio-tapered value in the range from 0.0 to 1.0.

SetMute The SetMute method sets the mute status of the offloaded
audio stream.

SetMute The SetMute method enables or disables the mute control.

SetMute The SetMute method sets the muting state for the audio
session.

SetMute The SetMute method sets the muting state of the audio
stream that enters or leaves the audio endpoint device.

SetOrientation Sets the orientation in 3D space, relative to the listener's


frame of reference, from which the ISpatialAudioObjectForHrtf
audio data will be rendered.

SetPosition Sets the position in 3D space, relative to the listener, from


which the ISpatialAudioObjectForHrtf audio data will be
rendered.

SetPosition Sets the position in 3D space, relative to the listener, from


which the ISpatialAudioObject audio data will be rendered.

SetSampleRate The SetSampleRate method sets the sample rate of a stream.

SetSelection The SetSelection method selects one of the inputs of the


input selector.

SetSelection The SetSelection method selects one of the outputs of the


output selector.

SetValue The SetValue method sets the value of the device-specific


property.

SetVolume Sets an audio amplitude multiplier that will be applied to the


audio data provided by the ISpatialAudioObject before it is
submitted to the audio rendering engine.
T IT L E DESC RIP T IO N

Start Starts the spatial audio stream.

Start The Start method starts the audio stream.

Stop Stops a running audio stream.

Stop The Stop method stops the audio stream.

UnregisterAudioSessionNotification The UnregisterAudioSessionNotification method deletes a


previous registration by the client to receive notifications.

UnregisterControlChangeCallback The UnregisterControlChangeCallback method removes the


registration of an IControlChangeNotify interface that the
client previously registered by a call to the
IPart::RegisterControlChangeCallback method.

UnregisterControlChangeNotify The UnregisterControlChangeNotify method deletes the


registration of a client's notification callback interface that the
client registered in a previous call to the
IAudioEndpointVolume::RegisterControlChangeNotify
method.

UnregisterDuckNotification The UnregisterDuckNotification method deletes a previous


registration by the application to receive notifications.

UnregisterEndpointNotificationCallback The UnregisterEndpointNotificationCallback method deletes


the registration of a notification interface that the client
registered in a previous call to the
IMMDeviceEnumerator::RegisterEndpointNotificationCallback
method.

UnregisterSessionNotification The UnregisterSessionNotification method deletes the


registration to receive a notification when a session is created.

VolumeStepDown The VolumeStepDown method decrements, by one step, the


volume level of the audio stream that enters or leaves the
audio endpoint device.

VolumeStepUp The VolumeStepUp method increments, by one step, the


volume level of the audio stream that enters or leaves the
audio endpoint device.

WriteNextItem Starts a new metadata item at the specified offset.

WriteNextItemCommand Writes metadata commands and value data to the current


item.

WriteNextMetadataCommand Writes a metadata command to the spatial audio object, each


command may only be added once per object per processing
cycle.

Interfaces
T IT L E DESC RIP T IO N

IActivateAudioInterfaceAsyncOperation Represents an asynchronous operation activating a WASAPI


interface and provides a method to retrieve the results of the
activation.

IActivateAudioInterfaceCompletionHandler Provides a callback to indicate that activation of a WASAPI


interface is complete.

IAudioAutoGainControl The IAudioAutoGainControl interface provides access to a


hardware automatic gain control (AGC).

IAudioBass The IAudioBass interface provides access to a hardware bass-


level control.

IAudioCaptureClient The IAudioCaptureClient interface enables a client to read


input data from a capture endpoint buffer.

IAudioChannelConfig The IAudioChannelConfig interface provides access to a


hardware channel-configuration control.

IAudioClient The IAudioClient interface enables a client to create and


initialize an audio stream between an audio application and
the audio engine (for a shared-mode stream) or the hardware
buffer of an audio endpoint device (for an exclusive-mode
stream).

IAudioClient2 The IAudioClient2 interface is derived from the IAudioClient


interface, with a set of additional methods that enable a
Windows Audio Session API (WASAPI) audio client to do the
following:_opt in for offloading, query stream properties, and
get information from the hardware that handles
offloading.The audio client can be successful in creating an
offloaded stream if the underlying endpoint supports the
hardware audio engine, the endpoint has been enumerated
and discovered by the audio system, and there are still offload
pin instances available on the endpoint.

IAudioClient3 The IAudioClient3 interface is derived from the IAudioClient2


interface, with a set of additional methods that enable a
Windows Audio Session API (WASAPI) audio client to query
for the audio engine's supported periodicities and current
periodicity as well as request initialization a shared audio
stream with a specified periodicity.

IAudioClock The IAudioClock interface enables a client to monitor a


stream's data rate and the current position in the stream.

IAudioClock2 The IAudioClock2 interface is used to get the current device


position.

IAudioClockAdjustment The IAudioClockAdjustment interface is used to adjust the


sample rate of a stream.

IAudioEndpointFormatControl Used for resetting the current audio endpoint device format.
T IT L E DESC RIP T IO N

IAudioEndpointLastBufferControl Provides functionality to allow an offload stream client to


notify the endpoint that the last buffer has been sent only
partially filled.

IAudioEndpointOffloadStreamMeter The IAudioEndpointOffloadStreamMeter interface retrieves


general information about the audio channels in the offloaded
audio stream.

IAudioEndpointOffloadStreamMute The IAudioEndpointOffloadStreamMute interface allows a


client to manipulate the mute status of the offloaded audio
stream.

IAudioEndpointOffloadStreamVolume The IAudioEndpointOffloadStreamVolume interface allows the


client application to manipulate the volume level of the
offloaded audio stream.

IAudioEndpointVolume The IAudioEndpointVolume interface represents the volume


controls on the audio stream to or from an audio endpoint
device.

IAudioEndpointVolumeCallback The IAudioEndpointVolumeCallback interface provides


notifications of changes in the volume level and muting state
of an audio endpoint device.

IAudioEndpointVolumeEx The IAudioEndpointVolumeEx interface provides volume


controls on the audio stream to or from a device endpoint.

IAudioFormatEnumerator Provides a list of supported audio formats. The most


preferred format is first in the list. Get a reference to this
interface by calling
ISpatialAudioClient::GetSupportedAudioObjectFormatEnumer
ator.

IAudioInputSelector The IAudioInputSelector interface provides access to a


hardware multiplexer control (input selector).

IAudioLfxControl The IAudioLfxControl interface allows the client to apply or


remove local effects from the offloaded audio stream.

IAudioLoudness The IAudioLoudness interface provides access to a "loudness"


compensation control.

IAudioMeterInformation The IAudioMeterInformation interface represents a peak


meter on an audio stream to or from an audio endpoint
device.

IAudioMidrange The IAudioMidrange interface provides access to a hardware


midrange-level control.

IAudioMute The IAudioMute interface provides access to a hardware mute


control.

IAudioOutputSelector The IAudioOutputSelector interface provides access to a


hardware demultiplexer control (output selector).
T IT L E DESC RIP T IO N

IAudioPeakMeter The IAudioPeakMeter interface provides access to a hardware


peak-meter control.

IAudioRenderClient The IAudioRenderClient interface enables a client to write


output data to a rendering endpoint buffer.

IAudioSessionControl The IAudioSessionControl interface enables a client to


configure the control parameters for an audio session and to
monitor events in the session.

IAudioSessionControl2 The IAudioSessionControl2 interface can be used by a client


to get information about the audio session.

IAudioSessionEnumerator The IAudioSessionEnumerator interface enumerates audio


sessions on an audio device.

IAudioSessionEvents The IAudioSessionEvents interface provides notifications of


session-related events such as changes in the volume level,
display name, and session state.

IAudioSessionManager The IAudioSessionManager interface enables a client to access


the session controls and volume controls for both cross-
process and process-specific audio sessions.

IAudioSessionManager2 The IAudioSessionManager2 interface enables an application


to manage submixes for the audio device.

IAudioSessionNotification The IAudioSessionNotification interface provides notification


when an audio session is created.

IAudioStreamVolume The IAudioStreamVolume interface enables a client to control


and monitor the volume levels for all of the channels in an
audio stream.

IAudioTreble The IAudioTreble interface provides access to a hardware


treble-level control.

IAudioVolumeDuckNotification The IAudioVolumeDuckNotification interface is used to by the


system to send notifications about stream attenuation
changes.Stream Attenuation, or ducking, is a feature
introduced in Windows 7, where the system adjusts the
volume of a non-communication stream when a new
communication stream is opened. For more information
about this feature, see Default Ducking Experience.

IAudioVolumeLevel The IAudioVolumeLevel interface provides access to a


hardware volume control.

IChannelAudioVolume The IChannelAudioVolume interface enables a client to control


and monitor the volume levels for all of the channels in the
audio session that the stream belongs to.

IConnector The IConnector interface represents a point of connection


between components.
T IT L E DESC RIP T IO N

IControlChangeNotify The IControlChangeNotify interface provides notifications


when the status of a part (connector or subunit) changes.

IControlInterface The IControlInterface interface represents a control interface


on a part (connector or subunit) in a device topology. The
client obtains a reference to a part's IControlInterface
interface by calling the IPart::GetControlInterface method.

IDeviceSpecificProperty The IDeviceSpecificProperty interface provides access to the


control value of a device-specific hardware control.

IDeviceTopology The IDeviceTopology interface provides access to the topology


of an audio device.

IHardwareAudioEngineBase The IHardwareAudioEngineBase interface is implemented by


audio endpoints for the audio stack to use to configure and
retrieve information about the hardware audio engine.

IKsFormatSupport The IKsFormatSupport interface provides information about


the audio data formats that are supported by a software-
configured I/O connection (typically a DMA channel) between
an audio adapter device and system memory.

IKsJackDescription The IKsJackDescription interface provides information about


the jacks or internal connectors that provide a physical
connection between a device on an audio adapter and an
external or internal endpoint device (for example, a
microphone or CD player).

IKsJackDescription2 The IKsJackDescription2 interface provides information about


the jacks or internal connectors that provide a physical
connection between a device on an audio adapter and an
external or internal endpoint device (for example, a
microphone or CD player).

IKsJackSinkInformation The IKsJackSinkInformation interface provides access to jack


sink information if the jack is supported by the hardware.

IMMDevice The IMMDevice interface encapsulates the generic features of


a multimedia device resource.

IMMDeviceCollection The IMMDeviceCollection interface represents a collection of


multimedia device resources.

IMMDeviceEnumerator The IMMDeviceEnumerator interface provides methods for


enumerating multimedia device resources.

IMMEndpoint The IMMEndpoint interface represents an audio endpoint


device.

IMMNotificationClient The IMMNotificationClient interface provides notifications


when an audio endpoint device is added or removed, when
the state or properties of an endpoint device change, or when
there is a change in the default role assigned to an endpoint
device.
T IT L E DESC RIP T IO N

IPart The IPart interface represents a part (connector or subunit) of


a device topology.

IPartsList The IPartsList interface represents a list of parts, each of


which is an object with an IPart interface that represents a
connector or subunit.

IPerChannelDbLevel The IPerChannelDbLevel interface represents a generic


subunit control interface that provides per-channel control
over the volume level, in decibels, of an audio stream or of a
frequency band in an audio stream.

ISimpleAudioVolume The ISimpleAudioVolume interface enables a client to control


the master volume level of an audio session.

ISpatialAudioClient The ISpatialAudioClient interface enables a client to create


audio streams that emit audio from a position in 3D space.

ISpatialAudioMetadataClient Provides a class factory for creating


ISpatialAudioMetadataItems, ISpatialAudioMetadataWriter,
ISpatialAudioMetadataReader, and
ISpatialAudioMetadataCopier objects.

ISpatialAudioMetadataCopier Provides methods for copying all or subsets of metadata


items from a source SpatialAudioMetadataItems into a
destination SpatialAudioMetadataItems.

ISpatialAudioMetadataItems Represents a buffer of spatial audio metadata items.

ISpatialAudioMetadataItemsBuffer Provides methods for attaching buffers to


SpatialAudioMetadataItems for in-place storage of data.

ISpatialAudioMetadataReader Provides methods for extracting spatial audio metadata items


and item command value pairs from an
ISpatialAudioMetadataItems object.

ISpatialAudioMetadataWriter Provides methods for storing spatial audio metadata items


positioned within a range of corresponding audio frames.

ISpatialAudioObject Represents an object that provides audio data to be rendered


from a position in 3D space, relative to the user.

ISpatialAudioObjectBase Base interface that represents an object that provides audio


data to be rendered from a position in 3D space, relative to
the user.

ISpatialAudioObjectForHrtf Represents an object that provides audio data to be rendered


from a position in 3D space, relative to the user, a head-
relative transfer function (HRTF).

ISpatialAudioObjectForMetadataCommands Used to write metadata commands for spatial audio.

ISpatialAudioObjectForMetadataItems Used to write spatial audio metadata for applications that


require multiple metadata items per buffer with frame-
accurate placement.
T IT L E DESC RIP T IO N

ISpatialAudioObjectRenderStream Provides methods for controlling a spatial audio object render


stream, including starting, stopping, and resetting the stream.

ISpatialAudioObjectRenderStreamBase Base interface that provides methods for controlling a spatial


audio object render stream, including starting, stopping, and
resetting the stream.

ISpatialAudioObjectRenderStreamForHrtf Provides methods for controlling an Hrtf spatial audio object


render stream, including starting, stopping, and resetting the
stream.

ISpatialAudioObjectRenderStreamForMetadata Provides methods for controlling a spatial audio object render


stream for metadata, including starting, stopping, and
resetting the stream.

ISpatialAudioObjectRenderStreamNotify Provides notifications for spatial audio clients to respond to


changes in the state of an ISpatialAudioObjectRenderStream.

ISubunit The ISubunit interface represents a hardware subunit (for


example, a volume control) that lies in the data path between
a client and an audio endpoint device.

Structures
T IT L E DESC RIP T IO N

AUDIO_VOLUME_NOTIFICATION_DATA The AUDIO_VOLUME_NOTIFICATION_DATA structure


describes a change in the volume level or muting state of an
audio endpoint device.

AudioExtensionParams This structure is passed to the Control Panel Endpoint


Extension property page through
IShellPropSheetExt::AddPages and is used to create endpoint
PropertyPages.

DIRECTX_AUDIO_ACTIVATION_PARAMS The DIRECTX_AUDIO_ACTIVATION_PARAMS structure


specifies the initialization parameters for a DirectSound
stream.

KSJACK_DESCRIPTION The KSJACK_DESCRIPTION structure describes an audio jack.

KSJACK_DESCRIPTION2 The KSJACK_DESCRIPTION2 structure describes an audio


jack.To get the description of an audio jack of a connector, call
IKsJackDescription2::GetJackDescription2.

KSJACK_SINK_INFORMATION The KSJACK_SINK_INFORMATION structure stores


information about an audio jack sink.
T IT L E DESC RIP T IO N

LUID The LUID structure stores the video port identifier. This
structure is stored in the PortId member of the
KSJACK_SINK_INFORMATION structure.

SpatialAudioClientActivationParams Represents optional activation parameters for a spatial audio


render stream. Pass this structure to
ActivateAudioInterfaceAsync when activating an
ISpatialAudioClient interface.

SpatialAudioHrtfActivationParams Specifies the activation parameters for an


ISpatialAudioRenderStreamForHrtf.

SpatialAudioHrtfDirectivity Represents an omnidirectional model for an


ISpatialAudioObjectForHrtf. The omnidirectional emission is
interpolated linearly with the directivity model specified in the
Type field based on the value of the Scaling field.

SpatialAudioHrtfDirectivityCardioid Represents a cardioid-shaped directivity model for an


ISpatialAudioObjectForHrtf.

SpatialAudioHrtfDirectivityCone Represents a cone-shaped directivity model for an


ISpatialAudioObjectForHrtf.

SpatialAudioHrtfDirectivityUnion Defines a spatial audio directivity model for an


ISpatialAudioObjectForHrtf.

SpatialAudioHrtfDistanceDecay Represents the decay model that is applied over distance from
the position of an ISpatialAudioObjectForHrtf to the position
of the listener.

SpatialAudioMetadataItemsInfo Provides information about an ISpatialAudioMetadataItems


object. Get a copy of this structure by calling GetInfo.

SpatialAudioObjectRenderStreamActivationParams Represents activation parameters for a spatial audio render


stream. Pass this structure to
ISpatialAudioClient::ActivateSpatialAudioStream when
activating a stream.

SpatialAudioObjectRenderStreamForMetadataActivationParam Represents activation parameters for a spatial audio render


s stream for metadata. Pass this structure to
ISpatialAudioClient::ActivateSpatialAudioStream when
activating a stream.
Data Access and Storage
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Data Access and Storage technology.


To develop Data Access and Storage, you need these headers:
clfs.h
clfsmgmt.h
clfsmgmtw32.h
clfsw32.h
dskquota.h
fileapi.h
ktmtypes.h
ktmw32.h
lmshare.h
lmstats.h
lzexpand.h
ntmsapi.h
ntmsmli.h
txfw32.h
winefs.h
wofapi.h
wow64apiset.h
For programming guidance for this technology, see:
Removable Storage Manager
Common Log File System
Local File Systems
Kernel Transaction Manager
Network Share Management
Data Deduplication API
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Data Deduplication API technology.


To develop Data Deduplication API, you need these headers:
ddpbackup.h
For programming guidance for this technology, see:
Data Deduplication API

Enumerations
T IT L E DESC RIP T IO N

DEDUP_BACKUP_SUPPORT_PARAM_TYPE Indicates whether Data Deduplication should perform an


unoptimized or optimized restore.

Functions
T IT L E DESC RIP T IO N

OrderContainersRestore This method provides the application with the ability to


influence the order of the pending reads that are required to
retrieve the target file.

PreviewContainerRead Provides the application with a preview of the sequence of


reads that are pending for a given container file extent.

ReadBackupFile Reads data from a Data Deduplication store metadata or


container file located in the backup store.

RestoreFiles Reconstructs a set of files from a backup store that contains


the fully optimized version of the files (reparse points) and the
Data Deduplication store.

Interfaces
T IT L E DESC RIP T IO N

IDedupBackupSupport Provides a method for restoring a file from a backup store


containing copies of Data Deduplication reparse points,
metadata, and container files.

IDedupReadFileCallback A callback interface, implemented by backup applications, that


enables Data Deduplication to read content from metadata
and container files residing in a backup store and optionally
improve restore efficiency.
Structures
T IT L E DESC RIP T IO N

DDP_FILE_EXTENT DDP_FILE_EXTENT represents the extent of data in a file that is


to be read in a pending call to ReadBackupFile.

DEDUP_CONTAINER_EXTENT A logical container file may be stored in a single segment or


multiple segments in the backup store.
Data Exchange
2/7/2020 • 9 minutes to read • Edit Online

Overview of the Data Exchange technology.


To develop Data Exchange, you need these headers:
dde.h
ddeml.h
wingdi.h
For programming guidance for this technology, see:
Data Exchange

Functions
T IT L E DESC RIP T IO N

AddAtomA Adds a character string to the local atom table and returns a
unique value (an atom) identifying the string.

AddAtomW Adds a character string to the local atom table and returns a
unique value (an atom) identifying the string.

AddClipboardFormatListener Places the given window in the system-maintained clipboard


format listener list.

ChangeClipboardChain Removes a specified window from the chain of clipboard


viewers.

CloseClipboard Closes the clipboard.

CountClipboardFormats Retrieves the number of different data formats currently on


the clipboard.

DdeAbandonTransaction Abandons the specified asynchronous transaction and releases


all resources associated with the transaction.

DdeAccessData Provides access to the data in the specified Dynamic Data


Exchange (DDE) object. An application must call the
DdeUnaccessData function when it has finished accessing the
data in the object.

DdeAddData Adds data to the specified Dynamic Data Exchange (DDE)


object.

DdeClientTransaction Begins a data transaction between a client and a server. Only a


Dynamic Data Exchange (DDE) client application can call this
function, and the application can use it only after establishing
a conversation with the server.
T IT L E DESC RIP T IO N

DdeCmpStringHandles Compares the values of two string handles. The value of a


string handle is not related to the case of the associated
string.

DdeConnect Establishes a conversation with a server application that


supports the specified service name and topic name pair. If
more than one such server exists, the system selects only one.

DdeConnectList Establishes a conversation with all server applications that


support the specified service name and topic name pair.

DdeCreateDataHandle Creates a Dynamic Data Exchange (DDE) object and fills the
object with data from the specified buffer. A DDE application
uses this function during transactions that involve passing
data to the partner application.

DdeCreateStringHandleA Creates a handle that identifies the specified string. A Dynamic


Data Exchange (DDE) client or server application can pass the
string handle as a parameter to other Dynamic Data Exchange
Management Library (DDEML) functions.

DdeCreateStringHandleW Creates a handle that identifies the specified string. A Dynamic


Data Exchange (DDE) client or server application can pass the
string handle as a parameter to other Dynamic Data Exchange
Management Library (DDEML) functions.

DdeDisconnect Terminates a conversation started by either the DdeConnect


or DdeConnectList function and invalidates the specified
conversation handle.

DdeDisconnectList Destroys the specified conversation list and terminates all


conversations associated with the list.

DdeEnableCallback Enables or disables transactions for a specific conversation or


for all conversations currently established by the calling
application.

DdeFreeDataHandle Frees a Dynamic Data Exchange (DDE) object and deletes the
data handle associated with the object.

DdeFreeStringHandle Frees a string handle in the calling application.

DdeGetData Copies data from the specified Dynamic Data Exchange (DDE)
object to the specified local buffer.

DdeGetLastError Retrieves the most recent error code set by the failure of a
Dynamic Data Exchange Management Library (DDEML)
function and resets the error code to DMLERR_NO_ERROR.

DdeImpersonateClient Impersonates a Dynamic Data Exchange (DDE) client


application in a DDE client conversation.
T IT L E DESC RIP T IO N

DdeInitializeA Registers an application with the Dynamic Data Exchange


Management Library (DDEML). An application must call this
function before calling any other Dynamic Data Exchange
Management Library (DDEML) function.

DdeInitializeW Registers an application with the Dynamic Data Exchange


Management Library (DDEML). An application must call this
function before calling any other Dynamic Data Exchange
Management Library (DDEML) function.

DdeKeepStringHandle Increments the usage count associated with the specified


handle.

DdeNameService Registers or unregisters the service names a Dynamic Data


Exchange (DDE) server supports.

DdePostAdvise Causes the system to send an XTYP_ADVREQ transaction to


the calling (server) application's Dynamic Data Exchange (DDE)
callback function for each client with an active advise loop on
the specified topic and item.

DdeQueryConvInfo Retrieves information about a Dynamic Data Exchange (DDE)


transaction and about the conversation in which the
transaction takes place.

DdeQueryNextServer Retrieves the next conversation handle in the specified


conversation list.

DdeQueryStringA Copies text associated with a string handle into a buffer.

DdeQueryStringW Copies text associated with a string handle into a buffer.

DdeReconnect Enables a client Dynamic Data Exchange Management Library


(DDEML) application to attempt to reestablish a conversation
with a service that has terminated a conversation with the
client.

DdeSetQualityOfService Specifies the quality of service (QOS) a raw Dynamic Data


Exchange (DDE) application desires for future DDE
conversations it initiates.

DdeSetUserHandle Associates an application-defined value with a conversation


handle or a transaction identifier. This is useful for simplifying
the processing of asynchronous transactions. An application
can use the DdeQueryConvInfo function to retrieve this value.

DdeUnaccessData Unaccesses a Dynamic Data Exchange (DDE) object. An


application must call this function after it has finished
accessing the object.

DdeUninitialize Frees all Dynamic Data Exchange Management Library


(DDEML) resources associated with the calling application.
T IT L E DESC RIP T IO N

DeleteAtom Decrements the reference count of a local string atom. If the


atom's reference count is reduced to zero, DeleteAtom
removes the string associated with the atom from the local
atom table.

EmptyClipboard Empties the clipboard and frees handles to data in the


clipboard. The function then assigns ownership of the
clipboard to the window that currently has the clipboard open.

EnumClipboardFormats Enumerates the data formats currently available on the


clipboard.

FindAtomA Searches the local atom table for the specified character string
and retrieves the atom associated with that string.

FindAtomW Searches the local atom table for the specified character string
and retrieves the atom associated with that string.

FreeDDElParam Frees the memory specified by the lParam parameter of a


posted Dynamic Data Exchange (DDE) message. An
application receiving a posted DDE message should call this
function after it has used the UnpackDDElParam function to
unpack the lParam value.

GetAtomNameA Retrieves a copy of the character string associated with the


specified local atom.

GetAtomNameW Retrieves a copy of the character string associated with the


specified local atom.

GetClipboardData Retrieves data from the clipboard in a specified format. The


clipboard must have been opened previously.

GetClipboardFormatNameA Retrieves from the clipboard the name of the specified


registered format. The function copies the name to the
specified buffer.

GetClipboardFormatNameW Retrieves from the clipboard the name of the specified


registered format. The function copies the name to the
specified buffer.

GetClipboardOwner Retrieves the window handle of the current owner of the


clipboard.

GetClipboardSequenceNumber Retrieves the clipboard sequence number for the current


window station.

GetClipboardViewer Retrieves the handle to the first window in the clipboard


viewer chain.

GetOpenClipboardWindow Retrieves the handle to the window that currently has the
clipboard open.

GetPriorityClipboardFormat Retrieves the first available clipboard format in the specified


list.
T IT L E DESC RIP T IO N

GetUpdatedClipboardFormats Retrieves the currently supported clipboard formats.

GlobalAddAtomA Adds a character string to the global atom table and returns a
unique value (an atom) identifying the string.

GlobalAddAtomExA Adds a character string to the global atom table and returns a
unique value (an atom) identifying the string.

GlobalAddAtomExW Adds a character string to the global atom table and returns a
unique value (an atom) identifying the string.

GlobalAddAtomW Adds a character string to the global atom table and returns a
unique value (an atom) identifying the string.

GlobalDeleteAtom Decrements the reference count of a global string atom. If the


atom's reference count reaches zero, GlobalDeleteAtom
removes the string associated with the atom from the global
atom table.

GlobalFindAtomA Searches the global atom table for the specified character
string and retrieves the global atom associated with that
string.

GlobalFindAtomW Searches the global atom table for the specified character
string and retrieves the global atom associated with that
string.

GlobalGetAtomNameA Retrieves a copy of the character string associated with the


specified global atom.

GlobalGetAtomNameW Retrieves a copy of the character string associated with the


specified global atom.

ImpersonateDdeClientWindow Enables a Dynamic Data Exchange (DDE) server application to


impersonate a DDE client application's security context. This
protects secure server data from unauthorized DDE clients.

InitAtomTable Initializes the local atom table and sets the number of hash
buckets to the specified size.

IsClipboardFormatAvailable Determines whether the clipboard contains data in the


specified format.

MAKEINTATOM Converts the specified atom into a string, so it can be passed


to functions which accept either atoms or strings.

OpenClipboard Opens the clipboard for examination and prevents other


applications from modifying the clipboard content.
T IT L E DESC RIP T IO N

PackDDElParam Packs a Dynamic Data Exchange (DDE) lParam value into an


internal structure used for sharing DDE data between
processes.

PFNCALLBACK An application-defined callback function used with the


Dynamic Data Exchange Management Library (DDEML)
functions.

RegisterClipboardFormatA Registers a new clipboard format. This format can then be


used as a valid clipboard format.

RegisterClipboardFormatW Registers a new clipboard format. This format can then be


used as a valid clipboard format.

RemoveClipboardFormatListener Removes the given window from the system-maintained


clipboard format listener list.

ReuseDDElParam Enables an application to reuse a packed Dynamic Data


Exchange (DDE) lParam parameter, rather than allocating a
new packed lParam. Using this function reduces reallocations
for applications that pass packed DDE messages.

SetClipboardData Places data on the clipboard in a specified clipboard format.

SetClipboardViewer Adds the specified window to the chain of clipboard viewers.


Clipboard viewer windows receive a WM_DRAWCLIPBOARD
message whenever the content of the clipboard changes. This
function is used for backward compatibility with earlier
versions of Windows.

UnpackDDElParam Unpacks a Dynamic Data Exchange (DDE)lParam value


received from a posted DDE message.

Structures
T IT L E DESC RIP T IO N

CONVCONTEXT Contains information supplied by a Dynamic Data Exchange


(DDE) client application. The information is useful for
specialized or cross-language DDE conversations.

CONVINFO Contains information about a Dynamic Data Exchange (DDE)


conversation.

COPYDATASTRUCT Contains data to be passed to another application by the


WM_COPYDATA message.

DDEACK Contains status flags that a DDE application passes to its


partner as part of the WM_DDE_ACK message.

DDEADVISE Contains flags that specify how a DDE server application


should send data to a client application during an advise loop.
A client passes a handle to a DDEADVISE structure to a server
as part of a WM_DDE_ADVISE message.
T IT L E DESC RIP T IO N

DDEDATA Contains the data, and information about the data, sent as
part of a WM_DDE_DATA message.

DDEML_MSG_HOOK_DATA Contains information about a Dynamic Data Exchange (DDE)


message, and provides read access to the data referenced by
the message. This structure is intended to be used by a
Dynamic Data Exchange Management Library (DDEML)
monitoring application.

DDEPOKE Contains the data, and information about the data, sent as
part of a WM_DDE_POKE message.

HSZPAIR Contains a DDE service name and topic name. A DDE server
application can use this structure during an
XTYP_WILDCONNECT transaction to enumerate the service-
topic pairs that it supports.

METAFILEPICT Defines the metafile picture format used for exchanging


metafile data through the clipboard.

MONCBSTRUCT Contains information about the current Dynamic Data


Exchange (DDE) transaction. A DDE debugging application can
use this structure when monitoring transactions that the
system passes to the DDE callback functions of other
applications.

MONCONVSTRUCT Contains information about a Dynamic Data Exchange (DDE)


conversation. A DDE monitoring application can use this
structure to obtain information about a conversation that has
been established or has terminated.

MONERRSTRUCT Contains information about the current Dynamic Data


Exchange (DDE) error. A DDE monitoring application can use
this structure to monitor errors returned by DDE
Management Library functions.

MONHSZSTRUCTA Contains information about a Dynamic Data Exchange (DDE)


string handle. A DDE monitoring application can use this
structure when monitoring the activity of the string manager
component of the DDE Management Library.

MONHSZSTRUCTW Contains information about a Dynamic Data Exchange (DDE)


string handle. A DDE monitoring application can use this
structure when monitoring the activity of the string manager
component of the DDE Management Library.

MONLINKSTRUCT Contains information about a Dynamic Data Exchange (DDE)


advise loop. A DDE monitoring application can use this
structure to obtain information about an advise loop that has
started or ended.

MONMSGSTRUCT Contains information about a Dynamic Data Exchange (DDE)


message. A DDE monitoring application can use this structure
to obtain information about a DDE message that was sent or
posted.
Debugging and authoring support
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Debugging and authoring support technology.


To develop Debugging and authoring support, you need these headers:
webapplication.h
For programming guidance for this technology, see:
Debugging and authoring support
Desktop Window Manager (DWM)
2/7/2020 • 3 minutes to read • Edit Online

Overview of the Desktop Window Manager (DWM) technology.


To develop Desktop Window Manager (DWM), you need these headers:
dwmapi.h
For programming guidance for this technology, see:
Desktop Window Manager (DWM)

Enumerations
T IT L E DESC RIP T IO N

DWM_SOURCE_FRAME_SAMPLING Flags used by the DwmSetPresentParameters function to


specify the frame sampling type.

DWM_TAB_WINDOW_REQUIREMENTS Returned by DwmGetUnmetTabRequirements to indicate the


requirements needed for a window to put tabs in the
application title bar.

DWMFLIP3DWINDOWPOLICY Flags used by the DwmSetWindowAttribute function to specify


the Flip3D window policy.

DWMNCRENDERINGPOLICY Flags used by the DwmSetWindowAttribute function to specify


the non-client area rendering policy.

DWMTRANSITION_OWNEDWINDOW_TARGET Identifies the target.

DWMWINDOWATTRIBUTE Flags used by the DwmGetWindowAttribute and


DwmSetWindowAttribute functions to specify window
attributes for Desktop Window Manager (DWM) non-client
rendering.

GESTURE_TYPE Identifies the gesture type specified in DwmRenderGesture.

Functions
T IT L E DESC RIP T IO N

DwmAttachMilContent This function is not implemented.

DwmDefWindowProc Default window procedure for Desktop Window Manager


(DWM) hit testing within the non-client area.

DwmDetachMilContent This function is not implemented.

DwmEnableBlurBehindWindow Enables the blur effect on a specified window.


T IT L E DESC RIP T IO N

DwmEnableComposition Enables or disables Desktop Window Manager (DWM)


composition.

DwmEnableMMCSS Notifies the Desktop Window Manager (DWM) to opt in to or


out of Multimedia Class Schedule Service (MMCSS) scheduling
while the calling process is alive.

DwmExtendFrameIntoClientArea Extends the window frame into the client area.

DwmFlush Issues a flush call that blocks the caller until the next present,
when all of the Microsoft DirectX surface updates that are
currently outstanding have been made. This compensates for
very complex scenes or calling processes with very low priority.

DwmGetColorizationColor Retrieves the current color used for Desktop Window Manager
(DWM) glass composition.

DwmGetCompositionTimingInfo Retrieves the current composition timing information for a


specified window.

DwmGetGraphicsStreamClient This function is not implemented.

DwmGetGraphicsStreamTransformHint This function is not implemented.

DwmGetTransportAttributes Retrieves transport attributes.

DwmGetUnmetTabRequirements Note This function is publically available, but nonfunctional,


for Windows 10, version 1803.Checks the requirements
needed to get tabs in the application title bar for the specified
window.

DwmGetWindowAttribute Retrieves the current value of a specified Desktop Window


Manager (DWM) attribute applied to a window.

DwmInvalidateIconicBitmaps Called by an application to indicate that all previously provided


iconic bitmaps from a window, both thumbnails and peek
representations, should be refreshed.

DwmIsCompositionEnabled Obtains a value that indicates whether Desktop Window


Manager (DWM) composition is enabled. Applications on
machines running Windows 7 or earlier can listen for
composition state changes by handling the
WM_DWMCOMPOSITIONCHANGED notification.

DwmModifyPreviousDxFrameDuration Changes the number of monitor refreshes through which the


previous frame will be displayed.
DwmModifyPreviousDxFrameDuration is no longer supported.
Starting with Windows 8.1, calls to
DwmModifyPreviousDxFrameDuration always return
E_NOTIMPL.

DwmQueryThumbnailSourceSize Retrieves the source size of the Desktop Window Manager


(DWM) thumbnail.
T IT L E DESC RIP T IO N

DwmRegisterThumbnail Creates a Desktop Window Manager (DWM) thumbnail


relationship between the destination and source windows.

DwmRenderGesture Notifies Desktop Window Manager (DWM) that a touch


contact has been recognized as a gesture, and that DWM
should draw feedback for that gesture.

DwmSetDxFrameDuration Sets the number of monitor refreshes through which to


display the presented frame. DwmSetDxFrameDuration is no
longer supported. Starting with Windows 8.1, calls to
DwmSetDxFrameDuration always return E_NOTIMPL.

DwmSetIconicLivePreviewBitmap Sets a static, iconic bitmap to display a live preview (also


known as a Peek preview) of a window or tab. The taskbar can
use this bitmap to show a full-sized preview of a window or
tab.

DwmSetIconicThumbnail Sets a static, iconic bitmap on a window or tab to use as a


thumbnail representation. The taskbar can use this bitmap as
a thumbnail switch target for the window or tab.

DwmSetPresentParameters Sets the present parameters for frame composition.


DwmSetPresentParameters is no longer supported. Starting
with Windows 8.1, calls to DwmSetPresentParameters always
return E_NOTIMPL.

DwmSetWindowAttribute Sets the value of Desktop Window Manager (DWM) non-client


rendering attributes for a window.

DwmShowContact Called by an app or framework to specify the visual feedback


type to draw in response to a particular touch or pen contact.

DwmTetherContact Enables the graphical feedback of touch and drag interactions


to the user.

DwmTransitionOwnedWindow Coordinates the animations of tool windows with the Desktop


Window Manager (DWM).

DwmUnregisterThumbnail Removes a Desktop Window Manager (DWM) thumbnail


relationship created by the DwmRegisterThumbnail function.

DwmUpdateThumbnailProperties Updates the properties for a Desktop Window Manager


(DWM) thumbnail.

Structures
T IT L E DESC RIP T IO N

DWM_BLURBEHIND Specifies Desktop Window Manager (DWM) blur-behind


properties. Used by the DwmEnableBlurBehindWindow
function.
T IT L E DESC RIP T IO N

DWM_PRESENT_PARAMETERS Specifies Desktop Window Manager (DWM) video frame


parameters for frame composition. Used by the
DwmSetPresentParameters function.

DWM_THUMBNAIL_PROPERTIES Specifies Desktop Window Manager (DWM) thumbnail


properties. Used by the DwmUpdateThumbnailProperties
function.

DWM_TIMING_INFO Specifies Desktop Window Manager (DWM) composition


timing information. Used by the
DwmGetCompositionTimingInfo function.

MilMatrix3x2D Specifies a 3x2 matrix that describes a transform.

UNSIGNED_RATIO Defines a data type used by the Desktop Window Manager


(DWM) APIs. It represents a generic ratio and is used for
different purposes and units even within a single API.
Developer licensing
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Developer licensing technology.


To develop Developer licensing, you need these headers:
wsdevlicensing.h
For programming guidance for this technology, see:
Developer licensing

Functions
T IT L E DESC RIP T IO N

AcquireDeveloperLicense Acquires a developer license.

CheckDeveloperLicense Checks to see if a developer license exists.

RemoveDeveloperLicense Removes a developer license.


Developer Notes
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Developer Notes technology.


To develop Developer Notes, you need these headers:
advpub.h
apiquery2.h
appcompatapi.h
aux_ulib.h
avrfsdk.h
camerauicontrol.h
capi.h
comppkgsup.h
dciman.h
ddrawgdi.h
editionupgradehelper.h
exdisp.h
exposeenums2managed.h
fci.h
fdi.h
fdi_fci_types.h
featurestagingapi.h
fhcfg.h
fhsvcctl.h
filehc.h
icwcfg.h
ime.h
isolatedapplauncher.h
iwscapi.h
lmaccess.h
loadperf.h
msxml.h
ntsecpkg.h
rpcndr.h
rtlsupportapi.h
stralign.h
tcpioctl.h
tdiinfo.h
vdmdbg.h
wininet.h
winnls32.h
winreg.h
wscapi.h
For programming guidance for this technology, see:
Developer Notes
Using the Windows Headers

Functions
T IT L E DESC RIP T IO N

Int32x32To64 Multiplies two signed 32-bit integers, returning a signed 64-


bit integer result.

Int64ShllMod32 Performs a left logical shift operation on an unsigned 64-bit


integer value. The function provides improved shifting code
for left logical shifts where the shift count is in the range 0-
31.

Int64ShraMod32 Performs a right arithmetic shift operation on a signed 64-


bit integer value. The function provides improved shifting
code for right arithmetic shifts where the shift count is in the
range 0-31.

Int64ShrlMod32 Performs a right logical shift operation on an unsigned 64-


bit integer value. The function provides improved shifting
code for right logical shifts where the shift count is in the
range 0-31.

MulDiv Multiplies two 32-bit values and then divides the 64-bit
result by a third 32-bit value.

Multiply128 Multiplies two 64-bit integers to produce a 128-bit integer.

MultiplyExtract128 Multiplies two 64-bit integers to produce a 128-bit integer,


shifts the product to the right by the specified number of
bits, and returns the low 64 bits of the result.

MultiplyHigh Multiplies two 64-bit integers to produce a 128-bit integer


and gets the high 64 bits.

PopulationCount64 Counts the number of one bits (population count) in a 64-


bit unsigned integer.

ShiftLeft128 Shifts 128-bit left.

ShiftRight128 Shifts 128-bit right.

UInt32x32To64 Multiplies two unsigned 32-bit integers, returning an


unsigned 64-bit integer result.

UnsignedMultiply128 Multiplies two unsigned 64-bit integers to produce an


unsigned 128-bit integer.

UnsignedMultiplyExtract128 Multiplies two unsigned 64-bit integers to produce an


unsigned 128-bit integer, shifts the product to the right by
the specified number of bits, and returns the low 64 bits of
the result.
T IT L E DESC RIP T IO N

UnsignedMultiplyHigh Multiplies two 64-bit integers to produce a 128-bit integer


and gets the high unsigned 64 bits.
Device Access API
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Device Access API technology.


To develop Device Access API, you need these headers:
deviceaccess.h
For programming guidance for this technology, see:
Device Access API

Functions
T IT L E DESC RIP T IO N

Cancel The Cancel method attempts to cancel an asynchronous


operation that is in progress.

CancelOperation The CancelOperation method attempts to cancel a previously


issued call by using the DeviceIoControlAsync method.

Close The Close method performs cleanup after the asynchronous


operation is completed and you retrieve the results.

CreateDeviceAccessInstance Creates the object that's used to access a device. The


instantiated object implements the IDeviceIoControl and
ICreateDeviceAccessAsync interfaces.

DeviceIoControlAsync The DeviceIoControlAsync method sends an asynchronous


device input/output (I/O) control request to the device
interface that the call to the CreateDeviceAccessInstance
function specified.

DeviceIoControlSync The DeviceIoControlSync method sends a synchronous device


input/output (I/O) control request to the device interface that
the call to the CreateDeviceAccessInstance function specified.

GetResult Retrieves an IDeviceIoControl object that's bound to the


device interface that's specified in a call to the
CreateDeviceAccessInstance function.

RequestCompletion Implement the RequestCompletion method to handle the


completion of calls to the DeviceIoControlAsyncmethod.

Wait The Wait method waits a specified length of time for an


asynchronous bind operation that is in progress to finish.

Interfaces
T IT L E DESC RIP T IO N

ICreateDeviceAccessAsync The ICreateDeviceAccessAsync interface is returned from a call


to CreateDeviceAccessInstance.

IDeviceIoControl Sends a control code to a device driver.This action causes the


device to perform the corresponding operation.

IDeviceRequestCompletionCallback Provides a method to handle the completion of calls to the


DeviceIoControlAsyncmethod.
Device and Driver Installation Reference
2/7/2020 • 36 minutes to read • Edit Online

Overview of the Device and Driver Installation Reference technology.


To develop Device and Driver Installation Reference, you need these headers:
cfg.h
cfgmgr32.h
newdev.h
For programming guidance for this technology, see:
Device and Driver Installation Reference

Enumerations
T IT L E DESC RIP T IO N

CM_NOTIFY_ACTION This enumeration identifies Plug and Play device event types.

PNP_VETO_TYPE If the PnP manager rejects a request to perform an operation,


the PNP_VETO_TYPE enumeration is used to identify the
reason for the rejection.

Functions
T IT L E DESC RIP T IO N

CM_Add_Empty_Log_Conf The CM_Add_Empty_Log_Conf function creates an empty


logical configuration, for a specified configuration type and a
specified device instance, on the local machine.

CM_Add_Empty_Log_Conf_Ex The CM_Add_Empty_Log_Conf_Ex function creates an empty


logical configuration, for a specified configuration type and a
specified device instance, on either the local or a remote
machine.

CM_Add_ID_ExW The CM_Add_ID_Ex function appends a device ID (if not


already present) to a device instance's hardware ID list or
compatible ID list, on either the local or a remote machine.

CM_Add_IDW The CM_Add_ID function appends a specified device ID (if not


already present) to a device instance's hardware ID list or
compatible ID list.

CM_Add_Res_Des The CM_Add_Res_Des function adds a resource descriptor to a


logical configuration.

CM_Add_Res_Des_Ex The CM_Add_Res_Des_Ex function adds a resource descriptor


to a logical configuration. The logical configuration can be on
either the local or a remote machine.
T IT L E DESC RIP T IO N

CM_Connect_MachineW The CM_Connect_Machine function creates a connection to a


remote machine.

CM_Delete_Class_Key The CM_Delete_Class_Key function removes the specified


installed device class from the system.

CM_Delete_Device_Interface_Key_ExA The CM_Delete_Device_Interface_Key_ExA function deletes the


registry subkey that is used by applications and drivers to
store interface-specific information.

CM_Delete_Device_Interface_Key_ExW The CM_Delete_Device_Interface_Key_ExW function deletes the


registry subkey that is used by applications and drivers to
store interface-specific information.

CM_Delete_Device_Interface_KeyW The CM_Delete_Device_Interface_Key function deletes the


registry subkey that is used by applications and drivers to
store interface-specific information.

CM_Delete_DevNode_Key The CM_Delete_DevNode_Key function deletes the specified


user-accessible registry keys that are associated with a device.

CM_Disable_DevNode The CM_Disable_DevNode function disables a device.

CM_Disconnect_Machine The CM_Disconnect_Machine function removes a connection


to a remote machine.

CM_Enable_DevNode The CM_Enable_DevNode function enables a device.

CM_Enumerate_Classes The CM_Enumerate_Classes function, when called repeatedly,


enumerates the local machine's installed device classes by
supplying each class's GUID.

CM_Enumerate_Classes_Ex The CM_Enumerate_Classes_Ex function, when called


repeatedly, enumerates a local or a remote machine's installed
device classes, by supplying each class's GUID.

CM_Enumerate_Enumerators_ExW The CM_Enumerate_Enumerators_Ex function enumerates a


local or a remote machine's device enumerators, by supplying
each enumerator's name.

CM_Enumerate_EnumeratorsW The CM_Enumerate_Enumerators function enumerates the


local machine's device enumerators by supplying each
enumerator's name.

CM_Free_Log_Conf The CM_Free_Log_Conf function removes a logical


configuration and all associated resource descriptors from the
local machine.

CM_Free_Log_Conf_Ex The CM_Free_Log_Conf_Ex function removes a logical


configuration and all associated resource descriptors from
either a local or a remote machine.

CM_Free_Log_Conf_Handle The CM_Free_Log_Conf_Handle function invalidates a logical


configuration handle and frees its associated memory
allocation.
T IT L E DESC RIP T IO N

CM_Free_Res_Des The CM_Free_Res_Des function removes a resource descriptor


from a logical configuration on the local machine.

CM_Free_Res_Des_Ex The CM_Free_Res_Des_Ex function removes a resource


descriptor from a logical configuration on either a local or a
remote machine.

CM_Free_Res_Des_Handle The CM_Free_Res_Des_Handle function invalidates a resource


description handle and frees its associated memory allocation.

CM_Free_Resource_Conflict_Handle The CM_Free_Resource_Conflict_Handle function invalidates a


handle to a resource conflict list, and frees the handle's
associated memory allocation.

CM_Get_Child The CM_Get_Child function is used to retrieve a device


instance handle to the first child node of a specified device
node (devnode) in the local machine's device tree.

CM_Get_Child_Ex The CM_Get_Child_Ex function is used to retrieve a device


instance handle to the first child node of a specified device
node (devnode) in a local or a remote machine's device tree.

CM_Get_Class_Property_ExW The CM_Get_Class_Property_ExW function retrieves a device


property that is set for a device interface class or device setup
class.

CM_Get_Class_Property_Keys The CM_Get_Class_Property_Keys function retrieves an array


of the device property keys that represent the device
properties that are set for a device interface class or device
setup class.

CM_Get_Class_Property_Keys_Ex The CM_Get_Class_Property_Keys_Ex function retrieves an


array of the device property keys that represent the device
properties that are set for a device interface class or device
setup class.

CM_Get_Class_PropertyW The CM_Get_Class_Property function retrieves a device


property that is set for a device interface class or device setup
class.

CM_Get_Class_Registry_PropertyW The CM_Get_Class_Registry_Property function retrieves a


device setup class property.

CM_Get_Depth The CM_Get_Depth function is used to obtain the depth of a


specified device node (devnode) within the local machine's
device tree.

CM_Get_Depth_Ex The CM_Get_Depth_Ex function is used to obtain the depth of


a specified device node (devnode) within a local or a remote
machine's device tree.
T IT L E DESC RIP T IO N

CM_Get_Device_ID_ExW The CM_Get_Device_ID_Ex function retrieves the device


instance ID for a specified device instance on a local or a
remote machine.

CM_Get_Device_ID_List_ExW The CM_Get_Device_ID_List_Ex function retrieves a list of


device instance IDs for the device instances on a local or a
remote machine.

CM_Get_Device_ID_List_Size_ExW The CM_Get_Device_ID_List_Size_Ex function retrieves the


buffer size required to hold a list of device instance IDs for a
local or a remote machine's device instances.

CM_Get_Device_ID_List_SizeA The CM_Get_Device_ID_List_Size function retrieves the buffer


size required to hold a list of device instance IDs for the local
machine's device instances.

CM_Get_Device_ID_List_SizeW The CM_Get_Device_ID_List_Size function retrieves the buffer


size required to hold a list of device instance IDs for the local
machine's device instances.

CM_Get_Device_ID_ListA The CM_Get_Device_ID_List function retrieves a list of device


instance IDs for the local computer's device instances.

CM_Get_Device_ID_ListW The CM_Get_Device_ID_List function retrieves a list of device


instance IDs for the local computer's device instances.

CM_Get_Device_ID_Size The CM_Get_Device_ID_Size function retrieves the buffer size


required to hold a device instance ID for a device instance on
the local machine.

CM_Get_Device_ID_Size_Ex The CM_Get_Device_ID_Size_Ex function retrieves the buffer


size required to hold a device instance ID for a device instance
on a local or a remote machine.

CM_Get_Device_IDW The CM_Get_Device_ID function retrieves the device instance


ID for a specified device instance on the local machine.

CM_Get_Device_Interface_AliasW The CM_Get_Device_Interface_Alias function returns the alias


of the specified device interface instance, if the alias exists.

CM_Get_Device_Interface_List_SizeA The CM_Get_Device_Interface_List_Size function retrieves the


buffer size that must be passed to the
CM_Get_Device_Interface_List function.

CM_Get_Device_Interface_List_SizeW The CM_Get_Device_Interface_List_Size function retrieves the


buffer size that must be passed to the
CM_Get_Device_Interface_List function.

CM_Get_Device_Interface_ListA The CM_Get_Device_Interface_List function retrieves a list of


device interface instances that belong to a specified device
interface class.

CM_Get_Device_Interface_ListW The CM_Get_Device_Interface_List function retrieves a list of


device interface instances that belong to a specified device
interface class.
T IT L E DESC RIP T IO N

CM_Get_Device_Interface_Property_ExW The CM_Get_Device_Interface_Property_ExW function retrieves


a device property that is set for a device interface.

CM_Get_Device_Interface_Property_Keys_ExW The CM_Get_Device_Interface_Property_Keys_ExW function


retrieves an array of device property keys that represent the
device properties that are set for a device interface.

CM_Get_Device_Interface_Property_KeysW The CM_Get_Device_Interface_Property_Keys function


retrieves an array of device property keys that represent the
device properties that are set for a device interface.

CM_Get_Device_Interface_PropertyW The CM_Get_Device_Interface_Property function retrieves a


device property that is set for a device interface.

CM_Get_DevNode_Property_ExW The CM_Get_DevNode_Property_ExW function retrieves a


device instance property.

CM_Get_DevNode_Property_Keys The CM_Get_DevNode_Property_Keys function retrieves an


array of the device property keys that represent the device
properties that are set for a device instance.

CM_Get_DevNode_Property_Keys_Ex The CM_Get_DevNode_Property_Keys_Ex function retrieves an


array of the device property keys that represent the device
properties that are set for a device instance.

CM_Get_DevNode_PropertyW The CM_Get_DevNode_Property function retrieves a device


instance property.

CM_Get_DevNode_Registry_PropertyW The CM_Get_DevNode_Registry_Property function retrieves a


specified device property from the registry.

CM_Get_DevNode_Status The CM_Get_DevNode_Status function obtains the status of a


device instance from its device node (devnode) in the local
machine's device tree.

CM_Get_DevNode_Status_Ex The CM_Get_DevNode_Status_Ex function obtains the status


of a device instance from its device node (devnode) on a local
or a remote machine's device tree.

CM_Get_First_Log_Conf The CM_Get_First_Log_Conf function obtains the first logical


configuration, of a specified configuration type, associated with
a specified device instance on the local machine.

CM_Get_First_Log_Conf_Ex The CM_Get_First_Log_Conf_Ex function obtains the first


logical configuration associated with a specified device instance
on a local or a remote machine.

CM_Get_HW_Prof_Flags_ExA The CM_Get_HW_Prof_Flags_Ex function retrieves the


hardware profile-specific configuration flags for a device
instance on a remote machine or a local machine.

CM_Get_HW_Prof_Flags_ExW The CM_Get_HW_Prof_Flags_Ex function retrieves the


hardware profile-specific configuration flags for a device
instance on a remote machine or a local machine.
T IT L E DESC RIP T IO N

CM_Get_HW_Prof_FlagsA The CM_Get_HW_Prof_Flags function retrieves the hardware


profile-specific configuration flags for a device instance on a
local machine.

CM_Get_HW_Prof_FlagsW The CM_Get_HW_Prof_Flags function retrieves the hardware


profile-specific configuration flags for a device instance on a
local machine.

CM_Get_Log_Conf_Priority The CM_Get_Log_Conf_Priority function obtains the


configuration priority of a specified logical configuration on the
local machine.

CM_Get_Log_Conf_Priority_Ex The CM_Get_Log_Conf_Priority_Ex function obtains the


configuration priority of a specified logical configuration on a
local or a remote machine.

CM_Get_Next_Log_Conf The CM_Get_Next_Log_Conf function obtains the next logical


configuration associated with a specific device instance on the
local machine.

CM_Get_Next_Log_Conf_Ex The CM_Get_Next_Log_Conf_Ex function obtains the next


logical configuration associated with a specific device instance
on a local or a remote machine.

CM_Get_Next_Res_Des The CM_Get_Next_Res_Des function obtains a handle to the


next resource descriptor, of a specified resource type, for a
logical configuration on the local machine.

CM_Get_Next_Res_Des_Ex The CM_Get_Next_Res_Des_Ex function obtains a handle to


the next resource descriptor, of a specified resource type, for a
logical configuration on a local or a remote machine.

CM_Get_Parent The CM_Get_Parent function obtains a device instance handle


to the parent node of a specified device node (devnode) in the
local machine's device tree.

CM_Get_Parent_Ex The CM_Get_Parent_Ex function obtains a device instance


handle to the parent node of a specified device node
(devnode) in a local or a remote machine's device tree.

CM_Get_Res_Des_Data The CM_Get_Res_Des_Data function retrieves the information


stored in a resource descriptor on the local machine.

CM_Get_Res_Des_Data_Ex The CM_Get_Res_Des_Data_Ex function retrieves the


information stored in a resource descriptor on a local or a
remote machine.

CM_Get_Res_Des_Data_Size The CM_Get_Res_Des_Data_Size function obtains the buffer


size required to hold the information contained in a specified
resource descriptor on the local machine.

CM_Get_Res_Des_Data_Size_Ex The CM_Get_Res_Des_Data_Size_Ex function obtains the buffer


size required to hold the information contained in a specified
resource descriptor on a local or a remote machine.
T IT L E DESC RIP T IO N

CM_Get_Resource_Conflict_Count The CM_Get_Resource_Conflict_Count function obtains the


number of conflicts contained in a specified resource conflict
list.

CM_Get_Resource_Conflict_DetailsW The CM_Get_Resource_Conflict_Details function obtains the


details about one of the resource conflicts in a conflict list.

CM_Get_Sibling The CM_Get_Sibling function obtains a device instance handle


to the next sibling node of a specified device node (devnode)
in the local machine's device tree.

CM_Get_Sibling_Ex The CM_Get_Sibling_Ex function obtains a device instance


handle to the next sibling node of a specified device node, in a
local or a remote machine's device tree.

CM_Get_Version The CM_Get_Version function returns version 4.0 of the Plug


and Play (PnP) Configuration Manager DLL (Cfgmgr32.dll) for
a local machine.

CM_Get_Version_Ex The CM_Get_Version_Ex function returns version 4.0 of the


Plug and Play (PnP) Configuration Manager DLL
(Cfgmgr32.dll) for a local or a remote machine.

CM_Is_Dock_Station_Present The CM_Is_Dock_Station_Present function identifies whether a


docking station is present in a local machine.

CM_Is_Dock_Station_Present_Ex The CM_Is_Dock_Station_Present_Ex function identifies


whether a docking station is present in a local or a remote
machine.

CM_Is_Version_Available The CM_Is_Version_Available function indicates whether a


specified version of the Plug and Play (PnP) Configuration
Manager DLL (Cfgmgr32.dll) is supported by a local machine.

CM_Is_Version_Available_Ex The CM_Is_Version_Available_Ex function indicates whether a


specified version of the Plug and Play (PNP) Configuration
Manager DLL (Cfgmgr32.dll) is supported by a local or a
remote machine.

CM_Locate_DevNode_ExW The CM_Locate_DevNode_Ex function obtains a device


instance handle to the device node that is associated with a
specified device instance ID, on a local machine or a remote
machine.

CM_Locate_DevNodeA The CM_Locate_DevNode function obtains a device instance


handle to the device node that is associated with a specified
device instance ID on the local machine.

CM_Locate_DevNodeW The CM_Locate_DevNode function obtains a device instance


handle to the device node that is associated with a specified
device instance ID on the local machine.

CM_MapCrToWin32Err Converts a specified CONFIGRET code to its equivalent system


error code.
T IT L E DESC RIP T IO N

CM_Modify_Res_Des The CM_Modify_Res_Des function modifies a specified


resource descriptor on the local machine.

CM_Modify_Res_Des_Ex The CM_Modify_Res_Des_Ex function modifies a specified


resource descriptor on a local or a remote machine.

CM_Open_Class_KeyW The CM_Open_Class_Key function opens the device setup


class registry key, the device interface class registry key, or a
specific subkey of a class.

CM_Open_Device_Interface_Key_ExA The CM_Open_Device_Interface_Key_ExA function opens the


registry subkey that is used by applications and drivers to
store information that is specific to a device interface.

CM_Open_Device_Interface_Key_ExW The CM_Open_Device_Interface_Key_ExW function opens the


registry subkey that is used by applications and drivers to
store information that is specific to a device interface.

CM_Open_Device_Interface_KeyA The CM_Open_Device_Interface_Key function opens the


registry subkey that is used by applications and drivers to
store information that is specific to a device interface.

CM_Open_Device_Interface_KeyW The CM_Open_Device_Interface_Key function opens the


registry subkey that is used by applications and drivers to
store information that is specific to a device interface.

CM_Open_DevNode_Key The CM_Open_DevNode_Key function opens a registry key for


device-specific configuration information.

CM_Query_And_Remove_SubTree_ExW The CM_Query_And_Remove_SubTree_Ex function checks


whether a device instance and its children can be removed
and, if so, it removes them.

CM_Query_And_Remove_SubTreeW The CM_Query_And_Remove_SubTree function checks whether


a device instance and its children can be removed and, if so, it
removes them.

CM_Query_Resource_Conflict_List The CM_Query_Resource_Conflict_List function identifies


device instances having resource requirements that conflict
with a specified device instance's resource description.

CM_Reenumerate_DevNode The CM_Reenumerate_DevNode function enumerates the


devices identified by a specified device node and all of its
children.

CM_Reenumerate_DevNode_Ex The CM_Reenumerate_DevNode_Ex function enumerates the


devices identified by a specified device node and all of its
children.

CM_Register_Notification Use RegisterDeviceNotification instead of


CM_Register_Notification if your code targets Windows 7 or
earlier versions of Windows. Kernel mode callers should use
IoRegisterPlugPlayNotification instead.
T IT L E DESC RIP T IO N

CM_Request_Device_Eject_ExW The CM_Request_Device_Eject_Ex function prepares a local or a


remote device instance for safe removal, if the device is
removable. If the device can be physically ejected, it will be.

CM_Request_Device_EjectW The CM_Request_Device_Eject function prepares a local device


instance for safe removal, if the device is removable. If the
device can be physically ejected, it will be.

CM_Request_Eject_PC The CM_Request_Eject_PC function requests that a portable


PC, which is inserted in a local docking station, be ejected.

CM_Request_Eject_PC_Ex The CM_Request_Eject_PC_Ex function requests that a


portable PC, which is inserted in a local or a remote docking
station, be ejected.

CM_Set_Class_Property_ExW The CM_Set_Class_Property_ExW function sets a class


property for a device setup class or a device interface class.

CM_Set_Class_PropertyW The CM_Set_Class_Property function sets a class property for


a device setup class or a device interface class.

CM_Set_Class_Registry_PropertyW The CM_Set_Class_Registry_Property function sets or deletes a


property of a device setup class.

CM_Set_Device_Interface_Property_ExW The CM_Set_Device_Interface_Property_ExW function sets a


device property of a device interface.

CM_Set_Device_Interface_PropertyW The CM_Set_Device_Interface_Property function sets a device


property of a device interface.

CM_Set_DevNode_Problem The CM_Set_DevNode_Problem function sets a problem code


for a device that is installed in a local machine.

CM_Set_DevNode_Problem_Ex The CM_Set_DevNode_Problem_Ex function sets a problem


code for a device that is installed in a local or a remote
machine.

CM_Set_DevNode_Property_ExW The CM_Set_DevNode_Property_ExW function sets a device


instance property.

CM_Set_DevNode_PropertyW The CM_Set_DevNode_Property function sets a device


instance property.

CM_Set_DevNode_Registry_PropertyW The CM_Set_DevNode_Registry_Property function sets a


specified device property in the registry.

CM_Setup_DevNode The CM_Setup_DevNode function restarts a device instance


that is not running because there is a problem with the device
configuration.

CM_Uninstall_DevNode The CM_Uninstall_DevNode function removes all persistent


state associated with a device instance.
T IT L E DESC RIP T IO N

CM_Unregister_Notification Use UnregisterDeviceNotification instead of


CM_Unregister_Notification if your code targets Windows 7 or
earlier versions of Windows.

CM_WaitNoPendingInstallEvents The CMP_WaitNoPendingInstallEvents


(CM_WaitNoPendingInstallEvents) function waits until there
are no pending device installation activities for the PnP
manager to perform.

DiInstallDevice The DiInstallDevice function installs a specified driver that is


preinstalled in the driver store on a specified device that is
present in the system.

DiInstallDriverA The DiInstallDriver function preinstalls a driver in the driver


store and then installs the driver on devices present in the
system that the driver supports.

DiInstallDriverW The DiInstallDriver function preinstalls a driver in the driver


store and then installs the driver on devices present in the
system that the driver supports.

DiRollbackDriver The DiRollbackDriver function rolls back the driver that is


installed on a specified device.

DiShowUpdateDevice The DiShowUpdateDevice function displays the Hardware


Update wizard for a specified device.

DiUninstallDevice The DiUninstallDevice function uninstalls a device and removes


its device node (devnode) from the system.

DiUninstallDriverW The DiUninstallDriver function removes a driver from any


devices it is installed on by installing those devices with
another matching driver, if available, or the null driver (link to
whatever the DiInstallDevice page tries to link to for null driver
after Ted resolves the email I just sent) if no other matching
driver is available. Then the specified driver is removed from
the driver store.

SetupDiAskForOEMDisk The SetupDiAskForOEMDisk function displays a dialog that


asks the user for the path of an OEM installation disk.

SetupDiBuildClassInfoList The SetupDiBuildClassInfoList function returns a list of setup


class GUIDs that identify the classes that are installed on a
local computer.

SetupDiBuildClassInfoListExA The SetupDiBuildClassInfoListEx function returns a list of setup


class GUIDs that includes every class installed on the local
system or a remote system.

SetupDiBuildClassInfoListExW The SetupDiBuildClassInfoListEx function returns a list of setup


class GUIDs that includes every class installed on the local
system or a remote system.
T IT L E DESC RIP T IO N

SetupDiBuildDriverInfoList The SetupDiBuildDriverInfoList function builds a list of drivers


that is associated with a specific device or with the global class
driver list for a device information set.

SetupDiCallClassInstaller The SetupDiCallClassInstaller function calls the appropriate


class installer, and any registered co-installers, with the
specified installation request (DIF code).

SetupDiCancelDriverInfoSearch The SetupDiCancelDriverInfoSearch function cancels a driver


list search that is currently in progress in a different thread.

SetupDiChangeState The SetupDiChangeState function is the default handler for the


DIF_PROPERTYCHANGE installation request.

SetupDiClassGuidsFromNameA The SetupDiClassGuidsFromName function retrieves the


GUID(s) associated with the specified class name. This list is
built based on the classes currently installed on the system.

SetupDiClassGuidsFromNameExA The SetupDiClassGuidsFromNameEx function retrieves the


GUIDs associated with the specified class name. This resulting
list contains the classes currently installed on a local or remote
computer.

SetupDiClassGuidsFromNameExW The SetupDiClassGuidsFromNameEx function retrieves the


GUIDs associated with the specified class name. This resulting
list contains the classes currently installed on a local or remote
computer.

SetupDiClassGuidsFromNameW The SetupDiClassGuidsFromName function retrieves the


GUID(s) associated with the specified class name. This list is
built based on the classes currently installed on the system.

SetupDiClassNameFromGuidA The SetupDiClassNameFromGuid function retrieves the class


name associated with a class GUID.

SetupDiClassNameFromGuidExA The SetupDiClassNameFromGuidEx function retrieves the class


name associated with a class GUID. The class can be installed
on a local or remote computer.

SetupDiClassNameFromGuidExW The SetupDiClassNameFromGuidEx function retrieves the class


name associated with a class GUID. The class can be installed
on a local or remote computer.

SetupDiClassNameFromGuidW The SetupDiClassNameFromGuid function retrieves the class


name associated with a class GUID.

SetupDiCreateDeviceInfoA The SetupDiCreateDeviceInfo function creates a new device


information element and adds it as a new member to the
specified device information set.

SetupDiCreateDeviceInfoList The SetupDiCreateDeviceInfoList function creates an empty


device information set and optionally associates the set with a
device setup class and a top-level window.
T IT L E DESC RIP T IO N

SetupDiCreateDeviceInfoListExA The SetupDiCreateDeviceInfoList function creates an empty


device information set on a remote or a local computer and
optionally associates the set with a device setup class .

SetupDiCreateDeviceInfoListExW The SetupDiCreateDeviceInfoList function creates an empty


device information set on a remote or a local computer and
optionally associates the set with a device setup class .

SetupDiCreateDeviceInfoW The SetupDiCreateDeviceInfo function creates a new device


information element and adds it as a new member to the
specified device information set.

SetupDiCreateDeviceInterfaceA The SetupDiCreateDeviceInterface function registers a device


interface on a local system or a remote system.

SetupDiCreateDeviceInterfaceRegKeyA The SetupDiCreateDeviceInterfaceRegKey function creates a


registry key for storing information about a device interface
and returns a handle to the key.

SetupDiCreateDeviceInterfaceRegKeyW The SetupDiCreateDeviceInterfaceRegKey function creates a


registry key for storing information about a device interface
and returns a handle to the key.

SetupDiCreateDeviceInterfaceW The SetupDiCreateDeviceInterface function registers a device


interface on a local system or a remote system.

SetupDiCreateDevRegKeyA The SetupDiCreateDevRegKey function creates a registry key


for device-specific configuration information and returns a
handle to the key.

SetupDiCreateDevRegKeyW The SetupDiCreateDevRegKey function creates a registry key


for device-specific configuration information and returns a
handle to the key.

SetupDiDeleteDeviceInfo The SetupDiDeleteDeviceInfo function deletes a device


information element from a device information set. This
function does not delete the actual device.

SetupDiDeleteDeviceInterfaceData The SetupDiDeleteDeviceInterfaceData function deletes a


device interface from a device information set.

SetupDiDeleteDeviceInterfaceRegKey The SetupDiDeleteDeviceInterfaceRegKey function deletes the


registry subkey that is used by applications and drivers to
store interface-specific information.

SetupDiDeleteDevRegKey The SetupDiDeleteDevRegKey function deletes specified user-


accessible registry keys that are associated with a device
information element.

SetupDiDestroyClassImageList The SetupDiDestroyClassImageList function destroys a class


image list that was built by a call to SetupDiGetClassImageList
or SetupDiGetClassImageListEx.

SetupDiDestroyDeviceInfoList The SetupDiDestroyDeviceInfoList function deletes a device


information set and frees all associated memory.
T IT L E DESC RIP T IO N

SetupDiDestroyDriverInfoList The SetupDiDestroyDriverInfoList function deletes a driver list.

SetupDiDrawMiniIcon The SetupDiDrawMiniIcon function draws the specified mini-


icon at the location requested.

SetupDiEnumDeviceInfo The SetupDiEnumDeviceInfo function returns a


SP_DEVINFO_DATA structure that specifies a device
information element in a device information set.

SetupDiEnumDeviceInterfaces The SetupDiEnumDeviceInterfaces function enumerates the


device interfaces that are contained in a device information
set.

SetupDiEnumDriverInfoA The SetupDiEnumDriverInfo function enumerates the


members of a driver list.

SetupDiEnumDriverInfoW The SetupDiEnumDriverInfo function enumerates the


members of a driver list.

SetupDiGetActualModelsSectionA The SetupDiGetActualModelsSection function retrieves the


appropriate decorated INF Models section to use when
installing a device from a device INF file.

SetupDiGetActualModelsSectionW The SetupDiGetActualModelsSection function retrieves the


appropriate decorated INF Models section to use when
installing a device from a device INF file.

SetupDiGetActualSectionToInstallA The SetupDiGetActualSectionToInstall function retrieves the


appropriate INF DDInstall section to use when installing a
device from a device INF file on a local computer.

SetupDiGetActualSectionToInstallExA The SetupDiGetActualSectionToInstallEx function retrieves the


name of the INF DDInstall section that installs a device for a
specified operating system and processor architecture.

SetupDiGetActualSectionToInstallExW The SetupDiGetActualSectionToInstallEx function retrieves the


name of the INF DDInstall section that installs a device for a
specified operating system and processor architecture.

SetupDiGetActualSectionToInstallW The SetupDiGetActualSectionToInstall function retrieves the


appropriate INF DDInstall section to use when installing a
device from a device INF file on a local computer.

SetupDiGetClassBitmapIndex The SetupDiGetClassBitmapIndex function retrieves the index


of the mini-icon supplied for the specified class.

SetupDiGetClassDescriptionA The SetupDiGetClassDescription function retrieves the class


description associated with the specified setup class GUID.

SetupDiGetClassDescriptionExA The SetupDiGetClassDescriptionEx function retrieves the


description of a setup class installed on a local or remote
computer.
T IT L E DESC RIP T IO N

SetupDiGetClassDescriptionExW The SetupDiGetClassDescriptionEx function retrieves the


description of a setup class installed on a local or remote
computer.

SetupDiGetClassDescriptionW The SetupDiGetClassDescription function retrieves the class


description associated with the specified setup class GUID.

SetupDiGetClassDevPropertySheetsA The SetupDiGetClassDevPropertySheets function retrieves


handles to the property sheets of a device information
element or of the device setup class of a device information
set.

SetupDiGetClassDevPropertySheetsW The SetupDiGetClassDevPropertySheets function retrieves


handles to the property sheets of a device information
element or of the device setup class of a device information
set.

SetupDiGetClassDevsExA The SetupDiGetClassDevsEx function returns a handle to a


device information set that contains requested device
information elements for a local or a remote computer.

SetupDiGetClassDevsExW The SetupDiGetClassDevsEx function returns a handle to a


device information set that contains requested device
information elements for a local or a remote computer.

SetupDiGetClassDevsW The SetupDiGetClassDevs function returns a handle to a


device information set that contains requested device
information elements for a local computer.

SetupDiGetClassImageIndex The SetupDiGetClassImageIndex function retrieves the index


within the class image list of a specified class.

SetupDiGetClassImageList The SetupDiGetClassImageList function builds an image list


that contains bitmaps for every installed class and returns the
list in a data structure.

SetupDiGetClassImageListExA The SetupDiGetClassImageListEx function builds an image list


of bitmaps for every class installed on a local or remote
system.

SetupDiGetClassImageListExW The SetupDiGetClassImageListEx function builds an image list


of bitmaps for every class installed on a local or remote
system.

SetupDiGetClassInstallParamsA The SetupDiGetClassInstallParams function retrieves class


installation parameters for a device information set or a
particular device information element.

SetupDiGetClassInstallParamsW The SetupDiGetClassInstallParams function retrieves class


installation parameters for a device information set or a
particular device information element.

SetupDiGetClassPropertyExW The SetupDiGetClassPropertyEx function retrieves a class


property for a device setup class or a device interface class on
a local or remote computer.
T IT L E DESC RIP T IO N

SetupDiGetClassPropertyKeys The SetupDiGetClassPropertyKeys function retrieves an array


of the device property keys that represent the device
properties that are set for a device setup class or a device
interface class.

SetupDiGetClassPropertyKeysExW The SetupDiGetClassPropertyKeysEx function retrieves an


array of the device property keys that represent the device
properties that are set for a device setup class or a device
interface class on a local or a remote computer.

SetupDiGetClassPropertyW The SetupDiGetClassProperty function retrieves a device


property that is set for a device setup class or a device
interface class.

SetupDiGetClassRegistryPropertyA The SetupDiGetClassRegistryProperty function retrieves a


property for a specified device setup class from the registry.

SetupDiGetClassRegistryPropertyW The SetupDiGetClassRegistryProperty function retrieves a


property for a specified device setup class from the registry.

SetupDiGetCustomDevicePropertyA The SetupDiGetCustomDeviceProperty function retrieves a


specified custom device property from the registry.

SetupDiGetCustomDevicePropertyW The SetupDiGetCustomDeviceProperty function retrieves a


specified custom device property from the registry.

SetupDiGetDeviceInfoListClass The SetupDiGetDeviceInfoListClass function retrieves the


GUID for the device setup class associated with a device
information set if the set has an associated class.

SetupDiGetDeviceInfoListDetailA The SetupDiGetDeviceInfoListDetail function retrieves


information associated with a device information set including
the class GUID, remote computer handle, and remote
computer name.

SetupDiGetDeviceInfoListDetailW The SetupDiGetDeviceInfoListDetail function retrieves


information associated with a device information set including
the class GUID, remote computer handle, and remote
computer name.

SetupDiGetDeviceInstallParamsA The SetupDiGetDeviceInstallParams function retrieves device


installation parameters for a device information set or a
particular device information element.

SetupDiGetDeviceInstallParamsW The SetupDiGetDeviceInstallParams function retrieves device


installation parameters for a device information set or a
particular device information element.

SetupDiGetDeviceInstanceIdA The SetupDiGetDeviceInstanceId function retrieves the device


instance ID that is associated with a device information
element.

SetupDiGetDeviceInstanceIdW The SetupDiGetDeviceInstanceId function retrieves the device


instance ID that is associated with a device information
element.
T IT L E DESC RIP T IO N

SetupDiGetDeviceInterfaceAlias The SetupDiGetDeviceInterfaceAlias function returns an alias


of a specified device interface.

SetupDiGetDeviceInterfaceDetailA The SetupDiGetDeviceInterfaceDetail function returns details


about a device interface.

SetupDiGetDeviceInterfaceDetailW The SetupDiGetDeviceInterfaceDetail function returns details


about a device interface.

SetupDiGetDeviceInterfacePropertyKeys The SetupDiGetDeviceInterfacePropertyKeys function retrieves


an array of device property keys that represent the device
properties that are set for a device interface.

SetupDiGetDeviceInterfacePropertyW The SetupDiGetDeviceInterfaceProperty function retrieves a


device property that is set for a device interface.

SetupDiGetDevicePropertyKeys The SetupDiGetDevicePropertyKeys function retrieves an array


of the device property keys that represent the device
properties that are set for a device instance.

SetupDiGetDevicePropertyW The SetupDiGetDeviceProperty function retrieves a device


instance property.

SetupDiGetDeviceRegistryPropertyA The SetupDiGetDeviceRegistryProperty function retrieves a


specified Plug and Play device property.

SetupDiGetDeviceRegistryPropertyW The SetupDiGetDeviceRegistryProperty function retrieves a


specified Plug and Play device property.

SetupDiGetDriverInfoDetailA The SetupDiGetDriverInfoDetail function retrieves driver


information detail for a device information set or a particular
device information element in the device information set.

SetupDiGetDriverInfoDetailW The SetupDiGetDriverInfoDetail function retrieves driver


information detail for a device information set or a particular
device information element in the device information set.

SetupDiGetDriverInstallParamsA The SetupDiGetDriverInstallParams function retrieves driver


installation parameters for a device information set or a
particular device information element.

SetupDiGetDriverInstallParamsW The SetupDiGetDriverInstallParams function retrieves driver


installation parameters for a device information set or a
particular device information element.

SetupDiGetHwProfileFriendlyNameA The SetupDiGetHwProfileFriendlyName function retrieves the


friendly name associated with a hardware profile ID.

SetupDiGetHwProfileFriendlyNameExA The SetupDiGetHwProfileFriendlyNameEx function retrieves


the friendly name associated with a hardware profile ID on a
local or remote computer.

SetupDiGetHwProfileFriendlyNameExW The SetupDiGetHwProfileFriendlyNameEx function retrieves


the friendly name associated with a hardware profile ID on a
local or remote computer.
T IT L E DESC RIP T IO N

SetupDiGetHwProfileFriendlyNameW The SetupDiGetHwProfileFriendlyName function retrieves the


friendly name associated with a hardware profile ID.

SetupDiGetHwProfileList The SetupDiGetHwProfileList function retrieves a list of all


currently defined hardware profile IDs.

SetupDiGetHwProfileListExA The SetupDiGetHwProfileListEx function retrieves a list of all


currently defined hardware profile IDs on a local or remote
computer.

SetupDiGetHwProfileListExW The SetupDiGetHwProfileListEx function retrieves a list of all


currently defined hardware profile IDs on a local or remote
computer.

SetupDiGetINFClassA The SetupDiGetINFClass function returns the class of a


specified device INF file.

SetupDiGetINFClassW The SetupDiGetINFClass function returns the class of a


specified device INF file.

SetupDiGetSelectedDevice The SetupDiGetSelectedDevice function retrieves the selected


device information element in a device information set.

SetupDiGetSelectedDriverA The SetupDiGetSelectedDriver function retrieves the selected


driver for a device information set or a particular device
information element.

SetupDiGetSelectedDriverW The SetupDiGetSelectedDriver function retrieves the selected


driver for a device information set or a particular device
information element.

SetupDiInstallClassA The SetupDiInstallClass function installs the ClassInstall32


section of the specified INF file.

SetupDiInstallClassExA The SetupDiInstallClassEx function installs a class installer or an


interface class.

SetupDiInstallClassExW The SetupDiInstallClassEx function installs a class installer or an


interface class.

SetupDiInstallClassW The SetupDiInstallClass function installs the ClassInstall32


section of the specified INF file.

SetupDiInstallDevice The SetupDiInstallDevice function is the default handler for the


DIF_INSTALLDEVICE installation request.

SetupDiInstallDeviceInterfaces The SetupDiInstallDeviceInterfaces function is the default


handler for the DIF_INSTALLINTERFACES installation request.
T IT L E DESC RIP T IO N

SetupDiInstallDriverFiles The SetupDiInstallDriverFiles function is the default handler for


the DIF_INSTALLDEVICEFILES installation request.

SetupDiLoadClassIcon The SetupDiLoadClassIcon function loads both the large and


mini-icon for the specified class.

SetupDiLoadDeviceIcon The SetupDiLoadDeviceIcon function retrieves an icon for a


specified device.

SetupDiOpenClassRegKey The SetupDiOpenClassRegKey function opens the setup class


registry key or a specific class's subkey.

SetupDiOpenClassRegKeyExA The SetupDiOpenClassRegKeyEx function opens the device


setup class registry key, the device interface class registry key,
or a specific class's subkey. This function opens the specified
key on the local computer or on a remote computer.

SetupDiOpenClassRegKeyExW The SetupDiOpenClassRegKeyEx function opens the device


setup class registry key, the device interface class registry key,
or a specific class's subkey. This function opens the specified
key on the local computer or on a remote computer.

SetupDiOpenDeviceInfoA The SetupDiOpenDeviceInfo function adds a device


information element for a device instance to a device
information set, if one does not already exist in the device
information set, and retrieves information that identifies the
device information element for the device instance in the
device information set.

SetupDiOpenDeviceInfoW The SetupDiOpenDeviceInfo function adds a device


information element for a device instance to a device
information set, if one does not already exist in the device
information set, and retrieves information that identifies the
device information element for the device instance in the
device information set.

SetupDiOpenDeviceInterfaceA The SetupDiOpenDeviceInterface function retrieves


information about a device interface and adds the interface to
the specified device information set for a local system or a
remote system.

SetupDiOpenDeviceInterfaceRegKey The SetupDiOpenDeviceInterfaceRegKey function opens the


registry subkey that is used by applications and drivers to
store information that is specific to a device interface.

SetupDiOpenDeviceInterfaceW The SetupDiOpenDeviceInterface function retrieves


information about a device interface and adds the interface to
the specified device information set for a local system or a
remote system.

SetupDiOpenDevRegKey The SetupDiOpenDevRegKey function opens a registry key for


device-specific configuration information.

SetupDiRegisterCoDeviceInstallers The SetupDiRegisterCoDeviceInstallers function is the default


handler for DIF_REGISTER_COINSTALLERS.
T IT L E DESC RIP T IO N

SetupDiRegisterDeviceInfo The SetupDiRegisterDeviceInfo function is the default handler


for the DIF_REGISTERDEVICE request.

SetupDiRemoveDevice The SetupDiRemoveDevice function is the default handler for


the DIF_REMOVE installation request.

SetupDiRemoveDeviceInterface The SetupDiRemoveDeviceInterface function removes a


registered device interface from the system.

SetupDiRestartDevices The SetupDiRestartDevices function restarts a specified device


or, if necessary, restarts all devices that are operated by the
same function and filter drivers that operate the specified
device.

SetupDiSelectBestCompatDrv The SetupDiSelectBestCompatDrv function is the default


handler for the DIF_SELECTBESTCOMPATDRV installation
request.

SetupDiSelectDevice The SetupDiSelectDevice function is the default handler for the


DIF_SELECTDEVICE request.

SetupDiSelectOEMDrv The SetupDiSelectOEMDrv function selects a driver for a


device information set or a particular device information
element that uses an OEM path supplied by the user.

SetupDiSetClassInstallParamsA The SetupDiSetClassInstallParams function sets or clears class


install parameters for a device information set or a particular
device information element.

SetupDiSetClassInstallParamsW The SetupDiSetClassInstallParams function sets or clears class


install parameters for a device information set or a particular
device information element.

SetupDiSetClassPropertyExW The SetupDiSetClassPropertyEx function sets a device


property for a device setup class or a device interface class on
a local or remote computer.

SetupDiSetClassPropertyW The SetupDiSetClassProperty function sets a class property for


a device setup class or a device interface class.

SetupDiSetClassRegistryPropertyA The SetupDiSetClassRegistryProperty function sets a specified


device class property in the registry.

SetupDiSetClassRegistryPropertyW The SetupDiSetClassRegistryProperty function sets a specified


device class property in the registry.

SetupDiSetDeviceInstallParamsA The SetupDiSetDeviceInstallParams function sets device


installation parameters for a device information set or a
particular device information element.

SetupDiSetDeviceInstallParamsW The SetupDiSetDeviceInstallParams function sets device


installation parameters for a device information set or a
particular device information element.
T IT L E DESC RIP T IO N

SetupDiSetDeviceInterfaceDefault The SetupDiSetDeviceInterfaceDefault function sets a device


interface as the default interface for a device interface class.

SetupDiSetDeviceInterfacePropertyW The SetupDiSetDeviceInterfaceProperty function sets a device


property of a device interface.

SetupDiSetDevicePropertyW The SetupDiSetDeviceProperty function sets a device instance


property.

SetupDiSetDeviceRegistryPropertyA The SetupDiSetDeviceRegistryProperty function sets a Plug


and Play device property for a device.

SetupDiSetDeviceRegistryPropertyW The SetupDiSetDeviceRegistryProperty function sets a Plug


and Play device property for a device.

SetupDiSetDriverInstallParamsA The SetupDiSetDriverInstallParams function sets driver


installation parameters for a driver information element.

SetupDiSetDriverInstallParamsW The SetupDiSetDriverInstallParams function sets driver


installation parameters for a driver information element.

SetupDiSetSelectedDevice The SetupDiSetSelectedDevice function sets a device


information element as the selected member of a device
information set. This function is typically used by an
installation wizard.

SetupDiSetSelectedDriverA The SetupDiSetSelectedDriver function sets, or resets, the


selected driver for a device information element or the
selected class driver for a device information set.

SetupDiSetSelectedDriverW The SetupDiSetSelectedDriver function sets, or resets, the


selected driver for a device information element or the
selected class driver for a device information set.

SetupDiUnremoveDevice The SetupDiUnremoveDevice function is the default handler


for the DIF_UNREMOVE installation request.

SetupGetInfDriverStoreLocationA The SetupGetInfDriverStoreLocation function retrieves the fully


qualified file name (directory path and file name) of an INF file
in the driver store that corresponds to a specified INF file in
the system INF file directory or a specified INF file in the driver
store.

SetupGetInfDriverStoreLocationW The SetupGetInfDriverStoreLocation function retrieves the fully


qualified file name (directory path and file name) of an INF file
in the driver store that corresponds to a specified INF file in
the system INF file directory or a specified INF file in the driver
store.

SetupGetInfPublishedNameA The SetupGetInfPublishedName function retrieves the fully


qualified file name (directory path and file name) of an INF file
in the system INF file directory that corresponds to a specified
INF file in the driver store or a specified INF file in the system
INF file directory.
T IT L E DESC RIP T IO N

SetupGetInfPublishedNameW The SetupGetInfPublishedName function retrieves the fully


qualified file name (directory path and file name) of an INF file
in the system INF file directory that corresponds to a specified
INF file in the driver store or a specified INF file in the system
INF file directory.

SetupGetNonInteractiveMode The SetupGetNonInteractiveMode function returns the value


of a SetupAPI non-interactive flag that indicates whether the
caller's process can interact with a user through user interface
components, such as dialog boxes.

SetupGetThreadLogToken The SetupGetThreadLogToken function retrieves the log token


for the thread from which this function was called.

SetupSetNonInteractiveMode The SetupSetNonInteractiveMode function sets a non-


interactive SetupAPI flag that determines whether SetupAPI
can interact with a user in the caller's context.

SetupSetThreadLogToken The SetupSetThreadLogToken function sets the log context, as


represented by a log token, for the thread from which this
function was called.

SetupWriteTextLog The SetupWriteTextLog function writes a log entry in a


SetupAPI text log.

SetupWriteTextLogError The SetupWriteTextLogError function writes information about


a SetupAPI-specific error or a Win32 system error to a
SetupAPI text log.

SetupWriteTextLogInfLine The SetupWriteTextLogInfLine function writes a log entry in a


SetupAPI text log that contains the text of a specified INF file
line.

UpdateDriverForPlugAndPlayDevicesA Given an INF file and a hardware ID, the


UpdateDriverForPlugAndPlayDevices function installs updated
drivers for devices that match the hardware ID.

UpdateDriverForPlugAndPlayDevicesW Given an INF file and a hardware ID, the


UpdateDriverForPlugAndPlayDevices function installs updated
drivers for devices that match the hardware ID.

Structures
T IT L E DESC RIP T IO N

BUSNUMBER_DES The BUSNUMBER_DES structure is used for specifying either a


resource list or a resource requirements list that describes bus
number usage for a device instance.

BUSNUMBER_RANGE The BUSNUMBER_RANGE structure specifies a resource


requirements list that describes bus number usage for a device
instance. For more information about resource requirements
lists, see Hardware Resources.
T IT L E DESC RIP T IO N

BUSNUMBER_RESOURCE The BUSNUMBER_RESOURCE structure specifies either a


resource list or a resource requirements list that describes bus
number usage for a device instance. For more information
about resource lists and resource requirements lists, see
Hardware Resources.

CM_NOTIFY_EVENT_DATA This is a device notification event data structure.

CM_NOTIFY_FILTER Device notification filter structure.

CONFLICT_DETAILS_A The CONFLICT_DETAILS structure is used as a parameter to


the CM_Get_Resource_Conflict_Details function.

CONFLICT_DETAILS_W The CONFLICT_DETAILS structure is used as a parameter to


the CM_Get_Resource_Conflict_Details function.

CS_DES The CS_DES structure is used for specifying a resource list that
describes device class-specific resource usage for a device
instance. For more information about resource lists, see
Hardware Resources.

CS_RESOURCE The CS_RESOURCE structure is used for specifying a resource


list that describes device class-specific resource usage for a
device instance. For more information about resource lists, see
Hardware Resources.

DMA_DES The DMA_DES structure is used for specifying either a


resource list or a resource requirements list that describes
direct memory access (DMA) channel usage for a device
instance.

DMA_RANGE The DMA_RANGE structure specifies a resource requirements


list that describes DMA channel usage for a device instance.
For more information about resource requirements lists, see
Hardware Resources.

DMA_RESOURCE The DMA_RESOURCE structure is used for specifying either a


resource list or a resource requirements list that describes
DMA channel usage for a device instance.

IO_DES The IO_DES structure is used for specifying either a resource


list or a resource requirements list that describes I/O port
usage for a device instance. For more information about
resource lists and resource requirements lists, see Hardware
Resources.

IO_RANGE The IO_RANGE structure specifies a resource requirements list


that describes I/O port usage for a device instance. For more
information about resource requirements lists, see Hardware
Resources.

IO_RESOURCE The IO_RESOURCE structure is used for specifying either a


resource list or a resource requirements list that describes I/O
port usage for a device instance.
T IT L E DESC RIP T IO N

IRQ_DES_32 The IRQ_DES structure is used for specifying either a resource


list or a resource requirements list that describes IRQ line
usage for a device instance. For more information about
resource lists and resource requirements lists, see Hardware
Resources.

IRQ_DES_64 The IRQ_DES structure is used for specifying either a resource


list or a resource requirements list that describes IRQ line
usage for a device instance. For more information about
resource lists and resource requirements lists, see Hardware
Resources.

IRQ_RANGE The IRQ_RANGE structure specifies a resource requirements


list that describes IRQ line usage for a device instance. For
more information about resource requirements lists, see
Hardware Resources.

IRQ_RESOURCE_32 The IRQ_RESOURCE structure is used for specifying either a


resource list or a resource requirements list that describes IRQ
line usage for a device instance.

IRQ_RESOURCE_64 The IRQ_RESOURCE structure is used for specifying either a


resource list or a resource requirements list that describes IRQ
line usage for a device instance.

MEM_DES The MEM_DES structure is used for specifying either a


resource list or a resource requirements list that describes
memory usage for a device instance. For more information
about resource lists and resource requirements lists, see
Hardware Resources.

MEM_RANGE The MEM_RANGE structure specifies a resource requirements


list that describes memory usage for a device instance. For
more information about resource requirements lists, see
Hardware Resources.

MEM_RESOURCE The MEM_RESOURCE structure is used for specifying either a


resource list or a resource requirements list that describes
memory usage for a device instance. For more information
about resource lists and resource requirements lists, see
Hardware Resources.

MFCARD_DES The MFCARD_DES structure is used for specifying either a


resource list or a resource requirements list that describes
resource usage by one of the hardware functions provided by
an instance of a multifunction device.

MFCARD_RESOURCE The MFCARD_RESOURCE structure is used for specifying


either a resource list or a resource requirements list that
describes resource usage by one of the hardware functions
provided by an instance of a multifunction device.

PCCARD_DES The PCCARD_DES structure is used for specifying either a


resource list or a resource requirements list that describes
resource usage by a PC Card instance. For more information
about resource lists and resource requirements lists, see
Hardware Resources.
T IT L E DESC RIP T IO N

PCCARD_RESOURCE The PCCARD_RESOURCE structure is used for specifying either


a resource list or a resource requirements list that describes
resource usage by a PC Card instance.

SP_CLASSIMAGELIST_DATA An SP_CLASSIMAGELIST_DATA structure describes a class


image list.

SP_CLASSINSTALL_HEADER An SP_CLASSINSTALL_HEADER is the first member of any class


install parameters structure. It contains the device installation
request code that defines the format of the rest of the install
parameters structure.

SP_DETECTDEVICE_PARAMS An SP_DETECTDEVICE_PARAMS structure corresponds to a


DIF_DETECT installation request.

SP_DEVICE_INTERFACE_DATA An SP_DEVICE_INTERFACE_DATA structure defines a device


interface in a device information set.

SP_DEVICE_INTERFACE_DETAIL_DATA_A An SP_DEVICE_INTERFACE_DETAIL_DATA structure contains


the path for a device interface.

SP_DEVICE_INTERFACE_DETAIL_DATA_W An SP_DEVICE_INTERFACE_DETAIL_DATA structure contains


the path for a device interface.

SP_DEVINFO_DATA An SP_DEVINFO_DATA structure defines a device instance that


is a member of a device information set.

SP_DEVINFO_LIST_DETAIL_DATA_A An SP_DEVINFO_LIST_DETAIL_DATA structure contains


information about a device information set, such as its
associated setup class GUID (if it has an associated setup
class).

SP_DEVINFO_LIST_DETAIL_DATA_W An SP_DEVINFO_LIST_DETAIL_DATA structure contains


information about a device information set, such as its
associated setup class GUID (if it has an associated setup
class).

SP_DEVINSTALL_PARAMS_A An SP_DEVINSTALL_PARAMS structure contains device


installation parameters associated with a particular device
information element or associated globally with a device
information set.

SP_DEVINSTALL_PARAMS_W An SP_DEVINSTALL_PARAMS structure contains device


installation parameters associated with a particular device
information element or associated globally with a device
information set.

SP_DRVINFO_DATA_V1_A An SP_DRVINFO_DATA structure contains information about a


driver. This structure is a member of a driver information list
that can be associated with a particular device instance or
globally with a device information set.
T IT L E DESC RIP T IO N

SP_DRVINFO_DATA_V1_W An SP_DRVINFO_DATA structure contains information about a


driver. This structure is a member of a driver information list
that can be associated with a particular device instance or
globally with a device information set.

SP_DRVINFO_DATA_V2_A An SP_DRVINFO_DATA structure contains information about a


driver. This structure is a member of a driver information list
that can be associated with a particular device instance or
globally with a device information set.

SP_DRVINFO_DATA_V2_W An SP_DRVINFO_DATA structure contains information about a


driver. This structure is a member of a driver information list
that can be associated with a particular device instance or
globally with a device information set.

SP_DRVINFO_DETAIL_DATA_A An SP_DRVINFO_DETAIL_DATA structure contains detailed


information about a particular driver information structure.

SP_DRVINFO_DETAIL_DATA_W An SP_DRVINFO_DETAIL_DATA structure contains detailed


information about a particular driver information structure.

SP_DRVINSTALL_PARAMS An SP_DRVINSTALL_PARAMS structure contains driver


installation parameters associated with a particular driver
information element.

SP_NEWDEVICEWIZARD_DATA An SP_NEWDEVICEWIZARD_DATA structure is used by


installers to extend the operation of the hardware installation
wizard by adding custom pages. It is used with
DIF_NEWDEVICEWIZARD_XXX installation requests.

SP_POWERMESSAGEWAKE_PARAMS_A An SP_POWERMESSAGEWAKE_PARAMS structure corresponds


to a DIF_POWERMESSAGEWAKE installation request.

SP_POWERMESSAGEWAKE_PARAMS_W An SP_POWERMESSAGEWAKE_PARAMS structure corresponds


to a DIF_POWERMESSAGEWAKE installation request.

SP_PROPCHANGE_PARAMS An SP_PROPCHANGE_PARAMS structure corresponds to a


DIF_PROPERTYCHANGE installation request.

SP_PROPSHEETPAGE_REQUEST An SP_PROPSHEETPAGE_REQUEST structure can be passed as


the first parameter (lpv) to the ExtensionPropSheetPageProc
entry point in the SetupAPI DLL.

SP_REMOVEDEVICE_PARAMS An SP_REMOVEDEVICE_PARAMS structure corresponds to the


DIF_REMOVE installation request.

SP_SELECTDEVICE_PARAMS_A An SP_SELECTDEVICE_PARAMS structure corresponds to a


DIF_SELECTDEVICE installation request.

SP_SELECTDEVICE_PARAMS_W An SP_SELECTDEVICE_PARAMS structure corresponds to a


DIF_SELECTDEVICE installation request.

SP_TROUBLESHOOTER_PARAMS_A An SP_TROUBLESHOOTER_PARAMS structure corresponds to


a DIF_TROUBLESHOOTER installation request.
T IT L E DESC RIP T IO N

SP_TROUBLESHOOTER_PARAMS_W An SP_TROUBLESHOOTER_PARAMS structure corresponds to


a DIF_TROUBLESHOOTER installation request.

SP_UNREMOVEDEVICE_PARAMS An SP_UNREMOVEDEVICE_PARAMS structure corresponds to


a DIF_UNREMOVE installation request.
Dialog Boxes
2/7/2020 • 10 minutes to read • Edit Online

Overview of the Dialog Boxes technology.


To develop Dialog Boxes, you need these headers:
commdlg.h
For programming guidance for this technology, see:
Dialog Boxes

Functions
T IT L E DESC RIP T IO N

CommDlgExtendedError Returns a common dialog box error code. This code indicates
the most recent error to occur during the execution of one of
the common dialog box functions.

CreateDialogA Creates a modeless dialog box from a dialog box template


resource. The CreateDialog macro uses the CreateDialogParam
function.

CreateDialogIndirectA Creates a modeless dialog box from a dialog box template in


memory. The CreateDialogIndirect macro uses the
CreateDialogIndirectParam function.

CreateDialogIndirectParamA Creates a modeless dialog box from a dialog box template in


memory.

CreateDialogIndirectParamW Creates a modeless dialog box from a dialog box template in


memory.

CreateDialogIndirectW Creates a modeless dialog box from a dialog box template in


memory. The CreateDialogIndirect macro uses the
CreateDialogIndirectParam function.

CreateDialogParamA Creates a modeless dialog box from a dialog box template


resource.

CreateDialogParamW Creates a modeless dialog box from a dialog box template


resource.

CreateDialogW Creates a modeless dialog box from a dialog box template


resource. The CreateDialog macro uses the CreateDialogParam
function.

DefDlgProcW Calls the default dialog box window procedure to provide


default processing for any window messages that a dialog box
with a private window class does not process.
T IT L E DESC RIP T IO N

DialogBoxA Creates a modal dialog box from a dialog box template


resource. DialogBox does not return control until the specified
callback function terminates the modal dialog box by calling
the EndDialog function.

DialogBoxIndirectA Creates a modal dialog box from a dialog box template in


memory. DialogBoxIndirect does not return control until the
specified callback function terminates the modal dialog box by
calling the EndDialog function.

DialogBoxIndirectParamA Creates a modal dialog box from a dialog box template in


memory.

DialogBoxIndirectParamW Creates a modal dialog box from a dialog box template in


memory.

DialogBoxIndirectW Creates a modal dialog box from a dialog box template in


memory. DialogBoxIndirect does not return control until the
specified callback function terminates the modal dialog box by
calling the EndDialog function.

DialogBoxParamA Creates a modal dialog box from a dialog box template


resource.

DialogBoxParamW Creates a modal dialog box from a dialog box template


resource.

DialogBoxW Creates a modal dialog box from a dialog box template


resource. DialogBox does not return control until the specified
callback function terminates the modal dialog box by calling
the EndDialog function.

DLGPROC Application-defined callback function used with the


CreateDialog and DialogBox families of functions.

EndDialog Destroys a modal dialog box, causing the system to end any
processing for the dialog box.

FindTextA Creates a system-defined modeless Find dialog box that lets


the user specify a string to search for and options to use when
searching for text in a document.

FindTextW Creates a system-defined modeless Find dialog box that lets


the user specify a string to search for and options to use when
searching for text in a document.

GetCurrentDevMode Fills a DEVMODE structure with information about the


currently selected printer for use with PrintDlgEx.

GetCurrentPortName Retrieves the name of the current port for use with PrintDlgEx.

GetCurrentPrinterName Retrieves the name of the currently selected printer, for use
with PrintDlgEx.
T IT L E DESC RIP T IO N

GetDialogBaseUnits Retrieves the system's dialog base units, which are the average
width and height of characters in the system font.

GetDlgCtrlID Retrieves the identifier of the specified control.

GetDlgItem Retrieves a handle to a control in the specified dialog box.

GetDlgItemInt Translates the text of a specified control in a dialog box into an


integer value.

GetDlgItemTextA Retrieves the title or text associated with a control in a dialog


box.

GetDlgItemTextW Retrieves the title or text associated with a control in a dialog


box.

GetFileTitleA Retrieves the name of the specified file.

GetFileTitleW Retrieves the name of the specified file.

GetNextDlgGroupItem Retrieves a handle to the first control in a group of controls


that precedes (or follows) the specified control in a dialog box.

GetNextDlgTabItem Retrieves a handle to the first control that has the


WS_TABSTOP style that precedes (or follows) the specified
control.

GetOpenFileNameA Creates an Open dialog box that lets the user specify the
drive, directory, and the name of a file or set of files to be
opened.

GetOpenFileNameW Creates an Open dialog box that lets the user specify the
drive, directory, and the name of a file or set of files to be
opened.

GetSaveFileNameA Creates a Save dialog box that lets the user specify the drive,
directory, and name of a file to save.

GetSaveFileNameW Creates a Save dialog box that lets the user specify the drive,
directory, and name of a file to save.

HandleMessage Called by PrintDlgEx to give your application an opportunity


to handle messages sent to the child dialog box in the lower
portion of the General page of the Print Property Sheet.

InitDone Called by PrintDlgEx when the system has finished initializing


the General page of the Print Property Sheet.

IsDialogMessageA Determines whether a message is intended for the specified


dialog box and, if it is, processes the message.

IsDialogMessageW Determines whether a message is intended for the specified


dialog box and, if it is, processes the message.
T IT L E DESC RIP T IO N

LPCCHOOKPROC Receives messages or notifications intended for the default


dialog box procedure of the Color dialog box. This is an
application-defined or library-defined callback function that is
used with the ChooseColor function.

LPCFHOOKPROC Receives messages or notifications intended for the default


dialog box procedure of the Font dialog box. This is an
application-defined or library-defined callback procedure that
is used with the ChooseFont function.

LPFRHOOKPROC Receives messages or notifications intended for the default


dialog box procedure of the Find or Replace dialog box.

LPOFNHOOKPROC Receives notification messages sent from the dialog box.

LPPAGEPAINTHOOK Receives messages that allow you to customize drawing of the


sample page in the Page Setup dialog box. The PagePaintHook
hook procedure is an application-defined or library-defined
callback function used with the PageSetupDlg function.

LPPAGESETUPHOOK Receives messages or notifications intended for the default


dialog box procedure of the Page Setup dialog box. The
PageSetupHook hook procedure is an application-defined or
library-defined callback function used with the PageSetupDlg
function.

LPPRINTHOOKPROC Receives messages or notifications intended for the default


dialog box procedure of the Print dialog box. This is an
application-defined or library-defined callback function that is
used with the PrintDlg function.

LPSETUPHOOKPROC An application-defined or library-defined callback function


used with the PrintDlg function. The hook procedure receives
messages or notifications intended for the default dialog box
procedure of the Print Setup dialog box.

MapDialogRect Converts the specified dialog box units to screen units (pixels).

MessageBox Displays a modal dialog box that contains a system icon, a set
of buttons, and a brief application-specific message, such as
status or error information. The message box returns an
integer value that indicates which button the user clicked.

MessageBoxA Displays a modal dialog box that contains a system icon, a set
of buttons, and a brief application-specific message, such as
status or error information. The message box returns an
integer value that indicates which button the user clicked.

MessageBoxExA Creates, displays, and operates a message box.

MessageBoxExW Creates, displays, and operates a message box.

MessageBoxIndirectA Creates, displays, and operates a message box. The message


box contains application-defined message text and title, any
icon, and any combination of predefined push buttons.
T IT L E DESC RIP T IO N

MessageBoxIndirectW Creates, displays, and operates a message box. The message


box contains application-defined message text and title, any
icon, and any combination of predefined push buttons.

MessageBoxW Displays a modal dialog box that contains a system icon, a set
of buttons, and a brief application-specific message, such as
status or error information. The message box returns an
integer value that indicates which button the user clicked.

ReplaceTextA Creates a system-defined modeless dialog box that lets the


user specify a string to search for and a replacement string, as
well as options to control the find and replace operations.

ReplaceTextW Creates a system-defined modeless dialog box that lets the


user specify a string to search for and a replacement string, as
well as options to control the find and replace operations.

SelectionChange Called by PrintDlgEx when the user selects a different printer


from the list of installed printers on the General page of the
Print Property Sheet.

SendDlgItemMessageA Sends a message to the specified control in a dialog box.

SendDlgItemMessageW Sends a message to the specified control in a dialog box.

SetDlgItemInt Sets the text of a control in a dialog box to the string


representation of a specified integer value.

SetDlgItemTextA Sets the title or text of a control in a dialog box.

SetDlgItemTextW Sets the title or text of a control in a dialog box.

Interfaces
T IT L E DESC RIP T IO N

IPrintDialogCallback Provides methods that enable an application to receive


notifications and messages from the PrintDlgEx function while
the Print Property Sheet is displayed.

IPrintDialogServices Provides methods that enable an application using the


PrintDlgEx function to retrieve information about the currently
selected printer.

Structures
T IT L E DESC RIP T IO N

CHOOSEFONTA Contains information that the ChooseFont function uses to


initialize the Font dialog box. After the user closes the dialog
box, the system returns information about the user's selection
in this structure.
T IT L E DESC RIP T IO N

CHOOSEFONTW Contains information that the ChooseFont function uses to


initialize the Font dialog box. After the user closes the dialog
box, the system returns information about the user's selection
in this structure.

DEVNAMES Contains strings that identify the driver, device, and output
port names for a printer.

DLGITEMTEMPLATE Defines the dimensions and style of a control in a dialog box.


One or more of these structures are combined with a
DLGTEMPLATE structure to form a standard template for a
dialog box.

DLGTEMPLATE Defines the dimensions and style of a dialog box.

FINDREPLACEA Contains information that the FindText and ReplaceText


functions use to initialize the Find and Replace dialog boxes.

FINDREPLACEW Contains information that the FindText and ReplaceText


functions use to initialize the Find and Replace dialog boxes.

MSGBOXPARAMSA Contains information used to display a message box. The


MessageBoxIndirect function uses this structure.

MSGBOXPARAMSW Contains information used to display a message box. The


MessageBoxIndirect function uses this structure.

OFNOTIFYA Contains information about a WM_NOTIFY message sent to


an OFNHookProc hook procedure for an Open or Save As
dialog box. The lParam parameter of the WM_NOTIFY message
is a pointer to an OFNOTIFY structure.

OFNOTIFYEXA Contains information about a CDN_INCLUDEITEM notification


message.

OFNOTIFYEXW Contains information about a CDN_INCLUDEITEM notification


message.

OFNOTIFYW Contains information about a WM_NOTIFY message sent to


an OFNHookProc hook procedure for an Open or Save As
dialog box. The lParam parameter of the WM_NOTIFY message
is a pointer to an OFNOTIFY structure.

OPENFILENAME_NT4A The OPENFILENAME_NT4 structure is identical to


OPENFILENAME with _WIN32_WINNT set to 0x0400.

OPENFILENAME_NT4W The OPENFILENAME_NT4 structure is identical to


OPENFILENAME with _WIN32_WINNT set to 0x0400.

OPENFILENAMEA Contains information that the GetOpenFileName and


GetSaveFileName functions use to initialize an Open or Save
As dialog box. After the user closes the dialog box, the system
returns information about the user's selection in this structure.
T IT L E DESC RIP T IO N

OPENFILENAMEW Contains information that the GetOpenFileName and


GetSaveFileName functions use to initialize an Open or Save
As dialog box. After the user closes the dialog box, the system
returns information about the user's selection in this structure.

PAGESETUPDLGA Contains information the PageSetupDlg function uses to


initialize the Page Setup dialog box. After the user closes the
dialog box, the system returns information about the user-
defined page parameters in this structure.

PAGESETUPDLGW Contains information the PageSetupDlg function uses to


initialize the Page Setup dialog box. After the user closes the
dialog box, the system returns information about the user-
defined page parameters in this structure.

PRINTDLGA Contains information that the PrintDlg function uses to


initialize the Print Dialog Box. After the user closes the dialog
box, the system uses this structure to return information
about the user's selections.

PRINTDLGEXA Contains information that the PrintDlgEx function uses to


initialize the Print property sheet. After the user closes the
property sheet, the system uses this structure to return
information about the user's selections.

PRINTDLGEXW Contains information that the PrintDlgEx function uses to


initialize the Print property sheet. After the user closes the
property sheet, the system uses this structure to return
information about the user's selections.

PRINTDLGW Contains information that the PrintDlg function uses to


initialize the Print Dialog Box. After the user closes the dialog
box, the system uses this structure to return information
about the user's selections.

PRINTPAGERANGE Represents a range of pages in a print job. A print job can


have more than one page range. This information is supplied
in the PRINTDLGEX structure when calling the PrintDlgEx
function.
Direct Manipulation
2/7/2020 • 7 minutes to read • Edit Online

Overview of the Direct Manipulation technology.


To develop Direct Manipulation, you need these headers:
directmanipulation.h
For programming guidance for this technology, see:
Direct Manipulation

Enumerations
T IT L E DESC RIP T IO N

DIRECTMANIPULATION_AUTOSCROLL_CONFIGURATION Determines the type and direction of automatic scrolling


animation to apply.

DIRECTMANIPULATION_CONFIGURATION Defines the interaction configuration states available in Direct


Manipulation.

DIRECTMANIPULATION_DRAG_DROP_CONFIGURATION Defines behaviors for the drag-drop interaction.

DIRECTMANIPULATION_DRAG_DROP_STATUS Defines the drag-and-drop interaction states for the viewport.

DIRECTMANIPULATION_GESTURE_CONFIGURATION Defines the gestures that can be passed to SetManualGesture.

DIRECTMANIPULATION_HITTEST_TYPE Defines how hit testing is handled by Direct Manipulation


when using a dedicated hit-test thread registered through
RegisterHitTestTarget.

DIRECTMANIPULATION_HORIZONTALALIGNMENT Defines the horizontal alignment options for content within a


viewport.

DIRECTMANIPULATION_INPUT_MODE Defines the threading behavior for SetInputMode or


SetUpdateMode. The exact meaning of each constant depends
on the method called.

DIRECTMANIPULATION_INTERACTION_TYPE Defines gestures recognized by Direct Manipulation.

DIRECTMANIPULATION_MOTION_TYPES Defines the Direct Manipulation motion type.

DIRECTMANIPULATION_SNAPPOINT_COORDINATE Defines the coordinate system for a collection of snap points.

DIRECTMANIPULATION_SNAPPOINT_TYPE Modifies how the final inertia end position is calculated.

DIRECTMANIPULATION_STATUS Defines the possible states of Direct Manipulation.

DIRECTMANIPULATION_VERTICALALIGNMENT Defines the vertical alignment settings for content within the
viewport.
T IT L E DESC RIP T IO N

DIRECTMANIPULATION_VIEWPORT_OPTIONS Defines the input behavior options for the viewport.

Functions
T IT L E DESC RIP T IO N

Abandon Releases all resources that are used by the viewport and
prepares it for destruction from memory.

Activate Activates Direct Manipulation for processing input and


handling callbacks on the specified window.

ActivateConfiguration Sets the configuration for input interaction.

AddBehavior Adds a behavior to the viewport and returns a cookie to the


caller.

AddConfiguration Adds an interaction configuration for the viewport.

AddContent Associates content (owned by the caller) with the compositor,


assigns a composition device to the content, and specifies the
position of the content in the composition tree relative to
other composition visuals.

AddContent Adds secondary content, such as a panning indicator, to a


viewport.

AddContentWithCrossProcessChaining Associates content (owned by the component host) with the


compositor, assigns a composition device to the content, and
specifies the position of the content in the composition tree
relative to other composition visuals.

AddEventHandler Adds a new event handler to listen for viewport events.

CancelContact Cancel all scheduled calls to SetContact for this pointerId.

CancelDeferral Cancel the deferral set in DeferContact and process the


scheduled SetContact call for this pointerId.

CreateBehavior Factory method to create a behavior.

CreateContent The factory method that is used to create an instance of


secondary content (such as a panning indicator) inside a
viewport.

CreateViewport The factory method that is used to create a new


IDirectManipulationViewport object.

Deactivate Deactivates Direct Manipulation for processing input and


handling callbacks on the specified window.
T IT L E DESC RIP T IO N

DeferContact Specifies the amount of time to defer the execution of a call to


SetContact for this pointerId.

Disable Stops input processing by the viewport.

Enable Starts or resumes input processing by the viewport.

Flush Commits all pending updates in the compositor to the system


for rendering.

GetCenterPoint Retrieves the center point of the manipulation in content


coordinates.

GetContentRect Retrieves the bounding rectangle of the content, relative to


the bounding rectangle of the viewport (if defined).

GetContentTransform Retrieves the transform applied to the content.

GetInertiaEndTransform Gets the final transform, including inertia, of the primary


content.

GetNextFrameInfo Retrieves the composition timing information from the


compositor.

GetOutputTransform Gets the final transform applied to the content.

GetPrimaryContent Gets the primary content of a viewport that implements


IDirectManipulationContent and
IDirectManipulationPrimaryContent.

GetService Retrieves an IDirectManipulationDeferContactService object.

GetStatus Gets the status of the drag-drop interaction for the viewport
this behavior is attached to.

GetStatus Gets the state of the viewport.

GetTag Retrieves the tag object set on this content.

GetTag Gets the tag value of a viewport.

GetUpdateManager Gets a pointer to an IDirectManipulationUpdateManager


object that receives compositor updates.

GetViewport Retrieves the viewport that contains the content.

GetViewportRect Retrieves the rectangle for the viewport relative to the origin
of the viewport coordinate system specified by
SetViewportRect.

OnContentUpdated Called when content inside a viewport is updated.


T IT L E DESC RIP T IO N

OnDragDropStatusChange Called when a status change happens in the viewport that the
drag-and-drop behavior is attached to.

OnInteraction Called when an interaction is detected.

OnViewportStatusChanged Called when the status of a viewport changes.

OnViewportUpdated Called after all content in the viewport has been updated.

ProcessInput Passes keyboard and mouse messages to the manipulation


manager on the app's UI thread.

RegisterHitTestTarget Registers a dedicated thread for hit testing.

RegisterWaitHandleCallback Registers a callback that is triggered by a handle.

ReleaseAllContacts Removes all contacts that are associated with the viewport.
Inertia is started if the viewport supports inertia.

ReleaseContact Removes a contact that is associated with a viewport.

RemoveAllBehaviors Removes all behaviors added to the viewport.

RemoveBehavior Removes a behavior from the viewport that matches the given
cookie.

RemoveConfiguration Removes an interaction configuration for the viewport.

RemoveContent Removes content from the compositor.

RemoveContent Removes secondary content from a viewport.

RemoveEventHandler Removes an existing event handler from the viewport.

SetChaining Specifies the motion types supported in a viewport that can


be chained to a parent viewport.

SetConfiguration Performs the auto-scroll animation for the viewport this


behavior is attached to.

SetConfiguration Sets the configuration of the drag-drop interaction for the


viewport this behavior is attached to.

SetContact Specifies an association between a contact and the viewport.

SetContentRect Specifies the bounding rectangle of the content, relative to its


viewport.

SetHorizontalAlignment Sets the horizontal alignment of the primary content relative


to the viewport.

SetInputMode Specifies if input is visible to the UI thread.


T IT L E DESC RIP T IO N

SetManualGesture Sets which gestures are ignored by Direct Manipulation.

SetSnapCoordinate Specifies the coordinate system for snap points or snap


intervals.

SetSnapInterval Specifies snap points for the inertia end position at uniform
intervals.

SetSnapPoints Specifies the snap points for the inertia rest position.

SetSnapType Specifies the type of snap point.

SetTag Specifies the tag object for the content.

SetTag Sets a viewport tag.

SetUpdateManager Sets the update manager used to send compositor updates to


Direct Manipulation.

SetUpdateMode Specifies whether a viewport updates content manually


instead of during an input event.

SetVerticalAlignment Specifies the vertical alignment of the primary content in the


viewport.

SetViewportOptions Sets how the viewport handles input and output.

SetViewportRect Sets the bounding rectangle for the viewport, relative to the
origin of the viewport coordinate system.

SetViewportTransform Specifies the transform from the viewport coordinate system


to the window client coordinate system.

SetZoomBoundaries Specifies the minimum and maximum boundaries for zoom.

Stop Stops the manipulation and returns the viewport to a ready


state.

SyncContentTransform Modifies the content transform while maintaining the output


transform.

SyncDisplayTransform Specifies a display transform for the viewport, and


synchronizes the output transform with the new value of the
display transform.

UnregisterWaitHandleCallback Deregisters a callback.

Update Notifies the compositor when to update inertia animation.

Update Updates Direct Manipulation at the current time.


T IT L E DESC RIP T IO N

ZoomToRect Moves the viewport to a specific area of the primary content


and specifies whether to animate the transition.

Interfaces
T IT L E DESC RIP T IO N

IDirectManipulationAutoScrollBehavior Represents the auto-scroll animation behavior of content as it


approaches the boundary of a given axis or axes.

IDirectManipulationCompositor Represents a compositor object that associates manipulated


content with a drawing surface, such as canvas (Windows app
using JavaScript) or Canvas (Windows Store app using C++,
C#, or Visual Basic).

IDirectManipulationCompositor2 Represents a compositor object that associates manipulated


content with drawing surfaces across multiple processes.

IDirectManipulationContent Encapsulates content inside a viewport, where content


represents a visual surface clipped inside the viewport.

IDirectManipulationDeferContactService Represents a service for managing associations between a


contact and a viewport.

IDirectManipulationDragDropBehavior Represents behaviors for drag and drop interactions, which are
triggered by cross-slide or press-and-hold gestures.

IDirectManipulationDragDropEventHandler Defines methods to handle drag-drop behavior events.

IDirectManipulationFrameInfoProvider Represents a time-keeping object that measures the latency of


the composition infrastructure used by the application and
provides this data to Direct Manipulation.

IDirectManipulationInteractionEventHandler Defines methods to handle interactions when they are


detected.

IDirectManipulationManager Provides access to all the Direct Manipulation features and


APIs available to the client application.

IDirectManipulationManager2 Extends the IDirectManipulationManager interface that


provides access to all the Direct Manipulation features and
APIs available to the client application.

IDirectManipulationManager3 Extends the IDirectManipulationManager2 interface that


provides access to all the Direct Manipulation features and
APIs available to the client application.

IDirectManipulationPrimaryContent Encapsulates the primary content inside a viewport.

IDirectManipulationUpdateHandler Defines methods for handling manipulation update events.

IDirectManipulationUpdateManager Manages how compositor updates are sent to Direct


Manipulation.
T IT L E DESC RIP T IO N

IDirectManipulationViewport Defines a region within a window (referred to as a viewport)


that is able to receive and process input from user
interactions.

IDirectManipulationViewport2 Provides management of behaviors on a viewport. A behavior


affects the functionality of a particular part of the Direct
Manipulation workflow.

IDirectManipulationViewportEventHandler Defines methods for handling status and update events for
the viewport.
Direct2D
2/7/2020 • 79 minutes to read • Edit Online

Overview of the Direct2D technology.


To develop Direct2D, you need these headers:
d2d1.h
d2d1_1.h
d2d1_1helper.h
d2d1_2.h
d2d1_3.h
d2d1_3helper.h
d2d1effectauthor.h
d2d1effectauthor_1.h
d2d1effecthelpers.h
d2d1effecthelpers.hlsli
d2d1effects.h
d2d1effects_1.h
d2d1effects_2.h
d2d1helper.h
d2d1svg.h
dcommon.h
For programming guidance for this technology, see:
Direct2D

Class
T IT L E DESC RIP T IO N

ColorF Defines a set of constants that represents known colors and


provides convenience methods for instantiating different
colors.

Matrix3x2F The Matrix3x2F class represents a 3-by-2 matrix and provides


convenience methods for creating matrices.

Matrix4x4F The Matrix4x4F class represents a 4-by-4 matrix and provides


convenience methods for creating matrices.

Enumerations
T IT L E DESC RIP T IO N
T IT L E DESC RIP T IO N

D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE The interpolation mode to be used with the 2D affine


transform effect to scale the image. There are 6 scale modes
that range in quality and speed.

D2D1_2DAFFINETRANSFORM_PROP Identifiers for properties of the 2D affine transform effect.

D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE The interpolation mode the 3D perspective transform effect


uses on the image. There are 5 scale modes that range in
quality and speed.

D2D1_3DPERSPECTIVETRANSFORM_PROP Identifiers for the properties of the 3D perspective transform


effect.

D2D1_3DTRANSFORM_INTERPOLATION_MODE The interpolation mode the 3D transform effect uses on the


image. There are 5 scale modes that range in quality and
speed.

D2D1_3DTRANSFORM_PROP Identifiers for properties of the 3D transform effect.

D2D1_ALPHA_MODE Specifies how the alpha value of a bitmap or render target


should be treated.

D2D1_ANTIALIAS_MODE Specifies how the edges of nontext primitives are rendered.

D2D1_ARC_SIZE Specifies whether an arc should be greater than 180 degrees.

D2D1_ARITHMETICCOMPOSITE_PROP Identifiers for the properties of the Arithmetic composite


effect.

D2D1_ATLAS_PROP Identifiers for properties of the Atlas effect.

D2D1_BITMAP_INTERPOLATION_MODE Specifies the algorithm that is used when images are scaled or
rotated.

D2D1_BITMAP_OPTIONS Specifies how a bitmap can be used.

D2D1_BITMAPSOURCE_ALPHA_MODE Specifies the alpha mode of the output of the Bitmap source
effect.

D2D1_BITMAPSOURCE_INTERPOLATION_MODE The interpolation mode used to scale the image in the Bitmap
source effect.

D2D1_BITMAPSOURCE_ORIENTATION Speficies whether a flip and/or rotation operation should be


performed by the Bitmap source effect.

D2D1_BITMAPSOURCE_PROP Identifiers for properties of the Bitmap source effect.

D2D1_BLEND Specifies how one of the color sources is to be derived and


optionally specifies a preblend operation on the color source.

D2D1_BLEND_MODE The blend mode used for the Blend effect.

D2D1_BLEND_OPERATION Specifies the blend operation on two color sources.


T IT L E DESC RIP T IO N

D2D1_BLEND_PROP Identifiers for properties of the Blend effect.

D2D1_BORDER_EDGE_MODE The edge mode for the Border effect.

D2D1_BORDER_MODE Specifies how the Crop effect handles the crop rectangle falling
on fractional pixel coordinates.

D2D1_BORDER_PROP Identifiers for properties of the Border effect.

D2D1_BRIGHTNESS_PROP Identifiers for the properties of the Brightness effect.

D2D1_BUFFER_PRECISION Represents the bit depth of the imaging pipeline in Direct2D.

D2D1_CAP_STYLE Describes the shape at the end of a line or segment.

D2D1_CHANGE_TYPE Describes flags that influence how the renderer interacts with
a custom vertex shader.

D2D1_CHANNEL_DEPTH Allows a caller to control the channel depth of a stage in the


rendering pipeline.

D2D1_CHANNEL_SELECTOR Specifies the color channel the Displacement map


effectextracts the intensity from and uses it to spatially
displace the image in the X or Y direction.

D2D1_CHROMAKEY_PROP Identifiers for properties of the Chroma-key effect.

D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION Specifies the pixel snapping policy when rendering color


bitmap glyphs.

D2D1_COLOR_CONTEXT_TYPE Specifies which way a color profile is defined.

D2D1_COLOR_INTERPOLATION_MODE Defines how to interpolate between colors.

D2D1_COLOR_SPACE Defines options that should be applied to the color space.

D2D1_COLORMANAGEMENT_ALPHA_MODE Indicates how the Color management effect should interpret


alpha data that is contained in the input image.

D2D1_COLORMANAGEMENT_PROP Identifiers for the properties of the Color management effect.

D2D1_COLORMANAGEMENT_QUALITY The quality level of the transform for the Color management
effect.

D2D1_COLORMANAGEMENT_RENDERING_INTENT Specifies which ICC rendering intent the Color management


effect should use.

D2D1_COLORMATRIX_ALPHA_MODE The alpha mode of the output of the Color matrix effect.

D2D1_COLORMATRIX_PROP Identifiers for the properties of the Color matrix effect.


T IT L E DESC RIP T IO N

D2D1_COMBINE_MODE Specifies the different methods by which two geometries can


be combined.

D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS Specifies additional features supportable by a compatible


render target when it is created. This enumeration allows a
bitwise combination of its member values.

D2D1_COMPOSITE_MODE Used to specify the blend mode for all of the Direct2D
blending operations.

D2D1_COMPOSITE_PROP Identifiers for properties of the Composite effect.

D2D1_CONTRAST_PROP Identifiers for properties of the Contrast effect.

D2D1_CONVOLVEMATRIX_PROP Identifiers for properties of the Convolve matrix effect.

D2D1_CONVOLVEMATRIX_SCALE_MODE The interpolation mode the Convolve matrix effect uses to


scale the image to the corresponding kernel unit length. There
are six scale modes that range in quality and speed.

D2D1_CROP_PROP Identifiers for properties of the Crop effect.

D2D1_DASH_STYLE Describes the sequence of dashes and gaps in a stroke.

D2D1_DC_INITIALIZE_MODE Specifies how a device context is initialized for GDI rendering


when it is retrieved from the render target.

D2D1_DEBUG_LEVEL Indicates the type of information provided by the Direct2D


Debug Layer.

D2D1_DEVICE_CONTEXT_OPTIONS This specifies options that apply to the device context for its
lifetime.

D2D1_DIRECTIONALBLUR_OPTIMIZATION Specifies the optimization mode for the Directional blur effect.

D2D1_DIRECTIONALBLUR_PROP Identifiers for properties of the Directional blur effect.

D2D1_DISCRETETRANSFER_PROP Identifiers for properties of the Discrete transfer effect.

D2D1_DISPLACEMENTMAP_PROP Identifiers for properties of the Displacement map effect.

D2D1_DISTANTDIFFUSE_PROP Identifiers for properties of the Distant-diffuse lighting effect.

D2D1_DISTANTDIFFUSE_SCALE_MODE The interpolation mode the effect uses to scale the image to
the corresponding kernel unit length. There are six scale
modes that range in quality and speed.

D2D1_DISTANTSPECULAR_PROP Identifiers for properties of the Distant-specular lighting effect.

D2D1_DISTANTSPECULAR_SCALE_MODE The interpolation mode the Distant-specular lighting effect


uses to scale the image to the corresponding kernel unit
length. There are six scale modes that range in quality and
speed.
T IT L E DESC RIP T IO N

D2D1_DPICOMPENSATION_INTERPOLATION_MODE The interpolation mode the DPI compensation effect uses to


scale the image.

D2D1_DPICOMPENSATION_PROP Identifiers for properties of the DPI compensation effect.

D2D1_DRAW_TEXT_OPTIONS Specifies whether text snapping is suppressed or clipping to


the layout rectangle is enabled. This enumeration allows a
bitwise combination of its member values.

D2D1_EDGEDETECTION_MODE Values for the D2D1_EDGEDETECTION_PROP_MODE property


of the Edge Detection effect.

D2D1_EDGEDETECTION_PROP Identifiers for properties of the Edge Detection effect.

D2D1_EMBOSS_PROP Identifiers for properties of the Emboss effect.

D2D1_EXPOSURE_PROP Identifiers for properties of the Exposure effect.

D2D1_EXTEND_MODE Specifies how a brush paints areas outside of its normal


content area.

D2D1_FACTORY_TYPE Specifies whether Direct2D provides synchronization for an


ID2D1Factory and the resources it creates, so that they may
be safely accessed from multiple threads.

D2D1_FEATURE Defines capabilities of the underlying Direct3D device which


may be queried using
ID2D1EffectContext::CheckFeatureSupport.

D2D1_FEATURE_LEVEL Describes the minimum DirectX support required for hardware


rendering by a render target.

D2D1_FIGURE_BEGIN Indicates whether a specific ID2D1SimplifiedGeometrySink


figure is filled or hollow.

D2D1_FIGURE_END Indicates whether a specific ID2D1SimplifiedGeometrySink


figure is open or closed.

D2D1_FILL_MODE Specifies how the intersecting areas of geometries or figures


are combined to form the area of the composite geometry.

D2D1_FILTER Represents filtering modes that a transform may select to use


on input textures.

D2D1_FLOOD_PROP Identifiers for properties of the Flood effect.

D2D1_GAMMA Specifies which gamma is used for interpolation.

D2D1_GAMMA1 Determines what gamma is used for interpolation and


blending.

D2D1_GAMMATRANSFER_PROP Identifiers for properties of the Gamma transfer effect.


T IT L E DESC RIP T IO N

D2D1_GAUSSIANBLUR_OPTIMIZATION The optimization mode for the Gaussian blur effect.

D2D1_GAUSSIANBLUR_PROP Identifiers for properties of the Gaussian blur effect.

D2D1_GEOMETRY_RELATION Describes how one geometry object is spatially related to


another geometry object.

D2D1_GEOMETRY_SIMPLIFICATION_OPTION Specifies how a geometry is simplified to an


ID2D1SimplifiedGeometrySink.

D2D1_HDRTONEMAP_DISPLAY_MODE Defines constants that specify a value for the


D2D1_HDRTONEMAP_PROP_DISPLAY_MODE property of the
HDR Tone Map effect.

D2D1_HDRTONEMAP_PROP Defines constants that identify the top level properties of the
HDR Tone Map effect.

D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA Values for the


D2D1_HIGHLIGHTSANDSHADOWS_PROP_INPUT_GAMMA
property of the Highlights and Shadows effect.

D2D1_HIGHLIGHTSANDSHADOWS_PROP Identifiers for properties of the Highlights and Shadows effect.

D2D1_HISTOGRAM_PROP Identifiers for properties of the Histogram effect.

D2D1_HUEROTATION_PROP Identifiers for properties of the Hue rotate effect.

D2D1_HUETORGB_INPUT_COLOR_SPACE Values for the D2D1_HUETORGB_PROP_INPUT_COLOR_SPACE


property of the Hue to RGB effect.

D2D1_HUETORGB_PROP Identifiers for properties of the Hue to RGB effect.

D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS Option flags controlling primary conversion performed by


CreateImageSourceFromDxgi, if any.

D2D1_IMAGE_SOURCE_LOADING_OPTIONS Controls option flags for a new ID2D1ImageSource when it is


created.

D2D1_INK_NIB_SHAPE Specifies the appearance of the ink nib (pen tip) as part of an
D2D1_INK_STYLE_PROPERTIES structure.

D2D1_INTERPOLATION_MODE This is used to specify the quality of image scaling with


ID2D1DeviceContext::DrawImage and with the 2D affine
transform effect.

D2D1_LAYER_OPTIONS Specifies options that can be applied when a layer resource is


applied to create a layer.

D2D1_LAYER_OPTIONS1 Specifies how the layer contents should be prepared.

D2D1_LINE_JOIN Describes the shape that joins two lines or segments.

D2D1_LINEARTRANSFER_PROP Identifiers for properties of the Linear transfer effect.


T IT L E DESC RIP T IO N

D2D1_LOOKUPTABLE3D_PROP Identifiers for the properties of the 3D Lookup Table effect.

D2D1_MAP_OPTIONS Specifies how the memory to be mapped from the


corresponding ID2D1Bitmap1 should be treated.

D2D1_MORPHOLOGY_MODE The mode for the Morphology effect.

D2D1_MORPHOLOGY_PROP Identifiers for properties of the Morphology effect.

D2D1_OPACITY_MASK_CONTENT Describes whether an opacity mask contains graphics or text.


Direct2D uses this information to determine which gamma
space to use when blending the opacity mask.

D2D1_OPACITYMETADATA_PROP Identifiers for properties of the Opacity metadata effect.

D2D1_ORIENTATION Specifies the flip and rotation at which an image appears.

D2D1_PATCH_EDGE_MODE Specifies how to render gradient mesh edges.

D2D1_PATH_SEGMENT Indicates whether a segment should be stroked and whether


the join between this segment and the previous one should be
smooth. This enumeration allows a bitwise combination of its
member values.

D2D1_PIXEL_OPTIONS Indicates how pixel shader sampling will be restricted.

D2D1_POINTDIFFUSE_PROP Identifiers for properties of the Point-diffuse lighting effect.

D2D1_POINTDIFFUSE_SCALE_MODE The interpolation mode the Point-diffuse lighting effect uses to


scale the image to the corresponding kernel unit length. There
are six scale modes that range in quality and speed.

D2D1_POINTSPECULAR_PROP Identifiers for properties of the Point-specular lighting effect.

D2D1_POINTSPECULAR_SCALE_MODE The interpolation mode the Point-specular lighting effect uses


to scale the image to the corresponding kernel unit length.
There are six scale modes that range in quality and speed.

D2D1_POSTERIZE_PROP Identifiers for properties of the Posterize effect.

D2D1_PRESENT_OPTIONS Describes how a render target behaves when it presents its


content. This enumeration allows a bitwise combination of its
member values.

D2D1_PRIMITIVE_BLEND Used to specify the geometric blend mode for all Direct2D
primitives.

D2D1_PRINT_FONT_SUBSET_MODE Defines when font resources should be subset during printing.

D2D1_PROPERTY Specifies the indices of the system properties present on the


ID2D1Properties interface for an ID2D1Effect.
T IT L E DESC RIP T IO N

D2D1_PROPERTY_TYPE Specifies the types of properties supported by the Direct2D


property interface.

D2D1_RENDER_TARGET_TYPE Describes whether a render target uses hardware or software


rendering, or if Direct2D should select the rendering mode.

D2D1_RENDER_TARGET_USAGE Describes how a render target is remoted and whether it


should be GDI-compatible. This enumeration allows a bitwise
combination of its member values.

D2D1_RENDERING_PRIORITY The rendering priority affects the extent to which Direct2D will
throttle its rendering workload.

D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE Values for the


D2D1_RGBTOHUE_PROP_OUTPUT_COLOR_SPACE property of
the RGB to Hue effect.

D2D1_RGBTOHUE_PROP Indentifiers for properties of the RGB to Hue effect.

D2D1_SATURATION_PROP Identifiers for properties of the Saturation effect.

D2D1_SCALE_INTERPOLATION_MODE The interpolation mode the Scale effect uses to scale the
image. There are 6 scale modes that range in quality and
speed.

D2D1_SCALE_PROP Identifiers for properties of the Scale effect.

D2D1_SEPIA_PROP Identifiers for properties of the Sepia effect.

D2D1_SHADOW_OPTIMIZATION The level of performance optimization for the Shadow effect.

D2D1_SHADOW_PROP Identifiers for properties of the Shadow effect.

D2D1_SHARPEN_PROP Identifiers for properties of the Sharpen effect.

D2D1_SPOTDIFFUSE_PROP Identifiers for properties of the Spot-diffuse lighting effect.

D2D1_SPOTDIFFUSE_SCALE_MODE The interpolation mode the Spot-diffuse lighting effect uses to


scale the image to the corresponding kernel unit length. There
are six scale modes that range in quality and speed.

D2D1_SPOTSPECULAR_PROP Identifiers for properties of the Spot-specular lighting effect.

D2D1_SPOTSPECULAR_SCALE_MODE The interpolation mode the Spot-specular lighting effect uses


to scale the image to the corresponding kernel unit length.
There are six scale modes that range in quality and speed.

D2D1_SPRITE_OPTIONS Specifies additional aspects of how a sprite batch is to be


drawn, as part of a call to
ID2D1DeviceContext3::DrawSpriteBatch.

D2D1_STRAIGHTEN_PROP Identifiers for properties of the Straighten effect.


T IT L E DESC RIP T IO N

D2D1_STRAIGHTEN_SCALE_MODE Values for the D2D1_STRAIGHTEN_PROP_SCALE_MODE


property of the Straighten effect.

D2D1_STROKE_TRANSFORM_TYPE Defines how the world transform, dots per inch (dpi), and
stroke width affect the shape of the pen used to stroke a
primitive.

D2D1_SUBPROPERTY Specifies the indices of the system sub-properties that may be


present in any property.

D2D1_SVG_ASPECT_ALIGN The alignment portion of the SVG preserveAspectRatio


attribute.

D2D1_SVG_ASPECT_SCALING The meetOrSlice portion of the SVG preserveAspectRatio


attribute.

D2D1_SVG_ATTRIBUTE_POD_TYPE Defines the type of SVG POD attribute to set or get.

D2D1_SVG_ATTRIBUTE_STRING_TYPE Defines the type of SVG string attribute to set or get.

D2D1_SVG_DISPLAY Specifies a value for the SVG display property.

D2D1_SVG_LENGTH_UNITS Specifies the units for an SVG length.

D2D1_SVG_LINE_CAP Specifies a value for the SVG stroke-linecap property.

D2D1_SVG_LINE_JOIN Specifies a value for the SVG stroke-linejoin property.

D2D1_SVG_OVERFLOW Specifies a value for the SVG overflow property.

D2D1_SVG_PAINT_TYPE Specifies the paint type for an SVG fill or stroke.

D2D1_SVG_PATH_COMMAND Represents a path commmand. Each command may reference


floats from the segment data. Commands ending in
_ABSOLUTE interpret data as absolute coordinate. Commands
ending in _RELATIVE interpret data as being relative to the
previous point.

D2D1_SVG_UNIT_TYPE Defines the coordinate system used for SVG gradient or


clipPath elements.

D2D1_SVG_VISIBILITY Specifies a value for the SVG visibility property.

D2D1_SWEEP_DIRECTION Defines the direction that an elliptical arc is drawn.

D2D1_TABLETRANSFER_PROP Identifiers for properties of the Table transfer effect.

D2D1_TEMPERATUREANDTINT_PROP Identifiers for properties of the Temperature and Tint effect.

D2D1_TEXT_ANTIALIAS_MODE Describes the antialiasing mode used for drawing text.


T IT L E DESC RIP T IO N

D2D1_THREADING_MODE Specifies the threading mode used while simultaneously


creating the device, factory, and device context.

D2D1_TILE_PROP Identifiers for properties of the Tile effect.

D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS Option flags for transformed image sources.

D2D1_TURBULENCE_NOISE The turbulence noise mode for the Turbulence effect. Indicates
whether to generate a bitmap based on Fractal Noise or the
Turbulence function.

D2D1_TURBULENCE_PROP Identifiers for properties of the Turbulence effect.

D2D1_UNIT_MODE Specifies how units in Direct2D will be interpreted.

D2D1_VERTEX_OPTIONS Describes flags that influence how the renderer interacts with
a custom vertex shader.

D2D1_VERTEX_USAGE Indicates whether the vertex buffer changes infrequently or


frequently.

D2D1_VIGNETTE_PROP Identifiers for properties of the Vignette effect.

D2D1_WHITELEVELADJUSTMENT_PROP Defines constants that identify the top level properties of the
White Level Adjustment effect.

D2D1_WINDOW_STATE Describes whether a window is occluded.

D2D1_YCBCR_CHROMA_SUBSAMPLING Specifies the chroma subsampling of the input chroma image


used by the YCbCr effect.

D2D1_YCBCR_INTERPOLATION_MODE Specifies the interpolation mode for the YCbCr effect.

D2D1_YCBCR_PROP Identifiers for properties of the YCbCr effect.

Functions
T IT L E DESC RIP T IO N

AddArc Creates a single arc and adds it to the path geometry.

AddArc Adds a single arc to the path geometry.

AddBezier Creates a cubic Bezier curve between the current point and
the specified endpoint.

AddBezier Creates a cubic Bezier curve between the current point and
the specified end point.

AddBeziers Creates a sequence of cubic Bezier curves and adds them to


the geometry sink.
T IT L E DESC RIP T IO N

AddLine Creates a line segment between the current point and the
specified end point and adds it to the geometry sink.

AddLines Creates a sequence of lines using the specified points and


adds them to the geometry sink.

AddNode Adds the provided node to the transform graph.

AddPage Converts Direct2D primitives in the passed-in command list


into a fixed page representation for use by the print
subsystem.

AddQuadraticBezier Creates a quadratic Bezier curve between the current point


and the specified end point and adds it to the geometry sink.

AddQuadraticBezier Creates a quadratic Bezier curve between the current point


and the specified end point.

AddQuadraticBeziers Adds a sequence of quadratic Bezier segments as an array in a


single call.

AddSegments Adds the given segments to the end of this ink object.

AddSprites Adds the given sprites to the end of this sprite batch.

AddTriangles Copies the specified triangles to the sink.

AppendChild Appends an element to the list of children.

ArcSegment Creates a D2D1_ARC_SEGMENT structure.

BeginDraw Initiates drawing on this render target.

BeginDraw Notifies the implementation of the command sink that


drawing is about to commence.

BeginFigure Starts a new figure at the specified point.

BezierSegment Creates a D2D1_BEZIER_SEGMENT structure.

BindDC Binds the render target to the device context to which it issues
drawing commands.

BitmapBrushProperties Creates a D2D1_BITMAP_BRUSH_PROPERTIES structure.

BitmapBrushProperties1 Creates a D2D1_BITMAP_BRUSH_PROPERTIES1 structure.

BitmapProperties Creates a D2D1_BITMAP_PROPERTIES structure.

BitmapProperties1 Creates a D2D1_BITMAP_PROPERTIES1 structure.


T IT L E DESC RIP T IO N

BlendImage Draws an image to the device context using the specified


blend mode. Results are equivalent to using Direct2D's built-in
Blend effect.

BlendImage Draws an image to the device context using the specified


blend mode. Results are equivalent to using Direct2D's built-in
Blend effect.

BrushProperties Creates a D2D1_BRUSH_PROPERTIES structure.

CalculateThreadgroups This method allows a compute-shader–based transform to


select the number of thread groups to execute based on the
number of output pixels it needs to fill.

CheckFeatureSupport This indicates whether an optional capability is supported by


the D3D device.

CheckWindowState Indicates whether the HWND associated with this render


target is occluded.

Clear Clears the drawing area to the specified color.

Clear Clears the drawing area to the specified color.

Clear Clears the drawing area to the specified color.

Clear Clears the transform nodes and all connections from the
transform graph.

Clear Removes all sprites from this sprite batch.

ClearResources Clears all of the rendering resources used by Direct2D.

Clone Creates a clone of this attribute value. On creation, the cloned


attribute is not set on any element.

Close Closes the geometry sink, indicates whether it is in an error


state, and resets the sink's error state.

Close Closes the sink and returns its error status.

Close Instructs the command list to stop accepting commands so


that you can use it as an input to an effect or in a call to
ID2D1DeviceContext::DrawImage.

Close Passes all remaining resources to the print sub-system, then


clean up and close the current print job.

ColorF Instantiates a new instance of the ColorF class that contains


the specified RGB and alpha values.

ColorF Instantiates a new instance of the ColorF class that contains


the specified red, green, blue, and alpha values.
T IT L E DESC RIP T IO N

CombineWithGeometry Combines this geometry with the specified geometry and


stores the result in an ID2D1SimplifiedGeometrySink.

CombineWithGeometry Combines this geometry with the specified geometry and


stores the result in an ID2D1SimplifiedGeometrySink.

CombineWithGeometry Combines this geometry with the specified geometry and


stores the result in an ID2D1SimplifiedGeometrySink.

CombineWithGeometry Combines this geometry with the specified geometry and


stores the result in an ID2D1SimplifiedGeometrySink.

CompareWithGeometry Describes the intersection between this geometry and the


specified geometry. The comparison is performed by using the
specified flattening tolerance.

CompareWithGeometry Describes the intersection between this geometry and the


specified geometry. The comparison is performed using the
specified flattening tolerance.

CompareWithGeometry Describes the intersection between this geometry and the


specified geometry. The comparison is performed using the
default flattening tolerance.

CompareWithGeometry Describes the intersection between this geometry and the


specified geometry. The comparison is performed using the
default flattening tolerance.

ComputeArea Computes the area of the geometry after it has been


transformed by the specified matrix and flattened using the
specified tolerance.

ComputeArea Computes the area of the geometry after it has been


transformed by the specified matrix and flattened using the
specified tolerance.

ComputeArea Computes the area of the geometry after it has been


transformed by the specified matrix and flattened using the
specified tolerance.

ComputeArea Computes the area of the geometry after it has been


transformed by the specified matrix and flattened using the
default tolerance.

ComputeLength Calculates the length of the geometry as though each


segment were unrolled into a line.

ComputeLength Calculates the length of the geometry as though each


segment were unrolled into a line.

ComputeLength Calculates the length of the geometry as though each


segment were unrolled into a line.

ComputeLength Calculates the length of the geometry as though each


segment were unrolled into a line.
T IT L E DESC RIP T IO N

ComputePointAndSegmentAtLength Computes the point that exists at a given distance along the
path geometry along with the index of the segment the point
is on and the directional vector at that point.

ComputePointAndSegmentAtLength Computes the point that exists at a given distance along the
path geometry along with the index of the segment the point
is on and the directional vector at that point.

ComputePointAndSegmentAtLength Computes the point that exists at a given distance along the
path geometry along with the index of the segment the point
is on and the directional vector at that point.

ComputePointAndSegmentAtLength Computes the point that exists at a given distance along the
path geometry along with the index of the segment the point
is on and the directional vector at that point.

ComputePointAtLength Calculates the point and tangent vector at the specified


distance along the geometry after it has been transformed by
the specified matrix and flattened using the specified tolerance.

ComputePointAtLength Calculates the point and tangent vector at the specified


distance along the geometry after it has been transformed by
the specified matrix and flattened using the specified tolerance.

ComputePointAtLength Calculates the point and tangent vector at the specified


distance along the geometry after it has been transformed by
the specified matrix and flattened using the default tolerance.

ComputePointAtLength Calculates the point and tangent vector at the specified


distance along the geometry after it has been transformed by
the specified matrix and flattened using the default tolerance.

ConnectNode Connects two nodes inside the transform graph.

ConnectToEffectInput Connects a transform node inside the graph to the


corresponding effect input of the encapsulating effect.

ConvertColorSpace Convert a D2D1_COLOR_F from one color space to another.

CopyFromBitmap Copies the specified region from the specified bitmap into the
current bitmap.

CopyFromMemory Copies the specified region from memory into the current
bitmap.

CopyFromRenderTarget Copies the specified region from the specified render target
into the current bitmap.

CreateBitmap Creates an ID2D1BitmapBrush from the specified bitmap.


T IT L E DESC RIP T IO N

CreateBitmap Creates a Direct2D bitmap from a pointer to in-memory


source data.

CreateBitmap Creates an uninitialized Direct2D bitmap.

CreateBitmap Creates a bitmap that can be used as a target surface, for


reading back to the CPU, or as a source for the DrawBitmap
and ID2D1BitmapBrush APIs. In addition, color context
information can be passed to the bitmap.

CreateBitmap Creates a bitmap that can be used as a target surface, for


reading back to the CPU, or as a source for the DrawBitmap
and ID2D1BitmapBrush APIs. In addition, color context
information can be passed to the bitmap.

CreateBitmapBrush Creates an ID2D1BitmapBrush from the specified bitmap.

CreateBitmapBrush Creates an ID2D1BitmapBrush from the specified bitmap. The


brush uses the default values for its extend mode,
interpolation mode, opacity, and transform.

CreateBitmapBrush Creates an ID2D1BitmapBrush from the specified bitmap. The


brush uses the default values for its opacity and transform.

CreateBitmapBrush Creates an ID2D1BitmapBrush from the specified bitmap.

CreateBitmapBrush Creates a bitmap brush, the input image is a Direct2D bitmap


object.

CreateBitmapBrush Creates a bitmap brush, the input image is a Direct2D bitmap


object.

CreateBitmapBrush Creates a bitmap brush, the input image is a Direct2D bitmap


object.

CreateBitmapBrush Creates a bitmap brush, the input image is a Direct2D bitmap


object.

CreateBitmapFromDxgiSurface Creates a bitmap from a DXGI surface that can be set as a


target surface or have additional color context information
specified.

CreateBitmapFromDxgiSurface Creates a bitmap from a DXGI surface that can be set as a


target surface or have additional color context information
specified.

CreateBitmapFromWicBitmap Creates an ID2D1Bitmap by copying the specified Microsoft


Windows Imaging Component (WIC) bitmap.

CreateBitmapFromWicBitmap Creates an ID2D1Bitmap by copying the specified Microsoft


Windows Imaging Component (WIC) bitmap.

CreateBitmapFromWicBitmap Creates an ID2D1Bitmap by copying the specified Microsoft


Windows Imaging Component (WIC) bitmap.
T IT L E DESC RIP T IO N

CreateBitmapFromWicBitmap Creates a Direct2D bitmap by copying a WIC bitmap.

CreateBitmapFromWicBitmap Creates a Direct2D bitmap by copying a WIC bitmap.

CreateBitmapFromWicBitmap Creates an ID2D1Bitmap by copying the specified Microsoft


Windows Imaging Component (WIC) bitmap.

CreateBlendTransform This creates a blend transform that can be inserted into a


transform graph.

CreateBorderTransform Creates a transform that extends its input infinitely in every


direction based on the passed in extend mode.

CreateBoundsAdjustmentTransform Creates and returns a bounds adjustment transform.

CreateChild Creates an element from a tag name. The element is


appended to the list of children.

CreateColorContext Creates a color context.

CreateColorContext Creates a color context from a color space.

CreateColorContextFromDxgiColorSpace Creates a color context from a DXGI color space type. It is only
valid to use this with the Color Management Effect in 'Best'
mode.

CreateColorContextFromFilename Creates a color context by loading it from the specified


filename. The profile bytes are the contents of the file specified
by Filename.

CreateColorContextFromFilename Creates a color context by loading it from the specified


filename. The profile bytes are the contents of the file specified
by filename.

CreateColorContextFromSimpleColorProfile Creates a color context from a simple color profile. It is only


valid to use this with the Color Management Effect in 'Best'
mode.

CreateColorContextFromSimpleColorProfile Creates a color context from a simple color profile. It is only


valid to use this with the Color Management Effect in 'Best'
mode.

CreateColorContextFromWicColorContext Creates a color context from an IWICColorContext. The


D2D1ColorContext space of the resulting context varies, see
Remarks for more info.

CreateColorContextFromWicColorContext Creates a color context from an IWICColorContext. The


D2D1ColorContext space of the resulting context varies, see
Remarks for more info.

CreateCommandList Creates a ID2D1CommandList object.


T IT L E DESC RIP T IO N

CreateCompatibleRenderTarget Creates a new bitmap render target for use during


intermediate offscreen drawing that is compatible with the
current render target .

CreateCompatibleRenderTarget Creates a new bitmap render target for use during


intermediate offscreen drawing that is compatible with the
current render target and has the same size, DPI, and pixel
format (but not alpha mode) as the current render target.

CreateCompatibleRenderTarget Creates a new bitmap render target for use during


intermediate offscreen drawing that is compatible with the
current render target and has the same pixel format (but not
alpha mode) as the current render target.

CreateCompatibleRenderTarget Creates a bitmap render target for use during intermediate


off-screen drawing that is compatible with the current render
target. The new bitmap render target has the same pixel
format (but not alpha mode) as the current render target.

CreateCompatibleRenderTarget Creates a bitmap render target for use during intermediate


offscreen drawing that is compatible with the current render
target.

CreateCompatibleRenderTarget Creates a bitmap render target for use during intermediate


offscreen drawing that is compatible with the current render
target.

CreateDCRenderTarget Creates a render target that draws to a Windows Graphics


Device Interface (GDI) device context.

CreateDevice Creates a ID2D1Device object.

CreateDevice Creates an ID2D1Device2 object.

CreateDevice Creates an ID2D1Device3 object.

CreateDevice Creates an ID2D1Device4 object.

CreateDevice Creates a new Direct2D device from the given IDXGIDevice.

CreateDevice Creates a new Direct2D device from the given IDXGIDevice.

CreateDevice Creates an ID2D1Device1 object.

CreateDeviceContext Creates a new device context from a Direct2D device.

CreateDeviceContext Creates a new ID2D1DeviceContext2 from a Direct2D device.

CreateDeviceContext Creates a new ID2D1DeviceContext3 from this Direct2D


device.

CreateDeviceContext Creates a new ID2D1DeviceContext4 from this Direct2D


device.
T IT L E DESC RIP T IO N

CreateDeviceContext Creates a new device context with no initially assigned target.

CreateDeviceContext Creates a new device context with no initially assigned target.

CreateDrawingStateBlock Creates an ID2D1DrawingStateBlock that can be used with the


SaveDrawingState and RestoreDrawingState methods of a
render target.

CreateDrawingStateBlock Creates an ID2D1DrawingStateBlock that can be used with the


SaveDrawingState and RestoreDrawingState methods of a
render target.

CreateDrawingStateBlock Creates an ID2D1DrawingStateBlock that can be used with the


SaveDrawingState and RestoreDrawingState methods of a
render target.

CreateDrawingStateBlock Creates a new drawing state block, this can be used in


subsequent SaveDrawingState and RestoreDrawingState
operations on the render target.

CreateDrawingStateBlock Creates a new drawing state block, this can be used in


subsequent SaveDrawingState and RestoreDrawingState
operations on the render target.

CreateDrawingStateBlock Creates a new drawing state block, this can be used in


subsequent SaveDrawingState and RestoreDrawingState
operations on the render target.

CreateDxgiSurfaceRenderTarget Creates a render target that draws to a DirectX Graphics


Infrastructure (DXGI) surface.

CreateDxgiSurfaceRenderTarget Creates a render target that draws to a DirectX Graphics


Infrastructure (DXGI) surface.

CreateEffect Creates an effect for the specified class ID.

CreateEffect Creates a Direct2D effect for the specified class ID.

CreateEllipseGeometry Creates an ID2D1EllipseGeometry.

CreateEllipseGeometry Creates an ID2D1EllipseGeometry.

CreateFilledGeometryRealization Creates a device-dependent representation of the fill of the


geometry that can be subsequently rendered.

CreateGdiMetafile Creates a new ID2D1GdiMetafile object that you can use to


replay metafile content.

CreateGeometryGroup Creates an ID2D1GeometryGroup, which is an object that


holds other geometries.

CreateGradientMesh Creates a new ID2D1GradientMesh instance using the given


array of patches.
T IT L E DESC RIP T IO N

CreateGradientStopCollection Creates an ID2D1GradientStopCollection from the specified


array of D2D1_GRADIENT_STOP structures.

CreateGradientStopCollection Creates an ID2D1GradientStopCollection from the specified


gradient stops that uses the D2D1_GAMMA_2_2 color
interpolation gamma and the clamp extend mode.

CreateGradientStopCollection Creates a gradient stop collection, enabling the gradient to


contain color channels with values outside of [0,1] and also
enabling rendering to a high-color render target with
interpolation in sRGB space.

CreateHwndRenderTarget Creates an ID2D1HwndRenderTarget, a render target that


renders to a window.

CreateHwndRenderTarget Creates an ID2D1HwndRenderTarget, a render target that


renders to a window.

CreateImageBrush Creates an image brush. The input image can be any type of
image, including a bitmap, effect, or a command list.

CreateImageBrush Creates an image brush. The input image can be any type of
image, including a bitmap, effect, or a command list.

CreateImageBrush Creates an image brush. The input image can be any type of
image, including a bitmap, effect, or a command list.

CreateImageSourceFromDxgi Creates an image source from a set of DXGI surface(s). The


YCbCr surface(s) are converted to RGBA automatically during
subsequent drawing.

CreateImageSourceFromWic Creates an image source object from a WIC bitmap source,


while populating all pixel memory within the image source.
The image is loaded and stored while using a minimal amount
of memory.

CreateImageSourceFromWic Creates an image source object from a WIC bitmap source,


while populating all pixel memory within the image source.
The image is loaded and stored while using a minimal amount
of memory.

CreateImageSourceFromWic Creates an image source object from a WIC bitmap source,


while populating all pixel memory within the image source.
The image is loaded and stored while using a minimal amount
of memory.

CreateInk Creates a new ID2D1Ink object that starts at the given point.

CreateInk Creates a new ID2D1Ink object that starts at the given point.

CreateInkStyle Creates a new ID2D1InkStyle object, for use with ink rendering
methods such as DrawInk.

CreateInkStyle Creates a new ID2D1InkStyle object, for use with ink rendering
methods such as DrawInk.
T IT L E DESC RIP T IO N

CreateLayer Creates a layer resource that can be used with this render
target and its compatible render targets.

CreateLayer Creates a layer resource that can be used with this render
target and its compatible render targets. The new layer has
the specified initial size.

CreateLayer Creates a layer resource that can be used with this render
target and its compatible render targets.

CreateLinearGradientBrush Creates an ID2D1LinearGradientBrush object for painting


areas with a linear gradient.

CreateLinearGradientBrush Creates an ID2D1LinearGradientBrush that contains the


specified gradient stops, has no transform, and has a base
opacity of 1.0.

CreateLinearGradientBrush Creates an ID2D1LinearGradientBrush that contains the


specified gradient stops and has the specified transform and
base opacity.

CreateLookupTable3D Creates a 3D lookup table for mapping a 3-channel input to a


3-channel output. The table data must be provided in 4-
channel format.

CreateLookupTable3D Creates a 3D lookup table for mapping a 3-channel input to a


3-channel output. The table data must be provided in 4-
channel format.

CreateMesh Create a mesh that uses triangles to describe a shape.

CreateOffsetTransform Creates and returns an offset transform.

CreatePaint Creates a paint object which can be used to set the 'fill' or
'stroke' properties.

CreatePaint Creates a paint object which can be used to set the 'fill' or
'stroke' properties.

CreatePathData Creates a path data object which can be used to set a 'd'
attribute on a 'path' element.

CreatePathGeometry Creates an empty ID2D1PathGeometry.

CreatePathGeometry Creates an ID2D1PathGeometry1 object.

CreatePathGeometry Creates a path geometry object representing the path data.

CreatePointCollection Creates a points object which can be used to set a points


attribute on a polygon or polyline element.
T IT L E DESC RIP T IO N

CreatePrintControl Creates an ID2D1PrintControl object that converts Direct2D


primitives stored in ID2D1CommandList into a fixed page
representation. The print sub-system then consumes the
primitives.

CreatePrintControl Creates an ID2D1PrintControl object that converts Direct2D


primitives stored in ID2D1CommandList into a fixed page
representation. The print sub-system then consumes the
primitives.

CreateRadialGradientBrush Creates an ID2D1RadialGradientBrush object that can be used


to paint areas with a radial gradient.

CreateRadialGradientBrush Creates an ID2D1RadialGradientBrush that contains the


specified gradient stops, has no transform, and has a base
opacity of 1.0.

CreateRadialGradientBrush Creates an ID2D1RadialGradientBrush that contains the


specified gradient stops and has the specified transform and
base opacity.

CreateRectangleGeometry Creates an ID2D1RectangleGeometry.

CreateRectangleGeometry Creates an ID2D1RectangleGeometry.

CreateResourceTexture Creates or finds the given resource texture, depending on


whether a resource id is specified.

CreateRoundedRectangleGeometry Creates an ID2D1RoundedRectangleGeometry.

CreateRoundedRectangleGeometry Creates an ID2D1RoundedRectangleGeometry.

CreateSharedBitmap Creates an ID2D1Bitmap whose data is shared with another


resource.

CreateSolidColorBrush Creates a new ID2D1SolidColorBrush that can be used to


paint areas with a solid color.

CreateSolidColorBrush Creates a new ID2D1SolidColorBrush that has the specified


color and a base opacity of 1.0f.

CreateSolidColorBrush Creates a new ID2D1SolidColorBrush that has the specified


color and opacity.

CreateSpriteBatch Creates a new, empty sprite batch. After creating a sprite


batch, use ID2D1SpriteBatch::AddSprites to add sprites to it,
then use ID2D1DeviceContext3::DrawSpriteBatch to draw it.

CreateStrokeDashArray Creates a dash array object which can be used to set the
stroke-dasharray property.

CreateStrokedGeometryRealization Creates a device-dependent representation of the stroke of a


geometry that can be subsequently rendered.
T IT L E DESC RIP T IO N

CreateStrokeStyle Creates an ID2D1StrokeStyle that describes start cap, dash


pattern, and other features of a stroke.

CreateStrokeStyle Creates an ID2D1StrokeStyle that describes start cap, dash


pattern, and other features of a stroke.

CreateStrokeStyle Creates a ID2D1StrokeStyle1 object.

CreateStrokeStyle Creates a ID2D1StrokeStyle1 object.

CreateSvgDocument Creates an SVG document from a stream.

CreateSvgGlyphStyle Creates an SVG glyph style object.

CreateTransformedGeometry Transforms the specified geometry and stores the result as an


ID2D1TransformedGeometry object.

CreateTransformedGeometry Transforms the specified geometry and stores the result as an


ID2D1TransformedGeometry object.

CreateTransformedImageSource Creates an image source which shares resources with an


original.

CreateTransformNodeFromEffect Wraps an effect graph into a single transform node and then
inserted into a transform graph. This allows an effect to
aggregate other effects.

CreateVertexBuffer Creates a vertex buffer or finds a standard vertex buffer and


optionally initializes it with vertices.

CreateWicBitmapRenderTarget Creates a render target that renders to a Microsoft Windows


Imaging Component (WIC) bitmap.

CreateWicBitmapRenderTarget Creates a render target that renders to a Microsoft Windows


Imaging Component (WIC) bitmap.

CreationProperties Returns a D2D1_CREATION_PROPERTIES that describes root-


level creation details.

D2D1ComputeMaximumScaleFactor Computes the maximum factor by which a given transform


can stretch any vector.

D2D1ConvertColorSpace Converts the given color from one colorspace to another.

D2D1CreateDevice Creates a new Direct2D device associated with the provided


DXGI device.

D2D1CreateDeviceContext Creates a new Direct2D device context associated with a DXGI


surface.

D2D1CreateFactory Creates a factory object that can be used to create Direct2D


resources.
T IT L E DESC RIP T IO N

D2D1CreateFactory Creates a factory object that can be used to create Direct2D


resources.

D2D1GetGradientMeshInteriorPointsFromCoonsPatch Returns the interior points for a gradient mesh patch based on
the points defining a Coons patch.

D2D1InvertMatrix Tries to invert the specified matrix.

D2D1IsMatrixInvertible Indicates whether the specified matrix is invertible.

D2D1MakeRotateMatrix Creates a rotation transformation that rotates by the specified


angle about the specified point.

D2D1MakeSkewMatrix Creates a skew transformation that has the specified x-axis


angle, y-axis angle, and center point.

D2D1SinCos Returns the sine and cosine of an angle.

D2D1Tan Returns the tangent of an angle.

D2D1Vec3Length Returns the length of a 3 dimensional vector.

Deserialize Deserializes a subtree from the stream. The stream must have
only one root element, but that root element need not be an
'svg' element. The output element is not inserted into this
document tree.

Determinant Calculates the determinant of the matrix.

Determinant Calculates the determinant of the matrix.

Draw Draws the transform to the graphics processing unit (GPU)–


based Direct2D pipeline.

DrawBitmap Draws the specified bitmap after scaling it to the size of the
specified rectangle.

DrawBitmap Draws the specified bitmap after scaling it to the size of the
specified rectangle.

DrawBitmap Draws the specified bitmap after scaling it to the size of the
specified rectangle.

DrawBitmap Draws a bitmap to the render target.

DrawBitmap Draws a bitmap to the render target.

DrawBitmap Draws a bitmap to the render target.

DrawBitmap Draws a bitmap to the render target.

DrawBitmap Draws a bitmap to the render target.


T IT L E DESC RIP T IO N

DrawColorBitmapGlyphRun Draws a color bitmap glyph run using one of the bitmap
formats.

DrawEllipse Draws the outline of an ellipse with the specified dimensions


and stroke.

DrawEllipse Draws the outline of the specified ellipse using the specified
stroke style.

DrawGdiMetafile Draw a metafile to the device context.

DrawGdiMetafile Draw a metafile to the device context.

DrawGdiMetafile Draw a metafile to the device context.

DrawGdiMetafile Draws a metafile to the command sink using the given source
and destination rectangles.

DrawGdiMetafile Draws a metafile to the device context using the given source
and destination rectangles.

DrawGdiMetafile Draws a metafile to the device context using the given source
and destination rectangles.

DrawGdiMetafile Draws a metafile to the device context using the given source
and destination rectangles.

DrawGeometry Draws the outline of the specified geometry using the


specified stroke style.

DrawGeometry Indicates the geometry to be drawn to the command sink.

DrawGeometryRealization Renders a given geometry realization to the target with the


specified brush.

DrawGlyphRun Draws the specified glyphs.

DrawGlyphRun Indicates the glyphs to be drawn.

DrawGlyphRun Draws a series of glyphs to the device context.

DrawGradientMesh Renders a given gradient mesh to the target.

DrawGradientMesh Renders a given gradient mesh to the target.

DrawImage Draws the provided image to the command sink.

DrawImage Draws an image to the device context.

DrawImage Draws an image to the device context.

DrawImage Draws an image to the device context.


T IT L E DESC RIP T IO N

DrawImage Draws an image to the device context.

DrawImage Draws an image to the device context.

DrawImage Draws an image to the device context.

DrawImage Draws an image to the device context.

DrawImage Draws an image to the device context.

DrawingStateDescription Creates a D2D1_DRAWING_STATE_DESCRIPTION structure.

DrawingStateDescription1 Creates a D2D1_DRAWING_STATE_DESCRIPTION1 structure.

DrawInk Renders the given ink object using the given brush and ink
style.

DrawInk Renders the given ink object using the given brush and ink
style.

DrawLine Draws a line between the specified points using the specified
stroke style.

DrawLine Draws a line drawn between two points.

DrawRectangle Draws the outline of a rectangle that has the specified


dimensions and stroke style.

DrawRectangle Draws the outline of a rectangle that has the specified


dimensions and stroke style.

DrawRectangle Draws a rectangle.

DrawRoundedRectangle Draws the outline of the specified rounded rectangle using the
specified stroke style.

DrawRoundedRectangle Draws the outline of the specified rounded rectangle using the
specified stroke style.

DrawSpriteBatch Renders part or all of the given sprite batch to the device
context using the specified drawing options.

DrawSpriteBatch Renders part or all of the given sprite batch to the device
context using the specified drawing options.

DrawSpriteBatch Renders all sprites in the given sprite batch to the device
context using the specified drawing options.

DrawSvgDocument Draws an SVG document.

DrawSvgGlyphRun Draws a color glyph run that has the format of


DWRITE_GLYPH_IMAGE_FORMATS_SVG.
T IT L E DESC RIP T IO N

DrawText Draws the specified text using the format information


provided by an IDWriteTextFormat object.

DrawText Draws the specified text using the format information


provided by an IDWriteTextFormat object.

DrawText Draws the text within the given layout rectangle.

DrawText Draws the text within the given layout rectangle.

DrawTextLayout Draws the formatted text described by the specified


IDWriteTextLayout object.

DrawTextLayout Draws a text layout object. If the layout is not subsequently


changed, this can be more efficient than DrawText when
drawing the same layout repeatedly.

EffectInputDescription Creates a D2D1_EFFECT_INPUT_DESCRIPTION structure.

Ellipse Creates a D2D1_ELLIPSE structure.

EndDraw Ends drawing operations on the render target and indicates


the current error state and associated tags.

EndDraw Indicates when ID2D1CommandSink processing has


completed.

EndFigure Ends the current figure; optionally, closes it.

EnsureCached Ensures that a specified region of the image source cache is


populated.

EnsureCached Ensures that a specified region of the image source cache is


populated.

Enter Enters the Direct2D API critical section, if it exists.

FillContainsPoint Indicates whether the area filled by the geometry would


contain the specified point given the specified flattening
tolerance.

FillContainsPoint Indicates whether the area filled by the geometry would


contain the specified point given the specified flattening
tolerance.

FillContainsPoint Indicates whether the area filled by this geometry would


contain the specified point.

FillContainsPoint Indicates whether the area filled by the geometry would


contain the specified point.

FillEllipse Paints the interior of the specified ellipse.


T IT L E DESC RIP T IO N

FillEllipse Paints the interior of the specified ellipse.

FillGeometry Paints the interior of the specified geometry.

FillGeometry Indicates to the command sink a geometry to be filled.

FillMesh Paints the interior of the specified mesh.

FillMesh Indicates a mesh to be filled by the command sink.

FillOpacityMask Applies the opacity mask described by the specified bitmap to


a brush and uses that brush to paint a region of the render
target.

FillOpacityMask Applies the opacity mask described by the specified bitmap to


a brush and uses that brush to paint a region of the render
target.

FillOpacityMask Fills an opacity mask on the command sink.

FillOpacityMask Fill using the alpha channel of the supplied opacity mask
bitmap. The brush opacity will be modulated by the mask. The
render target antialiasing mode must be set to aliased.

FillOpacityMask Fill using the alpha channel of the supplied opacity mask
bitmap. The brush opacity will be modulated by the mask. The
render target antialiasing mode must be set to aliased.

FillOpacityMask Fill using the alpha channel of the supplied opacity mask
bitmap. The brush opacity will be modulated by the mask. The
render target antialiasing mode must be set to aliased.

FillRectangle Paints the interior of the specified rectangle.

FillRectangle Paints the interior of the specified rectangle.

FillRectangle Indicates to the command sink a rectangle to be filled.

FillRoundedRectangle Paints the interior of the specified rounded rectangle.

FillRoundedRectangle Paints the interior of the specified rounded rectangle.

FindElementById Gets the SVG element with the specified ID.

FindResourceTexture Finds the given resource texture if it has already been created
with ID2D1EffectContext::CreateResourceTexture with the
same GUID.

FindVertexBuffer This finds the given vertex buffer if it has already been created
with ID2D1EffectContext::CreateVertexBuffer with the same
GUID.

FloatMax Returns the maximum floating-point value.


T IT L E DESC RIP T IO N

Flush Executes all pending drawing commands.

FlushDeviceContexts Flush all device contexts that reference a given bitmap.

GetAntialiasMode Retrieves the current antialiasing mode for nontext drawing


operations.

GetAttributeValue Gets an attribute of this element as a string.

GetAttributeValue Gets an attribute of this element as a POD type.

GetAttributeValue Gets an attribute of this element as an interface type.

GetAttributeValue Gets an attribute of this element as a float.

GetAttributeValue Gets an attribute of this element as a string.

GetAttributeValue Gets an attribute of this element as a fill mode. This method


can be used to get the value of the fill-rule or clip-rule
properties.

GetAttributeValue Gets an attribute of this element as a display value. This


method can be used to get the value of the display property.

GetAttributeValue Gets an attribute of this element as an overflow value. This


method can be used to get the value of the overflow property.

GetAttributeValue Gets an attribute of this element as a line join value. This


method can be used to get the value of the stroke-linejoin
property.

GetAttributeValue Gets an attribute of this element as a line cap value. This


method can be used to get the value of the stroke-linecap
property.

GetAttributeValue Gets an attribute of this element as a visibility value. This


method can be used to get the value of the visibility property.

GetAttributeValue Gets an attribute of this element as a matrix value. This


method can be used to get the value of a transform or
gradientTransform attribute.

GetAttributeValue Gets an attribute of this element as a unit type value. This


method can be used to get the value of a gradientUnits or
clipPathUnits attribute.

GetAttributeValue Gets an attribute of this element as a extend mode value. This


method can be used to get the value of a spreadMethod
attribute.

GetAttributeValue Gets an attribute of this element as a preserve aspect ratio


value. This method can be used to get the value of a
preserveAspectRatio attribute.
T IT L E DESC RIP T IO N

GetAttributeValue Gets an attribute of this element as a length value.

GetAttributeValue Gets an attribute of this element.

GetAttributeValue Gets an attribute of this element as a paint. This method can


be used to get the value of the fill or stroke properties.

GetAttributeValue Gets an attribute of this element as a stroke dash array. This


method can be used to get the value of the stroke-dasharray
property.

GetAttributeValue Gets an attribute of this element as points. This method can


be used to get the value of the points attribute on a polygon
or polyline element.

GetAttributeValue Gets an attribute of this element as path data. This method


can be used to get the value of the d attribute on a path
element.

GetAttributeValueLength Gets the string length of an attribute of this element.

GetBitmap Gets the bitmap source that this brush uses to paint.

GetBitmap Retrieves the bitmap for this render target. The returned
bitmap can be used for drawing operations.

GetBounds Retrieves the bounds of the geometry.

GetBounds Retrieves the bounds of the geometry.

GetBounds Gets the bounds of the metafile, in device-independent pixels


(DIPs), as reported in the metafile’s header.

GetBounds Retrieve the bounds of the geometry, with an optional applied


transform.

GetBufferPrecision Gets the precision of the gradient buffer.

GetCenter Retrieves the center of the gradient ellipse.

GetColor Retrieves the color of the solid color brush.

GetColor Gets the paint color that is used if the paint type is
D2D1_SVG_PAINT_TYPE_COLOR.

GetColorBitmapGlyphImage Retrieves an image of the color bitmap glyph from the color
glyph cache.

GetColorContext Gets the color context information associated with the bitmap.

GetColorContextType Retrieves the color context type.


T IT L E DESC RIP T IO N

GetColorInterpolationGamma Indicates the gamma space in which the gradient stops are
interpolated.

GetColorInterpolationMode Retrieves the color interpolation mode that the gradient stop
collection uses.

GetColorSpace Gets the color space of the color context.

GetCommands Gets commands from the commands array.

GetCommandsCount Gets the size of the commands array.

GetDashCap Gets a value that specifies how the ends of each dash are
drawn.

GetDashes Copies the dash pattern to the specified array.

GetDashes Gets dashes from the array.

GetDashes Gets dashes from the array.

GetDashesCount Retrieves the number of entries in the dashes array.

GetDashesCount Gets the number of the dashes in the array.

GetDashOffset Retrieves a value that specifies how far in the dash sequence
the stroke will start.

GetDashStyle Gets a value that describes the stroke's dash pattern.

GetDC Retrieves the device context associated with this render target.

GetDescription Retrieves the antialiasing mode, transform, and tags portion of


the drawing state.

GetDescription Gets the antialiasing mode, transform, tags, primitive blend,


and unit mode portion of the drawing state.

GetDescription Gets the blend description of the corresponding blend


transform object.

GetDesktopDpi Retrieves the current desktop dots per inch (DPI). To refresh
this value, call ReloadSystemMetrics.

GetDevice Gets the device associated with a device context.

GetDocument Gets the document that contains this element.

GetDpi Return the dots per inch (DPI) of the bitmap.

GetDpi Return the render target's dots per inch (DPI).


T IT L E DESC RIP T IO N

GetDpi Gets the unit mapping that an effect will use for properties
that could be in either dots per inch (dpi) or pixels.

GetDpi Gets the DPI reported by the metafile.

GetDXGIColorSpace Retrieves the DXGI color space of this context. Returns


DXGI_COLOR_SPACE_CUSTOM when color context type is ICC.

GetDxgiDevice Returns the DXGI device associated with this Direct2D device.

GetEffectInvalidRectangleCount Gets the number of invalid output rectangles that have


accumulated on the effect.

GetEffectInvalidRectangles Gets the invalid rectangles that have accumulated since the
last time the effect was drawn and EndDraw was then called
on the device context.

GetEffectProperties Retrieves the properties of an effect.

GetEffectRequiredInputRectangles Returns the input rectangles that are required to be supplied


by the caller to produce the given output rectangle.

GetElement Returns the element on which this attribute is set. Returns null
if the attribute is not set on any element.

GetEllipse Gets the D2D1_ELLIPSE structure that describes this ellipse


geometry.

GetEndCap Retrieves the type of shape used at the end of a stroke.

GetEndPoint Retrieves the ending coordinates of the linear gradient.

GetExtendMode Indicates the behavior of the gradient outside the normalized


gradient range.

GetExtendModeX Gets the method by which the brush horizontally tiles those
areas that extend past its bitmap.

GetExtendModeX Gets the extend mode of the image brush on the x-axis.

GetExtendModeX Gets the extend mode in the x direction.

GetExtendModeY Gets the method by which the brush vertically tiles those
areas that extend past its bitmap.

GetExtendModeY Gets the extend mode of the image brush on the y-axis of the
image.

GetExtendModeY Gets the extend mode in the y direction.

GetFactory Retrieves the factory associated with this resource.


T IT L E DESC RIP T IO N

GetFigureCount Retrieves the number of figures in the path geometry.

GetFill Returns the requested fill parameters.

GetFillMode Indicates how the intersecting areas of the geometries


contained in this geometry group are combined.

GetFirstChild Gets the first child of this element.

GetGlyphRunWorldBounds Gets the world-space bounds in DIPs of the glyph run using
the device context DPI.

GetGradientMeshWorldBounds Returns the world bounds of a given gradient mesh.

GetGradientOriginOffset Retrieves the offset of the gradient origin relative to the


gradient ellipse's center.

GetGradientStopCollection Retrieves the ID2D1GradientStopCollection associated with


this linear gradient brush.

GetGradientStopCollection Retrieves the ID2D1GradientStopCollection associated with


this radial gradient brush object.

GetGradientStopCount Retrieves the number of gradient stops in the collection.

GetGradientStops Copies the gradient stops from the collection into an array of
D2D1_GRADIENT_STOP structures.

GetGradientStops1 Copies the gradient stops from the collection into memory.

GetHwnd Returns the HWND associated with this render target.

GetId Gets the element id which acts as the paint server. This id is
used if the paint type is D2D1_SVG_PAINT_TYPE_URI.

GetIdLength Gets the string length of the element id which acts as the
paint server. This id is used if the paint type is
D2D1_SVG_PAINT_TYPE_URI.

GetImage Gets the image associated with the image brush.

GetImageLocalBounds Gets the bounds of an image without the world transform of


the context applied.

GetImageWorldBounds Gets the bounds of an image with the world transform of the
context applied.

GetInput Gets the given input image by index.

GetInputCount Gets the number of inputs to the effect.

GetInputCount Returns the number of inputs to the transform graph.


T IT L E DESC RIP T IO N

GetInputCount Gets the number of inputs to the transform node.

GetInterpolationMode Gets the interpolation method used when the brush bitmap is
scaled or rotated.

GetInterpolationMode Gets the interpolation mode of the image brush.

GetInterpolationMode1 Returns the current interpolation mode of the brush.

GetLastChild Gets the last child of this element.

GetLineJoin Retrieves the type of joint used at the vertices of a shape's


outline.

GetMaximumBitmapSize Gets the maximum size, in device-dependent units (pixels), of


any one bitmap dimension supported by the render target.

GetMaximumColorGlyphCacheMemory Gets the maximum capacity of the color glyph cache.

GetMaximumSupportedFeatureLevel This indicates the maximum feature level from the provided list
which is supported by the device.

GetMaximumTextureMemory Sets the maximum amount of texture memory Direct2D


accumulates before it purges the image caches and cached
texture allocations.

GetMiterLimit Retrieves the limit on the ratio of the miter length to half the
stroke's thickness.

GetMultithreadProtected Returns whether the Direct2D factory was created with the
D2D1_FACTORY_TYPE_MULTI_THREADED flag.

GetNextChild Gets the next sibling of the referenceChild element.

GetNibShape Retrieves the pre-transform nib shape for this style.

GetNibTransform Retrieves the transform to be applied to this style's nib shape.

GetOffset Gets the offset currently in the offset transform.

GetOpacity Gets the degree of opacity of this brush.

GetOptions Gets the options used in creating the bitmap.

GetOutput Gets the output image from the effect.

GetOutputBounds Returns the output rectangle of the support transform.

GetPaintType Gets the paint type.

GetParent Gets the parent element.


T IT L E DESC RIP T IO N

GetPatchCount Returns the number of patches that make up this gradient


mesh.

GetPatches Returns a subset of the patches that make up this gradient


mesh.

GetPixelFormat Retrieves the pixel format and alpha mode of the bitmap.

GetPixelFormat Retrieves the pixel format and alpha mode of the render
target.

GetPixelSize Returns the size, in device-dependent units (pixels), of the


bitmap.

GetPixelSize Returns the size of the render target in device pixels.

GetPoints Gets points from the points array.

GetPointsCount Gets the number of points in the array.

GetPostInterpolationSpace Gets the color space after interpolation has occurred.

GetPreInterpolationSpace Gets the color space of the input colors as well as the space in
which gradient stops are interpolated.

GetPreviousChild Gets the previous sibling of the referenceChild element.

GetPrimitiveBlend Returns the currently set primitive blend used by the device
context.

GetProfile Gets the color profile bytes for an ID2D1ColorContext.

GetProfileSize Gets the size of the color profile associated with the bitmap.

GetProperties Retrieves the properties specified when the transformed image


source was created.

GetPropertyCount Gets the number of top-level properties.

GetPropertyIndex Gets the index corresponding to the given property name.

GetPropertyName Gets the property name that corresponds to the given index.

GetPropertyName Gets the property name that corresponds to the given index.
This is a template overload. See Remarks.

GetPropertyNameLength Gets the number of characters for the given property name.

GetPropertyNameLength Gets the number of characters for the given property name.
This is a template overload. See Remarks.

GetRadiusX Retrieves the x-radius of the gradient ellipse.


T IT L E DESC RIP T IO N

GetRadiusY Retrieves the y-radius of the gradient ellipse.

GetRect Retrieves the rectangle that describes the rectangle geometry's


dimensions.

GetRegisteredEffects Returns the class IDs of the currently registered effects and
global effects on this factory.

GetRenderingControls Gets the rendering controls that have been applied to the
context.

GetRenderingPriority Retrieves the current rendering priority of the device.

GetRoot Gets the root element of the document.

GetRoundedRect Retrieves a rounded rectangle that describes this rounded


rectangle geometry.

GetSegmentCount Retrieves the number of segments in the path geometry.

GetSegmentCount Returns the number of segments in this ink object.

GetSegmentData Gets data from the segment data array.

GetSegmentDataCount Gets the size of the segment data array.

GetSegments Retrieves the specified subset of segments stored in this ink


object.

GetSimpleColorProfile Retrieves a set simple color profile.

GetSize Returns the size, in device-independent pixels (DIPs), of the


bitmap.

GetSize Gets the size of the layer in device-independent pixels.

GetSize Returns the size of the render target in device-independent


pixels.

GetSource Retrieves the underlying bitmap image source from the


Windows Imaging Component (WIC).

GetSource Retrieves the source image used to create the transformed


image source.

GetSourceBounds Gets the bounds of the metafile in source space in DIPs. This
corresponds to the frame rect in an EMF/EMF+.

GetSourceGeometries Retrieves the geometries in the geometry group.

GetSourceGeometry Retrieves the source geometry of this transformed geometry


object.
T IT L E DESC RIP T IO N

GetSourceGeometryCount Indicates the number of geometry objects in the geometry


group.

GetSourceRectangle Gets the rectangle that will be used as the bounds of the
image when drawn as an image brush.

GetSpecifiedAttributeCount Returns the number of specified attributes on this element.

GetSpecifiedAttributeName Gets the name of the attribute at the given index.

GetSpecifiedAttributeNameLength Gets the string length of the name of the specified attribute at
the given index.

GetSpriteCount Retrieves the number of sprites in this sprite batch.

GetSprites Retrieves the specified subset of sprites from this sprite batch.
For the best performance, use nullptr for properties that you
do not need to retrieve.

GetStartCap Retrieves the type of shape used at the beginning of a stroke.

GetStartPoint Retrieves the starting coordinates of the linear gradient.

GetStartPoint Retrieves the starting point for this ink object.

GetStroke Returns the requested stroke parameters.

GetStrokeDashesCount Returns the number of dashes in the dash array.

GetStrokeTransformType Gets the stroke transform type.

GetSubProperties Gets the sub-properties of the provided property by index.

GetSubProperties Gets the sub-properties of the provided property by index.


This is a template overload.

GetSurface Gets either the surface that was specified when the bitmap
was created, or the default surface created when the bitmap
was created.

GetSvgGlyphImage Retrieves an image of the SVG glyph from the color glyph
cache.

GetTagName Gets the tag name.

GetTagNameLength Gets the string length of the tag name.

GetTags Gets the label for subsequent drawing operations.

GetTarget Gets the target currently associated with the device context.
T IT L E DESC RIP T IO N

GetTextAntialiasMode Gets the current antialiasing mode for text and glyph drawing
operations.

GetTextRenderingParams Retrieves the text-rendering configuration of the drawing


state.

GetTextRenderingParams Retrieves the render target's current text rendering options.

GetTextValue Gets the value of a text content element.

GetTextValueLength Gets the length of the text content value.

GetTransform Gets the transform applied to this brush.

GetTransform Gets the current transform of the render target.

GetTransform Retrieves the matrix used to transform the


ID2D1TransformedGeometry object's source geometry.

GetType Gets the D2D1_PROPERTY_TYPE of the selected property.

GetType Gets the D2D1_PROPERTY_TYPE of the selected property. This


is a template overload. See Remarks.

GetUnitMode Gets the mode that is being used to interpret values by the
device context.

GetValue Gets the value of the specified property by index.

GetValue Gets the value of the specified property by index.

GetValue Gets the value of the specified property by index. This is a


template overload. See Remarks.

GetValue Gets the value of the property by index. This is a template


overload. See Remarks.

GetValue Gets the value of the property by index. This is a template


overload. See Remarks.

GetValueByName Gets the property value by name.

GetValueByName Gets the property value by name.

GetValueByName Gets the property value by name. This is a template overload.


See Remarks.

GetValueByName Gets the property value by name. This is a template overload.


See Remarks.

GetValueSize Gets the size of the property value in bytes, using the
property index.
T IT L E DESC RIP T IO N

GetValueSize Gets the size of the property value in bytes, using the
property index. This is a template overload. See Remarks.

GetViewportSize Returns the size of the initial viewport.

GetWidenedBounds Gets the bounds of the geometry after it has been widened by
the specified stroke width and style and transformed by the
specified matrix.

GetWidenedBounds Gets the bounds of the geometry after it has been widened by
the specified stroke width and style and transformed by the
specified matrix.

GetWidenedBounds Gets the bounds of the geometry after it has been widened by
the specified stroke width and style and transformed by the
specified matrix.

GetWidenedBounds Gets the bounds of the geometry after it has been widened by
the specified stroke width and style and transformed by the
specified matrix.

GradientMeshPatch Creates a D2D1_GRADIENT_MESH_PATCH structure that


contains the given control points, colors, and boundary flags.

GradientMeshPatchFromCoonsPatch Creates a D2D1_GRADIENT_MESH_PATCH from a given Coons


patch description.

GradientStop Creates a D2D1_GRADIENT_STOP structure.

HasChildren Returns a boolean indicating whether this element has


children.

HwndRenderTargetProperties Creates a D2D1_HWND_RENDER_TARGET_PROPERTIES


structure.

Identity Creates an identity matrix.

IdentityMatrix Creates an identity matrix.

ImageBrushProperties Creates a D2D1_IMAGE_BRUSH_PROPERTIES structure.

InfiniteRect Creates a rectangle that has its upper-left corner set to


(negative infinity, negative infinity) and its lower-right corner
set to (infinity, infinity).

Initialize The effect can use this method to do one time initialization
tasks.

InkBezierSegment Creates a D2D1_INK_BEZIER_SEGMENT structure.

InkPoint Creates a D2D1_INK_POINT structure.

InkStyleProperties Creates a D2D1_INK_STYLE_PROPERTIES structure.


T IT L E DESC RIP T IO N

InsertChildBefore Inserts newChild as a child of this element, before the


referenceChild element.

InvalidateEffectInputRectangle This indicates that a portion of an effect's input is invalid. This


method can be called many times.

Invert Inverts the matrix, if it is invertible.

IsAttributeSpecified Returns a boolean indicating if the attribute is explicitly set on


the element.

IsBufferPrecisionSupported Indicates whether the buffer precision is supported by the


underlying Direct3D device.

IsBufferPrecisionSupported Indicates whether the buffer precision is supported by the


underlying Direct2D device.

IsDxgiFormatSupported Indicates whether the format is supported by the device


context.

IsIdentity Indicates whether this matrix is the identity matrix.

IsIdentity Indicates whether this matrix is the identity matrix.

IsInvertible Indicates whether the matrix is invertible.

IsShaderLoaded This tests to see if the given shader is loaded.

IsSupported Indicates whether the render target supports the specified


properties.

IsSupported Indicates whether the render target supports the specified


properties.

IsTextContent Returns a boolean indicating wether this element represents


text content.

LayerParameters Creates a D2D1_LAYER_PARAMETERS structure.

LayerParameters1 Returns a D2D1_LAYER_PARAMETERS1 struct that contains


the content bounds, mask information, opacity settings, and
other options for a layer resource.

Leave Leaves the Direct2D API critical section, if it exists.

LinearGradientBrushProperties Creates a D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES


structure.

LoadComputeShader Loads the given shader by its unique ID.

LoadPixelShader Loads the given shader by its unique ID.


T IT L E DESC RIP T IO N

LoadVertexShader Loads the given shader by its unique ID.

Map Maps the given bitmap into memory.

Map Maps the provided data into user memory.

MapInputRectsToOutputRect Performs the inverse mapping to MapOutputRectToInputRects.

MapInvalidRect Sets the input rectangles for this rendering pass into the
transform.

MapOutputRectToInputRects Allows a transform to state how it would map a rectangle


requested on its output to a set of sample rectangles on its
input.

Matrix3x2F Instantiates a new instance of the Matrix3x2F class that


contains the specified values.

Matrix3x2F Instantiates a new instance of the Matrix3x2F class without


initializing the matrix values.

OfferResources Allows the operating system to free the video memory of


resources by discarding their content.

Open Opens the mesh for population.

Open Retrieves the geometry sink that is used to populate the path
geometry with figures and segments.

operator* Multiplies this matrix with the specified matrix and returns the
result.

operator* Multiplies this matrix with the specified matrix and returns the
result.

Outline Computes the outline of the geometry and writes the result to
an ID2D1SimplifiedGeometrySink.

Outline Computes the outline of the geometry and writes the result to
an ID2D1SimplifiedGeometrySink.

Outline Computes the outline of the geometry and writes the result to
an ID2D1SimplifiedGeometrySink.

Outline Computes the outline of the geometry and writes the result to
an ID2D1SimplifiedGeometrySink.

PD2D1_EFFECT_FACTORY Describes the implementation of an effect.

PD2D1_PROPERTY_GET_FUNCTION Gets a property from an effect.

PD2D1_PROPERTY_SET_FUNCTION Sets a property on an effect.


T IT L E DESC RIP T IO N

PerspectiveProjection A perspective transformation given a depth value.

PixelFormat Creates a D2D1_PIXEL_FORMAT structure.

Point2F Creates a D2D1_POINT_2F structure that contains the


specified x-coordinates and y-coordinates.

Point2L Returns a point struct of long integers.

Point2U Creates a D2D1_POINT_2U structure that contains the


specified x-coordinates and y-coordinates.

PopAxisAlignedClip Removes the last axis-aligned clip from the render target. After
this method is called, the clip is no longer applied to
subsequent drawing operations.

PopAxisAlignedClip Removes an axis-aligned clip from the layer and clip stack.

PopLayer Stops redirecting drawing operations to the layer that is


specified by the last PushLayer call.

PopLayer Removes a layer from the layer and clip stack.

PrepareForRender Prepares an effect for the rendering process.

PrintControlProperties Returns a filled D2D1_PRINT_CONTROL_PROPERTIES


structure.

ProcessAnalysisResults Supplies the analysis data to an analysis transform.

ProcessRecord This method is called once for each record stored in a metafile.

ProcessRecord Provides access to metafile records, including their type, data,


and flags.

PushAxisAlignedClip Specifies a rectangle to which all subsequent drawing


operations are clipped.

PushAxisAlignedClip Specifies a rectangle to which all subsequent drawing


operations are clipped.

PushAxisAlignedClip Pushes a clipping rectangle onto the clip and layer stack.

PushLayer Adds the specified layer to the render target so that it receives
all subsequent drawing operations until PopLayer is called.

PushLayer Adds the specified layer to the render target so that it receives
all subsequent drawing operations until PopLayer is called.

PushLayer Pushes a layer onto the clip and layer stack.


T IT L E DESC RIP T IO N

PushLayer Push a layer onto the clip and layer stack of the device
context.

PushLayer Push a layer onto the clip and layer stack of the device
context.

QuadraticBezierSegment Creates a D2D1_QUADRATIC_BEZIER_SEGMENT structure.

RadialGradientBrushProperties Creates a D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES


structure.

RectF Creates a D2D1_RECT_F structure that contains the specified


dimensions.

RectL Returns a filled D2D1_RECT_L structure.

RectU Creates a D2D1_RECT_U structure that contains the specified


dimensions.

RegisterEffectFromStream Registers an effect within the factory instance with the


property XML specified as a stream.

RegisterEffectFromString Registers an effect within the factory instance with the


property XML specified as a string.

ReinterpretBaseType Converts the specified D2D1_MATRIX_3X2_F matrix to a


Matrix3x2F without making a copy.

ReinterpretBaseType Converts the specified D2D1_MATRIX_3X2_F matrix to a


Matrix3x2F without making a copy.

ReinterpretBaseType Converts the specified D2D1_MATRIX_4X4_F matrix to a


Matrix4x4F without making a copy.

ReinterpretBaseType Converts the specified D2D1_MATRIX_4X4_F matrix to a


Matrix4x4F without making a copy.

ReleaseDC Indicates that drawing with the device context retrieved using
the GetDC method is finished.

ReloadSystemMetrics Forces the factory to refresh any system defaults that it might
have changed since factory creation.

RemoveAttribute Removes the attribute from this element.

RemoveChild Removes the oldChild from the tree. Children of oldChild


remain children of oldChild.

RemoveCommandsAtEnd Removes commands from the end of the commands array.

RemoveDashesAtEnd Removes dashes from the end of the array.

RemoveNode Removes the provided node from the transform graph.


T IT L E DESC RIP T IO N

RemovePointsAtEnd Removes points from the end of the array.

RemoveSegmentDataAtEnd Removes data from the end of the segment data array.

RemoveSegmentsAtEnd Removes the given number of segments from the end of this
ink object.

RenderingControls Returns a filled D2D1_RENDERING_CONTROLS structure.

RenderTargetProperties Creates a D2D1_RENDER_TARGET_PROPERTIES structure.

ReplaceChild Replaces the oldChild element with the newChild.

Resize Changes the size of the render target to the specified pixel
size.

Resize Changes the size of the render target to the specified pixel
size.

RestoreDrawingState Sets the render target's drawing state to that of the specified
ID2D1DrawingStateBlock.

Rotation Creates a rotation transformation that has the specified angle


and center point.

RotationArbitraryAxis Determines the 3-D Rotation matrix for an arbitrary axis.

RotationX Rotates the transform matrix around the X axis.

RotationY Rotates the transform matrix around the Y axis.

RotationZ Rotates the transform matrix around the Z axis.

RoundedRect Creates a D2D1_ROUNDED_RECT structure.

SaveDrawingState Saves the current drawing state to the specified


ID2D1DrawingStateBlock.

Scale Creates a scale transformation that has the specified scale


factors and center point.

Scale Creates a scale transformation that has the specified scale


factors and center point.

Scale Scales the perspective plane of the matrix.

Serialize Serializes an element and its subtree to XML. The output XML
is encoded as UTF-8.

SetAntialiasMode Sets the antialiasing mode of the render target. The


antialiasing mode applies to all subsequent drawing
operations, excluding text and glyph drawing operations.
T IT L E DESC RIP T IO N

SetAntialiasMode Sets the antialiasing mode that will be used to render any
subsequent geometry.

SetAttributeValue Sets an attribute of this element using a string.

SetAttributeValue Sets an attribute of this element using a POD type.

SetAttributeValue Sets an attribute of this element using an interface.

SetAttributeValue Sets an attribute of this element using a float.

SetAttributeValue Sets an attribute of this element as a color.

SetAttributeValue Sets an attribute of this element as a fill mode. This method


can be used to set the value of the 'fill-rule' or 'clip-rule'
properties.

SetAttributeValue Gets an attribute of this element as a display value. This


method can be used to get the value of the display property.

SetAttributeValue Sets an attribute of this element as an overflow value. This


method can be used to set the value of the overflow property.

SetAttributeValue Sets an attribute of this element as a line join value. This


method can be used to set the value of the stroke-linejoin
property.

SetAttributeValue Sets an attribute of this element as a line cap value. This


method can be used to set the value of the stroke-linecap
property.

SetAttributeValue Sets an attribute of this element as a visibility value. This


method can be used to set the value of the visibility property.

SetAttributeValue Sets an attribute of this element as a matrix value. This


method can be used to set the value of a transform or
gradientTransform attribute.

SetAttributeValue Sets an attribute of this element as a unit type value. This


method can be used to set the value of a gradientUnits or
clipPathUnits attribute.

SetAttributeValue Sets an attribute of this element as an extend mode value. This


method can be used to set the value of a spreadMethod
attribute.

SetAttributeValue Sets an attribute of this element as a preserve aspect ratio


value. This method can be used to set the value of a
preserveAspectRatio attribute.

SetAttributeValue Sets an attribute of this element as a length value.

SetBitmap Specifies the bitmap source that this brush uses to paint.
T IT L E DESC RIP T IO N

SetCached Sets whether the output of the specified transform is cached.

SetCached Specifies that the output of the transform in which the render
information is encapsulated is or is not cached.

SetCenter Specifies the center of the gradient ellipse in the brush's


coordinate space.

SetColor Specifies the color of this solid color brush.

SetColor Specifies the color of this solid-color brush.

SetColor Sets the paint color that is used if the paint type is
D2D1_SVG_PAINT_TYPE_COLOR.

SetColor Sets the paint color that is used if the paint type is
D2D1_SVG_PAINT_TYPE_COLOR.

SetComputeInfo Sets the render information used to specify the compute


shader pass.

SetComputeShader Sets the compute shader to the given shader resource. The
resource must be loaded before this call is made.

SetComputeShaderConstantBuffer Establishes or changes the constant buffer data for this


transform.

SetDescription Specifies the antialiasing mode, transform, and tags portion of


the drawing state.

SetDescription Specifies the antialiasing mode, transform, and tags portion of


the drawing state.

SetDescription Sets the D2D1_DRAWING_STATE_DESCRIPTION1 associated


with this drawing state block.

SetDescription Changes the blend description of the corresponding blend


transform object.

SetDpi Sets the dots per inch (DPI) of the render target.

SetDpiCompensatedEffectInput Sets a bitmap as an effect input, while inserting a DPI


compensation effect to preserve visual appearance as the
device context's DPI changes.

SetDrawInfo Provides the GPU render info interface to the transform


implementation.

SetEndPoint Sets the ending coordinates of the linear gradient in the


brush's coordinate space.

SetExtendModeX Specifies how the brush horizontally tiles those areas that
extend past its bitmap.
T IT L E DESC RIP T IO N

SetExtendModeX Sets how the content inside the source rectangle in the image
brush will be extended on the x-axis.

SetExtendModeX Sets the extend mode in the x direction.

SetExtendModeY Specifies how the brush vertically tiles those areas that extend
past its bitmap.

SetExtendModeY Sets the extend mode on the y-axis.

SetExtendModeY Sets the extend mode in the y direction.

SetFill Provides values to an SVG glyph for fill.

SetFillMode Specifies the method used to determine which points are


inside the geometry described by this geometry sink and
which points are outside.

SetGradientOriginOffset Specifies the offset of the gradient origin relative to the


gradient ellipse's center.

SetGraph The renderer calls this method to provide the effect


implementation with a way to specify its transform graph and
transform graph changes.

SetId Sets the element id which acts as the paint server. This id is
used if the paint type is D2D1_SVG_PAINT_TYPE_URI.

SetImage Sets the image associated with the provided image brush.

SetInput Sets the given input image by index.

SetInputCount Allows the application to change the number of inputs to an


effect.

SetInputDescription Sets how a specific input to the transform should be handled


by the renderer in terms of sampling.

SetInputEffect Sets the given input effect by index.

SetInstructionCountHint Provides an estimated hint of shader execution cost to D2D.

SetInterpolationMode Specifies the interpolation mode used when the brush bitmap
is scaled or rotated.

SetInterpolationMode Sets the interpolation mode for the image brush.

SetInterpolationMode1 Sets the interpolation mode for the brush.

SetMaximumColorGlyphCacheMemory Sets the maximum capacity of the color glyph cache.


T IT L E DESC RIP T IO N

SetMaximumTextureMemory Sets the maximum amount of texture memory Direct2D


accumulates before it purges the image caches and cached
texture allocations.

SetNibShape Sets the pre-transform nib shape for this style.

SetNibTransform Sets the transform to apply to this style's nib shape.

SetNibTransform Sets the transform to apply to this style's nib shape.

SetOffset Sets the offset in the current offset transform.

SetOpacity Sets the degree of opacity of this brush.

SetOutputBounds This sets the output bounds for the support transform.

SetOutputBuffer Sets the properties of the output buffer of the specified


transform node.

SetOutputBuffer Allows a caller to control the output precision and channel-


depth of the transform in which the render information is
encapsulated.

SetOutputNode Sets the output node for the transform graph.

SetPaintType Sets the paint type.

SetPassthroughGraph Uses the specified input as the effect output.

SetPixelShader Set the shader instructions for this transform.

SetPixelShaderConstantBuffer Sets the constant buffer for this transform's pixel shader.

SetPrimitiveBlend Sets a new primitive blend mode.

SetPrimitiveBlend Changes the primitive blend mode that is used for all
rendering operations in the device context.

SetPrimitiveBlend1 Sets a new primitive blend mode.

SetPrimitiveBlend2 Sets a new primitive blend mode. Allows access to the MAX
primitive blend mode.

SetProduct Multiplies the two matrices and stores the result in this matrix.

SetProduct Multiplies the two matrices and stores the result in this matrix.

SetRadiusX Specifies the x-radius of the gradient ellipse, in the brush's


coordinate space.

SetRadiusY Specifies the y-radius of the gradient ellipse, in the brush's


coordinate space.
T IT L E DESC RIP T IO N

SetRenderInfo Sets the render information for the transform.

SetRenderingControls Sets the rendering controls for the given device context.

SetRenderingControls Sets the rendering controls for the given device context.

SetRenderingPriority Sets the priority of Direct2D rendering operations performed


on any device context associated with the device.

SetResourceTexture Sets the resource texture corresponding to the given shader


texture index to the given texture resource.

SetResourceTexture Sets the resource texture corresponding to the given shader


texture index.

SetRoot Sets the root element of the document.

SetSegmentAtEnd Updates the last segment in this ink object with new control
points.

SetSegmentAtEnd Updates the last segment in this ink object with new control
points.

SetSegmentFlags Specifies stroke and join options to be applied to new


segments added to the geometry sink.

SetSegments Updates the specified segments in this ink object with new
control points.

SetSingleTransformNode Sets a single transform node as being equivalent to the whole


graph.

SetSourceRectangle Sets the source rectangle in the image brush.

SetSprites Updates the properties of the specified sprites in this sprite


batch.

SetStartPoint Sets the starting coordinates of the linear gradient in the


brush's coordinate space.

SetStartPoint Sets the starting point for this ink object. This determines
where this ink object will start rendering.

SetStartPoint Sets the starting point for this ink object. This determines
where this ink object will start rendering.

SetStroke Provides values to an SVG glyph for stroke properties. The


brush with opacity set to 1 is used as the 'context-stroke'. The
opacity of the brush is used as the 'context-stroke-opacity'
value.

SetTags Specifies a label for subsequent drawing operations.


T IT L E DESC RIP T IO N

SetTags Sets the tags that correspond to the tags in the command
sink.

SetTarget The bitmap or command list to which the Direct2D device


context will now render.

SetTextAntialiasMode Specifies the antialiasing mode to use for subsequent text and
glyph drawing operations.

SetTextAntialiasMode Indicates the new default antialiasing mode for text.

SetTextRenderingParams Specifies the text-rendering configuration of the drawing state.

SetTextRenderingParams Specifies text rendering options to be applied to all


subsequent text and glyph drawing operations.

SetTextRenderingParams Indicates more detailed text rendering parameters.

SetTextValue Sets the value of a text content element.

SetTransform Sets the transformation applied to the brush.

SetTransform Sets the transformation applied to the brush.

SetTransform Applies the specified transform to the render target, replacing


the existing transformation. All subsequent drawing
operations occur in the transformed space.

SetTransform Applies the specified transform to the render target, replacing


the existing transformation. All subsequent drawing
operations occur in the transformed space.

SetTransform Sets a new transform.

SetUnitMode The unit mode changes the meaning of subsequent units from
device-independent pixels (DIPs) to pixels or the other way.
The command sink does not record a DPI, this is implied by
the playback context or other playback interface such as
ID2D1PrintControl.

SetUnitMode Sets what units will be used to interpret values passed into the
device context.

SetValue Sets the corresponding property by index.

SetValue Sets the corresponding property by index.

SetValue Sets the corresponding property by index. This is a template


overload.

SetValue Sets the corresponding property by index. This is a template


overload.
T IT L E DESC RIP T IO N

SetValueByName Sets the named property to the given value.

SetValueByName Sets the named property to the given value.

SetValueByName Sets the named property to the given value. This is a template
overload. See Remarks.

SetVertexProcessing Sets a vertex buffer, a corresponding vertex shader, and


options to control how the vertices are to be handled by the
Direct2D context.

SetVertexShaderConstantBuffer Sets the constant buffer for this transform's vertex shader.

SetViewportSize Sets the size of the initial viewport.

Simplify Creates a simplified version of the geometry that contains


only lines and (optionally) cubic Bezier curves and writes the
result to an ID2D1SimplifiedGeometrySink.

Simplify Creates a simplified version of the geometry that contains


only lines and (optionally) cubic Bezier curves and writes the
result to an ID2D1SimplifiedGeometrySink.

Simplify Creates a simplified version of the geometry that contains


only lines and (optionally) cubic Bezier curves and writes the
result to an ID2D1SimplifiedGeometrySink.

Simplify Creates a simplified version of the geometry that contains


only lines and (optionally) cubic Bezier curves and writes the
result to an ID2D1SimplifiedGeometrySink.

SizeF Creates a D2D1_SIZE_F structure that contains the specified


width and height.

SizeU Creates a D2D1_SIZE_U structure that contains the specified


width and height.

Skew Creates a skew transformation that has the specified x-axis


and y-axis values and center point.

SkewX Skews the matrix in the X direction.

SkewY Skews the matrix in the Y direction.

Stream Copies the contents of the path geometry to the specified


ID2D1GeometrySink.

Stream Streams the contents of the command list to the specified


command sink.

Stream This method streams the contents of the command to the


given metafile sink.
T IT L E DESC RIP T IO N

StreamAsGeometry Retrieves a geometric representation of this ink object.

StreamAsGeometry Retrieves a geometric representation of this ink object.

StreamAsGeometry Retrieves a geometric representation of this ink object.

StreamAsGeometry Retrieves a geometric representation of this ink object.

StringGetter Calls a member-function property getter callback for a string-


type property.

StringGetter Calls a member-function property getter callback for a string-


type property.

StringSetter Calls a member-function property setter callback for a string-


type property.

StringSetter Calls a member-function property setter callback for a string-


type property.

StrokeContainsPoint Determines whether the geometry's stroke contains the


specified point given the specified stroke thickness, style, and
transform.

StrokeContainsPoint Determines whether the geometry's stroke contains the


specified point given the specified stroke thickness, style, and
transform.

StrokeContainsPoint Determines whether the geometry's stroke contains the


specified point given the specified stroke thickness, style, and
transform.

StrokeContainsPoint Determines whether the geometry's stroke contains the


specified point given the specified stroke thickness, style, and
transform.

StrokeStyleProperties Creates a D2D1_STROKE_STYLE_PROPERTIES structure.

StrokeStyleProperties1 Returns a filled D2D1_STROKE_STYLE_PROPERTIES1 structure.

Tessellate Creates a set of clockwise-wound triangles that cover the


geometry after it has been transformed using the specified
matrix and flattened using the specified tolerance.

Tessellate Creates a set of clockwise-wound triangles that cover the


geometry after it has been transformed using the specified
matrix and flattened using the specified tolerance.

Tessellate Creates a set of clockwise-wound triangles that cover the


geometry after it has been transformed using the specified
matrix and flattened using the default tolerance.
T IT L E DESC RIP T IO N

Tessellate Creates a set of clockwise-wound triangles that cover the


geometry after it has been transformed using the specified
matrix and flattened using the default tolerance.

TransformPoint Uses this matrix to transform the specified point and returns
the result.

Translation Creates a translation transformation that has the specified x


and y displacements.

Translation Creates a translation transformation that has the specified x


and y displacements.

TrimCache This method trims the populated regions of the image source
cache to just the specified rectangle.

TrimCache This method trims the populated regions of the image source
cache to just the specified rectangle.

TryReclaimResources Restores access to resources that were previously offered by


calling OfferResources.

Unmap Unmaps the bitmap from memory.

Unmap Unmaps the vertex buffer.

UnregisterEffect Unregisters an effect within the factory instance that


corresponds to the classId provided.

Update Updates the specific resource texture inside the specific range
or box using the supplied data.

UpdateCommands Updates the commands array. Existing commands not


updated by this method are preserved. The array is resized
larger if necessary to accomodate the new commands.

UpdateDashes Updates the array. Existing dashes not updated by this


method are preserved. The array is resized larger if necessary
to accomodate the new dashes.

UpdateDashes Updates the array. Existing dashes not updated by this


method are preserved. The array is resized larger if necessary
to accomodate the new dashes.

UpdatePoints Updates the points array. Existing points not updated by this
method are preserved. The array is resized larger if necessary
to accomodate the new points.

UpdateSegmentData Updates the segment data array. Existing segment data not
updated by this method are preserved. The array is resized
larger if necessary to accomodate the new segment data.

ValueGetter Calls a member-function property setter callback for a value-


type property.
T IT L E DESC RIP T IO N

ValueGetter Calls a member-function property setter callback for a value-


type property.

ValueSetter Calls a member-function property setter callback for a value-


type property.

ValueSetter Calls a member-function property setter callback for a value-


type property.

Vector2F Returns a filled D2D1_VECTOR_2F structure.

Vector3F Returns a filled D2D1_VECTOR_3F structure.

Vector4F Returns a filled D2D1_VECTOR_4F structure.

Widen Widens the geometry by the specified stroke and writes the
result to an ID2D1SimplifiedGeometrySink after it has been
transformed by the specified matrix and flattened using the
specified tolerance.

Widen Widens the geometry by the specified stroke and writes the
result to an ID2D1SimplifiedGeometrySink after it has been
transformed by the specified matrix and flattened using the
specified tolerance.

Widen Widens the geometry by the specified stroke and writes the
result to an ID2D1SimplifiedGeometrySink after it has been
transformed by the specified matrix and flattened using the
default tolerance.

Widen Widens the geometry by the specified stroke and writes the
result to an ID2D1SimplifiedGeometrySink after it has been
transformed by the specified matrix and flattened using the
default tolerance.

Interfaces
T IT L E DESC RIP T IO N

ID2D1AnalysisTransform Supplies data to an analysis effect.

ID2D1Bitmap Represents a bitmap that has been bound to an


ID2D1RenderTarget.

ID2D1Bitmap1 Represents a bitmap that can be used as a surface for an


ID2D1DeviceContext or mapped into system memory, and
can contain additional color context information.

ID2D1BitmapBrush Paints an area with a bitmap.

ID2D1BitmapBrush1 Paints an area with a bitmap.


T IT L E DESC RIP T IO N

ID2D1BitmapRenderTarget Renders to an intermediate texture created by the


CreateCompatibleRenderTarget method.

ID2D1BlendTransform Provides methods to allow a blend operation to be inserted


into a transform graph.

ID2D1BorderTransform Extends the input rectangle to infinity using the specified


extend modes.

ID2D1BoundsAdjustmentTransform A support transform for effects to modify the output rectangle


of the previous effect or bitmap.

ID2D1Brush Defines an object that paints an area. Interfaces that derive


from ID2D1Brush describe how the area is painted.

ID2D1ColorContext Represents a color context that can be used with an


ID2D1Bitmap1 object.

ID2D1ColorContext1 Represents a color context to be used with the Color


Management Effect.

ID2D1CommandList Represents a sequence of commands that can be recorded and


played back.

ID2D1CommandSink The command sink is implemented by you for an application


when you want to receive a playback of the commands
recorded in a command list.

ID2D1CommandSink1 This interface performs all the same functions as the existing
ID2D1CommandSink interface. It also enables access to the
new primitive blend modes, MIN and ADD, through its
SetPrimitiveBlend1 method.

ID2D1CommandSink2 This interface performs all the same functions as the existing
ID2D1CommandSink1 interface. It also enables access to ink
rendering and gradient mesh rendering.

ID2D1CommandSink3 This interface performs all the same functions as the existing
ID2D1CommandSink2 interface. It also enables access to
sprite batch rendering.

ID2D1CommandSink4 This interface performs all the same functions as the existing
ID2D1CommandSink3 interface. It also enables access to the
new primitive blend mode, MAX, through the
SetPrimitiveBlend2 method.

ID2D1CommandSink5 This interface performs all the same functions as the existing
ID2D1CommandSink4 interface, plus it enables access to the
BlendImage method.

ID2D1ComputeInfo Enables specification of information for a compute-shader


rendering pass.

ID2D1ComputeTransform Defines a transform that uses a compute shader.


T IT L E DESC RIP T IO N

ID2D1ConcreteTransform Represents the set of transforms implemented by the effect-


rendering system, which provides fixed-functionality.

ID2D1DCRenderTarget Issues drawing commands to a GDI device context.

ID2D1Device Represents a resource domain whose objects and device


contexts can be used together.

ID2D1Device1 Represents a resource domain whose objects and device


contexts can be used together.

ID2D1Device2 Represents a resource domain whose objects and device


contexts can be used together. This interface performs all the
same functions as the existing ID2D1Device1 interface. It also
enables the creation of ID2D1DeviceContext2 objects.

ID2D1Device3 Represents a resource domain whose objects and device


contexts can be used together. This interface performs all the
same functions as the ID2D1Device2 interface. It also enables
the creation of ID2D1DeviceContext3 objects.

ID2D1Device4 Represents a resource domain whose objects and device


contexts can be used together. This interface performs all the
same functions as the ID2D1Device3 interface. It also enables
the creation of ID2D1DeviceContext4 objects.

ID2D1Device5 Represents a resource domain whose objects and device


contexts can be used together. This interface performs all the
same functions as the ID2D1Device4 interface. It also enables
the creation of ID2D1DeviceContext5 objects.

ID2D1Device6 Represents a resource domain whose objects and device


contexts can be used together. This interface performs all the
same functions as the ID2D1Device5 interface, plus it enables
the creation of ID2D1DeviceContext6 objects.

ID2D1DeviceContext Represents a set of state and command buffers that are used
to render to a target.

ID2D1DeviceContext1 Enables creation and drawing of geometry realization objects.

ID2D1DeviceContext2 This interface performs all the same functions as the


ID2D1DeviceContext1 interface, plus it enables functionality
such as ink rendering, gradient mesh rendering, and improved
image loading.

ID2D1DeviceContext3 This interface performs all the same functions as the


ID2D1DeviceContext2 interface, plus it enables functionality
for creating and drawing sprite batches.

ID2D1DeviceContext4 This interface performs all the same functions as the


ID2D1DeviceContext3 interface, plus it enables functionality
for handling new types of color font glyphs.
T IT L E DESC RIP T IO N

ID2D1DeviceContext5 This interface performs all the same functions as the


ID2D1DeviceContext4 interface, plus it enables the creation of
color contexts and Svg documents.

ID2D1DeviceContext6 This interface performs all the same functions as the existing
ID2D1DeviceContext5 interface, plus it enables access to the
BlendImage method.

ID2D1DrawInfo This interface is used to describe a GPU rendering pass on a


vertex or pixel shader. It is passed to ID2D1DrawTransform.

ID2D1DrawingStateBlock Represents the drawing state of a render target:_the


antialiasing mode, transform, tags, and text-rendering options.

ID2D1DrawingStateBlock1 Implementation of a drawing state block that adds the


functionality of primitive blend in addition to already existing
antialias mode, transform, tags and text rendering mode.

ID2D1DrawTransform A specialized implementation of the Shantzis calculations to a


transform implemented on the GPU.

ID2D1Effect Represents a basic image-processing construct in Direct2D.

ID2D1EffectContext Provides factory methods and other state management for


effect and transform authors.

ID2D1EffectContext1 Provides factory methods and other state management for


effect and transform authors.

ID2D1EffectImpl Allows a custom effect's interface and behavior to be specified


by the effect author.

ID2D1EllipseGeometry Represents an ellipse.

ID2D1Factory Creates Direct2D resources.

ID2D1Factory1 Creates Direct2D resources.

ID2D1Factory2 Creates Direct2D resources.

ID2D1Factory3 Creates Direct2D resources. This interface also enables the


creation of ID2D1Device2 objects.

ID2D1Factory4 Creates Direct2D resources. This interface also enables the


creation of ID2D1Device3 objects.

ID2D1Factory5 Creates Direct2D resources. This interface also enables the


creation of ID2D1Device4 objects.

ID2D1Factory6 Creates Direct2D resources. This interface also enables the


creation of ID2D1Device5 objects.
T IT L E DESC RIP T IO N

ID2D1Factory7 Creates Direct2D resources. This interface performs all the


same functions as the ID2D1Factory6 interface, plus it enables
the creation of ID2D1Device6 objects.

ID2D1GdiInteropRenderTarget Provides access to an device context that can accept GDI


drawing commands.

ID2D1GdiMetafile A Direct2D resource that wraps a WMF, EMF, or EMF+


metafile.

ID2D1GdiMetafile1 This interface performs all the same functions as the existing
ID2D1GdiMetafile interface. It also enables accessing the
metafile DPI and bounds.

ID2D1GdiMetafileSink A developer implemented interface that allows a metafile to be


replayed.

ID2D1GdiMetafileSink1 This interface performs all the same functions as the existing
ID2D1GdiMetafileSink interface. It also enables access to
metafile records.

ID2D1Geometry Represents a geometry resource and defines a set of helper


methods for manipulating and measuring geometric shapes.
Interfaces that inherit from ID2D1Geometry define specific
shapes.

ID2D1GeometryGroup Represents a composite geometry, composed of other


ID2D1Geometry objects.

ID2D1GeometryRealization Encapsulates a device- and transform-dependent


representation of a filled or stroked geometry.

ID2D1GeometrySink Describes a geometric path that can contain lines, arcs, cubic
Bezier curves, and quadratic Bezier curves.

ID2D1GradientMesh Represents a device-dependent representation of a gradient


mesh composed of patches. Use the
ID2D1DeviceContext2::CreateGradientMesh method to create
an instance of ID2D1GradientMesh.

ID2D1GradientStopCollection Represents an collection of D2D1_GRADIENT_STOP objects for


linear and radial gradient brushes.

ID2D1GradientStopCollection1 Represents a collection of D2D1_GRADIENT_STOP objects for


linear and radial gradient brushes. It provides get methods for
all the new parameters added to the gradient stop collection.

ID2D1HwndRenderTarget Renders drawing instructions to a window.

ID2D1Image Represents a producer of pixels that can fill an arbitrary 2D


plane.

ID2D1ImageBrush Represents a brush based on an ID2D1Image.


T IT L E DESC RIP T IO N

ID2D1ImageSource Represents a producer of pixels that can fill an arbitrary 2D


plane.

ID2D1ImageSourceFromWic Produces 2D pixel data that has been sourced from WIC.

ID2D1Ink Represents a single continuous stroke of variable-width ink, as


defined by a series of Bezier segments and widths.

ID2D1InkStyle Represents a collection of style properties to be used by


methods like ID2D1DeviceContext2::DrawInkwhen rendering
ink. The ink style defines the nib (pen tip) shape and
transform.

ID2D1Layer Represents the backing store required to render a layer.

ID2D1LinearGradientBrush Paints an area with a linear gradient.

ID2D1LookupTable3D A container for 3D lookup table data that can be passed to


the LookupTable3D effect.

ID2D1Mesh Represents a set of vertices that form a list of triangles.

ID2D1Multithread A locking mechanism from a Direct2D factory that Direct2D


uses to control exclusive resource access in an app that is uses
multiple threads.

ID2D1OffsetTransform Instructs the effect-rendering system to offset an input bitmap


without inserting a rendering pass.

ID2D1PathGeometry Represents a complex shape that may be composed of arcs,


curves, and lines.

ID2D1PathGeometry1 The ID2D1PathGeometry1 interface adds functionality to


ID2D1PathGeometry. In particular, it provides the path
geometry-specific ComputePointAndSegmentAtLength
method.

ID2D1PrintControl Converts Direct2D primitives stored in an ID2D1CommandList


into a fixed page representation. The print sub-system then
consumes the primitives.

ID2D1Properties Represents a set of run-time bindable and discoverable


properties that allow a data-driven application to modify the
state of a Direct2D effect.

ID2D1RadialGradientBrush Paints an area with a radial gradient.

ID2D1RectangleGeometry Describes a two-dimensional rectangle.

ID2D1RenderInfo Describes the render information common to all of the various


transform implementations.
T IT L E DESC RIP T IO N

ID2D1RenderTarget Represents an object that can receive drawing commands.


Interfaces that inherit from ID2D1RenderTarget render the
drawing commands they receive in different ways.

ID2D1Resource Represents a Direct2D drawing resource.

ID2D1ResourceTexture Tracks a transform-created resource texture.

ID2D1RoundedRectangleGeometry Describes a rounded rectangle.

ID2D1SimplifiedGeometrySink Describes a geometric path that does not contain quadratic


bezier curves or arcs.

ID2D1SolidColorBrush Paints an area with a solid color.

ID2D1SourceTransform Represents a CPU-based rasterization stage in the transform


pipeline graph.

ID2D1SpriteBatch Represents a single group of sprites with their associated


drawing properties.

ID2D1StrokeStyle Describes the caps, miter limit, line join, and dash information
for a stroke.

ID2D1StrokeStyle1 Describes the caps, miter limit, line join, and dash information
for a stroke.

ID2D1SvgAttribute Interface describing an SVG attribute.

ID2D1SvgDocument Represents an SVG document.

ID2D1SvgElement Interface for all SVG elements.

ID2D1SvgGlyphStyle This object supplies the values for context-fill, context-stroke,


and context-value that are used when rendering SVG glyphs.

ID2D1SvgPaint Interface describing an SVG fill or stroke value.

ID2D1SvgPathData Interface describing SVG path data. Path data can be set as
the 'd' attribute on a 'path' element.

ID2D1SvgPointCollection Interface describing an SVG points value in a polyline or


polygon element.

ID2D1SvgStrokeDashArray Interface describing an SVG stroke-dasharray value.

ID2D1TessellationSink Populates an ID2D1Mesh object with triangles.

ID2D1Transform Represents the base interface for all of the transforms


implemented by the transform author.

ID2D1TransformedGeometry Represents a geometry that has been transformed.


T IT L E DESC RIP T IO N

ID2D1TransformedImageSource Represents an image source which shares resources with an


original image source.

ID2D1TransformGraph Represents a graph of transform nodes.

ID2D1TransformNode Describes a node in a transform topology.

ID2D1VertexBuffer Defines a mappable single-dimensional vertex buffer.

Structures
T IT L E DESC RIP T IO N

D2D_MATRIX_3X2_F Represents a 3-by-2 matrix.

D2D_MATRIX_4X3_F Describes a 4-by-3 floating point matrix.

D2D_MATRIX_4X4_F Describes a 4-by-4 floating point matrix.

D2D_MATRIX_5X4_F Describes a 5-by-4 floating point matrix.

D2D_POINT_2F Represents an x-coordinate and y-coordinate pair, expressed


as floating-point values, in two-dimensional space.

D2D_POINT_2U Represents an x-coordinate and y-coordinate pair, expressed


as an unsigned 32-bit integer value, in two-dimensional space.

D2D_RECT_F Represents a rectangle defined by the coordinates of the


upper-left corner (left, top) and the coordinates of the lower-
right corner (right, bottom).

D2D_RECT_U Represents a rectangle defined by the upper-left corner pair of


coordinates (left,top) and the lower-right corner pair of
coordinates (right, bottom). These coordinates are expressed
as a 32-bit integer values.

D2D_SIZE_F Stores an ordered pair of floating-point values, typically the


width and height of a rectangle.

D2D_SIZE_U Stores an ordered pair of integers, typically the width and


height of a rectangle.

D2D_VECTOR_2F A vector of 2 FLOAT values (x, y).

D2D_VECTOR_3F A vector of 3 FLOAT values (x, y, z).

D2D_VECTOR_4F A vector of 4 FLOAT values (x, y, z, w).

D2D1_ARC_SEGMENT Describes an elliptical arc between two points.

D2D1_BEZIER_SEGMENT Represents a cubic bezier segment drawn between two points.


T IT L E DESC RIP T IO N

D2D1_BITMAP_BRUSH_PROPERTIES Describes the extend modes and the interpolation mode of an


ID2D1BitmapBrush.

D2D1_BITMAP_BRUSH_PROPERTIES1 Describes the extend modes and the interpolation mode of an


ID2D1BitmapBrush.

D2D1_BITMAP_PROPERTIES Describes the pixel format and dpi of a bitmap.

D2D1_BITMAP_PROPERTIES1 This structure allows a ID2D1Bitmap1 to be created with


bitmap options and color context information available.

D2D1_BLEND_DESCRIPTION Defines a blend description to be used in a particular blend


transform.

D2D1_BRUSH_PROPERTIES Describes the opacity and transformation of a brush.

D2D1_CREATION_PROPERTIES Specifies the options with which the Direct2D device, factory,
and device context are created.

D2D1_CUSTOM_VERTEX_BUFFER_PROPERTIES Defines a vertex shader and the input element description to


define the input layout.

D2D1_DRAWING_STATE_DESCRIPTION Describes the drawing state of a render target.

D2D1_DRAWING_STATE_DESCRIPTION1 Describes the drawing state of a device context.

D2D1_EFFECT_INPUT_DESCRIPTION Describes features of an effect.

D2D1_ELLIPSE Contains the center point, x-radius, and y-radius of an ellipse.

D2D1_FACTORY_OPTIONS Contains the debugging level of an ID2D1Factory object.

D2D1_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS Describes compute shader support, which is an option on


D3D10 feature level.

D2D1_FEATURE_DATA_DOUBLES Describes the support for doubles in shaders.

D2D1_GRADIENT_MESH_PATCH Represents a tensor patch with 16 control points, 4 corner


colors, and boundary flags. An ID2D1GradientMesh is made
up of 1 or more gradient mesh patches. Use the
GradientMeshPatch function or the
GradientMeshPatchFromCoonsPatch function to create one.

D2D1_GRADIENT_STOP Contains the position and color of a gradient stop.

D2D1_HWND_RENDER_TARGET_PROPERTIES Contains the HWND, pixel size, and presentation options for
an ID2D1HwndRenderTarget.

D2D1_IMAGE_BRUSH_PROPERTIES Describes image brush features.


T IT L E DESC RIP T IO N

D2D1_INK_BEZIER_SEGMENT Represents a Bezier segment to be used in the creation of an


ID2D1Ink object. This structure differs from
D2D1_BEZIER_SEGMENT in that it is composed of
D2D1_INK_POINTs, which contain a radius in addition to x-
and y-coordinates.

D2D1_INK_POINT Represents a point, radius pair that makes up part of a


D2D1_INK_BEZIER_SEGMENT.

D2D1_INK_STYLE_PROPERTIES Defines the general pen tip shape and the transform used in
an ID2D1InkStyle object.

D2D1_INPUT_DESCRIPTION Describes the options that transforms may set on input


textures.

D2D1_INPUT_ELEMENT_DESC A description of a single element to the vertex layout.

D2D1_LAYER_PARAMETERS Contains the content bounds, mask information, opacity


settings, and other options for a layer resource.

D2D1_LAYER_PARAMETERS1 Contains the content bounds, mask information, opacity


settings, and other options for a layer resource.

D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES Contains the starting point and endpoint of the gradient axis
for an ID2D1LinearGradientBrush.

D2D1_MAPPED_RECT Describes mapped memory from the ID2D1Bitmap1::Map API.

D2D1_PIXEL_FORMAT Contains the data format and alpha mode for a bitmap or
render target.

D2D1_POINT_DESCRIPTION Describes a point on a path geometry.

D2D1_PRINT_CONTROL_PROPERTIES The creation properties for a ID2D1PrintControl object.

D2D1_PROPERTY_BINDING Defines a property binding to a pair of functions which get


and set the corresponding property.

D2D1_QUADRATIC_BEZIER_SEGMENT Contains the control point and end point for a quadratic
Bezier segment.

D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES Contains the gradient origin offset and the size and position of
the gradient ellipse for an ID2D1RadialGradientBrush.

D2D1_RENDER_TARGET_PROPERTIES Contains rendering options (hardware or software), pixel


format, DPI information, remoting options, and Direct3D
support requirements for a render target.

D2D1_RENDERING_CONTROLS Describes limitations to be applied to an imaging effect


renderer.

D2D1_RESOURCE_TEXTURE_PROPERTIES Defines a resource texture when the original resource texture


is created.
T IT L E DESC RIP T IO N

D2D1_ROUNDED_RECT Contains the dimensions and corner radii of a rounded


rectangle.

D2D1_SIMPLE_COLOR_PROFILE Simple description of a color space.

D2D1_STROKE_STYLE_PROPERTIES Describes the stroke that outlines a shape.

D2D1_STROKE_STYLE_PROPERTIES1 Describes the stroke that outlines a shape.

D2D1_SVG_LENGTH Represents an SVG length.

D2D1_SVG_PRESERVE_ASPECT_RATIO Represents all SVG preserveAspectRatio settings.

D2D1_SVG_VIEWBOX Represents an SVG viewBox.

D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES Properties of a transformed image source.

D2D1_TRIANGLE Contains the three vertices that describe a triangle.

D2D1_VERTEX_BUFFER_PROPERTIES Defines the properties of a vertex buffer that are standard for
all vertex shader definitions.

D2D1_VERTEX_RANGE Defines a range of vertices that are used when rendering less
than the full contents of a vertex buffer.

TypeTraits Contains implementations of Point, Size, and Rect that store


their data using the specified type.

TypeTraits Contains implementations of Point, Size, and Rect that store


their data using the specified type.
Direct3D 10 Graphics
2/7/2020 • 27 minutes to read • Edit Online

Overview of the Direct3D 10 Graphics technology.


To develop Direct3D 10 Graphics, you need these headers:
d3d10.h
d3d10_1.h
d3d10_1shader.h
d3d10effect.h
d3d10misc.h
d3d10sdklayers.h
d3d10shader.h
For programming guidance for this technology, see:
Direct3D 10 Graphics

Enumerations
T IT L E DESC RIP T IO N

D3D10_ASYNC_GETDATA_FLAG Optional flags that control the behavior of


ID3D10Asynchronous::GetData.

D3D10_BIND_FLAG Identifies how to bind a resource to the pipeline.

D3D10_BLEND Blend options. A blend option identifies the data source and
an optional pre-blend operation.

D3D10_BLEND_OP RGB or alpha blending operation.

D3D10_CLEAR_FLAG Specifies the parts of the depth stencil to clear. Usually used
with ID3D10Device::ClearDepthStencilView.

D3D10_COLOR_WRITE_ENABLE Identify which components of each pixel of a render target are


writable during blending.

D3D10_COMPARISON_FUNC Comparison options.

D3D10_COUNTER Performance counter types.

D3D10_COUNTER_TYPE Data type of a performance counter.

D3D10_CPU_ACCESS_FLAG Specifies the types of CPU access allowed for a resource.

D3D10_CREATE_DEVICE_FLAG Device creation flags.

D3D10_CULL_MODE Indicates triangles facing a particular direction are not drawn.


T IT L E DESC RIP T IO N

D3D10_DEPTH_WRITE_MASK Identify the portion of a depth-stencil buffer for writing depth


data.

D3D10_DEVICE_STATE_TYPES Effect device-state types.

D3D10_DRIVER_TYPE The device-driver type.

D3D10_DSV_DIMENSION Specifies how to access a resource used in a depth-stencil view.

D3D10_FEATURE_LEVEL1 The version of hardware acceleration requested.

D3D10_FILL_MODE Determines the fill mode to use when rendering triangles.

D3D10_FILTER Filtering options during texture sampling.

D3D10_FILTER_TYPE Types of magnification or minification sampler filters.

D3D10_FORMAT_SUPPORT Which resources are supported for a given format and given
device (see ID3D10Device::CheckFormatSupport).

D3D10_INPUT_CLASSIFICATION Type of data contained in an input slot.

D3D10_MAP Identifies a resource to be accessed for reading and writing by


the CPU. Applications may combine one or more of these
flags.

D3D10_MAP_FLAG Specifies how the CPU should respond when Map is called on
a resource being used by the GPU.

D3D10_MESSAGE_CATEGORY Categories of debug messages.

D3D10_MESSAGE_ID Debug messages for setting up an info-queue filter (see


D3D10_INFO_QUEUE_FILTER); use these messages to allow or
deny message categories to pass through the storage and
retrieval filters.

D3D10_MESSAGE_SEVERITY Debug message severity levels for an information queue.

D3D10_QUERY Query types.

D3D10_QUERY_MISC_FLAG Flags that describe miscellaneous query behavior.

D3D10_RAISE_FLAG Option(s) for raising an error to a non-continuable exception.

D3D10_RESOURCE_DIMENSION Identifies the type of resource being used.

D3D10_RESOURCE_MISC_FLAG Identifies other, less common options for resources.

D3D10_RTV_DIMENSION Specifies how to access a resource used in a render-target


view.

D3D10_SHADER_DEBUG_REGTYPE Shader register types.


T IT L E DESC RIP T IO N

D3D10_SHADER_DEBUG_SCOPETYPE Scope types.

D3D10_SHADER_DEBUG_VARTYPE Distinguishes variables from functions in a scope.

D3D10_STENCIL_OP The stencil operations that can be performed during depth-


stencil testing.

D3D10_TEXTURE_ADDRESS_MODE Identify a technique for resolving texture coordinates that are


outside of the boundaries of a texture.

D3D10_TEXTURECUBE_FACE The different faces of a cube texture.

D3D10_USAGE Identifies expected resource use during rendering. The usage


directly reflects whether a resource is accessible by the CPU
and/or the GPU.

Functions
T IT L E DESC RIP T IO N

AddApplicationMessage Add a user-defined message to the message queue and send


that message to debug output.

AddMessage Add a Direct3D 10 debug message to the message queue and


send that message to debug output.

AddRetrievalFilterEntries Add storage filters to the top of the retrieval-filter stack.

AddStorageFilterEntries Add storage filters to the top of the storage-filter stack.

Apply Set the state contained in a pass to the device.

Apply Apply the state block to the current device state.

AsBlend Get a effect-blend variable.

AsConstantBuffer Get a constant buffer.

AsDepthStencil Get a depth-stencil variable.

AsDepthStencilView Get a depth-stencil-view variable.

AsEffect Get the effect that created the effect pool.

AsMatrix Get a matrix variable.

AsRasterizer Get a rasterizer variable.

AsRenderTargetView Get a render-target-view variable.

AsSampler Get a sampler variable.


T IT L E DESC RIP T IO N

AsScalar Get a scalar variable.

AsShader Get a shader variable.

AsShaderResource Get a shader-resource variable.

AsString Get a string variable.

AsVector Get a vector variable.

Begin Starts the collection of GPU data.

Capture Capture the current value of states that are included in a


stateblock.

CheckCounter Get the type, name, units of measure, and a description of an


existing counter.

CheckCounterInfo Get a counter's information.

CheckFormatSupport Get the support of a given format on the installed video


device.

CheckMultisampleQualityLevels Get the number of quality levels available during


multisampling.

ClearDepthStencilView Clears the depth-stencil resource.

ClearRenderTargetView Set all the elements in a render target to one value.

ClearRetrievalFilter Remove a retrieval filter from the top of the retrieval-filter


stack.

ClearState Restore all default device settings; return the device to the
state it was in when it was created.

ClearStorageFilter Remove a storage filter from the top of the storage-filter


stack.

ClearStoredMessages Clear all messages from the message queue.

ComputeStateBlockMask Generate a mask for allowing/preventing state changes.

ComputeStateBlockMask Compute a state-block mask to allow/prevent state changes.

CopyResource Copy the entire contents of the source resource to the


destination resource using the GPU.

CopySubresourceRegion Copy a region from a source resource to a destination


resource.
T IT L E DESC RIP T IO N

CreateBlendState Create a blend-state object that encapsules blend state for the
output-merger stage.

CreateBlendState1 Create a blend-state object that encapsules blend state for the
output-merger stage.

CreateBuffer Create a buffer (vertex buffer, index buffer, or shader-constant


buffer).

CreateCounter Create a counter object for measuring GPU performance.

CreateDepthStencilState Create a depth-stencil state object that encapsulates depth-


stencil test information for the output-merger stage.

CreateDepthStencilView Create a depth-stencil view for accessing resource data.

CreateGeometryShader Create a geometry shader.

CreateGeometryShaderWithStreamOutput Creates a geometry shader that can write to streaming output


buffers.

CreateInputLayout Create an input-layout object to describe the input-buffer data


for the input-assembler stage.

CreatePixelShader Create a pixel shader.

CreatePredicate Creates a predicate.

CreateQuery This interface encapsulates methods for querying information


from the GPU.

CreateRasterizerState Create a rasterizer state object that tells the rasterizer stage
how to behave.

CreateRenderTargetView Create a render-target view for accessing resource data.

CreateSamplerState Create a sampler-state object that encapsulates sampling


information for a texture.

CreateShaderResourceView Create a shader-resource view for accessing data in a resource.

CreateShaderResourceView1 Create a shader-resource view for accessing data in a resource.

CreateTexture1D Create an array of 1D textures (see Texture1D).

CreateTexture2D Create an array of 2D textures (see Texture2D).

CreateTexture3D Create a single 3D texture (see Texture3D).

CreateVertexShader Create a vertex-shader object from a compiled shader.

D3D10CalcSubresource Calculate a subresource index for a texture.


T IT L E DESC RIP T IO N

D3D10CompileEffectFromMemory Compile an effect.

D3D10CompileShader Compile an HLSL shader.

D3D10CreateBlob Create a buffer.Note Instead of using this function, we


recommend that you use the D3DCreateBlob API.

D3D10CreateDevice Create a Direct3D 10.0 device that represents the display


adapter.

D3D10CreateDevice1 Create a Direct3D 10.1 device that represents the display


adapter.

D3D10CreateDeviceAndSwapChain Create a Direct3D 10.0 device and a swap chain.

D3D10CreateDeviceAndSwapChain1 Create a Direct3D 10.1 device and a swap chain.

D3D10CreateEffectFromMemory Creates an ID3D10Effect from a buffer containing a compiled


effect.

D3D10CreateEffectPoolFromMemory Create an effect pool (or shared memory location), to enable


sharing variables between effects.

D3D10CreateStateBlock Create a state block.

D3D10DisassembleEffect This function -- which disassembles a compiled effect into a


text string that contains assembly instructions and register
assignments -- has been deprecated. Instead, use
D3DDisassemble10Effect.

D3D10DisassembleShader This function -- which disassembles a compiled shader into a


text string that contains assembly instructions and register
assignments -- has been deprecated. Instead, use
D3DDisassemble.

D3D10GetGeometryShaderProfile Get the geometry shader profile best suited to a given device.

D3D10GetInputAndOutputSignatureBlob Get a buffer that contains shader signatures.

D3D10GetInputSignatureBlob Get a buffer that contains shader-input signatures.

D3D10GetOutputSignatureBlob Get a buffer that contains shader-output signatures.

D3D10GetPixelShaderProfile Get the pixel shader profile best suited to a given device.

D3D10GetShaderDebugInfo Get shader debug info. Debug info is generated by


D3D10CompileShader and is embedded in the body of the
shader.

D3D10GetVertexShaderProfile Get the vertex shader profile best suited to a given device.

D3D10PreprocessShader Generate a shader-text string that contains the shader tokens


that would be found in a compiled shader.
T IT L E DESC RIP T IO N

D3D10ReflectShader This function -- which creates a shader-reflection object for


retrieving information about a compiled shader -- has been
deprecated. Instead, use D3DReflect.

D3D10StateBlockMaskDifference Combine two state-block masks with a bitwise XOR.

D3D10StateBlockMaskDisableAll Disable all state capturing with a state-block mask.

D3D10StateBlockMaskDisableCapture Disable state capturing with a state-block mask.

D3D10StateBlockMaskEnableAll Enable a state-block mask to capture and apply all state


variables.

D3D10StateBlockMaskEnableCapture Enable a range of state values in a state block mask.

D3D10StateBlockMaskGetSetting Get an element in a state-block mask; determine if an element


is allowed by the mask for capturing and applying.

D3D10StateBlockMaskIntersect Combine two state-block masks with a bitwise AND.

D3D10StateBlockMaskUnion Combine two state-block masks with a bitwise OR.

Draw Draw non-indexed, non-instanced primitives.

DrawAuto Draw geometry of an unknown size that was created by the


geometry shader stage. See remarks.

DrawIndexed Draw indexed, non-instanced primitives.

DrawIndexedInstanced Draw indexed, instanced primitives.

DrawInstanced Draw non-indexed, instanced primitives.

End Ends the collection of GPU data.

Enter Enter a device's critical section.

Flush Send queued-up commands in the command buffer to the


GPU.

GenerateMips Generates mipmaps for the given shader resource.

GetAnnotationByIndex Get an annotation by index.

GetAnnotationByIndex Get an annotation by index.

GetAnnotationByIndex Get an annotation by index.

GetAnnotationByName Get an annotation by name.

GetAnnotationByName Get an annotation by name.


T IT L E DESC RIP T IO N

GetAnnotationByName Get an annotation by name.

GetBackingStore Get a pointer to a blend-state variable.

GetBackingStore Get a pointer to a variable that contains depth-stencil state.

GetBackingStore Get a pointer to a variable that contains rasteriser state.

GetBackingStore Get a pointer to a variable that contains sampler state.

GetBitwiseInstructionCount Gets the number of bitwise instructions.

GetBlendState Get a pointer to a blend-state interface.

GetBool Get a boolean variable.

GetBoolArray Get an array of boolean variables.

GetBoolVector Get a four-component vector that contains boolean data.

GetBoolVectorArray Get an array of four-component vectors that contain boolean


data.

GetBreakOnCategory Get a message category to break on when a message with


that category passes through the storage filter.

GetBreakOnID Get a message identifier to break on when a message with


that identifier passes through the storage filter.

GetBreakOnSeverity Get a message severity level to break on when a message with


that severity level passes through the storage filter.

GetConstantBuffer Get a constant-buffer.

GetConstantBufferByIndex Get a constant buffer by index.

GetConstantBufferByIndex Get a constant buffer by index.

GetConstantBufferByName Get a constant buffer by name.

GetConstantBufferByName Get a constant buffer by name.

GetConversionInstructionCount Gets the number of conversion instructions used in a shader.

GetCreationFlags Get the flags used during the call to create the device with
D3D10CreateDevice.

GetData Get data from the GPU asynchronously.

GetDataSize Get the size of the data (in bytes) that is output when calling
ID3D10Asynchronous::GetData.
T IT L E DESC RIP T IO N

GetDepthStencil Get a depth-stencil-view resource.

GetDepthStencilArray Get an array of depth-stencil-view resources.

GetDepthStencilState Get a pointer to a depth-stencil interface.

GetDesc Get the blend state.

GetDesc Get the properties of a buffer resource.

GetDesc Get a counter description.

GetDesc Get the depth-stencil state.

GetDesc Get the depth-stencil view.

GetDesc Get a query description.

GetDesc Get the properties of a rasterizer-state object.

GetDesc Get the properties of a render target view.

GetDesc Get the sampler state.

GetDesc Get the shader resource view's description.

GetDesc Get the properties of the texture resource.

GetDesc Get the properties of the texture resource.

GetDesc Get the properties of the texture resource.

GetDesc Get a shader description.

GetDesc Get a constant-buffer description.

GetDesc Get the description of a shader-reflection-variable type.

GetDesc Get a shader-variable description.

GetDesc Get an effect description.

GetDesc Get a pass description.

GetDesc Get a technique description.

GetDesc Get an effect-type description.

GetDesc Get a description.


T IT L E DESC RIP T IO N

GetDesc1 Get the blend state.

GetDesc1 Get the shader resource view's description.

GetDevice Get a pointer to the device that created this interface.

GetDevice Get the device that created the effect.

GetDevice Get the device.

GetDeviceRemovedReason Get the reason why the device was removed.

GetElement Get an array element.

GetEvictionPriority Get the eviction priority of a resource.

GetExceptionMode Get the exception-mode flags.

GetFeatureLevel Gets the feature level of the hardware device.

GetFeatureMask Get a bitfield of flags that indicates which debug features are
on or off.

GetFloat Get a floating-point variable.

GetFloatArray Get an array of floating-point variables.

GetFloatVector Get a four-component vector that contains floating-point


data.

GetFloatVectorArray Get an array of four-component vectors that contain floating-


point data.

GetGeometryShader Get a geometry shader.

GetGeometryShaderDesc Get a geometry-shader description.

GetGSInputPrimitive Gets the geometry-shader input-primitive description.

GetInputParameterDesc Get an input-parameter description for a shader.

GetInputSignatureElementDesc Get an input-signature description.

GetInt Get an integer variable.

GetIntArray Get an array of integer variables.

GetIntVector Get a four-component vector that contains integer data.

GetIntVectorArray Get an array of four-component vectors that contain integer


data.
T IT L E DESC RIP T IO N

GetMatrix Get a matrix.

GetMatrixArray Get an array of matrices.

GetMatrixTranspose Transpose and get a floating-point matrix.

GetMatrixTransposeArray Transpose and get an array of floating-point matrices.

GetMemberByIndex Get a structure member by index.

GetMemberByName Get a structure member by name.

GetMemberBySemantic Get a structure member by semantic.

GetMemberName Get the name of a member.

GetMemberSemantic Get the semantic attached to a member.

GetMemberTypeByIndex Get a shader-reflection-variable type by index.

GetMemberTypeByIndex Get a member type by index.

GetMemberTypeByName Get a shader-reflection-variable type by name.

GetMemberTypeByName Get an member type by name.

GetMemberTypeBySemantic Get a member type by semantic.

GetMemberTypeName Get a shader-reflection-variable type.

GetMessage Get a message from the message queue.

GetMessageCountLimit Get the maximum number of messages that can be added to


the message queue.

GetMovcInstructionCount Gets the number of Movc instructions.

GetMovInstructionCount Gets the number of Mov instructions.

GetMultithreadProtected Find out if multithreading is turned on or not.

GetMuteDebugOutput Get a boolean that turns the debug output on or off.

GetNumMessagesAllowedByStorageFilter Get the number of messages that were allowed to pass


through a storage filter.

GetNumMessagesDeniedByStorageFilter Get the number of messages that were denied passage


through a storage filter.

GetNumMessagesDiscardedByMessageCountLimit Get the number of messages that were discarded due to the
message count limit.
T IT L E DESC RIP T IO N

GetNumStoredMessages Get the number of messages currently stored in the message


queue.

GetNumStoredMessagesAllowedByRetrievalFilter Get the number of messages that are able to pass through a
retrieval filter.

GetOutputParameterDesc Get an output-parameter description for a shader.

GetOutputSignatureElementDesc Get an output-signature description.

GetParentConstantBuffer Get a constant buffer.

GetPassByIndex Get a pass by index.

GetPassByName Get a pass by name.

GetPixelShader Get a pixel shader.

GetPixelShaderDesc Get a pixel-shader description.

GetPredication Get the rendering predicate state.

GetPresentPerRenderOpDelay Get the number of milliseconds to sleep after Present is called.

GetPrivateData Get data from a device that is associated with a guid.

GetPrivateData Get application-defined data from a device child.

GetRasterizerState Get a pointer to a rasterizer interface.

GetRawValue Get data.

GetRenderTarget Get a render-target.

GetRenderTargetArray Get an array of render-targets.

GetResource Get the resource that is accessed through this view.

GetResource Get a shader resource.

GetResourceArray Get an array of shader resources.

GetResourceBindingDesc Get a description of the resources bound to a shader.

GetResourceBindingDescByName Gets a resource binding description by name.

GetRetrievalFilter Get the retrieval filter at the top of the retrieval-filter stack.

GetRetrievalFilterStackSize Get the size of the retrieval-filter stack in bytes.


T IT L E DESC RIP T IO N

GetSampler Get a pointer to a sampler interface.

GetShaderDesc Get a shader description.

GetStorageFilter Get the storage filter at the top of the storage-filter stack.

GetStorageFilterStackSize Get the size of the storage-filter stack in bytes.

GetString Get the string.

GetStringArray Get an array of strings.

GetSwapChain Get the swap chain that the runtime will use for automatically
calling Present.

GetTechniqueByIndex Get a technique by index.

GetTechniqueByName Get a technique by name.

GetTextFilterSize This method is not implemented.

GetTextureBuffer Get a texture-buffer.

GetType Get the type of the resource.

GetType Get a shader-variable type.

GetType Get type information.

GetUseRef Get a boolean value that indicates the type of device being
used.

GetVariableByIndex Get a shader-reflection variable by index.

GetVariableByIndex Get a variable by index.

GetVariableByName Get a shader-reflection variable by name.

GetVariableByName Get a variable by name.

GetVariableByName Gets a variable by name.

GetVariableBySemantic Get a variable by semantic.

GetVertexShader Get a vertex shader.

GetVertexShaderDesc Get a vertex-shader description.

GSGetConstantBuffers Get the constant buffers used by the geometry shader


pipeline stage.
T IT L E DESC RIP T IO N

GSGetSamplers Get an array of sampler states from the geometry shader


pipeline stage.

GSGetShader Get the geometry shader currently set on the device.

GSGetShaderResources Get the geometry shader resources.

GSSetConstantBuffers Set the constant buffers used by the geometry shader pipeline
stage.

GSSetSamplers Set an array of sampler states to the geometry shader pipeline


stage.

GSSetShader Set a geometry shader to the device.

GSSetShaderResources Bind an array of shader resources to the geometry shader


stage.

IAGetIndexBuffer Get a pointer to the index buffer that is bound to the input-
assembler stage.

IAGetInputLayout Get a pointer to the input-layout object that is bound to the


input-assembler stage.

IAGetPrimitiveTopology Get information about the primitive type, and data order that
describes input data for the input assembler stage.

IAGetVertexBuffers Get the vertex buffers bound to the input-assembler stage.

IASetIndexBuffer Bind an index buffer to the input-assembler stage.

IASetInputLayout Bind an input-layout object to the input-assembler stage.

IASetPrimitiveTopology Bind information about the primitive type, and data order that
describes input data for the input assembler stage.

IASetVertexBuffers Bind an array of vertex buffers to the input-assembler stage.

IsLevel9Shader Indicates whether a shader was compiled in Direct3D 10 on


Direct3D 9 mode.

IsOptimized Test an effect to see if the reflection metadata has been


removed from memory.

IsPool Test an effect to see if it is part of a memory pool.

IsSampleFrequencyShader Indicates whether a pixel shader is intended to run a pixel


frequency or sample frequency.

IsValid Test an effect to see if it contains valid syntax.

IsValid Test a pass to see if it contains valid syntax.


T IT L E DESC RIP T IO N

IsValid Test a technique to see if it contains valid syntax.

IsValid Tests that the effect type is valid.

IsValid Compare the data type with the data stored.

Leave Leave a device's critical section.

Map Get a pointer to the data contained in the resource and deny
GPU access to the resource.

Map Get a pointer to the data contained in a subresource, and


deny the GPU access to that subresource.

Map Get a pointer to the data contained in a subresource, and


deny GPU access to that subresource.

Map Get a pointer to the data contained in a subresource, and


deny GPU access to that subresource.

OMGetBlendState Get the blend state of the output-merger stage.

OMGetDepthStencilState Gets the depth-stencil state of the output-merger stage.

OMGetRenderTargets Get pointers to the render targets and the depth-stencil buffer
that are available to the output-merger stage.

OMSetBlendState Set the blend state of the output-merger stage.

OMSetDepthStencilState Sets the depth-stencil state of the output-merger stage.

OMSetRenderTargets Bind one or more render targets and the depth-stencil buffer
to the output-merger stage.

OpenSharedResource Give a device access to a shared resource created on a


different Direct3d device.

Optimize Minimize the amount of memory required for an effect.

PopRetrievalFilter Pop a retrieval filter from the top of the retrieval-filter stack.

PopStorageFilter Pop a storage filter from the top of the storage-filter stack.

PSGetConstantBuffers Get the constant buffers used by the pixel shader pipeline
stage.

PSGetSamplers Get an array of sampler states from the pixel shader pipeline
stage.

PSGetShader Get the pixel shader currently set on the device.

PSGetShaderResources Get the pixel shader resources.


T IT L E DESC RIP T IO N

PSSetConstantBuffers Set the constant buffers used by the pixel shader pipeline
stage.

PSSetSamplers Set an array of sampler states to the pixel shader pipeline


stage.

PSSetShader Sets a pixel shader to the device.

PSSetShaderResources Bind an array of shader resources to the pixel shader stage.

PushCopyOfRetrievalFilter Push a copy of retrieval filter currently on the top of the


retrieval-filter stack onto the retrieval-filter stack.

PushCopyOfStorageFilter Push a copy of storage filter currently on the top of the


storage-filter stack onto the storage-filter stack.

PushEmptyRetrievalFilter Push an empty retrieval filter onto the retrieval-filter stack.

PushEmptyStorageFilter Push an empty storage filter onto the storage-filter stack.

PushRetrievalFilter Push a retrieval filter onto the retrieval-filter stack.

PushStorageFilter Push a storage filter onto the storage-filter stack.

ReleaseAllDeviceObjects Release all references to device objects.

ResolveSubresource Copy a multisampled resource into a non-multisampled


resource. This API is most useful when re-using the resulting
rendertarget of one render pass as an input to a second
render pass.

RSGetScissorRects Get the array of scissor rectangles bound to the rasterizer


stage.

RSGetState Get the rasterizer state from the rasterizer stage of the
pipeline.

RSGetViewports Get the array of viewports bound to the rasterizer stage

RSSetScissorRects Bind an array of scissor rectangles to the rasterizer stage.

RSSetState Set the rasterizer state for the rasterizer stage of the pipeline.

RSSetViewports Bind an array of viewports to the rasterizer stage of the


pipeline.

SetBool Set a boolean variable.

SetBoolArray Set an array of boolean variables.

SetBoolVector Set a four-component vector that contains boolean data.


T IT L E DESC RIP T IO N

SetBoolVectorArray Set an array of four-component vectors that contain boolean


data.

SetBreakOnCategory Set a message category to break on when a message with


that category passes through the storage filter.

SetBreakOnID Set a message identifier to break on when a message with that


identifier passes through the storage filter.

SetBreakOnSeverity Set a message severity level to break on when a message with


that severity level passes through the storage filter.

SetConstantBuffer Set a constant-buffer.

SetDepthStencil Set a depth-stencil-view resource.

SetDepthStencilArray Set an array of depth-stencil-view resources.

SetEvictionPriority Set the eviction priority of a resource.

SetExceptionMode Get the exception-mode flags.

SetFeatureMask Set a bitfield of flags that will turn debug features on and off.

SetFloat Set a floating-point variable.

SetFloatArray Set an array of floating-point variables.

SetFloatVector Set a four-component vector that contains floating-point data.

SetFloatVectorArray Set an array of four-component vectors that contain floating-


point data.

SetInt Set an integer variable.

SetIntArray Set an array of integer variables.

SetIntVector Set a four-component vector that contains integer data.

SetIntVectorArray Set an array of four-component vectors that contain integer


data.

SetMatrix Set a floating-point matrix.

SetMatrixArray Set an array of floating-point matrices.

SetMatrixTranspose Transpose and set a floating-point matrix.

SetMatrixTransposeArray Transpose and set an array of floating-point matrices.


T IT L E DESC RIP T IO N

SetMessageCountLimit Set the maximum number of messages that can be added to


the message queue.

SetMultithreadProtected Turn multithreading on or off.

SetMuteDebugOutput Set a boolean that turns the debug output on or off.

SetPredication Set a rendering predicate.

SetPresentPerRenderOpDelay Set the number of milliseconds to sleep after Present is called.

SetPrivateData Set data to a device and associate that data with a guid.

SetPrivateData Set application-defined data to a device child and associate


that data with an application-defined guid.

SetPrivateDataInterface Associate an IUnknown-derived interface with this device and


associate that interface with an application-defined guid.

SetPrivateDataInterface Associate an IUnknown-derived interface with this device child


and associate that interface with an application-defined guid.

SetRawValue Set data.

SetRenderTarget Set a render-target.

SetRenderTargetArray Set an array of render-targets.

SetResource Set a shader resource.

SetResourceArray Set an array of shader resources.

SetSwapChain Set a swap chain that the runtime will use for automatically
calling Present.

SetTextFilterSize This method is not implemented.

SetTextureBuffer Set a texture-buffer.

SetUseRef Switch between a hardware and a software device.

SOGetTargets Get the target output buffers for the StreamOutput stage of
the pipeline.

SOSetTargets Set the target output buffers for the StreamOutput stage,
which enables/disables the pipeline to stream-out data.

Unmap Invalidate the pointer to the resource retrieved by


ID3D10Buffer::Map and reenable GPU access to the resource.
T IT L E DESC RIP T IO N

Unmap Invalidate the pointer to a resource that was retrieved by


ID3D10Texture1D::Map, and re-enable the GPU's access to
that resource.

Unmap Invalidate the pointer to the resource that was retrieved by


ID3D10Texture2D::Map, and re-enable GPU access to the
resource.

Unmap Invalidate the pointer to the resource retrieved by


ID3D10Texture3D::Map, and re-enable the GPU's access to the
resource.

UpdateSubresource The CPU copies data from memory to a subresource created


in non-mappable memory. See remarks.

Validate Check the validity of pipeline state.

VSGetConstantBuffers Get the constant buffers used by the vertex shader pipeline
stage.

VSGetSamplers Get an array of sampler states from the vertex shader pipeline
stage.

VSGetShader Get the vertex shader currently set on the device.

VSGetShaderResources Get the vertex shader resources.

VSSetConstantBuffers Set the constant buffers used by the vertex shader pipeline
stage.

VSSetSamplers Set an array of sampler states to the vertex shader pipeline


stage.

VSSetShader Set a vertex shader to the device.

VSSetShaderResources Bind an array of shader resources to the vertex shader stage.

Interfaces
T IT L E DESC RIP T IO N

ID3D10Asynchronous This interface encapsulates methods for retrieving data from


the GPU asynchronously.

ID3D10BlendState This blend-state interface accesses blending state for a


Direct3D 10.0 device for the output-merger stage.

ID3D10BlendState1 This blend-state interface accesses blending state for a


Direct3D 10.1 device for the output-merger stage.
T IT L E DESC RIP T IO N

ID3D10Buffer A buffer interface accesses a buffer resource, which is


unstructured memory. Buffers typically store vertex or index
data.

ID3D10Counter This interface encapsulates methods for measuring GPU


performance.

ID3D10Debug A debug interface controls debug settings, validates pipeline


state and can only be used if the debug layer is turned on.

ID3D10DepthStencilState A depth-stencil-state interface accesses depth-stencil state


which sets up the depth-stencil test for the output-merger
stage.

ID3D10DepthStencilView A depth-stencil-view interface accesses a texture resource


during depth-stencil testing.

ID3D10Device The device interface represents a virtual adapter for Direct3D


10.0; it is used to perform rendering and create Direct3D
resources.

ID3D10Device1 The device interface represents a virtual adapter for Direct3D


10.1; it is used to perform rendering and create Direct3D
resources.

ID3D10DeviceChild A device-child interface accesses data used by a device.

ID3D10Effect An ID3D10Effect interface manages a set of state objects,


resources, and shaders for implementing a rendering effect.

ID3D10EffectBlendVariable The blend-variable interface accesses blend state.

ID3D10EffectConstantBuffer A constant-buffer interface accesses constant buffers or


texture buffers.

ID3D10EffectDepthStencilVariable A depth-stencil-variable interface accesses depth-stencil state.

ID3D10EffectDepthStencilViewVariable A depth-stencil-view-variable interface accesses a depth-


stencil view.

ID3D10EffectMatrixVariable A matrix-variable interface accesses a matrix.

ID3D10EffectPass A pass interface encapsulates state assignments within a


technique.

ID3D10EffectPool A pool interface represents a common memory space (or pool)


for sharing variables between effects.

ID3D10EffectRasterizerVariable A rasterizer-variable interface accesses rasterizer state.

ID3D10EffectRenderTargetViewVariable A render-target-view interface accesses a render target.

ID3D10EffectSamplerVariable A sampler interface accesses sampler state.


T IT L E DESC RIP T IO N

ID3D10EffectScalarVariable An effect-scalar-variable interface accesses scalar values.

ID3D10EffectShaderResourceVariable A shader-resource interface accesses a shader resource.

ID3D10EffectShaderVariable A shader-variable interface accesses a shader variable.

ID3D10EffectStringVariable A string-variable interface accesses a string variable.

ID3D10EffectTechnique An ID3D10EffectTechnique interface is a collection of passes.

ID3D10EffectType The ID3D10EffectType interface accesses effect variables by


type.

ID3D10EffectVariable The ID3D10EffectVariable interface is the base class for all


effect variables.

ID3D10EffectVectorVariable A vector-variable interface accesses a four-component vector.

ID3D10GeometryShader A geometry-shader interface manages an executable program


(a geometry shader) that controls the geometry-shader stage.

ID3D10InfoQueue An information-queue interface stores, retrieves, and filters


debug messages. The queue consists of a message queue, an
optional storage filter stack, and a optional retrieval filter
stack.

ID3D10InputLayout An input-layout interface accesses the input data for the


input-assembler stage.

ID3D10Multithread A multithread interface accesses multithread settings and can


only be used if the thread-safe layer is turned on.

ID3D10PixelShader A pixel-shader interface manages an executable program (a


pixel shader) that controls the pixel-shader stage.

ID3D10Predicate A predicate interface determines whether geometry should be


processed depending on the results of a previous draw call.

ID3D10Query A query interface queries information from the GPU.

ID3D10RasterizerState A rasterizer-state interface accesses rasterizer state for the


rasterizer stage.

ID3D10RenderTargetView A render-target-view interface identifies the render-target


subresources that can be accessed during rendering.

ID3D10Resource A resource interface provides common actions on all


resources.

ID3D10SamplerState A sampler-state interface accesses sampler state for a texture.

ID3D10ShaderReflection A shader-reflection interface accesses shader information.


T IT L E DESC RIP T IO N

ID3D10ShaderReflection1 A shader-reflection interface accesses shader information.

ID3D10ShaderReflectionConstantBuffer This shader-reflection interface provides access to a constant


buffer.

ID3D10ShaderReflectionType This shader-reflection interface provides access to variable


type.

ID3D10ShaderReflectionVariable This shader-reflection interface provides access to a variable.

ID3D10ShaderResourceView A shader-resource-view interface specifies the subresources a


shader can access during rendering. Examples of shader
resources include a constant buffer, a texture buffer, a texture
or a sampler.

ID3D10ShaderResourceView1 A shader-resource-view interface specifies the subresources a


shader can access during rendering. Examples of shader
resources include a constant buffer, a texture buffer, a texture
or a sampler.

ID3D10StateBlock A state-block interface encapsulates render states.

ID3D10SwitchToRef A switch-to-reference interface (see the switch-to-reference


layer) enables an application to switch between a hardware
and software device.

ID3D10Texture1D A 1D texture interface accesses texel data, which is structured


memory.

ID3D10Texture2D A 2D texture interface manages texel data, which is structured


memory.

ID3D10Texture3D A 3D texture interface accesses texel data, which is structured


memory.

ID3D10VertexShader A vertex-shader interface manages an executable program (a


vertex shader) that controls the vertex-shader stage.

ID3D10View A view interface specifies the parts of a resource the pipeline


can access during rendering (see view).

Structures
T IT L E DESC RIP T IO N

CD3D10_BUFFER_DESC Describes a buffer resource.

CD3D10_TEXTURE1D_DESC Describes a 1D texture.

CD3D10_TEXTURE2D_DESC Describes a 2D texture.

CD3D10_TEXTURE3D_DESC Describes a 3D texture.


T IT L E DESC RIP T IO N

D3D10_BLEND_DESC Describes the blend state.

D3D10_BLEND_DESC1 Describes the blend state for a Direct3D 10.1 device.

D3D10_BOX Defines a 3D box.

D3D10_BUFFER_DESC Describes a buffer resource.

D3D10_BUFFER_RTV Specifies the elements from a buffer resource to use in a


render-target view.

D3D10_BUFFER_SRV Specifies the elements in a buffer resource to use in a shader-


resource view.

D3D10_COUNTER_DESC Describes a counter.

D3D10_COUNTER_INFO Information about the video card's performance counter


capabilities.

D3D10_DEPTH_STENCIL_DESC Describes depth-stencil state.

D3D10_DEPTH_STENCIL_VIEW_DESC Specifies the subresource(s) from a texture that are accessible


using a depth-stencil view.

D3D10_DEPTH_STENCILOP_DESC Describes the stencil operations that can be performed based


on the results of stencil test.

D3D10_EFFECT_DESC Describes an effect.

D3D10_EFFECT_SHADER_DESC Describes an effect shader.

D3D10_EFFECT_TYPE_DESC Describes an effect-variable type.

D3D10_EFFECT_VARIABLE_DESC Describes an effect variable.

D3D10_INFO_QUEUE_FILTER Debug message filter; contains a lists of message types to


allow or deny.

D3D10_INFO_QUEUE_FILTER_DESC Allow or deny certain types of messages to pass through a


filter.

D3D10_INPUT_ELEMENT_DESC A description of a single element for the input-assembler


stage.

D3D10_MAPPED_TEXTURE2D Provides access to subresource data in a 2D texture.

D3D10_MAPPED_TEXTURE3D Provides access to subresource data in a 3D texture.

D3D10_MESSAGE A debug message in the Information Queue.

D3D10_PASS_DESC Describes an effect pass, which contains pipeline state.


T IT L E DESC RIP T IO N

D3D10_PASS_SHADER_DESC Describes an effect variable that contains a shader.

D3D10_QUERY_DATA_PIPELINE_STATISTICS Query information about graphics-pipeline activity in between


calls to ID3D10Asynchronous::Begin and
ID3D10Asynchronous::End.

D3D10_QUERY_DATA_SO_STATISTICS Query information about the amount of data streamed out to


the stream-output buffers in between
ID3D10Asynchronous::Begin and ID3D10Asynchronous::End.

D3D10_QUERY_DATA_TIMESTAMP_DISJOINT Query information about the reliability of a timestamp query.

D3D10_QUERY_DESC Describes a query.

D3D10_RASTERIZER_DESC Describes the rasterizer state.

D3D10_RENDER_TARGET_BLEND_DESC1 Describes the blend state for a render target for a Direct3D
10.1 device

D3D10_RENDER_TARGET_VIEW_DESC Specifies the subresource(s) from a resource that are accessible


using a render-target view.

D3D10_SAMPLER_DESC Describes a sampler state.

D3D10_SHADER_BUFFER_DESC Describes a shader constant-buffer.

D3D10_SHADER_DEBUG_FILE_INFO Describes files included by a shader.

D3D10_SHADER_DEBUG_INFO Describes the format of the ID3D10Blob Interface returned by


D3D10GetShaderDebugInfo.

D3D10_SHADER_DEBUG_INPUT_INFO Describes a shader input.

D3D10_SHADER_DEBUG_INST_INFO Contains instruction data.

D3D10_SHADER_DEBUG_OUTPUTREG_INFO Describes a shader output register.

D3D10_SHADER_DEBUG_OUTPUTVAR Describes a shader output variable.

D3D10_SHADER_DEBUG_SCOPE_INFO Contains scope data that maps variable names to debug


variables.

D3D10_SHADER_DEBUG_SCOPEVAR_INFO Describes a shader scope variable.

D3D10_SHADER_DEBUG_TOKEN_INFO Gives the source location for a shader element.

D3D10_SHADER_DEBUG_VAR_INFO Represents information about a shader source variable.

D3D10_SHADER_DESC Describes a shader.

D3D10_SHADER_INPUT_BIND_DESC Describes how a shader resource is bound to a shader input.


T IT L E DESC RIP T IO N

D3D10_SHADER_RESOURCE_VIEW_DESC Describes a shader-resource view.

D3D10_SHADER_RESOURCE_VIEW_DESC1 Describes a shader-resource view.

D3D10_SHADER_TYPE_DESC Describes a shader-variable type.

D3D10_SHADER_VARIABLE_DESC Describes a shader variable.

D3D10_SIGNATURE_PARAMETER_DESC Describes a shader signature.

D3D10_SO_DECLARATION_ENTRY Description of a vertex element in a vertex buffer in an output


slot.

D3D10_STATE_BLOCK_MASK Indicates the device state.

D3D10_SUBRESOURCE_DATA Specifies data for initializing a subresource.

D3D10_TECHNIQUE_DESC Describes an effect technique.

D3D10_TEX1D_ARRAY_DSV Specifies the subresource(s) from an array of 1D textures to


use in a depth-stencil view.

D3D10_TEX1D_ARRAY_RTV Specifies the subresource(s) from an array of 1D textures to


use in a render-target view.

D3D10_TEX1D_ARRAY_SRV Specifies the subresource(s) from an array of 1D textures to


use in a shader-resource view.

D3D10_TEX1D_DSV Specifies the subresource from a 1D texture that is accessible


to a depth-stencil view.

D3D10_TEX1D_RTV Specifies the subresource from a 1D texture to use in a render-


target view.

D3D10_TEX1D_SRV Specifies the subresource from a 1D texture to use in a


shader-resource view.

D3D10_TEX2D_ARRAY_DSV Specifies the subresource(s) from an array 2D textures that are


accessible to a depth-stencil view.

D3D10_TEX2D_ARRAY_RTV Specifies the subresource(s) from an array of 2D textures to


use in a render-target view.

D3D10_TEX2D_ARRAY_SRV Specifies the subresource(s) from an array of 2D textures to


use in a shader-resource view.

D3D10_TEX2D_DSV Specifies the subresource from a 2D texture that is accessible


to a depth-stencil view.

D3D10_TEX2D_RTV Specifies the subresource from a 2D texture to use in a render-


target view.
T IT L E DESC RIP T IO N

D3D10_TEX2D_SRV Specifies the subresource from a 2D texture to use in a


shader-resource view.

D3D10_TEX2DMS_ARRAY_DSV Specifies the subresource(s) from an array of multisampled 2D


textures for a depth-stencil view.

D3D10_TEX2DMS_ARRAY_RTV Specifies the subresource(s) from a an array of multisampled


2D textures to use in a render-target view.

D3D10_TEX2DMS_ARRAY_SRV Specifies the subresource(s) from an array of multisampled 2D


textures to use in a shader-resource view.

D3D10_TEX2DMS_DSV Specifies the subresource from a multisampled 2D texture that


is accessible to a depth-stencil view.

D3D10_TEX2DMS_RTV Specifies the subresource from a multisampled 2D texture to


use in a render-target view.

D3D10_TEX2DMS_SRV Specifies the subresource(s) from a multisampled 2D texture to


use in a shader-resource view.

D3D10_TEX3D_RTV Specifies the subresource(s) from a 3D texture to use in a


render-target view.

D3D10_TEX3D_SRV Specifies the subresource(s) from a 3D texture to use in a


shader-resource view.

D3D10_TEXCUBE_ARRAY_SRV1 Specifies the subresource(s) from an array of cube textures to


use in a shader-resource view.

D3D10_TEXCUBE_SRV Specifies the subresource from a cube texture to use in a


shader-resource view.

D3D10_TEXTURE1D_DESC Describes a 1D texture.

D3D10_TEXTURE2D_DESC Describes a 2D texture.

D3D10_TEXTURE3D_DESC Describes a 3D texture.

D3D10_VIEWPORT Defines the dimensions of a viewport.


Direct3D 11 Graphics
2/7/2020 • 48 minutes to read • Edit Online

Overview of the Direct3D 11 Graphics technology.


To develop Direct3D 11 Graphics, you need these headers:
d3d11.h
d3d11_1.h
d3d11_2.h
d3d11_3.h
d3d11_4.h
d3d11sdklayers.h
d3d11shader.h
d3d11shadertracing.h
d3dcommon.h
d3dcsx.h
windows.graphics.directx.direct3d11.interop.h
For programming guidance for this technology, see:
Direct3D 11 Graphics

Enumerations
T IT L E DESC RIP T IO N

D3D_CBUFFER_TYPE Values that identify the intended use of constant-buffer data.

D3D_DRIVER_TYPE Driver type options.

D3D_FEATURE_LEVEL Describes the set of features targeted by a Direct3D device.

D3D_INCLUDE_TYPE Values that indicate the location of a shader

D3D_INTERPOLATION_MODE Specifies interpolation mode, which affects how values are


calculated during rasterization.

D3D_MIN_PRECISION Values that indicate the minimum desired interpolation


precision.

D3D_NAME Values that identify shader parameters that use system-value


semantics.

D3D_PARAMETER_FLAGS Indicates semantic flags for function parameters.

D3D_PRIMITIVE Indicates how the pipeline interprets geometry or hull shader


input primitives.
T IT L E DESC RIP T IO N

D3D_PRIMITIVE_TOPOLOGY Values that indicate how the pipeline interprets vertex data
that is bound to the input-assembler stage. These primitive
topology values determine how the vertex data is rendered
on screen.

D3D_REGISTER_COMPONENT_TYPE Values that identify the data types that can be stored in a
register.

D3D_RESOURCE_RETURN_TYPE Indicates return value type.

D3D_SHADER_CBUFFER_FLAGS Values that identify the indended use of a constant-data


buffer.

D3D_SHADER_INPUT_FLAGS Values that identify shader-input options.

D3D_SHADER_INPUT_TYPE Values that identify resource types that can be bound to a


shader and that are reflected as part of the resource
description for the shader.

D3D_SHADER_VARIABLE_CLASS Values that identify the class of a shader variable.

D3D_SHADER_VARIABLE_FLAGS Values that identify information about a shader variable.

D3D_SHADER_VARIABLE_TYPE Values that identify various data, texture, and buffer types
that can be assigned to a shader variable.

D3D_SRV_DIMENSION Values that identify the type of resource to be viewed as a


shader resource.

D3D_TESSELLATOR_DOMAIN Domain options for tessellator data.

D3D_TESSELLATOR_OUTPUT_PRIMITIVE Output primitive types.

D3D_TESSELLATOR_PARTITIONING Partitioning options.

D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG Describes flags that are used to create a device context state
object (ID3DDeviceContextState) with the
ID3D11Device1::CreateDeviceContextState method.

D3D11_ASYNC_GETDATA_FLAG Optional flags that control the behavior of


ID3D11DeviceContext::GetData.

D3D11_BIND_FLAG Identifies how to bind a resource to the pipeline.

D3D11_BLEND Blend factors, which modulate values for the pixel shader and
render target.

D3D11_BLEND_OP RGB or alpha blending operation.

D3D11_BUFFER_UAV_FLAG Identifies unordered-access view options for a buffer resource.

D3D11_BUFFEREX_SRV_FLAG Identifies how to view a buffer resource.


T IT L E DESC RIP T IO N

D3D11_CHECK_MULTISAMPLE_QUALITY_LEVELS_FLAG Identifies how to check multisample quality levels.

D3D11_CLEAR_FLAG Specifies the parts of the depth stencil to clear.

D3D11_COLOR_WRITE_ENABLE Identify which components of each pixel of a render target are


writable during blending.

D3D11_COMPARISON_FUNC Comparison options.

D3D11_CONSERVATIVE_RASTERIZATION_MODE Identifies whether conservative rasterization is on or off.

D3D11_CONSERVATIVE_RASTERIZATION_TIER Specifies if the hardware and driver support conservative


rasterization and at what tier level.

D3D11_CONTEXT_TYPE Specifies the context in which a query occurs.

D3D11_COPY_FLAGS Specifies how to handle the existing contents of a resource


during a copy or update operation of a region within that
resource.

D3D11_COUNTER Options for performance counters.

D3D11_COUNTER_TYPE Data type of a performance counter.

D3D11_CPU_ACCESS_FLAG Specifies the types of CPU access allowed for a resource.

D3D11_CREATE_DEVICE_FLAG Describes parameters that are used to create a device.

D3D11_CULL_MODE Indicates triangles facing a particular direction are not drawn.

D3D11_DEPTH_WRITE_MASK Identify the portion of a depth-stencil buffer for writing depth


data.

D3D11_DEVICE_CONTEXT_TYPE Device context options.

D3D11_DSV_DIMENSION Specifies how to access a resource used in a depth-stencil


view.

D3D11_DSV_FLAG Depth-stencil view options.

D3D11_FEATURE Direct3D 11 feature options.

D3D11_FENCE_FLAG Specifies fence options.

D3D11_FILL_MODE Determines the fill mode to use when rendering triangles.

D3D11_FILTER Filtering options during texture sampling.

D3D11_FILTER_REDUCTION_TYPE Specifies the type of sampler filter reduction.

D3D11_FILTER_TYPE Types of magnification or minification sampler filters.


T IT L E DESC RIP T IO N

D3D11_FORMAT_SUPPORT Which resources are supported for a given format and given
device (see ID3D11Device::CheckFormatSupport and
ID3D11Device::CheckFeatureSupport).

D3D11_FORMAT_SUPPORT2 Unordered resource support options for a compute shader


resource (see ID3D11Device::CheckFeatureSupport).

D3D11_INPUT_CLASSIFICATION Type of data contained in an input slot.

D3D11_LOGIC_OP Specifies logical operations to configure for a render target.

D3D11_MAP Identifies a resource to be accessed for reading and writing by


the CPU. Applications may combine one or more of these
flags.

D3D11_MAP_FLAG Specifies how the CPU should respond when an application


calls the ID3D11DeviceContext::Map method on a resource
that is being used by the GPU.

D3D11_MESSAGE_CATEGORY Categories of debug messages.

D3D11_MESSAGE_ID Debug messages for setting up an info-queue filter (see


D3D11_INFO_QUEUE_FILTER); use these messages to allow or
deny message categories to pass through the storage and
retrieval filters.

D3D11_MESSAGE_SEVERITY Debug message severity levels for an information queue.

D3D11_QUERY Query types.

D3D11_QUERY_MISC_FLAG Flags that describe miscellaneous query behavior.

D3D11_RAISE_FLAG Option(s) for raising an error to a non-continuable exception.

D3D11_RESOURCE_DIMENSION Identifies the type of resource being used.

D3D11_RESOURCE_MISC_FLAG Identifies options for resources.

D3D11_RLDO_FLAGS Options for the amount of information to report about a


device object's lifetime.

D3D11_RTV_DIMENSION These flags identify the type of resource that will be viewed as
a render target.

D3D11_SHADER_CACHE_SUPPORT_FLAGS Describes the level of support for shader caching in the


current graphics driver.

D3D11_SHADER_MIN_PRECISION_SUPPORT Values that specify minimum precision levels at shader stages.

D3D11_SHADER_TRACKING_OPTIONS Options that specify how to perform shader debug tracking.

D3D11_SHADER_TRACKING_RESOURCE_TYPE Indicates which resource types to track.


T IT L E DESC RIP T IO N

D3D11_SHADER_TYPE Identifies a shader type for tracing.

D3D11_SHADER_VERSION_TYPE Indicates shader type.

D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS Specifies a multi-sample pattern type.

D3D11_STENCIL_OP The stencil operations that can be performed during depth-


stencil testing.

D3D11_TEXTURE_ADDRESS_MODE Identify a technique for resolving texture coordinates that are


outside of the boundaries of a texture.

D3D11_TEXTURE_LAYOUT Specifies texture layout options.

D3D11_TEXTURECUBE_FACE The different faces of a cube texture.

D3D11_TILE_COPY_FLAG Identifies how to copy a tile.

D3D11_TILE_MAPPING_FLAG Identifies how to perform a tile-mapping operation.

D3D11_TILE_RANGE_FLAG Specifies a range of tile mappings to use with


ID3D11DeviceContext2::UpdateTiles.

D3D11_TILED_RESOURCES_TIER Indicates the tier level at which tiled resources are supported.

D3D11_TRACE_GS_INPUT_PRIMITIVE Identifies the type of geometry shader input primitive.

D3D11_TRACE_REGISTER_TYPE Identifies a type of trace register.

D3D11_UAV_DIMENSION Unordered-access view options.

D3D11_USAGE Identifies expected resource use during rendering. The usage


directly reflects whether a resource is accessible by the CPU
and/or the graphics processing unit (GPU).

D3DX11_FFT_CREATE_FLAG FFT creation flags.

D3DX11_FFT_DATA_TYPE FFT data types.

D3DX11_FFT_DIM_MASK Number of dimensions for FFT data.

D3DX11_SCAN_DATA_TYPE Type for scan data.

D3DX11_SCAN_DIRECTION Direction to perform scan in.

D3DX11_SCAN_OPCODE Scan opcodes.

Functions
T IT L E DESC RIP T IO N

~CD3D11_BLEND_DESC Destroys an instance of a CD3D11_BLEND_DESC structure.

~CD3D11_BOX Destroys an instance of a CD3D11_BOX structure.

~CD3D11_BUFFER_DESC Destroys an instance of a CD3D11_BUFFER_DESC structure.

~CD3D11_COUNTER_DESC Destroys an instance of a CD3D11_COUNTER_DESC


structure.

~CD3D11_DEPTH_STENCIL_DESC Destroys an instance of a CD3D11_DEPTH_STENCIL_DESC


structure.

~CD3D11_DEPTH_STENCIL_VIEW_DESC Destroys an instance of a


CD3D11_DEPTH_STENCIL_VIEW_DESC structure.

~CD3D11_QUERY_DESC Destroys an instance of a CD3D11_QUERY_DESC structure.

~CD3D11_RASTERIZER_DESC Destroys an instance of a CD3D11_RASTERIZER_DESC


structure.

~CD3D11_RECT Destroys an instance of a CD3D11_RECT structure.

~CD3D11_RENDER_TARGET_VIEW_DESC Destroys an instance of a


CD3D11_RENDER_TARGET_VIEW_DESC structure.

~CD3D11_SAMPLER_DESC Destroys an instance of a CD3D11_SAMPLER_DESC structure.

~CD3D11_SHADER_RESOURCE_VIEW_DESC Destroys an instance of a


CD3D11_SHADER_RESOURCE_VIEW_DESC structure.

~CD3D11_TEXTURE1D_DESC Destroys an instance of a CD3D11_TEXTURE1D_DESC


structure.

~CD3D11_TEXTURE2D_DESC Destroys an instance of a CD3D11_TEXTURE2D_DESC


structure.

~CD3D11_TEXTURE3D_DESC Destroys an instance of a CD3D11_TEXTURE3D_DESC


structure.

~CD3D11_UNORDERED_ACCESS_VIEW_DESC Destroys an instance of a


CD3D11_UNORDERED_ACCESS_VIEW_DESC structure.

~CD3D11_VIEWPORT Destroys an instance of a CD3D11_VIEWPORT structure.

AddApplicationMessage Add a user-defined message to the message queue and send


that message to debug output.

AddClipPlaneFromCBuffer Adds a clip plane with the plane coefficients taken from a
cbuffer entry for 10Level9 shaders.

AddMessage Add a debug message to the message queue and send that
message to debug output.
T IT L E DESC RIP T IO N

AddRetrievalFilterEntries Add storage filters to the top of the retrieval-filter stack.

AddStorageFilterEntries Add storage filters to the top of the storage-filter stack.

AttachBuffersAndPrecompute Attaches buffers to an FFT context and performs any required


precomputations.

Begin Mark the beginning of a series of commands.

BeginEvent Marks the beginning of a section of event code.

BeginEventInt Allows applications to annotate the beginning of a range of


graphics commands.

BindConstantBuffer Rebinds a constant buffer from a source slot to a destination


slot.

BindConstantBufferByName Rebinds a constant buffer by name to a destination slot.

BindResource Rebinds a texture or buffer from source slot to destination


slot.

BindResourceAsUnorderedAccessView Rebinds a resource as an unordered access view (UAV) from


source slot to destination slot.

BindResourceAsUnorderedAccessViewByName Rebinds a resource by name as an unordered access view


(UAV) to destination slots.

BindResourceByName Rebinds a texture or buffer by name to destination slots.

BindSampler Rebinds a sampler from source slot to destination slot.

BindSamplerByName Rebinds a sampler by name to destination slots.

BindUnorderedAccessView Rebinds an unordered access view (UAV) from source slot to


destination slot.

BindUnorderedAccessViewByName Rebinds an unordered access view (UAV) by name to


destination slots.

CallFunction Creates a call-function linking node to use in the function-


linking-graph.

CD3D11_BLEND_DESC Instantiates a new instance of an uninitialized


CD3D11_BLEND_DESC structure.

CD3D11_BLEND_DESC Instantiates a new instance of a CD3D11_BLEND_DESC


structure that is initialized with a CD3D11_BLEND_DESC
structure.

CD3D11_BLEND_DESC Instantiates a new instance of a CD3D11_BLEND_DESC


structure that is initialized with default blend-state values.
T IT L E DESC RIP T IO N

CD3D11_BOX Instantiates a new instance of an uninitialized CD3D11_BOX


structure.

CD3D11_BOX Instantiates a new instance of a CD3D11_BOX structure


that is initialized with a CD3D11_BOX structure.

CD3D11_BOX Instantiates a new instance of a CD3D11_BOX structure that


is initialized with the dimensions of a box.

CD3D11_BUFFER_DESC Instantiates a new instance of an uninitialized


CD3D11_BUFFER_DESC structure.

CD3D11_BUFFER_DESC Instantiates a new instance of a CD3D11_BUFFER_DESC


structure that is initialized with a D3D11_BUFFER_DESC
structure.

CD3D11_BUFFER_DESC Instantiates a new instance of a CD3D11_BUFFER_DESC


structure that is initialized with D3D11_BUFFER_DESC values.

CD3D11_COUNTER_DESC Instantiates a new instance of an uninitialized


CD3D11_COUNTER_DESC structure.

CD3D11_COUNTER_DESC Instantiates a new instance of a CD3D11_COUNTER_DESC


structure that is initialized with a D3D11_COUNTER_DESC
structure.

CD3D11_COUNTER_DESC Instantiates a new instance of a CD3D11_COUNTER_DESC


structure that is initialized with info for a counter.

CD3D11_DEPTH_STENCIL_DESC Instantiates a new instance of an uninitialized


CD3D11_DEPTH_STENCIL_DESC structure.

CD3D11_DEPTH_STENCIL_DESC Instantiates a new instance of a


CD3D11_DEPTH_STENCIL_DESC structure that is initialized
with a D3D11_DEPTH_STENCIL_DESC structure.

CD3D11_DEPTH_STENCIL_DESC Instantiates a new instance of a


CD3D11_DEPTH_STENCIL_DESC structure that is initialized
with default depth-stencil-state values.

[CD3D11_DEPTH_STENCIL_DESC](../d3d11/nf-d3d11- Instantiates a new instance of a


cd3d11_depth_stencil_desc- CD3D11_DEPTH_STENCIL_DESC structure that is initialized
cd3d11_depth_stencil_desc(bool_d3d11_depth_write_mask_d with D3D11_DEPTH_STENCIL_DESC values.
3d11_comparison_func_bool_uint8_uint8_d3d11_stencil_op_d
3d11_stencil_op_d3d11_stencil_op_d3d11_compa.md)

CD3D11_DEPTH_STENCIL_VIEW_DESC Instantiates a new instance of an uninitialized


CD3D11_DEPTH_STENCIL_VIEW_DESC structure.

CD3D11_DEPTH_STENCIL_VIEW_DESC Instantiates a new instance of a


CD3D11_DEPTH_STENCIL_VIEW_DESC structure that is
initialized with a D3D11_DEPTH_STENCIL_VIEW_DESC
structure.
T IT L E DESC RIP T IO N

CD3D11_DEPTH_STENCIL_VIEW_DESC Instantiates a new instance of a


CD3D11_DEPTH_STENCIL_VIEW_DESC structure that is
initialized with D3D11_DEPTH_STENCIL_VIEW_DESC values.

CD3D11_DEPTH_STENCIL_VIEW_DESC Instantiates a new instance of a


CD3D11_DEPTH_STENCIL_VIEW_DESC structure that is
initialized with D3D11_TEX1D_DSV or
D3D11_TEX1D_ARRAY_DSV values.

CD3D11_DEPTH_STENCIL_VIEW_DESC Instantiates a new instance of a


CD3D11_DEPTH_STENCIL_VIEW_DESC structure that is
initialized with 2D texture values.

CD3D11_QUERY_DESC Instantiates a new instance of an uninitialized


CD3D11_QUERY_DESC structure.

CD3D11_QUERY_DESC Instantiates a new instance of a CD3D11_QUERY_DESC


structure that is initialized with a D3D11_QUERY_DESC
structure.

CD3D11_QUERY_DESC Instantiates a new instance of a CD3D11_QUERY_DESC


structure that is initialized with info for a query.

CD3D11_RASTERIZER_DESC Instantiates a new instance of an uninitialized


CD3D11_RASTERIZER_DESC structure.

CD3D11_RASTERIZER_DESC Instantiates a new instance of a CD3D11_RASTERIZER_DESC


structure that is initialized with a D3D11_RASTERIZER_DESC
structure.

CD3D11_RASTERIZER_DESC Instantiates a new instance of a CD3D11_RASTERIZER_DESC


structure that is initialized with default rasterizer-state values.

CD3D11_RASTERIZER_DESC Instantiates a new instance of a CD3D11_RASTERIZER_DESC


structure that is initialized with D3D11_RASTERIZER_DESC
values.

CD3D11_RECT Instantiates a new instance of an uninitialized CD3D11_RECT


structure.

CD3D11_RECT Instantiates a new instance of a CD3D11_RECT structure that


is initialized with a D3D11_RECT structure.

CD3D11_RECT Instantiates a new instance of a CD3D11_RECT structure that


is initialized with the dimensions of a rectangle.

CD3D11_RENDER_TARGET_VIEW_DESC Instantiates a new instance of an uninitialized


CD3D11_RENDER_TARGET_VIEW_DESC structure.

CD3D11_RENDER_TARGET_VIEW_DESC Instantiates a new instance of a


CD3D11_RENDER_TARGET_VIEW_DESC structure that is
initialized with a D3D11_RENDER_TARGET_VIEW_DESC
structure.
T IT L E DESC RIP T IO N

CD3D11_RENDER_TARGET_VIEW_DESC Instantiates a new instance of a


CD3D11_RENDER_TARGET_VIEW_DESC structure that is
initialized with D3D11_RENDER_TARGET_VIEW_DESC values.

CD3D11_RENDER_TARGET_VIEW_DESC Instantiates a new instance of a


CD3D11_RENDER_TARGET_VIEW_DESC structure that is
initialized with D3D11_RTV_DIMENSION values.

CD3D11_RENDER_TARGET_VIEW_DESC Instantiates a new instance of a


CD3D11_RENDER_TARGET_VIEW_DESC structure that is
initialized with D3D11_TEX1D_RTV or
D3D11_TEX1D_ARRAY_RTV values.

CD3D11_RENDER_TARGET_VIEW_DESC Instantiates a new instance of a


CD3D11_RENDER_TARGET_VIEW_DESC structure that is
initialized with 2D texture values.

CD3D11_RENDER_TARGET_VIEW_DESC Instantiates a new instance of a


CD3D11_RENDER_TARGET_VIEW_DESC structure that is
initialized with 3D texture values.

CD3D11_SAMPLER_DESC Instantiates a new instance of an uninitialized


CD3D11_SAMPLER_DESC structure.

CD3D11_SAMPLER_DESC Instantiates a new instance of a CD3D11_SAMPLER_DESC


structure that is initialized with a D3D11_SAMPLER_DESC
structure.

CD3D11_SAMPLER_DESC Instantiates a new instance of a CD3D11_SAMPLER_DESC


structure that is initialized with default sampler-state values.

[CD3D11_SAMPLER_DESC](../d3d11/nf-d3d11- Instantiates a new instance of a CD3D11_SAMPLER_DESC


cd3d11_sampler_desc- structure that is initialized with a D3D11_SAMPLER_DESC
cd3d11_sampler_desc(d3d11_filter_d3d11_texture_address_m structure.
ode_d3d11_texture_address_mode_d3d11_texture_address_m
ode_float_uint_d3d11_comparison_func_constfloat_.md)

CD3D11_SHADER_RESOURCE_VIEW_DESC Instantiates a new instance of an uninitialized


CD3D11_SHADER_RESOURCE_VIEW_DESC structure.

CD3D11_SHADER_RESOURCE_VIEW_DESC Instantiates a new instance of a


CD3D11_SHADER_RESOURCE_VIEW_DESC structure that is
initialized with a D3D11_SHADER_RESOURCE_VIEW_DESC
structure.

CD3D11_SHADER_RESOURCE_VIEW_DESC Instantiates a new instance of a


CD3D11_SHADER_RESOURCE_VIEW_DESC structure that is
initialized with D3D11_SHADER_RESOURCE_VIEW_DESC
values.

CD3D11_SHADER_RESOURCE_VIEW_DESC Instantiates a new instance of a


CD3D11_SHADER_RESOURCE_VIEW_DESC structure that is
initialized with D3D11_BUFFEREX_SRV values.
T IT L E DESC RIP T IO N

CD3D11_SHADER_RESOURCE_VIEW_DESC Instantiates a new instance of a


CD3D11_SHADER_RESOURCE_VIEW_DESC structure that is
initialized with D3D11_TEX1D_SRV or
D3D11_TEX1D_ARRAY_SRV values.

CD3D11_SHADER_RESOURCE_VIEW_DESC Instantiates a new instance of a


CD3D11_SHADER_RESOURCE_VIEW_DESC structure that is
initialized with 2D texture values.

CD3D11_SHADER_RESOURCE_VIEW_DESC Instantiates a new instance of a


CD3D11_SHADER_RESOURCE_VIEW_DESC structure that is
initialized with 3D texture values.

CD3D11_TEXTURE1D_DESC Instantiates a new instance of an uninitialized


CD3D11_TEXTURE1D_DESC structure.

CD3D11_TEXTURE1D_DESC Instantiates a new instance of a CD3D11_TEXTURE1D_DESC


structure that is initialized with a D3D11_TEXTURE1D_DESC
structure.

CD3D11_TEXTURE1D_DESC Instantiates a new instance of a CD3D11_TEXTURE1D_DESC


structure that is initialized with D3D11_TEXTURE1D_DESC
values.

CD3D11_TEXTURE2D_DESC Instantiates a new instance of an uninitialized


CD3D11_TEXTURE2D_DESC structure.

CD3D11_TEXTURE2D_DESC Instantiates a new instance of a CD3D11_TEXTURE2D_DESC


structure that is initialized with a D3D11_TEXTURE2D_DESC
structure.

CD3D11_TEXTURE2D_DESC Instantiates a new instance of a CD3D11_TEXTURE2D_DESC


structure that is initialized with D3D11_TEXTURE2D_DESC
values.

CD3D11_TEXTURE3D_DESC Instantiates a new instance of an uninitialized


CD3D11_TEXTURE3D_DESC structure.

CD3D11_TEXTURE3D_DESC Instantiates a new instance of a CD3D11_TEXTURE3D_DESC


structure that is initialized with a D3D11_TEXTURE3D_DESC
structure.

CD3D11_TEXTURE3D_DESC Instantiates a new instance of a CD3D11_TEXTURE3D_DESC


structure that is initialized with D3D11_TEXTURE3D_DESC
values.

CD3D11_UNORDERED_ACCESS_VIEW_DESC Instantiates a new instance of an uninitialized


CD3D11_UNORDERED_ACCESS_VIEW_DESC structure.

CD3D11_UNORDERED_ACCESS_VIEW_DESC Instantiates a new instance of a


CD3D11_UNORDERED_ACCESS_VIEW_DESC structure that is
initialized with a D3D11_UNORDERED_ACCESS_VIEW_DESC
structure.
T IT L E DESC RIP T IO N

CD3D11_UNORDERED_ACCESS_VIEW_DESC Instantiates a new instance of a


CD3D11_UNORDERED_ACCESS_VIEW_DESC structure that is
initialized with D3D11_UNORDERED_ACCESS_VIEW_DESC
values.

CD3D11_UNORDERED_ACCESS_VIEW_DESC Instantiates a new instance of a


CD3D11_UNORDERED_ACCESS_VIEW_DESC structure that is
initialized with D3D11_BUFFER_UAV values.

CD3D11_UNORDERED_ACCESS_VIEW_DESC Instantiates a new instance of a


CD3D11_UNORDERED_ACCESS_VIEW_DESC structure that is
initialized with D3D11_TEX1D_UAV or
D3D11_TEX1D_ARRAY_UAV values.

CD3D11_UNORDERED_ACCESS_VIEW_DESC Instantiates a new instance of a


CD3D11_UNORDERED_ACCESS_VIEW_DESC structure that is
initialized with 2D texture values.

CD3D11_UNORDERED_ACCESS_VIEW_DESC Instantiates a new instance of a


CD3D11_UNORDERED_ACCESS_VIEW_DESC structure that is
initialized with 3D texture values.

CD3D11_VIEWPORT Instantiates a new instance of an uninitialized


CD3D11_VIEWPORT structure.

CD3D11_VIEWPORT Instantiates a new instance of a CD3D11_VIEWPORT


structure that is initialized with a D3D11_VIEWPORT
structure.

CD3D11_VIEWPORT Instantiates a new instance of a CD3D11_VIEWPORT


structure that is initialized with D3D11_VIEWPORT values.

CD3D11_VIEWPORT Instantiates a new instance of a CD3D11_VIEWPORT


structure that is initialized with D3D11_BUFFER_RTV values.

CD3D11_VIEWPORT Instantiates a new instance of a CD3D11_VIEWPORT


structure that is initialized with D3D11_TEX1D_RTV or
D3D11_TEX1D_ARRAY_RTV values.

CD3D11_VIEWPORT Instantiates a new instance of a CD3D11_VIEWPORT


structure that is initialized with 2D texture values.

CD3D11_VIEWPORT Instantiates a new instance of a CD3D11_VIEWPORT


structure that is initialized with 3D texture values.

CheckCounter Get the type, name, units of measure, and a description of an


existing counter.

CheckCounterInfo Get a counter's information.

CheckFeatureSupport Gets information about the features that are supported by


the current graphics driver.

CheckFormatSupport Get the support of a given format on the installed video


device.
T IT L E DESC RIP T IO N

CheckMultisampleQualityLevels Get the number of quality levels available during


multisampling.

CheckMultisampleQualityLevels1 Get the number of quality levels available during


multisampling.

ClearDepthStencilView Clears the depth-stencil resource.

ClearRenderTargetView Set all the elements in a render target to one value.

ClearRetrievalFilter Remove a retrieval filter from the top of the retrieval-filter


stack.

ClearState Restore all default settings.

ClearStorageFilter Remove a storage filter from the top of the storage-filter


stack.

ClearStoredMessages Clear all messages from the message queue.

ClearUnorderedAccessViewFloat Clears an unordered access resource with a float value.

ClearUnorderedAccessViewUint Clears an unordered access resource with bit-precise values.

ClearView Sets all the elements in a resource view to one value.

Close A user-implemented method for closing a shader

CopyResource Copy the entire contents of the source resource to the


destination resource using the GPU.

CopyStructureCount Copies data from a buffer holding variable length data.

CopySubresourceRegion Copy a region from a source resource to a destination


resource.

CopySubresourceRegion1 Copies a region from a source resource to a destination


resource.

CopyTileMappings Copies mappings from a source tiled resource to a destination


tiled resource.

CopyTiles Copies tiles from buffer to tiled resource or vice versa.

CreateBlendState Create a blend-state object that encapsules blend state for


the output-merger stage.
T IT L E DESC RIP T IO N

CreateBlendState1 Creates a blend-state object that encapsulates blend state for


the output-merger stage and allows the configuration of logic
operations.

CreateBuffer Creates a buffer (vertex buffer, index buffer, or shader-


constant buffer).

CreateClassInstance Initializes a class-instance object that represents an HLSL class


instance.

CreateClassLinkage Creates class linkage libraries to enable dynamic shader


linkage.

CreateComputeShader Create a compute shader.

CreateCounter Create a counter object for measuring GPU performance.

CreateDeferredContext Creates a deferred context, which can record command lists.

CreateDeferredContext1 Creates a deferred context, which can record command lists.

CreateDeferredContext2 Creates a deferred context, which can record command lists.

CreateDeferredContext3 Creates a deferred context, which can record command lists.

CreateDepthStencilState Create a depth-stencil state object that encapsulates depth-


stencil test information for the output-merger stage.

CreateDepthStencilView Create a depth-stencil view for accessing resource data.

CreateDeviceContextState Creates a context state object that holds all Microsoft


Direct3D state and some Direct3D behavior.

CreateDomainShader Create a domain shader.

CreateFence Creates a fence object.

CreateGeometryShader Create a geometry shader.

CreateGeometryShaderWithStreamOutput Creates a geometry shader that can write to streaming


output buffers.

CreateHullShader Create a hull shader.

CreateInputLayout Create an input-layout object to describe the input-buffer


data for the input-assembler stage.

CreateInstance Initializes an instance of a shader module that is used for


resource rebinding.

CreateModuleInstance Initializes a shader module from the function-linking-graph


object.
T IT L E DESC RIP T IO N

CreatePixelShader Create a pixel shader.

CreatePredicate Creates a predicate.

CreateQuery This interface encapsulates methods for querying information


from the GPU.

CreateQuery1 Creates a query object for querying information from the


graphics processing unit (GPU).

CreateRasterizerState Create a rasterizer state object that tells the rasterizer stage
how to behave.

CreateRasterizerState1 Creates a rasterizer state object that informs the rasterizer


stage how to behave and forces the sample count while UAV
rendering or rasterizing.

CreateRasterizerState2 Creates a rasterizer state object that informs the rasterizer


stage how to behave and forces the sample count while UAV
rendering or rasterizing.

CreateRenderTargetView Creates a render-target view for accessing resource data.

CreateRenderTargetView1 Creates a render-target view for accessing resource data.

CreateSamplerState Create a sampler-state object that encapsulates sampling


information for a texture.

CreateShaderResourceView Create a shader-resource view for accessing data in a


resource.

CreateShaderResourceView1 Creates a shader-resource view for accessing data in a


resource.

CreateShaderTrace Creates a shader-trace interface for a shader-trace


information object.

CreateSharedHandle Creates a shared handle to a fence object.

CreateTexture1D Creates an array of 1D textures.

CreateTexture2D Create an array of 2D textures.

CreateTexture2D1 Creates a 2D texture.

CreateTexture3D Create a single 3D texture.

CreateTexture3D1 Creates a 3D texture.

CreateUnorderedAccessView Creates a view for accessing an unordered access resource.

CreateUnorderedAccessView1 Creates a view for accessing an unordered access resource.


T IT L E DESC RIP T IO N

CreateVertexShader Create a vertex-shader object from a compiled shader.

CSGetConstantBuffers Get the constant buffers used by the compute-shader stage.

CSGetConstantBuffers1 Gets the constant buffers that the compute-shader stage


uses.

CSGetSamplers Get an array of sampler state interfaces from the compute-


shader stage.

CSGetShader Get the compute shader currently set on the device.

CSGetShaderResources Get the compute-shader resources.

CSGetUnorderedAccessViews Gets an array of views for an unordered resource.

CSSetConstantBuffers Sets the constant buffers used by the compute-shader stage.

CSSetConstantBuffers1 Sets the constant buffers that the compute-shader stage


uses.

CSSetSamplers Set an array of sampler states to the compute-shader stage.

CSSetShader Set a compute shader to the device.

CSSetShaderResources Bind an array of shader resources to the compute-shader


stage.

CSSetUnorderedAccessViews Sets an array of views for an unordered resource.

D3D11CalcSubresource Calculates a subresource index for a texture.

D3D11CreateDevice Creates a device that represents the display adapter.

D3D11CreateDeviceAndSwapChain Creates a device that represents the display adapter and a


swap chain used for rendering.

D3DDisassemble11Trace Disassembles a section of compiled Microsoft High Level


Shader Language (HLSL) code that is specified by shader trace
steps.

D3DX11CreateFFT Creates an ID3DX11FFT COM interface object.

D3DX11CreateFFT1DComplex Creates an ID3DX11FFT COM interface object.

D3DX11CreateFFT1DReal Creates an ID3DX11FFT COM interface object.

D3DX11CreateFFT2DComplex Creates an ID3DX11FFT COM interface object.

D3DX11CreateFFT2DReal Creates an ID3DX11FFT COM interface object.


T IT L E DESC RIP T IO N

D3DX11CreateFFT3DComplex Creates an ID3DX11FFT COM interface object.

D3DX11CreateFFT3DReal Creates an ID3DX11FFT COM interface object.

D3DX11CreateScan Creates a scan context.

D3DX11CreateSegmentedScan Creates a segmented scan context.

DiscardResource Discards a resource from the device context.

DiscardView Discards a resource view from the device context.

DiscardView1 Discards the specified elements in a resource view from the


device context.

Dispatch Execute a command list from a thread group.

DispatchIndirect Execute a command list over one or more thread groups.

Draw Draw non-indexed, non-instanced primitives.

DrawAuto Draw geometry of an unknown size.

DrawIndexed Draw indexed, non-instanced primitives.

DrawIndexedInstanced Draw indexed, instanced primitives.

DrawIndexedInstancedIndirect Draw indexed, instanced, GPU-generated primitives.

DrawInstanced Draw non-indexed, instanced primitives.

DrawInstancedIndirect Draw instanced, GPU-generated primitives.

DSGetConstantBuffers Get the constant buffers used by the domain-shader stage.

DSGetConstantBuffers1 Gets the constant buffers that the domain-shader stage uses.

DSGetSamplers Get an array of sampler state interfaces from the domain-


shader stage.

DSGetShader Get the domain shader currently set on the device.

DSGetShaderResources Get the domain-shader resources.

DSSetConstantBuffers Sets the constant buffers used by the domain-shader stage.

DSSetConstantBuffers1 Sets the constant buffers that the domain-shader stage uses.

DSSetSamplers Set an array of sampler states to the domain-shader stage.


T IT L E DESC RIP T IO N

DSSetShader Set a domain shader to the device.

DSSetShaderResources Bind an array of shader resources to the domain-shader


stage.

End Mark the end of a series of commands.

EndEvent Marks the end of a section of event code.

EndEvent Allows applications to annotate the end of a range of graphics


commands.

Enter Enter a device's critical section.

ExecuteCommandList Queues commands from a command list onto a device.

FinishCommandList Create a command list and record graphics commands into it.

Flush Sends queued-up commands in the command buffer to the


graphics processing unit (GPU).

Flush1 Sends queued-up commands in the command buffer to the


graphics processing unit (GPU), with a specified context type
and an optional event handle to create an event query.

ForwardTransform Performs a forward FFT.

GenerateHlsl Generates Microsoft High Level Shader Language (HLSL)


shader code that represents the function-linking-graph.

GenerateMips Generates mipmaps for the given shader resource.

GetBaseClass Gets an ID3D11ShaderReflectionType Interface interface


containing the variable base class type.

GetBitwiseInstructionCount Gets the number of bitwise instructions.

GetBreakOnCategory Get a message category to break on when a message with


that category passes through the storage filter.

GetBreakOnID Get a message identifier to break on when a message with


that identifier passes through the storage filter.

GetBreakOnSeverity Get a message severity level to break on when a message


with that severity level passes through the storage filter.

GetBuffer This method returns the buffer of the current


ID3D11ShaderReflectionVariable.

GetBufferPointer Gets a pointer to the data.

GetBufferSize Gets the size.


T IT L E DESC RIP T IO N

GetClassInstance Gets the class-instance object that represents the specified


HLSL class.

GetClassLinkage Gets the ID3D11ClassLinkage object associated with the


current HLSL class.

GetCompletedValue Gets the current value of the fence.

GetConstantBufferByIndex Gets a constant buffer by index for a function.

GetConstantBufferByIndex Get a constant buffer by index.

GetConstantBufferByName Gets a constant buffer by name for a function.

GetConstantBufferByName Get a constant buffer by name.

GetContextFlags Gets the initialization flags associated with the deferred


context that created the command list.

GetContextFlags Gets the initialization flags associated with the current


deferred context.

GetConversionInstructionCount Gets the number of conversion instructions.

GetCreationFlags Get the flags used during the call to create the device with
D3D11CreateDevice.

GetData Get data from the graphics processing unit (GPU)


asynchronously.

GetDataSize Get the size of the data (in bytes) that is output when calling
ID3D11DeviceContext::GetData.

GetDesc Gets the description for blending state that you used to
create the blend-state object.

GetDesc Get the properties of a buffer resource.

GetDesc Gets a description of the current HLSL class.

GetDesc Get a counter description.

GetDesc Gets the description for depth-stencil state that you used to
create the depth-stencil-state object.

GetDesc Get the depth-stencil view.

GetDesc Get a query description.

GetDesc Gets the description for rasterizer state that you used to
create the rasterizer-state object.
T IT L E DESC RIP T IO N

GetDesc Get the properties of a render target view.

GetDesc Gets the description for sampler state that you used to create
the sampler-state object.

GetDesc Get the shader resource view's description.

GetDesc Get the properties of the texture resource.

GetDesc Get the properties of the texture resource.

GetDesc Get the properties of the texture resource.

GetDesc Get a description of the resource.

GetDesc Fills the parameter descriptor structure for the function's


parameter.

GetDesc Fills the function descriptor structure for the function.

GetDesc Fills the library descriptor structure for the library reflection.

GetDesc Get a shader description.

GetDesc Get a constant-buffer description.

GetDesc Get the description of a shader-reflection-variable type.

GetDesc Get a shader-variable description.

GetDesc1 Gets the description for blending state that you used to
create the blend-state object.

GetDesc1 Gets the description for rasterizer state that you used to
create the rasterizer-state object.

GetDesc1 Gets a query description.

GetDesc1 Gets the properties of a render-target view.

GetDesc1 Gets the shader-resource view's description.

GetDesc1 Gets the properties of the texture resource.

GetDesc1 Gets the properties of the texture resource.

GetDesc1 Gets a description of the resource.

GetDesc2 Gets the description for rasterizer state that you used to
create the rasterizer-state object.
T IT L E DESC RIP T IO N

GetDevice Get a pointer to the device that created this interface.

GetDeviceRemovedReason Get the reason why the device was removed.

GetEvictionPriority Get the eviction priority of a resource.

GetExceptionMode Get the exception-mode flags.

GetFeatureLevel Gets the feature level of the hardware device.

GetFeatureMask Get a bitfield of flags that indicates which debug features are
on or off.

GetForwardScale Gets the scale for forward transforms.

GetFunctionByIndex Gets the function reflector.

GetFunctionParameter Gets the function parameter reflector.

GetGSInputPrimitive Gets the geometry-shader input-primitive description.

GetHardwareProtectionState Gets whether hardware protection is enabled.

GetImmediateContext Gets an immediate context, which can play back command


lists.

GetImmediateContext1 Gets an immediate context, which can play back command


lists.

GetImmediateContext2 Gets an immediate context, which can play back command


lists.

GetImmediateContext3 Gets an immediate context, which can play back command


lists.

GetInitialRegisterContents Retrieves the initial contents of the specified input register.

GetInputParameterDesc Get an input-parameter description for a shader.

GetInstanceName Gets the instance name of the current HLSL class.

GetInterfaceByIndex Get an interface by index.

GetInterfaceSlot Gets the corresponding interface slot for a variable that


represents an interface pointer.

GetInverseScale Get the scale for inverse transforms.

GetLastError Gets the error from the last function call of the function-
linking-graph.
T IT L E DESC RIP T IO N

GetMemberTypeByIndex Get a shader-reflection-variable type by index.

GetMemberTypeByName Get a shader-reflection-variable type by name.

GetMemberTypeName Get a shader-reflection-variable type.

GetMessage Get a message from the message queue.

GetMessageCountLimit Get the maximum number of messages that can be added to


the message queue.

GetMinFeatureLevel Gets the minimum feature level.

GetMovcInstructionCount Gets the number of Movc instructions.

GetMovInstructionCount Gets the number of Mov instructions.

GetMultithreadProtected Find out if multithread protection is turned on or not.

GetMuteDebugOutput Get a boolean that turns the debug output on or off.

GetNumInterfaces Gets the number of interfaces.

GetNumInterfaceSlots Gets the number of interface slots in a shader.

GetNumMessagesAllowedByStorageFilter Get the number of messages that were allowed to pass


through a storage filter.

GetNumMessagesDeniedByStorageFilter Get the number of messages that were denied passage


through a storage filter.

GetNumMessagesDiscardedByMessageCountLimit Get the number of messages that were discarded due to the
message count limit.

GetNumStoredMessages Get the number of messages currently stored in the message


queue.

GetNumStoredMessagesAllowedByRetrievalFilter Get the number of messages that are able to pass through a
retrieval filter.

GetOutputParameterDesc Get an output-parameter description for a shader.

GetPatchConstantParameterDesc Get a patch-constant parameter description for a shader.

GetPredication Get the rendering predicate state.

GetPresentPerRenderOpDelay Get the number of milliseconds to sleep after


IDXGISwapChain::Present is called.

GetPrivateData Get application-defined data from a device.


T IT L E DESC RIP T IO N

GetPrivateData Get application-defined data from a device child.

GetReadRegister Retrieves information about a register that was read by a step


in the trace.

GetRequiresFlags Gets a group of flags that indicates the requirements of a


shader.

GetResource Get the resource that is accessed through this view.

GetResourceBindingDesc Gets a description of how a resource is bound to a function.

GetResourceBindingDesc Get a description of how a resource is bound to a shader.

GetResourceBindingDescByName Gets a description of how a resource is bound to a function.

GetResourceBindingDescByName Get a description of how a resource is bound to a shader.

GetResourceMinLOD Gets the minimum level-of-detail (LOD).

GetResourceTiling Gets info about how a tiled resource is broken into tiles.

GetRetrievalFilter Get the retrieval filter at the top of the retrieval-filter stack.

GetRetrievalFilterStackSize Get the size of the retrieval-filter stack in bytes.

GetStatus Determines whether the calling application is running under a


Microsoft Direct3D profiling tool.

GetStep Retrieves information about the specified step in the trace.

GetStorageFilter Get the storage filter at the top of the storage-filter stack.

GetStorageFilterStackSize Get the size of the storage-filter stack in bytes.

GetSubType Gets the base class of a class.

GetSwapChain Get the swap chain that the runtime will use for automatically
calling IDXGISwapChain::Present.

GetThreadGroupSize Retrieves the sizes, in units of threads, of the X, Y, and Z


dimensions of the shader's thread-group grid.

GetTraceStats Returns statistics about the trace.

GetType Gets the type of device context.

GetType Get the type of the resource.

GetType Get a shader-variable type.


T IT L E DESC RIP T IO N

GetTypeName Gets the type of the current HLSL class.

GetUseRef ID3D11SwitchToRef::GetUseRef method

GetVariableByIndex Get a shader-reflection variable by index.

GetVariableByName Gets a variable by name.

GetVariableByName Gets a variable by name.

GetVariableByName Get a shader-reflection variable by name.

GetWrittenRegister Retrieves information about a register that was written by a


step in the trace.

GSGetConstantBuffers Get the constant buffers used by the geometry shader


pipeline stage.

GSGetConstantBuffers1 Gets the constant buffers that the geometry shader pipeline
stage uses.

GSGetSamplers Get an array of sampler state interfaces from the geometry


shader pipeline stage.

GSGetShader Get the geometry shader currently set on the device.

GSGetShaderResources Get the geometry shader resources.

GSSetConstantBuffers Sets the constant buffers used by the geometry shader


pipeline stage.

GSSetConstantBuffers1 Sets the constant buffers that the geometry shader pipeline
stage uses.

GSSetSamplers Set an array of sampler states to the geometry shader


pipeline stage.

GSSetShader Set a geometry shader to the device.

GSSetShaderResources Bind an array of shader resources to the geometry shader


stage.

HSGetConstantBuffers Get the constant buffers used by the hull-shader stage.

HSGetConstantBuffers1 Gets the constant buffers that the hull-shader stage uses.

HSGetSamplers Get an array of sampler state interfaces from the hull-shader


stage.

HSGetShader Get the hull shader currently set on the device.

HSGetShaderResources Get the hull-shader resources.


T IT L E DESC RIP T IO N

HSSetConstantBuffers Set the constant buffers used by the hull-shader stage.

HSSetConstantBuffers1 Sets the constant buffers that the hull-shader stage of the
pipeline uses.

HSSetSamplers Set an array of sampler states to the hull-shader stage.

HSSetShader Set a hull shader to the device.

HSSetShaderResources Bind an array of shader resources to the hull-shader stage.

IAGetIndexBuffer Get a pointer to the index buffer that is bound to the input-
assembler stage.

IAGetInputLayout Get a pointer to the input-layout object that is bound to the


input-assembler stage.

IAGetPrimitiveTopology Get information about the primitive type, and data order that
describes input data for the input assembler stage.

IAGetVertexBuffers Get the vertex buffers bound to the input-assembler stage.

IASetIndexBuffer Bind an index buffer to the input-assembler stage.

IASetInputLayout Bind an input-layout object to the input-assembler stage.

IASetPrimitiveTopology Bind information about the primitive type, and data order
that describes input data for the input assembler stage.

IASetVertexBuffers Bind an array of vertex buffers to the input-assembler stage.

ImplementsInterface Indicates whether a class type implements an interface.

InverseTransform Performs an inverse FFT.

IsAnnotationEnabled Allows apps to determine when either a capture or profiling


request is enabled.

IsEqual Indicates whether two ID3D11ShaderReflectionType Interface


pointers have the same underlying type.

IsOfType Indicates whether a variable is of the specified type.

IsSampleFrequencyShader Indicates whether a shader is a sample frequency shader.

Leave Leave a device's critical section.

Link Links the shader and produces a shader blob that the
Direct3D runtime can use.

Map Gets a pointer to the data contained in a subresource, and


denies the GPU access to that subresource.
T IT L E DESC RIP T IO N

Multiscan Performs a multiscan of a sequence.

OMGetBlendState Get the blend state of the output-merger stage.

OMGetDepthStencilState Gets the depth-stencil state of the output-merger stage.

OMGetRenderTargets Get pointers to the resources bound to the output-merger


stage.

OMGetRenderTargetsAndUnorderedAccessViews Get pointers to the resources bound to the output-merger


stage.

OMSetBlendState Set the blend state of the output-merger stage.

OMSetDepthStencilState Sets the depth-stencil state of the output-merger stage.

OMSetRenderTargets Bind one or more render targets atomically and the depth-
stencil buffer to the output-merger stage.

OMSetRenderTargetsAndUnorderedAccessViews Binds resources to the output-merger stage.

Open A user-implemented method for opening and reading the


contents of a shader

OpenSharedFence Opens a handle for a shared fence by using HANDLE and


REFIID.

OpenSharedResource Give a device access to a shared resource created on a


different device.

OpenSharedResource1 Gives a device access to a shared resource that is referenced


by a handle and that was created on a different device.

OpenSharedResourceByName Gives a device access to a shared resource that is referenced


by name and that was created on a different device.

operator const D3D11_BLEND_DESC& This operator returns the address of a D3D11_BLEND_DESC


structure that contains the data from the
CD3D11_BLEND_DESC instance.

operator const D3D11_BOX& This operator returns the address of a D3D11_BOX structure
that contains the data from the CD3D11_BOX instance.

operator const D3D11_BUFFER_DESC& This operator returns the address of a D3D11_BUFFER_DESC


structure that contains the data from the
CD3D11_BUFFER_DESC instance.

operator const D3D11_COUNTER_DESC& This operator returns the address of a


D3D11_COUNTER_DESC structure that contains the data
from the CD3D11_COUNTER_DESC instance.
T IT L E DESC RIP T IO N

operator const D3D11_DEPTH_STENCIL_DESC& This operator returns the address of a


D3D11_DEPTH_STENCIL_DESC structure that contains the
data from the CD3D11_DEPTH_STENCIL_DESC instance.

operator const D3D11_DEPTH_STENCIL_VIEW_DESC& This operator returns the address of a


D3D11_DEPTH_STENCIL_VIEW_DESC structure that contains
the data from the CD3D11_DEPTH_STENCIL_VIEW_DESC
instance.

operator const D3D11_QUERY_DESC& This operator returns the address of a D3D11_QUERY_DESC


structure that contains the data from the
CD3D11_QUERY_DESC instance.

operator const D3D11_RASTERIZER_DESC& This operator returns the address of a


D3D11_RASTERIZER_DESC structure that contains the data
from the CD3D11_RASTERIZER_DESC instance.

operator const D3D11_RECT& This operator returns the address of a D3D11_RECT structure
that contains the data from the CD3D11_RECT instance.

operator const D3D11_RENDER_TARGET_VIEW_DESC& This operator returns the address of a


D3D11_RENDER_TARGET_VIEW_DESC structure that contains
the data from the CD3D11_RENDER_TARGET_VIEW_DESC
instance.

operator const D3D11_SAMPLER_DESC& This operator returns the address of a


D3D11_SAMPLER_DESC structure that contains the data from
the CD3D11_SAMPLER_DESC instance.

operator const D3D11_SHADER_RESOURCE_VIEW_DESC& This operator returns the address of a


D3D11_SHADER_RESOURCE_VIEW_DESC structure that
contains the data from the
CD3D11_SHADER_RESOURCE_VIEW_DESC instance.

operator const D3D11_TEXTURE1D_DESC& This operator returns the address of a


D3D11_TEXTURE1D_DESC structure that contains the data
from the CD3D11_TEXTURE1D_DESC instance.

operator const D3D11_TEXTURE2D_DESC& This operator returns the address of a


D3D11_TEXTURE2D_DESC structure that contains the data
from the CD3D11_TEXTURE2D_DESC instance.

operator const D3D11_TEXTURE3D_DESC& This operator returns the address of a


D3D11_TEXTURE3D_DESC structure that contains the data
from the CD3D11_TEXTURE3D_DESC instance.

operator const D3D11_UNORDERED_ACCESS_VIEW_DESC& This operator returns the address of a


D3D11_UNORDERED_ACCESS_VIEW_DESC structure that
contains the data from the
CD3D11_UNORDERED_ACCESS_VIEW_DESC instance.

operator const D3D11_VIEWPORT& This operator returns the address of a D3D11_VIEWPORT


structure that contains the data from the
CD3D11_VIEWPORT instance.
T IT L E DESC RIP T IO N

PassValue Passes a value from a source linking node to a destination


linking node.

PassValueWithSwizzle Passes a value with swizzle from a source linking node to a


destination linking node.

PopRetrievalFilter Pop a retrieval filter from the top of the retrieval-filter stack.

PopStorageFilter Pop a storage filter from the top of the storage-filter stack.

PSGetConstantBuffers Get the constant buffers used by the pixel shader pipeline
stage.

PSGetConstantBuffers1 Gets the constant buffers that the pixel shader pipeline stage
uses.

PSGetSamplers Get an array of sampler states from the pixel shader pipeline
stage.

PSGetShader Get the pixel shader currently set on the device.

PSGetShaderResources Get the pixel shader resources.

PSSelectStamp Sets the specified pixel-shader stamp.

PSSetConstantBuffers Sets the constant buffers used by the pixel shader pipeline
stage.

PSSetConstantBuffers1 Sets the constant buffers that the pixel shader pipeline stage
uses, and enables the shader to access other parts of the
buffer.

PSSetSamplers Set an array of sampler states to the pixel shader pipeline


stage.

PSSetShader Sets a pixel shader to the device.

PSSetShaderResources Bind an array of shader resources to the pixel shader stage.

PushCopyOfRetrievalFilter Push a copy of retrieval filter currently on the top of the


retrieval-filter stack onto the retrieval-filter stack.

PushCopyOfStorageFilter Push a copy of storage filter currently on the top of the


storage-filter stack onto the storage-filter stack.

PushEmptyRetrievalFilter Push an empty retrieval filter onto the retrieval-filter stack.

PushEmptyStorageFilter Push an empty storage filter onto the storage-filter stack.

PushRetrievalFilter Push a retrieval filter onto the retrieval-filter stack.

PushStorageFilter Push a storage filter onto the storage-filter stack.


T IT L E DESC RIP T IO N

ReadFromSubresource Copies data from a D3D11_USAGE_DEFAULTtexture which


was mapped using ID3D11DeviceContext3::Mapwhile
providing a NULL D3D11_MAPPED_SUBRESOURCEparameter.

RegisterDeviceRemovedEvent Registers the "device removed" event and indicates when a


Direct3D device has become removed for any reason, using
an asynchronous notification mechanism.

ReportLiveDeviceObjects Report information about a device object's lifetime.

ResetTrace Resets the shader-trace object.

ResizeTilePool Resizes a tile pool.

ResolveSubresource Copy a multisampled resource into a non-multisampled


resource.

RSGetScissorRects Get the array of scissor rectangles bound to the rasterizer


stage.

RSGetState Get the rasterizer state from the rasterizer stage of the
pipeline.

RSGetViewports Gets the array of viewports bound to the rasterizer stage.

RSSetScissorRects Bind an array of scissor rectangles to the rasterizer stage.

RSSetState Set the rasterizer state for the rasterizer stage of the pipeline.

RSSetViewports Bind an array of viewports to the rasterizer stage of the


pipeline.

Scan Performs an unsegmented scan of a sequence.

SegScan Performs a segmented scan of a sequence.

SetBreakOnCategory Set a message category to break on when a message with


that category passes through the storage filter.

SetBreakOnID Set a message identifier to break on when a message with


that identifier passes through the storage filter.

SetBreakOnSeverity Set a message severity level to break on when a message with


that severity level passes through the storage filter.

SetEventOnCompletion Specifies an event that should be fired when the fence reaches
a certain value.

SetEvictionPriority Set the eviction priority of a resource.

SetExceptionMode Get the exception-mode flags.


T IT L E DESC RIP T IO N

SetFeatureMask Set a bit field of flags that will turn debug features on and off.

SetForwardScale Sets the scale used for forward transforms.

SetHardwareProtectionState Sets the hardware protection state.

SetInputSignature Sets the input signature of the function-linking-graph.

SetInverseScale Sets the scale used for inverse transforms.

SetMarker Marks a single point of execution in code.

SetMarkerInt Allows applications to annotate graphics commands.

SetMessageCountLimit Set the maximum number of messages that can be added to


the message queue.

SetMultithreadProtected Turns multithread protection on or off.

SetMuteDebugOutput Set a boolean that turns the debug output on or off.

SetOutputSignature Sets the output signature of the function-linking-graph.

SetPredication Set a rendering predicate.

SetPresentPerRenderOpDelay Set the number of milliseconds to sleep after


IDXGISwapChain::Present is called.

SetPrivateData Set data to a device and associate that data with a guid.

SetPrivateData Set application-defined data to a device child and associate


that data with an application-defined guid.

SetPrivateDataInterface Associate an IUnknown-derived interface with this device


child and associate that interface with an application-defined
guid.

SetPrivateDataInterface Associate an IUnknown-derived interface with this device


child and associate that interface with an application-defined
guid.

SetResourceMinLOD Sets the minimum level-of-detail (LOD) for a resource.

SetScanDirection Sets which direction to perform scans in.

SetScanDirection Sets which direction to perform scans in.

SetShaderTrackingOptions Sets the reference rasterizer's race-condition tracking options


for a specific shader.

SetShaderTrackingOptionsByType Sets the reference rasterizer's default race-condition tracking


options for the specified resource types.
T IT L E DESC RIP T IO N

SetSwapChain Sets a swap chain that the runtime will use for automatically
calling IDXGISwapChain::Present.

SetTrackingOptions Sets graphics processing unit (GPU) debug reference default


tracking options for specific resource types.

SetTrackingOptions Sets graphics processing unit (GPU) debug reference tracking


options.

SetUseRef ID3D11SwitchToRef::SetUseRef method

Signal Updates a fence to a specified value after all previous work


has completed.

SOGetTargets Get the target output buffers for the stream-output stage of
the pipeline.

SOSetTargets Set the target output buffers for the stream-output stage of
the pipeline.

SwapDeviceContextState Activates the given context state object and changes the
current device behavior to Direct3D 11, Direct3D 10.1, or
Direct3D 10.

TiledResourceBarrier Specifies a data access ordering constraint between multiple


tiled resources.

TraceReady Specifies that the shader trace recorded and is ready to use.

Unmap Invalidate the pointer to a resource and reenable the GPU's


access to that resource.

UnregisterDeviceRemoved Unregisters the "device removed" event.

UpdateSubresource The CPU copies data from memory to a subresource created


in non-mappable memory.

UpdateSubresource1 The CPU copies data from memory to a subresource created


in non-mappable memory.

UpdateTileMappings Updates mappings of tile locations in tiled resources to


memory locations in a tile pool.

UpdateTiles Updates tiles by copying from app memory to the tiled


resource.

UseLibrary Adds an instance of a library module to be used for linking.

ValidateContext Check to see if the draw pipeline state is valid.

ValidateContextForDispatch Verifies whether the dispatch pipeline state is valid.


T IT L E DESC RIP T IO N

VSGetConstantBuffers Get the constant buffers used by the vertex shader pipeline
stage.

VSGetConstantBuffers1 Gets the constant buffers that the vertex shader pipeline
stage uses.

VSGetSamplers Get an array of sampler states from the vertex shader pipeline
stage.

VSGetShader Get the vertex shader currently set on the device.

VSGetShaderResources Get the vertex shader resources.

VSSetConstantBuffers Sets the constant buffers used by the vertex shader pipeline
stage.

VSSetConstantBuffers1 Sets the constant buffers that the vertex shader pipeline
stage uses.

VSSetSamplers Set an array of sampler states to the vertex shader pipeline


stage.

VSSetShader Set a vertex shader to the device.

VSSetShaderResources Bind an array of shader resources to the vertex-shader stage.

Wait Waits until the specified fence reaches or exceeds the specified
value before future work can begin.

WriteToSubresource Copies data into a D3D11_USAGE_DEFAULTtexture which was


mapped using ID3D11DeviceContext3::Mapwhile providing a
NULL D3D11_MAPPED_SUBRESOURCEparameter.

Interfaces
T IT L E DESC RIP T IO N

ID3D10Blob This interface is used to return arbitrary-length data.

ID3D11Asynchronous This interface encapsulates methods for retrieving data from


the GPU asynchronously.

ID3D11BlendState The blend-state interface holds a description for blending


state that you can bind to the output-merger stage.

ID3D11BlendState1 The blend-state interface holds a description for blending


state that you can bind to the output-merger stage. This
blend-state interface supports logical operations as well as
blending operations.
T IT L E DESC RIP T IO N

ID3D11Buffer A buffer interface accesses a buffer resource, which is


unstructured memory. Buffers typically store vertex or index
data.

ID3D11ClassInstance This interface encapsulates an HLSL class.

ID3D11ClassLinkage This interface encapsulates an HLSL dynamic linkage.

ID3D11CommandList The ID3D11CommandList interface encapsulates a list of


graphics commands for play back.

ID3D11ComputeShader A compute-shader interface manages an executable program


(a compute shader) that controls the compute-shader stage.

ID3D11Counter This interface encapsulates methods for measuring GPU


performance.

ID3D11Debug A debug interface controls debug settings, validates pipeline


state and can only be used if the debug layer is turned on.

ID3D11DepthStencilState The depth-stencil-state interface holds a description for


depth-stencil state that you can bind to the output-merger
stage.

ID3D11DepthStencilView A depth-stencil-view interface accesses a texture resource


during depth-stencil testing.

ID3D11Device The device interface represents a virtual adapter; it is used to


create resources.

ID3D11Device1 The device interface represents a virtual adapter; it is used to


create resources. ID3D11Device1 adds new methods to those
in ID3D11Device.

ID3D11Device2 The device interface represents a virtual adapter; it is used to


create resources. ID3D11Device2 adds new methods to those
in ID3D11Device1.

ID3D11Device3 The device interface represents a virtual adapter; it is used to


create resources. ID3D11Device3 adds new methods to those
in ID3D11Device2.

ID3D11Device4 The device interface represents a virtual adapter; it is used to


create resources. ID3D11Device4 adds new methods to those
in ID3D11Device3, such as RegisterDeviceRemovedEvent and
UnregisterDeviceRemoved.

ID3D11Device5 The device interface represents a virtual adapter; it is used to


create resources. ID3D11Device5 adds new methods to those
in ID3D11Device4.

ID3D11DeviceChild A device-child interface accesses data used by a device.


T IT L E DESC RIP T IO N

ID3D11DeviceContext The ID3D11DeviceContext interface represents a device


context which generates rendering commands.

ID3D11DeviceContext1 The device context interface represents a device context; it is


used to render commands. ID3D11DeviceContext1 adds new
methods to those in ID3D11DeviceContext.

ID3D11DeviceContext2 The device context interface represents a device context; it is


used to render commands. ID3D11DeviceContext2 adds new
methods to those in ID3D11DeviceContext1.

ID3D11DeviceContext3 The device context interface represents a device context; it is


used to render commands. ID3D11DeviceContext3 adds new
methods to those in ID3D11DeviceContext2.

ID3D11DeviceContext4 The device context interface represents a device context; it is


used to render commands. ID3D11DeviceContext4 adds new
methods to those in ID3D11DeviceContext3.

ID3D11DomainShader A domain-shader interface manages an executable program


(a domain shader) that controls the domain-shader stage.

ID3D11Fence Represents a fence, an object used for synchronization of the


CPU and one or more GPUs.

ID3D11FunctionLinkingGraph A function-linking-graph interface is used for constructing


shaders that consist of a sequence of precompiled function
calls that pass values to each other.

ID3D11FunctionParameterReflection A function-parameter-reflection interface accesses function-


parameter info.

ID3D11FunctionReflection A function-reflection interface accesses function info.

ID3D11GeometryShader A geometry-shader interface manages an executable program


(a geometry shader) that controls the geometry-shader
stage.

ID3D11HullShader A hull-shader interface manages an executable program (a


hull shader) that controls the hull-shader stage.

ID3D11InfoQueue An information-queue interface stores, retrieves, and filters


debug messages. The queue consists of a message queue, an
optional storage filter stack, and a optional retrieval filter
stack.

ID3D11InputLayout An input-layout interface holds a definition of how to feed


vertex data that is laid out in memory into the input-
assembler stage of the graphics pipeline.

ID3D11LibraryReflection A library-reflection interface accesses library info.

ID3D11Linker A linker interface is used to link a shader module.


T IT L E DESC RIP T IO N

ID3D11LinkingNode A linking-node interface is used for shader linking.

ID3D11Module A module interface creates an instance of a module that is


used for resource rebinding.

ID3D11ModuleInstance A module-instance interface is used for resource rebinding.

ID3D11Multithread Provides threading protection for critical sections of a multi-


threaded application.

ID3D11PixelShader A pixel-shader interface manages an executable program (a


pixel shader) that controls the pixel-shader stage.

ID3D11Predicate A predicate interface determines whether geometry should be


processed depending on the results of a previous draw call.

ID3D11Query A query interface queries information from the GPU.

ID3D11Query1 Represents a query object for querying information from the


graphics processing unit (GPU).

ID3D11RasterizerState The rasterizer-state interface holds a description for rasterizer


state that you can bind to the rasterizer stage.

ID3D11RasterizerState1 The rasterizer-state interface holds a description for rasterizer


state that you can bind to the rasterizer stage. This rasterizer-
state interface supports forced sample count.

ID3D11RasterizerState2 The rasterizer-state interface holds a description for rasterizer


state that you can bind to the rasterizer stage. This rasterizer-
state interface supports forced sample count and
conservative rasterization mode.

ID3D11RefDefaultTrackingOptions The default tracking interface sets reference default tracking


options.

ID3D11RefTrackingOptions The tracking interface sets reference tracking options.

ID3D11RenderTargetView A render-target-view interface identifies the render-target


subresources that can be accessed during rendering.

ID3D11RenderTargetView1 A render-target-view interface represents the render-target


subresources that can be accessed during rendering.

ID3D11Resource A resource interface provides common actions on all


resources.

ID3D11SamplerState The sampler-state interface holds a description for sampler


state that you can bind to any shader stage of the pipeline for
reference by texture sample operations.

ID3D11ShaderReflection A shader-reflection interface accesses shader information.


T IT L E DESC RIP T IO N

ID3D11ShaderReflectionConstantBuffer This shader-reflection interface provides access to a constant


buffer.

ID3D11ShaderReflectionType This shader-reflection interface provides access to variable


type.

ID3D11ShaderReflectionVariable This shader-reflection interface provides access to a variable.

ID3D11ShaderResourceView A shader-resource-view interface specifies the subresources a


shader can access during rendering. Examples of shader
resources include a constant buffer, a texture buffer, and a
texture.

ID3D11ShaderResourceView1 A shader-resource-view interface represents the subresources


a shader can access during rendering. Examples of shader
resources include a constant buffer, a texture buffer, and a
texture.

ID3D11ShaderTrace An ID3D11ShaderTrace interface implements methods for


obtaining traces of shader executions.

ID3D11ShaderTraceFactory An ID3D11ShaderTraceFactory interface implements a


method for generating shader trace information objects.

ID3D11SwitchToRef ID3D11SwitchToRef interface

ID3D11Texture1D A 1D texture interface accesses texel data, which is structured


memory.

ID3D11Texture2D A 2D texture interface manages texel data, which is structured


memory.

ID3D11Texture2D1 A 2D texture interface represents texel data, which is


structured memory.

ID3D11Texture3D A 3D texture interface accesses texel data, which is structured


memory.

ID3D11Texture3D1 A 3D texture interface represents texel data, which is


structured memory.

ID3D11TracingDevice The tracing device interface sets shader tracking information,


which enables accurate logging and playback of shader
execution.

ID3D11UnorderedAccessView A view interface specifies the parts of a resource the pipeline


can access during rendering.

ID3D11UnorderedAccessView1 An unordered-access-view interface represents the parts of a


resource the pipeline can access during rendering.

ID3D11VertexShader A vertex-shader interface manages an executable program (a


vertex shader) that controls the vertex-shader stage.
T IT L E DESC RIP T IO N

ID3D11View A view interface specifies the parts of a resource the pipeline


can access during rendering.

ID3DDeviceContextState The ID3DDeviceContextState interface represents a context


state object, which holds state and behavior information
about a Microsoft Direct3D device.

ID3DInclude ID3DInclude is an include interface that the user implements


to allow an application to call user-overridable methods for
opening and closing shader

ID3DUserDefinedAnnotation The ID3DUserDefinedAnnotation interface enables an


application to describe conceptual sections and markers
within the application's code flow.

ID3DX11FFT Encapsulates forward and inverse FFTs.

ID3DX11Scan Scan context.

ID3DX11SegmentedScan Segmented scan context.

Structures
T IT L E DESC RIP T IO N

CD3D11_BLEND_DESC Represents a blend-state structure and provides convenience


methods for creating blend-state structures.

CD3D11_BLEND_DESC1 Describes the blend state that you use in a call to


ID3D11Device1::CreateBlendState1 to create a blend-state
object.

CD3D11_BOX Represents a box and provides convenience methods for


creating boxes.

CD3D11_BUFFER_DESC Represents a buffer and provides convenience methods for


creating buffers.

CD3D11_COUNTER_DESC Represents a counter and provides convenience methods for


creating counters.

CD3D11_DEPTH_STENCIL_DESC Represents a depth-stencil-state structure and provides


convenience methods for creating depth-stencil-state
structures.

CD3D11_DEPTH_STENCIL_VIEW_DESC Represents a depth-stencil view and provides convenience


methods for creating depth-stencil views.

CD3D11_QUERY_DESC Represents a query and provides convenience methods for


creating queries.

CD3D11_QUERY_DESC1 Describes a query.


T IT L E DESC RIP T IO N

CD3D11_RASTERIZER_DESC Represents a rasterizer-state structure and provides


convenience methods for creating rasterizer-state structures.

CD3D11_RASTERIZER_DESC1 Describes rasterizer state.

CD3D11_RASTERIZER_DESC2 Describes rasterizer state.

CD3D11_RECT Represents a rectangle and provides convenience methods for


creating rectangles.

CD3D11_RENDER_TARGET_VIEW_DESC Represents a render-target view and provides convenience


methods for creating render-target views.

CD3D11_RENDER_TARGET_VIEW_DESC1 Describes the subresources from a resource that are


accessible using a render-target view.

CD3D11_SAMPLER_DESC Represents a sampler state and provides convenience


methods for creating sampler states.

CD3D11_SHADER_RESOURCE_VIEW_DESC Represents a shader-resource view and provides convenience


methods for creating shader-resource views.

CD3D11_SHADER_RESOURCE_VIEW_DESC1 Describes a shader-resource view.

CD3D11_TEXTURE1D_DESC Represents a 1D texture and provides convenience methods


for creating 1D textures.

CD3D11_TEXTURE2D_DESC Represents a 2D texture and provides convenience methods


for creating 2D textures.

CD3D11_TEXTURE2D_DESC1 Describes a 2D texture.

CD3D11_TEXTURE3D_DESC Represents a 3D texture and provides convenience methods


for creating 3D textures.

CD3D11_TEXTURE3D_DESC1 Describes a 3D texture.

CD3D11_UNORDERED_ACCESS_VIEW_DESC Represents a unordered-access view and provides


convenience methods for creating unordered-access views.

CD3D11_UNORDERED_ACCESS_VIEW_DESC1 Describes the subresources from a resource that are


accessible using an unordered-access view.

CD3D11_VIEWPORT Represents a viewport and provides convenience methods for


creating viewports.

D3D_SHADER_MACRO Defines a shader macro.

D3D11_BLEND_DESC Describes the blend state that you use in a call to


ID3D11Device::CreateBlendState to create a blend-state
object.
T IT L E DESC RIP T IO N

D3D11_BLEND_DESC1 Describes the blend state that you use in a call to


ID3D11Device1::CreateBlendState1 to create a blend-state
object.

D3D11_BOX Defines a 3D box.

D3D11_BUFFER_DESC Describes a buffer resource.

D3D11_BUFFER_RTV Specifies the elements in a buffer resource to use in a render-


target view.

D3D11_BUFFER_SRV Specifies the elements in a buffer resource to use in a shader-


resource view.

D3D11_BUFFER_UAV Describes the elements in a buffer to use in a unordered-


access view.

D3D11_BUFFEREX_SRV Describes the elements in a raw buffer resource to use in a


shader-resource view.

D3D11_CLASS_INSTANCE_DESC Describes an HLSL class instance.

D3D11_COMPUTE_SHADER_TRACE_DESC Describes an instance of a compute shader to trace.

D3D11_COUNTER_DESC Describes a counter.

D3D11_COUNTER_INFO Information about the video card's performance counter


capabilities.

D3D11_DEPTH_STENCIL_DESC Describes depth-stencil state.

D3D11_DEPTH_STENCIL_VIEW_DESC Specifies the subresources of a texture that are accessible


from a depth-stencil view.

D3D11_DEPTH_STENCILOP_DESC Stencil operations that can be performed based on the results


of stencil test.

D3D11_DOMAIN_SHADER_TRACE_DESC Describes an instance of a domain shader to trace.

D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS Arguments for draw indexed instanced indirect.

D3D11_DRAW_INSTANCED_INDIRECT_ARGS Arguments for draw instanced indirect.

D3D11_FEATURE_DATA_ARCHITECTURE_INFO Describes information about Direct3D 11.1 adapter


architecture.

D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS Describes compute shader and raw and structured buffer


support in the current graphics driver.

D3D11_FEATURE_DATA_D3D11_OPTIONS Describes Direct3D 11.1 feature options in the current


graphics driver.
T IT L E DESC RIP T IO N

D3D11_FEATURE_DATA_D3D11_OPTIONS1 Describes Direct3D 11.2 feature options in the current


graphics driver.

D3D11_FEATURE_DATA_D3D11_OPTIONS2 Describes Direct3D 11.3 feature options in the current


graphics driver.

D3D11_FEATURE_DATA_D3D11_OPTIONS3 Describes Direct3D 11.3 feature options in the current


graphics driver.

D3D11_FEATURE_DATA_D3D11_OPTIONS4 Describes Direct3D 11.4 feature options in the current


graphics driver.

D3D11_FEATURE_DATA_D3D9_OPTIONS Describes Direct3D 9 feature options in the current graphics


driver.

D3D11_FEATURE_DATA_D3D9_OPTIONS1 Describes Direct3D 9 feature options in the current graphics


driver.

D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT Describes Direct3D 9 shadow support in the current graphics


driver.

D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPO Describes whether simple instancing is supported.


RT

D3D11_FEATURE_DATA_DOUBLES Describes double data type support in the current graphics


driver.

D3D11_FEATURE_DATA_FORMAT_SUPPORT Describes which resources are supported by the current


graphics driver for a given format.

D3D11_FEATURE_DATA_FORMAT_SUPPORT2 Describes which unordered resource options are supported


by the current graphics driver for a given format.

D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT Describes feature data GPU virtual address support, including


maximum address bits per resource and per process.

D3D11_FEATURE_DATA_MARKER_SUPPORT Describes whether a GPU profiling technique is supported.

D3D11_FEATURE_DATA_SHADER_CACHE Describes the level of shader caching supported in the current


graphics driver.

D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT Describes precision support options for shaders in the current


graphics driver.

D3D11_FEATURE_DATA_THREADING Describes the multi-threading features that are supported by


the current graphics driver.

D3D11_FUNCTION_DESC Describes a function.

D3D11_GEOMETRY_SHADER_TRACE_DESC Describes an instance of a geometry shader to trace.

D3D11_HULL_SHADER_TRACE_DESC Describes an instance of a hull shader to trace.


T IT L E DESC RIP T IO N

D3D11_INFO_QUEUE_FILTER Debug message filter; contains a lists of message types to


allow or deny.

D3D11_INFO_QUEUE_FILTER_DESC Allow or deny certain types of messages to pass through a


filter.

D3D11_INPUT_ELEMENT_DESC A description of a single element for the input-assembler


stage.

D3D11_LIBRARY_DESC Describes a library.

D3D11_MAPPED_SUBRESOURCE Provides access to subresource data.

D3D11_MESSAGE A debug message in the Information Queue.

D3D11_PACKED_MIP_DESC Describes the tile structure of a tiled resource with mipmaps.

D3D11_PARAMETER_DESC Describes a function parameter.

D3D11_PIXEL_SHADER_TRACE_DESC Describes an instance of a pixel shader to trace.

D3D11_QUERY_DATA_PIPELINE_STATISTICS Query information about graphics-pipeline activity in


between calls to ID3D11DeviceContext::Begin and
ID3D11DeviceContext::End.

D3D11_QUERY_DATA_SO_STATISTICS Query information about the amount of data streamed out


to the stream-output buffers in between
ID3D11DeviceContext::Begin and ID3D11DeviceContext::End.

D3D11_QUERY_DATA_TIMESTAMP_DISJOINT Query information about the reliability of a timestamp query.

D3D11_QUERY_DESC Describes a query.

D3D11_QUERY_DESC1 Describes a query.

D3D11_RASTERIZER_DESC Describes rasterizer state.

D3D11_RASTERIZER_DESC1 Describes rasterizer state.

D3D11_RASTERIZER_DESC2 Describes rasterizer state.

D3D11_RENDER_TARGET_BLEND_DESC Describes the blend state for a render target.

D3D11_RENDER_TARGET_BLEND_DESC1 Describes the blend state for a render target.

D3D11_RENDER_TARGET_VIEW_DESC Specifies the subresources from a resource that are accessible


using a render-target view.

D3D11_RENDER_TARGET_VIEW_DESC1 Describes the subresources from a resource that are


accessible using a render-target view.

D3D11_SAMPLER_DESC Describes a sampler state.


T IT L E DESC RIP T IO N

D3D11_SHADER_BUFFER_DESC Describes a shader constant-buffer.

D3D11_SHADER_DESC Describes a shader.

D3D11_SHADER_INPUT_BIND_DESC Describes how a shader resource is bound to a shader input.

D3D11_SHADER_RESOURCE_VIEW_DESC Describes a shader-resource view.

D3D11_SHADER_RESOURCE_VIEW_DESC1 Describes a shader-resource view.

D3D11_SHADER_TRACE_DESC Describes a shader-trace object.

D3D11_SHADER_TYPE_DESC Describes a shader-variable type.

D3D11_SHADER_VARIABLE_DESC Describes a shader variable.

D3D11_SIGNATURE_PARAMETER_DESC Describes a shader signature.

D3D11_SO_DECLARATION_ENTRY Description of a vertex element in a vertex buffer in an output


slot.

D3D11_SUBRESOURCE_DATA Specifies data for initializing a subresource.

D3D11_SUBRESOURCE_TILING Describes a tiled subresource volume.

D3D11_TEX1D_ARRAY_DSV Specifies the subresources from an array of 1D textures to use


in a depth-stencil view.

D3D11_TEX1D_ARRAY_RTV Specifies the subresources from an array of 1D textures to use


in a render-target view.

D3D11_TEX1D_ARRAY_SRV Specifies the subresources from an array of 1D textures to use


in a shader-resource view.

D3D11_TEX1D_ARRAY_UAV Describes an array of unordered-access 1D texture resources.

D3D11_TEX1D_DSV Specifies the subresource from a 1D texture that is accessible


to a depth-stencil view.

D3D11_TEX1D_RTV Specifies the subresource from a 1D texture to use in a


render-target view.

D3D11_TEX1D_SRV Specifies the subresource from a 1D texture to use in a


shader-resource view.

D3D11_TEX1D_UAV Describes a unordered-access 1D texture resource.

D3D11_TEX2D_ARRAY_DSV Specifies the subresources from an array 2D textures that are


accessible to a depth-stencil view.

D3D11_TEX2D_ARRAY_RTV Specifies the subresources from an array of 2D textures to use


in a render-target view.
T IT L E DESC RIP T IO N

D3D11_TEX2D_ARRAY_RTV1 Describes the subresources from an array of 2D textures to


use in a render-target view.

D3D11_TEX2D_ARRAY_SRV Specifies the subresources from an array of 2D textures to use


in a shader-resource view.

D3D11_TEX2D_ARRAY_SRV1 Describes the subresources from an array of 2D textures to


use in a shader-resource view.

D3D11_TEX2D_ARRAY_UAV Describes an array of unordered-access 2D texture resources.

D3D11_TEX2D_ARRAY_UAV1 Describes an array of unordered-access 2D texture resources.

D3D11_TEX2D_DSV Specifies the subresource from a 2D texture that is accessible


to a depth-stencil view.

D3D11_TEX2D_RTV Specifies the subresource from a 2D texture to use in a


render-target view.

D3D11_TEX2D_RTV1 Describes the subresource from a 2D texture to use in a


render-target view.

D3D11_TEX2D_SRV Specifies the subresource from a 2D texture to use in a


shader-resource view.

D3D11_TEX2D_SRV1 Describes the subresource from a 2D texture to use in a


shader-resource view.

D3D11_TEX2D_UAV Describes a unordered-access 2D texture resource.

D3D11_TEX2D_UAV1 Describes a unordered-access 2D texture resource.

D3D11_TEX2DMS_ARRAY_DSV Specifies the subresources from an array of multisampled 2D


textures for a depth-stencil view.

D3D11_TEX2DMS_ARRAY_RTV Specifies the subresources from a an array of multisampled


2D textures to use in a render-target view.

D3D11_TEX2DMS_ARRAY_SRV Specifies the subresources from an array of multisampled 2D


textures to use in a shader-resource view.

D3D11_TEX2DMS_DSV Specifies the subresource from a multisampled 2D texture


that is accessible to a depth-stencil view.

D3D11_TEX2DMS_RTV Specifies the subresource from a multisampled 2D texture to


use in a render-target view.

D3D11_TEX2DMS_SRV Specifies the subresources from a multisampled 2D texture to


use in a shader-resource view.

D3D11_TEX3D_RTV Specifies the subresources from a 3D texture to use in a


render-target view.
T IT L E DESC RIP T IO N

D3D11_TEX3D_SRV Specifies the subresources from a 3D texture to use in a


shader-resource view.

D3D11_TEX3D_UAV Describes a unordered-access 3D texture resource.

D3D11_TEXCUBE_ARRAY_SRV Specifies the subresources from an array of cube textures to


use in a shader-resource view.

D3D11_TEXCUBE_SRV Specifies the subresource from a cube texture to use in a


shader-resource view.

D3D11_TEXTURE1D_DESC Describes a 1D texture.

D3D11_TEXTURE2D_DESC Describes a 2D texture.

D3D11_TEXTURE2D_DESC1 Describes a 2D texture.

D3D11_TEXTURE3D_DESC Describes a 3D texture.

D3D11_TEXTURE3D_DESC1 Describes a 3D texture.

D3D11_TILE_REGION_SIZE Describes the size of a tiled region.

D3D11_TILE_SHAPE Describes the shape of a tile by specifying its dimensions.

D3D11_TILED_RESOURCE_COORDINATE Describes the coordinates of a tiled resource.

D3D11_TRACE_REGISTER Describes a trace register.

D3D11_TRACE_STATS Specifies statistics about a trace.

D3D11_TRACE_STEP Describes a trace step, which is an instruction.

D3D11_TRACE_VALUE Describes a trace value.

D3D11_UNORDERED_ACCESS_VIEW_DESC Specifies the subresources from a resource that are accessible


using an unordered-access view.

D3D11_UNORDERED_ACCESS_VIEW_DESC1 Describes the subresources from a resource that are


accessible using an unordered-access view.

D3D11_VERTEX_SHADER_TRACE_DESC Describes an instance of a vertex shader to trace.

D3D11_VIEWPORT Defines the dimensions of a viewport.

D3DX11_FFT_BUFFER_INFO Describes buffer requirements for an FFT.

D3DX11_FFT_DESC Describes an FFT.


Direct3D 12 Graphics
3/16/2020 • 60 minutes to read • Edit Online

Overview of the Direct3D 12 Graphics technology.


To develop Direct3D 12 Graphics, you need these headers:
d3d11on12.h
d3d12.h
d3d12sdklayers.h
d3d12shader.h
For programming guidance for this technology, see:
Direct3D 12 Graphics

Enumerations
T IT L E DESC RIP T IO N

D3D_ROOT_SIGNATURE_VERSION Specifies the version of root signature layout.

D3D_SHADER_MODEL Specifies a shader model.

D3D12_BACKGROUND_PROCESSING_MODE Defines constants that specify a level of dynamic optimization


to apply to GPU work that's subsequently submitted.

D3D12_BLEND Specifies blend factors, which modulate values for the pixel
shader and render target.

D3D12_BLEND_OP Specifies RGB or alpha blending operations.

D3D12_BUFFER_SRV_FLAGS Identifies how to view a buffer resource.

D3D12_BUFFER_UAV_FLAGS Identifies unordered-access view options for a buffer resource.

D3D12_CLEAR_FLAGS Specifies what to clear from the depth stencil view.

D3D12_COLOR_WRITE_ENABLE Identifies which components of each pixel of a render target


are writable during blending.

D3D12_COMMAND_LIST_SUPPORT_FLAGS Used to determine which kinds of command lists are capable


of supporting various operations.

D3D12_COMMAND_LIST_TYPE Specifies the type of a command list.

D3D12_COMMAND_QUEUE_FLAGS Specifies flags to be used when creating a command queue.

D3D12_COMMAND_QUEUE_PRIORITY Defines priority levels for a command queue.


T IT L E DESC RIP T IO N

D3D12_COMPARISON_FUNC Specifies comparison options.

D3D12_CONSERVATIVE_RASTERIZATION_MODE Identifies whether conservative rasterization is on or off.

D3D12_CONSERVATIVE_RASTERIZATION_TIER Identifies the tier level of conservative rasterization.

D3D12_CPU_PAGE_PROPERTY Specifies the CPU-page properties for the heap.

D3D12_CROSS_NODE_SHARING_TIER Specifies the level of sharing across nodes of an adapter, such


as Tier 1 Emulated, Tier 1, or Tier 2.

D3D12_CULL_MODE Specifies triangles facing a particular direction are not drawn.

D3D12_DEBUG_COMMAND_LIST_PARAMETER_TYPE Indicates the debug parameter type used by


ID3D12DebugCommandList1::SetDebugParameter and
ID3D12DebugCommandList1::GetDebugParameter.

D3D12_DEBUG_DEVICE_PARAMETER_TYPE Specifies the data type of the memory pointed to by the


pData parameter of
ID3D12DebugDevice1::SetDebugParameter and
ID3D12DebugDevice1::GetDebugParameter.

D3D12_DEBUG_FEATURE Flags for optional D3D12 Debug Layer features.

D3D12_DEPTH_WRITE_MASK Identifies the portion of a depth-stencil buffer for writing


depth data.

D3D12_DESCRIPTOR_HEAP_FLAGS Specifies options for a heap.

D3D12_DESCRIPTOR_HEAP_TYPE Specifies a type of descriptor heap.

D3D12_DESCRIPTOR_RANGE_FLAGS Specifies the volatility of both descriptors and the data they
reference in a Root Signature 1.1 description, which can enable
some driver optimizations.

D3D12_DESCRIPTOR_RANGE_TYPE Specifies a range so that, for example, if part of a descriptor


table has 100 shader-resource views (SRVs) that range can be
declared in one entry rather than 100.

D3D12_DRIVER_MATCHING_IDENTIFIER_STATUS Specifies the result of a call to


ID3D12Device5::CheckDriverMatchingIdentifier which queries
whether serialized data is compatible with the current device
and driver version.

D3D12_DSV_DIMENSION Specifies how to access a resource used in a depth-stencil


view.

D3D12_DSV_FLAGS Specifies depth-stencil view options.

D3D12_ELEMENTS_LAYOUT Describes how the locations of elements are identified.

D3D12_EXPORT_FLAGS The flags to apply when exporting symbols from a state


subobject.
T IT L E DESC RIP T IO N

D3D12_FEATURE Defines constants that specify a Direct3D 12 feature or


feature set to query about.

D3D12_FENCE_FLAGS Specifies fence options.

D3D12_FILL_MODE Specifies the fill mode to use when rendering triangles.

D3D12_FILTER Specifies filtering options during texture sampling.

D3D12_FILTER_REDUCTION_TYPE Specifies the type of filter reduction.

D3D12_FILTER_TYPE Specifies the type of magnification or minification sampler


filters.

D3D12_FORMAT_SUPPORT1 Specifies resources that are supported for a provided format.

D3D12_FORMAT_SUPPORT2 Specifies which unordered resource options are supported for


a provided format.

D3D12_GPU_BASED_VALIDATION_FLAGS Describes the level of GPU-based validation to perform at


runtime.

D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_F Specifies how GPU-Based Validation handles patched pipeline


LAGS states during ID3D12Device::CreateGraphicsPipelineState and
ID3D12Device::CreateComputePipelineState.

D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE Specifies the type of shader patching used by GPU-Based


Validation at either the device or command list level.

D3D12_GRAPHICS_STATES Defines flags that specify states related to a graphics


command list. Values can be bitwise OR'd together.

D3D12_HEAP_FLAGS Specifies heap options, such as whether the heap can contain
textures, and whether resources are shared across adapters.

D3D12_HEAP_TYPE Specifies the type of heap. When resident, heaps reside in a


particular physical memory pool with certain CPU cache
properties.

D3D12_HIT_GROUP_TYPE Specifies the type of a raytracing hit group state subobject.


Use a value from this enumeration with the
D3D12_HIT_GROUP_DESC structure.

D3D12_INDEX_BUFFER_STRIP_CUT_VALUE When using triangle strip primitive topology, vertex positions


are interpreted as vertices of a continuous triangle “strip”.

D3D12_INDIRECT_ARGUMENT_TYPE Specifies the type of the indirect parameter.

D3D12_INPUT_CLASSIFICATION Identifies the type of data contained in an input slot.

D3D12_LOGIC_OP Specifies logical operations to configure for a render target.


T IT L E DESC RIP T IO N

D3D12_MEASUREMENTS_ACTION Defines constants that specify what should be done with the
results of earlier workload instrumentation.

D3D12_MEMORY_POOL Specifies the memory pool for the heap.

D3D12_MESSAGE_CATEGORY Specifies categories of debug messages.

D3D12_MESSAGE_ID Specifies debug message IDs for setting up an info-queue


filter (see D3D12_INFO_QUEUE_FILTER); use these messages
to allow or deny message categories to pass through the
storage and retrieval filters.

D3D12_MESSAGE_SEVERITY Debug message severity levels for an information queue.

D3D12_META_COMMAND_PARAMETER_FLAGS Defines constants that specify the flags for a parameter to a


meta command. Values can be bitwise OR'd together.

D3D12_META_COMMAND_PARAMETER_STAGE Defines constants that specify the stage of a parameter to a


meta command.

D3D12_META_COMMAND_PARAMETER_TYPE Defines constants that specify the data type of a parameter to


a meta command.

D3D12_MULTIPLE_FENCE_WAIT_FLAGS Specifies multiple wait flags for multiple fences.

D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS Specifies options for determining quality levels.

D3D12_PIPELINE_STATE_FLAGS Flags to control pipeline state.

D3D12_PIPELINE_STATE_SUBOBJECT_TYPE Specifies the type of a sub-object in a pipeline state stream


description.

D3D12_PREDICATION_OP Specifies the predication operation to apply.

D3D12_PRIMITIVE_TOPOLOGY_TYPE Specifies how the pipeline interprets geometry or hull shader


input primitives.

D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER Specifies the level of support for programmable sample


positions that's offered by the adapter.

D3D12_PROTECTED_RESOURCE_SESSION_FLAGS Defines constants that specify protected resource session


flags.

D3D12_QUERY_HEAP_TYPE Specifies the type of query heap to create.

D3D12_QUERY_TYPE Specifies the type of query.

D3D12_RAY_FLAGS Flags passed to the TraceRay function to override


transparency, culling, and early-out behavior.
T IT L E DESC RIP T IO N

D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FL Specifies flags for the build of a raytracing acceleration


AGS structure. Use a value from this enumeration with the
D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_IN
PUTS structure that provides input to the acceleration
structure build operation.

D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_M Specifies the type of copy operation performed when calling


ODE CopyRaytracingAccelerationStructure.

D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUIL Specifies the type of acceleration structure post-build info that


D_INFO_TYPE can be retrieved with calls to
EmitRaytracingAccelerationStructurePostbuildInfo and
BuildRaytracingAccelerationStructure.

D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Specifies the type of a raytracing acceleration structure.

D3D12_RAYTRACING_GEOMETRY_FLAGS Specifies flags for raytracing geometry in a


D3D12_RAYTRACING_GEOMETRY_DESC structure.

D3D12_RAYTRACING_GEOMETRY_TYPE Specifies the type of geometry used for raytracing. Use a


value from this enumeration to specify the geometry type in a
D3D12_RAYTRACING_GEOMETRY_DESC.

D3D12_RAYTRACING_INSTANCE_FLAGS Flags for a raytracing acceleration structure instance. These


flags can be used to override
D3D12_RAYTRACING_GEOMETRY_FLAGS for individual
instances.

D3D12_RAYTRACING_TIER Specifies the level of ray tracing support on the graphics


device.

D3D12_RENDER_PASS_BEGINNING_ACCESS_TYPE Specifies the type of access that an application is given to the


specified resource(s) at the transition into a render pass.

D3D12_RENDER_PASS_ENDING_ACCESS_TYPE Specifies the type of access that an application is given to the


specified resource(s) at the transition out of a render pass.

D3D12_RENDER_PASS_FLAGS Specifies the nature of the render pass; for example, whether it
is a suspending or a resuming render pass.

D3D12_RENDER_PASS_TIER Specifies the level of support for render passes on a graphics


device.

D3D12_RESIDENCY_FLAGS Used with the EnqueuMakeResident function to choose how


residency operations proceed when the memory budget is
exceeded.

D3D12_RESIDENCY_PRIORITY Specifies broad residency priority buckets useful for quickly


establishing an application priority scheme.

D3D12_RESOLVE_MODE Specifies a resolve operation.

D3D12_RESOURCE_BARRIER_FLAGS Flags for setting split resource barriers.


T IT L E DESC RIP T IO N

D3D12_RESOURCE_BARRIER_TYPE Specifies a type of resource barrier (transition in resource use)


description.

D3D12_RESOURCE_BINDING_TIER Identifies the tier of resource binding being used.

D3D12_RESOURCE_DIMENSION Identifies the type of resource being used.

D3D12_RESOURCE_FLAGS Specifies options for working with resources.

D3D12_RESOURCE_HEAP_TIER Specifies which resource heap tier the hardware and driver
support.

D3D12_RESOURCE_STATES Defines constants that specify the state of a resource


regarding how the resource is being used.

D3D12_RLDO_FLAGS Specifies options for the amount of information to report


about a live device object's lifetime.

D3D12_ROOT_DESCRIPTOR_FLAGS Specifies the volatility of the data referenced by descriptors in


a Root Signature 1.1 description, which can enable some
driver optimizations.

D3D12_ROOT_PARAMETER_TYPE Specifies the type of root signature slot.

D3D12_ROOT_SIGNATURE_FLAGS Specifies options for root signature layout.

D3D12_RTV_DIMENSION Identifies the type of resource to view as a render target.

D3D12_SERIALIZED_DATA_TYPE Specifies the type of serialized data. Use a value from this
enumeration when calling
ID3D12Device5::CheckDriverMatchingIdentifier.

D3D12_SHADER_CACHE_SUPPORT_FLAGS Describes the level of support for shader caching in the


current graphics driver.

D3D12_SHADER_COMPONENT_MAPPING Specifies how memory gets routed by a shader resource view


(SRV).

D3D12_SHADER_MIN_PRECISION_SUPPORT Describes minimum precision support options for shaders in


the current graphics driver.

D3D12_SHADER_VERSION_TYPE Enumerates the types of shaders that Direct3D recognizes.


Used to encode the Version member of the
D3D12_SHADER_DESC structure.

D3D12_SHADER_VISIBILITY Specifies the shaders that can access the contents of a given
root signature slot.

D3D12_SRV_DIMENSION Identifies the type of resource that will be viewed as a shader


resource.

D3D12_STATE_OBJECT_FLAGS Specifies constraints for state objects. Use values from this
enumeration in the D3D12_STATE_OBJECT_CONFIG structure.
T IT L E DESC RIP T IO N

D3D12_STATE_OBJECT_TYPE Specifies the type of a state object. Use with


D3D12_STATE_OBJECT_DESC.

D3D12_STATE_SUBOBJECT_TYPE The type of a state subobject. Use with


D3D12_STATE_SUBOBJECT.

D3D12_STATIC_BORDER_COLOR Specifies the border color for a static sampler.

D3D12_STENCIL_OP Identifies the stencil operations that can be performed during


depth-stencil testing.

D3D12_TEXTURE_ADDRESS_MODE Identifies a technique for resolving texture coordinates that


are outside of the boundaries of a texture.

D3D12_TEXTURE_COPY_TYPE Specifies what type of texture copy is to take place.

D3D12_TEXTURE_LAYOUT Specifies texture layout options.

D3D12_TILE_COPY_FLAGS Specifies how to copy a tile.

D3D12_TILE_MAPPING_FLAGS Specifies how to perform a tile-mapping operation.

D3D12_TILE_RANGE_FLAGS Specifies a range of tile mappings.

D3D12_TILED_RESOURCES_TIER Identifies the tier level at which tiled resources are supported.

D3D12_UAV_DIMENSION Identifies unordered-access view options.

D3D12_VIEW_INSTANCING_FLAGS Specifies options for view instancing.

D3D12_VIEW_INSTANCING_TIER Indicates the tier level at which view instancing is supported.

D3D12_WRITEBUFFERIMMEDIATE_MODE Specifies the mode used by a WriteBufferImmediate operation.

DML_BINDING_TYPE Defines constants that specify the nature of the resource(s)


referred to by a binding description (a DML_BINDING_DESC
structure).

DML_CONVOLUTION_DIRECTION Defines constants that specify a direction for the DirectML


convolution operator (as described by the
DML_CONVOLUTION_OPERATOR_DESC structure).

DML_CONVOLUTION_MODE Defines constants that specify a mode for the DirectML


convolution operator (as described by the
DML_CONVOLUTION_OPERATOR_DESC structure).

DML_CREATE_DEVICE_FLAGS Supplies additional device creation options to


DMLCreateDevice. Values can be bitwise OR'd together.

DML_EXECUTION_FLAGS Supplies options to DirectML to control execution of


operators. These flags can be bitwise OR'd together to specify
multiple flags at once.
T IT L E DESC RIP T IO N

DML_FEATURE Defines a set of optional features and capabilities that can be


queried from the DirectML device.

DML_INTERPOLATION_MODE Defines constants that specify a mode for the DirectML


upsample 2-D operator (as described by the
DML_UPSAMPLE_2D_OPERATOR_DESC structure).

DML_MATRIX_TRANSFORM Defines constants that specify a matrix transform to be


applied to a DirectML tensor.

DML_OPERATOR_TYPE Defines the type of an operator description.

DML_PADDING_MODE Defines constants that specify a mode for the DirectML pad
operator (as described by the
DML_PADDING_OPERATOR_DESC structure).

DML_RECURRENT_NETWORK_DIRECTION Defines constants that specify a direction for a recurrent


DirectML operator.

DML_REDUCE_FUNCTION Defines constants that specify the specific reduction algorithm


to use for the DirectML reduce operator (as described by the
DML_REDUCE_OPERATOR_DESC structure).

DML_TENSOR_DATA_TYPE Specifies the data type of the values in a tensor. DirectML


operators may not support all data types; see the
documentation for each specific operator to find which data
types it supports.

DML_TENSOR_FLAGS Specifies additional options in a tensor description. Values can


be bitwise OR'd together.

DML_TENSOR_TYPE Identifies a type of tensor description.

Functions
T IT L E DESC RIP T IO N

AcquireWrappedResources Acquires D3D11 resources for use with D3D 11on12.


Indicates that rendering to the wrapped resources can begin
again.

AddApplicationMessage Adds a user-defined message to the message queue and


sends that message to debug output.

AddMessage Adds a debug message to the message queue and sends that
message to debug output.

AddRetrievalFilterEntries Add storage filters to the top of the retrieval-filter stack.

AddStorageFilterEntries Add storage filters to the top of the storage-filter stack.

AssertResourceState Checks whether a resource, or subresource, is in a specified


state, or not.
T IT L E DESC RIP T IO N

AssertResourceState Validates that the given state matches the state of the
subresource, assuming the state of the given subresource is
known during recording of a command list (e.g.

AssertResourceState Checks whether a resource, or subresource, is in a specified


state, or not.

AtomicCopyBufferUINT Atomically copies a primary data element of type UINT from


one resource to another, along with optional dependent
resources.

AtomicCopyBufferUINT64 Atomically copies a primary data element of type UINT64


from one resource to another, along with optional dependent
resources.

BeginEvent Not intended to be called directly. Use the PIX event runtime
to insert events into a command queue.

BeginEvent Not intended to be called directly. Use the PIX event runtime
to insert events into a command list.

BeginQuery Starts a query running.

BeginRenderPass Marks the beginning of a render pass by binding a set of


output resources for the duration of the render pass. These
bindings are to one or more render target views (RTVs),
and/or to a depth stencil view (DSV).

BindInputs Binds a set of resources as input tensors.

BindOutputs Binds a set of resources as output tensors.

BindPersistentResource Binds a buffer as a persistent resource. You can determine the


required size of this buffer range by calling
IDMLDispatchable::GetBindingProperties.

BindTemporaryResource Binds a buffer to use as temporary scratch memory. You can


determine the required size of this buffer range by calling
IDMLDispatchable::GetBindingProperties.

BuildRaytracingAccelerationStructure Performs a raytracing acceleration structure build on the GPU


and optionally outputs post-build information immediately
after the build.

CheckDriverMatchingIdentifier Reports the compatibility of serialized data, such as a serialized


raytracing acceleration structure resulting from a call to
CopyRaytracingAccelerationStructure with mode
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_COPY_M
ODE_SERIALIZE, with the current device/driver.

CheckFeatureSupport Gets information about the features that are supported by


the current graphics driver.

CheckFeatureSupport Gets information about the optional features and capabilities


that are supported by the DirectML device.
T IT L E DESC RIP T IO N

ClearDepthStencilView Clears the depth-stencil resource.

ClearRenderTargetView Sets all the elements in a render target to one value.

ClearRetrievalFilter Remove a retrieval filter from the top of the retrieval-filter


stack.

ClearState Resets the state of a direct command list back to the state it
was in when the command list was created.

ClearStorageFilter Remove a storage filter from the top of the storage-filter


stack.

ClearStoredMessages Clear all messages from the message queue.

ClearUnorderedAccessViewFloat Sets all the elements in a unordered access view to the


specified float values.

ClearUnorderedAccessViewUint Sets all the elements in a unordered-access view (UAV) to the


specified integer values.

Close Indicates that recording to the command list has finished.

CompileOperator Compiles an operator into an object that can be dispatched to


the GPU.

CopyBufferRegion Copies a region of a buffer from one resource to another.

CopyDescriptors Copies descriptors from a source to a destination.

CopyDescriptorsSimple Copies descriptors from a source to a destination.

CopyRaytracingAccelerationStructure Copies a source acceleration structure to destination memory


while applying the specified transformation.

CopyResource Copies the entire contents of the source resource to the


destination resource.

CopyTextureRegion This method uses the GPU to copy texture data between two
locations. Both the source and the destination may reference
texture data located within either a buffer resource or a
texture resource.

CopyTileMappings Copies mappings from a source reserved resource to a


destination reserved resource.

CopyTiles Copies tiles from buffer to tiled resource or vice versa.

CreateBindingTable Creates a binding table, which is an object that can be used to


bind resources (such as tensors) to the pipeline.
T IT L E DESC RIP T IO N

CreateCommandAllocator Creates a command allocator object.

CreateCommandList Creates a command list.

CreateCommandList1 Creates a command list in the closed state.

CreateCommandQueue Creates a command queue.

CreateCommandRecorder Creates a DirectML command recorder.

CreateCommandSignature This method creates a command signature.

CreateCommittedResource Creates both a resource and an implicit heap, such that the
heap is big enough to contain the entire resource, and the
resource is mapped to the heap.

CreateCommittedResource1 Creates both a resource and an implicit heap (optionally for a


protected session), such that the heap is big enough to
contain the entire resource, and the resource is mapped to
the heap.

CreateComputePipelineState Creates a compute pipeline state object.

CreateConstantBufferView Creates a constant-buffer view for accessing resource data.

CreateDepthStencilView Creates a depth-stencil view for accessing resource data.

CreateDescriptorHeap Creates a descriptor heap object.

CreateFence Creates a fence object.

CreateGraphicsPipelineState Creates a graphics pipeline state object.

CreateHeap Creates a heap that can be used with placed resources and
reserved resources.

CreateHeap1 Creates a heap (optionally for a protected session) that can be


used with placed resources and reserved resources.

CreateLifetimeTracker Creates a lifetime tracker associated with an application-


defined callback; the callback receives notifications when the
lifetime of a tracked object is changed.

CreateMetaCommand Creates an instance of the specified meta command.

CreateOperator Creates a DirectML operator.

CreateOperatorInitializer Creates an object that can be used to initialize compiled


operators.

CreatePipelineLibrary Creates a cached pipeline library.


T IT L E DESC RIP T IO N

CreatePipelineState Creates a pipeline state object from a pipeline state stream


description.

CreatePlacedResource Creates a resource that is placed in a specific heap. Placed


resources are the lightest weight resource objects available,
and are the fastest to create and destroy.

CreateProtectedResourceSession Creates an object that represents a session for content


protection.

CreateQueryHeap Creates a query heap. A query heap contains an array of


queries.

CreateRenderTargetView Creates a render-target view for accessing resource data.

CreateReservedResource Creates a resource that is reserved, and not yet mapped to


any pages in a heap.

CreateReservedResource1 Creates a resource (optionally for a protected session) that is


reserved, and not yet mapped to any pages in a heap.

CreateRootSignature Creates a root signature layout.

CreateSampler Create a sampler object that encapsulates sampling


information for a texture.

CreateShaderResourceView Creates a shader-resource view for accessing data in a


resource.

CreateSharedHandle Creates a shared handle to an heap, resource, or fence object.

CreateStateObject Creates an ID3D12StateObject.

CreateUnorderedAccessView Creates a view for unordered accessing.

CreateWrappedResource This method creates D3D11 resources for use with D3D
11on12.

D3D11On12CreateDevice Creates a device that uses Direct3D 11 functionality in


Direct3D 12, specifying a pre-existing Direct3D 12 device to
use for Direct3D 11 interop.

D3D12CreateDevice Creates a device that represents the display adapter.

D3D12CreateRootSignatureDeserializer Deserializes a root signature so you can determine the layout


definition (D3D12_ROOT_SIGNATURE_DESC).

D3D12CreateVersionedRootSignatureDeserializer Generates an interface that can return the deserialized data


structure, via GetUnconvertedRootSignatureDesc.

D3D12EnableExperimentalFeatures Enables a list of experimental features.

D3D12GetDebugInterface Gets a debug interface.


T IT L E DESC RIP T IO N

D3D12SerializeRootSignature Serializes a root signature version 1.0 that can be passed to


ID3D12Device::CreateRootSignature.

D3D12SerializeVersionedRootSignature Serializes a root signature of any version that can be passed


to ID3D12Device::CreateRootSignature.

DestroyOwnedObject Destroys a lifetime-tracked object.

DiscardResource Discards a resource.

Dispatch Executes a command list from a thread group.

DispatchRays Launch the threads of a ray generation shader.

DMLCreateDevice Creates a DirectML device for a given Direct3D 12 device.

DrawIndexedInstanced Draws indexed, instanced primitives.

DrawInstanced Draws non-indexed, instanced primitives.

EmitRaytracingAccelerationStructurePostbuildInfo Emits post-build properties for a set of acceleration structures.


This enables applications to know the output resource
requirements for performing acceleration structure operations
via
ID3D12GraphicsCommandList4::CopyRaytracingAccelerationSt
ructure.

EnableDebugLayer Enables the debug layer.

EnableDebugLayer Enables the debug layer.

EnableShaderInstrumentation This method enables tools such as PIX to instrument shaders.

EndEvent Not intended to be called directly. Use the PIX event runtime
to insert events into a command queue.

EndEvent Not intended to be called directly. Use the PIX event runtime
to insert events into a command list.

EndQuery Ends a running query.

EndRenderPass Marks the ending of a render pass.

EnqueueMakeResident Asynchronously makes objects resident for the device.

EnumerateMetaCommandParameters Queries reflection metadata about the parameters of the


specified meta command.

EnumerateMetaCommands Queries reflection metadata about available meta commands.

Evict Enables the page-out of data, which precludes GPU access of


that data.
T IT L E DESC RIP T IO N

Evict Evicts one or more pageable objects from GPU memory. Also
see IDMLDevice::MakeResident.

ExecuteBundle Executes a bundle.

ExecuteCommandLists Submits an array of command lists for execution.

ExecuteIndirect Apps perform indirect draws/dispatches using the


ExecuteIndirect method.

ExecuteMetaCommand Records the execution (or invocation) of the specified meta


command into a graphics command list.

GetAdapterLuid Gets a locally unique identifier for the current device (adapter).

GetAutoBreadcrumbsOutput Retrieves the Device Removed Extended Data (DRED) auto-


breadcrumbs output after device removal.

GetBaseClass Gets an ID3D12ShaderReflectionType Interface interface


containing the variable base class type.

GetBindingProperties Retrieves the binding properties for a dispatchable object (an


operator initializer, or a compiled operator).

GetBitwiseInstructionCount Gets the number of bitwise instructions.

GetBreakOnCategory Get a message category to break on when a message with


that category passes through the storage filter.

GetBreakOnID Get a message identifier to break on when a message with


that identifier passes through the storage filter.

GetBreakOnSeverity Get a message severity level to break on when a message


with that severity level passes through the storage filter.

GetBuffer Returns the ID3D12ShaderReflectionConstantBuffer of the


present ID3D12ShaderReflectionVariable.

GetCachedBlob Gets the cached blob representing the pipeline state.

GetClockCalibration This method samples the CPU and GPU timestamp counters
at the same moment in time.

GetCompletedValue Gets the current value of the fence.

GetConstantBufferByIndex Gets a constant buffer by index for a function.

GetConstantBufferByIndex Gets a constant buffer by index.

GetConstantBufferByName Gets a constant buffer by name for a function.

GetConstantBufferByName Gets a constant buffer by name.


T IT L E DESC RIP T IO N

GetConversionInstructionCount Gets the number of conversion instructions.

GetCopyableFootprints Gets a resource layout that can be copied. Helps the app fill-in
D3D12_PLACED_SUBRESOURCE_FOOTPRINT and
D3D12_SUBRESOURCE_FOOTPRINT when suballocating space
in upload heaps.

GetCPUDescriptorHandleForHeapStart Gets the CPU descriptor handle that represents the start of
the heap.

GetCreationFlags Gets the flags used to create the fence represented by the
current instance.

GetCustomHeapProperties Divulges the equivalent custom heap properties that are used
for non-custom heap types, based on the adapter's
architectural properties.

GetDebugParameter Gets optional Command List Debug Layer settings.

GetDebugParameter Gets optional device-wide Debug Layer settings.

GetDesc Gets the description of the command queue.

GetDesc Gets the descriptor heap description.

GetDesc Gets the heap description.

GetDesc Retrieves a description of the protected resource session.

GetDesc Gets the resource description.

GetDesc Fills the parameter descriptor structure for the function's


parameter.

GetDesc Fills the function descriptor structure for the function.

GetDesc Fills the library descriptor structure for the library reflection.

GetDesc Gets a shader description.

GetDesc Gets a constant-buffer description.

GetDesc Gets the description of a shader-reflection-variable type.

GetDesc Gets a shader-variable description.

GetDescriptorHandleIncrementSize Gets the size of the handle increment for the given type of
descriptor heap. This value is typically used to increment a
handle into a descriptor array by the correct amount.

GetDevice Gets a pointer to the device that created this interface.


T IT L E DESC RIP T IO N

GetDevice Retrieves the DirectML device that was used to create this
object.

GetDeviceRemovedReason Gets the reason that the device was removed.

GetDeviceRemovedReason Retrieves the reason that the DirectML device was removed.

GetFeatureMask Returns the debug feature flags that have been set on a
command list.

GetFeatureMask Gets a bit field of flags that indicates which debug features are
on or off.

GetFunctionByIndex Gets the function reflector.

GetFunctionParameter Gets the function parameter reflector.

GetGPUDescriptorHandleForHeapStart Gets the GPU descriptor handle that represents the start of
the heap.

GetGPUVirtualAddress This method returns the GPU virtual address of a buffer


resource.

GetGSInputPrimitive Gets the geometry-shader input-primitive description.

GetHeapProperties Retrieves the properties of the resource heap, for placed and
committed resources.

GetInputParameterDesc Gets an input-parameter description for a shader.

GetInterfaceByIndex Gets an interface by index.

GetInterfaceSlot Gets the corresponding interface slot for a variable that


represents an interface pointer.

GetMemberTypeByIndex Gets a shader-reflection-variable type by index.

GetMemberTypeByName Gets a shader-reflection-variable type by name.

GetMemberTypeName Gets a shader-reflection-variable type.

GetMessage Get a message from the message queue.

GetMessageCountLimit Get the maximum number of messages that can be added to


the message queue.

GetMinFeatureLevel Gets the minimum feature level.

GetMovcInstructionCount Gets the number of Movc instructions.

GetMovInstructionCount Gets the number of Mov instructions.


T IT L E DESC RIP T IO N

GetMuteDebugOutput Get a boolean that determines if debug output is on or off.

GetNodeCount Reports the number of physical adapters (nodes) that are


associated with this device.

GetNumInterfaces Gets the number of interfaces.

GetNumInterfaceSlots Gets the number of interface slots in a shader.

GetNumMessagesAllowedByStorageFilter Get the number of messages that were allowed to pass


through a storage filter.

GetNumMessagesDeniedByStorageFilter Get the number of messages that were denied passage


through a storage filter.

GetNumMessagesDiscardedByMessageCountLimit Get the number of messages that were discarded due to the
message count limit.

GetNumStoredMessages Get the number of messages currently stored in the message


queue.

GetNumStoredMessagesAllowedByRetrievalFilter Get the number of messages that are able to pass through a
retrieval filter.

GetOutputParameterDesc Gets an output-parameter description for a shader.

GetPageFaultAllocationOutput Retrieves the Device Removed Extended Data (DRED) page


fault data.

GetParentDevice Retrieves the Direct3D 12 device that was used to create this
DirectML device.

GetPatchConstantParameterDesc Gets a patch-constant parameter description for a shader.

GetPipelineStackSize Gets the current pipeline stack size.

GetPrivateData Gets application-defined data from a device object.

GetPrivateData Gets application-defined data from a DirectML device object.

GetRaytracingAccelerationStructurePrebuildInfo Query the driver for resource requirements to build an


acceleration structure.

GetRequiredParameterResourceSize Retrieves the amount of memory required for the specified


runtime parameter resource for a meta command, for the
specified stage.

GetRequiresFlags Gets a group of flags that indicates the requirements of a


shader.

GetResourceAllocationInfo Gets the size and alignment of memory required for a


collection of resources on this adapter.
T IT L E DESC RIP T IO N

GetResourceAllocationInfo1 Gets rich info about the size and alignment of memory
required for a collection of resources on this adapter.

GetResourceBindingDesc Gets a description of how a resource is bound to a function.

GetResourceBindingDesc Gets a description of how a resource is bound to a shader.

GetResourceBindingDescByName Gets a description of how a resource is bound to a function.

GetResourceBindingDescByName Gets a description of how a resource is bound to a shader.

GetResourceTiling Gets info about how a tiled resource is broken into tiles.

GetRetrievalFilter Get the retrieval filter at the top of the retrieval-filter stack.

GetRetrievalFilterStackSize Get the size of the retrieval-filter stack in bytes.

GetRootSignatureDesc Gets the layout of the root signature.

GetRootSignatureDescAtVersion Converts root signature description structures to a requested


version.

GetSerializedSize Returns the amount of memory required to serialize the


current contents of the database.

GetSessionStatus Gets the status of the protected session.

GetShaderIdentifier Retrieves the unique identifier for a shader that can be used in
a shader record.

GetShaderStackSize Gets the amount of stack memory required to invoke a


raytracing shader in HLSL.

GetStatusFence Retrieves the fence for the protected session. From the fence,
you can retrieve the current uniqueness validity value (using
ID3D12Fence::GetCompletedValue), and add monitors for
changes to its value. This is a read-only fence.

GetStorageFilter Get the storage filter at the top of the storage-filter stack.

GetStorageFilterStackSize Get the size of the storage-filter stack in bytes.

GetSubType Gets the base class of a class.

GetThreadGroupSize Retrieves the sizes, in units of threads, of the X, Y, and Z


dimensions of the shader's thread-group grid.

GetTimestampFrequency This method is used to determine the rate at which the GPU
timestamp counter increments.

GetType Gets the type of the command list, such as direct, bundle,
compute, or copy.
T IT L E DESC RIP T IO N

GetType Gets a shader-variable type.

GetUnconvertedRootSignatureDesc Gets the layout of the root signature, without converting


between root signature versions.

GetVariableByIndex Gets a shader-reflection variable by index.

GetVariableByName Gets a variable by name.

GetVariableByName Gets a variable by name.

GetVariableByName Gets a shader-reflection variable by name.

IASetIndexBuffer Sets the view for the index buffer.

IASetPrimitiveTopology Bind information about the primitive type, and data order that
describes input data for the input assembler stage.

IASetVertexBuffers Sets a CPU descriptor handle for the vertex buffers.

ImplementsInterface Indicates whether a class type implements an interface.

InitializeMetaCommand Initializes the specified meta command.

IsEqual Indicates whether two ID3D12ShaderReflectionType Interface


pointers have the same underlying type.

IsOfType Indicates whether a variable is of the specified type.

IsSampleFrequencyShader Indicates whether a shader is a sample frequency shader.

LifetimeStateUpdated Called when the lifetime state of a lifetime-tracked object


changes.

LoadComputePipeline Retrieves the requested PSO from the library. The input desc is
matched against the data in the current library database, and
remembered in order to prevent duplication of PSO contents.

LoadGraphicsPipeline Retrieves the requested PSO from the library.

LoadPipeline Retrieves the requested PSO from the library. The pipeline
stream description is matched against the library database
and remembered in order to prevent duplication of PSO
contents.

MakeResident Makes objects resident for the device.

MakeResident Causes one or more pageable objects to become resident in


GPU memory. Also see IDMLDevice::Evict.
T IT L E DESC RIP T IO N

Map Gets a CPU pointer to the specified subresource in the


resource, but may not disclose the pointer value to
applications. Map also invalidates the CPU cache, when
necessary, so that CPU reads to this address reflect any
modifications made by the GPU.

OMSetBlendFactor Sets the blend factor that modulate values for a pixel shader,
render target, or both.

OMSetDepthBounds This method enables you to change the depth bounds


dynamically.

OMSetRenderTargets Sets CPU descriptor handles for the render targets and depth
stencil.

OMSetStencilRef Sets the reference value for depth stencil tests.

OpenExistingHeapFromAddress Creates a special-purpose diagnostic heap in system memory


from an address. The created heap can persist even in the
event of a GPU-fault or device-removed scenario.

OpenExistingHeapFromFileMapping Creates a special-purpose diagnostic heap in system memory


from a file mapping object. The created heap can persist even
in the event of a GPU-fault or device-removed scenario.

OpenSharedHandle Opens a handle for shared resources, shared heaps, and


shared fences, by using HANDLE and REFIID.

OpenSharedHandleByName Opens a handle for shared resources, shared heaps, and


shared fences, by using Name and Access.

PopRetrievalFilter Pop a retrieval filter from the top of the retrieval-filter stack.

PopStorageFilter Pop a storage filter from the top of the storage-filter stack.

Present Shares a resource (or subresource) between the D3D layers


and diagnostics tools.

PushCopyOfRetrievalFilter Push a copy of retrieval filter currently on the top of the


retrieval-filter stack onto the retrieval-filter stack.

PushCopyOfStorageFilter Push a copy of storage filter currently on the top of the


storage-filter stack onto the storage-filter stack.

PushEmptyRetrievalFilter Push an empty retrieval filter onto the retrieval-filter stack.

PushEmptyStorageFilter Push an empty storage filter onto the storage-filter stack.

PushRetrievalFilter Push a retrieval filter onto the retrieval-filter stack.

PushStorageFilter Push a storage filter onto the storage-filter stack.


T IT L E DESC RIP T IO N

ReadFromSubresource Uses the CPU to copy data from a subresource, enabling the
CPU to read the contents of most textures with undefined
layouts.

RecordDispatch Records execution of a dispatchable object (an operator


initializer, or a compiled operator) onto a command list.

ReleaseWrappedResources Releases D3D11 resources that were wrapped for D3D


11on12.

RemoveDevice You can call RemoveDevice to indicate to the Direct3D 12


runtime that the GPU device encountered a problem, and can
no longer be used.

ReportLiveDeviceObjects Reports information about a device object's lifetime.

ReportLiveDeviceObjects Specifies the amount of information to report on a device


object's lifetime.

Reset Indicates to re-use the memory that is associated with the


command allocator.

Reset Resets a command list back to its initial state as if a new


command list was just created.

Reset Resets the binding table to wrap a new range of descriptors,


potentially for a different operator or initializer. This allows
dynamic reuse of the binding table.

Reset Resets the initializer to handle initialization of a new set of


operators.

ResolveQueryData Extracts data from a query. ResolveQueryData works with all


heap types (default, upload, and readback). 
ResolveQueryData works with all heap types (default, upload,
and readback). .

ResolveSubresource Copy a multi-sampled resource into a non-multi-sampled


resource.

ResolveSubresourceRegion Copy a region of a multisampled or compressed resource into


a non-multisampled or non-compressed resource.

ResourceBarrier Notifies the driver that it needs to synchronize multiple


accesses to resources.

RSSetScissorRects Binds an array of scissor rectangles to the rasterizer stage.

RSSetShadingRate

RSSetShadingRateImage

RSSetViewports Bind an array of viewports to the rasterizer stage of the


pipeline.
T IT L E DESC RIP T IO N

Serialize Writes the contents of the library to the provided memory, to


be provided back to the runtime at a later time.

SetAutoBreadcrumbsEnablement Configures the enablement settings for Device Removed


Extended Data (DRED) auto-breadcrumbs.

SetBackgroundProcessingMode Sets the mode for driver background processing


optimizations.

SetBreakOnCategory Set a message category to break on when a message with


that category passes through the storage filter.

SetBreakOnID Set a message identifier to break on when a message with


that identifier passes through the storage filter.

SetBreakOnSeverity Set a message severity level to break on when a message with


that severity level passes through the storage filter.

SetComputeRoot32BitConstant Sets a constant in the compute root signature.

SetComputeRoot32BitConstants Sets a group of constants in the compute root signature.

SetComputeRootConstantBufferView Sets a CPU descriptor handle for the constant buffer in the
compute root signature.

SetComputeRootDescriptorTable Sets a descriptor table into the compute root signature.

SetComputeRootShaderResourceView Sets a CPU descriptor handle for the shader resource in the
compute root signature.

SetComputeRootSignature Sets the layout of the compute root signature.

SetComputeRootUnorderedAccessView Sets a CPU descriptor handle for the unordered-access-view


resource in the compute root signature.

SetDebugParameter Modifies optional Debug Layer settings of a command list.

SetDebugParameter Modifies the D3D12 optional device-wide Debug Layer


settings.

SetDescriptorHeaps Changes the currently bound descriptor heaps that are


associated with a command list.

SetEnableGPUBasedValidation This method enables or disables GPU-Based Validation (GBV)


before creating a device with the debug layer enabled.

SetEnableGPUBasedValidation This method enables or disables GPU-based validation (GBV)


before creating a device with the debug layer enabled.

SetEnableSynchronizedCommandQueueValidation Enables or disables dependent command queue


synchronization when using a D3D12 device with the debug
layer enabled.
T IT L E DESC RIP T IO N

SetEnableSynchronizedCommandQueueValidation Enables or disables dependent command queue


synchronization when using a Direct3D 12 device with the
debug layer enabled.

SetEventOnCompletion Specifies an event that should be fired when the fence reaches
a certain value.

SetEventOnMultipleFenceCompletion Specifies an event that should be fired when one or more of a


collection of fences reach specific values.

SetFeatureMask Turns the debug features for a command list on or off.

SetFeatureMask Set a bit field of flags that will turn debug features on and off.

SetGPUBasedValidationFlags This method configures the level of GPU-based validation that


the debug device is to perform at runtime.

SetGPUBasedValidationFlags This method configures the level of GPU-based validation that


the debug device is to perform at runtime.

SetGraphicsRoot32BitConstant Sets a constant in the graphics root signature.

SetGraphicsRoot32BitConstants Sets a group of constants in the graphics root signature.

SetGraphicsRootConstantBufferView Sets a CPU descriptor handle for the constant buffer in the
graphics root signature.

SetGraphicsRootDescriptorTable Sets a descriptor table into the graphics root signature.

SetGraphicsRootShaderResourceView Sets a CPU descriptor handle for the shader resource in the
graphics root signature.

SetGraphicsRootSignature Sets the layout of the graphics root signature.

SetGraphicsRootUnorderedAccessView Sets a CPU descriptor handle for the unordered-access-view


resource in the graphics root signature.

SetMarker Not intended to be called directly. Use the PIX event runtime
to insert events into a command queue.

SetMarker Not intended to be called directly. Use the PIX event runtime
to insert events into a command list.

SetMessageCountLimit Set the maximum number of messages that can be added to


the message queue.

SetMuteDebugOutput Set a boolean that turns the debug output on or off.

SetMuteDebugOutput Determine whether to mute DirectML from sending messages


to the ID3D12InfoQueue.

SetName Associates a name with the device object. This name is for use
in debug diagnostics and tools.
T IT L E DESC RIP T IO N

SetName Associates a name with the DirectML device object. This name
is for use in debug diagnostics and tools.

SetPageFaultEnablement Configures the enablement settings for Device Removed


Extended Data (DRED) page fault reporting.

SetPipelineStackSize Set the current pipeline stack size.

SetPipelineState Sets all shaders and programs most of the fixed-function state
of the graphics processing unit (GPU) pipeline.

SetPipelineState1 Sets a state object on the command list.

SetPredication Sets a rendering predicate.

SetPrivateData Sets application-defined data to a device object and associates


that data with an application-defined GUID.

SetPrivateData Sets application-defined data to a DirectML device object, and


associates that data with an application-defined GUID.

SetPrivateDataInterface Associates an IUnknown-derived interface with the device


object and associates that interface with an application-
defined GUID.

SetPrivateDataInterface Associates an IUnknown-derived interface with the DirectML


device object, and associates that interface with an
application-defined GUID.

SetProtectedResourceSession Specifies whether or not protected resources can be accessed


by subsequent commands in the command list.

SetResidencyPriority This method sets residency priorities of a specified list of


objects.

SetSamplePositions This method configures the sample positions used by


subsequent draw, copy, resolve, and similar operations.

SetStablePowerState A development-time aid for certain types of profiling and


experimental prototyping.

SetViewInstanceMask Set a mask that controls which view instances are enabled for
subsequent draws.

SetWatsonDumpEnablement Configures the enablement settings for Device Removed


Extended Data (DRED) Watson dump creation.

ShaderInstrumentationEnabled Determines whether shader instrumentation is enabled.

SharedFenceSignal Signals a shared fence between the D3D layers and


diagnostics tools.

Signal Updates a fence to a specified value.


T IT L E DESC RIP T IO N

Signal Sets the fence to the specified value.

SOSetTargets Sets the stream output buffer views.

StorePipeline Adds the input PSO to an internal database with the


corresponding name.

Unmap Invalidates the CPU pointer to the specified subresource in


the resource. Unmap also flushes the CPU cache, when
necessary, so that GPU reads to this address reflect any
modifications made by the CPU.

UpdateTileMappings Updates mappings of tile locations in reserved resources to


memory locations in a resource heap.

Wait Queues a GPU-side wait, and returns immediately. A GPU-


side wait is where the GPU waits until the specified fence
reaches or exceeds the specified value.

WriteBufferImmediate Writes a number of 32-bit immediate values to the specified


buffer locations directly from the command stream.

WriteToSubresource Uses the CPU to copy data into a subresource, enabling the
CPU to modify the contents of most textures with undefined
layouts.

Interfaces
T IT L E DESC RIP T IO N

ID3D11On12Device Handles the creation, wrapping, and releasing of D3D11


resources for Direct3D11on12.

ID3D12CommandAllocator Represents the allocations of storage for graphics processing


unit (GPU) commands.

ID3D12CommandList An interface from which ID3D12GraphicsCommandList


inherits from. It represents an ordered set of commands that
the GPU executes, while allowing for extension to support
other command lists than just those for graphics (such as
compute and copy).

ID3D12CommandQueue Provides methods for submitting command lists,


synchronizing command list execution, instrumenting the
command queue, and updating resource tile mappings.

ID3D12CommandSignature A command signature object enables apps to specify indirect


drawing, including the buffer format, command type and
resource bindings to be used.

ID3D12Debug A debug interface controls debug settings and validates


pipeline state. It can only be used if the debug layer is turned
on.
T IT L E DESC RIP T IO N

ID3D12Debug1 Adds GPU-Based Validation and Dependent Command Queue


Synchronization to the debug layer.

ID3D12Debug2 Adds configurable levels of GPU-based validation to the


debug layer.

ID3D12Debug3 Adds configurable levels of GPU-based validation to the


debug layer.

ID3D12DebugCommandList Provides methods to monitor and debug a command list.

ID3D12DebugCommandList1 This interface enables modification of additional command list


debug layer settings.

ID3D12DebugCommandQueue Provides methods to monitor and debug a command queue.

ID3D12DebugDevice This interface represents a graphics device for debugging.

ID3D12DebugDevice1 Specifies device-wide debug layer settings.

ID3D12DescriptorHeap A descriptor heap is a collection of contiguous allocations of


descriptors, one allocation for every descriptor.

ID3D12Device Represents a virtual adapter; it is used to create command


allocators, command lists, command queues, fences,
resources, pipeline state objects, heaps, root signatures,
samplers, and many resource views.

ID3D12Device1 Represents a virtual adapter, and expands on the range of


methods provided by ID3D12Device.

ID3D12Device2 Represents a virtual adapter. This interface extends


ID3D12Device1 to create pipeline state objects from pipeline
state stream descriptions.

ID3D12Device3 Represents a virtual adapter. This interface extends


ID3D12Device2 to support the creation of special-purpose
diagnostic heaps in system memory that persist even in the
event of a GPU-fault or device-removed scenario.

ID3D12Device4 Represents a virtual adapter. This interface extends


ID3D12Device3.

ID3D12Device5 Represents a virtual adapter. This interface extends


ID3D12Device4.

ID3D12Device6 Represents a virtual adapter. This interface extends


ID3D12Device5.

ID3D12DeviceChild An interface from which other core interfaces inherit from,


including (but not limited to) ID3D12PipelineLibrary,
ID3D12CommandList, ID3D12Pageable, and
ID3D12RootSignature. It provides a method to get back to
the device object it was created against.
T IT L E DESC RIP T IO N

ID3D12DeviceRemovedExtendedData Provides runtime access to Device Removed Extended Data


(DRED) data.

ID3D12DeviceRemovedExtendedDataSettings This interface controls Device Removed Extended Data (DRED)


settings.

ID3D12Fence Represents a fence, an object used for synchronization of the


CPU and one or more GPUs.

ID3D12Fence1 Represents a fence. This interface extends ID3D12Fence, and


supports the retrieval of the flags used to create the original
fence.

ID3D12FunctionParameterReflection A function-parameter-reflection interface accesses function-


parameter info.

ID3D12FunctionReflection A function-reflection interface accesses function info.

ID3D12GraphicsCommandList Encapsulates a list of graphics commands for rendering.


Includes APIs for instrumenting the command list execution,
and for setting and clearing the pipeline state.

ID3D12GraphicsCommandList1 Encapsulates a list of graphics commands for rendering,


extending the interface to support programmable sample
positions, atomic copies for implementing late-latch
techniques, and optional depth-bounds testing.

ID3D12GraphicsCommandList2 Encapsulates a list of graphics commands for rendering,


extending the interface to support writing immediate values
directly to a buffer.

ID3D12GraphicsCommandList3 Encapsulates a list of graphics commands for rendering.

ID3D12GraphicsCommandList4 Encapsulates a list of graphics commands for rendering,


extending the interface to support ray tracing and render
passes.

ID3D12GraphicsCommandList5 Encapsulates a list of graphics commands for rendering,


extending the interface to support variable-rate shading
(VRS).

ID3D12Heap A heap is an abstraction of contiguous memory allocation,


used to manage physical memory. This heap can be used with
ID3D12Resource objects to support placed resources or
reserved resources.

ID3D12InfoQueue An information-queue interface stores, retrieves, and filters


debug messages. The queue consists of a message queue, an
optional storage filter stack, and a optional retrieval filter
stack.

ID3D12LibraryReflection A library-reflection interface accesses library info.

ID3D12LifetimeOwner Represents an application-defined callback used for being


notified of lifetime changes of an object.
T IT L E DESC RIP T IO N

ID3D12LifetimeTracker Represents facilities for controlling the lifetime a lifetime-


tracked object.

ID3D12MetaCommand Represents a meta command. A meta command is a Direct3D


12 object representing an algorithm that is accelerated by
independent hardware vendors (IHVs). It's an opaque
reference to a command generator that is implemented by
the driver.

ID3D12Object An interface from which ID3D12Device and


ID3D12DeviceChild inherit from. It provides methods to
associate private data and annotate object names.

ID3D12Pageable An interface from which many other core interfaces inherit


from. It indicates that the object type encapsulates some
amount of GPU-accessible memory; but does not strongly
indicate whether the application can manipulate the object's
residency.

ID3D12PipelineLibrary Manages a pipeline library, in particular loading and retrieving


individual PSOs.

ID3D12PipelineLibrary1 Manages a pipeline library. This interface extends


ID3D12PipelineLibrary to load PSOs from a pipeline state
stream description.

ID3D12PipelineState Represents the state of all currently set shaders as well as


certain fixed function state objects.

ID3D12ProtectedResourceSession Monitors the validity of a protected resource session.

ID3D12ProtectedSession Offers base functionality that allows for a consistent way to


monitor the validity of a session across the different types of
sessions.

ID3D12QueryHeap Manages a query heap. A query heap holds an array of


queries, referenced by indexes.

ID3D12Resource Encapsulates a generalized ability of the CPU and GPU to read


and write to physical memory, or heaps. It contains
abstractions for organizing and manipulating simple arrays of
data as well as multidimensional data optimized for shader
sampling.

ID3D12RootSignature The root signature defines what resources are bound to the
graphics pipeline. A root signature is configured by the app
and links command lists to the resources the shaders require.
Currently, there is one graphics and one compute root
signature per app.
T IT L E DESC RIP T IO N

ID3D12RootSignatureDeserializer Contains a method to return the deserialized


D3D12_ROOT_SIGNATURE_DESC data structure, of a serialized
root signature version 1.0.

ID3D12ShaderReflection A shader-reflection interface accesses shader information.

ID3D12ShaderReflectionConstantBuffer This shader-reflection interface provides access to a constant


buffer.

ID3D12ShaderReflectionType This shader-reflection interface provides access to variable


type.

ID3D12ShaderReflectionVariable This shader-reflection interface provides access to a variable.

ID3D12SharingContract Part of a contract between D3D11On12 diagnostic layers and


graphics diagnostics tools.

ID3D12StateObject Represents a variable amount of configuration state, including


shaders, that an application manages as a single unit and
which is given to a driver atomically to process, such as
compile or optimize.

ID3D12StateObjectProperties Provides methods for getting and setting the properties of an


ID3D12StateObject.

ID3D12Tools This interface is used to configure the runtime for tools such
as PIX. Its not intended or supported for any other scenario.

ID3D12VersionedRootSignatureDeserializer Contains methods to return the deserialized


D3D12_ROOT_SIGNATURE_DESC1 data structure, of any
version of a serialized root signature.

IDMLBindingTable Wraps a range of an application-managed descriptor heap,


and is used by DirectML to create bindings for resources. To
create this object, call IDMLDevice::CreateBindingTable.

IDMLCommandRecorder Records dispatches of DirectML work into a Direct3D 12


command list.

IDMLCompiledOperator Represents a compiled, efficient form of an operator suitable


for execution on the GPU. To create this object, call
IDMLDevice::CompileOperator.

IDMLDebugDevice Controls the DirectML debug layers.

IDMLDevice Represents a DirectML device, which is used to create


operators, binding tables, command recorders, and other
objects.

IDMLDeviceChild An interface implemented by all objects created from the


DirectML device.
T IT L E DESC RIP T IO N

IDMLDispatchable Implemented by objects that can be recorded into a


command list for dispatch on the GPU, using
IDMLCommandRecorder::RecordDispatch.

IDMLObject An interface from which IDMLDevice and IDMLDeviceChild


inherit directly (and all other interfaces, indirectly).

IDMLOperator Represents a DirectML operator.

IDMLOperatorInitializer Represents a specialized object whose purpose is to initialize


compiled operators. To create an instance of this object, call
IDMLDevice::CreateOperatorInitializer.

IDMLPageable Implemented by objects that can be evicted from GPU


memory, and hence that can be supplied to IDMLDevice::Evict
and IDMLDevice::MakeResident.

Structures
T IT L E DESC RIP T IO N

D3D11_RESOURCE_FLAGS Used with


ID3D11On12Device::Create
WrappedResourceto
override flags that would be
inferred by the resource
properties or heap
properties, including bind
flags, misc flags, and CPU
access flags.

D3D12_AUTO_BREADCRUM Represents Device Removed


B_NODE Extended Data (DRED) auto-
breadcrumb data as a node
in a linked list.

D3D12_BLEND_DESC Describes the blend state.

D3D12_BOX Describes a 3D box.

D3D12_BUFFER_RTV Describes the elements in a


buffer resource to use in a
render-target view.

D3D12_BUFFER_SRV Describes the elements in a


buffer resource to use in a
shader-resource view.

D3D12_BUFFER_UAV Describes the elements in a


buffer to use in a
unordered-access view.
T IT L E DESC RIP T IO N

D3D12_BUILD_RAYTRACING Describes a raytracing


_ACCELERATION_STRUCTUR acceleration structure. Pass
E_DESC this structure into
ID3D12GraphicsCommandLi
st4::BuildRaytracingAccelerat
ionStructure to describe the
acceleration structure to be
built.

D3D12_BUILD_RAYTRACING Defines the inputs for a


_ACCELERATION_STRUCTUR raytracing acceleration
E_INPUTS structure build operation.
This structure is used by
ID3D12GraphicsCommandLi
st4::BuildRaytracingAccelerat
ionStructure and
ID3D12Device5::GetRaytraci
ngAccelerationStructurePreb
uildInfo.

D3D12_BUILD_RAYTRACING Describes the GPU memory


_ACCELERATION_STRUCTUR layout of an acceleration
E_TOOLS_VISUALIZATION_H structure visualization.
EADER

D3D12_CACHED_PIPELINE_ Stores a pipeline state.


STATE

D3D12_CLEAR_VALUE Describes a value used to


optimize clear operations for
a particular resource.

D3D12_COMMAND_QUEUE Describes a command


_DESC queue.

D3D12_COMMAND_SIGNA Describes the arguments


TURE_DESC (parameters) of a command
signature.

D3D12_COMPUTE_PIPELINE Describes a compute


_STATE_DESC pipeline state object.

D3D12_CONSTANT_BUFFER Describes a constant buffer


_VIEW_DESC to view.

D3D12_CPU_DESCRIPTOR_ Describes a CPU descriptor


HANDLE handle.

D3D12_DEBUG_COMMAND Describes per-command-list


_LIST_GPU_BASED_VALIDATI settings used by GPU-Based
ON_SETTINGS Validation.

D3D12_DEBUG_DEVICE_GP Describes settings used by


U_BASED_VALIDATION_SETT GPU-Based Validation.
INGS
T IT L E DESC RIP T IO N

D3D12_DEBUG_DEVICE_GP Describes the amount of


U_SLOWDOWN_PERFORMA artificial slowdown inserted
NCE_FACTOR by the debug device to
simulate lower-performance
graphics adapters.

D3D12_DEPTH_STENCIL_DE Describes depth-stencil


SC state.

D3D12_DEPTH_STENCIL_DE Describes depth-stencil


SC1 state.

D3D12_DEPTH_STENCIL_VA Specifies a depth and stencil


LUE value.

D3D12_DEPTH_STENCIL_VIE Describes the subresources


W_DESC of a texture that are
accessible from a depth-
stencil view.

D3D12_DEPTH_STENCILOP_ Describes stencil operations


DESC that can be performed
based on the results of
stencil test.

D3D12_DESCRIPTOR_HEAP_ Describes the descriptor


DESC heap.

D3D12_DESCRIPTOR_RANG Describes a descriptor range.


E

D3D12_DESCRIPTOR_RANG Describes a descriptor range,


E1 with flags to determine their
volatility.

D3D12_DEVICE_REMOVED_ Represents Device Removed


EXTENDED_DATA Extended Data (DRED)
version 1.0 data.

D3D12_DEVICE_REMOVED_ Represents Device Removed


EXTENDED_DATA1 Extended Data (DRED)
version 1.1 data.

D3D12_DISCARD_REGION Describes details for the


discard-resource operation.

D3D12_DISPATCH_ARGUME Describes dispatch


NTS parameters, for use by the
compute shader.

D3D12_DISPATCH_RAYS_DE Describes the properties of a


SC ray dispatch operation
initiated with a call to
ID3D12GraphicsCommandLi
st4::DispatchRays.
T IT L E DESC RIP T IO N

D3D12_DRAW_ARGUMENTS Describes parameters for


drawing instances.

D3D12_DRAW_INDEXED_AR Describes parameters for


GUMENTS drawing indexed instances.

D3D12_DRED_ALLOCATION Describes, as a node in a


_NODE linked list, data about an
allocation tracked by Device
Removed Extended Data
(DRED).

D3D12_DRED_AUTO_BREAD Contains a pointer to the


CRUMBS_OUTPUT head of a linked list of
D3D12_AUTO_BREADCRUM
B_NODE objects.

D3D12_DRED_PAGE_FAULT_ Describes allocation data


OUTPUT related to a GPU page fault
on a given virtual address
(VA).

D3D12_DXIL_LIBRARY_DESC Describes a DXIL library


state subobject that can be
included in a state object.

D3D12_DXIL_SUBOBJECT_T This subobject is


O_EXPORTS_ASSOCIATION unsupported in the current
release.

D3D12_EXISTING_COLLECTI A state subobject describing


ON_DESC an existing collection that
can be included in a state
object.

D3D12_EXPORT_DESC Describes an export from a


state subobject such as a
DXIL library or a collection
state object.

D3D12_FEATURE_DATA_ARC Provides detail about the


HITECTURE adapter architecture, so that
your application can better
optimize for certain adapter
properties.

D3D12_FEATURE_DATA_ARC Provides detail about each


HITECTURE1 adapter's architectural
details, so that your
application can better
optimize for certain adapter
properties.
T IT L E DESC RIP T IO N

D3D12_FEATURE_DATA_CO Details the adapter's


MMAND_QUEUE_PRIORITY support for prioritization of
different command queue
types.

D3D12_FEATURE_DATA_D3 Describes Direct3D 12


D12_OPTIONS feature options in the
current graphics driver.

D3D12_FEATURE_DATA_D3 Describes the level of


D12_OPTIONS1 support for HLSL 6.0 wave
operations.

D3D12_FEATURE_DATA_D3 Indicates the level of


D12_OPTIONS2 support that the adapter
provides for depth-bounds
tests and programmable
sample positions.

D3D12_FEATURE_DATA_D3 Indicates the level of


D12_OPTIONS3 support that the adapter
provides for timestamp
queries, format-casting,
immediate write, view
instancing, and barycentrics.

D3D12_FEATURE_DATA_D3 Indicates the level of


D12_OPTIONS5 support that the adapter
provides for render passes,
ray tracing, and shader-
resource view tier 3 tiled
resources.

D3D12_FEATURE_DATA_EXIS Provides detail about


TING_HEAPS whether the adapter
supports creating heaps
from existing system
memory.

D3D12_FEATURE_DATA_FEA Describes info about the


TURE_LEVELS feature levels supported by
the current graphics driver.

D3D12_FEATURE_DATA_FOR Describes a DXGI data


MAT_INFO format and plane count.

D3D12_FEATURE_DATA_FOR Describes which resources


MAT_SUPPORT are supported by the
current graphics driver for a
given format.

D3D12_FEATURE_DATA_GP Details the adapter's GPU


U_VIRTUAL_ADDRESS_SUPP virtual address space
ORT limitations, including
maximum address bits per
resource and per process.
T IT L E DESC RIP T IO N

D3D12_FEATURE_DATA_MU Describes the multi-


LTISAMPLE_QUALITY_LEVEL sampling image quality
S levels for a given format and
sample count.

D3D12_FEATURE_DATA_RO Indicates root signature


OT_SIGNATURE version support.

D3D12_FEATURE_DATA_SHA Describes the level of shader


DER_CACHE caching supported in the
current graphics driver.

D3D12_FEATURE_DATA_SHA Contains the supported


DER_MODEL shader model.

D3D12_FUNCTION_DESC Describes a function.

D3D12_GLOBAL_ROOT_SIG Defines a global root


NATURE signature state suboject that
will be used with associated
shaders.

D3D12_GPU_DESCRIPTOR_ Describes a GPU descriptor


HANDLE handle.

D3D12_GPU_VIRTUAL_ADD Represents a GPU virtual


RESS_AND_STRIDE address and indexing stride.

D3D12_GPU_VIRTUAL_ADD Represents a GPU virtual


RESS_RANGE address range.

D3D12_GPU_VIRTUAL_ADD Represents a GPU virtual


RESS_RANGE_AND_STRIDE address range and stride.

D3D12_GRAPHICS_PIPELINE Describes a graphics pipeline


_STATE_DESC state object.

D3D12_HEAP_DESC Describes a heap.

D3D12_HEAP_PROPERTIES Describes heap properties.

D3D12_HIT_GROUP_DESC Describes a raytracing hit


group state subobject that
can be included in a state
object.

D3D12_INDEX_BUFFER_VIE Describes the index buffer to


W view.

D3D12_INDIRECT_ARGUME Describes an indirect


NT_DESC argument (an indirect
parameter), for use with a
command signature.
T IT L E DESC RIP T IO N

D3D12_INFO_QUEUE_FILTE Debug message filter;


R contains a lists of message
types to allow or deny.

D3D12_INFO_QUEUE_FILTE Allow or deny certain types


R_DESC of messages to pass
through a filter.

D3D12_INPUT_ELEMENT_DE Describes a single element


SC for the input-assembler
stage of the graphics
pipeline.

D3D12_INPUT_LAYOUT_DE Describes the input-buffer


SC data for the input-assembler
stage.

D3D12_LIBRARY_DESC Describes a library.

D3D12_LOCAL_ROOT_SIGN Defines a local root


ATURE signature state subobject
that will be used with
associated shaders.

D3D12_MEMCPY_DEST Describes the destination of


a memory copy operation.

D3D12_MESSAGE A debug message in the


Information Queue.

D3D12_META_COMMAND_ Describes a meta command.


DESC

D3D12_META_COMMAND_ Describes a parameter to a


PARAMETER_DESC meta command.

D3D12_NODE_MASK A state subobject that


identifies the GPU nodes to
which the state object
applies.

D3D12_PACKED_MIP_INFO Describes the tile structure


of a tiled resource with
mipmaps.

D3D12_PARAMETER_DESC Describes a function


parameter.

D3D12_PIPELINE_STATE_STR Describes a pipeline state


EAM_DESC stream.
T IT L E DESC RIP T IO N

D3D12_PLACED_SUBRESOU Describes the footprint of a


RCE_FOOTPRINT placed subresource,
including the offset and the
D3D12_SUBRESOURCE_FO
OTPRINT.

D3D12_PROTECTED_RESOU Describes flags for a


RCE_SESSION_DESC protected resource session,
per adapter.

D3D12_QUERY_DATA_PIPEL Query information about


INE_STATISTICS graphics-pipeline activity in
between calls to BeginQuery
and EndQuery.

D3D12_QUERY_DATA_SO_S Describes query data for


TATISTICS stream output.

D3D12_QUERY_HEAP_DESC Describes the purpose of a


query heap. A query heap
contains an array of
individual queries.

D3D12_RANGE Describes a memory range.

D3D12_RANGE_UINT64 Describes a memory range


in a 64-bit address space.

D3D12_RASTERIZER_DESC Describes rasterizer state.

D3D12_RAYTRACING_AABB Represents an axis-aligned


bounding box (AABB) used
as raytracing geometry.

D3D12_RAYTRACING_ACCE Describes the space


LERATION_STRUCTURE_POS requirement for acceleration
TBUILD_INFO_COMPACTED structure after compaction.
_SIZE_DESC

D3D12_RAYTRACING_ACCE Describes the space


LERATION_STRUCTURE_POS currently used by an
TBUILD_INFO_CURRENT_SIZ acceleration structure..
E_DESC

D3D12_RAYTRACING_ACCE Description of the post-build


LERATION_STRUCTURE_POS information to generate
TBUILD_INFO_DESC from an acceleration
structure. Use this structure
in calls to
EmitRaytracingAccelerationSt
ructurePostbuildInfo and
BuildRaytracingAccelerationS
tructure.
T IT L E DESC RIP T IO N

D3D12_RAYTRACING_ACCE Describes the size and


LERATION_STRUCTURE_POS layout of the serialized
TBUILD_INFO_SERIALIZATIO acceleration structure and
N_DESC header.

D3D12_RAYTRACING_ACCE Describes the space


LERATION_STRUCTURE_POS requirement for decoding an
TBUILD_INFO_TOOLS_VISU acceleration structure into a
ALIZATION_DESC form that can be visualized
by tools.

D3D12_RAYTRACING_ACCE Represents prebuild


LERATION_STRUCTURE_PRE information about a
BUILD_INFO raytracing acceleration
structure. Get an instance of
this stucture by calling
GetRaytracingAccelerationStr
ucturePrebuildInfo.

D3D12_RAYTRACING_ACCE A shader resource view


LERATION_STRUCTURE_SRV (SRV) structure for storing a
raytracing acceleration
structure.

D3D12_RAYTRACING_GEO Describes a set of Axis-


METRY_AABBS_DESC aligned bounding boxes that
are used in the
D3D12_BUILD_RAYTRACING
_ACCELERATION_STRUCTUR
E_INPUTS structure to
provide input data to a
raytracing acceleration
structure build operation.

D3D12_RAYTRACING_GEO Describes a set of geometry


METRY_DESC that is used in the
D3D12_BUILD_RAYTRACING
_ACCELERATION_STRUCTUR
E_INPUTS structure to
provide input data to a
raytracing acceleration
structure build operation.

D3D12_RAYTRACING_GEO Describes a set of triangles


METRY_TRIANGLES_DESC used as raytracing
geometry. The geometry
pointed to by this struct are
always in triangle list form,
indexed or non-indexed.
Triangle strips are not
supported.

D3D12_RAYTRACING_INSTA Describes an instance of a


NCE_DESC raytracing acceleration
structure used in GPU
memory during the
acceleration structure build
process.
T IT L E DESC RIP T IO N

D3D12_RAYTRACING_PIPELI A state subobject that


NE_CONFIG represents a raytracing
pipeline configuration.

D3D12_RAYTRACING_SHAD A state subobject that


ER_CONFIG represents a shader
configuration.

D3D12_RENDER_PASS_BEGI Describes the access to


NNING_ACCESS resource(s) that is requested
by an application at the
transition into a render pass.

D3D12_RENDER_PASS_BEGI Describes the clear value to


NNING_ACCESS_CLEAR_PAR which resource(s) should be
AMETERS cleared at the beginning of a
render pass.

D3D12_RENDER_PASS_DEPT Describes a binding (fixed for


H_STENCIL_DESC the duration of the render
pass) to a depth stencil view
(DSV), as well as its
beginning and ending access
characteristics.

D3D12_RENDER_PASS_ENDI Describes the access to


NG_ACCESS resource(s) that is requested
by an application at the
transition out of a render
pass.

D3D12_RENDER_PASS_ENDI Describes a resource to


NG_ACCESS_RESOLVE_PARA resolve to at the conclusion
METERS of a render pass.

D3D12_RENDER_PASS_ENDI Describes the subresources


NG_ACCESS_RESOLVE_SUBR involved in resolving at the
ESOURCE_PARAMETERS conclusion of a render pass.

D3D12_RENDER_PASS_REN Describes bindings (fixed for


DER_TARGET_DESC the duration of the render
pass) to one or more render
target views (RTVs), as well
as their beginning and
ending access characteristics.

D3D12_RENDER_TARGET_BL Describes the blend state for


END_DESC a render target.

D3D12_RENDER_TARGET_VI Describes the subresources


EW_DESC from a resource that are
accessible by using a render-
target view.
T IT L E DESC RIP T IO N

D3D12_RESOURCE_ALIASIN Describes the transition


G_BARRIER between usages of two
different resources that have
mappings into the same
heap.

D3D12_RESOURCE_ALLOCA Describes parameters


TION_INFO needed to allocate
resources.

D3D12_RESOURCE_ALLOCA Describes parameters


TION_INFO1 needed to allocate
resources, including offset.

D3D12_RESOURCE_BARRIER Describes a resource barrier


(transition in resource use).

D3D12_RESOURCE_DESC Describes a resource, such


as a texture. This structure is
used extensively.

D3D12_RESOURCE_TRANSIT Describes the transition of


ION_BARRIER subresources between
different usages.

D3D12_RESOURCE_UAV_BA Represents a resource in


RRIER which all UAV accesses must
complete before any future
UAV accesses can begin.

D3D12_ROOT_CONSTANTS Describes constants inline in


the root signature that
appear in shaders as one
constant buffer.

D3D12_ROOT_DESCRIPTOR Describes descriptors inline


in the root signature version
1.0 that appear in shaders.

D3D12_ROOT_DESCRIPTOR_ Describes the root signature


TABLE 1.0 layout of a descriptor
table as a collection of
descriptor ranges that
appear one after the other
in a descriptor heap.

D3D12_ROOT_DESCRIPTOR_ Describes the root signature


TABLE1 1.1 layout of a descriptor
table as a collection of
descriptor ranges that
appear one after the other
in a descriptor heap.

D3D12_ROOT_DESCRIPTOR Describes descriptors inline


1 in the root signature version
1.1 that appear in shaders.
T IT L E DESC RIP T IO N

D3D12_ROOT_PARAMETER Describes the slot of a root


signature version 1.0.

D3D12_ROOT_PARAMETER1 Describes the slot of a root


signature version 1.1.

D3D12_ROOT_SIGNATURE_ Describes the layout of a


DESC root signature version 1.0.

D3D12_ROOT_SIGNATURE_ Describes the layout of a


DESC1 root signature version 1.1.

D3D12_RT_FORMAT_ARRAY Wraps an array of render


target formats.

D3D12_SAMPLE_POSITION Describes a sub-pixel sample


position for use with
programmable sample
positions.

D3D12_SAMPLER_DESC Describes a sampler state.

D3D12_SERIALIZED_DATA_D Opaque data structure


RIVER_MATCHING_IDENTIFI describing driver versioning
ER for a serialized acceleration
structure.

D3D12_SERIALIZED_RAYTRA Defines the header for a


CING_ACCELERATION_STRU serialized raytracing
CTURE_HEADER acceleration structure.

D3D12_SHADER_BUFFER_D Describes a shader constant-


ESC buffer.

D3D12_SHADER_BYTECODE Describes shader data.

D3D12_SHADER_DESC Describes a shader.

D3D12_SHADER_INPUT_BIN Describes how a shader


D_DESC resource is bound to a
shader input.

D3D12_SHADER_RESOURCE Describes a shader-resource


_VIEW_DESC view.

D3D12_SHADER_TYPE_DESC Describes a shader-variable


type.

D3D12_SHADER_VARIABLE_ Describes a shader variable.


DESC

D3D12_SIGNATURE_PARAM Describes a shader


ETER_DESC signature.
T IT L E DESC RIP T IO N

D3D12_SO_DECLARATION_ Describes a vertex element


ENTRY in a vertex buffer in an
output slot.

D3D12_STATE_OBJECT_CON Defines general properties


FIG of a state object.

D3D12_STATE_OBJECT_DES Description of a state object.


C Pass this structure into
ID3D12Device::CreateStateO
bject.

D3D12_STATE_SUBOBJECT Represents a subobject with


in a state object description.
Use with
D3D12_STATE_OBJECT_DES
C.

D3D12_STATIC_SAMPLER_D Describes a static sampler.


ESC

D3D12_STREAM_OUTPUT_B Describes a stream output


UFFER_VIEW buffer.

D3D12_STREAM_OUTPUT_D Describes a streaming


ESC output buffer.

D3D12_SUBOBJECT_TO_EXP Associates a subobject


ORTS_ASSOCIATION defined directly in a state
object with shader exports.

D3D12_SUBRESOURCE_DAT Describes subresource data.


A

D3D12_SUBRESOURCE_FO Describes the format, width,


OTPRINT height, depth, and row-pitch
of the subresource into the
parent resource.

D3D12_SUBRESOURCE_INF Describes subresource data.


O

D3D12_SUBRESOURCE_RAN Describes a subresource


GE_UINT64 memory range.

D3D12_SUBRESOURCE_TILI Describes a tiled


NG subresource volume.

D3D12_TEX1D_ARRAY_DSV Describes the subresources


from an array of 1D textures
to use in a depth-stencil
view.
T IT L E DESC RIP T IO N

D3D12_TEX1D_ARRAY_RTV Describes the subresources


from an array of 1D textures
to use in a render-target
view.

D3D12_TEX1D_ARRAY_SRV Describes the subresources


from an array of 1D textures
to use in a shader-resource
view.

D3D12_TEX1D_ARRAY_UAV Describes an array of


unordered-access 1D
texture resources.

D3D12_TEX1D_DSV Describes the subresource


from a 1D texture that is
accessible to a depth-stencil
view.

D3D12_TEX1D_RTV Describes the subresource


from a 1D texture to use in
a render-target view.

D3D12_TEX1D_SRV Specifies the subresource


from a 1D texture to use in
a shader-resource view.

D3D12_TEX1D_UAV Describes a unordered-


access 1D texture resource.

D3D12_TEX2D_ARRAY_DSV Describes the subresources


from an array of 2D textures
that are accessible to a
depth-stencil view.

D3D12_TEX2D_ARRAY_RTV Describes the subresources


from an array of 2D textures
to use in a render-target
view.

D3D12_TEX2D_ARRAY_SRV Describes the subresources


from an array of 2D textures
to use in a shader-resource
view.

D3D12_TEX2D_ARRAY_UAV Describes an array of


unordered-access 2D
texture resources.

D3D12_TEX2D_DSV Describes the subresource


from a 2D texture that is
accessible to a depth-stencil
view.
T IT L E DESC RIP T IO N

D3D12_TEX2D_RTV Describes the subresource


from a 2D texture to use in
a render-target view.

D3D12_TEX2D_SRV Describes the subresource


from a 2D texture to use in
a shader-resource view.

D3D12_TEX2D_UAV Describes a unordered-


access 2D texture resource.

D3D12_TEX2DMS_ARRAY_D Describes the subresources


SV from an array of multi
sampled 2D textures for a
depth-stencil view.

D3D12_TEX2DMS_ARRAY_R Describes the subresources


TV from an array of multi
sampled 2D textures to use
in a render-target view.

D3D12_TEX2DMS_ARRAY_S Describes the subresources


RV from an array of multi
sampled 2D textures to use
in a shader-resource view.

D3D12_TEX2DMS_DSV Describes the subresource


from a multi sampled 2D
texture that is accessible to a
depth-stencil view.

D3D12_TEX2DMS_RTV Describes the subresource


from a multi sampled 2D
texture to use in a render-
target view.

D3D12_TEX2DMS_SRV Describes the subresources


from a multi sampled 2D
texture to use in a shader-
resource view.

D3D12_TEX3D_RTV Describes the subresources


from a 3D texture to use in
a render-target view.

D3D12_TEX3D_SRV Describes the subresources


from a 3D texture to use in
a shader-resource view.

D3D12_TEX3D_UAV Describes a unordered-


access 3D texture resource.

D3D12_TEXCUBE_ARRAY_SR Describes the subresources


V from an array of cube
textures to use in a shader-
resource view.
T IT L E DESC RIP T IO N

D3D12_TEXCUBE_SRV Describes the subresource


from a cube texture to use
in a shader-resource view.

D3D12_TEXTURE_COPY_LO Describes a portion of a


CATION texture for the purpose of
texture copies.

D3D12_TILE_REGION_SIZE Describes the size of a tiled


region.

D3D12_TILE_SHAPE Describes the shape of a tile


by specifying its dimensions.

D3D12_TILED_RESOURCE_C Describes the coordinates of


OORDINATE a tiled resource.

D3D12_UNORDERED_ACCE Describes the subresources


SS_VIEW_DESC from a resource that are
accessible by using an
unordered-access view.

D3D12_VERSIONED_DEVICE Represents versioned Device


_REMOVED_EXTENDED_DAT Removed Extended Data
A (DRED) data.

D3D12_VERSIONED_ROOT_ Holds any version of a root


SIGNATURE_DESC signature description, and is
designed to be used with
serialization/deserialization
functions.

D3D12_VERTEX_BUFFER_VIE Describes a vertex buffer


W view.

D3D12_VIEW_INSTANCE_LO Specifies the viewport/stencil


CATION and render target associated
with a view instance.

D3D12_VIEW_INSTANCING_ Specifies parameters used


DESC during view instancing
configuration.

D3D12_VIEWPORT Describes the dimensions of


a viewport.

D3D12_WRITEBUFFERIMME Specifies the immediate


DIATE_PARAMETER value and destination
address written using
ID3D12CommandList2::Writ
eBufferImmediate.
T IT L E DESC RIP T IO N

DML_ACTIVATION_ELU_OPE Describes a DirectML


RATOR_DESC operator that performs an
exponential linear unit (ELU)
activation function on every
element in the input, f(x) = if
x >= 0 then x else (exp(x) -
1) * alpha.

DML_ACTIVATION_HARD_SI Describes a DirectML


GMOID_OPERATOR_DESC activation operator that
performs a hard sigmoid
function on every element in
the input, f(x) = max(0,
min(alpha * x + beta, 1)).

DML_ACTIVATION_HARDM Describes a DirectML


AX_OPERATOR_DESC activation operator that
performs a hardmax
function on the input, f(x) =
if x_i == max(x) then 1 else 0
(but only for the first
element in the axis).

DML_ACTIVATION_IDENTITY Describes a DirectML


_OPERATOR_DESC activation operator that
performs the identity
function f(x) = x. The
operator effectively copies
its input tensor to the
output.

DML_ACTIVATION_LEAKY_R Describes a DirectML


ELU_OPERATOR_DESC operator that performs a
leaky rectified linear unit
(ReLU) activation function on
every element in the input,
f(x) = if x >= 0 then x else x
* alpha.

DML_ACTIVATION_LINEAR_ Describes a DirectML


OPERATOR_DESC operator that performs a
linear activation function on
every element in the input,
f(x) = alpha * x + beta.

DML_ACTIVATION_LOG_SO Describes a DirectML


FTMAX_OPERATOR_DESC operator that performs a
log-of-softmax activation
function on the input, f(x_i)
= log(exp(x_i - max(X)) /
sum(exp(X - max(X)))) = (x_i
- max(X)) - log(sum(exp(x -
max(X)))).
T IT L E DESC RIP T IO N

DML_ACTIVATION_PARAME Describes a DirectML


TERIZED_RELU_OPERATOR_ operator that performs a
DESC parameterized rectified linear
unit (ReLU) activation
function on every element in
the input, f(x) = if x >= 0
then x else slope * x.

DML_ACTIVATION_PARAME Describes a DirectML


TRIC_SOFTPLUS_OPERATOR operator that performs a
_DESC parametric softplus
activation function on every
element in the input, f(x) =
alpha * loge(1 + expe(beta *
x)).

DML_ACTIVATION_RELU_OP Describes a DirectML


ERATOR_DESC operator that performs a
rectified linear unit (ReLU)
activation function on every
element in the input, f(x) =
max(0, x).

DML_ACTIVATION_SCALED_ Describes a DirectML


ELU_OPERATOR_DESC operator that performs a
scaled exponential linear unit
(ELU) activation function on
every element in the input,
f(x) = if x > 0 then gamma *
x else gamma * (alpha * e^x
- alpha).

DML_ACTIVATION_SCALED_ Describes a DirectML


TANH_OPERATOR_DESC operator that performs a
scaled hyperbolic tangent
activation function on every
element in the input, f(x) =
alpha * tanh(beta * x).

DML_ACTIVATION_SIGMOI Describes a DirectML


D_OPERATOR_DESC operator that performs a
sigmoid activation function
on every element in the
input, f(x) = 1 / (1 + exp(-x)).

DML_ACTIVATION_SOFTMA Describes a DirectML


X_OPERATOR_DESC operator that performs a
softmax activation function
on the input, f(x_i) =
expe(x_i) / sum(expe(X)) =
exp(x_i - max(X)) /
sum(expe(x - max(X))).

DML_ACTIVATION_SOFTPLU Describes a DirectML


S_OPERATOR_DESC operator that performs a
softplus activation function
on every element in the
input, f(x) = ln(1 + expe(x)).
T IT L E DESC RIP T IO N

DML_ACTIVATION_SOFTSIG Describes a DirectML


N_OPERATOR_DESC operator that performs a
softsign activation function
on every element in the
input, f(x) = x / (1 + abs(x)).

DML_ACTIVATION_TANH_O Describes a DirectML


PERATOR_DESC operator that performs a
hyperbolic tangent
activation function on every
element in the input, f(x) =
(1 - exp(-2 * x)) / (1 + exp(-2
* x)).

DML_ACTIVATION_THRESH Describes a DirectML


OLDED_RELU_OPERATOR_D operator that performs a
ESC thresholded rectified linear
unit (ReLU) activation
function on every element in
the input, f(x) = if x > alpha
then x else 0.

DML_AVERAGE_POOLING_ Describes a DirectML


OPERATOR_DESC operator that performs an
average pooling function on
the input, y = (x1 + x2 + …)
/ pool_size.

DML_BATCH_NORMALIZATI Describes a DirectML


ON_OPERATOR_DESC operator that performs a
batch normalization function
on the input, y = scale * (x -
batchMean) /
sqrt(batchVariance +
epsilon) + bias.

DML_BINDING_DESC Contains the description of a


binding so that you can add
it to the binding table via a
call to one of the
IDMLBindingTable methods.

DML_BINDING_PROPERTIES Contains information about


the binding requirements of
a particular compiled
operator, or operator
initializer. This struct is
retrieved from
IDMLDispatchable::GetBindi
ngProperties.

DML_BINDING_TABLE_DESC Specifies parameters to


IDMLDevice::CreateBindingT
able and
IDMLBindingTable::Reset.
T IT L E DESC RIP T IO N

DML_BUFFER_ARRAY_BINDI Specifies a resource binding


NG that is an array of individual
buffer bindings.

DML_BUFFER_BINDING Specifies a resource binding


described by a range of
bytes in a Direct3D 12
buffer, represented by an
offset and size into an
ID3D12Resource.

DML_BUFFER_TENSOR_DES Describes a tensor that will


C be stored in a Direct3D 12
buffer resource.

DML_CAST_OPERATOR_DES Describes a DirectML data


C reorganization operator that
performs the cast function
f(x) = cast(x), casting each
element in the input to the
data type of the output
tensor, and storing the
result in the corresponding
element in the output.

DML_CONVOLUTION_OPER Describes a DirectML matrix


ATOR_DESC multiplication operator that
performs a convolution
function on the input, out[j]
= x[i]*w[0] + x[i+1]*w[1] +
x[i+2]*w[2] + ... +
x[i+k]*w[k] + bias.

DML_DEPTH_TO_SPACE_OP Describes a DirectML data


ERATOR_DESC reorganization operator that
rearranges (permutes) data
from depth into blocks of
spatial data.

DML_ELEMENT_WISE_ABS_ Describes a DirectML math


OPERATOR_DESC operator that performs the
element-wise absolute value
function f(x) = abs(x * scale
+ bias), where the scale and
bias terms are optional. The
absolute value of x is its
magnitude without regard
to its sign.

DML_ELEMENT_WISE_ACOS Describes a DirectML


_OPERATOR_DESC trigonometric operator that
performs the element-wise
arccosine function f(x) =
acos(x * scale + bias), where
the scale and bias terms are
optional.
T IT L E DESC RIP T IO N

DML_ELEMENT_WISE_ADD_ Describes a DirectML math


OPERATOR_DESC operator that performs the
function of adding every
element in ATensor to its
corresponding element in
BTensor, f(a, b) = a + b.

DML_ELEMENT_WISE_ASIN_ Describes a DirectML


OPERATOR_DESC trigonometric operator that
performs the element-wise
arcsine function f(x) = asin(x
* scale + bias), where the
scale and bias terms are
optional.

DML_ELEMENT_WISE_ATAN_ Describes a DirectML


OPERATOR_DESC trigonometric operator that
performs the element-wise
arctangent function f(x) =
atan(x * scale + bias), where
the scale and bias terms are
optional.

DML_ELEMENT_WISE_CEIL_ Describes a DirectML math


OPERATOR_DESC operator that performs the
element-wise ceiling function
f(x) = ceil(x * scale + bias),
where the scale and bias
terms are optional. The
ceiling of x is the smallest
integer that is greater than
or equal to x.

DML_ELEMENT_WISE_CLIP_ Describes a DirectML math


OPERATOR_DESC operator that performs the
element-wise clip function
f(x) = clamp(x * scale + bias,
minValue, maxValue), where
the scale and bias terms are
optional, and where clamp(x)
= min(maxValue,
max(minValue, x)).

DML_ELEMENT_WISE_CONS Describes a DirectML


TANT_POW_OPERATOR_DES operator that performs the
C element-wise constant
power function f(x) = pow(x
* scale + bias, exponent),
where the scale and bias
terms are optional. The
power function raises every
element in the input to the
power of the exponent.
T IT L E DESC RIP T IO N

DML_ELEMENT_WISE_COS_ Describes a DirectML


OPERATOR_DESC trigonometric operator that
performs the element-wise
cosine function f(x) = cos(x *
scale + bias), where the scale
and bias terms are optional.

DML_ELEMENT_WISE_DEQU Describes a DirectML


ANTIZE_LINEAR_OPERATOR_ operator that performs the
DESC linear dequantize function
on every element in
InputTensor with respect to
its corresponding element in
ScaleTensor and
ZeroPointTensor, f(input,
scale, zero_point) = (input -
zero_point) * scale.

DML_ELEMENT_WISE_DIVID Describes a DirectML math


E_OPERATOR_DESC operator that performs the
function of dividing every
element in ATensor by its
corresponding element in
BTensor, f(a, b) = a / b.

DML_ELEMENT_WISE_EXP_ Describes a DirectML math


OPERATOR_DESC operator that performs the
element-wise natural
exponential function f(x) =
exp(x * scale + bias), where
the scale and bias terms are
optional.

DML_ELEMENT_WISE_FLOO Describes a DirectML math


R_OPERATOR_DESC operator that performs the
element-wise floor function
f(x) = floor(x * scale + bias),
where the scale and bias
terms are optional. The floor
of x is the largest integer
that is less than or equal to
x.

DML_ELEMENT_WISE_IDENT Describes a DirectML


ITY_OPERATOR_DESC generic operator that
performs the element-wise
identity function f(x) = x *
scale + bias. The operator
effectively copies its input
tensor to the output, while
applying optional scale and
bias terms.
T IT L E DESC RIP T IO N

DML_ELEMENT_WISE_LOG_ Describes a DirectML math


OPERATOR_DESC operator that performs the
element-wise natural
logarithm function f(x) =
log(x * scale + bias), where
the scale and bias terms are
optional.

DML_ELEMENT_WISE_LOGI Describes a DirectML math


CAL_AND_OPERATOR_DESC operator that performs a
logical AND function
between every element in
ATensor and its
corresponding element in
BTensor, f(a, b) = a && b.

DML_ELEMENT_WISE_LOGI Describes a DirectML math


CAL_EQUALS_OPERATOR_D operator that performs a
ESC logical equality function
between every element in
ATensor and its
corresponding element in
BTensor, f(a, b) = (a == b).

DML_ELEMENT_WISE_LOGI Describes a DirectML math


CAL_GREATER_THAN_OPER operator that performs a
ATOR_DESC logical greater-than function
between every element in
ATensor and its
corresponding element in
BTensor, f(a, b) = (a > b).

DML_ELEMENT_WISE_LOGI Describes a DirectML math


CAL_LESS_THAN_OPERATOR operator that performs a
_DESC logical less-than function
between every element in
ATensor and its
corresponding element in
BTensor, f(a, b) = (a < b).

DML_ELEMENT_WISE_LOGI Describes a DirectML math


CAL_NOT_OPERATOR_DESC operator that performs a
logical NOT function on
every element in the input,
f(x) = !x.

DML_ELEMENT_WISE_LOGI Describes a DirectML math b.


CAL_OR_OPERATOR_DESC operator that performs a
logical OR function between
every element in ATensor
and its corresponding
element in BTensor, f(a, b) =
a
T IT L E DESC RIP T IO N

DML_ELEMENT_WISE_LOGI Describes a DirectML math


CAL_XOR_OPERATOR_DESC operator that performs a
logical exclusive OR (XOR)
function between every
element in ATensor and its
corresponding element in
BTensor, f(a, b) = a xor b.

DML_ELEMENT_WISE_MAX_ Describes a DirectML math


OPERATOR_DESC reduction operator that
performs a maximum
function between every
element in ATensor and its
corresponding element in
BTensor, f(a, b) = max(a, b).

DML_ELEMENT_WISE_MEAN Describes a DirectML math


_OPERATOR_DESC reduction operator that
performs an arithmetic
mean function between
every element in ATensor
and its corresponding
element in BTensor, f(a, b) =
(a + b) / 2.

DML_ELEMENT_WISE_MIN_ Describes a DirectML math


OPERATOR_DESC reduction operator that
performs a minimum
function between every
element in ATensor and its
corresponding element in
BTensor, f(a, b) = min(a, b).

DML_ELEMENT_WISE_MULT Describes a DirectML math


IPLY_OPERATOR_DESC operator that performs the
function of multiplying every
element in ATensor by its
corresponding element in
BTensor, f(a, b) = a * b.

DML_ELEMENT_WISE_POW_ Describes a DirectML math


OPERATOR_DESC operator that performs the
element-wise power function
f(x, exponent) = pow(x *
scale + bias, exponent),
where the scale and bias
terms are optional.

DML_ELEMENT_WISE_QUA Describes a DirectML


NTIZE_LINEAR_OPERATOR_D operator that performs the
ESC linear quantize function on
every element in
InputTensor with respect to
its corresponding element in
ScaleTensor and
ZeroPointTensor, f(input,
scale, zero_point) =
clamp(round(input / scale) +
zero_point, 0, 255).
T IT L E DESC RIP T IO N

DML_ELEMENT_WISE_RECIP Describes a DirectML math


_OPERATOR_DESC operator that performs a
reciprocal function on every
element in the input, f(x) = 1
/ (x * scale + bias), where the
scale and bias terms are
optional.

DML_ELEMENT_WISE_SIN_O Describes a DirectML


PERATOR_DESC trigonometric operator that
performs the element-wise
sine function f(x) = sin(x *
scale + bias), where the scale
and bias terms are optional.

DML_ELEMENT_WISE_SQRT_ Describes a DirectML math


OPERATOR_DESC operator that performs a
square root function on
every element in the input,
f(x) = sqrt(x * scale + bias),
where the scale and bias
terms are optional.

DML_ELEMENT_WISE_SUBTR Describes a DirectML math


ACT_OPERATOR_DESC operator that performs the
function of subtracting
every element in BTensor
from its corresponding
element in ATensor, f(a, b) =
a - b.

DML_ELEMENT_WISE_TAN_ Describes a DirectML


OPERATOR_DESC trigonometric operator that
performs the element-wise
tangent function f(x) = tan(x
* scale + bias), where the
scale and bias terms are
optional.

DML_ELEMENT_WISE_THRES Describes a DirectML math


HOLD_OPERATOR_DESC operator that performs the
element-wise threshold
function f(x) = max(x * scale
+ bias, min), where the scale
and bias terms are optional.
The threshold of x with
respect to min is the larger
of the two values.

DML_FEATURE_DATA_TENS Provides detail about


OR_DATA_TYPE_SUPPORT whether a DirectML device
supports a particular data
type within tensors.

DML_FEATURE_QUERY_TEN Used to query a DirectML


SOR_DATA_TYPE_SUPPORT device for its support for a
particular data type within
tensors.
T IT L E DESC RIP T IO N

DML_GATHER_OPERATOR_D Describes a DirectML data


ESC reorganization operator
which, when given a data
tensor of rank r >= 1, and
an indices tensor of rank q,
gathers the entries in the
axis dimension of the data
(by default, the outermost
one is axis == 0) indexed by
indices, and concatenates
them in an output tensor of
rank q + (r - 1).

DML_GEMM_OPERATOR_DE Describes a DirectML


SC operator that performs a
general matrix multiplication
function on the input, y =
alpha * transposeA(A) *
transposeB(B) + beta * C .

DML_GRU_OPERATOR_DESC Describes a DirectML deep


learning operator that
performs a (standard layers)
one-layer gated recurrent
unit (GRU) function on the
input.

DML_JOIN_OPERATOR_DES Describes a DirectML


C operator that performs a
join function on an array of
input tensors.

DML_LOCAL_RESPONSE_NO Describes a DirectML


RMALIZATION_OPERATOR_ operator that performs a
DESC local response normalization
(LRN) function on the input,
y = x / (bias + (alpha / size) *
sum(xi^2 for every xi in the
local region))^beta.

DML_LP_NORMALIZATION_ Describes a DirectML


OPERATOR_DESC operator that performs an
Lp-normalization function
along the specified axis of
the input tensor.

DML_LP_POOLING_OPERAT Describes a DirectML


OR_DESC operator that performs an
Lp pooling function across
the input tensor (according
to kernel sizes, stride sizes,
and pad lengths), y = (x1^p
+ x2^p + ... + xn^p) ^ (1/p)
where X -> Y reduced for
each kernel.
T IT L E DESC RIP T IO N

DML_LSTM_OPERATOR_DES Describes a DirectML deep


C learning operator that
performs a one-layer long
short term memory (LSTM)
function on the input.

DML_MAX_POOLING_OPER Describes a DirectML


ATOR_DESC operator that performs a
max pooling function across
the input tensor (according
to kernel sizes, stride sizes,
and pad lengths), y =
max(x1 + x2 + …
x_pool_size).

DML_MEAN_VARIANCE_NO Describes a DirectML


RMALIZATION_OPERATOR_ operator that performs a
DESC mean variance normalization
function on the input tensor.

DML_OPERATOR_DESC A generic container for an


operator description. You
construct DirectML
operators using the
parameters specified in this
struct. See
IDMLDevice::CreateOperator
for additional details.

DML_PADDING_OPERATOR_ Describes a DirectML data


DESC reorganization operator that
inflates the input tensor with
zeroes (or some other value)
on the edges.

DML_REDUCE_OPERATOR_D Describes a DirectML


ESC operator that performs the
specified reduction function
on the input.

DML_RNN_OPERATOR_DESC Describes a DirectML deep


learning operator that
performs a one-layer simple
recurrent neural network
(RNN) function on the input.

DML_ROI_POOLING_OPERA Describes a DirectML


TOR_DESC operator that performs a
pooling function across the
input tensor (according to
regions of interest, or ROIs).

DML_SCALE_BIAS Contains the values of scale


and bias terms supplied to a
DirectML operator. Scale and
bias have the effect of
applying the function g(x) =
x * Scale + Bias.
T IT L E DESC RIP T IO N

DML_SIZE_2D Contains values that can


represent the size (as
supplied to a DirectML
operator) of a 2-D plane of
elements within a tensor, or
a 2-D scale, or any 2-D
width/height value.

DML_SLICE_OPERATOR_DES Describes a DirectML data


C reorganization operator that
produces a slice of the input
tensor along multiple axes.

DML_SPACE_TO_DEPTH_OP Describes a DirectML data


ERATOR_DESC reorganization operator that
rearranges blocks of spatial
data into depth. The
operator outputs a copy of
the input tensor where
values from the height and
width dimensions are moved
to the depth dimension.

DML_SPLIT_OPERATOR_DES Describes a DirectML data


C reorganization operator that
splits the input tensor into
multiple output tensors,
along the specified axis.

DML_TENSOR_DESC A generic container for a


DirectML tensor description.

DML_TILE_OPERATOR_DESC Describes a DirectML data


reorganization operator that
constructs an output tensor
by tiling the input tensor.

DML_TOP_K_OPERATOR_DE Describes a DirectML


SC reduction operator that
retrieves the top K elements
along a specified axis.

DML_UPSAMPLE_2D_OPER Describes a DirectML


ATOR_DESC imaging operator that
upsamples the image
contained in the input
tensor. Each dimension value
of the output tensor is
output_dimension =
floor(input_dimension *
scale).

DML_VALUE_SCALE_2D_OP Describes a DirectML


ERATOR_DESC operator that performs an
element-wise scale-and-bias
function on the values in the
input tensor.
Direct3D 9 Graphics
2/7/2020 • 26 minutes to read • Edit Online

Overview of the Direct3D 9 Graphics technology.


To develop Direct3D 9 Graphics, you need these headers:
d3d9.h
d3d9caps.h
d3d9helper.h
For programming guidance for this technology, see:
Direct3D 9 Graphics

Functions
T IT L E DESC RIP T IO N

AddDirtyBox Adds a dirty region to a volume texture resource.

AddDirtyBox Adds a dirty region to a volume texture resource.

AddDirtyRect Adds a dirty region to a cube texture resource.

AddDirtyRect Adds a dirty region to a texture resource.

AddDirtyRect Adds a dirty region to a cube texture resource.

AddDirtyRect Adds a dirty region to a texture resource.

Apply Apply the state block to the current device state.

Apply Apply the state block to the current device state.

BeginScene Begins a scene.

BeginScene Begins a scene.

BeginStateBlock Signals Direct3D to begin recording a device-state block.

BeginStateBlock Signals Direct3D to begin recording a device-state block.

Capture Capture the current value of states that are included in a


stateblock.

Capture Capture the current value of states that are included in a


stateblock.
T IT L E DESC RIP T IO N

CheckDepthStencilMatch Determines whether a depth-stencil format is compatible with


a render-target format in a particular display mode.

CheckDepthStencilMatch Determines whether a depth-stencil format is compatible with


a render-target format in a particular display mode.

CheckDeviceFormat Determines whether a surface format is available as a specified


resource type and can be used as a texture, depth-stencil
buffer, or render target, or any combination of the three, on a
device representing this adapter.

CheckDeviceFormat Determines whether a surface format is available as a specified


resource type and can be used as a texture, depth-stencil
buffer, or render target, or any combination of the three, on a
device representing this adapter.

CheckDeviceFormatConversion Tests the device to see if it supports conversion from one


display format to another.

CheckDeviceFormatConversion Tests the device to see if it supports conversion from one


display format to another.

CheckDeviceMultiSampleType Determines if a multisampling technique is available on this


device.

CheckDeviceMultiSampleType Determines if a multisampling technique is available on this


device.

CheckDeviceState Reports the current cooperative-level status of the Direct3D


device for a windowed or full-screen application.

CheckDeviceType Verifies whether a hardware accelerated device type can be


used on this adapter.

CheckDeviceType Verifies whether a hardware accelerated device type can be


used on this adapter.

CheckResourceResidency Checks an array of resources to determine if it is likely that


they will cause a large stall at Draw time because the system
must make the resources GPU-accessible.

Clear Clears one or more surfaces such as a render target, multiple


render targets, a stencil buffer, and a depth buffer.

Clear Clears one or more surfaces such as a render target, multiple


render targets, a stencil buffer, and a depth buffer.

ColorFill Allows an application to fill a rectangular area of a


D3DPOOL_DEFAULT surface with a specified color.

ColorFill Allows an application to fill a rectangular area of a


D3DPOOL_DEFAULT surface with a specified color.
T IT L E DESC RIP T IO N

ComposeRects Copy a text string to one surface using an alphabet of glyphs


on another surface. Composition is done by the GPU using
bitwise operations.

CreateAdditionalSwapChain Creates an additional swap chain for rendering multiple views.

CreateAdditionalSwapChain Creates an additional swap chain for rendering multiple views.

CreateCubeTexture Creates a cube texture resource.

CreateCubeTexture Creates a cube texture resource.

CreateDepthStencilSurface Creates a depth-stencil resource.

CreateDepthStencilSurface Creates a depth-stencil resource.

CreateDepthStencilSurfaceEx Creates a depth-stencil surface.

CreateDevice Creates a device to represent the display adapter.

CreateDevice Creates a device to represent the display adapter.

CreateDeviceEx Creates a device to represent the display adapter.

CreateIndexBuffer Creates an index buffer.

CreateIndexBuffer Creates an index buffer.

CreateOffscreenPlainSurface Create an off-screen surface.

CreateOffscreenPlainSurface Create an off-screen surface.

CreateOffscreenPlainSurfaceEx Create an off-screen surface.

CreatePixelShader Creates a pixel shader.

CreatePixelShader Creates a pixel shader.

CreateQuery Creates a status query.

CreateQuery Creates a status query.

CreateRenderTarget Creates a render-target surface.

CreateRenderTarget Creates a render-target surface.

CreateRenderTargetEx Creates a render-target surface.

CreateStateBlock Creates a new state block that contains the values for all
device states, vertex-related states, or pixel-related states.
T IT L E DESC RIP T IO N

CreateStateBlock Creates a new state block that contains the values for all
device states, vertex-related states, or pixel-related states.

CreateTexture Creates a texture resource.

CreateTexture Creates a texture resource.

CreateVertexBuffer Creates a vertex buffer.

CreateVertexBuffer Creates a vertex buffer.

CreateVertexDeclaration Create a vertex shader declaration from the device and the
vertex elements.

CreateVertexDeclaration Create a vertex shader declaration from the device and the
vertex elements.

CreateVertexShader Creates a vertex shader.

CreateVertexShader Creates a vertex shader.

CreateVolumeTexture Creates a volume texture resource.

CreateVolumeTexture Creates a volume texture resource.

DeletePatch Frees a cached high-order patch.

DeletePatch Frees a cached high-order patch.

Direct3DCreate9 Create an IDirect3D9 object and return an interface to it.

Direct3DCreate9 Create an IDirect3D9 object and return an interface to it.

Direct3DCreate9Ex Creates an IDirect3D9Ex object and returns an interface to it.

DrawIndexedPrimitive Based on indexing, renders the specified geometric primitive


into an array of vertices.

DrawIndexedPrimitive Based on indexing, renders the specified geometric primitive


into an array of vertices.

DrawIndexedPrimitiveUP Renders the specified geometric primitive with data specified


by a user memory pointer.

DrawIndexedPrimitiveUP Renders the specified geometric primitive with data specified


by a user memory pointer.

DrawPrimitive Renders a sequence of nonindexed, geometric primitives of the


specified type from the current set of data input streams.

DrawPrimitive Renders a sequence of nonindexed, geometric primitives of the


specified type from the current set of data input streams.
T IT L E DESC RIP T IO N

DrawPrimitiveUP Renders data specified by a user memory pointer as a


sequence of geometric primitives of the specified type.

DrawPrimitiveUP Renders data specified by a user memory pointer as a


sequence of geometric primitives of the specified type.

DrawRectPatch Draws a rectangular patch using the currently set streams.

DrawRectPatch Draws a rectangular patch using the currently set streams.

DrawTriPatch Draws a triangular patch using the currently set streams.

DrawTriPatch Draws a triangular patch using the currently set streams.

EndScene Ends a scene that was begun by calling


IDirect3DDevice9::BeginScene.

EndScene Ends a scene that was begun by calling


IDirect3DDevice9::BeginScene.

EndStateBlock Signals Direct3D to stop recording a device-state block and


retrieve a pointer to the state block interface.

EndStateBlock Signals Direct3D to stop recording a device-state block and


retrieve a pointer to the state block interface.

EnumAdapterModes Queries the device to determine whether the specified adapter


supports the requested format and display mode. This
method could be used in a loop to enumerate all the available
adapter modes.

EnumAdapterModes Queries the device to determine whether the specified adapter


supports the requested format and display mode. This
method could be used in a loop to enumerate all the available
adapter modes.

EnumAdapterModesEx This method returns the actual display mode info based on
the given mode index.

EvictManagedResources Evicts all managed resources, including both Direct3D and


driver-managed resources.

EvictManagedResources Evicts all managed resources, including both Direct3D and


driver-managed resources.

FreePrivateData Frees the specified private data associated with this resource.

FreePrivateData Frees the specified private data associated with this volume.

FreePrivateData Frees the specified private data associated with this resource.

FreePrivateData Frees the specified private data associated with this volume.
T IT L E DESC RIP T IO N

GenerateMipSubLevels Generate mipmap sublevels.

GenerateMipSubLevels Generate mipmap sublevels.

GetAdapterCount Returns the number of adapters on the system.

GetAdapterCount Returns the number of adapters on the system.

GetAdapterDisplayMode Retrieves the current display mode of the adapter.

GetAdapterDisplayMode Retrieves the current display mode of the adapter.

GetAdapterDisplayModeEx Retrieves the current display mode and rotation settings of


the adapter.

GetAdapterIdentifier Describes the physical display adapters present in the system


when the IDirect3D9 interface was instantiated.

GetAdapterIdentifier Describes the physical display adapters present in the system


when the IDirect3D9 interface was instantiated.

GetAdapterLUID This method returns a unique identifier for the adapter that is
specific to the adapter hardware. Applications can use this
identifier to define robust mappings across various APIs
(Direct3D 9, DXGI).

GetAdapterModeCount Returns the number of display modes available on this


adapter.

GetAdapterModeCount Returns the number of display modes available on this


adapter.

GetAdapterModeCountEx Returns the number of display modes available.

GetAdapterMonitor Returns the handle of the monitor associated with the


Direct3D object.

GetAdapterMonitor Returns the handle of the monitor associated with the


Direct3D object.

GetAutoGenFilterType Get the filter type that is used for automatically generated
mipmap sublevels.

GetAutoGenFilterType Get the filter type that is used for automatically generated
mipmap sublevels.

GetAvailableTextureMem Returns an estimate of the amount of available texture


memory.

GetAvailableTextureMem Returns an estimate of the amount of available texture


memory.

GetBackBuffer Retrieves a back buffer from the device's swap chain.


T IT L E DESC RIP T IO N

GetBackBuffer Retrieves a back buffer from the swap chain of the device.

GetBackBuffer Retrieves a back buffer from the device's swap chain.

GetBackBuffer Retrieves a back buffer from the swap chain of the device.

GetClipPlane Retrieves the coefficients of a user-defined clipping plane for


the device.

GetClipPlane Retrieves the coefficients of a user-defined clipping plane for


the device.

GetClipStatus Retrieves the clip status.

GetClipStatus Retrieves the clip status.

GetContainer Provides access to the parent cube texture or texture


(mipmap) object, if this surface is a child level of a cube texture
or a mipmap. This method can also provide access to the
parent swap chain if the surface is a back-buffer child.

GetContainer Provides access to the parent volume texture object, if this


surface is a child level of a volume texture.

GetContainer Provides access to the parent cube texture or texture


(mipmap) object, if this surface is a child level of a cube texture
or a mipmap. This method can also provide access to the
parent swap chain if the surface is a back-buffer child.

GetContainer Provides access to the parent volume texture object, if this


surface is a child level of a volume texture.

GetCreationParameters Retrieves the creation parameters of the device.

GetCreationParameters Retrieves the creation parameters of the device.

GetCubeMapSurface Retrieves a cube texture map surface.

GetCubeMapSurface Retrieves a cube texture map surface.

GetCurrentTexturePalette Retrieves the current texture palette.

GetCurrentTexturePalette Retrieves the current texture palette.

GetData Polls a queried resource to get the query state or a query


result. For more information about queries, see Queries
(Direct3D 9).

GetData Polls a queried resource to get the query state or a query


result. For more information about queries, see Queries
(Direct3D 9).

GetDataSize Gets the number of bytes in the query data.


T IT L E DESC RIP T IO N

GetDataSize Gets the number of bytes in the query data.

GetDC Retrieves a device context.

GetDC Retrieves a device context.

GetDeclaration Gets the vertex shader declaration.

GetDeclaration Gets the vertex shader declaration.

GetDepthStencilSurface Gets the depth-stencil surface owned by the Direct3DDevice


object.

GetDepthStencilSurface Gets the depth-stencil surface owned by the Direct3DDevice


object.

GetDesc Retrieves a description of the index buffer resource.

GetDesc Retrieves a description of the surface.

GetDesc Retrieves a description of the vertex buffer resource.

GetDesc Retrieves a description of the volume.

GetDesc Retrieves a description of the index buffer resource.

GetDesc Retrieves a description of the surface.

GetDesc Retrieves a description of the vertex buffer resource.

GetDesc Retrieves a description of the volume.

GetDevice Gets the device.

GetDevice Gets the device that is being queried.

GetDevice Retrieves the device associated with a resource.

GetDevice Gets the device.

GetDevice Retrieves the device associated with the swap chain.

GetDevice Gets the current device.

GetDevice Gets the device.

GetDevice Retrieves the device associated with a volume.

GetDevice Gets the device.


T IT L E DESC RIP T IO N

GetDevice Gets the device that is being queried.

GetDevice Retrieves the device associated with a resource.

GetDevice Gets the device.

GetDevice Retrieves the device associated with the swap chain.

GetDevice Gets the current device.

GetDevice Gets the device.

GetDevice Retrieves the device associated with a volume.

GetDeviceCaps Retrieves device-specific information about a device.

GetDeviceCaps Retrieves the capabilities of the rendering device.

GetDeviceCaps Retrieves device-specific information about a device.

GetDeviceCaps Retrieves the capabilities of the rendering device.

GetDirect3D Returns an interface to the instance of the Direct3D object


that created the device.

GetDirect3D Returns an interface to the instance of the Direct3D object


that created the device.

GetDisplayMode Retrieves the display mode's spatial resolution, color


resolution, and refresh frequency.

GetDisplayMode Retrieves the display mode's spatial resolution, color


resolution, and refresh frequency.

GetDisplayMode Retrieves the display mode's spatial resolution, color


resolution, and refresh frequency.

GetDisplayMode Retrieves the display mode's spatial resolution, color


resolution, and refresh frequency.

GetDisplayModeEx Retrieves the display mode's spatial resolution, color


resolution, refresh frequency, and rotation settings.

GetDisplayModeEx Retrieves the display mode's spatial resolution, color


resolution, refresh frequency, and rotation settings.

GetFrontBufferData Generates a copy of the device's front buffer and places that
copy in a system memory buffer provided by the application.

GetFrontBufferData Generates a copy of the swapchain's front buffer and places


that copy in a system memory buffer provided by the
application.
T IT L E DESC RIP T IO N

GetFrontBufferData Generates a copy of the device's front buffer and places that
copy in a system memory buffer provided by the application.

GetFrontBufferData Generates a copy of the swapchain's front buffer and places


that copy in a system memory buffer provided by the
application.

GetFunction Gets a pointer to the shader data.

GetFunction Gets a pointer to the shader data.

GetFunction Gets a pointer to the shader data.

GetFunction Gets a pointer to the shader data.

GetFVF Gets the fixed vertex function declaration.

GetFVF Gets the fixed vertex function declaration.

GetGammaRamp Retrieves the gamma correction ramp for the swap chain.

GetGammaRamp Retrieves the gamma correction ramp for the swap chain.

GetGPUThreadPriority Get the priority of the GPU thread.

GetIndices Retrieves index data.

GetIndices Retrieves index data.

GetLastPresentCount Returns the number of times the swapchain has been


processed.

GetLevelCount Returns the number of texture levels in a multilevel texture.

GetLevelCount Returns the number of texture levels in a multilevel texture.

GetLevelDesc Retrieves a description of one face of the specified cube


texture level.

GetLevelDesc Retrieves a level description of a texture resource.

GetLevelDesc Retrieves a level description of a volume texture resource.

GetLevelDesc Retrieves a description of one face of the specified cube


texture level.

GetLevelDesc Retrieves a level description of a texture resource.

GetLevelDesc Retrieves a level description of a volume texture resource.

GetLight Retrieves a set of lighting properties that this device uses.


T IT L E DESC RIP T IO N

GetLight Retrieves a set of lighting properties that this device uses.

GetLightEnable Retrieves the activity status - enabled or disabled - for a set of


lighting parameters within a device.

GetLightEnable Retrieves the activity status - enabled or disabled - for a set of


lighting parameters within a device.

GetLOD Returns a value clamped to the maximum level-of-detail set


for a managed texture (this method is not supported for an
unmanaged texture).

GetLOD Returns a value clamped to the maximum level-of-detail set


for a managed texture (this method is not supported for an
unmanaged texture).

GetMaterial Retrieves the current material properties for the device.

GetMaterial Retrieves the current material properties for the device.

GetMaximumFrameLatency Retrieves the number of frames of data that the system is


allowed to queue.

GetNPatchMode Gets the N-patch mode segments.

GetNPatchMode Gets the N-patch mode segments.

GetNumberOfSwapChains Gets the number of implicit swap chains.

GetNumberOfSwapChains Gets the number of implicit swap chains.

GetPaletteEntries Retrieves palette entries.

GetPaletteEntries Retrieves palette entries.

GetPixelShader Retrieves the currently set pixel shader.

GetPixelShader Retrieves the currently set pixel shader.

GetPixelShaderConstantB Gets a Boolean shader constant.

GetPixelShaderConstantB Gets a Boolean shader constant.

GetPixelShaderConstantF Gets a floating-point shader constant.

GetPixelShaderConstantF Gets a floating-point shader constant.

GetPixelShaderConstantI Gets an integer shader constant.

GetPixelShaderConstantI Gets an integer shader constant.


T IT L E DESC RIP T IO N

GetPresentParameters Retrieves the presentation parameters associated with a swap


chain.

GetPresentParameters Retrieves the presentation parameters associated with a swap


chain.

GetPriority Retrieves the priority for this resource.

GetPriority Retrieves the priority for this resource.

GetPrivateData Copies the private data associated with the resource to a


provided buffer.

GetPrivateData Copies the private data associated with the volume to a


provided buffer.

GetPrivateData Copies the private data associated with the resource to a


provided buffer.

GetPrivateData Copies the private data associated with the volume to a


provided buffer.

GetRasterStatus Returns information describing the raster of the monitor on


which the swap chain is presented.

GetRasterStatus Returns information describing the raster of the monitor on


which the swap chain is presented.

GetRasterStatus Returns information describing the raster of the monitor on


which the swap chain is presented.

GetRasterStatus Returns information describing the raster of the monitor on


which the swap chain is presented.

GetRenderState Retrieves a render-state value for a device.

GetRenderState Retrieves a render-state value for a device.

GetRenderTarget Retrieves a render-target surface.

GetRenderTarget Retrieves a render-target surface.

GetRenderTargetData Copies the render-target data from device memory to system


memory.

GetRenderTargetData Copies the render-target data from device memory to system


memory.

GetSamplerState Gets the sampler state value.

GetSamplerState Gets the sampler state value.


T IT L E DESC RIP T IO N

GetScissorRect Gets the scissor rectangle.

GetScissorRect Gets the scissor rectangle.

GetSoftwareVertexProcessing Gets the vertex processing (hardware or software) mode.

GetSoftwareVertexProcessing Gets the vertex processing (hardware or software) mode.

GetStreamSource Retrieves a vertex buffer bound to the specified data stream.

GetStreamSource Retrieves a vertex buffer bound to the specified data stream.

GetStreamSourceFreq Gets the stream source frequency divider value.

GetStreamSourceFreq Gets the stream source frequency divider value.

GetSurfaceLevel Retrieves the specified texture surface level.

GetSurfaceLevel Retrieves the specified texture surface level.

GetSwapChain Gets a pointer to a swap chain.

GetSwapChain Gets a pointer to a swap chain.

GetTexture Retrieves a texture assigned to a stage for a device.

GetTexture Retrieves a texture assigned to a stage for a device.

GetTextureStageState Retrieves a state value for an assigned texture.

GetTextureStageState Retrieves a state value for an assigned texture.

GetTransform Retrieves a matrix describing a transformation state.

GetTransform Retrieves a matrix describing a transformation state.

GetType Gets the query type.

GetType Returns the type of the resource.

GetType Gets the query type.

GetType Returns the type of the resource.

GetVertexDeclaration Gets a vertex shader declaration.

GetVertexDeclaration Gets a vertex shader declaration.

GetVertexShader Retrieves the currently set vertex shader.


T IT L E DESC RIP T IO N

GetVertexShader Retrieves the currently set vertex shader.

GetVertexShaderConstantB Gets a Boolean vertex shader constant.

GetVertexShaderConstantB Gets a Boolean vertex shader constant.

GetVertexShaderConstantF Gets a floating-point vertex shader constant.

GetVertexShaderConstantF Gets a floating-point vertex shader constant.

GetVertexShaderConstantI Gets an integer vertex shader constant.

GetVertexShaderConstantI Gets an integer vertex shader constant.

GetViewport Retrieves the viewport parameters currently set for the device.

GetViewport Retrieves the viewport parameters currently set for the device.

GetVolumeLevel Retrieves the specified volume texture level.

GetVolumeLevel Retrieves the specified volume texture level.

Issue Issue a query.

Issue Issue a query.

LightEnable Enables or disables a set of lighting parameters within a


device.

LightEnable Enables or disables a set of lighting parameters within a


device.

Lock Locks a range of index data and obtains a pointer to the index
buffer memory.

Lock Locks a range of vertex data and obtains a pointer to the


vertex buffer memory.

Lock Locks a range of index data and obtains a pointer to the index
buffer memory.

Lock Locks a range of vertex data and obtains a pointer to the


vertex buffer memory.

LockBox Locks a box on a volume resource.

LockBox Locks a box on a volume texture resource.

LockBox Locks a box on a volume resource.

LockBox Locks a box on a volume texture resource.


T IT L E DESC RIP T IO N

LockRect Locks a rectangle on a cube texture resource.

LockRect Locks a rectangle on a surface.

LockRect Locks a rectangle on a texture resource.

LockRect Locks a rectangle on a cube texture resource.

LockRect Locks a rectangle on a surface.

LockRect Locks a rectangle on a texture resource.

MultiplyTransform Multiplies a device's world, view, or projection matrices by a


specified matrix.

MultiplyTransform Multiplies a device's world, view, or projection matrices by a


specified matrix.

PreLoad Preloads a managed resource.

PreLoad Preloads a managed resource.

Present Presents the contents of the next buffer in the sequence of


back buffers owned by the device.

Present Presents the contents of the next buffer in the sequence of


back buffers owned by the swap chain.

Present Presents the contents of the next buffer in the sequence of


back buffers owned by the device.

Present Presents the contents of the next buffer in the sequence of


back buffers owned by the swap chain.

PresentEx Swap the swapchain's next buffer with the front buffer.

ProcessVertices Applies the vertex processing defined by the vertex shader to


the set of input data streams, generating a single stream of
interleaved vertex data to the destination vertex buffer.

ProcessVertices Applies the vertex processing defined by the vertex shader to


the set of input data streams, generating a single stream of
interleaved vertex data to the destination vertex buffer.

RegisterSoftwareDevice Registers a pluggable software device. Software devices


provide software rasterization enabling applications to access
a variety of software rasterizers.

RegisterSoftwareDevice Registers a pluggable software device. Software devices


provide software rasterization enabling applications to access
a variety of software rasterizers.

ReleaseDC Release a device context handle.


T IT L E DESC RIP T IO N

ReleaseDC Release a device context handle.

Reset Resets the type, size, and format of the swap chain.

Reset Resets the type, size, and format of the swap chain.

ResetEx Resets the type, size, and format of the swap chain with all
other surfaces persistent.

SetAutoGenFilterType Set the filter type that is used for automatically generated
mipmap sublevels.

SetAutoGenFilterType Set the filter type that is used for automatically generated
mipmap sublevels.

SetClipPlane Sets the coefficients of a user-defined clipping plane for the


device.

SetClipPlane Sets the coefficients of a user-defined clipping plane for the


device.

SetClipStatus Sets the clip status.

SetClipStatus Sets the clip status.

SetConvolutionMonoKernel Prepare the texture sampler for monochrome convolution


filtering on a single-color texture.

SetCurrentTexturePalette Sets the current texture palette.

SetCurrentTexturePalette Sets the current texture palette.

SetCursorPosition Sets the cursor position and update options.

SetCursorPosition Sets the cursor position and update options.

SetCursorProperties Sets properties for the cursor.

SetCursorProperties Sets properties for the cursor.

SetDepthStencilSurface Sets the depth stencil surface.

SetDepthStencilSurface Sets the depth stencil surface.

SetDialogBoxMode This method allows the use of GDI dialog boxes in full-screen
mode applications.

SetDialogBoxMode This method allows the use of GDI dialog boxes in full-screen
mode applications.

SetFVF Sets the current vertex stream declaration.


T IT L E DESC RIP T IO N

SetFVF Sets the current vertex stream declaration.

SetGammaRamp Sets the gamma correction ramp for the implicit swap chain.
This method will affect the entire screen (not just the active
window if you are running in windowed mode).

SetGammaRamp Sets the gamma correction ramp for the implicit swap chain.
This method will affect the entire screen (not just the active
window if you are running in windowed mode).

SetGPUThreadPriority Set the priority on the GPU thread.

SetIndices Sets index data.

SetIndices Sets index data.

SetLight Assigns a set of lighting properties for this device.

SetLight Assigns a set of lighting properties for this device.

SetLOD Sets the most detailed level-of-detail for a managed texture.

SetLOD Sets the most detailed level-of-detail for a managed texture.

SetMaterial Sets the material properties for the device.

SetMaterial Sets the material properties for the device.

SetMaximumFrameLatency Set the number of frames that the system is allowed to queue
for rendering.

SetNPatchMode Enable or disable N-patches.

SetNPatchMode Enable or disable N-patches.

SetPaletteEntries Sets palette entries.

SetPaletteEntries Sets palette entries.

SetPixelShader Sets the current pixel shader to a previously created pixel


shader.

SetPixelShader Sets the current pixel shader to a previously created pixel


shader.

SetPixelShaderConstantB Sets a Boolean shader constant.

SetPixelShaderConstantB Sets a Boolean shader constant.

SetPixelShaderConstantF Sets a floating-point shader constant.


T IT L E DESC RIP T IO N

SetPixelShaderConstantF Sets a floating-point shader constant.

SetPixelShaderConstantI Sets an integer shader constant.

SetPixelShaderConstantI Sets an integer shader constant.

SetPriority Assigns the priority of a resource for scheduling purposes.

SetPriority Assigns the priority of a resource for scheduling purposes.

SetPrivateData Associates data with the resource that is intended for use by
the application, not by Direct3D. Data is passed by value, and
multiple sets of data can be associated with a single resource.

SetPrivateData Associates data with the volume that is intended for use by
the application, not by Direct3D.

SetPrivateData Associates data with the resource that is intended for use by
the application, not by Direct3D. Data is passed by value, and
multiple sets of data can be associated with a single resource.

SetPrivateData Associates data with the volume that is intended for use by
the application, not by Direct3D.

SetRenderState Sets a single device render-state parameter.

SetRenderState Sets a single device render-state parameter.

SetRenderTarget Sets a new color buffer for the device.

SetRenderTarget Sets a new color buffer for the device.

SetSamplerState Sets the sampler state value.

SetSamplerState Sets the sampler state value.

SetScissorRect Sets the scissor rectangle.

SetScissorRect Sets the scissor rectangle.

SetSoftwareVertexProcessing Use this method to switch between software and hardware


vertex processing.

SetSoftwareVertexProcessing Use this method to switch between software and hardware


vertex processing.

SetStreamSource Binds a vertex buffer to a device data stream. For more


information, see Setting the Stream Source (Direct3D 9).

SetStreamSource Binds a vertex buffer to a device data stream. For more


information, see Setting the Stream Source (Direct3D 9).
T IT L E DESC RIP T IO N

SetStreamSourceFreq Sets the stream source frequency divider value. This may be
used to draw several instances of geometry.

SetStreamSourceFreq Sets the stream source frequency divider value. This may be
used to draw several instances of geometry.

SetTexture Assigns a texture to a stage for a device.

SetTexture Assigns a texture to a stage for a device.

SetTextureStageState Sets the state value for the currently assigned texture.

SetTextureStageState Sets the state value for the currently assigned texture.

SetTransform Sets a single device transformation-related state.

SetTransform Sets a single device transformation-related state.

SetVertexDeclaration Sets a Vertex Declaration (Direct3D 9).

SetVertexDeclaration Sets a Vertex Declaration (Direct3D 9).

SetVertexShader Sets the vertex shader.

SetVertexShader Sets the vertex shader.

SetVertexShaderConstantB Sets a Boolean vertex shader constant.

SetVertexShaderConstantB Sets a Boolean vertex shader constant.

SetVertexShaderConstantF Sets a floating-point vertex shader constant.

SetVertexShaderConstantF Sets a floating-point vertex shader constant.

SetVertexShaderConstantI Sets an integer vertex shader constant.

SetVertexShaderConstantI Sets an integer vertex shader constant.

SetViewport Sets the viewport parameters for the device.

SetViewport Sets the viewport parameters for the device.

ShowCursor Displays or hides the cursor.

ShowCursor Displays or hides the cursor.

StretchRect Copy the contents of the source rectangle to the destination


rectangle. The source rectangle can be stretched and filtered
by the copy. This function is often used to change the aspect
ratio of a video stream.
T IT L E DESC RIP T IO N

StretchRect Copy the contents of the source rectangle to the destination


rectangle. The source rectangle can be stretched and filtered
by the copy. This function is often used to change the aspect
ratio of a video stream.

TestCooperativeLevel Reports the current cooperative-level status of the Direct3D


device for a windowed or full-screen application.

TestCooperativeLevel Reports the current cooperative-level status of the Direct3D


device for a windowed or full-screen application.

TestCooperativeLevel Reports the current cooperative-level status of the Direct3D


device for a windowed or full-screen application.

Unlock Unlocks index data.

Unlock Unlocks vertex data.

Unlock Unlocks index data.

Unlock Unlocks vertex data.

UnlockBox Unlocks a box on a volume resource.

UnlockBox Unlocks a box on a volume texture resource.

UnlockBox Unlocks a box on a volume resource.

UnlockBox Unlocks a box on a volume texture resource.

UnlockRect Unlocks a rectangle on a cube texture resource.

UnlockRect Unlocks a rectangle on a surface.

UnlockRect Unlocks a rectangle on a texture resource.

UnlockRect Unlocks a rectangle on a cube texture resource.

UnlockRect Unlocks a rectangle on a surface.

UnlockRect Unlocks a rectangle on a texture resource.

UpdateSurface Copies rectangular subsets of pixels from one surface to


another.

UpdateSurface Copies rectangular subsets of pixels from one surface to


another.

UpdateTexture Updates the dirty portions of a texture.

UpdateTexture Updates the dirty portions of a texture.


T IT L E DESC RIP T IO N

ValidateDevice Reports the device's ability to render the current texture-


blending operations and arguments in a single pass.

ValidateDevice Reports the device's ability to render the current texture-


blending operations and arguments in a single pass.

WaitForVBlank Suspend execution of the calling thread until the next vertical
blank signal.

Interfaces
T IT L E DESC RIP T IO N

IDirect3D9 Applications use the methods of the IDirect3D9 interface to


create Microsoft Direct3D objects and set up the environment.
This interface includes methods for enumerating and
retrieving capabilities of the device.

IDirect3D9 Applications use the methods of the IDirect3D9 interface to


create Microsoft Direct3D objects and set up the environment.
This interface includes methods for enumerating and
retrieving capabilities of the device.

IDirect3D9Ex Applications use the methods of the IDirect3D9Ex interface


(which inherits from IDirect3D9) to create Microsoft Direct3D
9Ex objects and set up the environment.

IDirect3DBaseTexture9 Applications use the methods of the IDirect3DBaseTexture9


interface to manipulate texture resources including cube and
volume textures.

IDirect3DBaseTexture9 Applications use the methods of the IDirect3DBaseTexture9


interface to manipulate texture resources including cube and
volume textures.

IDirect3DCubeTexture9 Applications use the methods of the IDirect3DCubeTexture9


interface to manipulate a cube texture resource.

IDirect3DCubeTexture9 Applications use the methods of the IDirect3DCubeTexture9


interface to manipulate a cube texture resource.

IDirect3DDevice9 Applications use the methods of the IDirect3DDevice9


interface to perform DrawPrimitive-based rendering, create
resources, work with system-level variables, adjust gamma
ramp levels, work with palettes, and create shaders.

IDirect3DDevice9 Applications use the methods of the IDirect3DDevice9


interface to perform DrawPrimitive-based rendering, create
resources, work with system-level variables, adjust gamma
ramp levels, work with palettes, and create shaders.
T IT L E DESC RIP T IO N

IDirect3DDevice9Ex Applications use the methods of the IDirect3DDevice9Ex


interface to render primitives, create resources, work with
system-level variables, adjust gamma ramp levels, work with
palettes, and create shaders.

IDirect3DIndexBuffer9 Applications use the methods of the IDirect3DIndexBuffer9


interface to manipulate an index buffer resource.

IDirect3DIndexBuffer9 Applications use the methods of the IDirect3DIndexBuffer9


interface to manipulate an index buffer resource.

IDirect3DPixelShader9 Applications use the methods of the IDirect3DPixelShader9


interface to encapsulate the functionality of a pixel shader.

IDirect3DPixelShader9 Applications use the methods of the IDirect3DPixelShader9


interface to encapsulate the functionality of a pixel shader.

IDirect3DQuery9 Applications use the methods of the IDirect3DQuery9


interface to perform asynchronous queries on a driver.

IDirect3DQuery9 Applications use the methods of the IDirect3DQuery9


interface to perform asynchronous queries on a driver.

IDirect3DResource9 Applications use the methods of the IDirect3DResource9


interface to query and prepare resources.

IDirect3DResource9 Applications use the methods of the IDirect3DResource9


interface to query and prepare resources.

IDirect3DStateBlock9 Applications use the methods of the IDirect3DStateBlock9


interface to encapsulate render states.

IDirect3DStateBlock9 Applications use the methods of the IDirect3DStateBlock9


interface to encapsulate render states.

IDirect3DSurface9 Applications use the methods of the IDirect3DSurface9


interface to query and prepare surfaces.

IDirect3DSurface9 Applications use the methods of the IDirect3DSurface9


interface to query and prepare surfaces.

IDirect3DSwapChain9 Applications use the methods of the IDirect3DSwapChain9


interface to manipulate a swap chain.

IDirect3DSwapChain9 Applications use the methods of the IDirect3DSwapChain9


interface to manipulate a swap chain.

IDirect3DSwapChain9Ex Applications use the methods of the IDirect3DSwapChain9Ex


interface to manipulate a swap chain.

IDirect3DTexture9 Applications use the methods of the IDirect3DTexture9


interface to manipulate a texture resource.
T IT L E DESC RIP T IO N

IDirect3DTexture9 Applications use the methods of the IDirect3DTexture9


interface to manipulate a texture resource.

IDirect3DVertexBuffer9 Applications use the methods of the IDirect3DVertexBuffer9


interface to manipulate vertex buffer resources.

IDirect3DVertexBuffer9 Applications use the methods of the IDirect3DVertexBuffer9


interface to manipulate vertex buffer resources.

IDirect3DVertexDeclaration9 Applications use the methods of the


IDirect3DVertexDeclaration9 interface to encapsulate the
vertex shader declaration.

IDirect3DVertexDeclaration9 Applications use the methods of the


IDirect3DVertexDeclaration9 interface to encapsulate the
vertex shader declaration.

IDirect3DVertexShader9 Applications use the methods of the IDirect3DVertexShader9


interface to encapsulate the functionality of a vertex shader.

IDirect3DVertexShader9 Applications use the methods of the IDirect3DVertexShader9


interface to encapsulate the functionality of a vertex shader.

IDirect3DVolume9 Applications use the methods of the IDirect3DVolume9


interface to manipulate volume resources.

IDirect3DVolume9 Applications use the methods of the IDirect3DVolume9


interface to manipulate volume resources.

IDirect3DVolumeTexture9 Applications use the methods of the IDirect3DVolumeTexture9


interface to manipulate a volume texture resource.

IDirect3DVolumeTexture9 Applications use the methods of the IDirect3DVolumeTexture9


interface to manipulate a volume texture resource.

Structures
T IT L E DESC RIP T IO N

D3DCAPS9 Represents the capabilities of the hardware exposed through


the Direct3D object.

D3DPSHADERCAPS2_0 Pixel shader driver caps.

D3DVSHADERCAPS2_0 Vertex shader caps.

PALETTEENTRY Specifies the color and usage of an entry in a logical palette.


DirectComposition
3/18/2020 • 26 minutes to read • Edit Online

Overview of the DirectComposition technology.


To develop DirectComposition, you need these headers:
dcomp.h
dcompanimation.h
dcomptypes.h
For programming guidance for this technology, see:
DirectComposition

Enumerations
T IT L E DESC RIP T IO N

DCOMPOSITION_BACKFACE_VISIBILITY Specifies the backface visibility to be applied to a visual.

DCOMPOSITION_BITMAP_INTERPOLATION_MODE Specifies the interpolation mode to be used when a bitmap is


composed with any transform where the pixels in the bitmap
don't line up exactly one-to-one with pixels on screen.

DCOMPOSITION_BORDER_MODE Specifies the border mode to use when composing a bitmap


or applying a clip with any transform such that the edges of
the bitmap or clip are not axis-aligned with integer
coordinates.

DCOMPOSITION_COMPOSITE_MODE The mode to use to blend the bitmap content of a visual with
the render target.

DCOMPOSITION_OPACITY_MODE Specifies how the effective opacity value of a visual is applied


to that visual’s content and children.

Functions
T IT L E DESC RIP T IO N

AddCubic Adds a cubic polynomial segment to the animation function.

AddRepeat Adds a repeat segment that causes the specified portion of an


animation function to be repeated.

AddSinusoidal Adds a sinusoidal segment to the animation function.

AddVisual Adds a new child visual to the children list of this visual.

BeginDraw Initiates drawing on this Microsoft DirectComposition surface


object.
T IT L E DESC RIP T IO N

CheckDeviceState Determines whether the DirectComposition device object is


still valid.

Commit Commits all DirectComposition commands that are pending


on this device.

Commit Commits all DirectComposition commands that are pending


on this device.

CreateAffineTransform2DEffect Creates an instance of IDCompositionAffineTransform2DEffect.

CreateAnimation Creates an animation object that is used to animate one or


more scalar properties of one or more Microsoft
DirectComposition objects.

CreateAnimation Creates an animation object that is used to animate one or


more scalar properties of one or more Microsoft
DirectComposition objects.

CreateArithmeticCompositeEffect Creates an instance of


IDCompositionArithmeticCompositeEffect.

CreateBlendEffect Creates an instance of IDCompositionBlendEffect.

CreateBrightnessEffect Creates an instance of IDCompositionBrightnessEffect.

CreateColorMatrixEffect Creates an instance of IDCompositionColorMatrixEffect.

CreateCompositeEffect Creates an instance of IDCompositionCompositeEffect.

CreateEffectGroup Creates an object that represents multiple effects to be


applied to a visual subtree.

CreateEffectGroup Creates an object that represents multiple effects to be


applied to a visual subtree.

CreateGaussianBlurEffect Creates an instance of IDCompositionGaussianBlurEffect.

CreateHueRotationEffect Creates an instance of IDCompositionHueRotationEffect.

CreateLinearTransferEffect Creates an instance of IDCompositionLinearTransferEffect.

CreateMatrixTransform Creates a 2D 3-by-2 matrix transform object.

CreateMatrixTransform Creates a 2D 3-by-2 matrix transform object.

CreateMatrixTransform3D Creates a 3D 4-by-4 matrix transform object.

CreateMatrixTransform3D Creates a 3D 4-by-4 matrix transform object.

CreateRectangleClip Creates a clip object that can be used to restrict the rendering
of a visual subtree to a rectangular area.
T IT L E DESC RIP T IO N

CreateRectangleClip Creates a clip object that can be used to restrict the rendering
of a visual subtree to a rectangular area.

CreateRotateTransform Creates a 2D rotation transform object.

CreateRotateTransform Creates a 2D rotation transform object.

CreateRotateTransform3D Creates a 3D rotation transform object.

CreateRotateTransform3D Creates a 3D rotation transform object.

CreateSaturationEffect Creates an instance of IDCompositionSaturationEffect.

CreateScaleTransform Creates a 2D scale transform object.

CreateScaleTransform Creates a 2D scale transform object.

CreateScaleTransform3D Creates a 3D scale transform object.

CreateScaleTransform3D Creates a 3D scale transform object.

CreateShadowEffect Creates an instance of IDCompositionShadowEffect.

CreateSkewTransform Creates a 2D skew transform object.

CreateSkewTransform Creates a 2D skew transform object.

CreateSurface Creates an updateable surface object that can be associated


with one or more visuals for composition.

CreateSurface Creates an updateable surface object that can be associated


with one or more visuals for composition.

CreateSurface Creates a surface object that can be associated with one or


more visuals for composition.

CreateSurfaceFactory Creates a Microsoft DirectComposition surface factory object,


which can be used to create other DirectComposition surface
or virtual surface objects.

CreateSurfaceFromHandle Creates a new composition surface object that wraps an


existing composition surface.

CreateSurfaceFromHandle Creates a new composition surface object that wraps an


existing composition surface.

CreateSurfaceFromHwnd Creates a wrapper object that represents the rasterization of a


layered window, and that can be associated with a visual for
composition.
T IT L E DESC RIP T IO N

CreateSurfaceFromHwnd Creates a wrapper object that represents the rasterization of a


layered window, and that can be associated with a visual for
composition.

CreateTableTransferEffect Creates an instance of IDCompositionTableTransferEffect.

CreateTargetForHwnd Creates a composition target object that is bound to the


window that is represented by the specified window handle.

CreateTargetForHwnd Creates a composition target object that is bound to the


window that is represented by the specified window handle
(HWND).

CreateTransform3DGroup Creates a 3D transform group object that holds an array of


3D transform objects.

CreateTransform3DGroup Creates a 3D transform group object that holds an array of


3D transform objects.

CreateTransformGroup Creates a 2D transform group object that holds an array of


2D transform objects.

CreateTransformGroup Creates a 2D transform group object that holds an array of


2D transform objects.

CreateTranslateTransform Creates a 2D translation transform object.

CreateTranslateTransform Creates a 2D translation transform object.

CreateTranslateTransform3D Creates a 3D translation transform object.

CreateTranslateTransform3D Creates a 3D translation transform object.

CreateTurbulenceEffect Creates an instance of IDCompositionTurbulenceEffect.

CreateVirtualSurface Creates a sparsely populated surface that can be associated


with one or more visuals for composition.

CreateVirtualSurface Creates a sparsely populated surface that can be associated


with one or more visuals for composition.

CreateVirtualSurface Creates a sparsely populated surface that can be associated


with one or more visuals for composition.

CreateVisual Creates a new visual object.

CreateVisual Creates a new visual object.

DCompositionAttachMouseDragToHwnd Creates an Interaction/InputSink to route mouse button down


and any subsequent move and up events to the given HWND.

DCompositionAttachMouseWheelToHwnd Creates an Interaction/InputSink to route mouse wheel


messages to the given HWND.
T IT L E DESC RIP T IO N

DCompositionCreateDevice Creates a new device object that can be used to create other
Microsoft DirectComposition objects.

DCompositionCreateDevice2 Creates a new device object that can be used to create other
Microsoft DirectComposition objects.

DCompositionCreateDevice3 Creates a new DirectComposition device object, which can be


used to create other DirectComposition objects.

DCompositionCreateSurfaceHandle Creates a new composition surface object that can be bound


to a Microsoft DirectX swap chain or swap buffer and
associated with a visual.

DisableDebugCounters Disables display of performance debugging counters.

DisableHeatMap Disables visual heatmaps.

DisableRedrawRegions Disables visual redraw regions.

EnableDebugCounters Enables display of performance debugging counters.

EnableHeatMap Enables a visual heatmap that represents overdraw regions.

EnableRedrawRegions Enables highlighting visuals when content is being redrawn.

End Adds an end segment that marks the end of an animation


function.

EndDraw Marks the end of drawing on this Microsoft


DirectComposition surface object.

GetFrameStatistics Retrieves information from the composition engine about


composition times and the frame rate.

GetFrameStatistics Retrieves information from the composition engine about


composition times and the frame rate.

RemoveAllVisuals Removes all visuals from the children list of this visual.

RemoveVisual Removes a child visual from the children list of this visual.

Reset Resets the animation function so that it contains no segments.

Resize Changes the logical size of this virtual surface object.

ResumeDraw Resumes drawing on this Microsoft DirectComposition surface


object.

Scroll Scrolls a rectangular area of a Microsoft DirectComposition


logical surface.

SetAbsoluteBeginTime Sets the absolute time at which the animation function starts.
T IT L E DESC RIP T IO N

SetAlpha Sets the alpha value for the effect.

SetAlpha Sets the alpha value for the effect.

SetAlphaDisable Specifies whether to apply the transfer function to the alpha


channel.

SetAlphaDisable Specifies whether to apply the transfer function to the Alpha


channel.

SetAlphaMode Sets the alpha mode of the output for the color matrix effect.

SetAlphaSlope Sets the slope of the linear function for the alpha channel.

SetAlphaSlope Sets the slope of the linear function for the alpha channel.

SetAlphaTable Sets the list of values used to define the transfer function for
the alpha channel.

SetAlphaTableValue Sets a value in the alpha table.

SetAlphaTableValue Sets a value in the alpha table.

SetAlphaYIntercept Sets the Y-intercept of the linear function for the alpha
channel.

SetAlphaYIntercept Sets the Y-intercept of the linear function for the Alpha
channel.

SetAngle Sets the angle to rotate the hue.

SetAngle Sets the angle to rotate the hue.

SetAngle Changes the value of the Angle property of a 2D rotation


transform. The Angle property specifies the rotation angle.

SetAngle Animates the value of the Angle property of a 2D rotation


transform. The Angle property specifies the rotation angle.

SetAngle Changes the value of the Angle property of a 3D rotation


transform. The Angle property specifies the rotation angle.
The default value is zero.

SetAngle Animates the value of the Angle property of a 3D rotation


transform. The Angle property specifies the rotation angle.
The default value is zero.

SetAngleX Changes the value of the AngleX property of a 2D skew


transform.

SetAngleX Animates the value of the AngleX property of a 2D skew


transform.
T IT L E DESC RIP T IO N

SetAngleY Changes the value of the AngleY property of a 2D skew


transform.

SetAngleY Animates the value of the AngleY property of a 2D skew


transform.

SetAxisX Changes the value of the AxisX property of a 3D rotation


transform. The AxisX property specifies the x-coordinate for
the axis vector of rotation. The default value is zero.

SetAxisX Animates the value of the AxisX property of a 3D rotation


transform. The AxisX property specifies the x-coordinate for
the axis vector of rotation. The default value is zero.

SetAxisY Changes the value of the AxisY property of a 3D rotation


transform. The AxisY property specifies the y-coordinate for
the axis vector of rotation. The default value is zero.

SetAxisY Animates the value of the AxisY property of a 3D rotation


transform. The AxisY property specifies the y-coordinate for
the axis vector of rotation. The default value is zero.

SetAxisZ Changes the value of the AxisZ property of a 3D rotation


transform. The AxisZ property specifies the z-coordinate for
the axis vector of rotation. The default value is 1.0.

SetAxisZ Animates the value of the AxisZ property of a 3D rotation


transform. The AxisZ property specifies the z-coordinate for
the axis vector of rotation. The default value is 1.0.

SetBackFaceVisibility Specifies whether or not surfaces that have 3D


transformations applied to them should be displayed when
facing away from the observer.

SetBaseFrequency Sets the base frequencies in the X and Y direction.

SetBitmapInterpolationMode Sets the BitmapInterpolationMode property, which specifies


the mode for Microsoft DirectComposition to use when
interpolating pixels from bitmaps that are not axis-aligned or
drawn exactly at scale.

SetBlackPoint Specifies the lower portion of the brightness transfer curve for
the brightness effect.

SetBlackPointX Sets the x value of the black point.

SetBlackPointX Sets the x value of the black point.

SetBlackPointY Sets the y value of the black point.

SetBlackPointY Sets the y value of the black point.

SetBlue Sets the blue value for the color of the shadow.
T IT L E DESC RIP T IO N

SetBlue Sets the blue value for the color of the shadow.

SetBlueDisable Specifies whether to apply the transfer function to the blue


channel.

SetBlueDisable Specifies whether to apply the transfer function to the blue


channel.

SetBlueSlope Sets the slope of the linear function for the blue channel.

SetBlueSlope Sets the slope of the linear function for the blue channel.

SetBlueTable Sets the list of values used to define the transfer function for
the blue channel.

SetBlueTableValue Sets a value in the blue table.

SetBlueTableValue Sets a value in the blue table.

SetBlueYIntercept Sets the Y-intercept of the linear function for the blue channel.

SetBlueYIntercept Sets the Y-intercept of the linear function for the blue channel.

SetBorderMode Sets the border mode to use with the effect.

SetBorderMode Sets the mode used to calculate the border of the image.

SetBorderMode Sets the BorderMode property, which specifies how to


compose the edges of bitmaps and clips associated with this
visual, or with visuals in the subtree rooted at this visual.

SetBottom Changes the value of the Bottom property of a clip object.

SetBottom Animates the value of the Bottom property of a clip rectangle.

SetBottomLeftRadiusX Changes or animates the value of the BottomLeftRadiusX


property of this clip. The BottomLeftRadiusX property specifies
the x radius of the ellipse that rounds the lower-left corner of
the clip.

SetBottomLeftRadiusX Animates the value of the BottomLeftRadiusX property of this


clip. The BottomLeftRadiusX property specifies the x radius of
the ellipse that rounds the lower-left corner of the clip.

SetBottomLeftRadiusY Changes or animates the value of the BottomLeftRadiusY


property of this clip. The BottomLeftRadiusY property specifies
the y radius of the ellipse that rounds the lower-left corner of
the clip.

SetBottomLeftRadiusY Animates the value of the BottomLeftRadiusY property of this


clip. The BottomLeftRadiusY property specifies the y radius of
the ellipse that rounds the lower-left corner of the clip.
T IT L E DESC RIP T IO N

SetBottomRightRadiusX Changes or animates the value of the BottomRightRadiusX


property of this clip. The BottomRightRadiusX property
specifies the x radius of the ellipse that rounds the lower-right
corner of the clip.

SetBottomRightRadiusX Animates the value of the BottomRightRadiusX property of


this clip. The BottomRightRadiusX property specifies the x
radius of the ellipse that rounds the lower-right corner of the
clip.

SetBottomRightRadiusY Changes or animates the value of the BottomRightRadiusY


property of this clip. The BottomRightRadiusY property
specifies the y radius of the ellipse that rounds the lower-right
corner of the clip.

SetBottomRightRadiusY Animates the value of the BottomRightRadiusY property of


this clip. The BottomRightRadiusY property specifies the y
radius of the ellipse that rounds the lower-right corner of the
clip.

SetCenterX Changes the value of the CenterX property of a 2D rotation


transform.

SetCenterX Animates the value of the CenterX property of a 2D rotation


transform.

SetCenterX Changes the value of the CenterX property of a 3D rotation


transform. The CenterX property specifies the x-coordinate of
the point about which the rotation is performed. The default
value is zero.

SetCenterX Animates the value of the CenterX property of a 3D rotation


transform. The CenterX property specifies the x-coordinate of
the point about which the rotation is performed. The default
value is zero.

SetCenterX Changes the value of the CenterX property of a 2D scale


transform.

SetCenterX Animates the value of the CenterX property of a 2D scale


transform.

SetCenterX Changes the value of the CenterX property of a 3D scale


transform.

SetCenterX Animates the value of the CenterX property of a 3D scale


transform.

SetCenterX Changes the value of the CenterX property of a 2D skew


transform.

SetCenterX Animates the value of the CenterX property of a 2D skew


transform.
T IT L E DESC RIP T IO N

SetCenterY Changes the value of the CenterY property of a 2D rotation


transform.

SetCenterY Animates the value of the CenterY property of a 2D rotation


transform.

SetCenterY Changes the value of the CenterY property of a 3D rotation


transform. The CenterY property specifies the y-coordinate of
the point about which the rotation is performed. The default
value is zero.

SetCenterY Animates the value of the CenterY property of a 3D rotation


transform. The CenterY property specifies the y-coordinate of
the point about which the rotation is performed. The default
value is zero.

SetCenterY Changes the value of the CenterY property of a 2D scale


transform.

SetCenterY Animates the value of the CenterY property of a 2D scale


transform.

SetCenterY Changes the value of the CenterY property of a 3D scale


transform.

SetCenterY Animates the value of the CenterY property of a 3D scale


transform.

SetCenterY Changes the value of the CenterY property of a 2D skew


transform.

SetCenterY Animates the value of the CenterY property of a 2D skew


transform.

SetCenterZ Changes the value of the CenterZ property of a 3D rotation


transform. The CenterZ property specifies the z-coordinate of
the point about which the rotation is performed. The default
value is zero.

SetCenterZ Animates the value of the CenterZ property of a 3D rotation


transform. The CenterZ property specifies the z-coordinate of
the point about which the rotation is performed. The default
value is zero.

SetCenterZ Changes the value of the CenterZ property of a 3D scale


transform.

SetCenterZ Animates the value of the CenterZ property of a 3D scale


transform.

SetClampOutput Specifies whether to clamp color values before the effect


passes the values to the next effect in the graph.
T IT L E DESC RIP T IO N

SetClampOutput Specifies whether the effect clamps color values to between 0


and 1 before the effects passes the values to the next effect in
the chain.

SetClampOutput Specifies whether the effect clamps color values to between 0


and 1 before the effect passes the values to the next effect in
the graph.

SetClampOutput Specifies whether the effect clamps color values to between 0


and 1 before the effect passes the values to the next effect in
the graph.

SetClip Sets the Clip property of this visual to the specified rectangle.

SetClip Sets the Clip property of this visual to the specified clip object.

SetCoefficient1 Sets the first coefficient for the equation used to composite
the two input images.

SetCoefficient1 Sets the first coefficient for the equation used to composite
the two input images.

SetCoefficient2 Sets the second coefficient for the equation used to composite
the two input images.

SetCoefficient2 Sets the second coefficient for the equation used to composite
the two input images.

SetCoefficient3 Sets the third coefficient for the equation used to composite
the two input images.

SetCoefficient3 Sets the third coefficient for the equation used to composite
the two input images.

SetCoefficient4 Sets the fourth coefficient for the equation used to composite
the two input images.

SetCoefficient4 Sets the fourth coefficient for the equation used to composite
the two input images.

SetCoefficients Sets the coefficients for the equation used to composite the
two input images.

SetColor Sets color of the shadow.

SetCompositeMode Sets the blending mode for this visual.

SetContent Sets the Content property of this visual to the specified


bitmap or window wrapper.

SetDepthMode Sets the depth mode property associated with this visual.

SetEffect Sets the Effect property of this visual.


T IT L E DESC RIP T IO N

SetGreen Sets the green value for the color of the shadow.

SetGreen Sets the green value for the color of the shadow.

SetGreenDisable Specifies whether to apply the transfer function to the green


channel.

SetGreenDisable Specifies whether to apply the transfer function to the green


channel.

SetGreenSlope Sets the slope of the linear function for the green channel.

SetGreenSlope Sets the slope of the linear function for the green channel.

SetGreenTable Sets the list of values used to define the transfer function for
the green channel.

SetGreenTableValue Sets a value in the green table.

SetGreenTableValue Sets a value in the green table.

SetGreenYIntercept Sets the Y-intercept of the linear function for the green
channel.

SetGreenYIntercept Sets the Y-intercept of the linear function for the green
channel.

SetInput Sets the the input at an index to the specified filter effect.

SetInterpolationMode Sets the interpolation mode of the effect.

SetLeft Changes the value of the Left property of a clip rectangle.

SetLeft Animates the value of the Left property of a clip rectangle.

SetMatrix Sets the matrix used by the effect to multiply the RGBA values
of the image.

SetMatrix Changes all values of the matrix of this 2D transform.

SetMatrix Changes all values of the matrix of this 3D transformation


effect.

SetMatrixElement Sets an element of the color matrix.

SetMatrixElement Sets an element of the color matrix.

SetMatrixElement Changes the value of one element of the matrix of this


transform.

SetMatrixElement Animates the value of one element of the matrix of this 2D


transform.
T IT L E DESC RIP T IO N

SetMatrixElement Changes the value of one element of the matrix of this 3D


transform.

SetMatrixElement Animates the value of one element of the matrix of this 3D


transform.

SetMode Sets the blend mode to use when the blend effect combines
the two images.

SetMode Sets the mode for the composite effect.

SetNoise Sets the turbulence noise mode.

SetNumOctaves Sets the number of octaves for the noise function.

SetOffset Sets the coordinates where the turbulence output is


generated.

SetOffsetX Changes the value of the OffsetX property of a 2D translation


transform.

SetOffsetX Animates the value of the OffsetX property of a 2D translation


transform.

SetOffsetX Changes the value of the OffsetX property of a 3D translation


transform effect. The OffsetX property specifies the distance to
translate along the x-axis.

SetOffsetX Animates the value of the OffsetX property of a 3D translation


transform effect. The OffsetX property specifies the distance to
translate along the x-axis.

SetOffsetX Changes the value of the OffsetX property of this visual.

SetOffsetX Changes the value of the OffsetX property of this visual.

SetOffsetY Changes the value of the OffsetY property of a 2D translation


transform.

SetOffsetY Animates the value of the OffsetY property of a 2D translation


transform.

SetOffsetY Changes the value of the OffsetY property of a 3D translation


transform effect. The OffsetY property specifies the distance to
translate along the y-axis.

SetOffsetY Animates the value of the OffsetY property of a 3D translation


transform effect. The OffsetY property specifies the distance to
translate along the y-axis.

SetOffsetY Changes the value of the OffsetY property of this visual.

SetOffsetY Animates the value of the OffsetY property of this visual.


T IT L E DESC RIP T IO N

SetOffsetZ Changes the value of the OffsetZ property of a 3D translation


transform effect. The OffsetZ property specifies the distance to
translate along the z-axis.

SetOffsetZ Animates the value of the OffsetZ property of a 3D translation


transform effect. The OffsetZ property specifies the distance to
translate along the z-axis.

SetOffsetZ Changes the value of OffsetZ property.

SetOffsetZ Animates the value of the OffsetZ property.

SetOpacity Changes the value of the Opacity property.

SetOpacity Animates the value of the Opacity property.

SetOpacity Sets the value of the visual's opacity property.

SetOpacity Animates the value of the visual's opacity property.

SetOpacityMode Sets the opacity mode for this visual.

SetRed Sets the red value for the color of the shadow.

SetRed Sets the red value for the color of the shadow.

SetRedDisable Specifies whether to apply the transfer function to the red


channel.

SetRedDisable Specifies whether to apply the transfer function to the red


channel.

SetRedSlope Sets the slope of the linear function for the red channel.

SetRedSlope Sets the slope of the linear function for the red channel.

SetRedTable Sets the list of values used to define the transfer function for
the red channel.

SetRedTableValue Sets a value in the red table.

SetRedTableValue Sets a value in the red table.

SetRedYIntercept Sets the Y-intercept of the linear function for the red channel.

SetRedYIntercept Sets the Y-intercept of the linear function for the red channel.

SetRight Changes the value of the Right property of a clip rectangle.

SetRight Animates the value of the Right property of a clip rectangle.


T IT L E DESC RIP T IO N

SetRoot Sets a visual object as the new root object of a visual tree.

SetSaturation Sets the saturation of the image.

SetSaturation Sets the saturation of the image.

SetScaleX Changes the value of the ScaleX property of a 2D scale


transform.

SetScaleX Animates the value of the ScaleX property of a 2D scale


transform.

SetScaleX Changes the value of the ScaleX property of a 3D scale


transform.

SetScaleX Animates the value of the ScaleX property of a scale


transform.

SetScaleY Changes the value of the ScaleY property of a 2D scale


transform.

SetScaleY Animates the value of the ScaleY property of a 2D scale


transform.

SetScaleY Changes the value of the ScaleY property of a 3D scale


transform.

SetScaleY Animates the value of the ScaleY property of a scale


transform.

SetScaleZ Changes the value of the ScaleZ property of a 3D scale


transform.

SetScaleZ Animates the value of the ScaleZ property of a scale


transform.

SetSeed Sets the seed for the pseudo random generator.

SetSharpness Sets the sharpness of the effect.

SetSharpness Sets the sharpness of the effect.

SetSize Sets the size of the turbulence output.

SetStandardDeviation Sets the amount of blur to be applied to the image.

SetStandardDeviation Sets the amount of blur to be applied to the image.

SetStandardDeviation Sets the amount of blur to be applied to the alpha channel of


the image.
T IT L E DESC RIP T IO N

SetStandardDeviation Sets the amount of blur to be applied to the alpha channel of


the image.

SetStitchable Specifies whether stitching is on or off.

SetTop Changes the value of the Top property of a clip rectangle.

SetTop Animates the value of the Top property of a clip rectangle.

SetTopLeftRadiusX Changes or animates the value of the TopLeftRadiusX


property of this clip. The TopLeftRadiusX property specifies the
x radius of the ellipse that rounds the top-left corner of the
clip.

SetTopLeftRadiusX Animates the value of the TopLeftRadiusX property of this clip.


The TopLeftRadiusX property specifies the x radius of the
ellipse that rounds the top-left corner of the clip.

SetTopLeftRadiusY Changes or animates the value of the TopLeftRadiusY


property of this clip. The TopLeftRadiusY property specifies the
y radius of the ellipse that rounds the top-left corner of the
clip.

SetTopLeftRadiusY Animates the value of the TopLeftRadiusY property of this clip.


The TopLeftRadiusY property specifies the y radius of the
ellipse that rounds the top-left corner of the clip.

SetTopRightRadiusX Changes or animates the value of the TopRightRadiusX


property of this clip. The TopRightRadiusX property specifies
the x radius of the ellipse that rounds the top-right corner of
the clip.

SetTopRightRadiusX Animates the value of the TopRightRadiusX property of this


clip. The TopRightRadiusX property specifies the x radius of the
ellipse that rounds the top-right corner of the clip.

SetTopRightRadiusY Changes or animates the value of the TopRightRadiusY


property of this clip. The TopRightRadiusY property specifies
the y radius of the ellipse that rounds the top-right corner of
the clip.

SetTopRightRadiusY Animates the value of the TopRightRadiusY property of this


clip. The TopRightRadiusY property specifies the y radius of the
ellipse that rounds the top-right corner of the clip.

SetTransform Sets the Transform property of this visual to the specified 3-


by-2 transform matrix.

SetTransform Sets the Transform property of this visual to the specified 2D


transform object.

SetTransform Sets the Transform property of this visual to the specified 4-


by-4 transform matrix.
T IT L E DESC RIP T IO N

SetTransform Sets the Transform property of this visual to the specified 3D


transform object.

SetTransform3D Sets the 3D transformation effect object that modifies the


rasterization of the visuals that this effect group is applied to.

SetTransformMatrix Sets the transform matrix of the effect.

SetTransformMatrixElement Sets an element of the transform matrix of the effect.

SetTransformMatrixElement Sets an element of the transform matrix of the effect.

SetTransformParent Sets the TransformParent property of this visual. The


TransformParent property establishes the coordinate system
relative to which this visual is composed.

SetVisible Changes the value of the visual's Visible property.

SetWhitePoint Sets the upper portion of the brightness transfer curve.

SetWhitePointX Sets the x value of the white point.

SetWhitePointX Sets the x value of the white point.

SetWhitePointY Sets the y value of the white point.

SetWhitePointY Sets the y value of the white point.

SuspendDraw Suspends the drawing on this Microsoft DirectComposition


surface object.

Trim Discards pixels that fall outside of the specified trim rectangles.

WaitForCommitCompletion Waits for the composition engine to finish processing the


previous call to the IDCompositionDevice::Commit method.

WaitForCommitCompletion Waits for the composition engine to finish processing the


previous call to the IDCompositionDevice2::Commit method.

Interfaces
T IT L E DESC RIP T IO N

IDCompositionAffineTransform2DEffect The arithmetic composite effect is used to combine 2 images


using a weighted sum of pixels from the input images.

IDCompositionAnimation Represents a function for animating one or more properties of


one or more Microsoft DirectComposition objects.

IDCompositionArithmeticCompositeEffect The arithmetic composite effect is used to combine 2 images


using a weighted sum of pixels from the input images.
T IT L E DESC RIP T IO N

IDCompositionBlendEffect The Blend Effect is used to combine 2 images.

IDCompositionBrightnessEffect The brightness effect controls the brightness of the image.

IDCompositionClip Represents a clip object that is used to restrict the rendering


of a visual subtree to a rectangular area.

IDCompositionColorMatrixEffect The color matrix effect alters the RGBA values of a bitmap.

IDCompositionCompositeEffect The composite effect is used to combine 2 or more images.

IDCompositionDesktopDevice An application must use the IDCompositionDesktopDevice


interface in order to use DirectComposition in a Win32
desktop application.

IDCompositionDevice Serves as a factory for all other Microsoft DirectComposition


objects and provides methods to control transactional
composition.

IDCompositionDevice2 Serves as a factory for all other Microsoft DirectComposition


objects and provides methods to control transactional
composition.

IDCompositionDevice3 Serves as a factory for all other Microsoft DirectComposition


objects and provides methods to control transactional
composition.

IDCompositionDeviceDebug Provides access to rendering features that help with


application debugging and performance tuning. This interface
can be queried from the DirectComposition device interface.

IDCompositionEffect Represents a bitmap effect that modifies the rasterization of a


visual's subtree.

IDCompositionEffectGroup Represents a group of bitmap effects that are applied together


to modify the rasterization of a visual's subtree.

IDCompositionFilterEffect Represents a filter effect.

IDCompositionGaussianBlurEffect The Gaussian blur effect is used to blur an image by a


Gaussian function, typically to reduce image noise and reduce
detail.

IDCompositionHueRotationEffect The hue rotate effect alters the hue of an image by applying a
color matrix based on the rotation angle.

IDCompositionLinearTransferEffect The linear transfer effect is used to map the color intensities of
an image using a linear function created from a list of values
you provide for each channel.

IDCompositionMatrixTransform Represents an arbitrary affine 2D transformation defined by a


3-by-2 matrix.
T IT L E DESC RIP T IO N

IDCompositionMatrixTransform3D Represents an arbitrary 3D transformation defined by a 4-by-


4 matrix.

IDCompositionRectangleClip Represents a clip object that restricts the rendering of a visual


subtree to the specified rectangular region. Optionally, the clip
object may have rounded corners specified.

IDCompositionRotateTransform Represents a 2D transformation that affects the rotation of a


visual around the z-axis. The coordinate system is rotated
around the specified center point.

IDCompositionRotateTransform3D Represents a 3D transformation that affects the rotation of a


visual along an arbitrary axis in 3D space. The coordinate
system is rotated around the specified center point.

IDCompositionSaturationEffect This effect is used to alter the saturation of an image. The


saturation effect is a specialization of the color matrix effect.

IDCompositionScaleTransform Represents a 2D transformation that affects the scale of a


visual along the x-axis and y-axis. The coordinate system is
scaled from the specified center point.

IDCompositionScaleTransform3D Represents a 3D transformation effect that affects the scale of


a visual along the x-axis, y-axis, and z-axis. The coordinate
system is scaled from the specified center point.

IDCompositionShadowEffect The shadow effect is used to generate a shadow from the


alpha channel of an image. The shadow is more opaque for
higher alpha values and more transparent for lower alpha
values. You can set the amount of blur and the color of the
shadow.

IDCompositionSkewTransform Represents a 2D transformation that affects the skew of a


visual along the x-axis and y-axis. The coordinate system is
skewed around the specified center point.

IDCompositionSurface Represents a physical bitmap that can be associated with a


visual for composition in a visual tree. This interface can also
be used to update the bitmap contents.

IDCompositionSurfaceFactory Creates surface and virtual surface objects associated with an


application-provided rendering device.

IDCompositionTableTransferEffect The table transfer effect is used to map the color intensities of
an image using a transfer function created from interpolating
a list of values you provide.

IDCompositionTarget Represents a binding between a Microsoft DirectComposition


visual tree and a destination on top of which the visual tree
should be composed.

IDCompositionTransform Represents a 2D transformation that can be used to modify


the coordinate space of a visual subtree.
T IT L E DESC RIP T IO N

IDCompositionTransform3D Represents a 3D transformation effect that can be used to


modify the rasterization of a visual subtree.

IDCompositionTranslateTransform Represents a 2D transformation that affects only the offset of


a visual along the x-axis and y-axis.

IDCompositionTranslateTransform3D Represents a 3D transformation that affects the offset of a


visual along the x-axis, y-axis, and z-axis.

IDCompositionTurbulenceEffect The turbulence effect is used to generate a bitmap based on


the Perlin noise function. The turbulence effect has no input
image.

IDCompositionVirtualSurface Represents a sparsely allocated bitmap that can be associated


with a visual for composition in a visual tree.

IDCompositionVisual Represents a Microsoft DirectComposition visual.

IDCompositionVisual2 Represents one DirectComposition visual in a visual tree.

IDCompositionVisual3 Represents one DirectComposition visual in a visual tree.

IDCompositionVisualDebug Represents a debug visual.

Structures
T IT L E DESC RIP T IO N

DCOMPOSITION_FRAME_STATISTICS Describes timing and composition statistics for a frame.


DirectDraw
2/7/2020 • 9 minutes to read • Edit Online

Overview of the DirectDraw technology.


To develop DirectDraw, you need these headers:
ddraw.h
For programming guidance for this technology, see:
DirectDraw

Functions
T IT L E DESC RIP T IO N

AddAttachedSurface Attaches the specified z-buffer surface to this surface.

AddOverlayDirtyRect The IDirectDrawSurface7::AddOverlayDirtyRect method is not


currently implemented.

Blt Performs a bit block transfer (bitblt). This method does not
support z-buffering or alpha blending during bitblt operations.

BltBatch The IDirectDrawSurface7::BltBatch method is not currently


implemented.

BltFast Performs a source copy bitblt or transparent bitblt by using a


source color key or destination color key.

ChangeUniquenessValue Manually updates the uniqueness value for this surface.

Compact This method is not currently implemented.

CreateClipper Creates a DirectDrawClipper object.

CreatePalette Creates a DirectDrawPalette object for this DirectDraw object.

CreateSurface Creates a DirectDrawSurface object for this DirectDraw object.

DeleteAttachedSurface Detaches one or more attached surfaces.

DirectDrawCreate Creates an instance of a DirectDraw object.

DirectDrawCreateClipper Creates an instance of a DirectDrawClipper object that is not


associated with a DirectDraw object.

DirectDrawCreateEx Creates an instance of a DirectDraw object that supports the


set of Direct3D interfaces in DirectX 7.0. To use the features of
Direct3D in DirectX 7.0, create a DirectDraw object with this
function.
T IT L E DESC RIP T IO N

DirectDrawEnumerateExA Enumerates all DirectDraw devices that are installed on the


computer. The NULL entry always identifies the primary
display device that is shared with GDI.

DirectDrawEnumerateExW Enumerates all DirectDraw devices that are installed on the


computer. The NULL entry always identifies the primary
display device that is shared with GDI.

DirectDrawEnumerateW This function is superseded by the DirectDrawEnumerateEx


function.

DuplicateSurface Duplicates a DirectDrawSurface object.

EnumAttachedSurfaces Enumerates all the surfaces that are attached to this surface.

EnumDisplayModes Enumerates all the display modes that the hardware exposes
through the DirectDraw object and that are compatible with a
provided surface description.

EnumOverlayZOrders Enumerates the overlay surfaces on the specified destination.


You can enumerate the overlays in front-to-back or back-to-
front order.

EnumSurfaces Enumerates all the existing or possible surfaces that meet the
specified surface description.

EvaluateMode Used after a call to IDirectDraw7::StartModeTest to pass or fail


each mode that the test presents and to step through the
modes until the test is complete.

Flip Makes the surface memory that is associated with the


DDSCAPS_BACKBUFFER surface become associated with the
front-buffer surface.

FlipToGDISurface Makes the surface that the GDI writes to the primary surface.

FreePrivateData Frees the specified private data that is associated with this
surface.

GetAttachedSurface Obtains the attached surface that has the specified capabilities,
and increments the reference count of the retrieved interface.

GetAvailableVidMem Retrieves the total amount of display memory available and


the amount of display memory currently free for a given type
of surface.

GetBltStatus Obtains status about a bit block transfer (bitblt) operation.

GetCaps Retrieves the capabilities of the device driver for the hardware
and the hardware emulation layer (HEL).

GetCaps Retrieves the capabilities of the palette object.


T IT L E DESC RIP T IO N

GetCaps Retrieves the capabilities of this surface. These capabilities are


not necessarily related to the capabilities of the display device.

GetClipList Retrieves a copy of the clip list that is associated with a


DirectDrawClipper object. To select a subset of the clip list, you
can pass a rectangle that clips the clip list.

GetClipper Retrieves the DirectDrawClipper object that is associated with


this surface, and increments the reference count of the
returned clipper.

GetColorControls Retrieves the current color-control settings that are associated


with an overlay or a primary surface.

GetColorKey Retrieves the color key value for this surface.

GetDC Creates a GDI-compatible handle of a device context for this


surface.

GetDDInterface Retrieves an interface to the DirectDraw object that was used


to create this surface.

GetDeviceIdentifier Obtains information about the device driver. This method can
be used, with caution, to recognize specific hardware
installations to implement workarounds for poor driver or
chipset behavior.

GetDisplayMode Retrieves the current display mode.

GetEntries Retrieves palette values from a DirectDrawPalette object.

GetFlipStatus Retrieves status about whether this surface has finished its
flipping process.

GetFourCCCodes Retrieves the four-character codes (FOURCC) that are


supported by the DirectDraw object. This method can also
retrieve the number of codes that are supported.

GetGammaRamp Retrieves the red, green, and blue gamma ramps for the
primary surface.

GetGDISurface Retrieves the DirectDrawSurface object that currently


represents the surface memory that GDI is treating as the
primary surface.

GetHWnd Retrieves the window handle that was previously associated


with this DirectDrawClipper object by the
IDirectDrawClipper::SetHWnd method.

GetLOD Retrieves the maximum level of detail (LOD) currently set for a
managed mipmap surface. This method succeeds only on
managed textures.
T IT L E DESC RIP T IO N

GetMonitorFrequency Retrieves the frequency of the monitor that the DirectDraw


object controls.

GetOverlayPosition Retrieves the display coordinates of this surface. This method


is used on a visible, active overlay surface (that is, a surface
that has the DDSCAPS_OVERLAY flag set).

GetPalette Retrieves the DirectDrawPalette object that is associated with


this surface, and increments the reference count of the
returned palette.

GetPixelFormat Retrieves the color and pixel format of this surface.

GetPriority Retrieves the texture-management priority for this texture.


This method succeeds only on managed textures.

GetPrivateData Copies the private data that is associated with this surface to a
provided buffer.

GetScanLine Retrieves the scan line that is currently being drawn on the
monitor.

GetSurfaceDesc Retrieves a description of this surface in its current condition.

GetSurfaceFromDC Retrieves the IDirectDrawSurface7 interface for a surface,


based on its GDI device context handle.

GetUniquenessValue Retrieves the current uniqueness value for this surface.

GetVerticalBlankStatus Retrieves the status of the vertical blank.

Initialize Initializes a DirectDraw object that was created by using the


CoCreateInstance COM function.

Initialize Initializes a DirectDrawClipper object that was created by using


the CoCreateInstance COM function.

Initialize Initializes the DirectDrawPalette object.

Initialize Initializes a DirectDrawSurface object.

IsClipListChanged Retrieves the status of the clip list if a window handle is


associated with a DirectDrawClipper object.

IsLost Determines whether the surface memory that is associated


with a DirectDrawSurface object has been freed.

Lock Obtains a pointer to the surface memory.

LPDDENUMCALLBACKA The DDEnumCallback function is an application-defined


callback function for the DirectDrawEnumerate function.
T IT L E DESC RIP T IO N

LPDDENUMCALLBACKEXA The DDEnumCallbackEx function is an application-defined


callback function for the DirectDrawEnumerateEx function.

LPDDENUMCALLBACKEXW The DDEnumCallbackEx function is an application-defined


callback function for the DirectDrawEnumerateEx function.

LPDDENUMCALLBACKW The DDEnumCallback function is an application-defined


callback function for the DirectDrawEnumerate function.

LPDDENUMMODESCALLBACK Do not use. This callback function is superseded by the


EnumModesCallback2 function that is used with the
IDirectDraw7::EnumDisplayModes method.

LPDDENUMMODESCALLBACK2 The EnumModesCallback2 function is an application-defined


callback function for the IDirectDraw7::EnumDisplayModes
method.

LPDDENUMSURFACESCALLBACK Do not use. This callback function is superseded by the


EnumSurfacesCallback7 function that is used with the
IDirectDraw7::EnumSurfaces,
IDirectDrawSurface7::EnumAttachedSurfaces, and
IDirectDrawSurface7::EnumOverlayZOrders methods.

LPDDENUMSURFACESCALLBACK2 Do not use. This callback function is superseded by the


EnumSurfacesCallback7 function that is used with the
IDirectDraw7::EnumSurfaces,
IDirectDrawSurface7::EnumAttachedSurfaces, and
IDirectDrawSurface7::EnumOverlayZOrders methods.

LPDDENUMSURFACESCALLBACK7 The EnumSurfacesCallback7 function is an application-defined


callback function for the
IDirectDrawSurface7::EnumAttachedSurfaces and
IDirectDrawSurface7::EnumOverlayZOrders methods.

PageLock Prevents a system-memory surface from being paged out


while a bit block transfer (bitblt) operation that uses direct
memory access (DMA) transfers to or from system memory is
in progress.

PageUnlock Unlocks a system-memory surface, which then allows it to be


paged out.

ReleaseDC Releases the handle of a device context that was previously


obtained by using the IDirectDrawSurface7::GetDC method.

Restore Restores a surface that has been lost. This occurs when the
surface memory that is associated with the DirectDrawSurface
object has been freed.

RestoreAllSurfaces Restores all the surfaces that were created for the DirectDraw
object, in the order that they were created.
T IT L E DESC RIP T IO N

RestoreDisplayMode Resets the mode of the display device hardware for the
primary surface to what it was before the
IDirectDraw7::SetDisplayMode method was called. Exclusive-
level access is required to use this method.

SetClipList Sets or deletes the clip list that is used by the


IDirectDrawSurface7::Blt, IDirectDrawSurface7::BltBatch, and
IDirectDrawSurface7::UpdateOverlay methods on surfaces to
which the parent DirectDrawClipper object is attached.

SetClipper Attaches a clipper object to, or deletes one from, this surface.

SetColorControls Sets the color-control options for an overlay or a primary


surface.

SetColorKey Sets the color key value for the DirectDrawSurface object if the
hardware supports color keys on a per-surface basis.

SetCooperativeLevel Determines the top-level behavior of the application.

SetDisplayMode Sets the mode of the display-device hardware.

SetEntries Changes entries in a DirectDrawPalette object immediately.

SetGammaRamp Sets the red, green, and blue gamma ramps for the primary
surface.

SetHWnd Sets the window handle that the clipper object uses to obtain
clipping information.

SetLOD Sets the maximum level of detail (LOD) for a managed mipmap
surface. This method succeeds only on managed textures.

SetOverlayPosition Changes the display coordinates of an overlay surface.

SetPalette Attaches a palette object to (or detaches one from) a surface.


The surface uses this palette for all subsequent operations. The
palette change takes place immediately, without regard to
refresh timing.

SetPriority Assigns the texture-management priority for this texture. This


method succeeds only on managed textures.

SetPrivateData Associates data with the surface that is intended for use by
the application, not by DirectDraw. Data is passed by value,
and multiple sets of data can be associated with a single
surface.

SetSurfaceDesc Sets the characteristics of an existing surface.

StartModeTest Initiates a test to update the system registry with refresh rate
information for the current display adapter and monitor
combination.
T IT L E DESC RIP T IO N

TestCooperativeLevel Reports the current cooperative-level status of the DirectDraw


device for a windowed or full-screen application.

Unlock Notifies DirectDraw that the direct surface manipulations are


complete.

UpdateOverlay Repositions or modifies the visual attributes of an overlay


surface. These surfaces must have the DDSCAPS_OVERLAY
flag set.

UpdateOverlayDisplay The IDirectDrawSurface7::UpdateOverlayDisplay method is not


currently implemented.

UpdateOverlayZOrder Sets the z-order of an overlay.

WaitForVerticalBlank Helps the application synchronize itself with the vertical-blank


interval.

Interfaces
T IT L E DESC RIP T IO N

IDirectDraw7 Applications use the methods of the IDirectDraw7 interface to


create DirectDraw objects and work with system-level
variables. This section is a reference to the methods of the
IDirectDraw7 interface.

IDirectDrawClipper Applications use the methods of the IDirectDrawClipper


interface to manage clip lists. This section is a reference to the
methods of this interface.

IDirectDrawColorControl Applications use the methods of the IDirectDrawColorControl


interface to get and set color controls.

IDirectDrawGammaControl Applications use the methods of the


IDirectDrawGammaControl interface to adjust the red, green,
and blue gamma ramp levels of the primary surface. This
section is a reference to the methods of this interface.

IDirectDrawPalette Applications use the methods of the IDirectDrawPalette


interface to create DirectDrawPalette objects and work with
system-level variables. This section is a reference to the
methods of this interface.

IDirectDrawSurface7 Applications use the methods of the IDirectDrawSurface7


interface to create DirectDrawSurface objects and work with
system-level variables. This section is a reference to the
methods of this interface.

Structures
T IT L E DESC RIP T IO N

DDBLTBATCH The DDBLTBATCH structure passes bit block transfer (bitblt)


operations to the IDirectDrawSurface7::BltBatch method.

DDBLTFX The DDBLTFX structure passes raster operations (ROPs),


effects, and override information to the
IDirectDrawSurface7::Blt method. This structure is also part of
the DDBLTBATCH structure that is used with the
IDirectDrawSurface7::BltBatch method.

DDCAPS_DX3 The DDCAPS structure represents the capabilities of the


hardware exposed through the DirectDraw object.

DDCAPS_DX5 The DDCAPS structure represents the capabilities of the


hardware exposed through the DirectDraw object.

DDCAPS_DX6 The DDCAPS structure represents the capabilities of the


hardware exposed through the DirectDraw object.

DDCAPS_DX7 The DDCAPS structure represents the capabilities of the


hardware exposed through the DirectDraw object.

DDCOLORKEY The DDCOLORKEY structure describes a source color key,


destination color key, or color space.

DDDEVICEIDENTIFIER2 The DDDEVICEIDENTIFIER2 structure is passed to the


IDirectDraw7::GetDeviceIdentifier method to obtain
information about a device.

DDGAMMARAMP The DDGAMMARAMP structure contains red, green, and blue


ramp data for the
IDirectDrawGammaControl::GetGammaRamp and
IDirectDrawGammaControl::SetGammaRamp methods.

DDOVERLAYFX The DDOVERLAYFX structure passes overlay information to


the IDirectDrawSurface7::UpdateOverlay method.

DDPIXELFORMAT The DDPIXELFORMAT structure describes the pixel format of a


DirectDrawSurface object for the
IDirectDrawSurface7::GetPixelFormat method.
DirectWrite
3/18/2020 • 45 minutes to read • Edit Online

Overview of the DirectWrite technology.


To develop DirectWrite, you need these headers:
dwrite.h
dwrite_1.h
dwrite_2.h
dwrite_3.h
For programming guidance for this technology, see:
DirectWrite

Enumerations
T IT L E DESC RIP T IO N

DWRITE_AUTOMATIC_FONT_AXES Defines constants that specify certain axes that can be applied
automatically in layout during font selection.

DWRITE_BASELINE The DWRITE_BASELINE enumeration contains values that


specify the baseline for text alignment.

DWRITE_BREAK_CONDITION Indicates the condition at the edges of inline object or text


used to determine line-breaking behavior.

DWRITE_CONTAINER_TYPE Specifies the container format of a font resource. A container


format is distinct from a font file format
(DWRITE_FONT_FILE_TYPE) because the container describes
the container in which the underlying font file is packaged.

DWRITE_FACTORY_TYPE Specifies the type of DirectWrite factory object.

DWRITE_FLOW_DIRECTION Indicates the direction of how lines of text are placed relative
to one another.

DWRITE_FONT_AXIS_ATTRIBUTES Defines constants that specify attributes for a font axis.

DWRITE_FONT_AXIS_TAG Defines constants that specify a four-character identifier for a


font axis.

DWRITE_FONT_FACE_TYPE Indicates the file format of a complete font face.

DWRITE_FONT_FAMILY_MODEL Defines constants that specify how font families are grouped
together.

DWRITE_FONT_FEATURE_TAG A value that indicates the typographic feature of text supplied


by the font.
T IT L E DESC RIP T IO N

DWRITE_FONT_FILE_TYPE The type of a font represented by a single font file. Font


formats that consist of multiple files, for example Type 1 .PFM
and .PFB, have separate enum values for each of the file types.

DWRITE_FONT_LINE_GAP_USAGE Specify whether DWRITE_FONT_METRICS::lineGap value


should be part of the line metrics.

DWRITE_FONT_PROPERTY_ID Identifies a string in a font.

DWRITE_FONT_SIMULATIONS Specifies algorithmic style simulations to be applied to the


font face. Bold and oblique simulations can be combined via
bitwise OR operation.

DWRITE_FONT_SOURCE_TYPE Defines constants that specify the mechanism by which a font


came to be included in a font set.

DWRITE_FONT_STRETCH Represents the degree to which a font has been stretched


compared to a font's normal aspect ratio.

DWRITE_FONT_STYLE Represents the style of a font face as normal, italic, or oblique.

DWRITE_FONT_WEIGHT Represents the density of a typeface, in terms of the lightness


or heaviness of the strokes.

DWRITE_GLYPH_IMAGE_FORMATS Specifies which formats are supported in the font, either at a


font-wide level or per glyph.

DWRITE_GLYPH_ORIENTATION_ANGLE The DWRITE_GLYPH_ORIENTATION_ANGLE enumeration


contains values that specify how the glyph is oriented to the
x-axis.

DWRITE_GRID_FIT_MODE Specifies whether to enable grid-fitting of glyph outlines (also


known as hinting).

DWRITE_INFORMATIONAL_STRING_ID The informational string enumeration which identifies a string


embedded in a font file.

DWRITE_LINE_SPACING_METHOD The method used for line spacing in a text layout.

DWRITE_LOCALITY Specifies the location of a resource.

DWRITE_MEASURING_MODE Indicates the measuring method used for text layout.

DWRITE_NUMBER_SUBSTITUTION_METHOD Specifies how to apply number substitution on digits and


related punctuation.

DWRITE_OPTICAL_ALIGNMENT The optical margin alignment mode.

DWRITE_OUTLINE_THRESHOLD The DWRITE_OUTLINE_THRESHOLD enumeration contains


values that specify the policy used by the
IDWriteFontFace1::GetRecommendedRenderingMode method
to determine whether to render glyphs in outline mode.
T IT L E DESC RIP T IO N

DWRITE_PANOSE_ARM_STYLE The DWRITE_PANOSE_ARM_STYLE enumeration contains


values that specify the style of termination of stems and
rounded letterforms for text.

DWRITE_PANOSE_ASPECT The DWRITE_PANOSE_ASPECT enumeration contains values


that specify the ratio between the width and height of the
character face.

DWRITE_PANOSE_ASPECT_RATIO The DWRITE_PANOSE_ASPECT_RATIO enumeration contains


values that specify info about the ratio between width and
height of the character face.

DWRITE_PANOSE_CHARACTER_RANGES The DWRITE_PANOSE_CHARACTER_RANGES enumeration


contains values that specify the type of characters available in
the font.

DWRITE_PANOSE_CONTRAST The DWRITE_PANOSE_CONTRAST enumeration contains


values that specify the ratio between thickest and thinnest
point of the stroke for a letter such as uppercase 'O'.

DWRITE_PANOSE_DECORATIVE_CLASS The DWRITE_PANOSE_DECORATIVE_CLASS enumeration


contains values that specify the general look of the character
face.

DWRITE_PANOSE_DECORATIVE_TOPOLOGY The DWRITE_PANOSE_DECORATIVE_TOPOLOGY enumeration


contains values that specify the overall shape characteristics of
the font.

DWRITE_PANOSE_FAMILY The DWRITE_PANOSE_FAMILY enumeration contains values


that specify the kind of typeface classification.

DWRITE_PANOSE_FILL The DWRITE_PANOSE_FILL enumeration contains values that


specify the type of fill and line treatment.

DWRITE_PANOSE_FINIALS The DWRITE_PANOSE_FINIALS enumeration contains values


that specify how character ends and miniscule ascenders are
treated.

DWRITE_PANOSE_LETTERFORM The DWRITE_PANOSE_LETTERFORM enumeration contains


values that specify the roundness of letterform for text.

DWRITE_PANOSE_LINING The DWRITE_PANOSE_LINING enumeration contains values


that specify the handling of the outline for the decorative
typeface.

DWRITE_PANOSE_MIDLINE The DWRITE_PANOSE_MIDLINE enumeration contains values


that specify info about the placement of midline across
uppercase characters and the treatment of diagonal stem
apexes.

DWRITE_PANOSE_PROPORTION The DWRITE_PANOSE_PROPORTION enumeration contains


values that specify the proportion of the glyph shape by
considering additional detail to standard characters.
T IT L E DESC RIP T IO N

DWRITE_PANOSE_SCRIPT_FORM The DWRITE_PANOSE_SCRIPT_FORM enumeration contains


values that specify the general look of the character face, with
consideration of its slope and tails.

DWRITE_PANOSE_SCRIPT_TOPOLOGY The DWRITE_PANOSE_SCRIPT_TOPOLOGY enumeration


contains values that specify the topology of letterforms.

DWRITE_PANOSE_SERIF_STYLE The DWRITE_PANOSE_SERIF_STYLE enumeration contains


values that specify the appearance of the serif text.

DWRITE_PANOSE_SPACING The DWRITE_PANOSE_SPACING enumeration contains values


that specify character spacing (monospace versus
proportional).

DWRITE_PANOSE_STROKE_VARIATION The DWRITE_PANOSE_STROKE_VARIATION enumeration


contains values that specify the relationship between thin and
thick stems of text characters.

DWRITE_PANOSE_SYMBOL_ASPECT_RATIO The DWRITE_PANOSE_SYMBOL_ASPECT_RATIO enumeration


contains values that specify the aspect ratio of symbolic
characters.

DWRITE_PANOSE_SYMBOL_KIND The DWRITE_PANOSE_SYMBOL_KIND enumeration contains


values that specify the kind of symbol set.

DWRITE_PANOSE_TOOL_KIND The DWRITE_PANOSE_TOOL_KIND enumeration contains


values that specify the kind of tool that is used to create
character forms.

DWRITE_PANOSE_WEIGHT The DWRITE_PANOSE_WEIGHT enumeration contains values


that specify the weight of characters.

DWRITE_PANOSE_XASCENT The DWRITE_PANOSE_XASCENT enumeration contains values


that specify the relative size of the lowercase letters.

DWRITE_PANOSE_XHEIGHT The DWRITE_PANOSE_XHEIGHT enumeration contains values


that specify info about the relative size of lowercase letters
and the treatment of diacritic marks (xheight).

DWRITE_PARAGRAPH_ALIGNMENT Specifies the alignment of paragraph text along the flow


direction axis, relative to the top and bottom of the flow's
layout box.

DWRITE_PIXEL_GEOMETRY Represents the internal structure of a device pixel (that is, the
physical arrangement of red, green, and blue color
components) that is assumed for purposes of rendering text.

DWRITE_READING_DIRECTION Specifies the direction in which reading progresses.

DWRITE_RENDERING_MODE Represents a method of rendering glyphs.

DWRITE_RENDERING_MODE1 Specifies how glyphs are rendered.

DWRITE_SCRIPT_SHAPES Indicates additional shaping requirements for text.


T IT L E DESC RIP T IO N

DWRITE_TEXT_ALIGNMENT Specifies the alignment of paragraph text along the reading


direction axis, relative to the leading and trailing edge of the
layout box.

DWRITE_TEXT_ANTIALIAS_MODE The DWRITE_TEXT_ANTIALIAS_MODE enumeration contains


values that specify the type of antialiasing to use for text
when the rendering mode calls for antialiasing.

DWRITE_TEXTURE_TYPE Identifies a type of alpha texture.

DWRITE_TRIMMING_GRANULARITY Specifies the text granularity used to trim text overflowing the
layout box.

DWRITE_VERTICAL_GLYPH_ORIENTATION The DWRITE_VERTICAL_GLYPH_ORIENTATION enumeration


contains values that specify the desired kind of glyph
orientation for the text.

DWRITE_WORD_WRAPPING Specifies the word wrapping to be used in a particular


multiline paragraph.

Functions
T IT L E DESC RIP T IO N

AddFont Adds a font to the set being built.

AddFontFaceReference Adds a reference to a font to the set being built. The


necessary metadata will automatically be extracted from the
font upon calling CreateFontSet.

AddFontFaceReference Adds a reference to a font to the set being built. The


necessary metadata will automatically be extracted from the
font upon calling CreateFontSet.

AddFontFeature Adds an OpenType font feature.

AddFontFile Adds references to all the fonts in the specified font file.

AddFontFile Adds references to all the fonts in the specified font file. The
method parses the font file to determine the fonts and their
properties.

AddFontSet Appends an existing font set to the one being built, allowing
one to aggregate two sets or to essentially extend an existing
one.

AddListener Registers a client-defined listener object that receives


download notifications. All registered listener's
DownloadCompleted will be called after
BeginDownloadcompletes.

AddMapping Appends a single mapping to the list. Call this once for each
additional mapping.
T IT L E DESC RIP T IO N

AddMappings Add all the mappings from an existing font fallback object.

Analyze Analyzes a file and returns whether it represents a font, and


whether the font type is supported by the font system.

AnalyzeBidi Analyzes a text range for script directionality, reading


attributes from the source and reporting levels to the sink
callback SetBidiLevel.

AnalyzeContainerType The AnalyzeContainerType method analyzes the specified file


data to determine whether it is a known font container format
(e.g., WOFF or WOFF2).

AnalyzeLineBreakpoints Analyzes a text range for potential breakpoint opportunities,


reading attributes from the source and reporting breakpoint
opportunities to the sink callback SetLineBreakpoints.

AnalyzeNumberSubstitution Analyzes a text range for spans where number substitution is


applicable, reading attributes from the source and reporting
substitutable ranges to the sink callback
SetNumberSubstitution.

AnalyzeScript Analyzes a text range for script boundaries, reading text


attributes from the source and reporting the Unicode script
ID to the sink callback SetScript.

AnalyzeVerticalGlyphOrientation Analyzes a text range for script orientation, reading text and
attributes from the source and reporting results to the sink
callback SetGlyphOrientation.

ApplyCharacterSpacing Applies spacing between characters, properly adjusting glyph


clusters and diacritics.

AreCharactersLocal Determines whether the specified characters are local.

AreGlyphsLocal Determines whether the specified glyphs are local.

BeginDownload Begins an asynchronous download operation. The download


operation executes in the background until it completes or is
cancelled by a CancelDownload call.

BeginDownload Begins downloading all or part of the font file.

CancelDownload Removes all download requests from the queue and cancels
any active download operations.

CheckTypographicFeature Checks if a typographic feature is available for a glyph or a set


of glyphs.

ComputeGlyphOrigins Converts glyph run placements to glyph origins.

ComputeGlyphOrigins Converts glyph run placements to glyph origins.


T IT L E DESC RIP T IO N

ConvertFontFaceToLOGFONT Initializes a LOGFONT structure based on the GDI-compatible


properties of the specified font.

ConvertFontToLOGFONT Initializes a LOGFONT structure based on the GDI-compatible


properties of the specified font.

CreateAlphaTexture Creates an alpha texture of the specified type for glyphs


within a specified bounding rectangle.

CreateBitmapRenderTarget Creates an object that encapsulates a bitmap and memory DC


(device context) which can be used for rendering glyphs.

CreateCustomFontCollection Creates a font collection using a custom font collection loader.

CreateCustomFontFileReference Creates a reference to an application-specific font file resource.

CreateCustomRenderingParams Creates a rendering parameters object with the specified


properties.

CreateCustomRenderingParams Creates a rendering parameters object with the specified


properties.

CreateCustomRenderingParams Creates a rendering parameters object with the specified


properties.

CreateCustomRenderingParams Creates a rendering parameters object with the specified


properties.

CreateEllipsisTrimmingSign Creates an inline object for trimming, using an ellipsis as the


omission sign.

CreateEnumeratorFromKey Creates a font file enumerator object that encapsulates a


collection of font files. The font system calls back to this
interface to create a font collection.

CreateFontCollectionFromFontSet Create a weight/width/slope tree from a set of fonts.

CreateFontCollectionFromFontSet From a font set, create a collection of fonts grouped into


families.

CreateFontFace Creates an object that represents a font face.

CreateFontFace Creates a font face object for the font.

CreateFontFace Creates a font face object for the font.

CreateFontFace Creates a font face from the reference for use with layout,
shaping, or rendering.

CreateFontFace Uses the reference to create a font face, for use with layout,
shaping, or rendering.

CreateFontFace Creates a font face instance with specific axis values.


T IT L E DESC RIP T IO N

CreateFontFace Creates a font face for a single item (rather than going
through the font face reference).

CreateFontFaceFromHdc Creates an IDWriteFontFace object that corresponds to the


currently selected HFONT of the specified HDC.

CreateFontFaceReference Creates a reference to a font given a full path.

CreateFontFaceReference Creates a reference to a font given a full path.

CreateFontFaceReference Creates a reference to a specific font instance within a file.

CreateFontFaceReference Creates a font face reference with specific axis values.

CreateFontFaceWithSimulations Creates a font face with alternate font simulations, for


example, to explicitly simulate a bold font face out of a regular
variant.

CreateFontFallback Creates the finalized fallback object from the mappings added.

CreateFontFallbackBuilder Creates a font fallback builder object.

CreateFontFileReference Creates a font file reference object from a local font file.

CreateFontFileReferenceFromUrl Creates a font file reference from a URL if the loader supports
this capability.

CreateFontFromLOGFONT Creates a font object that matches the properties specified by


the LOGFONT structure.

CreateFontFromLOGFONT Creates a font object that matches the properties specified by


the LOGFONT structure.

CreateFontResource Creates a font resource, given a font file and a face index.

CreateFontResource Creates the font resource of a single item.

CreateFontSet Creates a font set from all the font face references added so
far with AddFontFaceReference.

CreateFontSetBuilder Creates an empty font set builder to add font face references
and create a custom font set.

CreateFontSetBuilder Creates an empty font set builder to add font face references
and create a custom font set.

CreateFontSetBuilder Creates an empty font set builder, ready to add font instances
to, and create a custom font set.

CreateGdiCompatibleTextLayout Takes a string, format, and associated constraints, and


produces an object representing the result, formatted for a
particular display resolution and measuring mode.
T IT L E DESC RIP T IO N

CreateGlyphRunAnalysis Creates a glyph run analysis object, which encapsulates


information used to render a glyph run.

CreateGlyphRunAnalysis Creates a glyph-run-analysis object that encapsulates info


that DirectWrite uses to render a glyph run.

CreateGlyphRunAnalysis Creates a glyph run analysis object, which encapsulates


information used to render a glyph run.

CreateHttpFontFileLoader Creates a remote font file loader that can create font file
references from HTTP or HTTPS URLs. The caller is responsible
for registering and unregistering the loader.

CreateInMemoryFontFileLoader Creates a loader object that can be used to create font file
references to in-memory fonts. The caller is responsible for
registering and unregistering the loader.

CreateInMemoryFontFileReference Creates a font file reference (IDWriteFontFile object) from an


array of bytes.

CreateMonitorRenderingParams Creates a rendering parameters object with default settings


for the specified monitor. In most cases, this is the preferred
way to create a rendering parameters object.

CreateNumberSubstitution Creates a number substitution object using a locale name,


substitution method, and an indicator whether to ignore user
overrides (use NLS defaults for the given culture instead).

CreateRemoteStreamFromKey Creates a remote font file stream object that encapsulates an


open file resource and can be used to download remote file
data.

CreateRenderingParams Creates a rendering parameters object with default settings


for the primary monitor. Different monitors may have different
rendering parameters, for more information see the How to
Add Support for Multiple Monitors topic.

CreateStreamFromKey Creates a font file stream object that encapsulates an open file
resource.

CreateTextAnalyzer Returns an interface for performing text analysis.

CreateTextFormat Creates a text format object used for text layout.

CreateTextFormat Creates a text format object used for text layout.

CreateTextLayout Takes a string, text format, and associated constraints, and


produces an object that represents the fully analyzed and
formatted result.

CreateTypography Creates a typography object for use in a text layout.


T IT L E DESC RIP T IO N

DetermineMinWidth Determines the minimum possible width the layout can be set
to without emergency breaking between the characters of
whole words occurring.

DownloadCompleted The DownloadCompleted method is called back on an


arbitrary thread when a download operation ends.

Draw The application implemented rendering callback


(IDWriteTextRenderer::DrawInlineObject) can use this to draw
the inline object without needing to cast or query the object
type. The text layout does not call this method directly.

Draw Draws text using the specified client drawing context.

DrawGlyphRun Draws a run of glyphs to a bitmap target at the specified


position.

DrawGlyphRun IDWriteTextLayout::Draw calls this function to instruct the


client to render a run of glyphs.

DrawGlyphRun IDWriteTextLayout::Draw calls this function to instruct the


client to render a run of glyphs.

DrawInlineObject IDWriteTextLayout::Draw calls this application callback when it


needs to draw an inline object.

DrawInlineObject IDWriteTextLayout::Draw calls this application callback when it


needs to draw an inline object.

DrawStrikethrough IDWriteTextLayout::Draw calls this function to instruct the


client to draw a strikethrough.

DrawStrikethrough IDWriteTextLayout::Draw calls this function to instruct the


client to draw a strikethrough.

DrawUnderline IDWriteTextLayout::Draw calls this function to instruct the


client to draw an underline.

DrawUnderline IDWriteTextLayout::Draw calls this function to instruct the


client to draw an underline.

DWRITE_MAKE_FONT_AXIS_TAG Creates an OpenType tag for a font axis.

DWRITE_MAKE_OPENTYPE_TAG Creates an OpenType tag as a 32-bit integer, such that the


first character in the tag is the lowest byte (least significant on
little endian architectures), which can be used to compare with
tags in the font file.

DWriteCreateFactory Creates a DirectWrite factory object that is used for


subsequent creation of individual DirectWrite objects.

EnqueueCharacterDownloadRequest Adds a request to the font download queue


(IDWriteFontDownloadQueue).
T IT L E DESC RIP T IO N

EnqueueFileFragmentDownloadRequest Adds a request to the font download queue


(IDWriteFontDownloadQueue).

EnqueueFontDownloadRequest Adds a request to the font download queue


(IDWriteFontDownloadQueue).

EnqueueGlyphDownloadRequest Adds a request to the font download queue


(IDWriteFontDownloadQueue).

Equals Compares two instances of font references for equality.

Equals Performs an equality comparison between the font face object


on which Equals is being called and the font face object
passed as a parameter.

FindFamilyName Finds the font family with the specified family name.

FindFontFace Gets the index of the matching font face reference in the font
set, with the same file, face index, and simulations.

FindFontFaceReference Gets the index of the matching font face reference in the font
set, with the same file, face index, and simulations.

FindLocaleName Gets the zero-based index of the locale name/string pair with
the specified locale name.

GetAlphaBlendParams Gets alpha blending properties required for ClearType


blending.

GetAlphaTextureBounds Gets the bounding rectangle of the physical pixels affected by


the glyph run.

GetAutomaticFontAxes Retrieves the automatic axis options.

GetAxisNames Retrieves the localized names of a font axis.

GetAxisValueNameCount Retrieves the number of named values for a specific axis.

GetAxisValueNames Retrieves the localized names of specific values for a font axis.

GetBaseline Retrieves the given baseline from the font.

GetBreakConditions Layout uses this to determine the line-breaking behavior of


the inline object among the text.

GetCaretMetrics Gets caret metrics for the font in design units.

GetCharacterSpacing Gets the spacing between characters.

GetClearTypeLevel Gets the ClearType level of the rendering parameters object.


T IT L E DESC RIP T IO N

GetClusterMetrics Retrieves logical properties and measurements of each glyph


cluster.

GetColorPaletteCount Gets the number of color palettes defined by the font.

GetCount Gets the number of language/string pairs.

GetCount Gets the number of strings in the string list.

GetCurrentFontFile Gets a reference to the current font file.

GetCurrentRun Gets the current color glyph run.

GetCurrentRun Returns the current glyph run of the enumerator.

GetCurrentTransform Gets the transform that maps abstract coordinates to DIPs. By


default this is the identity transform. Note that this is
unrelated to the world transform of the underlying device
context.

GetCurrentTransform Gets a transform that maps abstract coordinates to DIPs.

GetDefaultFontAxisValues Retrieves the default values for all axes supported by the font
resource.

GetDesignGlyphAdvances Retrieves the advances in design units for a sequences of


glyphs.

GetDesignGlyphMetrics Obtains ideal (resolution-independent) glyph metrics in font


design units.

GetDrawingEffect Gets the application-defined drawing effect at the specified


text position.

GetEnhancedContrast Gets the enhanced contrast property of the rendering


parameters object. Valid values are greater than or equal to
zero.

GetEudcFontCollection Gets a font collection representing the set of EUDC (end-user


defined characters) fonts.

GetExpirationEvent Retrieves the expiration event for the font set, if any. The
expiration event is set on a system font set object if it is out of
date due to fonts being installed, uninstalled, or updated.

GetExpirationEvent Retrieves the expiration event for the font set, if any. The
expiration event is set on a system font set object if it is out of
date due to fonts being installed, uninstalled, or updated.

GetFaceNames Gets a localized strings collection containing the face names


for the font (such as Regular or Bold), indexed by locale name.
T IT L E DESC RIP T IO N

GetFaceNames Creates a localized strings object that contains the face names
for the font (for example, Regular or Bold), indexed by locale
name.

GetFamilyNames Creates a localized strings object that contains the family


names for the font family, indexed by locale name.

GetFamilyNames Creates a localized strings object that contains the family


names for the font family, indexed by locale name.

GetFileCount Returns the number of font file references that have been
created using this loader instance.

GetFileFragmentLocality Returns information about the locality of a byte range (i.e.,


font fragment) within the font file stream.

GetFilePathFromKey Obtains the absolute font file path from the font file reference
key.

GetFilePathLengthFromKey Obtains the length of the absolute file path from the font file
reference key.

GetFiles Obtains the font files representing a font face.

GetFileSize Obtains the total size of a file.

GetFileSize Get the total size of the font face in bytes.

GetFileTime Get the last modified date.

GetFilteredFontIndices Retrives all the item indices, filtered by the given ranges.

GetFilteredFonts Retrieves a subset of fonts filtered by the given properties.

GetFilteredFonts Retrieves a subset of fonts filtered by the given ranges,


endpoint-inclusive.

GetFilteredFonts Retrieves a subset of fonts, filtered by the given indices.

GetFirstFontResources Retrieves a new font set that contains only the first occurrence
of each font resource from the set.

GetFirstMatchingFont Gets the font that best matches the specified properties.

GetFlowDirection Gets the direction that text lines flow.

GetFont Gets a font given its zero-based index.

GetFont Gets a font given its zero-based index.

GetFont Gets a font given its zero-based index.


T IT L E DESC RIP T IO N

GetFontAxisAttributes Retrieves attributes describing the given axis, such as whether


the font author recommends to hide the axis in user
interfaces.

GetFontAxisCount Retrieves the number of axes supported by the font resource.

GetFontAxisRanges Retrieves the value ranges of each axis.

GetFontAxisRanges Retrieves the axis ranges of a single item.

GetFontAxisValueCount Retrieves the number of axes defined by the font. This includes
both static and variable axes.

GetFontAxisValueCount Retrieves the number of axes specified by the reference.

GetFontAxisValueCount Retrieves the number of axes set on the format.

GetFontAxisValues Retrieves the list of axis values used by the font.

GetFontAxisValues Retrieves the list of font axis values specified by the reference.

GetFontAxisValues Retrieves the list of font axis values on the format.

GetFontCollection Gets the font collection that contains the fonts in the font list.

GetFontCollection Gets the current font collection.

GetFontCollection Gets the font collection associated with the text at the
specified position.

GetFontCount Gets the number of fonts in the font list.

GetFontCount Get the number of total fonts in the set.

GetFontDownloadQueue Gets the font download queue associated with this factory
object.

GetFontFaceIndex Obtains the zero-based index of the font face in its font file or
files. If the font files contain a single face, the return value is
zero.

GetFontFaceIndex Retrieves the zero-based index of the font face within its font
file.

GetFontFaceReference Gets a font face reference that identifies this font.

GetFontFaceReference Gets a font face reference that identifies this font.

GetFontFaceReference Gets a font face reference given its zero-based index.

GetFontFaceReference Gets a font face reference given its zero-based index.


T IT L E DESC RIP T IO N

GetFontFaceReference Gets a reference to the font at the specified index, which may
be local or remote.

GetFontFaceReference Retrieves the font face reference of a single item.

GetFontFallback Gets the current fallback. If none was ever set since creating
the layout, it will be nullptr.

GetFontFallback Get the current font fallback object.

GetFontFamily Gets the font family to which the specified font belongs.

GetFontFamily Creates a font family object given a zero-based font family


index.

GetFontFamily Creates a font family object, given a zero-based font family


index.

GetFontFamilyCount Gets the number of font families in the collection.

GetFontFamilyModel Retrieves the font family model used by the font collection to
group families.

GetFontFamilyName Gets a copy of the font family name.

GetFontFamilyName Copies the font family name of the text at the specified
position.

GetFontFamilyNameLength Gets the length of the font family name.

GetFontFamilyNameLength Get the length of the font family name at the current position.

GetFontFeature Gets the font feature at the specified index.

GetFontFeatureCount Gets the number of OpenType font features for the current
font.

GetFontFile Obtains the font file representing a font face.

GetFontFile Retrieves the font file of the resource.

GetFontFromFontFace Gets the font object that corresponds to the same physical
font as the specified font face object. The specified physical
font must belong to the font collection.

GetFontLocality Gets the current location of a font given its zero-based index.

GetFontLocality Gets the current location of a font given its zero-based index.

GetFontLocality Retrieves the locality of a single item.

GetFontResource Retrieves the underlying font resource for this font face.
T IT L E DESC RIP T IO N

GetFontSet Gets the underlying font set used by this collection.

GetFontSet Retrieves the underlying font set used by this collection.

GetFontSet Retrieves the underlying font set used by this family.

GetFontSet Retrieves the underlying font set used by this list.

GetFontSignature Reads the font signature from the given font.

GetFontSignature Reads the font signature from the given font.

GetFontSize Gets the font size in DIP unites.

GetFontSize Gets the font em height of the text at the specified position.

GetFontSourceName Copies the font source name (for the specified font) into an
output array.

GetFontSourceNameLength Retrieves the length of the font source name for the specified
font.

GetFontSourceType Retrieves the font source type of the specified font.

GetFontStretch Gets the font stretch of the text.

GetFontStretch Gets the font stretch of the text at the specified position.

GetFontStyle Gets the font style of the text.

GetFontStyle Gets the font style (also known as slope) of the text at the
specified position.

GetFontWeight Gets the font weight of the text.

GetFontWeight Gets the font weight of the text at the specified position.

GetGamma Gets the gamma value used for gamma correction. Valid
values must be greater than zero and cannot exceed 256.

GetGdiCompatibleGlyphAdvances Returns the pixel-aligned advances for a sequences of glyphs.

GetGdiCompatibleGlyphMetrics Obtains glyph metrics in font design units with the return
values compatible with what GDI would produce.

GetGdiCompatibleGlyphPlacements Place glyphs output from the GetGlyphs method according to


the font and the writing system's rendering rules.

GetGdiCompatibleMetrics Obtains design units and common metrics for the font face.
These metrics are applicable to all the glyphs within a fontface
and are used by applications for layout calculations.
T IT L E DESC RIP T IO N

GetGdiCompatibleMetrics Obtains design units and common metrics for the font face.
These metrics are applicable to all the glyphs within a fontface
and are used by applications for layout calculations.

GetGdiInterop Creates an object that is used for interoperability with GDI.

GetGenerationCount Gets the current generation number of the download queue,


which is incremented every time after a download completes,
whether failed or successful. This cookie value can be
compared against cached data to determine if it is stale.

GetGlyphCount Obtains the number of glyphs in the font face.

GetGlyphImageData Gets a pointer to the glyph data based on the desired image
format.

GetGlyphImageFormats Gets all the glyph image formats supported by the entire font.

GetGlyphImageFormats Gets all the glyph image formats supported by the entire font.

GetGlyphIndices Returns the nominal mapping of UCS4 Unicode code points to


glyph indices as defined by the font 'CMAP' table.

GetGlyphOrientationTransform Returns 2x3 transform matrix for the respective angle to draw
the glyph run.

GetGlyphOrientationTransform Returns 2x3 transform matrix for the respective angle to draw
the glyph run.

GetGlyphPlacements Places glyphs output from the GetGlyphs method according


to the font and the writing system's rendering rules.

GetGlyphRunOutline Computes the outline of a run of glyphs by calling back to the


outline sink interface.

GetGlyphs Parses the input text string and maps it to the set of glyphs
and associated glyph data according to the font and the
writing system's rendering rules.

GetGrayscaleEnhancedContrast Gets the amount of contrast enhancement to use for


grayscale antialiasing.

GetGridFitMode Gets the grid fitting mode.

GetIncrementalTabStop Gets the incremental tab stop position.

GetIndex Obtains the index of a font face in the context of its font files.

GetInformationalStrings Gets a localized strings collection containing the specified


informational strings, indexed by locale name.

GetInformationalStrings Gets a localized strings collection that contains the specified


informational strings, indexed by locale name.
T IT L E DESC RIP T IO N

GetInlineObject Gets the inline object at the specified position.

GetJustificationOpportunities Retrieves justification opportunity information for each of the


glyphs given the text and shaping glyph properties.

GetJustifiedGlyphs Fills in new glyphs for complex scripts where justification


increased the advances of glyphs, such as Arabic with kashida.

GetKerningPairAdjustments Retrieves the kerning pair adjustments from the font's kern
table.

GetLastLineWrapping Gets the wrapping mode of the last line.

GetLastLineWrapping Get whether or not the last word on the last line is wrapped.

GetLastWriteTime Obtains the last modified time of the file.

GetLastWriteTimeFromKey Obtains the last write time of the file from the font file
reference key.

GetLineMetrics Retrieves the information about each individual text line of the
text string.

GetLineMetrics Retrieves properties of each line.

GetLineSpacing Gets the line spacing adjustment set for a multiline text
paragraph.

GetLineSpacing Gets the line spacing adjustment set for a multiline text
paragraph.

GetLineSpacing Gets line spacing information.

GetLoader Obtains the file loader associated with a font file object.

GetLocaleName Copies the locale name with the specified index to the
specified array.

GetLocaleName Gets the locale name on the range affected by the text
analysis.

GetLocaleName Gets a copy of the locale name.

GetLocaleName Gets the locale name of the text at the specified position.

GetLocaleName Copies the locale name with the specified index to the
specified array.

GetLocaleNameLength Gets the length in characters (not including the null


terminator) of the locale name with the specified index.

GetLocaleNameLength Gets the length of the locale name.


T IT L E DESC RIP T IO N

GetLocaleNameLength Gets the length of the locale name of the text at the specified
position.

GetLocaleNameLength Gets the length in characters (not including the null


terminator) of the locale name with the specified index.

GetLocalFileSize Get the local size of the font face in bytes, which will always be
less than or equal to GetFullSize. If the locality is remote, this
value is zero. If full, this value will equal GetFileSize.

GetLocalFileSize GetLocalFileSize returns the number of bytes of the font file


that are currently local, which should always be less than or
equal to the full file size returned by GetFileSize.

GetLocality Gets the current locality of the font.

GetLocality Get the locality of this font face reference.

GetLocality Gets the current locality of the file.

GetLocalityFromKey Gets the locality of the file resource identified by the unique
key.

GetMatchingFonts Gets a list of fonts in the font family ranked in order of how
well they match the specified properties.

GetMatchingFonts Retrieves a list of fonts in the specified font family, ranked in


order of how well they match the specified axis values.

GetMatchingFonts Retrieves a list of fonts in the font family, ranked in order of


how well they match the specified axis values.

GetMatchingFonts Returns a subset of fonts filtered by the given properties.

GetMatchingFonts Returns a subset of fonts filtered by the given properties.

GetMatchingFonts Retrieves a matching font set based on the requested inputs,


ordered so that nearer matches are earlier.

GetMatchingFontsByLOGFONT Gets a list of matching fonts based on the specified LOGFONT


values. Only fonts of that family name will be returned.

GetMaxHeight Gets the layout maximum height.

GetMaxWidth Gets the layout maximum width.

GetMemoryDC Gets a handle to the memory device context.

GetMetrics Obtains design units and common metrics for the font face.
These metrics are applicable to all the glyphs within a font face
and are used by applications for layout calculations.
T IT L E DESC RIP T IO N

GetMetrics Obtains design units and common metrics for the font face.
These metrics are applicable to all the glyphs within a font face
and are used by applications for layout calculations.

GetMetrics IDWriteTextLayout calls this callback function to get the


measurement of the inline object.

GetMetrics Retrieves overall metrics for the formatted string.

GetMetrics Obtains design units and common metrics for the font face.
These metrics are applicable to all the glyphs within a font face
and are used by applications for layout calculations.

GetMetrics Obtains design units and common metrics for the font face.
These metrics are applicable to all the glyphs within a font face
and are used by applications for layout calculations.

GetMetrics Retrieves overall metrics for the formatted string.

GetNumberSubstitution Gets the number substitution from the text range affected by
the text analysis.

GetOpticalAlignment Gets the optical margin alignment for the text format.

GetOpticalAlignment Get how the glyphs align to the edges the margin.

GetOverhangMetrics IDWriteTextLayout calls this callback function to get the visible


extents (in DIPs) of the inline object. In the case of a simple
bitmap, with no padding and no overhang, all the overhangs
will simply be zeroes.

GetOverhangMetrics Returns the overhangs (in DIPs) of the layout and all objects
contained in it, including text glyphs and inline objects.

GetPairKerning Gets whether or not pair-kerning is enabled at given position.

GetPaletteEntries Gets color values from the font's color palette.

GetPaletteEntryCount Get the number of entries in each color palette.

GetPanose Gets the PANOSE values from the font and is used for font
selection and matching.

GetPanose Gets the PANOSE values from the font, used for font selection
and matching.

GetParagraphAlignment Gets the alignment option of a paragraph which is relative to


the top and bottom edges of a layout box.

GetParagraphReadingDirection Gets the paragraph reading direction.

GetPixelGeometry Gets the pixel geometry of the rendering parameters object.


T IT L E DESC RIP T IO N

GetPixelsPerDip Gets the number of bitmap pixels per DIP.

GetPixelsPerDip Gets the number of physical pixels per DIP.

GetPropertyOccurrenceCount Returns how many times a given property value occurs in the
set.

GetPropertyValues Returns the property values of a specific font item index.

GetPropertyValues Returns the property values of a specific font item index.

GetPropertyValues Returns the property values of a specific font item index.

GetReadingDirection Gets the current reading direction for text in a paragraph.

GetRecommendedRenderingMode Determines the recommended rendering mode for the font,


using the specified size and rendering parameters.

GetRecommendedRenderingMode Determines the recommended rendering mode for the font,


using the specified size and rendering parameters.

GetRecommendedRenderingMode Determines the recommended text rendering and grid-fit


mode to be used based on the font, size, world transform, and
measuring mode.

GetRecommendedRenderingMode Determines the recommended text rendering and grid-fit


mode to be used based on the font, size, world transform, and
measuring mode.

GetReferenceKey Obtains the pointer to the reference key of a font file. The
returned pointer is valid until the font file object is released.

GetRenderingMode Gets the rendering mode of the rendering parameters object.

GetRenderingMode1 Gets the rendering mode.

GetResult Returns the result of the asynchronous operation. The return


value is E_PENDING if the operation has not yet completed.

GetScriptProperties Retrieves the properties for a given script.

GetSimulations Gets a value that indicates what simulations are applied to the
specified font.

GetSimulations Obtains the algorithmic style simulation flags of a font face.

GetSimulations Obtains the algorithmic style simulation flags of a font face.

GetSize Gets the dimensions of the target bitmap.

GetStretch Gets the stretch, or width, of the specified font.


T IT L E DESC RIP T IO N

GetStretch Gets the stretch (also known as width) of this font.

GetStrikethrough Get the strikethrough presence of the text at the specified


position.

GetString Copies the string with the specified index to the specified
array.

GetString Copies the string with the specified index to the specified
array.

GetStringLength Gets the length in characters (not including the null


terminator) of the string with the specified index.

GetStringLength Gets the length in characters (not including the null


terminator) of the string with the specified index.

GetStyle Gets the style, or slope, of the specified font.

GetStyle Gets the style (also known as slope) of this font.

GetSystemFontCollection Gets an object which represents the set of installed fonts.

GetSystemFontCollection Retrieves a weight/width/slope tree of system fonts.

GetSystemFontCollection Retrieves a collection of fonts, grouped into families.

GetSystemFontCollection Retrieves a collection of fonts, grouped into families.

GetSystemFontFallback Creates a font fallback object from the system font fallback
list.

GetSystemFontSet Retrieves the list of system fonts.

GetSystemFontSet Retrieves the set of system fonts.

GetSystemFontSet Retrieves the set of system fonts.

GetTextAlignment Gets the alignment option of text relative to the layout box's
leading and trailing edge.

GetTextAntialiasMode Gets the current text antialiasing mode of the bitmap render
target.

GetTextAtPosition Gets a block of text starting at the specified text position.

GetTextBeforePosition Gets a block of text immediately preceding the specified


position.

GetTextComplexity Determines the complexity of text, and whether you need to


call IDWriteTextAnalyzer::GetGlyphs for full script shaping.
T IT L E DESC RIP T IO N

GetTrimming Gets the trimming options for text that overflows the layout
box.

GetType Obtains the file format type of a font face.

GetTypographicFeatures Returns a complete list of OpenType features available for a


script or font.

GetTypography Gets the typography setting of the text at the specified


position.

GetUnderline Gets the underline presence of the text at the specified


position.

GetUnicodeRanges Retrieves the list of character ranges supported by a font.

GetUnicodeRanges Retrieves a list of character ranges supported by a font.

GetVerticalGlyphOrientation Used by the text analyzer to obtain the desired glyph


orientation and resolved bidi level.

GetVerticalGlyphOrientation Get the preferred orientation of glyphs when using a vertical


reading direction.

GetVerticalGlyphOrientation Get the preferred orientation of glyphs when using a vertical


reading direction.

GetVerticalGlyphVariants Retrieves the vertical forms of the nominal glyphs retrieved


from GetGlyphIndices.

GetWaitHandle Returns a handle that can be used to wait for the


asynchronous operation to complete. The handle remains
valid until the interface is released.

GetWeight Gets the weight, or stroke thickness, of the specified font.

GetWeight Gets the weight of this font.

GetWordWrapping Gets the word wrapping option.

HasCharacter Determines whether the font supports a specified character.

HasCharacter Determines whether the font supports the specified character.

HasKerningPairs Determines whether the font supports pair-kerning.

HasVariations Determines whether this font face's resource supports any


variable axes.

HasVariations Determines whether this font face's resource supports any


variable axes.
T IT L E DESC RIP T IO N

HasVerticalGlyphVariants Determines whether the font has any vertical glyph variants.

HitTestPoint The application calls this function passing in a specific pixel


location relative to the top-left location of the layout box and
obtains the information about the correspondent hit-test
metrics of the text string where the hit-test has occurred.

HitTestTextPosition The application calls this function to get the pixel location
relative to the top-left of the layout box given the text
position and the logical side of the position.

HitTestTextRange The application calls this function to get a set of hit-test


metrics corresponding to a range of text positions. One of the
main usages is to implement highlight selection of the text
string.

InvalidateLayout Invalidates the layout, forcing layout to remeasure before


calling the metrics or drawing functions. This is useful if the
locality of a font changes, and layout should be redrawn, or if
the size of a client implemented IDWriteInlineObject changes.

IsCharacterLocal Determines whether the character is locally downloaded from


the font.

IsColorFont Enables determining if a color rendering path is potentially


necessary.

IsColorFont Allows you to determine if a color rendering path is potentially


necessary.

IsEmpty Determines whether the download queue is empty. Note that


the queue does not include requests that are already being
downloaded. Calling BeginDownloadclears the queue.

IsGlyphLocal Determines whether the glyph is locally downloaded from the


font.

IsMonospacedFont Determines if the font is monospaced, that is, the characters


are the same fixed-pitch width (non-proportional).

IsMonospacedFont Determines whether the font of a text range is monospaced,


that is, the font characters are the same fixed-pitch width.

IsSymbolFont Determines whether the font is a symbol font.

IsSymbolFont Determines whether the font is a symbol font.

JustifyGlyphAdvances Justifies an array of glyph advances to fit the line width.

MapCharacters Determines an appropriate font to use to render the


beginning range of text.
T IT L E DESC RIP T IO N

MoveNext Advances to the next font file in the collection. When it is first
created, the enumerator is positioned before the first element
of the collection and the first call to MoveNext advances to
the first file.

MoveNext Move to the next glyph run in the enumerator.

ReadFileFragment Reads a fragment from a font file.

RegisterFontCollectionLoader Registers a custom font collection loader with the factory


object.

RegisterFontFileLoader Registers a font file loader with DirectWrite.

ReleaseFileFragment Releases a fragment from a file.

ReleaseFontTable Releases the table obtained earlier from TryGetFontTable.

ReleaseGlyphImageData Releases the table data obtained from ReadGlyphData.

RemoveListener Unregisters a notification handler that was previously


registered using AddListener.

Resize Resizes the bitmap.

SetAutomaticFontAxes Sets the automatic font axis options.

SetBidiLevel Sets a bidirectional level on the range, which is called once per
run change (either explicit or resolved implicit).

SetCharacterSpacing Sets the spacing between characters.

SetCurrentTransform Sets the transform that maps abstract coordinate to DIPs


(device-independent pixel). This does not affect the world
transform of the underlying device context.

SetDrawingEffect Sets the application-defined drawing effect.

SetFlowDirection Sets the paragraph flow direction.

SetFontAxisValues Sets values for the font axes of the format.

SetFontCollection Sets the font collection.

SetFontFallback Applies the custom font fallback onto the layout. If none is
set, it uses the default system fallback list.

SetFontFallback Apply a custom font fallback onto layout.

SetFontFamilyName Sets null-terminated font family name for text within a


specified text range.
T IT L E DESC RIP T IO N

SetFontSize Sets the font size in DIP units for text within a specified text
range.

SetFontStretch Sets the font stretch for text within a specified text range.

SetFontStyle Sets the font style for text within a text range specified by a
DWRITE_TEXT_RANGE structure.

SetFontWeight Sets the font weight for text within a text range specified by a
DWRITE_TEXT_RANGE structure.

SetGlyphOrientation The text analyzer calls back to this to report the actual
orientation of each character for shaping and drawing.

SetIncrementalTabStop Sets a fixed distance between two adjacent tab stops.

SetInlineObject Sets the inline object.

SetLastLineWrapping Sets the wrapping mode of the last line.

SetLastLineWrapping Set whether or not the last word on the last line is wrapped.

SetLineBreakpoints Sets line-break opportunities for each character, starting from


the specified position.

SetLineSpacing Sets the line spacing.

SetLineSpacing Set line spacing.

SetLineSpacing Set line spacing.

SetLocaleName Sets the locale name for text within a specified text range.

SetMaxHeight Sets the layout maximum height.

SetMaxWidth Sets the layout maximum width.

SetNumberSubstitution Sets the number substitution on the text range affected by


the text analysis.

SetOpticalAlignment Sets the optical margin alignment for the text format.

SetOpticalAlignment Set how the glyphs align to the edges the margin.

SetPairKerning Enables or disables pair-kerning on a given text range.

SetParagraphAlignment Sets the alignment option of a paragraph relative to the


layout box's top and bottom edge.

SetPixelsPerDip Sets the number of bitmap pixels per DIP (device-independent


pixel). A DIP is 1/96 inch, so this value is the number if pixels
per inch divided by 96.
T IT L E DESC RIP T IO N

SetReadingDirection Sets the paragraph reading direction.

SetScriptAnalysis Reports script analysis for the specified text range.

SetStrikethrough Sets strikethrough for text within a specified text range.

SetTextAlignment Sets the alignment of text in a paragraph, relative to the


leading and trailing edge of a layout box for a
IDWriteTextFormat interface.

SetTextAntialiasMode Sets the current text antialiasing mode of the bitmap render
target.

SetTrimming Sets trimming options for text overflowing the layout width.

SetTypography Sets font typography features for text within a specified text
range.

SetUnderline Sets underlining for text within a specified text range.

SetVerticalGlyphOrientation Sets the orientation of a text format.

SetVerticalGlyphOrientation Set the preferred orientation of glyphs when using a vertical


reading direction.

SetWordWrapping Sets the word wrapping option.

TranslateColorGlyphRun Translates a glyph run to a sequence of color glyph runs,


which can be rendered to produce a color representation of
the original "base" run.

TranslateColorGlyphRun This method is called on a glyph run to translate it in to


multiple color glyph runs.

TryGetFontTable Finds the specified OpenType font table if it exists and returns
a pointer to it. The function accesses the underlying font data
through the IDWriteFontFileStream interface implemented by
the font file loader.

UnpackFontFile The UnpackFontFile method unpacks font data from a


container file (WOFF or WOFF2) and returns the unpacked
font data in the form of a font file stream.

UnregisterFontCollectionLoader Unregisters a custom font collection loader that was


previously registered using RegisterFontCollectionLoader.

UnregisterFontFileLoader Unregisters a font file loader that was previously registered


with the DirectWrite font system using RegisterFontFileLoader.

Interfaces
T IT L E DESC RIP T IO N

IDWriteAsyncResult Represents the result of an asynchronous operation. A client


can use the interface to wait for the operation to complete
and to get the result.

IDWriteBitmapRenderTarget Encapsulates a 32-bit device independent bitmap and device


context, which can be used for rendering glyphs.

IDWriteBitmapRenderTarget1 Encapsulates a 32-bit device independent bitmap and device


context, which you can use for rendering glyphs.

IDWriteColorGlyphRunEnumerator This interface allows the application to enumerate through the


color glyph runs.

IDWriteColorGlyphRunEnumerator1 Enumerator for an ordered collection of color glyph runs.

IDWriteFactory Used to create all subsequent DirectWrite objects. This


interface is the root factory interface for all DirectWrite
objects.

IDWriteFactory1 The root factory interface for all DirectWrite objects.

IDWriteFactory2 The root factory interface for all DirectWrite objects.

IDWriteFactory3 The root factory interface for all DirectWrite objects.

IDWriteFactory4 The root factory interface for all DirectWrite objects.

IDWriteFactory5 The root factory interface for all DirectWrite objects.

IDWriteFactory6 This interface represents a factory object from which all


DirectWrite objects are created. IDWriteFactor y6 adds new
facilities for working with fonts and font resources.

IDWriteFactory7 This interface represents a factory object from which all


DirectWrite objects are created. IDWriteFactor y7 adds new
facilities for working with system fonts.

IDWriteFont Represents a physical font in a font collection. This interface is


used to create font faces from physical fonts, or to retrieve
information such as font face metrics or face names from
existing font faces.

IDWriteFont1 Represents a physical font in a font collection.

IDWriteFont2 Represents a physical font in a font collection.

IDWriteFont3 Represents a font in a font collection.

IDWriteFontCollection An object that encapsulates a set of fonts, such as the set of


fonts installed on the system, or the set of fonts in a particular
directory.
T IT L E DESC RIP T IO N

IDWriteFontCollection1 An object that encapsulates a set of fonts, such as the set of


fonts installed on the system, or the set of fonts in a particular
directory.

IDWriteFontCollection2 This interface encapsulates a set of fonts, such as the set of


fonts installed on the system, or the set of fonts in a particular
directory. The font collection API can be used to discover what
font families and fonts are available, and to obtain some
metadata about the fonts.

IDWriteFontCollection3 This interface encapsulates a set of fonts, such as the set of


fonts installed on the system, or the set of fonts in a particular
directory. The font collection API can be used to discover what
font families and fonts are available, and to obtain some
metadata about the fonts.

IDWriteFontCollectionLoader Used to construct a collection of fonts given a particular type


of key.

IDWriteFontDownloadListener Application-defined callback interface that receives


notifications from the font download queue
(IDWriteFontDownloadQueue interface).

IDWriteFontDownloadQueue Interface that enqueues download requests for remote fonts,


characters, glyphs, and font fragments.

IDWriteFontFace This interface exposes various font data such as metrics,


names, and glyph outlines. It contains font face type,
appropriate file references, and face identification data.

IDWriteFontFace1 Contains font face type, appropriate file references, and face
identification data.

IDWriteFontFace2 Contains font face type, appropriate file references, and face
identification data.

IDWriteFontFace3 Contains font face type, appropriate file references, and face
identification data.

IDWriteFontFace4 Contains font face type, appropriate file references, and face
identification data.

IDWriteFontFace5 Contains font face type, appropriate file references, and face
identification data.

IDWriteFontFaceReference Represents a reference to a font face.

IDWriteFontFaceReference1 Represents a reference to a font face. A uniquely identifying


reference to a font, from which you can create a font face to
query font metrics and use for rendering.

IDWriteFontFallback Allows you to access fallback fonts from the font list.

IDWriteFontFallbackBuilder Allows you to create Unicode font fallback mappings and


create a font fall back object from those mappings.
T IT L E DESC RIP T IO N

IDWriteFontFamily Represents a family of related fonts.

IDWriteFontFamily1 Represents a family of related fonts.

IDWriteFontFamily2 Represents a family of related fonts. IDWriteFontFamily2


adds new facilities, including retrieving fonts by font axis
values.

IDWriteFontFile Represents a font file. Applications such as font managers or


font viewers can call IDWriteFontFile::Analyze to find out if a
particular file is a font file, and whether it is a font type that is
supported by the font system.

IDWriteFontFileEnumerator Encapsulates a collection of font files. The font system uses


this interface to enumerate font files when building a font
collection.

IDWriteFontFileLoader Handles loading font file resources of a particular type from a


font file reference key into a font file stream object.

IDWriteFontFileStream Loads font file data from a custom font file loader.

IDWriteFontList Represents a list of fonts.

IDWriteFontList1 Represents a list of fonts.

IDWriteFontList2 Represents a list of fonts. IDWriteFontList2 adds new


facilities, including retrieving the underlying font set used by
the list.

IDWriteFontResource Provides axis information for a font resource, and is used to


create specific font face instances.

IDWriteFontSet Represents a font set.

IDWriteFontSet1 Represents a font set.

IDWriteFontSet2 Represents a font set.

IDWriteFontSet3 Represents a font set.

IDWriteFontSetBuilder Contains methods for building a font set.

IDWriteFontSetBuilder1 Contains methods for building a font set.

IDWriteFontSetBuilder2 Contains methods for building a font set.


T IT L E DESC RIP T IO N

IDWriteGdiInterop Provides interoperability with GDI, such as methods to


convert a font face to a LOGFONT structure, or to convert a
GDI font description into a font face. It is also used to create
bitmap render target objects.

IDWriteGdiInterop1 Provides interoperability with GDI, such as methods to


convert a font face to a LOGFONT structure, or to convert a
GDI font description into a font face. It is also used to create
bitmap render target objects.

IDWriteGlyphRunAnalysis Contains low-level information used to render a glyph run.

IDWriteInlineObject Wraps an application-defined inline graphic, allowing DWrite


to query metrics as if the graphic were a glyph inline with the
text.

IDWriteInMemoryFontFileLoader Represents a font file loader that can access in-memory fonts.

IDWriteLocalFontFileLoader A built-in implementation of the IDWriteFontFileLoader


interface, that operates on local font files and exposes local
font file information from the font file reference key.

IDWriteLocalizedStrings Represents a collection of strings indexed by locale name.

IDWriteNumberSubstitution Holds the appropriate digits and numeric punctuation for a


specified locale.

IDWritePixelSnapping Defines the pixel snapping properties such as pixels per


DIP(device-independent pixel) and the current transform
matrix of a text renderer.

IDWriteRemoteFontFileLoader Represents a font file loader that can access remote (i.e.,
downloadable) fonts.

IDWriteRemoteFontFileStream Represents a font file stream, parts of which may be non-local.

IDWriteRenderingParams Represents text rendering settings such as ClearType level,


enhanced contrast, and gamma correction for glyph
rasterization and filtering.

IDWriteRenderingParams1 Represents text rendering settings for glyph rasterization and


filtering.

IDWriteRenderingParams2 Represents text rendering settings for glyph rasterization and


filtering.

IDWriteRenderingParams3 Represents text rendering settings for glyph rasterization and


filtering.

IDWriteStringList Represents a collection of strings indexed by number.

IDWriteTextAnalysisSink This interface is implemented by the text analyzer's client to


receive the output of a given text analysis.
T IT L E DESC RIP T IO N

IDWriteTextAnalysisSink1 The interface you implement to receive the output of the text
analyzers.

IDWriteTextAnalysisSource Implemented by the text analyzer's client to provide text to


the analyzer.

IDWriteTextAnalysisSource1 The interface you implement to provide needed information


to the text analyzer, like the text and associated text
properties.

IDWriteTextAnalyzer Analyzes various text properties for complex script processing


such as bidirectional (bidi) support for languages like Arabic,
determination of line break opportunities, glyph placement,
and number substitution.

IDWriteTextAnalyzer1 Analyzes various text properties for complex script processing.

IDWriteTextAnalyzer2 Analyzes various text properties for complex script processing.

IDWriteTextFormat The IDWriteTextFormat interface describes the font and


paragraph properties used to format text, and it describes
locale information.

IDWriteTextFormat1 Describes the font and paragraph properties used to format


text, and it describes locale information.

IDWriteTextFormat2 Describes the font and paragraph properties used to format


text, and it describes locale information.

IDWriteTextFormat3 Describes the font and paragraph properties used to format


text, and it describes locale information.

IDWriteTextLayout The IDWriteTextLayout interface represents a block of text


after it has been fully analyzed and formatted.

IDWriteTextLayout1 Represents a block of text after it has been fully analyzed and
formatted.

IDWriteTextLayout2 Represents a block of text after it has been fully analyzed and
formatted.

IDWriteTextLayout3 Represents a block of text after it has been fully analyzed and
formatted.

IDWriteTextRenderer Represents a set of application-defined callbacks that perform


rendering of text, inline objects, and decorations such as
underlines.

IDWriteTextRenderer1 Represents a set of application-defined callbacks that perform


rendering of text, inline objects, and decorations such as
underlines.

IDWriteTypography Represents a font typography setting.


Structures
T IT L E DESC RIP T IO N

DWRITE_CARET_METRICS The DWRITE_CARET_METRICS structure specifies the metrics


for caret placement in a font.

DWRITE_CLUSTER_METRICS Contains information about a glyph cluster.

DWRITE_COLOR_GLYPH_RUN Contains the information needed by renderers to draw glyph


runs with glyph color information.

DWRITE_COLOR_GLYPH_RUN1 Represents a color glyph run. The


IDWriteFactory4::TranslateColorGlyphRun method returns an
ordered collection of color glyph runs of varying types
depending on what the font supports.

DWRITE_FILE_FRAGMENT Represents a range of bytes in a font file.

DWRITE_FONT_AXIS_RANGE Represents the minimum and maximum range of the possible


values for a font axis.

DWRITE_FONT_AXIS_VALUE Represents a value for a font axis. Used when querying and
creating font instances.

DWRITE_FONT_FEATURE Specifies properties used to identify and execute typographic


features in the current font face.

DWRITE_FONT_METRICS The DWRITE_FONT_METRICS structure specifies the metrics


that are applicable to all glyphs within the font face.

DWRITE_FONT_METRICS1 The DWRITE_FONT_METRICS1 structure specifies the metrics


that are applicable to all glyphs within the font face.

DWRITE_FONT_PROPERTY Font property used for filtering font sets and building a font
set with explicit properties.

DWRITE_GLYPH_IMAGE_DATA Data for a single glyph from GetGlyphImageData.

DWRITE_GLYPH_METRICS Specifies the metrics of an individual glyph.

DWRITE_GLYPH_OFFSET The optional adjustment to a glyph's position.

DWRITE_GLYPH_RUN Contains the information needed by renderers to draw glyph


runs.

DWRITE_GLYPH_RUN_DESCRIPTION Contains additional properties related to those in


DWRITE_GLYPH_RUN.

DWRITE_HIT_TEST_METRICS Describes the region obtained by a hit test.

DWRITE_INLINE_OBJECT_METRICS Contains properties describing the geometric measurement of


an application-defined inline object.
T IT L E DESC RIP T IO N

DWRITE_JUSTIFICATION_OPPORTUNITY The DWRITE_JUSTIFICATION_OPPORTUNITY structure


specifies justification info per glyph.

DWRITE_LINE_BREAKPOINT Line breakpoint characteristics of a character.

DWRITE_LINE_METRICS Contains information about a formatted line of text.

DWRITE_LINE_METRICS1 Contains information about a formatted line of text.

DWRITE_LINE_SPACING Sets the vertical spacing between lines of text.

DWRITE_MATRIX The DWRITE_MATRIX structure specifies the graphics


transform to be applied to rendered glyphs.

DWRITE_OVERHANG_METRICS Indicates how much any visible DIPs (device independent


pixels) overshoot each side of the layout or inline objects.

DWRITE_PANOSE The DWRITE_PANOSE union describes typeface classification


values that you use with IDWriteFont1::GetPanose to select
and match the font.

DWRITE_SCRIPT_ANALYSIS Stores the association of text and its writing system script, as
well as some display attributes.

DWRITE_SCRIPT_PROPERTIES The DWRITE_SCRIPT_PROPERTIES structure specifies script


properties for caret navigation and justification.

DWRITE_SHAPING_GLYPH_PROPERTIES Contains shaping output properties for an output glyph.

DWRITE_SHAPING_TEXT_PROPERTIES Shaping output properties for an output glyph.

DWRITE_STRIKETHROUGH Contains information regarding the size and placement of


strikethroughs.

DWRITE_TEXT_METRICS Contains the metrics associated with text after layout.

DWRITE_TEXT_METRICS1 Contains the metrics associated with text after layout.

DWRITE_TEXT_RANGE Specifies a range of text positions where format is applied in


the text represented by an IDWriteTextLayout object.

DWRITE_TRIMMING Specifies the trimming option for text overflowing the layout
box.

DWRITE_TYPOGRAPHIC_FEATURES Contains a set of typographic features to be applied during


text shaping.

DWRITE_UNDERLINE Contains information about the width, thickness, offset, run


height, reading direction, and flow direction of an underline.

DWRITE_UNICODE_RANGE The DWRITE_UNICODE_RANGE structure specifies the range


of Unicode code points.
DirectXMath
2/7/2020 • 77 minutes to read • Edit Online

Overview of the DirectXMath technology.


To develop DirectXMath, you need these headers:
directxcollision.h
directxmath.h
directxpackedvector.h
For programming guidance for this technology, see:
DirectXMath

Enumerations
T IT L E DESC RIP T IO N

ContainmentType Indicates whether an object contains another object.

PlaneIntersectionType Indicates whether an object intersects a plane.

Functions
T IT L E DESC RIP T IO N

BoundingBox Creates an instance of the BoundingBox class.

BoundingBox Creates an instance of the BoundingBox class.

BoundingBox Creates an instance of the BoundingBox class.

BoundingBox Creates an instance of the BoundingBox class.

BoundingFrustum Creates an instance of BoundingFrustum.

BoundingFrustum Creates an instance of BoundingFrustum.

BoundingFrustum Creates an instance of BoundingFrustum.

BoundingFrustum Creates an instance of BoundingFrustum.

BoundingFrustum Creates an instance of BoundingFrustum from a left-handed


projection matrix.

BoundingOrientedBox Creates an instance of BoundingOrientedBox.

BoundingOrientedBox Creates an instance of BoundingOrientedBox.


T IT L E DESC RIP T IO N

BoundingOrientedBox Creates an instance of BoundingOrientedBox.

BoundingOrientedBox Creates an instance of BoundingOrientedBox.

BoundingSphere Creates an instance of the BoundingSphere class.

BoundingSphere Creates an instance of the BoundingSphere class.

ContainedBy Tests whether the BoundingBox is contained by the specified


frustum.

ContainedBy Tests whether the BoundingFrustum is contained by the


specified frustum.

ContainedBy Tests whether the BoundingOrientedBox is contained by a


frustum.

ContainedBy Tests whether the BoundingSphere is contained by the


specified frustum.

ContainedBy Tests whether a triangle is contained within six planes (typically


a frustum).

Contains Tests the whether the BoundingBox contains a specified point.

Contains Test whether the BoundingBox contains a specified triangle.

Contains Tests whether the BoundingBox contains a specified


BoundingSphere.

Contains Tests whether the BoundingBox contains another


BoundingBox.

Contains Tests whether the BoundingBox contains the specified


BoundingOrientedBox.

Contains Tests whether the BoundingBox contains the specified


BoundingFrustum.

Contains Tests whether the BoundingFrustum contains the specified


point.

Contains Tests whether the BoundingFrustum contains the specified


triangle.

Contains Tests whether the BoundingFrustum contains the specified


BoundingSphere.

Contains Tests whether the BoundingFrustum contains the specified


BoundingBox.

Contains Tests whether the BoundingFrustum contains the specified


BoundingOrientedBox.
T IT L E DESC RIP T IO N

Contains Tests whether the BoundingFrustum contains the specified


BoundingFrustum.

Contains Tests whether the BoundingOrientedBox contains a triangle.

Contains Tests whether the BoundingOrientedBox contains a


BoundingSphere.

Contains Tests whether the BoundingOrientedBox contains a


BoundingBox.

Contains Tests whether the BoundingOrientedBox contains a


BoundingOrientedBox.

Contains Tests whether the BoundingOrientedBox contains a


BoundingFrustum.

Contains Tests whether the BoundingSphere contains a specified


triangle.

Contains Tests whether the BoundingSphere contains a specified


BoundingSphere.

Contains Tests whether the BoundingSphere contains a specified


BoundingBox.

Contains Tests whether the BoundingSphere contains the specified


BoundingOrientedBox.

Contains Tests whether the BoundingSphere contains the specified


BoundingFrustum.

CreateFromBoundingBox Creates a BoundingOrientedBox from a BoundingBox.

CreateFromBoundingBox Creates a BoundingSphere containing the specified


BoundingBox.

CreateFromBoundingBox Creates a BoundingSphere containing the specified


BoundingBox.

CreateFromMatrix Creates a BoundingFrustum from the specified projection


matrix.

CreateFromPoints Creates a BoundingBox from two points.

CreateFromPoints Creates a BoundingBox from a list of points.

CreateFromPoints Creates a BoundingOrientedBox from a collection of points.

CreateFromPoints Creates a new BoundingSphere from a list of points.

CreateFromSphere Creates a BoundingBox large enough to contain the a


specified BoundingSphere.
T IT L E DESC RIP T IO N

CreateMerged Creates a BoundingBox large enough to contains two specified


BoundBox intances.

CreateMerged Creates a BoundingSphere that contains the two specified


BoundingSphere objects.

GetCorners Retrieves the corners of the BoundingBox.

GetCorners Gets the corners making up the BoundingFrustum.

GetCorners Retrieves the corners of the BoundingOrientedBox.

GetPlanes Gets the planes making up the BoundingFrustum.

Intersects Tests the BoundingBox for intersection with another


BoundingBox.

Intersects Test the BoundingBox for intersection with a


BoundingOrientedBox.

Intersects Test the BoundingBox for intersection with a


BoundingFrustum.

Intersects Test the BoundingBox for intersection with a triangle.

Intersects Test the BoundingBox for intersection with a plane.

Intersects Test the BoundingBox for intersection with a ray.

Intersects Test the BoundingFrustum for intersection with a


BoundingBox.

Intersects Test the BoundingFrustum for intersection with a


BoundingOrientedBox.

Intersects Test the BoundingFrustum for intersection with another


BoundingFrustum.

Intersects Test the BoundingFrustum for intersection with a triangle.

Intersects Test the BoundingFrustum for intersection with a plane.

Intersects Test the BoundingFrustum for intersection with a ray.

Intersects Tests the BoundingOrientedBox for intersection with a


BoundingBox.

Intersects Tests the BoundingOrientedBox for intersection with a


BoundingOrientedBox.

Intersects Tests the BoundingOrientedBox for intersection with a


BoundingFrustum.
T IT L E DESC RIP T IO N

Intersects Tests the BoundingOrientedBox for intersection with a triangle.

Intersects Tests the BoundingOrientedBox for intersection with a plane.

Intersects Tests the BoundingOrientedBox for intersection with a ray.

Intersects Tests the BoundingSphere for intersection with a


BoundingBox.

Intersects Test the BoundingSphere for intersection with a


BoundingOrientedBox.

Intersects Test the BoundingSphere for intersection with a


BoundingFrustum.

Intersects Tests the BoundingSphere for intersection with a triangle.

Intersects Tests the BoundingSphere for intersection with a Plane.

Intersects Tests the BoundingSphere for intersection with a ray.

operator uint16_t Returns an instance of uint16_t containing the components of


the XMU555 instance in a packed format.

operator uint16_t Returns an instance of uint16_t containing the components of


the XMU555instance in a packed format.

operator uint16_t Returns an instance of uint16_t containing the components of


the XMUNIBBLE4 instance in a packed format.

operator uint16_t Returns an instance of uint16_t containing the components of


the XMU555 instance in a packed format.

operator uint16_t Returns an instance of uint16_t containing the components of


the XMU555instance in a packed format.

operator uint16_t Returns an instance of uint16_t containing the components of


the XMUNIBBLE4 instance in a packed format.

operator uint32_t Returns an instance of uint32_t containing the components of


the XMCOLORinstance in a packed format.

operator uint32_t Assigns the vector component data packed in an instance of


uint32_t to the current instance of XMDEC4.

operator uint32_t Returns an instance of uint32_t containing the components of


the XMDECN4instance in a packed format.

operator uint32_t Returns an instance of uint32_t containing the components of


the XMFLOAT3PK instance in a packed format.

operator uint32_t Returns an instance of uint32_t containing the components of


the XMFLOAT3SE instance in a packed format.
T IT L E DESC RIP T IO N

operator uint32_t Returns an instance of uint32_t containing the components of


the XMUDEC4instance in a packed format.

operator uint32_t Returns an instance of uint32_t containing the components of


the XMUDECN4instance in a packed format.

operator uint32_t Returns an instance of uint32_t containing the components of


the XMXDEC4instance in a packed format.

operator uint32_t Returns an instance of uint32_t containing the components of


the XMXDECN4instance in a packed format.

operator uint32_t Returns an instance of uint32_t containing the components of


the XMCOLORinstance in a packed format.

operator uint32_t Assigns the vector component data packed in an instance of


uint32_t to the current instance of XMDEC4.

operator uint32_t Returns an instance of uint32_t containing the components of


the XMDECN4instance in a packed format.

operator uint32_t Returns an instance of uint32_t containing the components of


the XMFLOAT3PK instance in a packed format.

operator uint32_t Returns an instance of uint32_t containing the components of


the XMFLOAT3SE instance in a packed format.

operator uint32_t Returns an instance of uint32_t containing the components of


the XMUDEC4instance in a packed format.

operator uint32_t Returns an instance of uint32_t containing the components of


the XMUDECN4instance in a packed format.

operator uint32_t Returns an instance of uint32_t containing the components of


the XMXDEC4instance in a packed format.

operator uint32_t Returns an instance of uint32_t containing the components of


the XMXDECN4instance in a packed format.

operator() Returns a reference to a matrix element of an instance


XMFLOAT3X3 as specified by row and column arguments.

operator() Returns a reference to a matrix element of an instance


XMFLOAT4X3 as specified by row and column arguments.

operator() Returns a reference to a matrix element of an instance


XMFLOAT4X4 as specified by row and column arguments.

operator() Returns a reference to a matrix element of an instance


XMMATRIX as specified by row and column arguments.

operator* Performs a matrix multiplication of the current instance of


XMMATRIX by another instance of XMMATRIX.
T IT L E DESC RIP T IO N

operator*= Performs a matrix multiplication of the current instance of


XMMATRIX by another instance of XMMATRIX and returns a
reference to the current instance, which has been updated.

operator= Assigns the vector component data from one instance of


XMFLOAT2 to the current instance of XMFLOAT2.

operator= Assigns the vector component data from one instance of


XMFLOAT3 to the current instance of XMFLOAT3.

operator= Assigns the vector component data from one instance of


XMFLOAT3X3 to the current instance of XMFLOAT3X3.

operator= Assigns the vector component data from one instance of


XMFLOAT4 to the current instance of XMFLOAT4.

operator= Assigns the vector component data from one instance of


XMFLOAT4 to the current instance of XMFLOAT4.

operator= Assigns the vector component data from one instance of


XMFLOAT4X3 to the current instance of XMFLOAT4X3.

operator= Assigns the vector component data from one instance of


XMFLOAT4X4 to the current instance of XMFLOAT4X4.

operator= Assigns the vector component data from one instance of


XMINT2 to the current instance of XMINT2.

operator= Assigns the vector component data from one instance of


XMINT3 to the current instance of XMINT3.

operator= Assigns the vector component data from one instance of


XMINT4 to the current instance of XMINT4.

operator= Assigns the matrix data of one instance of XMMATRIX to the


current instance of XMMATRIX and returns a reference to the
current instance.

operator= Assigns the vector component data from one instance of


XMUINT2 to the current instance of XMUINT2.

operator= Assigns the vector component data from one instance of


XMUINT3 to the current instance of XMUINT3.

operator= Assigns the vector component data from one instance of


XMUINT4 to the current instance of XMUINT4.

operator= Assigns the vector component data from one instance of


XMBYTE2 to the current instance of XMBYTE2.

operator= Assigns the vector component data from one instance of


XMBYTEN2 to the current instance of XMBYTEN2.
T IT L E DESC RIP T IO N

operator= Assigns the vector component data from one instance of


XMBYTEN4 to the current instance of XMBYTEN4.

operator= This operator assigns the vector component data from one
instance of XMCOLOR to the current instance of XMCOLOR.

operator= Assigns the vector component data packed in an instance of


uint32_t to the current instance of XMCOLOR.

operator= Assigns the vector component data from one instance of


XMDEC4 to the current instance of XMDEC4.

operator= This operator assigns the vector component data packed in an


instance of uint32_tto the current instance of XMDECN4.

operator= Assigns the vector component data from one instance of


XMFLOAT3PK to the current instance of XMFLOAT3PK.

operator= This operator assigns the vector component data packed in an


instance of uint32_t to the current instance of XMFLOAT3PK.

operator= This operator assigns the vector component data packed in an


instance of uint32_t to the current instance of XMFLOAT3SE.

operator= Assigns the vector component data from one instance of


XMHALF2 to the current instance of XMHALF2.

operator= Assigns the vector component data from one instance of


XMHALF4 to the current instance of XMHALF4.

operator= Assigns the vector component data from one instance of


XMSHORT2 to the current instance of XMSHORT2.

operator= Assigns the vector component data from one instance of


XMSHORT4 to the current instance of XMSHORT4.

operator= Assigns the vector component data from one instance of


XMSHORTN2 to the current instance of XMSHORTN2.

operator= Assigns the vector component data from one instance of


XMSHORTN4 to the current instance of XMSHORTN4.

operator= Assigns the vector component data from one instance of


XMU555 to the current instance of XMU555.

operator= Assigns the vector component data packed in an instance of


uint16_t to the current instance of XMU555.

operator= Assigns the vector component data from one instance of


XMU565 to the current instance of XMU565.

operator= Assigns the vector component data packed in an instance of


uint16_t to the current instance of XMU565.
T IT L E DESC RIP T IO N

operator= Assigns the vector component data from one instance of


XMUBYTE2 to the current instance of XMUBYTE2.

operator= Assigns the vector component data from one instance of


XMUBYTE4 to the current instance of XMUBYTE4.

operator= Assigns the vector component data from one instance of


XMUBYTEN2 to the current instance of XMUBYTEN2.

operator= Assigns the vector component data from one instance of


XMUDECN4 to the current instance of XMUDECN4.

operator= Assigns the vector component data packed in an instance of


uint32_t to the current instance of XMUDECN4.

operator= Assigns the vector component data from one instance of


XMUNIBBLE4 to the current instance of XMUNIBBLE4.

operator= Assigns the vector component data packed in an instance of


uint16_t to the current instance of XMUNIBBLE4.

operator= Assigns the vector component data from one instance of


XMUSHORTN2 to the current instance of XMUSHORTN2.

operator= Assigns the vector component data from one instance of


XMUSHORTN4 to the current instance of XMUSHORTN4.

operator= Assigns the vector component data packed in an instance of


uint32_t to the current instance of XMXDEC4.

operator= Assigns the vector component data from one instance of


XMXDECN4 to the current instance of XMXDECN4.

operator= Assigns the vector component data packed in an instance of


uint32_t to the current instance of XMXDECN4.

operator= Copies values from another BoundingBox.

operator= Copies values from another BoundingFrustum.

operator= Copies values from another BoundingFrustum.

operator= Copies values from another BoundingOrientedBox.

operator= Copies values from another BoundingOrientedBox.

operator= Initializes the BoundingSphere with values from a specified


BoundingSphere.

operator= Initializes the BoundingSphere with values from a specified


BoundingSphere.
T IT L E DESC RIP T IO N

operator= Assigns the vector component data from one instance of


XMBYTE2 to the current instance of XMBYTE2.

operator= Assigns the vector component data from one instance of


XMBYTEN2 to the current instance of XMBYTEN2.

operator= Assigns the vector component data from one instance of


XMBYTEN4 to the current instance of XMBYTEN4.

operator= This operator assigns the vector component data from one
instance of XMCOLOR to the current instance of XMCOLOR.

operator= Assigns the vector component data packed in an instance of


uint32_t to the current instance of XMCOLOR.

operator= Assigns the vector component data from one instance of


XMDEC4 to the current instance of XMDEC4.

operator= This operator assigns the vector component data packed in an


instance of uint32_tto the current instance of XMDECN4.

operator= Assigns the vector component data from one instance of


XMFLOAT3PK to the current instance of XMFLOAT3PK.

operator= This operator assigns the vector component data packed in an


instance of uint32_t to the current instance of XMFLOAT3PK.

operator= This operator assigns the vector component data packed in an


instance of uint32_t to the current instance of XMFLOAT3SE.

operator= Assigns the vector component data from one instance of


XMHALF2 to the current instance of XMHALF2.

operator= Assigns the vector component data from one instance of


XMHALF4 to the current instance of XMHALF4.

operator= Assigns the vector component data from one instance of


XMSHORT2 to the current instance of XMSHORT2.

operator= Assigns the vector component data from one instance of


XMSHORT4 to the current instance of XMSHORT4.

operator= Assigns the vector component data from one instance of


XMSHORTN2 to the current instance of XMSHORTN2.

operator= Assigns the vector component data from one instance of


XMSHORTN4 to the current instance of XMSHORTN4.

operator= Assigns the vector component data from one instance of


XMU555 to the current instance of XMU555.

operator= Assigns the vector component data packed in an instance of


uint16_t to the current instance of XMU555.
T IT L E DESC RIP T IO N

operator= Assigns the vector component data from one instance of


XMU565 to the current instance of XMU565.

operator= Assigns the vector component data packed in an instance of


uint16_t to the current instance of XMU565.

operator= Assigns the vector component data from one instance of


XMUBYTE2 to the current instance of XMUBYTE2.

operator= Assigns the vector component data from one instance of


XMUBYTE4 to the current instance of XMUBYTE4.

operator= Assigns the vector component data from one instance of


XMUBYTEN2 to the current instance of XMUBYTEN2.

operator= Assigns the vector component data from one instance of


XMUDECN4 to the current instance of XMUDECN4.

operator= Assigns the vector component data packed in an instance of


uint32_t to the current instance of XMUDECN4.

operator= Assigns the vector component data from one instance of


XMUNIBBLE4 to the current instance of XMUNIBBLE4.

operator= Assigns the vector component data packed in an instance of


uint16_t to the current instance of XMUNIBBLE4.

operator= Assigns the vector component data from one instance of


XMUSHORTN2 to the current instance of XMUSHORTN2.

operator= Assigns the vector component data from one instance of


XMUSHORTN4 to the current instance of XMUSHORTN4.

operator= Assigns the vector component data packed in an instance of


uint32_t to the current instance of XMXDEC4.

operator= Assigns the vector component data from one instance of


XMXDECN4 to the current instance of XMXDECN4.

operator= Assigns the vector component data packed in an instance of


uint32_t to the current instance of XMXDECN4.

Transform Transforms the BoundingBox.

Transform Transforms the BoundingFrustum using the specified scale,


rotation and translation vectors.

Transform Transforms the BoundingOrientedBox.

Transform Transforms the BoundingSphere using the specified scale,


rotation and translation vectors.

XMBYTE2 Default constructor for XMBYTE2.


T IT L E DESC RIP T IO N

XMBYTE2 A constructor for XMBYTE2.

XMBYTE2 A constructor for XMBYTE2.

XMBYTE2 A constructor for XMBYTE2.

XMBYTE2 Initializes a new instance of XMBYTE2 from XMBYTE2 int8_t


arguments.

XMBYTE2 Initializes a new instance of XMBYTE2 from a two-element


int8_t array argument.

XMBYTE2 Initializes a new instance of XMBYTE2 from two float


arguments.

XMBYTE2 Initializes a new instance of XMBYTE2 from a two-element


float array argument.

XMBYTE2 Default constructor for XMBYTE2.

XMBYTE2 A constructor for XMBYTE2.

XMBYTE2 A constructor for XMBYTE2.

XMBYTE2 A constructor for XMBYTE2.

XMBYTE2 Initializes a new instance of XMBYTE2 from XMBYTE2 int8_t


arguments.

XMBYTE2 Initializes a new instance of XMBYTE2 from a two-element


int8_t array argument.

XMBYTE2 Initializes a new instance of XMBYTE2 from two float


arguments.

XMBYTE2 Initializes a new instance of XMBYTE2 from a two-element


float array argument.

XMBYTE4 Default constructor for XMBYTE4.

XMBYTE4 A constructor for XMBYTE4.

XMBYTE4 A constructor for XMBYTE4.

XMBYTE4 Initializes a new instance of XMBYTE4 from four int8_t


arguments.

XMBYTE4 Initializes a new instance of XMBYTE4 from a uint32_tvariable


containing component data in a packed format.

XMBYTE4 Initializes a new instance of XMBYTE4 from a four element


int8_t array argument.
T IT L E DESC RIP T IO N

XMBYTE4 Initializes a new instance of XMBYTE4 from four float


arguments.

XMBYTE4 Initializes a new instance of XMBYTE4 from a four element


float array argument.

XMBYTE4 Default constructor for XMBYTE4.

XMBYTE4 A constructor for XMBYTE4.

XMBYTE4 A constructor for XMBYTE4.

XMBYTE4 Initializes a new instance of XMBYTE4 from four int8_t


arguments.

XMBYTE4 Initializes a new instance of XMBYTE4 from a uint32_tvariable


containing component data in a packed format.

XMBYTE4 Initializes a new instance of XMBYTE4 from a four element


int8_t array argument.

XMBYTE4 Initializes a new instance of XMBYTE4 from four float


arguments.

XMBYTE4 Initializes a new instance of XMBYTE4 from a four element


float array argument.

XMBYTEN2 Default constructor for XMBYTEN2.

XMBYTEN2 A constructor for XMBYTEN2.

XMBYTEN2 A constructor for XMBYTEN2.

XMBYTEN2 A constructor for XMBYTEN2.

XMBYTEN2 Initializes a new instance of XMBYTEN2 from two int8_t


arguments.

XMBYTEN2 Initializes a new instance of XMBYTEN2 from a two-element


int8_t array argument.

XMBYTEN2 Initializes a new instance of XMBYTEN2 from two float


arguments.

XMBYTEN2 Initializes a new instance of XMBYTEN2 from a two-element


float array argument.

XMBYTEN2 Default constructor for XMBYTEN2.

XMBYTEN2 A constructor for XMBYTEN2.

XMBYTEN2 A constructor for XMBYTEN2.


T IT L E DESC RIP T IO N

XMBYTEN2 A constructor for XMBYTEN2.

XMBYTEN2 Initializes a new instance of XMBYTEN2 from two int8_t


arguments.

XMBYTEN2 Initializes a new instance of XMBYTEN2 from a two-element


int8_t array argument.

XMBYTEN2 Initializes a new instance of XMBYTEN2 from two float


arguments.

XMBYTEN2 Initializes a new instance of XMBYTEN2 from a two-element


float array argument.

XMBYTEN4 Default constructor for XMBYTEN4.

XMBYTEN4 A constructor for XMBYTEN4.

XMBYTEN4 A constructor for XMBYTEN4.

XMBYTEN4 Initializes a new instance of XMBYTEN4 from four int8_t


arguments.

XMBYTEN4 Initializes a new instance of XMBYTEN4 from a


uint32_tvariable containing component data in a packed
format.

XMBYTEN4 Initializes a new instance of XMBYTEN4 from a four element


int8_t array argument.

XMBYTEN4 Initializes a new instance of XMBYTEN4 from four float


arguments.

XMBYTEN4 Initializes a new instance of XMBYTEN4 from a four element


float array argument.

XMBYTEN4 Default constructor for XMBYTEN4.

XMBYTEN4 A constructor for XMBYTEN4.

XMBYTEN4 A constructor for XMBYTEN4.

XMBYTEN4 Initializes a new instance of XMBYTEN4 from four int8_t


arguments.

XMBYTEN4 Initializes a new instance of XMBYTEN4 from a


uint32_tvariable containing component data in a packed
format.

XMBYTEN4 Initializes a new instance of XMBYTEN4 from a four element


int8_t array argument.
T IT L E DESC RIP T IO N

XMBYTEN4 Initializes a new instance of XMBYTEN4 from four float


arguments.

XMBYTEN4 Initializes a new instance of XMBYTEN4 from a four element


float array argument.

XMCOLOR Default constructor for XMCOLOR.

XMCOLOR A constructor for XMCOLOR.

XMCOLOR A constructor for XMCOLOR.

XMCOLOR Initializes a new instance of XMCOLOR from a uint32_t


variable containing component data in a packed format.

XMCOLOR Initializes a new instance of XMCOLOR from four float


arguments.

XMCOLOR Initializes a new instance of XMCOLOR from a four element


float array argument.

XMCOLOR Default constructor for XMCOLOR.

XMCOLOR A constructor for XMCOLOR.

XMCOLOR A constructor for XMCOLOR.

XMCOLOR Initializes a new instance of XMCOLOR from a uint32_t


variable containing component data in a packed format.

XMCOLOR Initializes a new instance of XMCOLOR from four float


arguments.

XMCOLOR Initializes a new instance of XMCOLOR from a four element


float array argument.

XMColorAdjustContrast Adjusts the contrast value of a color.

XMColorAdjustSaturation Adjusts the saturation value of a color.

XMColorEqual Tests for the equality of two colors.

XMColorGreater Tests whether all the components of the first color are greater
than the corresponding components in the second color.

XMColorGreaterOrEqual Tests whether all the components of the first color are greater
than or equal to the corresponding components of the second
color.

XMColorHSLToRGB Converts HSL color values to RGB color values.

XMColorHSVToRGB Converts HSV color values to RGB color values.


T IT L E DESC RIP T IO N

XMColorIsInfinite Tests to see whether any of the components of a color are


either positive or negative infinity.

XMColorIsNaN Tests to see whether any component of a color is not a


number (NaN).

XMColorLess Tests whether all the components of the first color are less
than the corresponding components of the second color.

XMColorLessOrEqual Tests whether all the components of the first color are less
than or equal to the corresponding components of the second
color.

XMColorModulate Blends two colors by multiplying corresponding components


together.

XMColorNegative Determines the negative RGB color value of a color.

XMColorNotEqual Tests to see whether two colors are unequal.

XMColorRGBToHSL Converts RGB color values to HSL color values.

XMColorRGBToHSV Converts RGB color values to HSV color values.

XMColorRGBToSRGB Converts an RGB color vector to sRGB.

XMColorRGBToXYZ Converts RGB color values to XYZ color values.

XMColorRGBToYUV Converts RGB color values to YUV color values.

XMColorRGBToYUV_HD Converts RGB color values to YUV HD color values.

XMColorSRGBToRGB Converts an sRGB color vector to RGB.

XMColorSRGBToXYZ Converts SRGB color values to XYZ color values.

XMColorXYZToRGB Converts XYZ color values to RGB color values.

XMColorXYZToSRGB Converts XYZ color values to SRGB color values.

XMColorYUVToRGB Converts YUV color values to RGB color values.

XMColorYUVToRGB_HD Converts YUV color values to RGB HD color values.

XMComparisonAllFalse Tests the comparison value to determine if all of the compared


components are false.

XMComparisonAllInBounds Tests the comparison value to determine if all of the compared


components are within set bounds.

XMComparisonAllTrue Tests the comparison value to determine if all of the compared


components are true.
T IT L E DESC RIP T IO N

XMComparisonAnyFalse Tests the comparison value to determine if any of the


compared components are false.

XMComparisonAnyOutOfBounds Tests the comparison value to determine if any of the


compared components are outside the set bounds.

XMComparisonAnyTrue Tests the comparison value to determine if any of the


compared components are true.

XMComparisonMixed Tests the comparison value to determine if the compared


components had mixed results--some true and some false.

XMConvertFloatToHalf Converts a single-precision floating-point value to a half-


precision floating-point value.

XMConvertFloatToHalf Converts a single-precision floating-point value to a half-


precision floating-point value.

XMConvertFloatToHalfStream Converts a stream of single-precision floating-point values to


a stream of half-precision floating-point values.

XMConvertFloatToHalfStream Converts a stream of single-precision floating-point values to


a stream of half-precision floating-point values.

XMConvertHalfToFloat Converts a half-precision floating-point value to a single-


precision floating-point value.

XMConvertHalfToFloat Converts a half-precision floating-point value to a single-


precision floating-point value.

XMConvertHalfToFloatStream Converts a stream of half-precision floating-point values to a


stream of single-precision floating-point values.

XMConvertHalfToFloatStream Converts a stream of half-precision floating-point values to a


stream of single-precision floating-point values.

XMConvertToDegrees Converts an angle measured in radians into one measured in


degrees.

XMConvertToRadians Converts an angle measured in degrees into one measured in


radians.

XMConvertVectorFloatToInt Converts an XMVECTOR with float components to an


XMVECTOR with int32_t components and applies a uniform
bias.

XMConvertVectorFloatToUInt Converts an XMVECTOR with float components to an


XMVECTOR with uint32_t components and applies a uniform
bias.

XMConvertVectorIntToFloat Converts an XMVECTOR with int32_t components to an


XMVECTOR with float components and applies a uniform bias.
T IT L E DESC RIP T IO N

XMConvertVectorUIntToFloat Converts an XMVECTOR with uint32_t components to an


XMVECTOR with float components and applies a uniform bias.

XMDEC4 Default constructor for XMDEC4.

XMDEC4 A constructor for XMDEC4.

XMDEC4 A constructor for XMDEC4.

XMDEC4 Initializes a new instance of XMDEC4 from a uint32_t variable


containing component data in a packed format.

XMDEC4 Initializes a new instance of XMDEC4 from four float


arguments.

XMDEC4 Initializes a new instance of XMDEC4 from a four element float


array argument.

XMDEC4 Default constructor for XMDEC4.

XMDEC4 A constructor for XMDEC4.

XMDEC4 A constructor for XMDEC4.

XMDEC4 Initializes a new instance of XMDEC4 from a uint32_t variable


containing component data in a packed format.

XMDEC4 Initializes a new instance of XMDEC4 from four float


arguments.

XMDEC4 Initializes a new instance of XMDEC4 from a four element float


array argument.

XMDECN4 Default constructor for XMDECN4.

XMDECN4 A constructor for XMDECN4.

XMDECN4 A constructor for XMDECN4.

XMDECN4 Initializes a new instance of XMDECN4 from a uint32_t


variable containing component data in a packed format.

XMDECN4 Initializes a new instance of XMDECN4 from four normalized


floatarguments.

XMDECN4 Initializes a new instance of XMDECN4 from a four element


float array argument.

XMDECN4 Default constructor for XMDECN4.

XMDECN4 A constructor for XMDECN4.


T IT L E DESC RIP T IO N

XMDECN4 A constructor for XMDECN4.

XMDECN4 Initializes a new instance of XMDECN4 from a uint32_t


variable containing component data in a packed format.

XMDECN4 Initializes a new instance of XMDECN4 from four normalized


floatarguments.

XMDECN4 Initializes a new instance of XMDECN4 from a four element


float array argument.

XMFLOAT2 Default constructor for XMFLOAT2.

XMFLOAT2 A constructor for XMFLOAT2.

XMFLOAT2 A constructor for XMFLOAT2.

XMFLOAT2 Initializes a new instance of XMFLOAT2 from two float


arguments.

XMFLOAT2 Initializes a new instance of XMFLOAT2 from a two element


float array argument.

XMFLOAT3 Default constructor for XMFLOAT3.

XMFLOAT3 A constructor for XMFLOAT3.

XMFLOAT3 A constructor for XMFLOAT3.

XMFLOAT3 Initializes a new instance of XMFLOAT3 from three float


arguments.

XMFLOAT3 A constructor for XMFLOAT3.

XMFLOAT3A Initializes a new instance of XMFLOAT3 from a three element


float array argument.

XMFLOAT3PK Default constructor for XMFLOAT3PK.

XMFLOAT3PK A constructor for XMFLOAT3PK.

XMFLOAT3PK Assigns the vector component data from one instance of


XMFLOAT3SE to the current instance of XMFLOAT3SE.

XMFLOAT3PK Initializes a new instance of XMFLOAT3PK from a


uint32_tvariable containing component data in a packed
format.

XMFLOAT3PK Initializes a new instance of XMFLOAT3PK from three float


arguments.
T IT L E DESC RIP T IO N

XMFLOAT3PK Initializes a new instance of XMFLOAT3PK from a three


element float array argument.

XMFLOAT3PK Default constructor for XMFLOAT3PK.

XMFLOAT3PK A constructor for XMFLOAT3PK.

XMFLOAT3PK Assigns the vector component data from one instance of


XMFLOAT3SE to the current instance of XMFLOAT3SE.

XMFLOAT3PK Initializes a new instance of XMFLOAT3PK from a


uint32_tvariable containing component data in a packed
format.

XMFLOAT3PK Initializes a new instance of XMFLOAT3PK from three float


arguments.

XMFLOAT3PK Initializes a new instance of XMFLOAT3PK from a three


element float array argument.

XMFLOAT3SE Default constructor for XMFLOAT3SE.

XMFLOAT3SE A constructor for XMFLOAT3SE.

XMFLOAT3SE A constructor for XMFLOAT3SE.

XMFLOAT3SE Initializes a new instance of XMFLOAT3SE from a


uint32_tvariable containing component data in a packed
format.

XMFLOAT3SE Initializes a new instance of XMFLOAT3SE from three float


arguments.

XMFLOAT3SE Initializes a new instance of XMFLOAT3SE from a three


element float array argument.

XMFLOAT3SE Default constructor for XMFLOAT3SE.

XMFLOAT3SE A constructor for XMFLOAT3SE.

XMFLOAT3SE A constructor for XMFLOAT3SE.

XMFLOAT3SE Initializes a new instance of XMFLOAT3SE from a


uint32_tvariable containing component data in a packed
format.

XMFLOAT3SE Initializes a new instance of XMFLOAT3SE from three float


arguments.

XMFLOAT3SE Initializes a new instance of XMFLOAT3SE from a three


element float array argument.

XMFLOAT3X3 Default constructor for XMFLOAT3X3.


T IT L E DESC RIP T IO N

XMFLOAT3X3 Default constructor for XMFLOAT3X3.

XMFLOAT3X3 Default constructor for XMFLOAT3X3.

XMFLOAT3X3 Initializes a new instance of the XMFLOAT3X3 structure from


nine scalar float values.

XMFLOAT3X3 Initializes a new instance of the XMFLOAT3X3 structure from a


nine element float array.

XMFLOAT4 Default constructor for XMFLOAT4.

XMFLOAT4 A constructor for XMFLOAT4.

XMFLOAT4 A constructor for XMFLOAT4.

XMFLOAT4 Initializes a new instance of XMFLOAT4 from four float


arguments.

XMFLOAT4 A constructor for XMFLOAT4.

XMFLOAT4A Initializes a new instance of XMFLOAT4 from a four element


float array argument.

XMFLOAT4X3 Default constructor for XMFLOAT4X3.

XMFLOAT4X3 Default constructor for XMFLOAT4X3.

XMFLOAT4X3 Default constructor for XMFLOAT4X3.

XMFLOAT4X3 Initializes a new instance of the XMFLOAT4X3 structure from


twelve scalar float values.

XMFLOAT4X3 Initializes a new instance of the XMFLOAT4X3 structure from a


twelve element float array.

XMFLOAT4X4 Default constructor for XMFLOAT4X4.

XMFLOAT4X4 Default constructor for XMFLOAT4X4.

XMFLOAT4X4 Default constructor for XMFLOAT4X4.

XMFLOAT4X4 Initializes a new instance of the XMFLOAT4X4 structure from


sixteen scalar float values.

XMFLOAT4X4 Initializes a new instance of the XMFLOAT4X4 structure from a


sixteen element float array.

XMFresnelTerm Calculates the Fresnel term for unpolarized light.

XMHALF2 Default constructor for XMHALF2.


T IT L E DESC RIP T IO N

XMHALF2 A constructor for XMHALF2.

XMHALF2 A constructor for XMHALF2.

XMHALF2 A constructor for XMHALF2.

XMHALF2 Initializes a new instance of XMHALF2 from two HALF


arguments.

XMHALF2 Initializes a new instance of XMHALF2 from a two element


HALF array argument.

XMHALF2 Initializes a new instance of XMHALF2 from two float


arguments.

XMHALF2 Initializes a new instance of XMHALF2 from a two element


float array argument.

XMHALF2 Default constructor for XMHALF2.

XMHALF2 A constructor for XMHALF2.

XMHALF2 A constructor for XMHALF2.

XMHALF2 A constructor for XMHALF2.

XMHALF2 Initializes a new instance of XMHALF2 from two HALF


arguments.

XMHALF2 Initializes a new instance of XMHALF2 from a two element


HALF array argument.

XMHALF2 Initializes a new instance of XMHALF2 from two float


arguments.

XMHALF2 Initializes a new instance of XMHALF2 from a two element


float array argument.

XMHALF4 Default constructor for XMHALF4.

XMHALF4 Default constructor for XMHALF4.

XMHALF4 Default constructor for XMHALF4.

XMHALF4 A constructor for XMHALF4.

XMHALF4 Initializes a new instance of XMHALF4 from four HALF


arguments.

XMHALF4 Initializes a new instance of XMHALF4 from a four element


HALF array argument.
T IT L E DESC RIP T IO N

XMHALF4 Initializes a new instance of XMHALF4 from four float


arguments.

XMHALF4 Initializes a new instance of XMHALF4 from a four element


float array argument.

XMHALF4 Default constructor for XMHALF4.

XMHALF4 Default constructor for XMHALF4.

XMHALF4 Default constructor for XMHALF4.

XMHALF4 A constructor for XMHALF4.

XMHALF4 Initializes a new instance of XMHALF4 from four HALF


arguments.

XMHALF4 Initializes a new instance of XMHALF4 from a four element


HALF array argument.

XMHALF4 Initializes a new instance of XMHALF4 from four float


arguments.

XMHALF4 Initializes a new instance of XMHALF4 from a four element


float array argument.

XMINT2 Default constructor for XMINT2.

XMINT2 A constructor for XMINT2.

XMINT2 A constructor for XMINT2.

XMINT2 Initializes a new instance of XMINT2 from two int32_t


arguments.

XMINT2 Initializes a new instance of XMINT2 from a two element


int32_t2 array argument.

XMINT3 Default constructor for XMINT3.

XMINT3 A constructor for XMINT3.

XMINT3 A constructor for XMINT3.

XMINT3 Initializes a new instance of XMINT3 from three int32_t


arguments.

XMINT3 Initializes a new instance of XMINT3 from a three element


int32_t array argument.

XMINT4 Default constructor for XMINT4.


T IT L E DESC RIP T IO N

XMINT4 A constructor for XMINT4.

XMINT4 A constructor for XMINT4.

XMINT4 Initializes a new instance of XMINT4 from four int32_t


arguments.

XMINT4 Initializes a new instance of XMINT4 from a four element


int32_t array argument.

XMLoadByte2 Loads an XMBYTE2 into an XMVECTOR.

XMLoadByte2 Loads an XMBYTE2 into an XMVECTOR.

XMLoadByte4 Loads an XMBYTE4 into an XMVECTOR.

XMLoadByte4 Loads an XMBYTE4 into an XMVECTOR.

XMLoadByteN2 Loads an XMBYTEN2 into an XMVECTOR.

XMLoadByteN2 Loads an XMBYTEN2 into an XMVECTOR.

XMLoadByteN4 Loads an XMBYTEN4 into an XMVECTOR.

XMLoadByteN4 Loads an XMBYTEN4 into an XMVECTOR.

XMLoadColor Loads an XMCOLOR into an XMVECTOR.

XMLoadColor Loads an XMCOLOR into an XMVECTOR.

XMLoadDec4 Loads an XMDEC4 into an XMVECTOR.

XMLoadDec4 Loads an XMDEC4 into an XMVECTOR.

XMLoadDecN4 Loads an XMDECN4 into an XMVECTOR.

XMLoadDecN4 Loads an XMDECN4 into an XMVECTOR.

XMLoadFloat Loads a floating-point scalar value into an XMVECTOR.

XMLoadFloat2 Loads an XMFLOAT2 into an XMVECTOR.

XMLoadFloat2A Loads an XMFLOAT2A into an XMVECTOR.

XMLoadFloat3 Loads an XMFLOAT3 into an XMVECTOR.

XMLoadFloat3A Loads an XMFLOAT3A into an XMVECTOR.

XMLoadFloat3PK Loads an XMFLOAT3PK into an XMVECTOR.


T IT L E DESC RIP T IO N

XMLoadFloat3PK Loads an XMFLOAT3PK into an XMVECTOR.

XMLoadFloat3SE Loads an XMFLOAT3SE into an XMVECTOR.

XMLoadFloat3SE Loads an XMFLOAT3SE into an XMVECTOR.

XMLoadFloat3x3 Loads an XMFLOAT3X3 into an XMMATRIX.

XMLoadFloat4 Loads an XMFLOAT4 into an XMVECTOR.

XMLoadFloat4A Loads an XMFLOAT4A into an XMVECTOR.

XMLoadFloat4x3 Loads an XMFLOAT4X3 into an XMMATRIX.

XMLoadFloat4x3A Loads an XMFLOAT4X3A into an XMVECTOR.

XMLoadFloat4x4 Loads an XMFLOAT4X4 into an XMMATRIX.

XMLoadFloat4x4A Loads an XMFLOAT4X4A into an XMVECTOR.

XMLoadHalf2 Loads an XMHALF2 into an XMVECTOR.

XMLoadHalf2 Loads an XMHALF2 into an XMVECTOR.

XMLoadHalf4 Loads an XMHALF4 into an XMVECTOR.

XMLoadHalf4 Loads an XMHALF4 into an XMVECTOR.

XMLoadInt Loads a scalar value into an XMVECTOR.

XMLoadInt2 Loads data into the x and y components of an XMVECTOR.

XMLoadInt2A Loads 16-byte aligned data into the x and y components of


an XMVECTOR.

XMLoadInt3 Loads data into the x, y, and z components of an XMVECTOR,


without type checking.

XMLoadInt3A Loads 16-byte aligned data into the x, y, and z components of


an XMVECTOR, without type checking.

XMLoadInt4 Loads data into an XMVECTOR, without type checking.

XMLoadInt4A Loads 16-byte aligned data into an XMVECTOR, without type


checking.

XMLoadShort2 Loads an XMSHORT2 into an XMVECTOR.

XMLoadShort2 Loads an XMSHORT2 into an XMVECTOR.

XMLoadShort4 Loads an XMSHORT4 into an XMVECTOR.


T IT L E DESC RIP T IO N

XMLoadShort4 Loads an XMSHORT4 into an XMVECTOR.

XMLoadShortN2 Loads an XMSHORTN2 into an XMVECTOR.

XMLoadShortN2 Loads an XMSHORTN2 into an XMVECTOR.

XMLoadShortN4 Loads an XMSHORTN4 into an XMVECTOR.

XMLoadShortN4 Loads an XMSHORTN4 into an XMVECTOR.

XMLoadSInt2 Loads signed integer data into the x and y components of an


XMVECTOR.

XMLoadSInt3 Loads signed integer data into the x, y, and z components of


an XMVECTOR.

XMLoadSInt4 Loads signed integer data into an XMVECTOR.

XMLoadU555 Loads an XMU555 into an XMVECTOR.

XMLoadU555 Loads an XMU555 into an XMVECTOR.

XMLoadU565 Loads an XMU565 into an XMVECTOR.

XMLoadU565 Loads an XMU565 into an XMVECTOR.

XMLoadUByte2 Loads an XMUBYTE2 into an XMVECTOR.

XMLoadUByte2 Loads an XMUBYTE2 into an XMVECTOR.

XMLoadUByte4 Loads an XMUBYTE4 into an XMVECTOR.

XMLoadUByte4 Loads an XMUBYTE4 into an XMVECTOR.

XMLoadUByteN2 Loads an XMUBYTEN2 into an XMVECTOR.

XMLoadUByteN2 Loads an XMUBYTEN2 into an XMVECTOR.

XMLoadUByteN4 Loads an XMUBYTEN4 into an XMVECTOR.

XMLoadUByteN4 Loads an XMUBYTEN4 into an XMVECTOR.

XMLoadUDec4 Loads an XMUDEC4 into an XMVECTOR.

XMLoadUDec4 Loads an XMUDEC4 into an XMVECTOR.

XMLoadUDecN4 Loads an XMUDECN4 into an XMVECTOR.

XMLoadUDecN4 Loads an XMUDECN4 into an XMVECTOR.


T IT L E DESC RIP T IO N

XMLoadUDecN4_XR Loads an extended range XMUDECN4 into an XMVECTOR.

XMLoadUDecN4_XR Loads an extended range XMUDECN4 into an XMVECTOR.

XMLoadUInt2 Loads unsigned integer data into the x and y components of


an XMVECTOR.

XMLoadUInt3 Loads unsigned integer data into the x, y, and z components


of an XMVECTOR, without type checking.

XMLoadUInt4 Loads unsigned integer data into an XMVECTOR.

XMLoadUNibble4 Loads an XMUNIBBLE4 into an XMVECTOR.

XMLoadUNibble4 Loads an XMUNIBBLE4 into an XMVECTOR.

XMLoadUShort2 Loads an XMUSHORT2 into an XMVECTOR.

XMLoadUShort2 Loads an XMUSHORT2 into an XMVECTOR.

XMLoadUShort4 Loads an XMUSHORT4 into an XMVECTOR.

XMLoadUShort4 Loads an XMUSHORT4 into an XMVECTOR.

XMLoadUShortN2 Loads an XMUSHORTN2 into an XMVECTOR.

XMLoadUShortN2 Loads an XMUSHORTN2 into an XMVECTOR.

XMLoadUShortN4 Loads an XMUSHORTN4 into an XMVECTOR.

XMLoadUShortN4 Loads an XMUSHORTN4 into an XMVECTOR.

XMLoadXDec4 Loads an XMXDEC4 into an XMVECTOR.

XMLoadXDec4 Loads an XMXDEC4 into an XMVECTOR.

XMLoadXDecN4 Loads an XMXDECN4 into an XMVECTOR.

XMLoadXDecN4 Loads an XMXDECN4 into an XMVECTOR.

XMMATRIX Default constructor for XMMATRIX.

XMMATRIX A constructor for XMMATRIX.

XMMATRIX A constructor for XMMATRIX.

XMMATRIX Initializes a new instance of the XMMATRIX structure from


four instances of XMVECTOR.

XMMATRIX Initializes a new instance of the XMMATRIX structure from


sixteen scalar float values.
T IT L E DESC RIP T IO N

XMMATRIX Initializes a new instance of the XMMATRIX structure from a


sixteen element float array.

XMMatrixAffineTransformation Builds an affine transformation matrix.

XMMatrixAffineTransformation2D Builds a 2D affine transformation matrix in the xy plane.

XMMatrixDecompose Breaks down a general 3D transformation matrix into its


scalar, rotational, and translational components.

XMMatrixDeterminant Computes the determinant of a matrix.

XMMatrixIdentity Builds the identity matrix.

XMMatrixInverse Computes the inverse of a matrix.

XMMatrixIsIdentity Tests whether a matrix is the identity matrix.

XMMatrixIsInfinite Tests whether any of the elements of a matrix are positive or


negative infinity.

XMMatrixIsNaN Tests whether any of the elements of a matrix are NaN.

XMMatrixLookAtLH Builds a view matrix for a left-handed coordinate system using


a camera position, an up direction, and a focal point.

XMMatrixLookAtRH Builds a view matrix for a right-handed coordinate system


using a camera position, an up direction, and a focal point.

XMMatrixLookToLH Builds a view matrix for a left-handed coordinate system using


a camera position, an up direction, and a camera direction.

XMMatrixLookToRH Builds a view matrix for a right-handed coordinate system


using a camera position, an up direction, and a camera
direction.

XMMatrixMultiply Computes the product of two matrices.

XMMatrixMultiplyTranspose Computes the transpose of the product of two matrices.

XMMatrixOrthographicLH Builds an orthogonal projection matrix for a left-handed


coordinate system.

XMMatrixOrthographicOffCenterLH Builds a custom orthogonal projection matrix for a left-handed


coordinate system.

XMMatrixOrthographicOffCenterRH Builds a custom orthogonal projection matrix for a right-


handed coordinate system.

XMMatrixOrthographicRH Builds an orthogonal projection matrix for a right-handed


coordinate system.
T IT L E DESC RIP T IO N

XMMatrixPerspectiveFovLH Builds a left-handed perspective projection matrix based on a


field of view.

XMMatrixPerspectiveFovRH Builds a right-handed perspective projection matrix based on a


field of view.

XMMatrixPerspectiveLH Builds a left-handed perspective projection matrix.

XMMatrixPerspectiveOffCenterLH Builds a custom version of a left-handed perspective


projection matrix.

XMMatrixPerspectiveOffCenterRH Builds a custom version of a right-handed perspective


projection matrix.

XMMatrixPerspectiveRH Builds a right-handed perspective projection matrix.

XMMatrixReflect Builds a transformation matrix designed to reflect vectors


through a given plane.

XMMatrixRotationAxis Builds a matrix that rotates around an arbitrary axis.

XMMatrixRotationNormal Builds a matrix that rotates around an arbitrary normal vector.

XMMatrixRotationQuaternion Builds a rotation matrix from a quaternion.

XMMatrixRotationRollPitchYaw Builds a rotation matrix based on a given pitch, yaw, and roll
(Euler angles).

XMMatrixRotationRollPitchYawFromVector Builds a rotation matrix based on a vector containing the Euler


angles (pitch, yaw, and roll).

XMMatrixRotationX Builds a matrix that rotates around the x-axis.

XMMatrixRotationY Builds a matrix that rotates around the y-axis.

XMMatrixRotationZ Builds a matrix that rotates around the z-axis.

XMMatrixScaling Builds a matrix that scales along the x-axis, y-axis, and z-axis.

XMMatrixScalingFromVector Builds a scaling matrix from a 3D vector.

XMMatrixSet Creates a matrix with float values.

XMMatrixShadow Builds a transformation matrix that flattens geometry into a


plane.

XMMatrixTransformation Builds a transformation matrix.

XMMatrixTransformation2D Builds a 2D transformation matrix in the xy plane.

XMMatrixTranslation Builds a translation matrix from the specified offsets.


T IT L E DESC RIP T IO N

XMMatrixTranslationFromVector Builds a translation matrix from a vector.

XMMatrixTranspose Computes the transpose of a matrix.

XMPlaneDot Calculates the dot product between an input plane and a 4D


vector.

XMPlaneDotCoord Calculates the dot product between an input plane and a 3D


vector.

XMPlaneDotNormal Calculates the dot product between the normal vector of a


plane and a 3D vector.

XMPlaneEqual Determines if two planes are equal.

XMPlaneFromPointNormal Computes the equation of a plane constructed from a point in


the plane and a normal vector.

XMPlaneFromPoints Computes the equation of a plane constructed from three


points in the plane.

XMPlaneIntersectLine Finds the intersection between a plane and a line.

XMPlaneIntersectPlane Finds the intersection of two planes.

XMPlaneIsInfinite Tests whether any of the coefficients of a plane is positive or


negative infinity.

XMPlaneIsNaN Tests whether any of the coefficients of a plane is a NaN.

XMPlaneNearEqual Determines whether two planes are nearly equal.

XMPlaneNormalize Normalizes the coefficients of a plane so that coefficients of x,


y, and z form a unit normal vector.

XMPlaneNormalizeEst Estimates the coefficients of a plane so that coefficients of x, y,


and z form a unit normal vector.

XMPlaneNotEqual Determines if two planes are unequal.

XMPlaneTransform Transforms a plane by a given matrix.

XMPlaneTransformStream Transforms a stream of planes by a given matrix.

XMQuaternionBaryCentric Returns a point in barycentric coordinates, using the specified


quaternions.

XMQuaternionBaryCentricV Returns a point in barycentric coordinates, using the specified


quaternions.

XMQuaternionConjugate Computes the conjugate of a quaternion.


T IT L E DESC RIP T IO N

XMQuaternionDot Computes the dot product of two quaternions.

XMQuaternionEqual Tests whether two quaternions are equal.

XMQuaternionExp Computes the exponential of a given pure quaternion.

XMQuaternionIdentity Returns the identity quaternion.

XMQuaternionInverse Computes the inverse of a quaternion.

XMQuaternionIsIdentity Tests whether a specific quaternion is the identity quaternion.

XMQuaternionIsInfinite Test whether any component of a quaternion is either positive


or negative infinity.

XMQuaternionIsNaN Test whether any component of a quaternion is a NaN.

XMQuaternionLength Computes the magnitude of a quaternion.

XMQuaternionLengthSq Computes the square of the magnitude of a quaternion.

XMQuaternionLn Computes the natural logarithm of a given unit quaternion.

XMQuaternionMultiply Computes the product of two quaternions.

XMQuaternionNormalize Normalizes a quaternion.

XMQuaternionNormalizeEst Estimates the normalized version of a quaternion.

XMQuaternionNotEqual Tests whether two quaternions are not equal.

XMQuaternionReciprocalLength Computes the reciprocal of the magnitude of a quaternion.

XMQuaternionRotationAxis Computes a rotation quaternion about an axis.

XMQuaternionRotationMatrix Computes a rotation quaternion from a rotation matrix.

XMQuaternionRotationNormal Computes the rotation quaternion about a normal vector.

XMQuaternionRotationRollPitchYaw Computes a rotation quaternion based on the pitch, yaw, and


roll (Euler angles).

XMQuaternionRotationRollPitchYawFromVector Computes a rotation quaternion based on a vector containing


the Euler angles (pitch, yaw, and roll).

XMQuaternionSlerp Interpolates between two unit quaternions, using spherical


linear interpolation.

XMQuaternionSlerpV Interpolates between two unit quaternions, using spherical


linear interpolation.
T IT L E DESC RIP T IO N

XMQuaternionSquad Interpolates between four unit quaternions, using spherical


quadrangle interpolation.

XMQuaternionSquadSetup Provides addresses of setup control points for spherical


quadrangle interpolation.

XMQuaternionSquadV Interpolates between four unit quaternions, using spherical


quadrangle interpolation.

XMQuaternionToAxisAngle Computes an axis and angle of rotation about that axis for a
given quaternion.

XMScalarACos Computes the arccosine of a floating-point number.

XMScalarACosEst Estimates the arccosine of a floating-point number.

XMScalarASin Computes the arcsine of a floating-point number.

XMScalarASinEst Estimates the arcsine of a floating-point number.

XMScalarCos Computes the cosine of a radian angle.

XMScalarCosEst Estimates the cosine of a radian angle.

XMScalarModAngle Computes an angle between -XM_PI and XM_PI.

XMScalarNearEqual Determines if two floating-point values are nearly equal.

XMScalarSin Computes the sine of a radian angle.

XMScalarSinCos Computes both the sine and cosine of a radian angle.

XMScalarSinCosEst Estimates both the sine and cosine of a radian angle.

XMScalarSinEst Estimates the sine of a radian angle.

XMSHORT2 Default constructor for XMSHORT2.

XMSHORT2 A constructor for XMSHORT2.

XMSHORT2 A constructor for XMSHORT2.

XMSHORT2 A constructor for XMSHORT2.

XMSHORT2 Initializes a new instance of XMSHORT2 from two int16_t


arguments.

XMSHORT2 Initializes a new instance of XMSHORT2 from a two element


int16_t array argument.
T IT L E DESC RIP T IO N

XMSHORT2 Initializes a new instance of XMSHORT2 from two float


arguments.

XMSHORT2 Initializes a new instance of XMSHORT2 from a two element


float array argument.

XMSHORT2 Default constructor for XMSHORT2.

XMSHORT2 A constructor for XMSHORT2.

XMSHORT2 A constructor for XMSHORT2.

XMSHORT2 A constructor for XMSHORT2.

XMSHORT2 Initializes a new instance of XMSHORT2 from two int16_t


arguments.

XMSHORT2 Initializes a new instance of XMSHORT2 from a two element


int16_t array argument.

XMSHORT2 Initializes a new instance of XMSHORT2 from two float


arguments.

XMSHORT2 Initializes a new instance of XMSHORT2 from a two element


float array argument.

XMSHORT4 Default constructor for XMSHORT4.

XMSHORT4 A constructor for XMSHORT4.

XMSHORT4 A constructor for XMSHORT4.

XMSHORT4 A constructor for XMSHORT4.

XMSHORT4 Initializes a new instance of XMSHORT4 from four int16_t


arguments.

XMSHORT4 Initializes a new instance of XMSHORT4 from a four element


int16_t array argument.

XMSHORT4 Initializes a new instance of XMSHORT4 from four float


arguments.

XMSHORT4 Initializes a new instance of XMSHORT4 from a four element


float array argument.

XMSHORT4 Default constructor for XMSHORT4.

XMSHORT4 A constructor for XMSHORT4.

XMSHORT4 A constructor for XMSHORT4.


T IT L E DESC RIP T IO N

XMSHORT4 A constructor for XMSHORT4.

XMSHORT4 Initializes a new instance of XMSHORT4 from four int16_t


arguments.

XMSHORT4 Initializes a new instance of XMSHORT4 from a four element


int16_t array argument.

XMSHORT4 Initializes a new instance of XMSHORT4 from four float


arguments.

XMSHORT4 Initializes a new instance of XMSHORT4 from a four element


float array argument.

XMSHORTN2 Default constructor for XMSHORTN2.

XMSHORTN2 A constructor for XMSHORTN2.

XMSHORTN2 A constructor for XMSHORTN2.

XMSHORTN2 A constructor for XMSHORTN2.

XMSHORTN2 Initializes a new instance of XMSHORTN2 from two int16_t


arguments.

XMSHORTN2 Initializes a new instance of XMSHORTN2 from a two element


int16_t array argument.

XMSHORTN2 Initializes a new instance of XMSHORTN2 from two normalized


floatarguments.

XMSHORTN2 Initializes a new instance of XMSHORTN2 from a two element


float array argument.

XMSHORTN2 Default constructor for XMSHORTN2.

XMSHORTN2 A constructor for XMSHORTN2.

XMSHORTN2 A constructor for XMSHORTN2.

XMSHORTN2 A constructor for XMSHORTN2.

XMSHORTN2 Initializes a new instance of XMSHORTN2 from two int16_t


arguments.

XMSHORTN2 Initializes a new instance of XMSHORTN2 from a two element


int16_t array argument.

XMSHORTN2 Initializes a new instance of XMSHORTN2 from two normalized


floatarguments.
T IT L E DESC RIP T IO N

XMSHORTN2 Initializes a new instance of XMSHORTN2 from a two element


float array argument.

XMSHORTN4 Default constructor for XMSHORTN4.

XMSHORTN4 A constructor for XMSHORTN4.

XMSHORTN4 A constructor for XMSHORTN4.

XMSHORTN4 A constructor for XMSHORTN4.

XMSHORTN4 Initializes a new instance of XMSHORTN4 from four int16_t


arguments.

XMSHORTN4 Initializes a new instance of XMSHORTN4 from a four element


int16_t array argument.

XMSHORTN4 Initializes a new instance of XMSHORTN4 from four


normalized floatarguments.

XMSHORTN4 Initializes a new instance of XMSHORTN4 from a four element


float array argument.

XMSHORTN4 Default constructor for XMSHORTN4.

XMSHORTN4 A constructor for XMSHORTN4.

XMSHORTN4 A constructor for XMSHORTN4.

XMSHORTN4 A constructor for XMSHORTN4.

XMSHORTN4 Initializes a new instance of XMSHORTN4 from four int16_t


arguments.

XMSHORTN4 Initializes a new instance of XMSHORTN4 from a four element


int16_t array argument.

XMSHORTN4 Initializes a new instance of XMSHORTN4 from four


normalized floatarguments.

XMSHORTN4 Initializes a new instance of XMSHORTN4 from a four element


float array argument.

XMStoreByte2 Stores an XMVECTOR in an XMBYTE2.

XMStoreByte2 Stores an XMVECTOR in an XMBYTE2.

XMStoreByte4 Stores an XMVECTOR in an XMBYTE4.

XMStoreByte4 Stores an XMVECTOR in an XMBYTE4.

XMStoreByteN2 Stores an XMVECTOR in an XMBYTEN2.


T IT L E DESC RIP T IO N

XMStoreByteN2 Stores an XMVECTOR in an XMBYTEN2.

XMStoreByteN4 Stores an XMVECTOR in an XMBYTEN4.

XMStoreByteN4 Stores an XMVECTOR in an XMBYTEN4.

XMStoreColor Stores an XMVECTOR in an XMCOLOR.

XMStoreColor Stores an XMVECTOR in an XMCOLOR.

XMStoreDec4 Stores an XMVECTOR in an XMDEC4.

XMStoreDec4 Stores an XMVECTOR in an XMDEC4.

XMStoreDecN4 Stores an XMVECTOR in an XMDECN4.

XMStoreDecN4 Stores an XMVECTOR in an XMDECN4.

XMStoreFloat Stores an XMVECTOR in a float.

XMStoreFloat2 Stores an XMVECTOR in an XMFLOAT2.

XMStoreFloat2A Stores an XMVECTOR in an XMFLOAT2A.

XMStoreFloat3 Stores an XMVECTOR in an XMFLOAT3.

XMStoreFloat3A Stores an XMVECTOR in an XMFLOAT3A.

XMStoreFloat3PK Stores an XMVECTOR in a XMFLOAT3PK.

XMStoreFloat3PK Stores an XMVECTOR in a XMFLOAT3PK.

XMStoreFloat3SE Stores an XMVECTOR in an XMFLOAT3SE.

XMStoreFloat3SE Stores an XMVECTOR in an XMFLOAT3SE.

XMStoreFloat3x3 Stores an XMMATRIX in an XMFLOAT3X3.

XMStoreFloat4 Stores an XMVECTOR in an XMFLOAT4.

XMStoreFloat4A Stores an XMVECTOR in an XMFLOAT4A.

XMStoreFloat4x3 Stores an XMMATRIX in an XMFLOAT4X3.

XMStoreFloat4x3A Stores an XMVECTOR in an XMFLOAT4X3A.

XMStoreFloat4x4 Stores an XMMATRIX in an XMFLOAT4X4.

XMStoreFloat4x4A Stores an XMVECTOR in an XMFLOAT4X4A.


T IT L E DESC RIP T IO N

XMStoreHalf2 Stores an XMVECTOR in an XMHALF2.

XMStoreHalf2 Stores an XMVECTOR in an XMHALF2.

XMStoreHalf4 Stores an XMVECTOR in an XMHALF4.

XMStoreHalf4 Stores an XMVECTOR in an XMHALF4.

XMStoreInt Stores an XMVECTOR in a uint32_t.

XMStoreInt2 Stores an XMVECTOR in a 2-element uint32_t array.

XMStoreInt2A Stores an XMVECTOR in a 16-byte aligned 2 element uint32_t


array.

XMStoreInt3 Stores an XMVECTOR in a 3-element uint32_t array.

XMStoreInt3A Stores an XMVECTOR in a 16-byte aligned 3 element uint32_t


array.

XMStoreInt4 Stores an XMVECTOR in a 4-element uint32_t array.

XMStoreInt4A Stores an XMVECTOR in a 16-byte aligned 4 element uint32_t


array.

XMStoreShort2 Stores an XMVECTOR in an XMSHORT2.

XMStoreShort2 Stores an XMVECTOR in an XMSHORT2.

XMStoreShort4 Stores an XMVECTOR in an XMSHORT4.

XMStoreShort4 Stores an XMVECTOR in an XMSHORT4.

XMStoreShortN2 Stores an XMVECTOR in an XMSHORTN2.

XMStoreShortN2 Stores an XMVECTOR in an XMSHORTN2.

XMStoreShortN4 Stores an XMVECTOR in an XMSHORTN4.

XMStoreShortN4 Stores an XMVECTOR in an XMSHORTN4.

XMStoreSInt2 Stores signed integer data from an XMVECTOR in an XMINT2


structure.

XMStoreSInt3 Stores signed integer data from an XMVECTOR in an XMINT3


structure.

XMStoreSInt4 Stores signed integer data from an XMVECTOR in an XMINT4


structure.

XMStoreU555 Stores an XMVECTOR in an XMU555.


T IT L E DESC RIP T IO N

XMStoreU555 Stores an XMVECTOR in an XMU555.

XMStoreU565 Stores an XMVECTOR in an XMU565.

XMStoreU565 Stores an XMVECTOR in an XMU565.

XMStoreUByte2 Stores an XMVECTOR in an XMUBYTE2.

XMStoreUByte2 Stores an XMVECTOR in an XMUBYTE2.

XMStoreUByte4 Stores an XMVECTOR in an XMUBYTE4.

XMStoreUByte4 Stores an XMVECTOR in an XMUBYTE4.

XMStoreUByteN2 Stores an XMVECTOR in an XMUBYTEN2.

XMStoreUByteN2 Stores an XMVECTOR in an XMUBYTEN2.

XMStoreUByteN4 Stores an XMVECTOR in an XMUBYTEN4.

XMStoreUByteN4 Stores an XMVECTOR in an XMUBYTEN4.

XMStoreUDec4 Stores an XMVECTOR in an XMUDEC4.

XMStoreUDec4 Stores an XMVECTOR in an XMUDEC4.

XMStoreUDecN4 Stores an XMVECTOR in an XMUDECN4.

XMStoreUDecN4 Stores an XMVECTOR in an XMUDECN4.

XMStoreUDecN4_XR Stores an extended range XMUDECN4 into an XMVECTOR.

XMStoreUDecN4_XR Stores an extended range XMUDECN4 into an XMVECTOR.

XMStoreUInt2 Stores unsigned integer data from an XMVECTOR in an


XMUINT2 structure.

XMStoreUInt3 Stores unsigned integer data from an XMVECTOR in an


XMUINT3 structure.

XMStoreUInt4 Stores unsigned integer data from an XMVECTOR in an


XMUINT4 structure.

XMStoreUNibble4 Stores an XMVECTOR in an XMUNIBBLE4.

XMStoreUNibble4 Stores an XMVECTOR in an XMUNIBBLE4.

XMStoreUShort2 Stores an XMVECTOR in an XMUSHORT2.

XMStoreUShort2 Stores an XMVECTOR in an XMUSHORT2.


T IT L E DESC RIP T IO N

XMStoreUShort4 Stores an XMVECTOR in an XMUSHORT4.

XMStoreUShort4 Stores an XMVECTOR in an XMUSHORT4.

XMStoreUShortN2 Stores an XMVECTOR in an XMUSHORTN2.

XMStoreUShortN2 Stores an XMVECTOR in an XMUSHORTN2.

XMStoreUShortN4 Stores an XMVECTOR in an XMUSHORTN4.

XMStoreUShortN4 Stores an XMVECTOR in an XMUSHORTN4.

XMStoreXDec4 Stores an XMVECTOR in an XMXDEC4.

XMStoreXDec4 Stores an XMVECTOR in an XMXDEC4.

XMStoreXDecN4 Stores an XMVECTOR in an XMXDECN4.

XMStoreXDecN4 Stores an XMVECTOR in an XMXDECN4.

XMU555 Default constructor for XMU555.

XMU555 A constructor for XMU555.

XMU555 A constructor for XMU555.

XMU555 Initializes a new instance of XMU555 from a uint16_t variable


containing component data in a packed format.

XMU555 Initializes a new instance of XMU555 from three int8_t and


one bool arguments.

XMU555 Initializes a new instance of XMU555 from a three element


int8_t array and one bool argument.

XMU555 Initializes a new instance of XMU555 from three float and one
bool arguments.

XMU555 Initializes a new instance of XMU555 from a three element


float array and one bool argument.

XMU555 Default constructor for XMU555.

XMU555 A constructor for XMU555.

XMU555 A constructor for XMU555.

XMU555 Initializes a new instance of XMU555 from a uint16_t variable


containing component data in a packed format.
T IT L E DESC RIP T IO N

XMU555 Initializes a new instance of XMU555 from three int8_t and


one bool arguments.

XMU555 Initializes a new instance of XMU555 from a three element


int8_t array and one bool argument.

XMU555 Initializes a new instance of XMU555 from three float and one
bool arguments.

XMU555 Initializes a new instance of XMU555 from a three element


float array and one bool argument.

XMU565 Default constructor for XMU565.

XMU565 A constructor for XMU565.

XMU565 A constructor for XMU565.

XMU565 Initializes a new instance of XMU565 from a uint16_t variable


containing component data in a packed format.

XMU565 Initializes a new instance of XMU565 from three int8_t


arguments.

XMU565 Initializes a new instance of XMU565 from a three element


int8_t array.

XMU565 Initializes a new instance of XMU565 from three float


arguments.

XMU565 Initializes a new instance of XMU565 from a three element


float array.

XMU565 Default constructor for XMU565.

XMU565 A constructor for XMU565.

XMU565 A constructor for XMU565.

XMU565 Initializes a new instance of XMU565 from a uint16_t variable


containing component data in a packed format.

XMU565 Initializes a new instance of XMU565 from three int8_t


arguments.

XMU565 Initializes a new instance of XMU565 from a three element


int8_t array.

XMU565 Initializes a new instance of XMU565 from three float


arguments.

XMU565 Initializes a new instance of XMU565 from a three element


float array.
T IT L E DESC RIP T IO N

XMUBYTE2 Default constructor for XMUBYTE2.

XMUBYTE2 A constructor for XMUBYTE2.

XMUBYTE2 A constructor for XMUBYTE2.

XMUBYTE2 A constructor for XMUBYTE2.

XMUBYTE2 Initializes a new instance of XMUBYTE2 from two int8_t


arguments.

XMUBYTE2 Initializes a new instance of XMUBYTE2 from a two-element


int8_t array argument.

XMUBYTE2 Initializes a new instance of XMUBYTE2 from two float


arguments.

XMUBYTE2 Initializes a new instance of XMUBYTE2 from a two-element


float array argument.

XMUBYTE2 Default constructor for XMUBYTE2.

XMUBYTE2 A constructor for XMUBYTE2.

XMUBYTE2 A constructor for XMUBYTE2.

XMUBYTE2 A constructor for XMUBYTE2.

XMUBYTE2 Initializes a new instance of XMUBYTE2 from two int8_t


arguments.

XMUBYTE2 Initializes a new instance of XMUBYTE2 from a two-element


int8_t array argument.

XMUBYTE2 Initializes a new instance of XMUBYTE2 from two float


arguments.

XMUBYTE2 Initializes a new instance of XMUBYTE2 from a two-element


float array argument.

XMUBYTE4 Default constructor for XMUBYTE4.

XMUBYTE4 Default constructor for XMUBYTE4.

XMUBYTE4 Default constructor for XMUBYTE4.

XMUBYTE4 Initializes a new instance of XMUBYTE4 from four int8_t


arguments.

XMUBYTE4 Initializes a new instance of XMUBYTE4 from a <Uuint32_t


variable containing component data in a packed format.
T IT L E DESC RIP T IO N

XMUBYTE4 Initializes a new instance of XMUBYTE4 from a four element


float array argument.

XMUBYTE4 Initializes a new instance of XMUBYTE4 from four float


arguments.

XMUBYTE4 Initializes a new instance of XMUBYTE4 from a four element


int8_t array argument.

XMUBYTE4 Default constructor for XMUBYTE4.

XMUBYTE4 Default constructor for XMUBYTE4.

XMUBYTE4 Default constructor for XMUBYTE4.

XMUBYTE4 Initializes a new instance of XMUBYTE4 from four int8_t


arguments.

XMUBYTE4 Initializes a new instance of XMUBYTE4 from a <Uuint32_t


variable containing component data in a packed format.

XMUBYTE4 Initializes a new instance of XMUBYTE4 from a four element


float array argument.

XMUBYTE4 Initializes a new instance of XMUBYTE4 from four float


arguments.

XMUBYTE4 Initializes a new instance of XMUBYTE4 from a four element


int8_t array argument.

XMUBYTEN2 Default constructor for XMUBYTEN2.

XMUBYTEN2 A constructor for XMUBYTEN2.

XMUBYTEN2 A constructor for XMUBYTEN2.

XMUBYTEN2 A constructor for XMUBYTEN2.

XMUBYTEN2 Initializes a new instance of XMUBYTEN2 from two uint8_t


arguments.

XMUBYTEN2 Default constructor for XMUBYTEN2.

XMUBYTEN2 Initializes a new instance of XMUBYTEN2 from two float


arguments.

XMUBYTEN2 Initializes a new instance of XMUBYTEN2 from a two-element


float array argument.

XMUBYTEN2 Default constructor for XMUBYTEN2.

XMUBYTEN2 A constructor for XMUBYTEN2.


T IT L E DESC RIP T IO N

XMUBYTEN2 A constructor for XMUBYTEN2.

XMUBYTEN2 A constructor for XMUBYTEN2.

XMUBYTEN2 Initializes a new instance of XMUBYTEN2 from two uint8_t


arguments.

XMUBYTEN2 Default constructor for XMUBYTEN2.

XMUBYTEN2 Initializes a new instance of XMUBYTEN2 from two float


arguments.

XMUBYTEN2 Initializes a new instance of XMUBYTEN2 from a two-element


float array argument.

XMUBYTEN4 Default constructor for XMUBYTEN4.

XMUBYTEN4 A constructor for XMUBYTEN4.

XMUBYTEN4 Default constructor for XMUBYTEN4.

XMUBYTEN4 Initializes a new instance of XMUBYTEN4 from four uint8_t


arguments.

XMUBYTEN4 Initializes a new instance of XMUBYTEN4 from a


uint32_tvariable containing component data in a packed
format.

XMUBYTEN4 Initializes a new instance of XMUBYTEN4 from a four element


uint8_t array argument.

XMUBYTEN4 Initializes a new instance of XMUBYTEN4 from four float


arguments.

XMUBYTEN4 Initializes a new instance of XMUBYTEN4 from a four element


float array argument.

XMUBYTEN4 Default constructor for XMUBYTEN4.

XMUBYTEN4 A constructor for XMUBYTEN4.

XMUBYTEN4 Default constructor for XMUBYTEN4.

XMUBYTEN4 Initializes a new instance of XMUBYTEN4 from four uint8_t


arguments.

XMUBYTEN4 Initializes a new instance of XMUBYTEN4 from a


uint32_tvariable containing component data in a packed
format.

XMUBYTEN4 Initializes a new instance of XMUBYTEN4 from a four element


uint8_t array argument.
T IT L E DESC RIP T IO N

XMUBYTEN4 Initializes a new instance of XMUBYTEN4 from four float


arguments.

XMUBYTEN4 Initializes a new instance of XMUBYTEN4 from a four element


float array argument.

XMUDEC4 Default constructor for XMUDEC4.

XMUDEC4 A constructor for XMUDEC4.

XMUDEC4 A constructor for XMUDEC4.

XMUDEC4 Initializes a new instance of XMUDEC4 from a uint32_t


variable containing component data in a packed format.

XMUDEC4 Initializes a new instance of XMUDEC4 from four float


arguments.

XMUDEC4 Initializes a new instance of XMUDEC4 from a four element


float array argument.

XMUDEC4 Default constructor for XMUDEC4.

XMUDEC4 A constructor for XMUDEC4.

XMUDEC4 A constructor for XMUDEC4.

XMUDEC4 Initializes a new instance of XMUDEC4 from a uint32_t


variable containing component data in a packed format.

XMUDEC4 Initializes a new instance of XMUDEC4 from four float


arguments.

XMUDEC4 Initializes a new instance of XMUDEC4 from a four element


float array argument.

XMUDECN4 Default constructor for XMUDECN4.

XMUDECN4 A constructor for XMUDECN4.

XMUDECN4 A constructor for XMUDECN4.

XMUDECN4 Initializes a new instance of XMUDECN4 from a uint32_t


variable containing component data in a packed format.

XMUDECN4 This constructor initializes a new instance of XMUDECN4 from


four normalized float arguments.

XMUDECN4 Initializes a new instance of XMUDECN4 from a four element


float array argument.

XMUDECN4 Default constructor for XMUDECN4.


T IT L E DESC RIP T IO N

XMUDECN4 A constructor for XMUDECN4.

XMUDECN4 A constructor for XMUDECN4.

XMUDECN4 Initializes a new instance of XMUDECN4 from a uint32_t


variable containing component data in a packed format.

XMUDECN4 This constructor initializes a new instance of XMUDECN4 from


four normalized float arguments.

XMUDECN4 Initializes a new instance of XMUDECN4 from a four element


float array argument.

XMUINT2 Default constructor for XMUINT2.

XMUINT2 A constructor for XMUINT2.

XMUINT2 A constructor for XMUINT2.

XMUINT2 Initializes a new instance of XMUINT2 from two uint32_t


arguments.

XMUINT2 Initializes a new instance of XMUINT2 from a two element


uint32_t array argument.

XMUINT3 Default constructor for XMUINT3.

XMUINT3 A constructor for XMUINT3.

XMUINT3 A constructor for XMUINT3.

XMUINT3 Initializes a new instance of XMUINT3 from three uint32_t


arguments.

XMUINT3 Initializes a new instance of XMUINT3 from a three element


uint32_t array argument.

XMUINT4 Default constructor for XMUINT4.

XMUINT4 A constructor for XMUINT4.

XMUINT4 A constructor for XMUINT4.

XMUINT4 Initializes a new instance of XMUINT4 from four uint32_t


arguments.

XMUINT4 Initializes a new instance of XMUINT4 from a four element


uint32_t array argument.

XMUNIBBLE4 Default constructor for XMUNIBBLE4.

XMUNIBBLE4 A constructor for XMUNIBBLE4.


T IT L E DESC RIP T IO N

XMUNIBBLE4 A constructor for XMUNIBBLE4.

XMUNIBBLE4 Initializes a new instance of XMUNIBBLE from a uint16_t


variable containing component data in a packed format.

XMUNIBBLE4 Initializes a new instance of XMUNIBBLE4 from four int8_t


arguments.

XMUNIBBLE4 Initializes a new instance of XMUNIBBLE4 from a four element


int8_t array argument.

XMUNIBBLE4 Initializes a new instance of XMUNIBBLE4 from four float


arguments.

XMUNIBBLE4 Initializes a new instance of XMUNIBBLE4 from a four


element float array argument.

XMUNIBBLE4 Default constructor for XMUNIBBLE4.

XMUNIBBLE4 A constructor for XMUNIBBLE4.

XMUNIBBLE4 A constructor for XMUNIBBLE4.

XMUNIBBLE4 Initializes a new instance of XMUNIBBLE from a uint16_t


variable containing component data in a packed format.

XMUNIBBLE4 Initializes a new instance of XMUNIBBLE4 from four int8_t


arguments.

XMUNIBBLE4 Initializes a new instance of XMUNIBBLE4 from a four element


int8_t array argument.

XMUNIBBLE4 Initializes a new instance of XMUNIBBLE4 from four float


arguments.

XMUNIBBLE4 Initializes a new instance of XMUNIBBLE4 from a four


element float array argument.

XMUSHORT2 Default constructor for XMUSHORT2.

XMUSHORT2 A constructor for XMUSHORT2.

XMUSHORT2 A constructor for XMUSHORT2.

XMUSHORT2 A constructor for XMUSHORT2.

XMUSHORT2 Initializes a new instance of XMUSHORT2 from two uint16_t


arguments.

XMUSHORT2 Initializes a new instance of XMUSHORT2 from an array of


uint16_t arguments.
T IT L E DESC RIP T IO N

XMUSHORT2 Initializes a new instance of XMUSHORT2 from two float


arguments.

XMUSHORT2 Initializes a new instance of XMUSHORT2 from a two element


float array argument.

XMUSHORT2 Default constructor for XMUSHORT2.

XMUSHORT2 A constructor for XMUSHORT2.

XMUSHORT2 A constructor for XMUSHORT2.

XMUSHORT2 A constructor for XMUSHORT2.

XMUSHORT2 Initializes a new instance of XMUSHORT2 from two uint16_t


arguments.

XMUSHORT2 Initializes a new instance of XMUSHORT2 from an array of


uint16_t arguments.

XMUSHORT2 Initializes a new instance of XMUSHORT2 from two float


arguments.

XMUSHORT2 Initializes a new instance of XMUSHORT2 from a two element


float array argument.

XMUSHORT4 Default constructor for XMUSHORT4.

XMUSHORT4 A constructor for XMUSHORT4.

XMUSHORT4 A constructor for XMUSHORT4.

XMUSHORT4 A constructor for XMUSHORT4.

XMUSHORT4 Initializes a new instance of XMUSHORT4 from four uint16_t


arguments.

XMUSHORT4 Initializes a new instance of XMUSHORT4 from a four element


uint16_t array argument.

XMUSHORT4 Initializes a new instance of XMUSHORT4 from four float


arguments.

XMUSHORT4 Initializes a new instance of XMUSHORT4 from a four element


float array argument.

XMUSHORT4 Default constructor for XMUSHORT4.

XMUSHORT4 A constructor for XMUSHORT4.

XMUSHORT4 A constructor for XMUSHORT4.


T IT L E DESC RIP T IO N

XMUSHORT4 A constructor for XMUSHORT4.

XMUSHORT4 Initializes a new instance of XMUSHORT4 from four uint16_t


arguments.

XMUSHORT4 Initializes a new instance of XMUSHORT4 from a four element


uint16_t array argument.

XMUSHORT4 Initializes a new instance of XMUSHORT4 from four float


arguments.

XMUSHORT4 Initializes a new instance of XMUSHORT4 from a four element


float array argument.

XMUSHORTN2 Default constructor for XMUSHORTN2.

XMUSHORTN2 A constructor for XMUSHORTN2.

XMUSHORTN2 A constructor for XMUSHORTN2.

XMUSHORTN2 A constructor for XMUSHORTN2.

XMUSHORTN2 Initializes a new instance of XMUSHORTN2 from two uint16_t


arguments.

XMUSHORTN2 Initializes a new instance of XMUSHORTN2 from a two


element uint16_t array argument.

XMUSHORTN2 Initializes a new instance of XMUSHORTN2 from two


normalized floatarguments.

XMUSHORTN2 A constructor for XMUSHORTN2.

XMUSHORTN2 Default constructor for XMUSHORTN2.

XMUSHORTN2 A constructor for XMUSHORTN2.

XMUSHORTN2 A constructor for XMUSHORTN2.

XMUSHORTN2 A constructor for XMUSHORTN2.

XMUSHORTN2 Initializes a new instance of XMUSHORTN2 from two uint16_t


arguments.

XMUSHORTN2 Initializes a new instance of XMUSHORTN2 from a two


element uint16_t array argument.

XMUSHORTN2 Initializes a new instance of XMUSHORTN2 from two


normalized floatarguments.

XMUSHORTN2 A constructor for XMUSHORTN2.


T IT L E DESC RIP T IO N

XMUSHORTN4 Default constructor for XMUSHORTN4.

XMUSHORTN4 A constructor for XMUSHORTN4.

XMUSHORTN4 A constructor for XMUSHORTN4.

XMUSHORTN4 A constructor for XMUSHORTN4.

XMUSHORTN4 Initializes a new instance of XMUSHORTN4 from four uint16_t


arguments.

XMUSHORTN4 Initializes a new instance of XMUSHORTN4 from a four


element uint16_t array argument.

XMUSHORTN4 Initializes a new instance of XMUSHORTN4 from four


normalized floatarguments.

XMUSHORTN4 Initializes a new instance of XMUSHORTN4 from a four


element float array argument.

XMUSHORTN4 Default constructor for XMUSHORTN4.

XMUSHORTN4 A constructor for XMUSHORTN4.

XMUSHORTN4 A constructor for XMUSHORTN4.

XMUSHORTN4 A constructor for XMUSHORTN4.

XMUSHORTN4 Initializes a new instance of XMUSHORTN4 from four uint16_t


arguments.

XMUSHORTN4 Initializes a new instance of XMUSHORTN4 from a four


element uint16_t array argument.

XMUSHORTN4 Initializes a new instance of XMUSHORTN4 from four


normalized floatarguments.

XMUSHORTN4 Initializes a new instance of XMUSHORTN4 from a four


element float array argument.

XMVector2AngleBetweenNormals Computes the radian angle between two normalized 2D


vectors.

XMVector2AngleBetweenNormalsEst Estimates the radian angle between two normalized 2D


vectors.

XMVector2AngleBetweenVectors Computes the radian angle between two 2D vectors.

XMVector2ClampLength Clamps the length of a 2D vector to a given range.

XMVector2ClampLengthV Clamps the length of a 2D vector to a given range.


T IT L E DESC RIP T IO N

XMVector2Cross Computes the 2D cross product.

XMVector2Dot Computes the dot product between 2D vectors.

XMVector2Equal Tests whether two 2D vectors are equal.

XMVector2EqualInt Tests whether two 2D vectors are equal, treating each


component as an unsigned integer.

XMVector2EqualIntR Tests whether two 2D vectors are equal, treating each


component as an unsigned integer. In addition, this function
returns a comparison value that can be examined using
functions such as XMComparisonAllTrue.

XMVector2EqualR Tests whether two 2D vectors are equal. In addition, this


function returns a comparison value that can be examined
using functions such as XMComparisonAllTrue.

XMVector2Greater Tests whether one 2D vector is greater than another 2D


vector.

XMVector2GreaterOrEqual Tests whether one 2D vector is greater-than-or-equal-to


another 2D vector.

XMVector2GreaterOrEqualR Tests whether one 2D vector is greater-than-or-equal-to


another 2D vector and returns a comparison value that can be
examined using functions such as XMComparisonAllTrue.

XMVector2GreaterR Tests whether one 2D vector is greater than another 2D


vector and returns a comparison value that can be examined
using functions such as XMComparisonAllTrue.

XMVector2InBounds Tests whether the components of a 2D vector are within set


bounds.

XMVector2IntersectLine Finds the intersection of two lines.

XMVector2IsInfinite Tests whether any component of a 2D vector is positive or


negative infinity.

XMVector2IsNaN Tests whether any component of a 2D vector is a NaN.

XMVector2Length Computes the length of a 2D vector.

XMVector2LengthEst Estimates the length of a 2D vector.

XMVector2LengthSq Computes the square of the length of a 2D vector.

XMVector2Less Tests whether one 2D vector is less than another 2D vector.

XMVector2LessOrEqual Tests whether one 2D vector is less-than-or-equal-to another


2D vector.
T IT L E DESC RIP T IO N

XMVector2LinePointDistance Computes the minimum distance between a line and a point.

XMVector2NearEqual Tests whether one 2D vector is near another 2D vector.

XMVector2Normalize Returns the normalized version of a 2D vector.

XMVector2NormalizeEst Estimates the normalized version of a 2D vector.

XMVector2NotEqual Tests whether two 2D vectors are not equal.

XMVector2NotEqualInt Test whether two vectors are not equal, treating each
component as an unsigned integer.

XMVector2Orthogonal Computes a vector perpendicular to a 2D vector.

XMVector2ReciprocalLength Computes the reciprocal of the length of a 2D vector.

XMVector2ReciprocalLengthEst Estimates the reciprocal of the length of a 2D vector.

XMVector2Reflect Reflects an incident 2D vector across a 2D normal vector.

XMVector2Refract Refracts an incident 2D vector across a 2D normal vector.

XMVector2RefractV Refracts an incident 2D vector across a 2D normal vector.

XMVector2Transform Transforms a 2D vector by a matrix.

XMVector2TransformCoord Transforms a 2D vector by a given matrix, projecting the result


back into w = 1.

XMVector2TransformCoordStream Transforms a stream of 2D vectors by a given matrix,


projecting the resulting vectors such that their w coordinates
are equal to 1.0.

XMVector2TransformNormal Transforms the 2D vector normal by the given matrix.

XMVector2TransformNormalStream Transforms a stream of 2D normal vectors by a given matrix.

XMVector2TransformStream Transforms a stream of 2D vectors by a given matrix.

XMVector3AngleBetweenNormals Computes the radian angle between two normalized 3D


vectors.

XMVector3AngleBetweenNormalsEst Estimates the radian angle between two normalized 3D


vectors.

XMVector3AngleBetweenVectors Computes the radian angle between two 3D vectors.

XMVector3ClampLength Clamps the length of a 3D vector to a given range.

XMVector3ClampLengthV Clamps the length of a 3D vector to a given range.


T IT L E DESC RIP T IO N

XMVector3ComponentsFromNormal Using a reference normal vector, splits a 3D vector into


components that are parallel and perpendicular to the normal.

XMVector3Cross Computes the cross product between two 3D vectors.

XMVector3Dot Computes the dot product between 3D vectors.

XMVector3Equal Tests whether two 3D vectors are equal.

XMVector3EqualInt Tests whether two 3D vectors are equal, treating each


component as an unsigned integer.

XMVector3EqualIntR Tests whether two 3D vectors are equal, treating each


component as an unsigned integer. In addition, this function
returns a comparison value that can be examined using
functions such as XMComparisonAllTrue.

XMVector3EqualR Tests whether two 3D vectors are equal. In addition, this


function returns a comparison value that can be examined
using functions such as XMComparisonAllTrue.

XMVector3Greater Tests whether one 3D vector is greater than another 3D


vector.

XMVector3GreaterOrEqual Tests whether one 3D vector is greater-than-or-equal-to


another 3D vector.

XMVector3GreaterOrEqualR Tests whether one 3D vector is greater-than-or-equal-to


another 3D vector and returns a comparison value that can be
examined using functions such as XMComparisonAllTrue.

XMVector3GreaterR Tests whether one 3D vector is greater than another 3D


vector and returns a comparison value that can be examined
using functions such as XMComparisonAllTrue.

XMVector3InBounds Tests whether the components of a 3D vector are within set


bounds.

XMVector3InverseRotate Rotates a 3D vector using the inverse of a quaternion.

XMVector3IsInfinite Tests whether any component of a 3D vector is positive or


negative infinity.

XMVector3IsNaN Tests whether any component of a 3D vector is a NaN.

XMVector3Length Computes the length of a 3D vector.

XMVector3LengthEst Estimates the length of a 3D vector.

XMVector3LengthSq Computes the square of the length of a 3D vector.

XMVector3Less Tests whether one 3D vector is less than another 3D vector.


T IT L E DESC RIP T IO N

XMVector3LessOrEqual Tests whether one 3D vector is less-than-or-equal-to another


3D vector.

XMVector3LinePointDistance Computes the minimum distance between a line and a point.

XMVector3NearEqual Tests whether one 3D vector is near another 3D vector.

XMVector3Normalize Returns the normalized version of a 3D vector.

XMVector3NormalizeEst Estimates the normalized version of a 3D vector.

XMVector3NotEqual Tests whether two 3D vectors are not equal.

XMVector3NotEqualInt Test whether two 3D vectors are not equal, treating each
component as an unsigned integer.

XMVector3Orthogonal Computes a vector perpendicular to a 3D vector.

XMVector3Project Project a 3D vector from object space into screen space.

XMVector3ProjectStream Projects a stream of 3D vectors from object space into screen


space.

XMVector3ReciprocalLength Computes the reciprocal of the length of a 3D vector.

XMVector3ReciprocalLengthEst Estimates the reciprocal of the length of a 3D vector.

XMVector3Reflect Reflects an incident 3D vector across a 3D normal vector.

XMVector3Refract Refracts an incident 3D vector across a 3D normal vector.

XMVector3RefractV Refracts an incident 3D vector across a 3D normal vector.

XMVector3Rotate Rotates a 3D vector using a quaternion.

XMVector3Transform Transforms a 3D vector by a matrix.

XMVector3TransformCoord Transforms a 3D vector by a given matrix, projecting the result


back into w = 1.

XMVector3TransformCoordStream Transforms a stream of 3D vectors by a given matrix,


projecting the resulting vectors such that their w coordinates
are equal to 1.0.

XMVector3TransformNormal Transforms the 3D vector normal by the given matrix.

XMVector3TransformNormalStream Transforms a stream of 3D normal vectors by a given matrix.

XMVector3TransformStream Transforms a stream of 3D vectors by a given matrix.

XMVector3Unproject Projects a 3D vector from screen space into object space.


T IT L E DESC RIP T IO N

XMVector3UnprojectStream Transforms a stream of 3D vectors from screen space to object


space.

XMVector4AngleBetweenNormals Compute the radian angle between two normalized 4D


vectors.

XMVector4AngleBetweenNormalsEst Estimates the radian angle between two normalized 4D


vectors.

XMVector4AngleBetweenVectors Compute the radian angle between two 4D vectors.

XMVector4ClampLength Clamps the length of a 4D vector to a given range.

XMVector4ClampLengthV Clamps the length of a 4D vector to a given range.

XMVector4Cross Computes the 4D cross product.

XMVector4Dot Computes the dot product between 4D vectors.

XMVector4Equal Tests whether two 4D vectors are equal.

XMVector4EqualInt Tests whether two 4D vectors are equal, treating each


component as an unsigned integer.

XMVector4EqualIntR Tests whether two 4D vectors are equal, treating each


component as an unsigned integer. In addition, this function
returns a comparison value that can be examined using
functions such as XMComparisonAllTrue.

XMVector4EqualR Tests whether two 4D vectors are equal. In addition, this


function returns a comparison value that can be examined
using functions such as XMComparisonAllTrue.

XMVector4Greater Tests whether one 4D vector is greater than another 4D


vector.

XMVector4GreaterOrEqual Tests whether one 4D vector is greater-than-or-equal-to


another 4D vector.

XMVector4GreaterOrEqualR Tests whether one 4D vector is greater-than-or-equal-to


another 4D vector and returns a comparison value that can be
examined using functions such as XMComparisonAllTrue.

XMVector4GreaterR Tests whether one 4D vector is greater than another 4D


vector and returns a comparison value that can be examined
using functions such as XMComparisonAllTrue.

XMVector4InBounds Tests whether the components of a 4D vector are within set


bounds.

XMVector4IsInfinite Tests whether any component of a 4D vector is positive or


negative infinity.
T IT L E DESC RIP T IO N

XMVector4IsNaN Tests whether any component of a 4D vector is a NaN.

XMVector4Length Computes the length of a 4D vector.

XMVector4LengthEst Estimates the length of a 4D vector.

XMVector4LengthSq Computes the square of the length of a 4D vector.

XMVector4Less Tests whether one 4D vector is less than another 4D vector.

XMVector4LessOrEqual Tests whether one 4D vector is less-than-or-equal-to another


4D vector.

XMVector4NearEqual Tests whether one 4D vector is near another 4D vector.

XMVector4Normalize Returns the normalized version of a 4D vector.

XMVector4NormalizeEst Estimates the normalized version of a 4D vector.

XMVector4NotEqual Tests whether two 4D vectors are not equal.

XMVector4NotEqualInt Test whether two 4D vectors are not equal, treating each
component as an unsigned integer.

XMVector4Orthogonal Computes a vector perpendicular to a 4D vector.

XMVector4ReciprocalLength Computes the reciprocal of the length of a 4D vector.

XMVector4ReciprocalLengthEst Estimates the reciprocal of the length of a 4D vector.

XMVector4Reflect Reflects an incident 4D vector across a 4D normal vector.

XMVector4Refract Refracts an incident 4D vector across a 4D normal vector.

XMVector4RefractV Refracts an incident 4D vector across a 4D normal vector.

XMVector4Transform Transforms a 4D vector by a matrix.

XMVector4TransformStream Transforms a stream of 4D vectors by a given matrix.

XMVectorAbs Computes the absolute value of each component of an


XMVECTOR.

XMVectorACos Computes the arccosine of each component of an XMVECTOR.

XMVectorACosEst Estimates the arccosine of each component of an XMVECTOR.

XMVectorAdd Computes the sum of two vectors.

XMVectorAddAngles Adds two vectors representing angles.


T IT L E DESC RIP T IO N

XMVectorAndCInt Computes the logical AND of one vector with the negation of
a second vector, treating each component as an unsigned
integer.

XMVectorAndInt Computes the logical AND of two vectors, treating each


component as an unsigned integer.

XMVectorASin Computes the arcsine of each component of an XMVECTOR.

XMVectorASinEst Estimates the arcsine of each component of an XMVECTOR.

XMVectorATan Computes the arctangent of each component of an


XMVECTOR.

XMVectorATan2 Computes the arctangent of Y/X.

XMVectorATan2Est Estimates the arctangent of Y/X.

XMVectorATanEst Estimates the arctangent of each component of an


XMVECTOR.

XMVectorBaryCentric Returns a point in Barycentric coordinates, using the specified


position vectors.

XMVectorBaryCentricV Returns a point in Barycentric coordinates, using the specified


position vectors.

XMVectorCatmullRom Performs a Catmull-Rom interpolation, using the specified


position vectors.

XMVectorCatmullRomV Performs a Catmull-Rom interpolation, using the specified


position vectors.

XMVectorCeiling Computes the ceiling of each component of an XMVECTOR.

XMVectorClamp Clamps the components of a vector to a specified minimum


and maximum range.

XMVectorCos Computes the cosine of each component of an XMVECTOR.

XMVectorCosEst Estimates the cosine of each component of an XMVECTOR.

XMVectorCosH Computes the hyperbolic cosine of each component of an


XMVECTOR.

XMVectorDivide Divides one instance of XMVECTOR by a second instance,


returning the result in a third instance.

XMVectorEqual Performs a per-component test for equality of two vectors.

XMVectorEqualInt Performs a per-component test for the equality of two vectors,


treating each component as an unsigned integer.
T IT L E DESC RIP T IO N

XMVectorEqualIntR Performs a per-component test for equality of two vectors,


treating each component as an unsigned integer. In addition,
this function sets a comparison value that can be examined
using functions such as XMComparisonAllTrue.

XMVectorEqualR Performs a per-component test for equality of two vectors and


sets a comparison value that can be examined using functions
such as XMComparisonAllTrue.

XMVectorExp Computes two raised to the power for each


component.Note This function is a compatibility alias for
XMVectorExp2 for existing Windows 8 code. This function is
deprecated for Windows 8.1. Don't use it and instead use
XMVectorExp2 or XMVectorExpE. .

XMVectorExp2 Computes two raised to the power for each component.

XMVectorExpE Computes e (~2.71828) raised to the power for each


component.

XMVectorFalseInt Returns the zero (false) vector.

XMVectorFloor Computes the floor of each component of an XMVECTOR.

XMVectorGetByIndex Retrieve the value of one of the four components of an


XMVECTOR Data Type containing floating-point data by index.

XMVectorGetByIndexPtr Retrieve, into an instance of a floating-point referenced by


pointer, the value of one of the four components of an
XMVECTOR Data Type containing floating-point data,
referenced by index.

XMVectorGetIntByIndex Retrieve the value of one of the four components of an


XMVECTOR Data Type containing integer data by index.

XMVectorGetIntByIndexPtr Retrieve, into an instance of an integer referenced by pointer,


the value of one of the four components of an XMVECTOR
Data Type containing integer data by index.

XMVectorGetIntW Retrieve the w component of an XMVECTOR Data Type.

XMVectorGetIntWPtr Retrieves the w component of an XMVECTOR Data Type


containing integer data, and stores that component's value in
an instance of uint32_t referred to by a pointer.

XMVectorGetIntX Retrieve the x component of an XMVECTOR Data Type.

XMVectorGetIntXPtr Retrieves the x component of an XMVECTOR Data Type


containing integer data, and stores that component's value in
an instance of uint32_t referred to by a pointer.

XMVectorGetIntY Retrieve the y component of an XMVECTOR Data Type.


T IT L E DESC RIP T IO N

XMVectorGetIntYPtr Retrieves the y component of an XMVECTOR Data Type


containing integer data, and stores that component's value in
an instance of uint32_t referred to by a pointer.

XMVectorGetIntZ Retrieve the z component of an XMVECTOR Data Type.

XMVectorGetIntZPtr Retrieves the z component of an XMVECTOR Data Type


containing integer data, and stores that component's value in
an instance of uint32_t referred to by a pointer.

XMVectorGetW Retrieve the w component of an XMVECTOR Data Type.

XMVectorGetWPtr Retrieve the w component of an XMVECTOR Data Type


containing floating-point data, and storing that component's
value in an instance of float referred to by a pointer.

XMVectorGetX Retrieve the x component of an XMVECTOR Data Type.

XMVectorGetXPtr Retrieve the x component of an XMVECTOR Data Type


containing floating-point data, and storing that component's
value in an instance of float referred to by a pointer.

XMVectorGetY Retrieve the y component of an XMVECTOR Data Type.

XMVectorGetYPtr Retrieve the y component of an XMVECTOR Data Type


containing floating-point data, and storing that component's
value in an instance of float referred to by a pointer.

XMVectorGetZ Retrieve the z component of an XMVECTOR Data Type.

XMVectorGetZPtr Retrieve the z component of an XMVECTOR Data Type


containing floating-point data, and storing that component's
value in an instance of float referred to by a pointer.

XMVectorGreater Performs a per-component test for greater-than between two


vectors.

XMVectorGreaterOrEqual Performs a per-component test for greater-than-or-equal


between two vectors.

XMVectorGreaterOrEqualR Performs a per-component test for greater-than-or-equal


between two vectors and sets a comparison value that can be
examined using functions such as XMComparisonAllTrue.

XMVectorGreaterR Performs a per-component test for greater-than between two


vectors and sets a comparison value that can be examined
using functions such as XMComparisonAllTrue.

XMVectorHermite Performs a Hermite spline interpolation, using the specified


vectors.

XMVectorHermiteV Performs a Hermite spline interpolation, using the specified


vectors.
T IT L E DESC RIP T IO N

XMVectorInBounds Tests whether the components of a given vector are within set
bounds.

XMVectorInBoundsR Tests whether the components of a given vector are within


certain bounds and sets a comparison value that can be
examined using functions such as XMComparisonAllTrue.

XMVectorInsert Rotates a vector left by a given number of 32-bit components


and insert selected elements of that result into another vector.

XMVectorIsInfinite Performs a per-component test for +/- infinity on a vector.

XMVectorIsNaN Performs a per-component NaN test on a vector.

XMVectorLerp Performs a linear interpolation between two vectors.

XMVectorLerpV Performs a linear interpolation between two vectors.

XMVectorLess Performs a per-component test for less-than between two


vectors.

XMVectorLessOrEqual Performs a per-component test for less-than-or-equal


between two vectors.

XMVectorLog Computes the base two logarithm of each component of a


vector.Note This function is a compatibility alias for
XMVectorLog2 for existing Windows 8 code.

XMVectorLog2 Computes the base two logarithm of each component of a


vector.

XMVectorLogE Computes the base e logarithm of each component of a


vector.

XMVectorMax Makes a per-component comparison between two vectors,


and returns a vector containing the largest components.

XMVectorMergeXY Creates a new vector by combining the x and y-components


of two vectors.

XMVectorMergeZW Creates a new vector by combining the z and w-components


of two vectors.

XMVectorMin Makes a per-component comparison between two vectors,


and returns a vector containing the smallest components.

XMVectorMod Computes the per-component floating-point remainder of the


quotient of two vectors.

XMVectorModAngles Computes the per-component angle modulo 2PI.

XMVectorMultiply Computes the per-component product of two vectors.


T IT L E DESC RIP T IO N

XMVectorMultiplyAdd Computes the product of the first two vectors added to the
third vector.

XMVectorNearEqual Performs a per-component test for equality of two vectors


within a given threshold.

XMVectorNegate Computes the negation of a vector.

XMVectorNegativeMultiplySubtract Computes the difference of a third vector and the product of


the first two vectors.

XMVectorNorInt Computes the logical NOR of two vectors, treating each


component as an unsigned integer.

XMVectorNotEqual Performs a per-component test for the inequality of two


vectors.

XMVectorNotEqualInt Performs a per-component test for the inequality of two


vectors, treating each component as an unsigned integer.

XMVectorOrInt Computes the logical OR of two vectors, treating each


component as an unsigned integer.

XMVectorPermute Permutes the components of two vectors to create a new


vector.

XMVectorPow Computes V1 raised to the power of V2.

XMVectorReciprocal Computes the per-component reciprocal of a vector.

XMVectorReciprocalEst Estimates the per-component reciprocal of a vector.

XMVectorReciprocalSqrt Computes the per-component reciprocal square root of a


vector.

XMVectorReciprocalSqrtEst Estimates the per-component reciprocal square root of a


vector.

XMVectorReplicate Replicates a floating-point value into all four components of a


vector.

XMVectorReplicateInt Replicates an integer value into all four components of a


vector.

XMVectorReplicateIntPtr Replicates an integer value referenced by a pointer, into all


four components of a vector.

XMVectorReplicatePtr Replicates a floating-point value referenced by pointer into all


four components of a vector.

XMVectorRotateLeft Rotates the vector left by a given number of 32-bit elements.


T IT L E DESC RIP T IO N

XMVectorRotateRight Rotates the vector right by a given number of 32-bit


elements.

XMVectorRound Rounds each component of a vector to the nearest even


integer (known as "Bankers Rounding").

XMVectorSaturate Saturates each component of a vector to the range 0.0f to


1.0f.

XMVectorScale Scalar multiplies a vector by a floating-point value.

XMVectorSelect Performs a per-component selection between two input


vectors and returns the resulting vector.

XMVectorSelectControl Defines a control vector for use in XMVectorSelect.

XMVectorSet Creates a vector using four floating-point values.

XMVectorSetBinaryConstant Creates a vector, each of whose components is either 0.0f or


1.0f.

XMVectorSetByIndex Use a floating-point object to set the value of one of the four
components of an XMVECTOR Data Type containing integer
data referenced by an index.

XMVectorSetByIndexPtr Use a pointer to a floating-point instance to set the value of


one of the four components of an XMVECTOR Data Type
containing floating-point data referenced by an index.

XMVectorSetInt Creates a vector with unsigned integer components.

XMVectorSetIntByIndex Use an integer instance to set the value of one of the four
components of an XMVECTOR Data Type containing integer
data referenced by an index.

XMVectorSetIntByIndexPtr Use a pointer to an integer instance to set the value of one of


the four components of an XMVECTOR Data Typecontaining
integer data referenced by an index.

XMVectorSetIntW Set the value of the w component of an XMVECTOR Data


Type.

XMVectorSetIntWPtr Sets the w component of an XMVECTOR containing integer


data, with a value contained in an instance of uint32_t referred
to by a pointer.

XMVectorSetIntX Set the value of the x component of an XMVECTOR Data Type.

XMVectorSetIntXPtr Sets the x component of an XMVECTOR containing integer


data, with a value contained in an instance of uint32_t referred
to by a pointer.

XMVectorSetIntY Set the value of the y component of an XMVECTOR Data Type.


T IT L E DESC RIP T IO N

XMVectorSetIntYPtr Sets the y component of an XMVECTOR containing integer


data, with a value contained in an instance of uint32_t referred
to by a pointer.

XMVectorSetIntZ Set the value of the z component of an XMVECTOR Data Type.

XMVectorSetIntZPtr Sets the z component of an XMVECTOR containing integer


data, with a value contained in an instance of uint32_t referred
to by a pointer.

XMVectorSetW Set the value of the w component of an XMVECTOR Data


Type.

XMVectorSetWPtr Sets the w component of an XMVECTOR containing floating-


point data, with a value contained in an instance of float
referred to by a pointer.

XMVectorSetX Set the value of the x component of an XMVECTOR Data Type.

XMVectorSetXPtr Sets the x component of an XMVECTOR containing floating-


point data, with a value contained in an instance of float
referred to by a pointer.

XMVectorSetY Set the value of the y component of an XMVECTOR Data Type.

XMVectorSetYPtr Sets the y component of an XMVECTOR containing floating-


point data, with a value contained in an instance of float
referred to by a pointer.

XMVectorSetZ Set the value of the z component of an XMVECTOR Data Type.

XMVectorSetZPtr Sets the z component of an XMVECTOR containing floating-


point data, with a value contained in an instance of float
referred to by a pointer.

XMVectorShiftLeft Shifts a vector left by a given number of 32-bit elements,


filling the vacated elements with elements from a second
vector.

XMVectorSin Computes the sine of each component of an XMVECTOR.

XMVectorSinCos Computes the sine and cosine of each component of an


XMVECTOR.

XMVectorSinCosEst Estimates the sine and cosine of each component of an


XMVECTOR.

XMVectorSinEst Estimates the sine of each component of an XMVECTOR.

XMVectorSinH Computes the hyperbolic sine of each component of an


XMVECTOR.
T IT L E DESC RIP T IO N

XMVectorSplatConstant Creates a vector with identical floating-point components.


Each component is a constant divided by two raised to an
integer exponent.

XMVectorSplatConstantInt Creates a vector with identical integer components.

XMVectorSplatEpsilon Returns a vector, each of whose components are epsilon


(1.192092896e-7).

XMVectorSplatInfinity Returns a vector, each of whose components are infinity


(0x7F800000).

XMVectorSplatOne Returns a vector, each of whose components are one.

XMVectorSplatQNaN Returns a vector, each of whose components are QNaN


(0x7CF00000).

XMVectorSplatSignMask Returns a vector, each of whose components are the sign


mask (0x80000000).

XMVectorSplatW Replicates the w component of a vector to all of the


components.

XMVectorSplatX Replicates the x component of a vector to all of the


components.

XMVectorSplatY Replicates the y component of a vector to all of the


components.

XMVectorSplatZ Replicates the z component of a vector to all of the


components.

XMVectorSqrt Computes the per-component square root of a vector.

XMVectorSqrtEst Estimates the per-component square root of a vector.

XMVectorSubtract Computes the difference of two vectors.

XMVectorSubtractAngles Subtracts two vectors representing angles.

XMVectorSum Computes the horizontal sum of the components of an


XMVECTOR. The horizontal sum is the result of adding each
component in the vector together.

XMVectorSwizzle Swizzles a vector.

XMVectorTan Computes the tangent of each component of an XMVECTOR.

XMVectorTanEst Estimates the tangent of each component of an XMVECTOR.

XMVectorTanH Computes the hyperbolic tangent of each component of an


XMVECTOR.
T IT L E DESC RIP T IO N

XMVectorTrueInt Returns a vector, each of whose components represents true


(0xFFFFFFFF).

XMVectorTruncate Rounds each component of a vector to the nearest integer


value in the direction of zero.

XMVectorXorInt Computes the logical XOR of two vectors, treating each


component as an unsigned integer.

XMVectorZero Creates the zero vector.

XMVerifyCPUSupport Indicates if the DirectXMath Library supports the current


platform.

XMXDEC4 Default constructor for XMXDEC4.

XMXDEC4 A constructor for XMXDEC4.

XMXDEC4 A constructor for XMXDEC4.

XMXDEC4 Initializes a new instance of XMXDEC4 from a uint32_t6


variable containing component data in a packed format.

XMXDEC4 Initializes a new instance of XMXDEC4 from four float


arguments.

XMXDEC4 Initializes a new instance of XMXDEC4 from a four element


float array argument.

XMXDEC4 Default constructor for XMXDEC4.

XMXDEC4 A constructor for XMXDEC4.

XMXDEC4 A constructor for XMXDEC4.

XMXDEC4 Initializes a new instance of XMXDEC4 from a uint32_t6


variable containing component data in a packed format.

XMXDEC4 Initializes a new instance of XMXDEC4 from four float


arguments.

XMXDEC4 Initializes a new instance of XMXDEC4 from a four element


float array argument.

XMXDECN4 Default constructor for XMXDECN4.

XMXDECN4 A constructor for XMXDECN4.

XMXDECN4 A constructor for XMXDECN4.

XMXDECN4 Initializes a new instance of XMXDECN4 from a uint32_t


variable containing component data in a packed format.
T IT L E DESC RIP T IO N

XMXDECN4 Initializes a new instance of XMXDECN4 from four normalized


floatarguments.

XMXDECN4 Initializes a new instance of XMXDECN4 from a four element


float array argument.

XMXDECN4 Default constructor for XMXDECN4.

XMXDECN4 A constructor for XMXDECN4.

XMXDECN4 A constructor for XMXDECN4.

XMXDECN4 Initializes a new instance of XMXDECN4 from a uint32_t


variable containing component data in a packed format.

XMXDECN4 Initializes a new instance of XMXDECN4 from four normalized


floatarguments.

XMXDECN4 Initializes a new instance of XMXDECN4 from a four element


float array argument.

Structures
T IT L E DESC RIP T IO N

BoundingBox A bounding axis-aligned object.

BoundingFrustum A bounding frustum object.

BoundingOrientedBox An oriented bounding box object.

BoundingSphere A bounding sphere object.

XMBYTE2 A 2D vector where each component is a signed integer, 8-bits


(1 byte) in length.

XMBYTE2 A 2D vector where each component is a signed integer, 8-bits


(1 byte) in length.

XMBYTE4 A 4D vector where each component is a signed integer, 8-bits


(1 byte) in length.

XMBYTE4 A 4D vector where each component is a signed integer, 8-bits


(1 byte) in length.

XMBYTEN2 A 2D vector for storing signed, normalized values as signed 8-


bits (1 byte) integers.

XMBYTEN2 A 2D vector for storing signed, normalized values as signed 8-


bits (1 byte) integers.
T IT L E DESC RIP T IO N

XMBYTEN4 A 3D vector for storing signed, normalized values as signed 8-


bits (1 byte) integers.

XMBYTEN4 A 3D vector for storing signed, normalized values as signed 8-


bits (1 byte) integers.

XMCOLOR A 32-bit Alpha Red Green Blue (ARGB) color vector, where
each color channel is specified as an unsigned 8 bit integer.

XMCOLOR A 32-bit Alpha Red Green Blue (ARGB) color vector, where
each color channel is specified as an unsigned 8 bit integer.

XMDEC4 A 4D vector with x-,y-, and z- components represented as 10


bit signed integer values, and the w-component as a 2 bit
signed integer value.

XMDEC4 A 4D vector with x-,y-, and z- components represented as 10


bit signed integer values, and the w-component as a 2 bit
signed integer value.

XMDECN4 A 4D vector for storing signed, normalized values as 10 bit


signed x-,y-, and z- components and a 2 bit signed w-
component.

XMDECN4 A 4D vector for storing signed, normalized values as 10 bit


signed x-,y-, and z- components and a 2 bit signed w-
component.

XMFLOAT2 A 2D vector consisting of two single-precision floating-point


values.

XMFLOAT3 Describes a 3D vector consisting of three single-precision


floating-point values.

XMFLOAT3PK Describes a 3D vector with X and Y components stored as 11


bit floating point number, and Z component stored as a 10 bit
floating-point value.

XMFLOAT3PK Describes a 3D vector with X and Y components stored as 11


bit floating point number, and Z component stored as a 10 bit
floating-point value.

XMFLOAT3SE Describes a 3D vector of three floating-point components


with 9 bit mantissas, each sharing the same 5-bit exponent.

XMFLOAT3SE Describes a 3D vector of three floating-point components


with 9 bit mantissas, each sharing the same 5-bit exponent.

XMFLOAT3X3 A 3*3 floating point matrix.

XMFLOAT4 Describes a 4D vector consisting of four single-precision


floating-point values.

XMFLOAT4X3 A 4*3 floating point matrix.


T IT L E DESC RIP T IO N

XMFLOAT4X4 A 4*4 floating point matrix.

XMHALF2 A 2D vector consisting of two half-precision (16bit) floating-


point values.

XMHALF2 A 2D vector consisting of two half-precision (16bit) floating-


point values.

XMHALF4 Describes a 4D vector consisting of four half-precision (16-bit)


floating-point values.

XMHALF4 Describes a 4D vector consisting of four half-precision (16-bit)


floating-point values.

XMINT2 A 2D vector where each component is a signed integer.

XMINT3 A 3D vector where each component is a signed integer.

XMINT4 A 4D vector where each component is a signed integer.

XMMATRIX Describes a 4*4 matrix aligned on a 16-byte boundary that


maps to four hardware vector registers.

XMSHORT2 Describes a 2D vector consisting of 16-bit signed and


normalized integer components.

XMSHORT2 Describes a 2D vector consisting of 16-bit signed and


normalized integer components.

XMSHORT4 A 4D vector consisting of 16-bit signed integer components.

XMSHORT4 A 4D vector consisting of 16-bit signed integer components.

XMSHORTN2 A 2D vector for storing signed, normalized values as signed


16-bit integers (type int16_t).

XMSHORTN2 A 2D vector for storing signed, normalized values as signed


16-bit integers (type int16_t).

XMSHORTN4 A 4D vector for storing signed, normalized values as signed


16-bit integers, (type int16_t).

XMSHORTN4 A 4D vector for storing signed, normalized values as signed


16-bit integers, (type int16_t).

XMU555 A 4D vector with x-,y-, and z- components represented as 5


bit unsigned integer values, and the w-component as a 1 bit
integer value.

XMU555 A 4D vector with x-,y-, and z- components represented as 5


bit unsigned integer values, and the w-component as a 1 bit
integer value.
T IT L E DESC RIP T IO N

XMU565 A 3D vector with x- and z- components represented as 5-bit


unsigned integer values, and the y- component as a 6-bit
unsigned integer value.

XMU565 A 3D vector with x- and z- components represented as 5-bit


unsigned integer values, and the y- component as a 6-bit
unsigned integer value.

XMUBYTE2 Describes a 2D vector where each component is a unsigned


integer, 8-bits (1 byte) in length.

XMUBYTE2 Describes a 2D vector where each component is a unsigned


integer, 8-bits (1 byte) in length.

XMUBYTE4 Describes a 4D vector where each component is a unsigned


integer, 8-bits (1 byte) in length.

XMUBYTE4 Describes a 4D vector where each component is a unsigned


integer, 8-bits (1 byte) in length.

XMUBYTEN2 A 2D vector for storing unsigned, normalized values as signed


8-bits (1 byte) integers.

XMUBYTEN2 A 2D vector for storing unsigned, normalized values as signed


8-bits (1 byte) integers.

XMUBYTEN4 A 3D vector for storing unsigned, normalized values as signed


8-bits (1 byte) integers.

XMUBYTEN4 A 3D vector for storing unsigned, normalized values as signed


8-bits (1 byte) integers.

XMUDEC4 A 4D vector with x-,y-, and z- components represented as 10


bit unsigned integer values, and the w-component as a 2 bit
unsigned integer value.

XMUDEC4 A 4D vector with x-,y-, and z- components represented as 10


bit unsigned integer values, and the w-component as a 2 bit
unsigned integer value.

XMUDECN4 A 4D vector for storing unsigned, normalized integer values as


10 bit unsigned x-, y-, and z-components and a 2-bit
unsigned w-component.

XMUDECN4 A 4D vector for storing unsigned, normalized integer values as


10 bit unsigned x-, y-, and z-components and a 2-bit
unsigned w-component.

XMUINT2 A 2D vector where each component is an unsigned integer.

XMUINT3 A 3D vector where each component is an unsigned integer.

XMUINT4 A 4D vector where each component is an unsigned integer.


T IT L E DESC RIP T IO N

XMUNIBBLE4 A 4D vector with four unsigned 4-bit integer components.

XMUNIBBLE4 A 4D vector with four unsigned 4-bit integer components.

XMUSHORT2 Describes a 2D vector consisting of 16-bit unsigned integer


components.

XMUSHORT2 Describes a 2D vector consisting of 16-bit unsigned integer


components.

XMUSHORT4 A 4D vector consisting of 16-bit unsigned integer


components.

XMUSHORT4 A 4D vector consisting of 16-bit unsigned integer


components.

XMUSHORTN2 A 2D vector for storing unsigned, normalized values as


unsigned 16-bit integers, (type uint16_t).

XMUSHORTN2 A 2D vector for storing unsigned, normalized values as


unsigned 16-bit integers, (type uint16_t).

XMUSHORTN4 A 4D vector for storing unsigned, normalized values as signed


16-bit integers (type uint16_t).

XMUSHORTN4 A 4D vector for storing unsigned, normalized values as signed


16-bit integers (type uint16_t).

XMXDEC4 A 4D vector with x-,y-, and z- components represented as 10


bit signed integer values, and the w-component as a 2 bit
unsigned integer value.

XMXDEC4 A 4D vector with x-,y-, and z- components represented as 10


bit signed integer values, and the w-component as a 2 bit
unsigned integer value.

XMXDECN4 A 4D vector for storing signed, normalized values as 10 bit


signed x-,y-, and z- components and an unsigned, normalized
value as 2 bit unsigned w-component.

XMXDECN4 A 4D vector for storing signed, normalized values as 10 bit


signed x-,y-, and z- components and an unsigned, normalized
value as 2 bit unsigned w-component.
Display Devices Reference
2/7/2020 • 47 minutes to read • Edit Online

Overview of the Display Devices Reference technology.


To develop Display Devices Reference, you need these headers:
cloneviewhelper.h
ddkernel.h
ddkmapi.h
ddrawi.h
ddrawint.h
dmemmgr.h
dvp.h
dxmini.h
For programming guidance for this technology, see:
Display Devices Reference

Enumerations
T IT L E DESC RIP T IO N

DISPLAYCONFIG_DEVICE_INFO_TYPE The DISPLAYCONFIG_DEVICE_INFO_TYPE enumeration


specifies the type of display device info to configure or obtain
through the DisplayConfigSetDeviceInfo or
DisplayConfigGetDeviceInfo function.

DISPLAYCONFIG_MODE_INFO_TYPE The DISPLAYCONFIG_MODE_INFO_TYPE enumeration


specifies that the information that is contained within the
DISPLAYCONFIG_MODE_INFO structure is either source or
target mode.

DISPLAYCONFIG_PIXELFORMAT The DISPLAYCONFIG_PIXELFORMAT enumeration specifies


pixel format in various bits per pixel (BPP) values.

DISPLAYCONFIG_ROTATION The DISPLAYCONFIG_ROTATION enumeration specifies the


clockwise rotation of the display.

DISPLAYCONFIG_SCALING The DISPLAYCONFIG_SCALING enumeration specifies the


scaling transformation applied to content displayed on a
video present network (VidPN) present path.

DISPLAYCONFIG_SCANLINE_ORDERING The DISPLAYCONFIG_SCANLINE_ORDERING enumeration


specifies the method that the display uses to create an image
on a screen.

DISPLAYCONFIG_TOPOLOGY_ID The DISPLAYCONFIG_TOPOLOGY_ID enumeration specifies


the type of display topology.
T IT L E DESC RIP T IO N

DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY The DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY


enumeration specifies the target's connector type.

Functions
T IT L E DESC RIP T IO N

BRUSHOBJ_hGetColorTransform The BRUSHOBJ_hGetColorTransform function retrieves the


color transform for the specified brush.

BRUSHOBJ_pvAllocRbrush The BRUSHOBJ_pvAllocRbrush function allocates memory for


the driver's realization of a specified brush.

BRUSHOBJ_pvGetRbrush The BRUSHOBJ_pvGetRbrush function retrieves a pointer to


the driver's realization of a specified brush.

BRUSHOBJ_ulGetBrushColor The BRUSHOBJ_ulGetBrushColor function returns the RGB


color of the specified solid brush.

CLIPOBJ_bEnum The CLIPOBJ_bEnum function enumerates a batch of


rectangles from a specified clip region; a prior call to
CLIPOBJ_cEnumStart determines the order of enumeration.

CLIPOBJ_cEnumStart The CLIPOBJ_cEnumStart function sets parameters for


enumerating rectangles in a specified clip region.

CLIPOBJ_ppoGetPath The CLIPOBJ_ppoGetPath function creates a PATHOBJ


structure that contains the outline of the specified clip region.

DisplayConfigGetDeviceInfo The DisplayConfigGetDeviceInfo function retrieves display


configuration information about the device.

DisplayConfigSetDeviceInfo The DisplayConfigSetDeviceInfo function sets the properties


of a target.

DrvAlphaBlend The DrvAlphaBlend function provides bit-block transfer


capabilities with alpha blending.

DrvAssertMode The DrvAssertMode function sets the mode of the specified


physical device to either the mode specified when the PDEV
was initialized or to the default mode of the hardware.

DrvBitBlt The DrvBitBlt function provides general bit-block transfer


capabilities between device-managed surfaces, between GDI-
managed standard-format bitmaps, or between a device-
managed surface and a GDI-managed standard-format
bitmap.

DrvCompletePDEV The DrvCompletePDEV function stores the GDI handle of the


physical device being created.

DrvCopyBits The DrvCopyBits function translates between device-


managed raster surfaces and GDI standard-format bitmaps.
T IT L E DESC RIP T IO N

DrvCreateDeviceBitmap The DrvCreateDeviceBitmap function creates and manages


bitmaps.

DrvDeleteDeviceBitmap The DrvDeleteDeviceBitmap function deletes a device bitmap


created by DrvCreateDeviceBitmap.

DrvDeriveSurface The DrvDeriveSurface function derives a GDI surface from the


specified DirectDraw surface.

DrvDescribePixelFormat The DrvDescribePixelFormat function describes the pixel


format for a device-specified PDEV by writing a pixel format
description to a PIXELFORMATDESCRIPTOR structure.

DrvDestroyFont The DrvDestroyFont function notifies the driver that a font


realization is no longer needed and that the driver can now
free any associated data structures it has allocated.

DrvDisableDirectDraw The DrvDisableDirectDraw function disables hardware for


DirectDraw use.

DrvDisableDriver The DrvDisableDriver function is used by GDI to notify a


driver that it no longer requires the driver and is ready to
unload it.

DrvDisablePDEV The DrvDisablePDEV function is used by GDI to notify a driver


that the specified PDEV is no longer needed.

DrvDisableSurface The DrvDisableSurface function is used by GDI to notify a


driver that the surface created by DrvEnableSurface for the
current device is no longer needed.

DrvDitherColor The DrvDitherColor function requests the device to create a


brush dithered against a device palette.

DrvDrawEscape The DrvDrawEscape function is the entry point that serves


more than one function call; the particular function depends
on the value of the iEsc parameter.

DrvEnableDirectDraw The DrvEnableDirectDraw function enables hardware for


DirectDraw use.

DrvEnableDriver The DrvEnableDriver function is the initial driver entry point


exported by the driver DLL.

DrvEnablePDEV The DrvEnablePDEV function returns a description of the


physical device's characteristics to GDI.

DrvEnableSurface The DrvEnableSurface function sets up a surface to be drawn


on and associates it with a given physical device.

DrvEndDoc The DrvEndDoc function is called by GDI when it has finished


sending a document to the driver for rendering.
T IT L E DESC RIP T IO N

DrvEscape The DrvEscape function is used for retrieving information


from a device that is not available in a device-independent
device driver interface; the particular query depends on the
value of the iEsc parameter.

DrvFillPath The DrvFillPath function is an optional entry point to handle


the filling of closed paths.

DrvFontManagement The DrvFontManagement function is an optional entry point


provided for PostScript devices.

DrvFree The DrvFree function is used to notify the driver that the
specified structure is no longer needed.

DrvGetDirectDrawInfo The DrvGetDirectDrawInfo function returns the capabilities of


the graphics hardware.

DrvGetGlyphMode The DrvGetGlyphMode function tells GDI how to cache glyph


information.

DrvGetModes The DrvGetModes function lists the modes supported by a


given device.

DrvGetTrueTypeFile The DrvGetTrueTypeFile function accesses a memory-mapped


TrueType font file.

DrvGradientFill The DrvGradientFill function shades the specified primitives.

DrvIcmCheckBitmapBits The DrvIcmCheckBitmapBits function checks whether the


pixels in the specified bitmap lie within the device gamut of
the specified transform.

DrvIcmCreateColorTransform The DrvIcmCreateColorTransform function creates an ICM


color transform.

DrvIcmDeleteColorTransform The DrvIcmDeleteColorTransform function deletes the


specified color transform.

DrvIcmSetDeviceGammaRamp The DrvIcmSetDeviceGammaRamp function sets the hardware


gamma ramp of the specified display device.

DrvLineTo The DrvLineTo function draws a single, solid, integer-only


cosmetic line.

DrvLoadFontFile The DrvLoadFontFile function receives information from GDI


relating to loading and mapping font files.

DrvMovePointer The DrvMovePointer function moves the pointer to a new


position and ensures that GDI does not interfere with the
display of the pointer.

DrvNextBand The DrvNextBand function is called by GDI when it has


finished drawing a band for a physical page, so the driver can
send the next band to the printer.
T IT L E DESC RIP T IO N

DrvNotify The DrvNotify function allows a display driver to be notified


about certain information by GDI.

DrvPaint The DrvPaint function is obsolete, and is no longer called by


GDI in Windows 2000 and later. New drivers should
implement one or more of DrvFillPath, DrvStrokePath, or
DrvStrokeAndFillPath.

DrvPlgBlt The DrvPlgBlt function provides rotate bit-block transfer


capabilities between combinations of device-managed and
GDI-managed surfaces.

DrvQueryAdvanceWidths The DrvQueryAdvanceWidths function returns character


advance widths for a specified set of glyphs.

DrvQueryDeviceSupport The DrvQueryDeviceSupport function returns requested


device-specific information.

DrvQueryDriverInfo The DrvQueryDriverInfo function returns requested driver-


specific information.

DrvQueryFont The DrvQueryFont function is used by GDI to get the


IFIMETRICS structure for a given font.

DrvQueryFontCaps The DrvQueryFontCaps function defines the capabilities of


the font driver.

DrvQueryFontData The DrvQueryFontData function retrieves information about


a realized font.

DrvQueryFontFile The DrvQueryFontFile function provides font file information.

DrvQueryFontTree The DrvQueryFontTree function provides GDI with a pointer


to a structure that defines one of the following:A mapping
from Unicode to glyph handles, including glyph variantsA
mapping of kerning pairs to kerning handles

DrvQueryPerBandInfo A printer graphics DLL's DrvQueryPerBandInfo function is


called by GDI before it begins drawing a band for a physical
page, so the driver can supply GDI with band-specific
information.

DrvQueryTrueTypeOutline The DrvQueryTrueTypeOutline function retrieves glyph


outlines in native TrueType format.

DrvQueryTrueTypeTable The DrvQueryTrueTypeTable function accesses specific tables


in a TrueType font-description file.

DrvRealizeBrush The DrvRealizeBrush function requests that the driver realize a


specified brush for a specified surface.

DrvResetDevice The DrvResetDevice function resets a device that is inoperable


or unresponsive.
T IT L E DESC RIP T IO N

DrvResetPDEV The DrvResetPDEV function allows a graphics driver to


transfer the state of the driver from an old PDEV structure to
a new PDEV structure when a Win32 application calls
ResetDC.

DrvSaveScreenBits The DrvSaveScreenBits function causes a display driver to


save or restore a given rectangle of the displayed image.

DrvSendPage A printer graphics DLL's DrvSendPage function is called by


GDI when it has finished drawing a physical page, so the
driver can send the page to the printer.

DrvSetPalette The DrvSetPalette function requests that the driver realize the
palette for a specified device.

DrvSetPixelFormat The DrvSetPixelFormat function sets the pixel format of a


window.

DrvSetPointerShape The DrvSetPointerShape function is used to request the driver


to take the pointer off the display, if the driver has drawn it
there; to attempt to set a new pointer shape; and to put the
new pointer on the display at a specified position.

DrvStartBanding The DrvStartBanding function is called by GDI when it is ready


to start sending bands of a physical page to the driver for
rendering.

DrvStartDoc The DrvStartDoc function is called by GDI when it is ready to


start sending a document to the driver for rendering.

DrvStartPage The DrvStartPage function is called by GDI when it is ready to


start sending the contents of a physical page to the driver for
rendering.

DrvStretchBlt The DrvStretchBlt function provides stretching bit-block


transfer capabilities between any combination of device-
managed and GDI-managed surfaces.

DrvStretchBltROP The DrvStretchBltROP function performs a stretching bit-block


transfer using a ROP.

DrvStrokeAndFillPath The DrvStrokeAndFillPath function strokes (outlines) and fills a


path concurrently.

DrvStrokePath The DrvStrokePath function strokes (outlines) a path.

DrvSwapBuffers The DrvSwapBuffers function displays the contents of the


window's associated hidden buffer on the specified surface.

DrvSynchronize The DrvSynchronize function informs the driver that GDI


needs to access a device-managed surface. This function
allows asynchronous drawing operations performed by a
device's coprocessor to be coordinated with GDI accesses.
T IT L E DESC RIP T IO N

DrvSynchronizeSurface The DrvSynchronizeSurface function informs the driver that


GDI needs to write to the specified surface. This function
allows drawing operations performed by a device's
coprocessor to be coordinated with GDI.

DrvTextOut The DrvTextOut function is the entry point from GDI that calls
for the driver to render a set of glyphs at specified positions.

DrvTransparentBlt The DrvTransparentBlt function provides bit-block transfer


capabilities with transparency.

DrvUnloadFontFile The DrvUnloadFontFile function informs a font driver that the


specified font file is no longer needed.

EngAcquireSemaphore The EngAcquireSemaphore function acquires the resource


associated with the semaphore for exclusive access by the
calling thread.

EngAllocMem The EngAllocMem function allocates a block of memory and


inserts a caller-supplied tag before the allocation.

EngAllocPrivateUserMem The EngAllocPrivateUserMem function allocates a block of


user memory from the address space of a specified process
and inserts a caller-supplied tag before the allocation.

EngAllocUserMem The EngAllocUserMem function allocates a block of memory


from the address space of the current process and inserts a
caller-supplied tag before the allocation.

EngAlphaBlend The EngAlphaBlend function provides bit-block transfer


capabilities with alpha blending.

EngAssociateSurface The EngAssociateSurface function marks a given surface as


belonging to a specified device.

EngBitBlt The EngBitBlt function provides general bit-block transfer


capabilities either between device-managed surfaces, or
between a device-managed surface and a GDI-managed
standard format bitmap.

EngBugCheckEx The EngBugCheckEx function brings down the system in a


controlled manner when the caller discovers an unrecoverable
error that would corrupt the system if the caller continued to
run.

EngCheckAbort The EngCheckAbort function enables a printer graphics DLL


to determine if a print job should be terminated.

EngClearEvent The EngClearEvent function sets a specified event object to


the nonsignaled state.

EngComputeGlyphSet The EngComputeGlyphSet function computes the glyph set


supported on a device.
T IT L E DESC RIP T IO N

EngControlSprites The EngControlSprites function tears down or redraws sprites


on the specified WNDOBJ area.

EngCopyBits The EngCopyBits function translates between device-


managed raster surfaces and GDI standard-format bitmaps.

EngCreateBitmap The EngCreateBitmap function requests that GDI create and


manage a bitmap.

EngCreateClip The EngCreateClip function creates a CLIPOBJ structure that


the driver uses in callbacks.

EngCreateDeviceBitmap The EngCreateDeviceBitmap function requests GDI to create a


handle for a device bitmap.

EngCreateDeviceSurface The EngCreateDeviceSurface function creates and returns a


handle for a device surface that the driver will manage.

EngCreateDriverObj The EngCreateDriverObj function creates a DRIVEROBJ


structure.

EngCreateEvent The EngCreateEvent function creates a synchronization event


object that can be used to synchronize hardware access
between a display driver and the video miniport driver.

EngCreatePalette The EngCreatePalette function sends a request to GDI to


create an RGB palette.

EngCreatePath The EngCreatePath function allocates a path for the driver's


temporary use.

EngCreateSemaphore The EngCreateSemaphore function creates a semaphore


object.

EngCreateWnd The EngCreateWnd function creates a WNDOBJ structure for


the window referenced by hwnd.

EngDebugBreak The EngDebugBreak function causes a breakpoint in the


current process to occur.

EngDebugPrint The EngDebugPrint function prints the specified debug


message to the kernel debugger.

EngDeleteClip The EngDeleteClip function deletes a CLIPOBJ structure


allocated by EngCreateClip.

EngDeleteDriverObj The EngDeleteDriverObj function frees the handle used for


tracking a device-managed resource.

EngDeleteEvent The EngDeleteEvent function deletes the specified event


object.

EngDeleteFile The EngDeleteFile function deletes a file.


T IT L E DESC RIP T IO N

EngDeletePalette The EngDeletePalette function sends a request to GDI to


delete the specified palette.

EngDeletePath The EngDeletePath function deletes a path previously


allocated by EngCreatePath.

EngDeleteSafeSemaphore The EngDeleteSafeSemaphore function removes a reference to


the specified safe semaphore.

EngDeleteSemaphore The EngDeleteSemaphore function deletes a semaphore


object from the system's resource list.

EngDeleteSurface The EngDeleteSurface function deletes the specified surface.

EngDeleteWnd The EngDeleteWnd function deletes a WNDOBJ structure.

EngDeviceIoControl The EngDeviceIoControl function sends a control code to the


specified video miniport driver, causing the device to perform
the specified operation.

EngDitherColor The EngDitherColor function returns a standard 8x8 dither


that approximates the specified RGB color.

EngEnumForms The EngEnumForms function enumerates the forms


supported by the specified printer.

EngEraseSurface The EngEraseSurface function calls GDI to erase the surface; a


given rectangle on the surface will be filled with the given
color.

EngFillPath The EngFillPath function fills a path.

EngFindImageProcAddress The EngFindImageProcAddress function returns the address


of a function within an executable module.

EngFindResource The EngFindResource function determines the location of a


resource in a module.

EngFntCacheAlloc The EngFntCacheAlloc function allocates storage for a font


that is to be stored in cached memory.

EngFntCacheFault The EngFntCacheFault function reports an error to the font


engine if the font driver encountered an error reading from or
writing to a font data cache.

EngFntCacheLookUp The EngFntCacheLookUp function retrieves the address of


cached font file data.

EngFreeMem The EngFreeMem function deallocates a block of system


memory.

EngFreeModule The EngFreeModule function unmaps a file from system


memory.
T IT L E DESC RIP T IO N

EngFreePrivateUserMem The EngFreePrivateUserMem function deallocates a block of


private user memory.

EngFreeUserMem The EngFreeUserMem function deallocates a block of user


memory.

EngGetCurrentCodePage The EngGetCurrentCodePage function returns the system's


default OEM and ANSI code pages.

EngGetCurrentProcessId The EngGetCurrentProcessId function identifies an


application's current process.

EngGetCurrentThreadId The EngGetCurrentThreadId function identifies an application's


current thread.

EngGetDriverName The EngGetDriverName function returns the name of the


driver's DLL.

EngGetFileChangeTime The EngGetFileChangeTime function retrieves a file's last write


time.

EngGetFilePath The EngGetFilePath function determines the file path


associated with the specified font file.

EngGetForm The EngGetForm function gets the FORM_INFO_1 details for


the specified form.

EngGetLastError The EngGetLastError function returns the last error code


logged by GDI for the calling thread.

EngGetPrinter The EngGetPrinter function retrieves information about the


specified printer.

EngGetPrinterData The EngGetPrinterData function retrieves configuration data


for the specified printer.

EngGetPrinterDataFileName The EngGetPrinterDataFileName function retrieves the string


name of the printer's data file.

EngGetPrinterDriver The EngGetPrinterDriver function retrieves driver data for the


specified printer.

EngGetProcessHandle The EngGetProcessHandle function retrieves a handle to the


current client process.

EngGetType1FontList The EngGetType1FontList function retrieves a list of PostScript


Type 1 fonts that are installed both locally and remotely.

EngGradientFill The EngGradientFill function shades the specified primitives.

EngHangNotification The EngHangNotification function notifies the system that a


specified device is inoperable or unresponsive.
T IT L E DESC RIP T IO N

EngInitializeSafeSemaphore The EngInitializeSafeSemaphore function initializes the


specified safe semaphore.

EngIsSemaphoreOwned The EngIsSemaphoreOwned function determines whether any


thread holds the specified semaphore.

EngIsSemaphoreOwnedByCurrentThread The EngIsSemaphoreOwnedByCurrentThread function


determines whether the currently executing thread holds the
specified semaphore.

EngLineTo The EngLineTo function draws a single, solid, integer-only


cosmetic line.

EngLoadImage The EngLoadImage function loads the specified executable


image into kernel-mode memory.

EngLoadModule The EngLoadModule function loads the specified data module


into system memory for reading.

EngLoadModuleForWrite The EngLoadModuleForWrite function loads the specified


executable module into system memory for writing.

EngLockDirectDrawSurface The EngLockDirectDrawSurface function locks the kernel-


mode handle of a DirectDraw surface.

EngLockDriverObj The EngLockDriverObj function creates an exclusive lock on


this object for the calling thread.

EngLockSurface The EngLockSurface function creates a user object for a given


surface. This function gives drivers access to surfaces they
create.

EngLpkInstalled The EngLpkInstalled function determines whether the


language pack is installed on the system.

EngMapEvent The EngMapEvent function maps a user-mode event object to


kernel mode.

EngMapFile The EngMapFile function creates or opens a file and maps it


into system space.

EngMapFontFile The EngMapFontFile function is obsolete. Use


EngMapFontFileFD instead.

EngMapFontFileFD The EngMapFontFileFD function maps a font file into system


memory, if necessary, and returns a pointer to the base
location of the font data in the file.

EngMapModule The EngMapModule function returns the address and size of


a file that was loaded by EngLoadModule,
EngLoadModuleForWrite, EngLoadImage, or EngMapFile.

EngMarkBandingSurface The EngMarkBandingSurface function marks the specified


surface as a banding surface.
T IT L E DESC RIP T IO N

EngModifySurface The EngModifySurface function notifies GDI about the


attributes of a surface that was created by the driver.

EngMovePointer The EngMovePointer function moves the engine-managed


pointer on the device.

EngMulDiv The EngMulDiv function multiplies two 32-bit values and then
divides the 64-bit result by a third 32-bit value.

EngMultiByteToUnicodeN The EngMultiByteToUnicodeN function converts the specified


ANSI source string into a Unicode string using the current
ANSI code page.

EngMultiByteToWideChar The EngMultiByteToWideChar function converts an ANSI


source string into a wide character string using the specified
code page.

EngPaint The EngPaint function causes GDI to paint a specified region.

EngPlgBlt The EngPlgBlt function causes GDI to perform a rotate bit-


block transfer.

EngProbeForRead The EngProbeForRead function probes a structure for read


accessibility.

EngProbeForReadAndWrite The EngProbeForReadAndWrite function probes a structure


for read and write accessibility.

EngQueryDeviceAttribute The EngQueryDeviceAttribute function allows the driver to


query the system about particular attributes of the device.

EngQueryFileTimeStamp The EngQueryFileTimeStamp function returns the time stamp


of a file.

EngQueryLocalTime The EngQueryLocalTime function queries the local time.

EngQueryPalette The EngQueryPalette function queries the specified palette for


its attributes.

EngQueryPerformanceCounter The EngQueryPerformanceCounter function queries the


performance counter.

EngQueryPerformanceFrequency The EngQueryPerformanceFrequency function queries the


frequency of the performance counter.

EngQuerySystemAttribute The EngQuerySystemAttribute function queries processor-


specific or system-specific capabilities.

EngReadStateEvent The EngReadStateEvent function returns the current state of


the specified event object:_signaled or nonsignaled.

EngReleaseSemaphore The EngReleaseSemaphore function releases the specified


semaphore.
T IT L E DESC RIP T IO N

EngRestoreFloatingPointState The EngRestoreFloatingPointState function restores the


Windows 2000 (and later) kernel floating-point state after the
driver uses any floating-point or MMX hardware instructions.

EngSaveFloatingPointState The EngSaveFloatingPointState function saves the current


Windows 2000 (and later) kernel floating-point state.

EngSecureMem The EngSecureMem function locks down the specified address


range in memory.

EngSetEvent The EngSetEvent function sets the specified event object to


the signaled state, and returns the event object's previous
state.

EngSetLastError The EngSetLastError function causes GDI to report an error


code, which can be retrieved by an application.

EngSetPointerShape The EngSetPointerShape function sets the pointer shape for


the calling driver.

EngSetPointerTag The EngSetPointerTag function is obsolete for Windows 2000


and later operating system versions.

EngSetPrinterData The EngSetPrinterData function is obsolete in Windows 2000


and later. In earlier versions of Windows EngSetPrinterData
sets the configuration data for the specified printer.

EngSort The EngSort function performs a quick-sort on the specified


list.

EngStretchBlt The EngStretchBlt function causes GDI to do a stretching bit-


block transfer.

EngStretchBltROP The EngStretchBltROP function performs a stretching bit-block


transfer using a ROP.

EngStrokeAndFillPath The EngStrokeAndFillPath function causes GDI to fill a path


and stroke it at the same time.

EngStrokePath The EngStrokePath function requests that GDI stroke a


specified path.

EngTextOut The EngTextOut function causes GDI to render a set of glyphs


at specified positions.

EngTransparentBlt The EngTransparentBlt function provides bit-block transfer


capabilities with transparency.

EngUnicodeToMultiByteN The EngUnicodeToMultiByteN function converts the specified


Unicode string into an ANSI string using the current ANSI
code page.

EngUnloadImage The EngUnloadImage function unloads an image loaded by


EngLoadImage.
T IT L E DESC RIP T IO N

EngUnlockDirectDrawSurface The EngUnlockDirectDrawSurface function releases the lock


on the specified surface.

EngUnlockDriverObj The EngUnlockDriverObj function causes GDI to unlock the


driver object.

EngUnlockSurface The EngUnlockSurface function causes GDI to unlock the


surface.

EngUnmapEvent The EngUnmapEvent function cleans up the kernel-mode


resources allocated for a mapped user-mode event.

EngUnmapFile The EngUnmapFile function unmaps the view of a file from


system space.

EngUnmapFontFile The EngUnmapFontFile function is obsolete. Use


EngUnmapFontFileFD instead.

EngUnmapFontFileFD The EngUnmapFontFileFD function unmaps the specified font


file from system memory.

EngUnsecureMem The EngUnsecureMem function unlocks an address range that


is locked down in memory.

EngWaitForSingleObject The EngWaitForSingleObject function puts the current thread


of the display driver into a wait state until the specified event
object is set to the signaled state, or until the wait times out.

EngWideCharToMultiByte The EngWideCharToMultiByte function converts a wide


character string into an ANSI source string using the specified
code page.

EngWritePrinter The EngWritePrinter function allows printer graphics DLLs to


send a data stream to printer hardware.

FLOATOBJ_Add The FLOATOBJ_Add function adds the two FLOATOBJs, and


returns with the result in the first parameter.

FLOATOBJ_AddFloat The FLOATOBJ_AddFloat function adds the value of type


FLOATL to the FLOATOBJ, and returns with the result in the
first parameter.

FLOATOBJ_AddLong The FLOATOBJ_AddLong function adds the value of type


LONG to the FLOATOBJ, and returns with the result in the first
parameter.

FLOATOBJ_Div The FLOATOBJ_Div function divides the two FLOATOBJs, and


returns with the result in the first parameter.

FLOATOBJ_DivFloat The FLOATOBJ_DivFloat function divides the FLOATOBJ by the


value of type FLOATL, and returns with the result in the first
parameter.
T IT L E DESC RIP T IO N

FLOATOBJ_DivLong The FLOATOBJ_DivLong function divides the FLOATOBJ by the


value of type LONG, and returns with the result in the first
parameter.

FLOATOBJ_Equal The FLOATOBJ_Equal function determines whether the two


FLOATOBJs are equal.

FLOATOBJ_EqualLong The FLOATOBJ_EqualLong function determines whether the


FLOATOBJ and the value of type LONG are equal.

FLOATOBJ_GetFloat The FLOATOBJ_GetFloat function calculates and returns the


FLOAT-equivalent value of the specified FLOATOBJ.

FLOATOBJ_GetLong The FLOATOBJ_GetLong function calculates and returns the


LONG-equivalent value of the specified FLOATOBJ.

FLOATOBJ_GreaterThan The FLOATOBJ_GreaterThan function determines whether the


first FLOATOBJ is greater than the second FLOATOBJ.

FLOATOBJ_GreaterThanLong The FLOATOBJ_GreaterThanLong function determines


whether the FLOATOBJ is greater than the value of type
LONG.

FLOATOBJ_LessThan The FLOATOBJ_LessThan function determines whether the


first FLOATOBJ is less than the second FLOATOBJ.

FLOATOBJ_LessThanLong The FLOATOBJ_LessThanLong function determines whether


the FLOATOBJ is less than the value of type LONG.

FLOATOBJ_Mul The FLOATOBJ_Mul function multiplies the two FLOATOBJs,


and returns with the result in the first parameter.

FLOATOBJ_MulFloat The FLOATOBJ_MulFloat function multiplies the FLOATOBJ by


the value of type FLOATL, and returns with the result in the
first parameter.

FLOATOBJ_MulLong The FLOATOBJ_MulLong function multiplies the FLOATOBJ by


the value of type LONG, and returns with the result in the first
parameter.

FLOATOBJ_Neg The FLOATOBJ_Neg function negates the FLOATOBJ.

FLOATOBJ_SetFloat The FLOATOBJ_SetFloat function assigns the value of type


FLOATL to the FLOATOBJ.

FLOATOBJ_SetLong The FLOATOBJ_SetLong function assigns the value of type


LONG to the FLOATOBJ.

FLOATOBJ_Sub The FLOATOBJ_Sub function subtracts the second FLOATOBJ


from the first, and returns with the result in the first
parameter.
T IT L E DESC RIP T IO N

FLOATOBJ_SubFloat The FLOATOBJ_SubFloat function subtracts the value of type


FLOATL from the FLOATOBJ, and returns with the result in the
first parameter.

FLOATOBJ_SubLong The FLOATOBJ_SubLong function subtracts the value of type


LONG from the FLOATOBJ, and returns with the result in the
first parameter.

FONTOBJ_cGetAllGlyphHandles The FONTOBJ_cGetAllGlyphHandles function allows the device


driver to find every glyph handle of a GDI font.

FONTOBJ_cGetGlyphs The FONTOBJ_cGetGlyphs function is a service to the font


consumer that translates glyph handles into pointers to glyph
data, which are valid until the next call to
FONTOBJ_cGetGlyphs.

FONTOBJ_pfdg The FONTOBJ_pfdg function retrieves the pointer to the


FD_GLYPHSET structure associated with the specified font.

FONTOBJ_pifi The FONTOBJ_pifi function retrieves the pointer to the


IFIMETRICS structure associated with a specified font.

FONTOBJ_pjOpenTypeTablePointer The FONTOBJ_pjOpenTypeTablePointer function returns a


pointer to a view of an OpenType table.

FONTOBJ_pQueryGlyphAttrs The FONTOBJ_pQueryGlyphAttrs function returns information


about a font's glyphs.

FONTOBJ_pvTrueTypeFontFile The FONTOBJ_pvTrueTypeFontFile function retrieves a user-


mode pointer to a view of a TrueType, OpenType, or Type1
font file.

FONTOBJ_pwszFontFilePaths The FONTOBJ_pwszFontFilePaths function retrieves the file


path(s) associated with a font.

FONTOBJ_pxoGetXform The FONTOBJ_pxoGetXform function retrieves the notional-


to-device transform for the specified font.

FONTOBJ_vGetInfo The FONTOBJ_vGetInfo function retrieves information about


an associated font.

GetCaps The IDirectDrawKernel::GetCaps method returns the


capabilities of this kernel-mode device.

GetDisplayConfigBufferSizes The GetDisplayConfigBufferSizes function retrieves the size of


the buffers that are required to call the QueryDisplayConfig
function.

GetKernelHandle The IDirectDrawKernel::GetKernelHandle method returns a


kernel-mode handle to the DirectDraw object.

GetKernelHandle The IDirectDrawSurfaceKernel::GetKernelHandle method


returns a kernel-mode handle to the DirectDraw surface.
T IT L E DESC RIP T IO N

HeapVidMemAllocAligned The HeapVidMemAllocAligned function allocates


off_screen_memory for a display driver by using the
DirectDraw video memory heap manager.

HT_ComputeRGBGammaTable The HT_ComputeRGBGammaTable function causes GDI to


compute device red, green, and blue intensities based on
gamma numbers.

HT_Get8BPPFormatPalette The HT_Get8BPPFormatPalette function returns a halftone


palette for use on standard 8-bits per pixel device types.

HT_Get8BPPMaskPalette The HT_Get8BPPMaskPalette function returns a mask palette


for an 8-bits-per-pixel device type.

HTUI_DeviceColorAdjustment The HTUI_DeviceColorAdjustment function can be used by


graphics device drivers to display a dialog box that allows a
user to adjust a device's halftoning properties.

LPDD_NOTIFYCALLBACK The NotifyCallback callback function performs operations


related to an event that occurred.

PALOBJ_cGetColors The PALOBJ_cGetColors function copies RGB colors from an


indexed palette.

PATHOBJ_bCloseFigure The PATHOBJ_bCloseFigure function closes an open figure in a


path by drawing a line from the current position to the first
point of the figure.

PATHOBJ_bEnum The PATHOBJ_bEnum function retrieves the next PATHDATA


record from a specified path and enumerates the curves in
the path.

PATHOBJ_bEnumClipLines The PATHOBJ_bEnumClipLines function enumerates clipped


line segments from a given path.

PATHOBJ_bMoveTo The PATHOBJ_bMoveTo function sets the current position in a


given path.

PATHOBJ_bPolyBezierTo The PATHOBJ_bPolyBezierTo function draws Bezier curves on a


path.

PATHOBJ_bPolyLineTo The PATHOBJ_bPolyLineTo function draws lines from the


current position in a path through the specified points.

PATHOBJ_vEnumStart The PATHOBJ_vEnumStart function notifies a given PATHOBJ


structure that the driver will be calling PATHOBJ_bEnum to
enumerate lines and/or curves in the path.

PATHOBJ_vEnumStartClipLines The PATHOBJ_vEnumStartClipLines function allows the driver


to request lines to be clipped against a specified clip region.

PATHOBJ_vGetBounds The PATHOBJ_vGetBounds function retrieves the bounding


rectangle for the specified path.
T IT L E DESC RIP T IO N

PDD_CANCREATESURFACE The CanCreateD3DBuffer callback function determines


whether the driver can create a driver-level command or
vertex buffer of the specified description.

PDD_COLORCB_COLORCONTROL The DdControlColor callback function controls the luminance


and brightness controls of an overlay surface.

PDD_CREATEPALETTE The DdCreatePalette callback function creates a


DirectDrawPalette object for the specified DirectDraw object.

PDD_CREATESURFACE The CreateD3DBuffer callback function is used to create a


driver-level command or vertex buffer of the specified
description.

PDD_CREATESURFACEEX The D3dCreateSurfaceEx function notifies about the


association of a Microsoft DirectDraw surface and a Microsoft
Direct3D handle value to enable setting up the surface for
Direct3D rendering.

PDD_DESTROYDDLOCAL The D3dDestroyDDLocal function destroys all the Microsoft


Direct3D surfaces previously created by the
D3dCreateSurfaceEx function that belong to the same given
local Microsoft DirectDraw object.

PDD_FLIPTOGDISURFACE The DdFlipToGDISurface callback function notifies the driver


when DirectDraw is flipping to or from a GDI surface.

PDD_FREEDRIVERMEMORY The DdFreeDriverMemory callback function frees offscreen or


nonlocal display memory to satisfy a new allocation request.

PDD_GETAVAILDRIVERMEMORY The DdGetAvailDriverMemory callback function queries the


amount of free memory in the driver-managed memory heap.

PDD_GETDRIVERINFO The DdGetDriverInfo function queries the driver for additional


DirectDraw and Direct3D functionality that the driver
supports.

PDD_GETDRIVERSTATE The D3dGetDriverState function is used by both the Microsoft


DirectDraw and Microsoft Direct3D runtimes to obtain
information from the driver about its current state.

PDD_GETSCANLINE The DdGetScanLine callback function returns the number of


the current physical scan line.

PDD_KERNELCB_SYNCSURFACE The DdSyncSurfaceData callback function sets and modifies


surface data before it is passed to the video miniport driver.

PDD_KERNELCB_SYNCVIDEOPORT The DdSyncVideoPortData callback function sets and modifies


VPE object data before it is passed to the video miniport
driver.

PDD_MAPMEMORY The DdMapMemory callback function maps application-


modifiable portions of the frame buffer into the user-mode
address space of the specified process, or unmaps memory.
T IT L E DESC RIP T IO N

PDD_MOCOMPCB_BEGINFRAME The DdMoCompBeginFrame callback function starts decoding


a new frame.

PDD_MOCOMPCB_CREATE The DdMoCompCreate callback function notifies the driver


that a software decoder will start using motion compensation
with the specified GUID.

PDD_MOCOMPCB_DESTROY The DdMoCompDestroy callback function notifies the driver


that this motion compensation object will no longer be used.
The driver now needs to perform any necessary cleanup.

PDD_MOCOMPCB_ENDFRAME The DdMoCompEndFrame callback function completes a


decoded frame.

PDD_MOCOMPCB_GETCOMPBUFFINFO The DDMoCompGetBuffInfo callback function allows the


driver to specify how many interim surfaces are required to
support the specified GUID, and the size, location, and format
of each of these surfaces.

PDD_MOCOMPCB_GETFORMATS The DdMoCompGetFormats callback function indicates the


uncompressed formats to which the hardware can decode the
data.

PDD_MOCOMPCB_GETGUIDS The DdMoCompGetGuids callback function retrieves the


number of GUIDs the driver supports.

PDD_MOCOMPCB_GETINTERNALINFO The DdMoCompGetInternalInfo callback function allows the


driver to report that it internally allocates display memory to
perform motion compensation.

PDD_MOCOMPCB_QUERYSTATUS The DdMoCompQueryStatus callback function queries the


status of the most recent rendering operation to the specified
surface.

PDD_MOCOMPCB_RENDER The DdMoCompRender callback function tells the driver what


macroblocks to render by specifying the surfaces containing
the macroblocks, the offsets in each surface where the
macroblocks exist, and the size of the macroblock data to be
rendered.

PDD_PALCB_DESTROYPALETTE The DdDestroyPalette callback function destroys the specified


palette.

PDD_PALCB_SETENTRIES The DdSetEntries callback function updates the palette entries


in the specified palette.

PDD_SETEXCLUSIVEMODE The DdSetExclusiveMode callback function notifies the driver


when a DirectDraw application is switching to or from
exclusive mode.

PDD_SURFCB_ADDATTACHEDSURFACE The DdAddAttachedSurface callback function attaches a


surface to another surface.

PDD_SURFCB_BLT The DdBlt callback function performs a bit-block transfer.


T IT L E DESC RIP T IO N

PDD_SURFCB_DESTROYSURFACE The DdDestroySurface callback function destroys a DirectDraw


surface.

PDD_SURFCB_FLIP The DdFlip callback function causes the surface memory


associated with the target surface to become the primary
surface, and the current surface to become the nonprimary
surface.

PDD_SURFCB_GETBLTSTATUS The DdGetBltStatus callback function queries the blit status of


the specified surface.

PDD_SURFCB_GETFLIPSTATUS The DdGetFlipStatus callback function determines whether the


most recently requested flip on a surface has occurred.

PDD_SURFCB_LOCK The DdLock callback function locks a specified area of surface


memory and provides a valid pointer to a block of memory
associated with a surface.

PDD_SURFCB_SETCOLORKEY The DdSetColorKey callback function sets the color key value
for the specified surface.

PDD_SURFCB_SETOVERLAYPOSITION The DdSetOverlayPosition callback function sets the position


for an overlay.

PDD_SURFCB_SETPALETTE The DdSetPalette callback function attaches a palette to the


specified surface.

PDD_SURFCB_UNLOCK The DdUnLock callback function releases the lock held on the
specified surface.

PDD_SURFCB_UPDATEOVERLAY The DdUpdateOverlay callback function repositions or


modifies the visual attributes of an overlay surface.

PDD_VPORTCB_CANCREATEVIDEOPORT The DdVideoPortCanCreate callback function determines


whether the driver can support a DirectDraw VPE object of
the specified description.

PDD_VPORTCB_COLORCONTROL The DdVideoPortColorControl callback function gets or sets


the VPE object color controls.

PDD_VPORTCB_CREATEVIDEOPORT The DdVideoPortCreate callback function notifies the driver


that DirectDraw has created a VPE object.

PDD_VPORTCB_DESTROYVPORT The DdVideoPortDestroy callback function notifies the driver


that DirectDraw has destroyed the specified VPE object.

PDD_VPORTCB_FLIP The DdVideoPortFlip callback function performs a physical flip,


causing the VPE object to start writing data to the new
surface.

PDD_VPORTCB_GETBANDWIDTH The DdVideoPortGetBandwidth callback function reports the


bandwidth limitations of the device's frame buffer memory
based the specified VPE object output format.
T IT L E DESC RIP T IO N

PDD_VPORTCB_GETFIELD The DdVideoPortGetField callback function determines


whether the current field of an interlaced signal is even or
odd.

PDD_VPORTCB_GETFLIPSTATUS The DdVideoPortGetFlipStatus callback function determines


whether the most recently requested flip on a surface has
occurred.

PDD_VPORTCB_GETINPUTFORMATS The DdVideoPortGetInputFormats callback function


determines the input formats that the DirectDraw VPE object
can accept.

PDD_VPORTCB_GETLINE The DdVideoPortGetLine callback function returns the current


line number of the hardware video port.

PDD_VPORTCB_GETOUTPUTFORMATS The DdVideoPortGetOutputFormats callback function


determines the output formats that the VPE object supports.

PDD_VPORTCB_GETSIGNALSTATUS The DdVideoPortGetSignalStatus callback function retrieves


the status of the video signal currently being presented to the
hardware video port.

PDD_VPORTCB_GETVPORTCONNECT The DdVideoPortGetConnectInfo callback function returns the


connections supported by the specified VPE object.

PDD_VPORTCB_UPDATE The DdVideoPortUpdate callback function starts and stops


the VPE object, and modifies the VPE object data stream.

PDD_VPORTCB_WAITFORSYNC The DdVideoPortWaitForSync callback function waits until the


next vertical synch occurs.

PDD_WAITFORVERTICALBLANK The DdWaitForVerticalBlank callback function returns the


vertical blank status of the device.

PDX_BOBNEXTFIELD The DxBobNextField callback function bobs the next field of


interleaved data.

PDX_ENABLEIRQ The DxEnableIRQ callback function indicates to the video


miniport driver which IRQs should be enabled or disabled.

PDX_FLIPOVERLAY The DxFlipOverlay callback function is called when a client of


the video miniport driver wants to flip the overlay or when
autoflipping is enabled.

PDX_FLIPVIDEOPORT The DxFlipVideoPort callback function is called when a client of


the video miniport driver wants to flip the video port
extensions (VPE) object or when autoflipping is enabled.

PDX_GETCURRENTAUTOFLIP The DxGetCurrentAutoflip callback function is called when the


device is hardware autoflipping and a client of the video
miniport driver wants to know which surface is receiving the
current field of video data for capture purposes.

PDX_GETIRQINFO The DxGetIRQInfo callback function indicates that the driver


manages the interrupt request.
T IT L E DESC RIP T IO N

PDX_GETPOLARITY The DxGetPolarity callback function returns the polarity (even


or odd) of the current field being written by the video port
extensions (VPE) object.

PDX_GETPREVIOUSAUTOFLIP The DxGetPreviousAutoflip callback function is called when


the device is hardware autoflipping and a client of the video
miniport driver wants to know which surface received the
previous field of video data for capture purposes.

PDX_GETTRANSFERSTATUS The DxGetTransferStatus callback function is used by


DirectDraw to determine which hardware bus master has
completed.

PDX_IRQCALLBACK The IRQCallback function performs operations related to the


IRQ that occurred.

PDX_LOCK The DxLock callback function is called when a client of the


video miniport driver wants access to the frame buffer.

PDX_SETSTATE The DxSetState callback function is called when a client of the


video miniport driver decides it wants to switch from bob
mode to weave mode, and vice versa.

PDX_SKIPNEXTFIELD The DxSkipNextField callback function is called when the next


field needs to be skipped or reenabled.

PDX_TRANSFER The DxTransfer callback function informs the driver to bus


master data from a surface to the buffer specified in the
memory descriptor list (MDL).

PFN_DrvQueryGlyphAttrs The DrvQueryGlyphAttrs function returns information about


a font's glyphs.

QueryDisplayConfig The QueryDisplayConfig function retrieves information about


all possible display paths for all display devices, or views, in
the current setting.

ReleaseKernelHandle The IDirectDrawKernel::ReleaseKernelHandle method releases


a kernel-mode handle to the DirectDraw object.

ReleaseKernelHandle The IDirectDrawSurfaceKernel::ReleaseKernelHandle method


releases a kernel-mode handle to the DirectDraw surface.

SetDisplayConfig The SetDisplayConfig function modifies the display topology,


source, and target modes by exclusively enabling the specified
paths in the current session.

STROBJ_bEnum The STROBJ_bEnum function enumerates glyph identities and


positions.
T IT L E DESC RIP T IO N

STROBJ_bEnumPositionsOnly The STROBJ_bEnumPositionsOnly function enumerates glyph


identities and positions for a specified text string, but does
not create cached glyph bitmaps.

STROBJ_bGetAdvanceWidths The STROBJ_bGetAdvanceWidths function retrieves an array


of vectors specifying the probable widths of glyphs making up
a specified string.

STROBJ_dwGetCodePage The STROBJ_dwGetCodePage function returns the code page


associated with the specified STROBJ structure.

STROBJ_fxBreakExtra The STROBJ_fxBreakExtra function retrieves the amount of


extra space to be added to each space character in a string
when displaying and/or printing justified text.

STROBJ_fxCharacterExtra The STROBJ_fxCharacterExtra function retrieves the amount of


extra space with which to augment each character's width in a
string when displaying and/or printing it.

STROBJ_vEnumStart The STROBJ_vEnumStart function defines the form, or type,


for data that will be returned from GDI in subsequent calls to
STROBJ_bEnum.

VidMemFree The VidMemFree function frees off-screen memory allocated


for a display driver by HeapVidMemAllocAligned.

WNDOBJ_bEnum The WNDOBJ_bEnum function obtains a batch of rectangles


from the visible region of a window.

WNDOBJ_cEnumStart The WNDOBJ_cEnumStart function is a callback function that


sets parameters for enumeration of rectangles in the visible
region of a window.

WNDOBJ_vSetConsumer The WNDOBJ_vSetConsumer function sets a driver-defined


value in the pvConsumer field of the specified WNDOBJ
structure.

XFORMOBJ_bApplyXform The XFORMOBJ_bApplyXform function applies the given


transform or its inverse to the given array of points.

XFORMOBJ_iGetFloatObjXform The XFORMOBJ_iGetFloatObjXform function downloads a


FLOATOBJ transform to the driver.

XFORMOBJ_iGetXform The XFORMOBJ_iGetXform function downloads a transform


to the driver.

XLATEOBJ_cGetPalette The XLATEOBJ_cGetPalette function retrieves RGB colors or


the bitfields format from the specified palette.

XLATEOBJ_hGetColorTransform The XLATEOBJ_hGetColorTransform function returns the color


transform for the specified translation object.

XLATEOBJ_iXlate The XLATEOBJ_iXlate function translates a color index of the


source palette to the closest index in the destination palette.
T IT L E DESC RIP T IO N

XLATEOBJ_piVector The XLATEOBJ_piVector function retrieves a translation vector


that the driver can use to translate source indices to
destination indices.

Interfaces
T IT L E DESC RIP T IO N

IDirectDrawKernel IDirectDrawKernel interface

IDirectDrawSurfaceKernel IDirectDrawSurfaceKernel interface

Structures
T IT L E DESC RIP T IO N

DD_ADDATTACHEDSURFACEDATA The DD_ADDATTACHEDSURFACEDATA structure contains


information necessary to attach a surface to another surface.

DD_ATTACHLIST The DD_ATTACHLIST structure maintains a list of attached


surfaces for Microsoft DirectDraw.

DD_BEGINMOCOMPFRAMEDATA The DDHAL_BEGINMOCOMPFRAMEDATA structure contains


the frame information required to start decoding.

DD_BLTDATA The DD_BLTDATA structure contains the information relevant


to the driver for doing bit block transfers.

DD_CANCREATESURFACEDATA The DD_CANCREATESURFACEDATA structure contains


information necessary to indicate whether a surface--in the
case of CanCreateD3DBuffer, a buffer--can be created.

DD_CANCREATEVPORTDATA The DD_CANCREATEVPORTDATA structure contains the


information required for the driver to determine whether a
video port extensions (VPE) object can be created.

DD_CLIPPER_GLOBAL The DD_CLIPPER_GLOBAL structure contains the global


DirectDrawClipper data that can be shared between object
instances.

DD_CLIPPER_LOCAL The DD_CLIPPER_LOCAL structure contains local data for each


individual DirectDrawClipper object.

DD_COLORCONTROLDATA The DD_COLORCONTROLDATA structure contains the color


control information for the specified overlay.

DD_CREATEMOCOMPDATA The DD_CREATEMOCOMPDATA structure contains the data


required to begin using motion compensation.

DD_CREATEPALETTEDATA The DD_CREATEPALETTEDATA structure contains information


necessary to create a DirectDrawPalette object for this
Microsoft DirectDraw object.
T IT L E DESC RIP T IO N

DD_CREATESURFACEDATA The DD_CREATESURFACEDATA structure contains information


necessary to create a surface--in the case of CreateD3DBuffer,
a command or vertex buffer.

DD_CREATESURFACEEXDATA The DD_CREATESURFACEEXDATA structure contains


information required for the driver to create a surface and
associate with it a supplied texture handle.

DD_CREATEVPORTDATA The DD_CREATEVPORTDATA structure contains the


information necessary to describe the video port extensions
(VPE) object being created.

DD_DESTROYMOCOMPDATA The DD_DESTROYMOCOMPDATA structure contains the


information required to finish performing motion
compensation.

DD_DESTROYPALETTEDATA The DD_DESTROYPALETTEDATA structure contains


information necessary to destroy the specified palette.

DD_DESTROYSURFACEDATA The DD_DESTROYSURFACEDATA structure contains


information necessary to destroy the specified surface--in the
case of DestroyD3DBuffer, a command or vertex buffer.

DD_DESTROYVPORTDATA The DD_DESTROYVPORTDATA structure contains the


information necessary for the driver to clean up.

DD_DIRECTDRAW_GLOBAL The DD_DIRECTDRAW_GLOBAL structure contains driver


information that describes the driver's device.

DD_DIRECTDRAW_LOCAL The DD_DIRECTDRAW_LOCAL structure contains driver


information that is relevant to the current DirectDraw process
only.

DD_ENDMOCOMPFRAMEDATA The DD_ENDMOCOMPFRAMEDATA structure contains


information required to complete a decoded frame.

DD_FLIPDATA The DD_FLIPDATA structure contains information needed to


do a flip.

DD_FLIPTOGDISURFACEDATA The DD_FLIPTOGDISURFACEDATA structure contains the GDI


surface notification information.

DD_FLIPVPORTDATA The DD_FLIPVPORTDATA structure contains the information


necessary for the video port extensions (VPE) object to
perform a flip.

DD_FREEDRIVERMEMORYDATA The DD_FREEDRIVERMEMORYDATA structure contains the


details of the free request.

DD_GETAVAILDRIVERMEMORYDATA The DD_GETAVAILDRIVERMEMORYDATA structure contains


the information needed by the driver to query and return the
amount of free memory.

DD_GETBLTSTATUSDATA The DD_GETBLTSTATUSDATA structure returns the blit status


information.
T IT L E DESC RIP T IO N

DD_GETDRIVERINFODATA The DD_GETDRIVERINFODATA structure is used to pass data


to and from the DdGetDriverInfo callback routine.

DD_GETDRIVERSTATEDATA The DD_GETDRIVERSTATEDATA structure describes the state


of the driver.

DD_GETFLIPSTATUSDATA The DD_GETFLIPSTATUSDATA structure returns the flip status


information.

DD_GETINTERNALMOCOMPDATA The DD_GETINTERNALMOCOMPDATA structure contains the


internal memory requirements.

DD_GETMOCOMPCOMPBUFFDATA The DD_GETMOCOMPCOMPBUFFDATA structure contains


the compressed buffer information.

DD_GETMOCOMPFORMATSDATA The DD_GETMOCOMPFORMATSDATA structure contains the


uncompressed format information.

DD_GETMOCOMPGUIDSDATA The DD_GETMOCOMPGUIDSDATA structure contains the


motion compensation GUID information.

DD_GETSCANLINEDATA The DD_GETSCANLINEDATA structure contains the members


required to query and return the number of the current scan
line.

DD_GETVPORTBANDWIDTHDATA The DD_GETVPORTBANDWIDTHDATA structure contains the


bandwidth information for any specified format.

DD_GETVPORTCONNECTDATA The DD_GETVPORTCONNECTDATA structure contains the


connection combinations supported by the specified video
port extensions (VPE) object.

DD_GETVPORTFIELDDATA The DD_GETVPORTFIELDDATA structure contains the


information required for the driver to determine whether the
current field of an interlaced signal is even or odd.

DD_GETVPORTFLIPSTATUSDATA The DD_GETVPORTFLIPSTATUSDATA structure contains the


flip status information for the specified surface.

DD_GETVPORTINPUTFORMATDATA The DD_GETVPORTINPUTFORMATDATA structure contains


the information required for the driver to return the input
formats that the video port extensions (VPE) object can
accept.

DD_GETVPORTLINEDATA The DD_GETVPORTLINEDATA structure contains the current


line number of the hardware video port.

DD_GETVPORTOUTPUTFORMATDATA The DD_GETVPORTOUTPUTFORMATDATA structure contains


the information required for the driver to return all of the
output formats that the video port extensions (VPE) object
supports for a given input format.
T IT L E DESC RIP T IO N

DD_GETVPORTSIGNALDATA The DD_GETVPORTSIGNALDATA structure contains the signal


status of the hardware video port.

DD_LOCKDATA The DD_LOCKDATA structure contains information necessary


to do a lock as defined by the Microsoft DirectDraw
parameter structures.

DD_MAPMEMORYDATA The DD_MAPMEMORYDATA structure contains the


information necessary to map or unmap a frame buffer into
user-mode memory.

DD_MORESURFACECAPS The DD_MORESURFACECAPS structure defines more driver


surface capabilities in addition to those described in
DDCORECAPS.

DD_MOTIONCOMP_LOCAL The DD_MOTIONCOMP_LOCAL structure contains local data


for each individual Microsoft DirectDraw motion
compensation object.

DD_PALETTE_GLOBAL The DD_PALETTE_GLOBAL structure contains the global


DirectDrawPalette data that can be shared between object
instances.

DD_PALETTE_LOCAL The DD_PALETTE_LOCAL structure contains palette-related


data that is unique to an individual palette object.

DD_QUERYMOCOMPSTATUSDATA The DD_QUERYMOCOMPSTATUSDATA structure contains


information required to query the status of the previous
frame.

DD_RENDERMOCOMPDATA The DD_RENDERMOCOMPDATA structure contains the


information required to render a frame.

DD_SETCOLORKEYDATA The DD_SETCOLORKEYDATA structure contains information


necessary to set the color key value for the specified surface.

DD_SETENTRIESDATA The DD_SETENTRIESDATA structure contains information


necessary to set palette entries.

DD_SETEXCLUSIVEMODEDATA The DD_SETEXCLUSIVEMODEDATA structure contains the


exclusive mode notification information.

DD_SETOVERLAYPOSITIONDATA The DD_SETOVERLAYPOSITIONDATA structure contains


information necessary to change the display coordinates of an
overlay surface.

DD_SETPALETTEDATA The DD_SETPALETTEDATA structure contains information


necessary to set a palette for a specific surface.

DD_STEREOMODE The DD_STEREOMODE structure is used by the runtime with


GUID_DDStereoMode in a DdGetDriverInfo call to query
whether the driver supports stereo for a given video display
mode.
T IT L E DESC RIP T IO N

DD_SURFACE_GLOBAL The DD_SURFACE_GLOBAL structure contains global surface-


related data that can be shared between multiple surfaces.

DD_SURFACE_INT The DD_SURFACE_INT structure contains the


DirectDrawSurface object's interface information.

DD_SURFACE_LOCAL The DD_SURFACE_LOCAL structure contains surface-related


data that is unique to an individual surface object.

DD_SURFACE_MORE The DD_SURFACE_MORE structure contains additional local


data for each individual DirectDrawSurface object.

DD_SYNCSURFACEDATA The DD_SYNCSURFACEDATA structure contains the surface


information.

DD_SYNCVIDEOPORTDATA The DD_SYNCVIDEOPORTDATA structure contains the video


port extensions (VPE) object information.

DD_UNLOCKDATA The DD_UNLOCKDATA structure contains information


necessary to do an unlock as defined by Microsoft DirectDraw
parameter structures.

DD_UPDATENONLOCALHEAPDATA The DD_UPDATENONLOCALHEAPDATA structure contains the


required heap information.

DD_UPDATEOVERLAYDATA The DD_UPDATEOVERLAYDATA structure contains


information necessary for updating an overlay surface.

DD_UPDATEVPORTDATA The DD_UPDATEVPORTDATA structure contains the


information required to start, stop, and change the video port
extensions (VPE) object.

DD_VIDEOPORT_LOCAL The DD_VIDEOPORT_LOCAL structure contains video port


extensions (VPE)-related data that is unique to an individual
Microsoft DirectDraw VPE object.

DD_VPORTCOLORDATA The DD_VPORTCOLORDATA structure contains the video port


extensions (VPE) object color control information.

DD_WAITFORVERTICALBLANKDATA The DD_WAITFORVERTICALBLANKDATA structure contains


information necessary to obtain the monitor's vertical blank
information.

DD_WAITFORVPORTSYNCDATA The DD_WAITFORVPORTSYNCDATA structure contains the


information required for the driver to synchronize the video
port extensions (VPE) object.

DDHAL_DESTROYDDLOCALDATA DDHAL_DESTROYDDLOCALDATA contains the information


required for the driver to destroy a set of surfaces associated
to a given local DirectDraw object.

DDHAL_WAITFORVERTICALBLANKDATA The DD_WAITFORVERTICALBLANKDATA structure contains


information necessary to obtain the monitor's vertical blank
information.
T IT L E DESC RIP T IO N

DDKERNELCAPS The DDKERNELCAPS structure notifies the client what


support, if any, exists in the miniport driver for the kernel-
mode video transport.

DDVIDEOPORTBANDWIDTH The DDVIDEOPORTBANDWIDTH structure describes the


bandwidth characteristics of an overlay when used with a
particular video port extensions (VPE) object/pixel format
configuration.

DDVIDEOPORTCAPS The DDVIDEOPORTCAPS structure describes the capabilities


and alignment restrictions of a hardware video port.

DDVIDEOPORTDESC The DDVIDEOPORTDESC structure describes the video port


extensions (VPE) object being created.

DDVIDEOPORTINFO The DDVIDEOPORTINFO structure describes how the driver


should transfer video data to a surface (or to surfaces);
DDVIDEOPORTINFO is a member of the
DD_VIDEOPORT_LOCAL structure.

Adapter The Adapter structure describes a graphics adapter.

Adapters The Adapters structure contains a list of graphics adapters.

BLENDOBJ The BLENDOBJ structure controls blending by specifying the


blending functions for source and destination bitmaps.

BRUSHOBJ The BRUSHOBJ structure contains three public members that


describe a brush object.

CIECHROMA The CIECHROMA structure is used to describe the


chromaticity coordinates, x and y, and the luminance, Y in CIE
color space.

CLIPLINE The CLIPLINE structure gives the driver access to a portion of


a line between two clip regions used for drawing.

CLIPOBJ The CLIPOBJ structure describes the clip region used when
drawing.

COLORINFO The COLORINFO structure defines a device's colors in CIE


coordinate space.

DD_CALLBACKS The DD_CALLBACKS structure contains entry pointers to the


callback functions that a device driver supports.

DD_COLORCONTROLCALLBACKS The DD_COLORCONTROLCALLBACKS structure contains an


entry pointer to the Microsoft DirectDraw color control
callback that a device driver supports.

DD_D3DBUFCALLBACKS The DD_D3DBUFCALLBACKS structure is used only by drivers


that implement driver level allocation of command and vertex
buffers.
T IT L E DESC RIP T IO N

DD_GETHEAPALIGNMENTDATA The DD_GETHEAPALIGNMENTDATA structure contains data


on required alignments from a particular heap.

DD_HALINFO The DD_HALINFO structure describes the capabilities of the


hardware and driver.

DD_KERNELCALLBACKS The DD_KERNELCALLBACKS structure contains entry pointers


to the DirectDraw kernel-mode callback functions that the
driver supports.

DD_MISCELLANEOUS2CALLBACKS The DD_MISCELLANEOUS2CALLBACKS structure is used to


return the addresses of miscellaneous callback routines.

DD_MISCELLANEOUSCALLBACKS The DD_MISCELLANEOUSCALLBACKS structure contains an


entry pointer to the memory query callback that a device
driver supports.

DD_MOTIONCOMPCALLBACKS The DD_MOTIONCOMPCALLBACKS structure contains entry


pointers to the motion compensation callback functions that a
device driver supports.

DD_NONLOCALVIDMEMCAPS The DD_NONLOCALVIDMEMCAPS structure contains the


capabilities for nonlocal display memory.

DD_NTCALLBACKS The DD_NTCALLBACKS structure contains entry pointers to


Microsoft Windows 2000 and later Microsoft DirectDraw
callback functions that a device driver supports.

DD_NTPRIVATEDRIVERCAPS The DD_NTPRIVATEDRIVERCAPS structure enables the driver


to change the behavior of Microsoft DirectDraw when
DirectDraw is creating surfaces.

DD_PALETTECALLBACKS The DD_PALETTECALLBACKS structure contains entry


pointers to the DirectDraw palette callback functions that a
device driver supports.

DD_SURFACECALLBACKS The DD_SURFACECALLBACKS structure contains entry


pointers to the Microsoft DirectDraw surface callback
functions that a device driver supports.

DD_VIDEOPORTCALLBACKS The DD_VIDEOPORTCALLBACKS structure contains entry


pointers to Microsoft DirectDraw video port extensions (VPE)
callback functions that a device driver supports.

DDADDVPCAPTUREBUFF The DDADDVPCAPTUREBUFF structure contains the


information required to add a new buffer to the internal
capture queue.

DDBOBNEXTFIELDINFO The DDBOBNEXTFIELDINFO structure contains the bob


information for the surface.

DDCAPBUFFINFO The DDCAPBUFFINFO structure contains the capture


information.
T IT L E DESC RIP T IO N

DDCLOSEHANDLE The DDCLOSEHANDLE structure contains the Microsoft


DirectDraw object, surface, video port extensions (VPE) object,
or VPE capture handle.

DDCOMPBUFFERINFO The DDCOMPBUFFERINFO structure contains driver-supplied


information regarding compression buffers.

DDCORECAPS The DDCORECAPS structure specifies the core capabilities of


the Microsoft DirectDraw driver and its device, which are
exposed to an application through the DirectDraw object.

DDENABLEIRQINFO The DDENABLEIRQINFO structure contains the information


required to enable interrupts.

DDFLIPOVERLAY The DDFLIPOVERLAY structure contains the surface


information required for the flip.

DDFLIPOVERLAYINFO The DDFLIPOVERLAYINFO structure contains the flip


information for the surface.

DDFLIPVIDEOPORT The DDFLIPVIDEOPORT structure contains the information


required to flip the hardware video port.

DDFLIPVIDEOPORTINFO The DDFLIPVIDEOPORTINFO structure contains the video


port extensions (VPE) object and surface information.

DDGETAUTOFLIPIN The DDGETAUTOFLIPIN structure contains the handle


information.

DDGETAUTOFLIPOUT The DDGETAUTOFLIPOUT structure contains the handle and


polarity information returned from the
DD_DXAPI_GET_CURRENT_VP_AUTOFLIP_SURFACE and
DD_DXAPI_GET_LAST_VP_AUTOFLIP_SURFACE function
identifiers of the DxApi function.

DDGETCURRENTAUTOFLIPININFO The DDGETCURRENTAUTOFLIPININFO structure contains the


video port extensions (VPE) object information.

DDGETCURRENTAUTOFLIPOUTINFO The DDGETCURRENTAUTOFLIPOUTINFO structure provides


the surface information.

DDGETFIELDNUMIN The DDGETFIELDNUMIN structure contains the Microsoft


DirectDraw and video port extensions (VPE) object handle
information.

DDGETFIELDNUMOUT The DDGETFIELDNUMOUT structure contains the hardware


video port's field number.

DDGETIRQINFO The DDGETIRQINFO structure contains interrupt information


for the video miniport driver.

DDGETKERNELCAPSOUT The DDGETKERNELCAPSOUT structure contains the


capabilities of the Microsoft DirectDraw object.
T IT L E DESC RIP T IO N

DDGETPOLARITYIN The DDGETPOLARITYIN structure contains the Microsoft


DirectDraw and video port extensions (VPE) object handles.

DDGETPOLARITYININFO The DDGETPOLARITYININFO structure contains the video


port extensions (VPE) object information.

DDGETPOLARITYOUT The DDGETPOLARITYOUT structure contains the requested


polarity information.

DDGETPOLARITYOUTINFO The DDGETPOLARITYOUTINFO structure contains the


polarity information of the video port extensions (VPE) object.

DDGETPREVIOUSAUTOFLIPININFO The DDGETPREVIOUSAUTOFLIPININFO structure provides


the video port extensions (VPE) object information.

DDGETPREVIOUSAUTOFLIPOUTINFO The DDGETPREVIOUSAUTOFLIPOUTINFO structure provides


the surface data.

DDGETSURFACESTATEIN The DDGETSURFACESTATEIN structure contains the Microsoft


DirectDraw and DirectDraw surface handle information.

DDGETSURFACESTATEOUT The DDGETSURFACESTATEOUT structure contains the


capabilities and status of the specified surface.

DDGETTRANSFERSTATUSOUTINFO The DDGETTRANSFERSTATUSOUTINFO structure contains the


transfer status information.

DDGETVERSIONNUMBER The DDGETVERSIONNUMBER structure contains the version


number of the kernel-mode video transport component of
Microsoft DirectDraw that is supported by the video miniport
driver's DxApi interface.

DDLOCKIN The DDLOCKIN structure contains the Microsoft DirectDraw


object and DirectDraw surface handle information.

DDLOCKININFO The DDLOCKININFO structure contains the surface


information.

DDLOCKOUT The DDLOCKOUT structure contains a description of the


surface.

DDLOCKOUTINFO The DDLOCKOUTINFO structure contains the surface


information output from the DxLock function.

DDMOCOMPBUFFERINFO The DDMOCOMPBUFFERINFO structure contains the macro


block information required to render a frame and passes this
information to the DD_RENDERMOCOMPDATA structure.

DDOPENDIRECTDRAWIN The DDOPENDIRECTDRAWIN structure contains the Microsoft


DirectDraw object information.
T IT L E DESC RIP T IO N

DDOPENDIRECTDRAWOUT The DDOPENDIRECTDRAWOUT structure contains a new


Microsoft DirectDraw handle for the
DD_DXAPI_OPENDIRECTDRAW function identifier of the
DxApi function if the ddRVal member of
DDOPENDIRECTDRAWOUT is set to DD_OK.

DDOPENSURFACEIN The DDOPENSURFACEIN structure contains the


DirectDrawSurface object information.

DDOPENSURFACEOUT The DDOPENSURFACEOUT structure contains a new


DirectDrawSurface handle, if the ddRVal member of
DDOPENSURFACEOUT is set to DD_OK. This new handle
must be used on all subsequent calls that require a
DirectDrawSurface handle.

DDOPENVIDEOPORTIN The DDOPENVIDEOPORTIN structure contains the video port


extensions (VPE) object information.

DDOPENVIDEOPORTOUT The DDOPENVIDEOPORTOUT structure contains a Microsoft


DirectDraw return code and a new surface handle if ddRVal is
set to DD_OK. This new handle must be used on all
subsequent calls that require a video port extensions (VPE)
object handle.

DDOPENVPCAPTUREDEVICEIN The DDOPENVPCAPTUREDEVICEIN structure contains the


video port extensions (VPE) capture information.

DDOPENVPCAPTUREDEVICEOUT The DDOPENVPCAPTUREDEVICEOUT structure contains the


video port extensions (VPE) capture handle.

DDREGISTERCALLBACK The DDREGISTERCALLBACK structure contains the register


callback information. This structure is used by both the
DD_DXAPI_REGISTER_CALLBACK and
DD_DXAPI_UNREGISTER_CALLBACK function identifiers of the
DxApi function.

DDSETFIELDNUM The DDSETFIELDNUM structure contains the handles and the


field number.

DDSETSKIPFIELD The DDSETSKIPFIELD structure contains the start field


information.

DDSETSTATEININFO The DDSETSTATEININFO structure contains the surface and


video port extensions (VPE) object information.

DDSETSTATEOUTINFO The DDSETSTATEOUTINFO structure contains the state


information for the video port extensions (VPE) object.

DDSETSURFACESTATE The DDSETSURFACESTATE structure contains the surface state


information.

DDSKIPNEXTFIELDINFO The DDSKIPNEXTFIELDINFO structure contains the skip


information for the video port extensions (VPE) object.
T IT L E DESC RIP T IO N

DDSURFACEDATA The DDSURFACEDATA structure is used by DirectDraw to


represent a surface to the kernel-mode miniport driver.

DDTRANSFERININFO The DDTRANSFERININFO structure contains the transfer


information for the surface

DDTRANSFEROUTINFO The DDTRANSFEROUTINFO structure returns the polarity of


the field being captured.

DDVIDEOPORTDATA The DDVIDEOPORTDATA structure is used by DirectDraw to


represent a video port extensions (VPE) object to the kernel-
mode video miniport driver.

DEVHTADJDATA The DEVHTADJDATA structure is used as input to the


HTUI_DeviceColorAdjustment function.

DEVHTINFO The DEVHTINFO structure is used as input to the


HTUI_DeviceColorAdjustment function.

DEVINFO The DEVINFO structure provides information about the driver


and its private PDEV to the graphics engine.

DEVMODEW The DEVMODEW structure is used for specifying


characteristics of display and print devices in the Unicode
(wide) character set.

DISPLAYCONFIG_2DREGION The DISPLAYCONFIG_2DREGION structure represents a point


or an offset in a two-dimensional space.

DISPLAYCONFIG_ADAPTER_NAME The DISPLAYCONFIG_ADAPTER_NAME structure contains


information about the display adapter.

DISPLAYCONFIG_DESKTOP_IMAGE_INFO The DISPLAYCONFIG_DESKTOP_IMAGE_INFO structure


contains information about the image displayed on the
desktop.

DISPLAYCONFIG_DEVICE_INFO_HEADER The DISPLAYCONFIG_DEVICE_INFO_HEADER structure


contains display information about the device.

DISPLAYCONFIG_MODE_INFO The DISPLAYCONFIG_MODE_INFO structure contains either


source mode or target mode information.

DISPLAYCONFIG_PATH_INFO The DISPLAYCONFIG_PATH_INFO structure is used to


describe a single path from a target to a source.

DISPLAYCONFIG_PATH_SOURCE_INFO The DISPLAYCONFIG_PATH_SOURCE_INFO structure contains


source information for a single path.

DISPLAYCONFIG_PATH_TARGET_INFO The DISPLAYCONFIG_PATH_TARGET_INFO structure contains


target information for a single path.
T IT L E DESC RIP T IO N

DISPLAYCONFIG_RATIONAL The DISPLAYCONFIG_RATIONAL structure describes a


fractional value that represents vertical and horizontal
frequencies of a video mode (that is, vertical sync and
horizontal sync).

DISPLAYCONFIG_SET_TARGET_PERSISTENCE The DISPLAYCONFIG_SET_TARGET_PERSISTENCE structure


contains information about setting the display.

DISPLAYCONFIG_SOURCE_DEVICE_NAME The DISPLAYCONFIG_SOURCE_DEVICE_NAME structure


contains the GDI device name for the source or view.

DISPLAYCONFIG_SOURCE_MODE The DISPLAYCONFIG_SOURCE_MODE structure represents a


point or an offset in a two-dimensional space.

DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION The DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION


structure contains information on the state of virtual
resolution support for the monitor.

DISPLAYCONFIG_TARGET_BASE_TYPE Specifies base output technology info for a given target ID.

DISPLAYCONFIG_TARGET_DEVICE_NAME The DISPLAYCONFIG_TARGET_DEVICE_NAME structure


contains information about the target.

DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS The DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS


structure contains information about a target device.

DISPLAYCONFIG_TARGET_MODE The DISPLAYCONFIG_TARGET_MODE structure describes a


display path target mode.

DISPLAYCONFIG_TARGET_PREFERRED_MODE The DISPLAYCONFIG_TARGET_PREFERRED_MODE structure


contains information about the preferred mode of a display.

DISPLAYCONFIG_VIDEO_SIGNAL_INFO The DISPLAYCONFIG_VIDEO_SIGNAL_INFO structure


contains information about the video signal for a display.

DisplayMode The DisplayMode structure describes a display device.

DisplayModes The DisplayModes structure contains a list of display modes.

DRIVEROBJ The DRIVEROBJ structure is used to track a resource, allocated


by a driver, that requires use GDI services.

DRVENABLEDATA The DRVENABLEDATA structure contains a pointer to an array


of DRVFN structures and the graphics DDI version number of
an NT-based operating system.

DRVFN The DRVFN structure is used by graphics drivers to provide


GDI with pointers to the graphics DDI functions defined by
the driver.

DX_IRQDATA The DX_IRQDATA structure contains the IRQ information


supplied by the driver.
T IT L E DESC RIP T IO N

DXAPI_INTERFACE The DXAPI_INTERFACE structure contains the interface


callback functions that a video miniport driver implements to
support Kernel-Mode Video Transport.

ENG_TIME_FIELDS The ENG_TIME_FIELDS structure is used by the


EngQueryLocalTime function to return the local time.

ENGSAFESEMAPHORE The ENGSAFESEMAPHORE structure provides the driver with


a thread-safe semaphore.

ENUMRECTS The ENUMRECTS structure is used by the


CLIPOBJ_cEnumStart function to provide information about
rectangles in a clip region for the CLIPOBJ_bEnum function.

FD_DEVICEMETRICS The FD_DEVICEMETRICS structure is used to provide device-


specific font information to GDI if the iMode parameter of the
driver-supplied DrvQueryFontData function is
QFD_MAXEXTENTS.

FD_GLYPHATTR The FD_GLYPHATTR structure is used to specify the return


value for the FONTOBJ_pQueryGlyphAttrs and
DrvQueryGlyphAttrs functions.

FD_GLYPHSET The FD_GLYPHSET structure is used to define the mappings


from Unicode characters to glyph handles.

FD_KERNINGPAIR The FD_KERNINGPAIR structure is used to store information


about kerning pairs.

FD_XFORM The FD_XFORM structure describes an arbitrary two-


dimensional font transform.

FLOATOBJ The FLOATOBJ structure is used to emulate a floating-point


number.

FLOATOBJ_XFORM The FLOATOBJ_XFORM structure describes an arbitrary linear


two-dimensional transform, such as for geometric wide lines.

FONTDIFF The FONTDIFF structure describes all of the characteristics


that are different between a base font and one of its
simulations.

FONTINFO The FONTINFO structure contains information regarding a


specific font.

FONTOBJ The FONTOBJ structure is used to give a driver access to


information about a particular instance of a font.

FONTSIM The FONTSIM structure contains offsets to one or more


FONTDIFF structures describing bold, italic, and bold italic font
simulations.

GAMMARAMP The GAMMARAMP structure is used by


DrvIcmSetDeviceGammaRamp to set the hardware gamma
ramp of a particular display device.
T IT L E DESC RIP T IO N

GDIINFO The GDIINFO structure describes the graphics capabilities of a


given device.

GLYPHBITS The GLYPHBITS structure is used to define a glyph bitmap.

GLYPHDATA The GLYPHDATA structure contains information about an


individual glyph.

GLYPHDEF The GLYPHDEF union identifies individual glyphs and provides


either a pointer to a GLYPHBITS structure or a pointer to a
PATHOBJ structure.

GLYPHPOS The GLYPHPOS structure is used by GDI to provide a graphics


driver with a glyph's description and position.

HEAPALIGNMENT The HEAPALIGNMENT structure contains data specifying the


alignment requirements for a given display memory heap.

IFIEXTRA The IFIEXTRA structure defines additional information for a


given typeface that GDI can use.

IFIMETRICS The IFIMETRICS structure defines information for a given


typeface that GDI can use.

LINEATTRS The LINEATTRS structure is used by a driver's line-drawing


functions to determine line attributes.

PALOBJ The PALOBJ structure is a user object that represents an


indexed color palette.

PATHDATA The PATHDATA structure describes all or part of a subpath.

PATHOBJ The PATHOBJ structure is used to describe a set of lines and


Bezier curves that are to be stroked or filled.

PERBANDINFO The PERBANDINFO structure is used as input to a printer


graphics DLL's DrvQueryPerBandInfo function.

POINT The POINT structure defines the x- and y-coordinates of a


point.

POINTL The POINTL structure defines the x- and y-coordinates of a


point.

POINTS The POINTS structure defines the x- and y-coordinates of a


point.

RECT The RECT structure defines a rectangle by the coordinates of


its upper-left and lower-right corners.
T IT L E DESC RIP T IO N

RECTL The RECTL structure defines a rectangle by the coordinates of


its upper-left and lower-right corners.

RUN The RUN structure is used to describe a linear set of pixels


that is not clipped by the CLIPLINE structure.

SIZE The SIZE structure defines the width and height of a rectangle.

Sources The Sources structure contains a Video Present Network


(VidPN) topology.

STROBJ The STROBJ class, or text string object, contains an


enumeration of glyph handles and positions for the device
driver.

SURFACEALIGNMENT The SURFACEALIGNMENT structure is used by a display driver


to describe the alignment restrictions for a surface being
allocated by HeapVidMemAllocAligned.

SURFOBJ The SURFOBJ structure is the user object for a surface. A


device driver usually calls methods on a surface object only
when the surface object represents a GDI bitmap or a device-
managed surface.

TYPE1_FONT The TYPE1_FONT structure contains the information


necessary for a PostScript driver to access a Type1 font
through GDI.

VIDEOMEMORY The VIDEOMEMORY structure allows the driver to manage its


display memory into heaps.

VIDEOMEMORYINFO The VIDEOMEMORYINFO structure describes the general


format of the display's memory.

VIDEOPARAMETERS The video miniport driver receives a pointer to a


VIDEOPARAMETERS structure in the InputBuffer member of a
VIDEO_REQUEST_PACKET when the IOCTL request is
IOCTL_VIDEO_HANDLE_VIDEOPARAMETERS.

VMEMHEAP The VMEMHEAP structure contains information about the


heap.

WCRUN The WCRUN structure describes a run of Unicode characters.

WNDOBJ The WNDOBJ structure allows the driver to keep track of the
position, size, and visible client region changes of a window.

XFORML The FLOATOBJ_XFORM structure describes an arbitrary linear


two-dimensional transform, such as for geometric wide lines.

XLATEOBJ The XLATEOBJ structure is used to translate color indexes


from one palette to another.
Distributed File System
2/7/2020 • 4 minutes to read • Edit Online

Overview of the Distributed File System technology.


To develop Distributed File System, you need these headers:
lmdfs.h
For programming guidance for this technology, see:
Distributed File System

Enumerations
T IT L E DESC RIP T IO N

DFS_NAMESPACE_VERSION_ORIGIN Identifies the origin of DFS namespace version information.

Functions
T IT L E DESC RIP T IO N

NetDfsAdd Creates a new Distributed File System (DFS) link or adds


targets to an existing link in a DFS namespace.

NetDfsAddFtRoot Creates a new domain-based Distributed File System (DFS)


namespace. If the namespace already exists, the function adds
the specified root target to it.

NetDfsAddRootTarget Creates a domain-based or stand-alone DFS namespace or


adds a new root target to an existing domain-based
namespace.

NetDfsAddStdRoot Creates a new stand-alone Distributed File System (DFS)


namespace.

NetDfsEnum Enumerates the Distributed File System (DFS) namespaces


hosted on a server or DFS links of a namespace hosted by a
server.

NetDfsGetClientInfo Retrieves information about a Distributed File System (DFS)


root or link from the cache maintained by the DFS client.

NetDfsGetFtContainerSecurity Retrieves the security descriptor of the container object for the
domain-based DFS namespaces in the specified Active
Directory domain.

NetDfsGetInfo Retrieves information about a specified Distributed File System


(DFS) root or link in a DFS namespace.
T IT L E DESC RIP T IO N

NetDfsGetSecurity Retrieves the security descriptor for the root object of the
specified DFS namespace.

NetDfsGetStdContainerSecurity Retrieves the security descriptor for the container object of the
specified stand-alone DFS namespace.

NetDfsGetSupportedNamespaceVersion Determines the supported metadata version number.

NetDfsMove Renames or moves a DFS link.

NetDfsRemove Removes a Distributed File System (DFS) link or a specific link


target of a DFS link in a DFS namespace. When removing a
specific link target, the link itself is removed if the last link
target of the link is removed.

NetDfsRemoveFtRoot Removes the specified root target from a domain-based


Distributed File System (DFS) namespace.

NetDfsRemoveFtRootForced Removes the specified root target from a domain-based


Distributed File System (DFS) namespace, even if the root
target server is offline.

NetDfsRemoveRootTarget Removes a DFS root target from a domain-based DFS


namespace. If the root target is the last root target in the DFS
namespace, this function removes the DFS namespace. This
function can also be used to remove a stand-alone DFS
namespace.

NetDfsRemoveStdRoot Deletes a stand-alone Distributed File System (DFS)


namespace.

NetDfsSetClientInfo Modifies information about a Distributed File System (DFS)


root or link in the cache maintained by the DFS client.

NetDfsSetFtContainerSecurity Sets the security descriptor of the container object for the
domain-based DFS namespaces in the specified Active
Directory domain.

NetDfsSetInfo Sets or modifies information about a specific Distributed File


System (DFS) root, root target, link, or link target.

NetDfsSetSecurity Sets the security descriptor for the root object of the specified
DFS namespace.

NetDfsSetStdContainerSecurity Sets the security descriptor for the container object of the
specified stand-alone DFS namespace.

Structures
T IT L E DESC RIP T IO N

DFS_GET_PKT_ENTRY_STATE_ARG Input buffer used with the FSCTL_DFS_GET_PKT_ENTRY_STATE


control code.
T IT L E DESC RIP T IO N

DFS_INFO_1 Contains the name of a Distributed File System (DFS) root or


link.

DFS_INFO_100 Contains a comment associated with a Distributed File System


(DFS) root or link.

DFS_INFO_101 Describes the state of storage on a DFS root, link, root target,
or link target.

DFS_INFO_102 Contains a time-out value to associate with a Distributed File


System (DFS) root or a link in a named DFS root.

DFS_INFO_103 Contains properties that set specific behaviors for a DFS root
or link.

DFS_INFO_104 Contains the priority of a DFS root target or link target.

DFS_INFO_105 Contains information about a DFS root or link, including


comment, state, time-out, and DFS behaviors specified by
property flags.

DFS_INFO_106 Contains the storage state and priority for a DFS root target
or link target. This structure is only for use with the
NetDfsSetInfo function.

DFS_INFO_107 Contains information about a DFS root or link, including the


comment, state, time-out, property flags, and link reparse
point security descriptor.

DFS_INFO_150 Contains the security descriptor for a DFS link's reparse point.

DFS_INFO_2 Contains information about a Distributed File System (DFS)


root or link. This structure contains the name, status, and
number of DFS targets for the root or link.

DFS_INFO_200 Contains the name of a domain-based Distributed File System


(DFS) namespace.

DFS_INFO_3 Contains information about a Distributed File System (DFS)


root or link. This structure contains the name, status, number
of DFS targets, and information about each target of the root
or link.

DFS_INFO_300 Contains the name and type (domain-based or stand-alone)


of a DFS namespace.

DFS_INFO_4 Contains information about a Distributed File System (DFS)


root or link. This structure contains the name, status, GUID,
time-out, number of targets, and information about each
target of the root or link.

DFS_INFO_5 Contains information about a Distributed File System (DFS)


root or link. This structure contains the name, status, GUID,
time-out, namespace/root/link properties, metadata size, and
number of targets for the root or link.
T IT L E DESC RIP T IO N

DFS_INFO_50 Contains the DFS metadata version and capabilities of an


existing DFS namespace.

DFS_INFO_6 Contains information about a Distributed File System (DFS)


root or link. This structure contains the name, status, GUID,
time-out, namespace/root/link properties, metadata size,
number of targets, and information about each target of the
root or link.

DFS_INFO_7 Contains information about a DFS namespace. This structure


contains the version GUID for the metadata for the
namespace.

DFS_INFO_8 Contains the name, status, GUID, time-out, property flags,


metadata size, DFS target information, and link reparse point
security descriptor for a root or link.

DFS_INFO_9 Contains the name, status, GUID, time-out, property flags,


metadata size, DFS target information, link reparse point
security descriptor, and a list of DFS targets for a root or link.

DFS_STORAGE_INFO Contains information about a DFS root or link target in a DFS


namespace or from the cache maintained by the DFS client.

DFS_STORAGE_INFO_1 Contains information about a DFS target, including the DFS


target server name and share name as well as the target's
state and priority.

DFS_SUPPORTED_NAMESPACE_VERSION_INFO Contains version information for a DFS namespace.

DFS_TARGET_PRIORITY Contains the priority class and rank of a specific DFS target.
Distributed Transaction Coordinator WMI Provider
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Distributed Transaction Coordinator WMI Provider technology.


To develop Distributed Transaction Coordinator WMI Provider, you need these headers:
wbemcli.h
For programming guidance for this technology, see:
Distributed Transaction Coordinator WMI Provider
Domain Name System (DNS)
2/7/2020 • 7 minutes to read • Edit Online

Overview of the Domain Name System (DNS) technology.


To develop Domain Name System (DNS), you need these headers:
windns.h
For programming guidance for this technology, see:
Domain Name System (DNS)

Enumerations
T IT L E DESC RIP T IO N

DNS_CHARSET The DNS_CHARSET enumeration specifies the character set


used.

DNS_CONFIG_TYPE The DNS_CONFIG_TYPE enumeration provides DNS


configuration type information.

DNS_FREE_TYPE The DNS_FREE_TYPE enumeration specifies the type of data to


free.

DNS_NAME_FORMAT The DNS_NAME_FORMAT enumeration specifies name format


information for DNS.

DNS_PROXY_INFORMATION_TYPE The DNS_PROXY_INFORMATION_TYPE enumeration defines


the proxy information type in the DNS_PROXY_INFORMATION
structure.

DNS_SECTION The DNS_SECTION enumeration is used in record flags, and as


an index into DNS wire message header section counts.

Functions
T IT L E DESC RIP T IO N

DNS_QUERY_COMPLETION_ROUTINE The DNS_QUERY_COMPLETION_ROUTINE callback is used to


asynchronously return the results of a DNS query.

DnsAcquireContextHandle_A The DnsAcquireContextHandle function type acquires a


context handle to a set of credentials.

DnsAcquireContextHandle_W The DnsAcquireContextHandle function type acquires a


context handle to a set of credentials.

DnsCancelQuery The DnsCancelQuery function can be used to cancel a pending


query to the DNS namespace.
T IT L E DESC RIP T IO N

DnsExtractRecordsFromMessage_UTF8 The DnsExtractRecordsFromMessage function type extracts


resource records (RR) from a DNS message, and stores those
records in a DNS_RECORD structure.

DnsExtractRecordsFromMessage_W The DnsExtractRecordsFromMessage function type extracts


resource records (RR) from a DNS message, and stores those
records in a DNS_RECORD structure.

DnsFree Frees memory allocated for DNS records that was obtained
using the DnsQuery function.

DnsFreeProxyName Frees memory allocated for the proxyName member of a


DNS_PROXY_INFORMATION structure obtained using the
DnsGetProxyInformation function.

DnsGetProxyInformation The DnsGetProxyInformation function returns the proxy


information for a DNS server's name resolution policy table.

DnsModifyRecordsInSet_A Function adds, modifies or removes a Resource Record (RR) set


that may have been previously registered with DNS servers.

DnsModifyRecordsInSet_UTF8 Function adds, modifies or removes a Resource Record (RR) set


that may have been previously registered with DNS servers.

DnsModifyRecordsInSet_W Function adds, modifies or removes a Resource Record (RR) set


that may have been previously registered with DNS servers.

DnsNameCompare The DnsNameCompare function compares two DNS names.

DnsNameCompare_A The DnsNameCompare function compares two DNS names.

DnsNameCompare_W The DnsNameCompare function compares two DNS names.

DnsQuery_A Is the generic query interface to the DNS namespace, and


provides application developers with a DNS query resolution
interface.

DnsQuery_UTF8 Is the generic query interface to the DNS namespace, and


provides application developers with a DNS query resolution
interface.

DnsQuery_W Is the generic query interface to the DNS namespace, and


provides application developers with a DNS query resolution
interface.

DnsQueryConfig The DnsQueryConfig function enables application


programmers to query for the configuration of the local
computer or a specific adapter.

DnsQueryEx The asynchronous generic query interface to the DNS


namespace, and provides application developers with a DNS
query resolution interface.
T IT L E DESC RIP T IO N

DnsRecordCompare The DnsRecordCompare function compares two DNS resource


records (RR).

DnsRecordCopyEx The DnsRecordCopyEx function creates a copy of a specified


resource record (RR). The DnsRecordCopyEx function is also
capable of converting the character encoding during the copy
operation.

DnsRecordListFree Frees memory allocated for DNS records obtained using the
DnsQuery function.

DnsRecordSetCompare The DnsRecordSetCompare function compares two RR sets.

DnsRecordSetCopyEx The DnsRecordSetCopyEx function creates a copy of a specified


resource record set. The DnsRecordSetCopyEx function is also
capable of converting the character encoding during the copy
operation.

DnsRecordSetDetach The DnsRecordSetDetach function detaches the first record set


from a specified list of DNS records.

DnsReleaseContextHandle The DnsReleaseContextHandle function releases memory used


to store the credentials of a specific account.

DnsReplaceRecordSetA Replaces an existing resource record (RR) set.

DnsReplaceRecordSetUTF8 Replaces an existing resource record (RR) set.

DnsReplaceRecordSetW Replaces an existing resource record (RR) set.

DnsValidateName The DnsValidateName function validates the status of a


specified DNS name.

DnsValidateName_A The DnsValidateName function validates the status of a


specified DNS name.

DnsValidateName_UTF8 The DnsValidateName function validates the status of a


specified DNS name.

DnsValidateName_W The DnsValidateName function validates the status of a


specified DNS name.

DnsValidateServerStatus The DnsValidateServerStatus function validates an IP address


as a suitable DNS server.

DnsWriteQuestionToBuffer_UTF8 The DnsWriteQuestionToBuffer function type creates a DNS


query message and stores it in a DNS_MESSAGE_BUFFER
structure.

DnsWriteQuestionToBuffer_W The DnsWriteQuestionToBuffer function type creates a DNS


query message and stores it in a DNS_MESSAGE_BUFFER
structure.
Structures
T IT L E DESC RIP T IO N

DNS_A_DATA The DNS_A_DATA structure represents a DNS address (A)


record as specified in section 3.4.1 of RFC 1035.

DNS_AAAA_DATA The DNS_AAAA_DATA structure represents a DNS IPv6 (AAAA)


record as specified in RFC 3596.

DNS_ADDR A DNS_ADDR structure stores an IPv4 or IPv6 address.

DNS_ADDR_ARRAY Stores an array of IPv4 or IPv6 addresses.

DNS_ATMA_DATA The DNS_ATMA_DATA structure represents a DNS ATM


address (ATMA) resource record (RR).

DNS_DHCID_DATA Represents a DNS Dynamic Host Configuration Protocol


Information (DHCID) resource record (RR) as specified in
section 3 of RFC 4701.

DNS_DS_DATA Represents a DS resource record (RR) as specified in section 2


of RFC 4034 and is used to verify the contents of
DNS_DNSKEY_DATA.

DNS_HEADER The DNS_HEADER structure contains DNS header information


used when sending DNS messages as specified in section 4.1.1
of RFC 1035.

DNS_KEY_DATA The DNS_KEY_DATA structure represents a DNS key (KEY)


resource record (RR) as specified in RFC 3445.

DNS_LOC_DATA The DNS_LOC_DATA structure represents a DNS location (LOC)


resource record (RR) as specified in RFC 1876.

DNS_MESSAGE_BUFFER The DNS_MESSAGE_BUFFER structure stores message


information for DNS queries.

DNS_MINFO_DATAA The DNS_MINFO_DATA structure represents a DNS mail


information (MINFO) record as specified in section 3.3.7 of
RFC 1035.

DNS_MINFO_DATAW The DNS_MINFO_DATA structure represents a DNS mail


information (MINFO) record as specified in section 3.3.7 of
RFC 1035.

DNS_MX_DATAA The DNS_MX_DATA structure represents a DNS mail exchanger


(MX) record as specified in section 3.3.9 of RFC 1035.

DNS_MX_DATAW The DNS_MX_DATA structure represents a DNS mail exchanger


(MX) record as specified in section 3.3.9 of RFC 1035.

DNS_NAPTR_DATAA The DNS_NAPTR_DATA structure represents a Naming


Authority Pointer (NAPTR) DNS Resource Record (RR) as
specified in RFC 2915.
T IT L E DESC RIP T IO N

DNS_NAPTR_DATAW The DNS_NAPTR_DATA structure represents a Naming


Authority Pointer (NAPTR) DNS Resource Record (RR) as
specified in RFC 2915.

DNS_NSEC_DATAA Represents an NSEC resource record (RR) as specified in


section 4 of RFC 4034.

DNS_NSEC_DATAW Represents an NSEC resource record (RR) as specified in


section 4 of RFC 4034.

DNS_NULL_DATA The DNS_NULL_DATA structure represents NULL data for a


DNS resource record as specified in section 3.3.10 of RFC
1035.

DNS_NXT_DATAA The DNS_NXT_DATA structure represents a DNS next (NXT)


resource record (RR) as specified in section 5 of RFC 2535.

DNS_NXT_DATAW The DNS_NXT_DATA structure represents a DNS next (NXT)


resource record (RR) as specified in section 5 of RFC 2535.

DNS_OPT_DATA Represents a DNS Option (OPT) resource record (RR) as


specified in section 4 of RFC 2671.

DNS_PROXY_INFORMATION Contains the proxy information for a DNS server's name


resolution policy table.

DNS_PTR_DATAA The DNS_PTR_DATA structure represents a DNS pointer (PTR)


record as specified in section 3.3.12 of RFC 1035.

DNS_PTR_DATAW The DNS_PTR_DATA structure represents a DNS pointer (PTR)


record as specified in section 3.3.12 of RFC 1035.

DNS_QUERY_CANCEL A DNS_QUERY_CANCEL structure can be used to cancel an


asynchronous DNS query.

DNS_QUERY_REQUEST The DNS_QUERY_REQUEST structure contains the DNS query


parameters used in a call to DnsQueryEx.

DNS_QUERY_RESULT A DNS_QUERY_RESULT structure contains the DNS query


results returned from a call to DnsQueryEx.

DNS_RECORD_FLAGS The DNS_RECORD_FLAGS structure is used to set flags for use


in the DNS_RECORD structure.

DNS_RECORDA Stores a DNS resource record (RR).

DNS_RECORDW Stores a DNS resource record (RR).

DNS_RRSET The DNS_RRSET structure contains information about a DNS


Resource Record (RR) set.

DNS_SIG_DATAA Structure represents a DNS Security Extensions (DNSSEC)


cryptographic signature (SIG) resource record (RR) as specified
in RFC 4034.
T IT L E DESC RIP T IO N

DNS_SIG_DATAW Structure represents a DNS Security Extensions (DNSSEC)


cryptographic signature (SIG) resource record (RR) as specified
in RFC 4034.

DNS_SOA_DATAA The DNS_SOA_DATA structure represents a DNS start of


authority (SOA) record as specified in section 3.3.13 of RFC
1035.

DNS_SOA_DATAW The DNS_SOA_DATA structure represents a DNS start of


authority (SOA) record as specified in section 3.3.13 of RFC
1035.

DNS_SRV_DATAA The DNS_SRV_DATA structure represents a DNS service (SRV)


record as specified in RFC 2782.

DNS_SRV_DATAW The DNS_SRV_DATA structure represents a DNS service (SRV)


record as specified in RFC 2782.

DNS_TKEY_DATAA The DNS_TKEY_DATA structure represents a DNS TKEY


resource record, used to establish and delete an algorithm's
shared-secret keys between a DNS resolver and server as
specified in RFC 2930.

DNS_TKEY_DATAW The DNS_TKEY_DATA structure represents a DNS TKEY


resource record, used to establish and delete an algorithm's
shared-secret keys between a DNS resolver and server as
specified in RFC 2930.

DNS_TSIG_DATAA The DNS_TSIG_DATA structure represents a secret key


transaction authentication (TSIG) resource record (RR) as
specified in RFC 2845 and RFC 3645.

DNS_TSIG_DATAW The DNS_TSIG_DATA structure represents a secret key


transaction authentication (TSIG) resource record (RR) as
specified in RFC 2845 and RFC 3645.

DNS_TXT_DATAA The DNS_TXT_DATA structure represents a DNS text (TXT)


record as specified in section 3.3.14 of RFC 1035.

DNS_TXT_DATAW The DNS_TXT_DATA structure represents a DNS text (TXT)


record as specified in section 3.3.14 of RFC 1035.

DNS_WINS_DATA The DNS_WINS_DATA structure represents a DNS Windows


Internet Name Service (WINS) record.

DNS_WINSR_DATAA The DNS_WINSR_DATA structure represents a DNS Windows


Internet Name Service reverse-lookup (WINSR) record.

DNS_WINSR_DATAW The DNS_WINSR_DATA structure represents a DNS Windows


Internet Name Service reverse-lookup (WINSR) record.

DNS_WIRE_QUESTION The DNS_WIRE_QUESTION structure contains information


about a DNS question transmitted across the network as
specified in section 4.1.2 of RFC 1035..
T IT L E DESC RIP T IO N

DNS_WIRE_RECORD The DNS_WIRE_RECORD structure contains information about


a DNS wire record transmitted across the network as specified
in section 4.1.3 of RFC 1035.

DNS_WKS_DATA The DNS_WKS_DATA structure represents a DNS well-known


services (WKS) record as specified in section 3.4.2 of RFC 1035.

IP4_ARRAY The IP4_ARRAY structure stores an array of IPv4 addresses.

IP6_ADDRESS The IP6_ADDRESS structure stores an IPv6 address.

IP6_ADDRESS The IP6_ADDRESS structure stores an IPv6 address.


Driver Development Tools Reference
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Driver Development Tools Reference technology.


The Driver Development Tools Reference technology is not associated with any headers.
For programming guidance for this technology, see:
Driver Development Tools Reference
DXGI
2/7/2020 • 20 minutes to read • Edit Online

Overview of the DXGI technology.


To develop DXGI, you need these headers:
dxgi.h
dxgi1_2.h
dxgi1_3.h
dxgi1_4.h
dxgi1_5.h
dxgi1_6.h
dxgicommon.h
dxgidebug.h
dxgiformat.h
For programming guidance for this technology, see:
DXGI

Enumerations
T IT L E DESC RIP T IO N

DXGI_ADAPTER_FLAG Identifies the type of DXGI adapter.

DXGI_ADAPTER_FLAG3 Identifies the type of DXGI adapter.

DXGI_ALPHA_MODE Identifies the alpha value, transparency behavior, of a surface.

DXGI_COLOR_SPACE_TYPE Specifies color space types.

DXGI_COMPUTE_PREEMPTION_GRANULARITY Identifies the granularity at which the graphics processing


unit (GPU) can be preempted from performing its current
compute task.

DXGI_DEBUG_RLO_FLAGS Flags used with ReportLiveObjects to specify the amount of


info to report about an object's lifetime.

DXGI_FEATURE Specifies a range of hardware features, to be used when


checking for feature support.

DXGI_FORMAT Resource data formats, including fully-typed and typeless


formats. A list of modifiers at the bottom of the page more
fully describes each format type.

DXGI_FRAME_PRESENTATION_MODE Indicates options for presenting frames to the swap chain.

DXGI_GPU_PREFERENCE The preference of GPU for the app to run on.


T IT L E DESC RIP T IO N

DXGI_GRAPHICS_PREEMPTION_GRANULARITY Identifies the granularity at which the graphics processing


unit (GPU) can be preempted from performing its current
graphics rendering task.

DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS Describes which levels of hardware composition are


supported.

DXGI_HDR_METADATA_TYPE Specifies the header metadata type.

DXGI_INFO_QUEUE_MESSAGE_CATEGORY Values that specify categories of debug messages.

DXGI_INFO_QUEUE_MESSAGE_SEVERITY Values that specify debug message severity levels for an


information queue.

DXGI_MEMORY_SEGMENT_GROUP Specifies the memory segment group to use.

DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS Options for swap-chain color space.

DXGI_OFFER_RESOURCE_FLAGS Specifies flags for the OfferResources1 method.

DXGI_OFFER_RESOURCE_PRIORITY Identifies the importance of a resource’s content when you


call the IDXGIDevice2::OfferResources method to offer the
resource.

DXGI_OUTDUPL_POINTER_SHAPE_TYPE Identifies the type of pointer shape.

DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG Specifies support for overlay color space.

DXGI_OVERLAY_SUPPORT_FLAG Specifies overlay support to check for in a call to


IDXGIOutput3::CheckOverlaySupport.

DXGI_RECLAIM_RESOURCE_RESULTS Specifies result flags for the ReclaimResources1 method.

DXGI_RESIDENCY Flags indicating the memory location of a resource.

DXGI_SCALING Identifies resize behavior when the back-buffer size does not
match the size of the target output.

DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG Specifies color space support for the swap chain.

DXGI_SWAP_CHAIN_FLAG Options for swap-chain behavior.

DXGI_SWAP_EFFECT Options for handling pixels in a display surface after calling


IDXGISwapChain1::Present1.

Functions
T IT L E DESC RIP T IO N

AcquireNextFrame Indicates that the application is ready to process the next


desktop image.
T IT L E DESC RIP T IO N

AcquireSync Using a key, acquires exclusive rendering access to a shared


resource.

AddApplicationMessage Adds a user-defined message to the message queue and


sends that message to the debug output.

AddMessage Adds a debug message to the message queue and sends that
message to the debug output.

AddRetrievalFilterEntries Adds retrieval filters to the top of the retrieval-filter stack.

AddStorageFilterEntries Adds storage filters to the top of the storage-filter stack.

CheckColorSpaceSupport Checks the swap chain's support for color space.

CheckFeatureSupport Used to check for hardware feature support.

CheckHardwareCompositionSupport Notifies applications that hardware stretching is supported.

CheckInterfaceSupport Checks whether the system supports a device interface for a


graphics component.

CheckOverlayColorSpaceSupport Checks for overlay color space support.

CheckOverlaySupport Checks for overlay support.

CheckPresentDurationSupport Queries the graphics driver for a supported frame present


duration corresponding to a custom refresh rate.

ClearRetrievalFilter Removes a retrieval filter from the top of the retrieval-filter


stack.

ClearStorageFilter Removes a storage filter from the top of the storage-filter


stack.

ClearStoredMessages Clears all messages from the message queue.

CreateDecodeSwapChainForCompositionSurfaceHandle Creates a YUV swap chain for an existing DirectComposition


surface handle.

CreateDXGIFactory Creates a DXGI 1.0 factory that you can use to generate
other DXGI objects.

CreateDXGIFactory1 Creates a DXGI 1.1 factory that you can use to generate
other DXGI objects.

CreateDXGIFactory2 Creates a DXGI 1.3 factory that you can use to generate
other DXGI objects.

CreateSharedHandle Creates a handle to a shared resource. You can then use the
returned handle with multiple Direct3D devices.
T IT L E DESC RIP T IO N

CreateSoftwareAdapter Create an adapter interface that represents a software


adapter.

CreateSubresourceSurface Creates a subresource surface object.

CreateSurface Returns a surface. This method is used internally and you


should not call it directly in your application.

CreateSwapChain Creates a swap chain.

CreateSwapChainForComposition Creates a swap chain that you can use to send Direct3D
content into the DirectComposition API or the
Windows.UI.Xaml framework to compose in a window.

CreateSwapChainForCompositionSurfaceHandle Creates a YUV swap chain for an existing DirectComposition


surface handle.

CreateSwapChainForCoreWindow Creates a swap chain that is associated with the CoreWindow


object for the output window for the swap chain.

CreateSwapChainForHwnd Creates a swap chain that is associated with an HWND handle


to the output window for the swap chain.

DisableLeakTrackingForThread Stops tracking leaks for the current thread.

DuplicateOutput Creates a desktop duplication interface from the


IDXGIOutput1 interface that represents an adapter output.

DuplicateOutput1 Allows specifying a list of supported formats for fullscreen


surfaces that can be returned by the IDXGIOutputDuplication
object.

DXGIDeclareAdapterRemovalSupport Allows a process to indicate that it's resilient to any of its


graphics devices being removed.

DXGIGetDebugInterface Retrieves a debugging interface.

DXGIGetDebugInterface1 Retrieves an interface that Windows Store apps use for


debugging the Microsoft DirectX Graphics Infrastructure
(DXGI).

EnableLeakTrackingForThread Starts tracking leaks for the current thread.

EnqueueSetEvent Flushes any outstanding rendering commands and sets the


specified event object to the signaled state after all previously
submitted rendering commands complete.

EnumAdapterByGpuPreference Enumerates graphics adapters based on a given GPU


preference.

EnumAdapterByLuid Outputs the IDXGIAdapter for the specified LUID.

EnumAdapters Enumerates the adapters (video cards).


T IT L E DESC RIP T IO N

EnumAdapters1 Enumerates both adapters (video cards) with or without


outputs.

EnumOutputs Enumerate adapter (video card) outputs.

EnumWarpAdapter Provides an adapter which can be provided to


D3D12CreateDevice to use the WARP renderer.

FindClosestMatchingMode Finds the display mode that most closely matches the
requested display mode.

FindClosestMatchingMode1 Finds the display mode that most closely matches the
requested display mode.

GetAdapter Returns the adapter for the specified device.

GetBackgroundColor Retrieves the background color of the swap chain.

GetBreakOnCategory Determines whether the break on a message category is


turned on or off.

GetBreakOnID Determines whether the break on a message identifier is


turned on or off.

GetBreakOnSeverity Determines whether the break on a message severity level is


turned on or off.

GetBuffer Accesses one of the swap-chain's back buffers.

GetColorSpace Gets the color space used by the swap chain.

GetContainingOutput Get the output (the display monitor) that contains the
majority of the client area of the target window.

GetCoreWindow Retrieves the underlying CoreWindow object for this swap-


chain object.

GetCreationFlags Gets the flags that were used when a Microsoft DirectX
Graphics Infrastructure (DXGI) object was created.

GetCurrentBackBufferIndex Gets the index of the swap chain's current back buffer.

GetDC Returns a device context (DC) that allows you to render to a


Microsoft DirectX Graphics Infrastructure (DXGI) surface using
Windows Graphics Device Interface (GDI).

GetDesc Gets a DXGI 1.0 description of an adapter (or video card).

GetDesc Get a description of the output.

GetDesc Get a description of the surface.


T IT L E DESC RIP T IO N

GetDesc Get a description of the swap chain.

GetDesc Retrieves a description of a duplicated output. This description


specifies the dimensions of the surface that contains the
desktop image.

GetDesc1 Gets a DXGI 1.1 description of an adapter (or video card).

GetDesc1 Gets a description of the swap chain.

GetDesc1 Get an extended description of the output that includes color


characteristics and connection type.

GetDesc2 Gets a Microsoft DirectX Graphics Infrastructure (DXGI) 1.2


description of an adapter or video card.

GetDesc3 Gets a Microsoft DirectX Graphics Infrastructure (DXGI) 1.6


description of an adapter or video card. This description
includes information about ACG compatibility.

GetDestSize Gets the size of the destination surface to use for the video
processing blit operation.

GetDevice Retrieves the device.

GetDisplayModeList Gets the display modes that match the requested format and
other input options.

GetDisplayModeList1 Gets the display modes that match the requested format and
other input options.

GetDisplaySurfaceData Gets a copy of the current display surface.

GetDisplaySurfaceData1 Copies the display surface (front buffer) to a user-provided


resource.

GetEvictionPriority Get the eviction priority.

GetFrameDirtyRects Gets information about dirty rectangles for the current


desktop frame.

GetFrameLatencyWaitableObject Returns a waitable handle that signals when the DXGI adapter
has finished presenting a new frame.

GetFrameMoveRects Gets information about the moved rectangles for the current
desktop frame.

GetFramePointerShape Gets information about the new pointer shape for the current
desktop frame.

GetFrameStatistics Gets statistics about recently rendered frames.

GetFrameStatistics Gets performance statistics about the last render frame.


T IT L E DESC RIP T IO N

GetFrameStatisticsMedia Queries the system for a DXGI_FRAME_STATISTICS_MEDIA


structure that indicates whether a custom refresh rate is
currently approved by the system.

GetFullscreenDesc Gets a description of a full-screen swap chain.

GetFullscreenState Get the state associated with full-screen mode.

GetGammaControl Gets the gamma control settings.

GetGammaControlCapabilities Gets a description of the gamma-control capabilities.

GetGPUThreadPriority Gets the GPU thread priority.

GetHwnd Retrieves the underlying HWND for this swap-chain object.

GetLastPresentCount Gets the number of times that IDXGISwapChain::Present or


IDXGISwapChain1::Present1 has been called.

GetMatrixTransform Gets the transform matrix that will be applied to a


composition swap chain upon the next present.

GetMaximumFrameLatency Gets the number of frames that the system is allowed to


queue for rendering.

GetMaximumFrameLatency Gets the number of frames that the swap chain is allowed to
queue for rendering.

GetMessage Gets a message from the message queue.

GetMessageCountLimit Gets the maximum number of messages that can be added to


the message queue.

GetMuteDebugOutput Determines whether the debug output is turned on or off.

GetNumMessagesAllowedByStorageFilter Gets the number of messages that a storage filter allowed to


pass through.

GetNumMessagesDeniedByStorageFilter Gets the number of messages that were denied passage


through a storage filter.

GetNumMessagesDiscardedByMessageCountLimit Gets the number of messages that were discarded due to the
message count limit.

GetNumStoredMessages Gets the number of messages currently stored in the


message queue.

GetNumStoredMessagesAllowedByRetrievalFilters Gets the number of messages that can pass through a


retrieval filter.

GetParent Gets the parent of the object.


T IT L E DESC RIP T IO N

GetPrivateData Get a pointer to the object's data.

GetResource Gets the parent resource and subresource index that support
a subresource surface.

GetRestrictToOutput Gets the output (the display monitor) to which you can
restrict the contents of a present operation.

GetRetrievalFilter Gets the retrieval filter at the top of the retrieval-filter stack.

GetRetrievalFilterStackSize Gets the size of the retrieval-filter stack in bytes.

GetRotation Gets the rotation of the back buffers for the swap chain.

GetSharedHandle Gets the handle to a shared resource.

GetSharedResourceAdapterLuid Identifies the adapter on which a shared resource object was


created.

GetSourceRect Gets the source region that is used for the swap chain.

GetSourceSize Gets the source region used for the swap chain.

GetStorageFilter Gets the storage filter at the top of the storage-filter stack.

GetStorageFilterStackSize Gets the size of the storage-filter stack in bytes.

GetTargetRect Gets the rectangle that defines the target region for the video
processing blit operation.

GetUsage Get the expected resource usage.

GetWindowAssociation Get the window through which the user controls the
transition to and from full screen.

IsCurrent Informs an application of the possible need to re-enumerate


adapters.

IsLeakTrackingEnabledForThread Gets a value indicating whether leak tracking is turned on for


the current thread.

IsStereoEnabled Retrieves a Boolean value that indicates whether the


operating system's stereoscopic 3D display behavior is
enabled.

IsTemporaryMonoSupported Determines whether a swap chain supports “temporary


mono.”

IsWindowedStereoEnabled Determines whether to use stereo mode.


T IT L E DESC RIP T IO N

MakeWindowAssociation Allows DXGI to monitor an application's message queue for


the alt-enter key sequence (which causes the application to
switch from windowed to full screen or vice versa).

Map Get a pointer to the data contained in the surface, and deny
GPU access to the surface.

MapDesktopSurface Provides the CPU with efficient access to a desktop image if


that desktop image is already in system memory.

OfferResources Allows the operating system to free the video memory of


resources by discarding their content.

OfferResources1 Allows the operating system to free the video memory of


resources, including both discarding the content and de-
committing the memory.

PopRetrievalFilter Pops a retrieval filter from the top of the retrieval-filter stack.

PopStorageFilter Pops a storage filter from the top of the storage-filter stack.

Present Presents a rendered image to the user.

Present1 Presents a frame on the display screen.

PresentBuffer Presents a frame on the output adapter.

PushCopyOfRetrievalFilter Pushes a copy of the retrieval filter that is currently on the


top of the retrieval-filter stack onto the retrieval-filter stack.

PushCopyOfStorageFilter Pushes a copy of the storage filter that is currently on the top
of the storage-filter stack onto the storage-filter stack.

PushDenyAllRetrievalFilter Pushes a deny-all retrieval filter onto the retrieval-filter stack.

PushDenyAllStorageFilter Pushes a deny-all storage filter onto the storage-filter stack.

PushEmptyRetrievalFilter Pushes an empty retrieval filter onto the retrieval-filter stack.

PushEmptyStorageFilter Pushes an empty storage filter onto the storage-filter stack.

PushRetrievalFilter Pushes a retrieval filter onto the retrieval-filter stack.

PushStorageFilter Pushes a storage filter onto the storage-filter stack.

QueryResourceResidency Gets the residency status of an array of resources.

QueryVideoMemoryInfo This method informs the process of the current budget and
process usage.

ReclaimResources Restores access to resources that were previously offered by


calling IDXGIDevice2::OfferResources.
T IT L E DESC RIP T IO N

ReclaimResources1 Restores access to resources that were previously offered by


calling IDXGIDevice4::OfferResources1.

RegisterAdaptersChangedEvent Registers to receive notification of changes whenever the


adapter enumeration state changes.

RegisterHardwareContentProtectionTeardownStatusEvent Registers to receive notification of hardware content


protection teardown events.

RegisterOcclusionStatusEvent Registers to receive notification of changes in occlusion status


by using event signaling.

RegisterOcclusionStatusWindow Registers an application window to receive notification


messages of changes of occlusion status.

RegisterStereoStatusEvent Registers to receive notification of changes in stereo status by


using event signaling.

RegisterStereoStatusWindow Registers an application window to receive notification


messages of changes of stereo status.

RegisterVideoMemoryBudgetChangeNotificationEvent This method establishes a correlation between a CPU


synchronization object and the budget change event.

ReleaseDC Releases the GDI device context (DC) that is associated with
the current surface and allows you to use Direct3D to render.

ReleaseFrame Indicates that the application finished processing the frame.

ReleaseOwnership Releases ownership of the output.

ReleaseSync Using a key, releases exclusive rendering access to a shared


resource.

ReportLiveObjects Reports info about the lifetime of an object or objects.

ResizeBuffers Changes the swap chain's back buffer size, format, and
number of buffers. This should be called when the application
window is resized.

ResizeBuffers1 Changes the swap chain's back buffer size, format, and
number of buffers, where the swap chain was created using a
D3D12 command queue as an input device. This should be
called when the application window is resized.

ResizeTarget Resizes the output target.

SetBackgroundColor Changes the background color of the swap chain.

SetBreakOnCategory Sets a message category to break on when a message with


that category passes through the storage filter.
T IT L E DESC RIP T IO N

SetBreakOnID Sets a message identifier to break on when a message with


that identifier passes through the storage filter.

SetBreakOnSeverity Sets a message severity level to break on when a message


with that severity level passes through the storage filter.

SetColorSpace Sets the color space used by the swap chain.

SetColorSpace1 Sets the color space used by the swap chain.

SetDestSize Sets the size of the destination surface to use for the video
processing blit operation.

SetDisplaySurface Changes the display mode.

SetEvictionPriority Set the priority for evicting the resource from memory.

SetFullscreenState Sets the display state to windowed or full screen.

SetGammaControl Sets the gamma controls.

SetGPUThreadPriority Sets the GPU thread priority.

SetHDRMetaData This method sets High Dynamic Range (HDR) and Wide Color
Gamut (WCG) header metadata.

SetMatrixTransform Sets the transform matrix that will be applied to a


composition swap chain upon the next present.

SetMaximumFrameLatency Sets the number of frames that the system is allowed to


queue for rendering.

SetMaximumFrameLatency Sets the number of frames that the swap chain is allowed to
queue for rendering.

SetMessageCountLimit Sets the maximum number of messages that can be added to


the message queue.

SetMuteDebugOutput Turns the debug output on or off.

SetPresentDuration Requests a custom presentation duration (custom refresh


rate).

SetPrivateData Sets application-defined data to the object and associates


that data with a GUID.

SetPrivateDataInterface Set an interface in the object's private data.

SetRotation Sets the rotation of the back buffers for the swap chain.

SetSourceRect Sets the rectangle that defines the source region for the video
processing blit operation.
T IT L E DESC RIP T IO N

SetSourceSize Sets the source region to be used for the swap chain.

SetStereoEnabled Set a Boolean value to either enable or disable the operating


system's stereoscopic 3D display behavior.

SetTargetRect Sets the rectangle that defines the target region for the video
processing blit operation.

SetVideoMemoryReservation This method sends the minimum required physical memory


for an application, to the OS.

SupportsOverlays Queries an adapter output for multiplane overlay support.

TakeOwnership Takes ownership of an output.

Trim Trims the graphics memory allocated by the IDXGIDevice3


DXGI device on the app's behalf.

Unmap Invalidate the pointer to the surface retrieved by


IDXGISurface::Map and re-enable GPU access to the resource.

UnMapDesktopSurface Invalidates the pointer to the desktop image that was


retrieved by using
IDXGIOutputDuplication::MapDesktopSurface.

UnregisterAdaptersChangedEvent Unregisters an event to stop receiving notifications when the


adapter enumeration state changes.

UnregisterHardwareContentProtectionTeardownStatus Unregisters an event to stop it from receiving notification of


hardware content protection teardown events.

UnregisterOcclusionStatus Unregisters a window or an event to stop it from receiving


notification when occlusion status changes.

UnregisterStereoStatus Unregisters a window or an event to stop it from receiving


notification when stereo status changes.

UnregisterVideoMemoryBudgetChangeNotification This method stops notifying a CPU synchronization object


whenever a budget change occurs. An application may switch
back to polling the information regularly.

WaitForVBlank Halt a thread until the next vertical blank occurs.

Interfaces
T IT L E DESC RIP T IO N

IDXGIAdapter The IDXGIAdapter interface represents a display subsystem


(including one or more GPUs, DACs and video memory).

IDXGIAdapter1 The IDXGIAdapter1 interface represents a display sub-system


(including one or more GPU's, DACs and video memory).
T IT L E DESC RIP T IO N

IDXGIAdapter2 The IDXGIAdapter2 interface represents a display subsystem,


which includes one or more GPUs, DACs, and video memory.

IDXGIAdapter3 This interface adds some memory residency methods, for


budgeting and reserving physical memory.

IDXGIAdapter4 This interface represents a display subsystem, and extends


this family of interfaces to expose a method to check for an
adapter's compatibility with Arbitrary Code Guard (ACG).

IDXGIDebug This interface controls debug settings, and can only be used if
the debug layer is turned on.

IDXGIDebug1 Controls debug settings for Microsoft DirectX Graphics


Infrastructure (DXGI). You can use the IDXGIDebug1 interface
in Windows Store apps.

IDXGIDecodeSwapChain Represents a swap chain that is used by desktop media apps


to decode video data and show it on a DirectComposition
surface.

IDXGIDevice An IDXGIDevice interface implements a derived class for DXGI


objects that produce image data.

IDXGIDevice1 An IDXGIDevice1 interface implements a derived class for


DXGI objects that produce image data.

IDXGIDevice2 The IDXGIDevice2 interface implements a derived class for


DXGI objects that produce image data. The interface exposes
methods to block CPU processing until the GPU completes
processing, and to offer resources to the operating system.

IDXGIDevice3 The IDXGIDevice3 interface implements a derived class for


DXGI objects that produce image data. The interface exposes
a method to trim graphics memory usage by the DXGI
device.

IDXGIDevice4 This interface provides updated methods to offer and reclaim


resources.

IDXGIDeviceSubObject Inherited from objects that are tied to the device so that they
can retrieve a pointer to it.

IDXGIDisplayControl The IDXGIDisplayControl interface exposes methods to


indicate user preference for the operating system's
stereoscopic 3D display behavior and to set stereoscopic 3D
display status to enable or disable.

IDXGIFactory An IDXGIFactory interface implements methods for


generating DXGI objects (which handle full screen transitions).

IDXGIFactory1 The IDXGIFactory1 interface implements methods for


generating DXGI objects.
T IT L E DESC RIP T IO N

IDXGIFactory2 The IDXGIFactory2 interface includes methods to create a


newer version swap chain with more features than
IDXGISwapChain and to monitor stereoscopic 3D capabilities.

IDXGIFactory3 Enables creating Microsoft DirectX Graphics Infrastructure


(DXGI) objects.

IDXGIFactory4 Enables creating Microsoft DirectX Graphics Infrastructure


(DXGI) objects.

IDXGIFactory5 This interface enables a single method to support variable


refresh rate displays.

IDXGIFactory6 This interface enables a single method that enumerates


graphics adapters based on a given GPU preference.

IDXGIFactory7 This interface enables registration for notifications to detect


adapter enumeration state changes.

IDXGIFactoryMedia Creates swap chains for desktop media apps that use
DirectComposition surfaces to decode and display video.

IDXGIInfoQueue This interface controls the debug information queue, and can
only be used if the debug layer is turned on.

IDXGIKeyedMutex Represents a keyed mutex, which allows exclusive access to a


shared resource that is used by multiple devices.

IDXGIObject An IDXGIObject interface is a base interface for all DXGI


objects; IDXGIObject supports associating caller-defined
(private data) with an object and retrieval of an interface to
the parent object.

IDXGIOutput An IDXGIOutput interface represents an adapter output (such


as a monitor).

IDXGIOutput1 An IDXGIOutput1 interface represents an adapter output


(such as a monitor).

IDXGIOutput2 Represents an adapter output (such as a monitor). The


IDXGIOutput2 interface exposes a method to check for
multiplane overlay support on the primary output adapter.

IDXGIOutput3 Represents an adapter output (such as a monitor). The


IDXGIOutput3 interface exposes a method to check for
overlay support.

IDXGIOutput4 Represents an adapter output (such as a monitor). The


IDXGIOutput4 interface exposes a method to check for
overlay color space support.

IDXGIOutput5 Represents an adapter output (such as a monitor). The


IDXGIOutput5 interface exposes a single method to specify a
list of supported formats for fullscreen surfaces.
T IT L E DESC RIP T IO N

IDXGIOutput6 Represents an adapter output (such as a monitor). The


IDXGIOutput6 interface exposes methods to provide specific
monitor capabilities.

IDXGIOutputDuplication The IDXGIOutputDuplication interface accesses and


manipulates the duplicated desktop image.

IDXGIResource An IDXGIResource interface allows resource sharing and


identifies the memory that a resource resides in.

IDXGIResource1 An IDXGIResource1 interface extends the IDXGIResource


interface by adding support for creating a subresource
surface object and for creating a handle to a shared resource.

IDXGISurface The IDXGISurface interface implements methods for image-


data objects.

IDXGISurface1 The IDXGISurface1 interface extends the IDXGISurface by


adding support for using Windows Graphics Device Interface
(GDI) to render to a Microsoft DirectX Graphics Infrastructure
(DXGI) surface.

IDXGISurface2 The IDXGISurface2 interface extends the IDXGISurface1


interface by adding support for subresource surfaces and
getting a handle to a shared resource.

IDXGISwapChain An IDXGISwapChain interface implements one or more


surfaces for storing rendered data before presenting it to an
output.

IDXGISwapChain1 Provides presentation capabilities that are enhanced from


IDXGISwapChain. These presentation capabilities consist of
specifying dirty rectangles and scroll rectangle to optimize the
presentation.

IDXGISwapChain2 Extends IDXGISwapChain1 with methods to support swap


back buffer scaling and lower-latency swap chains.

IDXGISwapChain3 Extends IDXGISwapChain2 with methods to support getting


the index of the swap chain's current back buffer and support
for color space.

IDXGISwapChain4 This interface exposes a single method for setting video


metadata.

IDXGISwapChainMedia This swap chain interface allows desktop media applications to


request a seamless change to a specific refresh rate.

Structures
T IT L E DESC RIP T IO N

DXGI_ADAPTER_DESC Describes an adapter (or video card) by using DXGI 1.0.


T IT L E DESC RIP T IO N

DXGI_ADAPTER_DESC1 Describes an adapter (or video card) using DXGI 1.1.

DXGI_ADAPTER_DESC2 Describes an adapter (or video card) that uses Microsoft


DirectX Graphics Infrastructure (DXGI) 1.2.

DXGI_ADAPTER_DESC3 Describes an adapter (or video card) that uses Microsoft


DirectX Graphics Infrastructure (DXGI) 1.6.

DXGI_DECODE_SWAP_CHAIN_DESC Used with


IDXGIFactoryMedia::CreateDecodeSwapChainForComposition
SurfaceHandle to describe a decode swap chain.

DXGI_DISPLAY_COLOR_SPACE Don't use this structure; it is not supported and it will be


removed from the header in a future release.

DXGI_FRAME_STATISTICS Describes timing and presentation statistics for a frame.

DXGI_FRAME_STATISTICS_MEDIA Used to verify system approval for the app's custom present
duration (custom refresh rate).

DXGI_HDR_METADATA_HDR10 Describes the metadata for HDR10, used when video is


compressed using High Efficiency Video Coding (HEVC).

DXGI_INFO_QUEUE_FILTER Describes a debug message filter, which contains lists of


message types to allow and deny.

DXGI_INFO_QUEUE_FILTER_DESC Describes the types of messages to allow or deny to pass


through a filter.

DXGI_INFO_QUEUE_MESSAGE Describes a debug message in the information queue.

DXGI_MAPPED_RECT Describes a mapped rectangle that is used to access a surface.

DXGI_MATRIX_3X2_F Represents a 3x2 matrix. Used with GetMatrixTransform and


SetMatrixTransform to indicate the scaling and translation
transform for SwapChainPanel swap chains.

DXGI_MODE_DESC1 Describes a display mode and whether the display mode


supports stereo.

DXGI_OUTDUPL_DESC The DXGI_OUTDUPL_DESC structure describes the dimension


of the output and the surface that contains the desktop
image. The format of the desktop image is always
DXGI_FORMAT_B8G8R8A8_UNORM.

DXGI_OUTDUPL_FRAME_INFO The DXGI_OUTDUPL_FRAME_INFO structure describes the


current desktop image.

DXGI_OUTDUPL_MOVE_RECT The DXGI_OUTDUPL_MOVE_RECT structure describes the


movement of a rectangle.

DXGI_OUTDUPL_POINTER_POSITION The DXGI_OUTDUPL_POINTER_POSITION structure describes


the position of the hardware cursor.
T IT L E DESC RIP T IO N

DXGI_OUTDUPL_POINTER_SHAPE_INFO The DXGI_OUTDUPL_POINTER_SHAPE_INFO structure


describes information about the cursor shape.

DXGI_OUTPUT_DESC Describes an output or physical connection between the


adapter (video card) and a device.

DXGI_OUTPUT_DESC1 Describes an output or physical connection between the


adapter (video card) and a device, including additional
information about color capabilities and connection type.

DXGI_PRESENT_PARAMETERS Describes information about present that helps the operating


system optimize presentation.

DXGI_QUERY_VIDEO_MEMORY_INFO Describes the current video memory budgeting parameters.

DXGI_RATIONAL Represents a rational number.

DXGI_SAMPLE_DESC Describes multi-sampling parameters for a resource.

DXGI_SHARED_RESOURCE Represents a handle to a shared resource.

DXGI_SURFACE_DESC Describes a surface.

DXGI_SWAP_CHAIN_DESC Describes a swap chain.

DXGI_SWAP_CHAIN_DESC1 Describes a swap chain.

DXGI_SWAP_CHAIN_FULLSCREEN_DESC Describes full-screen mode for a swap chain.

LUID Describes a local identifier for an adapter.


Dynamic Host Configuration Protocol (DHCP)
2/7/2020 • 25 minutes to read • Edit Online

Overview of the Dynamic Host Configuration Protocol (DHCP) technology.


To develop Dynamic Host Configuration Protocol (DHCP), you need these headers:
dhcpcsdk.h
dhcpsapi.h
dhcpssdk.h
dhcpv6csdk.h
For programming guidance for this technology, see:
Dynamic Host Configuration Protocol (DHCP)

Enumerations
T IT L E DESC RIP T IO N

DHCP_FAILOVER_MODE The DHCP_FAILOVER_MODE enumeration defines the


DHCPv4 server mode operation in a failover relationship.

DHCP_FAILOVER_SERVER The DHCP_FAILOVER_SERVER enumeration defines whether


the DHCP server is the primary or secondary server in a
DHCPv4 failover relationship.

DHCP_FILTER_LIST_TYPE Specifies the types of filter lists available on the DHCP server.

DHCP_FORCE_FLAG The DHCP_FORCE_FLAG enumeration defines the set of flags


describing the force level of a DHCP subnet element deletion
operation.

DHCP_OPTION_DATA_TYPE The DHCP_OPTION_DATA_TYPE enumeration defines the set


of formats that represent DHCP option data.

DHCP_OPTION_SCOPE_TYPE The DHCP_OPTION_SCOPE_TYPE enumeration defines the set


of possible DHCP option scopes.

DHCP_OPTION_SCOPE_TYPE6 Defines the set of possible scopes for DHCP options.

DHCP_OPTION_TYPE The DHCP_OPTION_TYPE enumeration defines the set of


possible DHCP option types.

DHCP_POL_ATTR_TYPE The DHCP_POL_ATTR_TYPE enumeration defines the attribute


type for a condition in a DHCP server policy.

DHCP_POL_COMPARATOR The DHCP_POL_COMPARATOR enumeration defines the


comparison operator for a condition when building a DHCP
server policy.
T IT L E DESC RIP T IO N

DHCP_POL_LOGIC_OPER The DHCP_POL_LOGIC_OPER enumeration defines how to


group the constituent conditions and sub-expressions of an
expression in a DHCP server policy.

DHCP_POLICY_FIELDS_TO_UPDATE The DHCP_POLICY_FIELDS_TO_UPDATE enumeration defines


which properties of a DHCP server policy must be updated.

DHCP_SCAN_FLAG The DHCP_SCAN_FLAG enumeration defines the set of


possible targets of synchronization during a database scan
operation.

DHCP_SEARCH_INFO_TYPE Defines the set of possible attributes used to search DHCP


client information records.

DHCP_SEARCH_INFO_TYPE_V6 Defines the set of possible attributes used to search DHCPv6


client information records.

DHCP_SUBNET_ELEMENT_TYPE The DHCP_SUBNET_ELEMENT_TYPE enumeration defines the


set of possible subnet element types.

DHCP_SUBNET_STATE The DHCP_SUBNET_STATE enumeration defines the set of


possible states for a subnet.

DHCPV6_STATELESS_PARAM_TYPE The DHCPV6_STATELESS_PARAM_TYPE enumeration defines a


DHCPv6 stateless client inventory configuration parameter
type.

FSM_STATE The FSM_STATE enumeration defines the set of possible


failover relationship states on a DHCPv4 server.

QuarantineStatus The QuarantineStatus enumeration specifies possible health


status values for the DHCPv4 client, as validated at the NAP
server.

StatusCode The StatusCode enum contains status codes for IPv6


operations.

Functions
T IT L E DESC RIP T IO N

DhcpAddFilterV4 Adds a link-layer address or address pattern to the allow/deny


lists.

DhcpAddServer The DhcpAddServer function attempts to add a new server to


the existing list of DHCP servers maintained in the domain
directory service. If the specified DHCP server already exists in
the directory service, an error is returned.

DhcpAddSubnetElement Adds an element describing a feature or aspect of the subnet


to the subnet entry in the DHCP database.
T IT L E DESC RIP T IO N

DhcpAddSubnetElementV4 Adds an element describing a feature or aspect of the subnet


to the subnet entry in the DHCP database. This function
extends DhcpAddSubnetElement by incorporating subnet
elements that consider client type.

DhcpAddSubnetElementV5 The DhcpAddSubnetElementV5 function adds an element


describing a feature or aspect of the subnet to the subnet
entry in the DHCP database. Windows 2000 and earlier: This
function is not available.

DhcpAddSubnetElementV6 The DhcpAddSubnetElementV6 function adds an element


describing a feature or aspect of the subnet to the subnet
entry in the DHCP database.

DhcpAuditLogGetParams Returns the audit log configuration settings from the DHCP
server.

DhcpAuditLogSetParams Sets the parameters for audit log generation on a DHCP


server.

DhcpCApiCleanup The DhcpCApiCleanup function enables DHCP to properly


clean up resources allocated throughout the use of DHCP
function calls. The DhcpCApiCleanup function must only be
called if a previous call to DhcpCApiInitialize executed
successfully.

DhcpCApiInitialize The DhcpCApiInitialize function must be the first function call


made by users of DHCP; it prepares the system for all other
DHCP function calls. Other DHCP functions should only be
called if the DhcpCApiInitialize function executes successfully.

DhcpCreateClass Creates a custom option class.

DhcpCreateClassV6 Creates a custom DHCPv6 option class.

DhcpCreateClientInfo The DhcpCreateClientInfo function creates a client information


record on the DHCP server.

DhcpCreateClientInfoV4 Creates a client information record on the DHCP server,


extending the functionality of DhcpCreateClientInfo by
including the client type (DHCP or BOOTP) in the record.

DhcpCreateClientInfoVQ Creates the provided DHCP client lease record in the DHCP
server database.

DhcpCreateOption Creates an option definition for the default user and vendor
class at the default option level.

DhcpCreateOptionV5 Creates a DHCP option.

DhcpCreateOptionV6 The DhcpCreateOptionV6 function creates a DHCP option.

DhcpCreateSubnet The DhcpCreateSubnet function creates a new subnet on the


DHCP server.
T IT L E DESC RIP T IO N

DhcpCreateSubnetV6 The DhcpCreateSubnetV6 function creates a new subnet on


the DHCP server.

DhcpCreateSubnetVQ The DhcpCreateSubnetVQ function creates a new IPv4 subnet


and its associated NAP state information on the DHCP server.

DhcpDeleteClass Deletes a DHCP class from the DHCP server.

DhcpDeleteClassV6 Deletes a DHCP class from the DHCPv6 server.

DhcpDeleteClientInfo The DhcpDeleteClientInfo function deletes a client information


record from the DHCP server.

DhcpDeleteClientInfoV6 Deletes the specified DHCPv6 client address release record


from the DHCPv6 server database.

DhcpDeleteFilterV4 Deletes a link-layer address or address pattern from a DHCP


server's allow/deny lists.

DhcpDeleteServer The DhcpDeleteServer function attempts to delete a DHCP


server and any related objects (such as subnet information
and IP reservations) from the directory service.

DhcpDeleteSubnet The DhcpDeleteSubnet function deletes a subnet from the


DHCP server.

DhcpDeleteSubnetV6 The DhcpDeleteSubnetV6 function deletes a subnet from the


DHCP server.

DhcpDeleteSuperScopeV4 Deletes a superscope from the DHCP server.

DhcpDeRegisterParamChange The DhcpDeRegisterParamChange function releases resources


associated with previously registered event notifications, and
closes the associated event handle.

DhcpDsCleanup The DhcpDsCleanup function frees up directory service


resources allocated for DHCP services by DhcpDsInit. This
function should be called exactly once for each corresponding
DHCP service process, and only when the process is
terminated.

DhcpDsInit The DhcpDsInit function initializes memory within the


directory service for a new DHCP server process.

DhcpEnumClasses Enumerates the user or vendor classes configured for the


DHCP server.

DhcpEnumClassesV6 Enumerates the user or vendor classes configured for the


DHCPv6 server.

DhcpEnumFilterV4 Enumerates all of the filter records from the DHCP server's
allow or deny list.
T IT L E DESC RIP T IO N

DhcpEnumOptions Returns an enumerated set of options stored on the DHCPv4


server.

DhcpEnumOptionsV5 The DhcpEnumOptionsV5 function returns an enumerated list


of DHCP options for a given user or vendor class.

DhcpEnumOptionsV6 The DhcpEnumOptionsV6 function returns an enumerated list


of DHCP options for a given class and/or vendor.

DhcpEnumOptionValues Returns an enumerated list of option values (just the option


data and the associated ID number) for a given scope.

DhcpEnumOptionValuesV5 The DhcpEnumOptionValuesV5 function returns an


enumerated list of option values (just the option data and the
associated ID number) for a specific scope within a given user
or vendor class.

DhcpEnumOptionValuesV6 The DhcpEnumOptionValuesV6 function returns an


enumerated list of option values (the option data and the
associated ID number) for a specific scope within a given class.

DhcpEnumServers The DhcpEnumServers function returns an enumerated list of


DHCP servers found in the directory service.

DhcpEnumSubnetClients The DhcpEnumSubnetClients function returns an enumerated


list of clients with served IP addresses in the specified subnet.

DhcpEnumSubnetClientsFilterStatusInfo Enumerates all of the DHCP clients serviced on the specified


subnet, and includes link-layer filter status for each of them.

DhcpEnumSubnetClientsV4 Returns an enumerated list of client lease records with served


IP addresses in the specified subnet.

DhcpEnumSubnetClientsV5 Returns an enumerated list of clients with served IP addresses


in the specified subnet.

DhcpEnumSubnetClientsV6 The DhcpEnumSubnetClientsV6 function returns an


enumerated list of clients with served IP addresses in the
specified subnet.

DhcpEnumSubnetClientsVQ Retrieves all DHCP clients serviced from the specified IPv4
subnet.

DhcpEnumSubnetElements Returns an enumerated list of elements for a specific DHCP


subnet.

DhcpEnumSubnetElementsV4 Returns an enumerated list of elements for a specific DHCP


subnet. This function extends DhcpEnumSubnetElements by
returning a list of DHCP_SUBNET_ELEMENT_DATA_V4
structures, which can contain IP reservations based on client
type.

DhcpEnumSubnetElementsV5 The DhcpEnumSubnetElementsV5 function returns an


enumerated list of elements for a specific DHCP subnet.
T IT L E DESC RIP T IO N

DhcpEnumSubnetElementsV6 The DhcpEnumSubnetElementsV6 function returns an


enumerated list of elements for a specific DHCP subnet.

DhcpEnumSubnets The DhcpEnumSubnets function returns an enumerated list of


subnets defined on the DHCP server.

DhcpEnumSubnetsV6 The DhcpEnumSubnetsV6 function returns an enumerated list


of subnets defined on the DHCP server.

DhcpGetAllOptions Returns an array that contains all options defined on the


DHCP server.

DhcpGetAllOptionsV6 The DhcpGetAllOptionsV6 function returns an array that


contains all options defined on the DHCP server.

DhcpGetAllOptionValues Returns an array that contains all option values defined for a
specific scope on the DHCP server.

DhcpGetAllOptionValuesV6 The DhcpGetAllOptionValuesV6 function returns an array that


contains all option values defined for a specific scope on the
DHCP server.

DhcpGetClassInfo The DhcpGetClassInfo function returns the user or vendor


class information configured on a specific DHCP server.

DhcpGetClientInfo The DhcpGetClientInfo function returns information about a


specific DHCP client.

DhcpGetClientInfoV4 Returns information on a specific DHCP client. This function


extends DhcpGetClientInfo by returning a
DHCP_CLIENT_INFO_V4 structure that contains client type
information.

DhcpGetClientInfoV6 Retrieves IPv6 address lease information for a specific IPv6


client reservation from the DHCPv6 server.

DhcpGetClientInfoVQ Retrieves DHCP client lease record information from the DHCP
server database.

DhcpGetClientOptions Returns only ERROR_NOT_IMPLEMENTED, as it is not used or


supported.

DhcpGetFilterV4 Retrieves the enable/disable settings for the DHCPv4 server's


allow/deny lists.

DhcpGetMibInfoV5 Obtains a MIB data structure that contains current statistics


about the specified DHCP server.

DhcpGetMibInfoV6 Retrieves the IPv6 counter values of the DHCP server.

DhcpGetOptionInfo Returns information on a specific DHCP option for the default


user and vendor class.
T IT L E DESC RIP T IO N

DhcpGetOptionInfoV5 The DhcpGetOptionInfoV5 function returns information on a


specific DHCP option.

DhcpGetOptionInfoV6 The DhcpGetOptionInfoV6 function returns information on a


specific DHCP option.

DhcpGetOptionValue The DhcpGetOptionValue function retrieves a DHCP option


value (the option code and associated data) for a particular
scope.

DhcpGetOptionValueV5 The DhcpGetOptionValueV5 function retrieves a DHCP option


value (the option code and associated data) for a particular
scope.

DhcpGetOptionValueV6 Retrieves the option value for a specific option defined on the
DHCPv6 server for a specific user or vendor class.

DhcpGetServerBindingInfo The DhcpGetServerBindingInfo function returns endpoint


bindings set on the DHCP server.

DhcpGetServerBindingInfoV6 Retrieves an array of IPv6 interface binding information


specific to the DHCPv6 server.

DhcpGetServerSpecificStrings Retrieves the names of the default vendor class and user class.

DhcpGetSubnetDelayOffer Obtains the delay period for DHCP OFFER messages after a
DISCOVER message is received.

DhcpGetSubnetInfo The DhcpGetSubnetInfo function returns information on a


specific subnet.

DhcpGetSubnetInfoV6 The DhcpGetSubnetInfoV6 function returns information on a


specific subnet.

DhcpGetSubnetInfoVQ Retrieves the information about a specific IPv4 subnet defined


on the DHCP server.

DhcpGetSuperScopeInfoV4 Returns information on the superscope of a DHCP server.

DhcpGetThreadOptions The DhcpGetThreadOptions function retrieves the current


thread options as set by DhcpSetThreadOptions.

DhcpGetVersion The DhcpGetVersion function returns the major and minor


version numbers of the DHCP server.

DhcpHlprAddV4PolicyCondition Allocates, initializes, and adds a DHCP server policy condition


to a DHCP server policy.

DhcpHlprAddV4PolicyExpr Allocates, initializes, and adds a DHCP server policy expression


to a DHCP server policy.

DhcpHlprAddV4PolicyRange Adds a DHCP IPv4 range to a DHCP server policy.


T IT L E DESC RIP T IO N

DhcpHlprCreateV4Policy Allocates and initializes a DHCP server policy structure.

DhcpHlprFreeV4Policy Frees the memory of all the data structures within a DHCP
server policy structure.

DhcpHlprIsV4PolicySingleUC Verifies that a DHCP server policy is based on a single user


class.

DhcpHlprIsV4PolicyValid Verifies a DHCP server policy.

DhcpHlprIsV4PolicyWellFormed Verifies that a DHCP server policy structure is well formed.

DhcpHlprModifyV4PolicyExpr Modifies the DHCP server policy expression in a DHCP server


policy structure.

DhcpHlprResetV4PolicyExpr Resets the DHCP server policy expression in a DHCP server


policy structure.

DhcpModifyClass Modifies a DHCP class defined on the server.

DhcpModifyClassV6 Modifies a DHCPv6 user or vendor class defined on the server.

DhcpRegisterParamChange The DhcpRegisterParamChange function enables clients to


register for notification of changes in DHCP configuration
parameters.

DhcpRemoveDNSRegistrations The DhcpRemoveDNSRegistrations function removes all


DHCP-initiated DNS registrations for the client.

DhcpRemoveOption Removes the definition of a specific option for the default user
class and vendor class at the default option level on the DHCP
server.

DhcpRemoveOptionV5 Removes the definition of a specific option for a specific user


class and vendor class at the default option level on the DHCP
server. This extends the functionality in DhcpRemoveOption
with support for specific class and vendor names.

DhcpRemoveOptionV6 The DhcpRemoveOptionV6 function removes an option


defined on the DHCP server.

DhcpRemoveOptionValue Removes the option value for a specific option on the DHCP4
server for the default user class and vendor class, for the
specified scope.

DhcpRemoveOptionValueV5 The DhcpRemoveOptionValueV5 function removes an option


value from a scope defined on the DHCP server.

DhcpRemoveOptionValueV6 The DhcpRemoveOptionValueV6 function removes an option


value from a scope defined on the DHCP server.

DhcpRemoveSubnetElement Removes an IPv4 subnet element from an IPv4 subnet defined


on the DHCPv4 server.
T IT L E DESC RIP T IO N

DhcpRemoveSubnetElementV4 Removes an IPv4 subnet element from an IPv4 subnet defined


on the DHCPv4 server. The function extends the functionality
provided by DhcpRemoveSubnetElement by allowing the
specification of a subnet that contains client type (DHCP or
BOOTP) information.

DhcpRemoveSubnetElementV5 The DhcpRemoveSubnetElementV5 function removes an


element from a subnet defined on the DHCP server.

DhcpRemoveSubnetElementV6 The DhcpRemoveSubnetElementV6 function removes an


element from a subnet defined on the DHCP server.

DhcpRequestParams The DhcpRequestParams function enables callers to


synchronously, or synchronously and persistently obtain
DHCP data from a DHCP server.

DhcpRpcFreeMemory The DhcpRpcFreeMemory function frees a block of buffer


space returned as a parameter.

DhcpScanDatabase Enumerates the leased DHCPv4 client IPv4 addresses that are
not synchronized between the in-memory cache and the
server database.

DhcpServerBackupDatabase Backs up the DHCP server database configuration, settings,


and DHCP client lease record to a specified file location.

DhcpServerGetConfig Returns the specific configuration settings of a DHCP server.

DhcpServerGetConfigV4 Returns the specific configuration settings of a DHCP server.

DhcpServerGetConfigV6 Retrieves the configuration information for the DHCPv6


server.

DhcpServerGetConfigVQ Retrieves the current DHCP server configuration settings.

DhcpServerQueryAttribute Returns specific attribute information from the DHCP server.

DhcpServerQueryAttributes Returns an array of attributes set on the DHCP server.

DhcpServerQueryDnsRegCredentials Retrieves the current Domain Name System (DNS) credentials


used by the DHCP server for client dynamic DNS registration.

DhcpServerRedoAuthorization The DhcpServerRedoAuthorization function attempts to


determine whether the DHCP server is authorized and
restores leasing operations if it is not.

DhcpServerRestoreDatabase Restores the settings, configuration, and records for a client


lease database from a specific backup location (path).

DhcpServerSetConfig Configures a DHCPv4 server with specific settings, including


information on the JET database used to store subnet and
client lease information, and the supported protocols.
T IT L E DESC RIP T IO N

DhcpServerSetConfigV4 The DhcpServerSetConfigV4 function configures a DHCP


server with specific settings, including information on the JET
database used to store subnet and client lease information,
and the supported protocols.

DhcpServerSetConfigV6 Sets the DHCPv6 server configuration data at the scope or


server level.

DhcpServerSetConfigVQ Sets or updates DHCP server settings.

DhcpServerSetDnsRegCredentialsV5 Sets the credentials used by the DHCP server to create


Domain Name System (DNS) registrations for the DHCP client
lease record.

DhcpSetClientInfo The DhcpSetClientInfo function sets information on a client


whose IP address lease is administrated by the DHCP server.

DhcpSetClientInfoV4 Sets information on a client whose IP address lease is


administrated by the DHCP server. This function extends the
functionality provided by DhcpSetClientInfo by allowing the
caller to specify the client type (DHCP or BOOTP).

DhcpSetClientInfoV6 Sets or modifies the reserved DHCPv6 client lease record in


the DHCPv6 server database.

DhcpSetClientInfoVQ Sets or modifies an existing DHCP client lease record in the


DHCP server record database.

DhcpSetFilterV4 Enables or disables the allow and deny lists on a DHCP server.

DhcpSetOptionInfo Modifies the option definition of the specified option for the
default user class and vendor class at the default option level.

DhcpSetOptionInfoV5 Sets information for a specific DHCP option.

DhcpSetOptionInfoV6 The DhcpSetOptionInfoV6 function sets information for a


specific DHCP option.

DhcpSetOptionValue Sets information for a specific option value on the DHCP


server.

DhcpSetOptionValues Sets option codes and their associated data values for a
specific scope defined on the DHCP server.

DhcpSetOptionValuesV5 Sets option codes and their associated data values for a
specific scope defined on the DHCP server. This function
extends the functionality provided by DhcpSetOptionValues
by allowing the caller to specify a class and/or vendor for the
options.

DhcpSetOptionValueV5 The DhcpSetOptionValueV5 function sets information for a


specific option value on the DHCP server. This function
extends the functionality provided by DhcpSetOptionValue by
allowing the caller to specify a class and/or vendor for the
option.
T IT L E DESC RIP T IO N

DhcpSetOptionValueV6 The DhcpSetOptionValueV6 function sets information for a


specific option value on the DHCP server.

DhcpSetServerBindingInfo The DhcpSetServerBindingInfo function sets endpoint


bindings for the DHCP server.

DhcpSetServerBindingInfoV6 Sets or modifies the IPv6 interface bindings for the DHCPv6
server.

DhcpSetSubnetDelayOffer Sets the delay period for DHCP OFFER messages after a
DISCOVER message is received, for a specific DHCP scope.

DhcpSetSubnetInfo The DhcpSetSubnetInfo function sets information about a


subnet defined on the DHCP server.

DhcpSetSubnetInfoV6 Sets or updates the information for an IPv6 subnet defined on


the DHCPv6 server.

DhcpSetSubnetInfoVQ Sets information about a subnet defined on the DHCP server.

DhcpSetSuperScopeV4 Sets a subnet as the superscope on a DHCP server.

DhcpSetThreadOptions The DhcpSetThreadOptions function sets options on the


currently executing DHCP thread.

DhcpUndoRequestParams The DhcpUndoRequestParams function removes persistent


requests previously made with a DhcpRequestParams function
call.

DhcpV4AddPolicyRange Adds an IP address range to a policy.

DhcpV4CreateClientInfo Creates a DHCPv4 client lease record in the DHCP server


database.

DhcpV4CreatePolicy Creates a new policy on the DHCP Server.

DhcpV4DeletePolicy Deletes an existing policy from the DHCP Server.

DhcpV4EnumPolicies Enumerates the policies configured on the DHCP Server.

DhcpV4EnumSubnetClients Enumerates all DHCP client records serviced from the


specified IPv4 subnet.

DhcpV4EnumSubnetReservations Enumerates the reservations for a specific DHCP IPv4 subnet.

DhcpV4FailoverAddScopeToRelationship Adds a DHCPv4 scope to the specified failover relationship.


T IT L E DESC RIP T IO N

DhcpV4FailoverCreateRelationship Creates a new DHCPv4 failover relationship between two


servers.

DhcpV4FailoverDeleteRelationship Deletes a DHCPv4 failover relationship between two servers.

DhcpV4FailoverDeleteScopeFromRelationship Deletes a DHCPv4 scope from the specified failover


relationship.

DhcpV4FailoverEnumRelationship Enumerates all failover relationships present on the server.

DhcpV4FailoverGetAddressStatus Returns the status of a IPv4 address.

DhcpV4FailoverGetClientInfo Retrieves the DHCPv4 client lease information.

DhcpV4FailoverGetRelationship Retrieves relationship details for a specific relationship name.

DhcpV4FailoverGetScopeRelationship Retrieves the failover relationship that is configured on a


specified DHCPv4 scope.

DhcpV4FailoverGetScopeStatistics Retrieves the address usage statistics of a specific scope that is


part of a failover relationship.

DhcpV4FailoverGetSystemTime Returns the current time on the DHCP server.

DhcpV4FailoverSetRelationship Sets or modifies the parameters of a DHCPv4 server failover


relationship.

DhcpV4FailoverTriggerAddrAllocation Redistributes the free addresses between the primary server


and the secondary server that are part of a failover
relationship.

DhcpV4GetAllOptionValues Retrieves an array of DHCP option values (the option code


and associated data) for a particular scope.

DhcpV4GetClientInfo Retrieves DHCP client lease record information from the DHCP
server database.

DhcpV4GetFreeIPAddress Retrieves the list of available IPv4 addresses that can be leased
to clients.

DhcpV4GetOptionValue Retrieves a DHCP option value (the option code and


associated data) for a particular scope. This function extends
the functionality provided by DhcpGetOptionValueV5 by
allowing the caller to specify a policy for the option.

DhcpV4GetPolicy Retrieves a policy from the DHCP Server.

DhcpV4QueryPolicyEnforcement Retrieves the policy enforcement state on the server or the


specified IPv4 subnet from the DHCP Server.
T IT L E DESC RIP T IO N

DhcpV4RemoveOptionValue Removes an option value from a scope defined on the DHCP


server. This function extends the functionality provided by
DhcpRemoveOptionValueV5 by allowing the caller to specify a
policy for the option.

DhcpV4RemovePolicyRange Removes the specified IP address range from the list of IP


address ranges of the policy.

DhcpV4SetOptionValue Sets information for a specific option value on the DHCP


server. This function extends the functionality provided by
DhcpSetOptionValueV5 by allowing the caller to specify a
policy for the option.

DhcpV4SetOptionValues Sets option codes and their associated data values for a
specific scope defined on the DHCP server. This function
extends the functionality provided by DhcpSetOptionValuesV5
by allowing the caller to specify a policy for the options.

DhcpV4SetPolicy Updates one or more parameters of an existing policy.

DhcpV4SetPolicyEnforcement Sets the policy enforcement state of the server or the


specified IPv4 subnet on the DHCP Server.

Dhcpv6CApiCleanup The Dhcpv6CApiCleanup function enables DHCPv6 to


properly clean up resources allocated throughout the use of
DHCPv6 function calls. The Dhcpv6CApiCleanup function
must only be called if a previous call to Dhcpv6CApiInitialize
executed successfully.

Dhcpv6CApiInitialize The Dhcpv6CApiInitialize function must be the first function


call made by users of DHCPv6.

DhcpV6CreateClientInfo Creates a DHCPv6 client lease record in the DHCP server


database.

DhcpV6GetFreeIPAddress Retrieves the list of available IPv6 addresses that can be leased
to clients.

DhcpV6GetStatelessStatistics Retrieves the stateless server IPv6 subnet statistics.

DhcpV6GetStatelessStoreParams Retrieves the current DHCPv6 stateless client inventory


configuration settings at the server or scope level.

Dhcpv6ReleasePrefix Releases a prefix.

Dhcpv6RenewPrefix Renews a prefix.

Dhcpv6RequestParams Requests options from the DHCPv6 client cache or directly


from the DHCPv6 server.

Dhcpv6RequestPrefix Requests a specific prefix.

DhcpV6SetStatelessStoreParams Sets the DHCPv6 stateless client inventory configuration


settings at the server or scope level.
T IT L E DESC RIP T IO N

LPDHCP_CONTROL The DhcpControlHook function is called by Microsoft DHCP


Server when the DHCP Server service is started, stopped,
paused, or continued.

LPDHCP_DELETE_CLIENT The DhcpDeleteClientHook function is called by Microsoft


DHCP Server directly before a client lease is deleted from the
active leases database.

LPDHCP_DROP_SEND LPDHCP_DROP_SEND callback function

LPDHCP_ENTRY_POINT_FUNC The DhcpServerCalloutEntry function is called by Microsoft


DHCP Server to initialize a third-party DLL, and to discover
for which events the third-party DLL wants notification. The
DhcpServerCalloutEntry function is implemented by third-
party DLLs.

LPDHCP_GIVE_ADDRESS The DhcpAddressOfferHook function is called by Microsoft


DHCP Server directly before Microsoft DHCP Server sends an
acknowledgement (ACK) to a DHCP REQUEST message.

LPDHCP_HANDLE_OPTIONS The DhcpHandleOptionsHook function enables third-party


DLLs to obtain commonly used options from a DHCP packet,
avoiding the need to process the entire DHCP packet. The
DhcpHandleOptionsHook function should not block.

LPDHCP_NEWPKT The DhcpNewPktHook function is called by Microsoft DHCP


Server shortly after it receives a DHCP packet slated for
processing.

LPDHCP_PROB The DhcpAddressDelHook function is called by Microsoft


DHCP Server when one of the following four defined events
occurs.

Structures
T IT L E DESC RIP T IO N

DATE_TIME The DATE_TIME structure defines a 64-bit integer value that


contains a date/time, expressed as the number of ticks (100-
nanosecond increments) since 12:00 midnight, January 1, 1
C.E. in the Gregorian calendar.

DHCP_ADDR_PATTERN Contains the information regarding the link-layer


address/pattern.

DHCP_ALL_OPTION_VALUES Defines the set of all option values defined on a DHCP server,
organized according to class/vendor pairing.

DHCP_ALL_OPTION_VALUES_PB The DHCP_ALL_OPTION_VALUES_PB structure defines the set


of all option values for a DHCP server within a scope.

DHCP_ALL_OPTIONS Defines the set of all options available on a DHCP server.

DHCP_ATTRIB Defines an attribute set on the DHCP server.


T IT L E DESC RIP T IO N

DHCP_ATTRIB_ARRAY Defines a set of DHCP server attributes.

DHCP_BINARY_DATA The DHCP_BINARY_DATA structure defines an opaque blob of


binary data.

DHCP_BIND_ELEMENT Defines an individual network binding for the DHCP server. A


single DHCP server can contain multiple bindings and serve
multiple networks.

DHCP_BIND_ELEMENT_ARRAY The DHCP_BIND_ELEMENT_ARRAY structure defines an array


of network binding elements used by a DHCP server.

DHCP_BOOTP_IP_RANGE The DHCP_BOOTP_IP_RANGE structure defines a suite of IPs


for lease to BOOTP-specific clients.

DHCP_CALLOUT_TABLE The DHCP_CALLOUT_TABLE structure is used by Microsoft


DHCP Server and third-party DLLs to send notification
requests for DHCP Server events.

DHCP_CLASS_INFO Defines a DHCP option class.

DHCP_CLASS_INFO_ARRAY Defines an array of elements that contain DHCP class


information.

DHCP_CLASS_INFO_ARRAY_V6 The DHCP_CLASS_INFO_ARRAY_V6 structure contains a list of


information regarding a user class or a vendor class.

DHCP_CLASS_INFO_V6 Contains the information for a particular DHCPv6 user class


or vendor class.

DHCP_CLIENT_FILTER_STATUS_INFO Defines information about the DHCPv4 client, including filter


status information.

DHCP_CLIENT_FILTER_STATUS_INFO_ARRAY Contains an array of information elements for DHCPv4 clients.

DHCP_CLIENT_INFO The DHCP_CLIENT_INFO structure defines a client information


record used by the DHCP server.

DHCP_CLIENT_INFO_ARRAY The DHCP_CLIENT_INFO_ARRAY structure defines an array of


DHCP_CLIENT_INFO structures for use with enumeration
functions.

DHCP_CLIENT_INFO_ARRAY_V4 Defines an array of DHCP_CLIENT_INFO_V4 structures for use


with enumeration functions.

DHCP_CLIENT_INFO_ARRAY_V5 Defines an array of DHCP_CLIENT_INFO_V5 structures for use


with enumeration functions.

DHCP_CLIENT_INFO_ARRAY_V6 Defines an array of DHCP_CLIENT_INFO_V6 structures for use


with DHCPv6 client enumeration functions.

DHCP_CLIENT_INFO_ARRAY_VQ Specifies an array of DHCP_CLIENT_INFO_VQ structures.


T IT L E DESC RIP T IO N

DHCP_CLIENT_INFO_PB The DHCP_CLIENT_INFO_PB structure defines information


about a DHCPv4 client, including filter status information and
any policies that resulted in the IPv4 address assignment.

DHCP_CLIENT_INFO_PB_ARRAY The DHCP_CLIENT_INFO_PB_ARRAY structure defines an array


of DHCPv4 client information elements.

DHCP_CLIENT_INFO_V4 Defines a client information record used by the DHCP server,


extending the definition provided in DHCP_CLIENT_INFO by
including client type information.

DHCP_CLIENT_INFO_V5 Defines a client information record used by the DHCP server,


extending the definition provided in DHCP_CLIENT_INFO by
including client type and address state information.

DHCP_CLIENT_INFO_V6 The DHCP_CLIENT_INFO_V6 structure contains information


on DHCPv6 clients.

DHCP_CLIENT_INFO_VQ Defines information about the DHCPv4 client.

DHCP_FAILOVER_RELATIONSHIP The DHCP_FAILOVER_RELATIONSHIP structure defines


information about a DHCPv4 server failover relationship.

DHCP_FAILOVER_RELATIONSHIP_ARRAY The DHCP_FAILOVER_RELATIONSHIP_ARRAY structure defines


an array of DHCPv4 failover relationships between partner
servers.

DHCP_FAILOVER_STATISTICS The DHCP_FAILOVER_STATISTICS structure defines DHCP


server scope statistics that are part of a failover relationship.

DHCP_FILTER_ADD_INFO Contains information regarding the link-layer filter to be


added to the allow and deny filter list.

DHCP_FILTER_ENUM_INFO Contains information regarding the number of link-layer filter


records.

DHCP_FILTER_GLOBAL_INFO Contains information about the enabling and disabling of the


allow and deny filter lists.

DHCP_FILTER_RECORD Contains information for a specific link-layer filter.

DHCP_HOST_INFO The DHCP_HOST_INFO structure defines information on a


DHCP server (host).

DHCP_HOST_INFO_V6 Contains network information about a DHCPv6 server (host),


such as its IPv6 address and name.

DHCP_IP_ARRAY The DHCP_IP_ARRAY structure defines an array of IP


addresses.

DHCP_IP_CLUSTER The DHCP_IP_CLUSTER structure defines the address and


mast for a network cluster.
T IT L E DESC RIP T IO N

DHCP_IP_RANGE The DHCP_IP_RANGE structure defines a range of IP


addresses.

DHCP_IP_RANGE_ARRAY The DHCP_IP_RANGE_ARRAY structure defines an array of


DHCP IPv4 ranges.

DHCP_IP_RANGE_V6 Specifies a range of IPv6 addresses for use with a DHCPv6


server.

DHCP_IP_RESERVATION The DHCP_IP_RESERVATION structure defines a client IP


reservation.

DHCP_IP_RESERVATION_INFO The DHCP_IP_RESERVATION_INFO structure defines an IPv4


reservation for a DHCPv4 client.

DHCP_IP_RESERVATION_V4 The DHCP_IP_RESERVATION_V4 structure defines a client IP


reservation. This structure extends an IP reservation by
including the type of client (DHCP or BOOTP) holding the
reservation.

DHCP_IP_RESERVATION_V6 Defines an IPv6 reservation for a DHCPv6 client in a specific


IPv6 prefix.

DHCP_IPV6_ADDRESS DHCP_IPV6_ADDRESS structure contains an IPv6 address.

DHCP_MIB_INFO Defines information returned from the DHCP-specific SNMP


Management Information Block (MIB) about the current
DHCP service.

DHCP_MIB_INFO_V5 Contains statistical information about a DHCP server.

DHCP_MIB_INFO_V6 Contains statistics for the DHCPv6 server.

DHCP_OPTION The DHCP_OPTION structure defines a single DHCP option


and any data elements associated with it.

DHCP_OPTION_ARRAY The DHCP_OPTION_ARRAY structure defines an array of


DHCP server options.

DHCP_OPTION_DATA The DHCP_OPTION_DATA structure defines a data container


for one or more data elements associated with a DHCP
option.

DHCP_OPTION_DATA_ELEMENT The DHCP_OPTION_DATA_ELEMENT structure defines a data


element present (either singly or as a member of an array)
within a DHCP_OPTION_DATA structure.

DHCP_OPTION_LIST Defines a list of DHCP option values (just the option data with
associated ID tags).

DHCP_OPTION_SCOPE_INFO The DHCP_OPTION_SCOPE_INFO structure defines


information about the options provided for a certain DHCP
scope.
T IT L E DESC RIP T IO N

DHCP_OPTION_SCOPE_INFO6 Defines the data associated with a DHCP option scope.

DHCP_OPTION_VALUE The DHCP_OPTION_VALUE structure defines a DHCP option


value (just the option data with an associated ID tag).

DHCP_OPTION_VALUE_ARRAY The DHCP_OPTION_VALUE_ARRAY structure defines a list of


DHCP option values (just the option data with associated ID
tags).

DHCP_POL_COND The DHCP_POL_COND structure defines the DHCP server


policy condition.

DHCP_POL_COND_ARRAY The DHCP_POL_COND_ARRAY structure defines an array of


DHCP server policy conditions.

DHCP_POL_EXPR The DHCP_POL_EXP structure defines a DHCP server policy


expression.

DHCP_POL_EXPR_ARRAY The DHCP_POL_EXPR_ARRAY structure defines an array of


DHCP server policy expressions.

DHCP_POLICY The DHCP_POLICY structure defines a DHCP server policy.

DHCP_POLICY_ARRAY The DHCP_POLICY_ARRAY structure defines an array of DHCP


server policies.

DHCP_RESERVATION_INFO_ARRAY The DHCP_RESERVATION_INFO_ARRAY structure defines an


array of IPv4 reservations for DHCPv4 clients.

DHCP_RESERVED_SCOPE The DHCP_RESERVED_SCOPE structure defines a reserved


DHCP scope.

DHCP_SCAN_ITEM The DHCP_SCAN_ITEM structure defines a desynchronized


client lease address stored on a DHCPv4 server, and the
location in which it should be fixed (in-memory cache or
database).

DHCP_SCAN_LIST Defines a list of all desynchronized client lease IP address on a


DHCPv4 server that must be fixed.

DHCP_SEARCH_INFO The DHCP_SEARCH_INFO structure defines the DHCP client


record data used to search against for particular server
operations.

DHCP_SEARCH_INFO_V6 Contains the term or value on which the DHCPv6 server


database will be searched.

DHCP_SERVER_CONFIG_INFO The DHCP_SERVER_CONFIG_INFO structure defines the data


used to configure the DHCP server.

DHCP_SERVER_CONFIG_INFO_V4 Defines the data used to configure the DHCP server.

DHCP_SERVER_CONFIG_INFO_V6 Contains the settings for the DHCPv6 server.


T IT L E DESC RIP T IO N

DHCP_SERVER_CONFIG_INFO_VQ Defines settings for the DHCP server.

DHCP_SERVER_OPTIONS The DHCP_SERVER_OPTIONS structure specifies requested


DHCP Server options.

DHCP_SERVER_SPECIFIC_STRINGS Contains the default string values for user and vendor class
names.

DHCP_SUBNET_ELEMENT_DATA Defines an element that describes a feature or restriction of a


subnet.

DHCP_SUBNET_ELEMENT_DATA_V4 Defines an element that describes a feature or restriction of a


subnet.

DHCP_SUBNET_ELEMENT_DATA_V5 The DHCP_SUBNET_ELEMENT_DATA_V5 structure defines an


element that describes a feature or restriction of a subnet.

DHCP_SUBNET_ELEMENT_DATA_V6 Contains definitions for the elements of the IPv6 prefix, such
as IPv6 reservation, IPv6 exclusion range, and IPv6 range.

DHCP_SUBNET_ELEMENT_INFO_ARRAY Defines an array of subnet element data.

DHCP_SUBNET_ELEMENT_INFO_ARRAY_V4 Defines an array of subnet element data. Element data in the


V4 structure contains client type information.

DHCP_SUBNET_ELEMENT_INFO_ARRAY_V5 The DHCP_SUBNET_ELEMENT_INFO_ARRAY_V5 structure


defines an array of subnet element data. Element data in the
V5 structure is BOOTP specific.

DHCP_SUBNET_ELEMENT_INFO_ARRAY_V6 Contains data that defines an array of


DHCP_SUBNET_ELEMENT_DATA_V6 IPv6 prefix elements.

DHCP_SUBNET_INFO The DHCP_SUBNET_INFO structure defines information


describing a subnet.

DHCP_SUBNET_INFO_V6 Contains information about an IPv6 subnet.

DHCP_SUBNET_INFO_VQ Defines information that describes a subnet.

DHCP_SUPER_SCOPE_TABLE Defines the superscope of a DHCP server.

DHCP_SUPER_SCOPE_TABLE_ENTRY Defines a subnet entry within the superscope table.

DHCPAPI_PARAMS The DHCPAPI_PARAMS structure is used to request DHCP


parameters.

DHCPCAPI_CLASSID The DHCPCAPI_CLASSID structure defines a client Class ID.

DHCPCAPI_PARAMS_ARRAY The DHCPCAPI_PARAMS_ARRAY structure stores an array of


DHCPAPI_PARAMS structures used to query DHCP
parameters.
T IT L E DESC RIP T IO N

DHCPDS_SERVER The DHCPDS_SERVER structure defines information on a


DHCP server in the context of directory services.

DHCPDS_SERVERS The DHCPDS_SERVERS structure defines a list of DHCP


servers in the context of directory services.

DHCPV4_FAILOVER_CLIENT_INFO The DHCPV4_FAILOVER_CLIENT_INFO structure defines DHCP


server scope statistics that are part of a failover relationship.

DHCPV4_FAILOVER_CLIENT_INFO_ARRAY The DHCPV4_FAILOVER_CLIENT_INFO_ARRAY structure


defines an array of DHCP server scope statistics that are part
of a failover relationship.

DHCPV6_BIND_ELEMENT Defines an IPv6 interface binding for the DHCP server over
which it receives DHCPv6 packets.

DHCPV6_BIND_ELEMENT_ARRAY Specifies an array of DHCPV6_BIND_ELEMENT structures that


contain DHCPv6 interface bindings.

DHCPV6_IP_ARRAY The DHCPV6_IP_ARRAY structure contains an array of DHCP


IPv6 address structures.

DHCPV6_STATELESS_PARAMS The DHCPV6_STATELESS_PARAMS structure defines the


DHCPv6 stateless client inventory configuration settings at
server and scope level.

DHCPV6_STATELESS_SCOPE_STATS The DHCPV6_STATELESS_SCOPE_STATS structure defines the


address counters for a specific IPv6 stateless subnet. The
number of stateless IPv6 clients added and removed from the
stateless client inventory are stored in this structure.

DHCPV6_STATELESS_STATS The DHCPV6_STATELESS_STATS structure defines an array of


stateless IPv6 subnet statistics.

DHCPV6CAPI_CLASSID Defines an IPv6 client class ID.

DHCPV6CAPI_PARAMS Contains a requested parameter.

DHCPV6CAPI_PARAMS_ARRAY Contains an array of requested parameters.

DHCPV6Prefix The DHCPV6Prefix contains an IPv6 prefix.

DHCPV6PrefixLeaseInformation Information about a prefix lease.

DWORD_DWORD The DWORD_DWORD structure defines a 64-bit integer value.

SCOPE_MIB_INFO Defines information about an available scope for use within


returned DHCP-specific SNMP Management Information
Block (MIB) data.

SCOPE_MIB_INFO_V5 Contains information about a specific DHCP scope.


Enhanced Storage
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Enhanced Storage technology.


To develop Enhanced Storage, you need these headers:
ehstorapi.h
ehstorextensions.h
For programming guidance for this technology, see:
Enhanced Storage

Functions
T IT L E DESC RIP T IO N

Authorize Associates the Addressable Command Target (ACT) with the


Authorized state defined by ACT_AUTHORIZATION_STATE, and
ensures the authentication of each individual silo according to
the required sequence and logical combination necessary to
authorize access to the ACT.

GetActions Returns an enumeration of all actions available to the silo


object.

GetACTs Returns an enumeration of all the Addressable Command


Targets (ACT) currently connected to the system. If at least
one ACT is present, the Enhanced Storage API allocates an
array of 1 or more IEnumEnhancedStorageACT pointers.

GetAuthorizationState Returns the current authorization state of the ACT.

GetDescription Returns a descriptive string for the action specified by the


IEnhancedStorageSiloAction object.

GetDeviceName IEnhancedStorageACT2::GetDeviceName method returns the


device name associated with the Addressable Command
Target (ACT).

GetDevicePath Retrieves the path to the silo device node. The returned string
is suitable for passing to Windows System APIs such as
CreateFile or SetupDiOpenDeviceInterface.

GetInfo Returns the descriptive information associated with the silo


object.

GetMatchingACT Returns the Addressable Command Target (ACT) associated


with the volume specified via the string supplied by the client.

GetMatchingVolume Returns the volume associated with the Addressable


Command Target (ACT).
T IT L E DESC RIP T IO N

GetName Returns a string for the name of the action specified by the
IEnhancedStorageSiloAction object.

GetPortableDevice Obtains an IPortableDevice pointer used to issue commands


to the corresponding Enhanced Storage silo driver.

GetSilos Returns an enumeration of all silos associated with the


Addressable Command Target (ACT).

GetUniqueIdentity Retrieves the unique identity of the Addressable Command


Targer (ACT).

Invoke Performs the action specified by an


IEnhancedStorageSiloAction object.

IsDeviceRemovable IEnhancedStorageACT2::IsDeviceRemovable method returns


information that indicates if the device associated with the
ACT is removable.

SendCommand Sends a raw silo command to the silo object. This method is
utilized to communicate with a silo which is not represented
by a driver.

Unauthorize Associates the Addressable Command Target (ACT) with the


Unauthorized state defined by ACT_AUTHORIZATION_STATE,
and ensures the deauthentication of each individual silo
according to the required sequence and logical combination
necessary to restrict access to the ACT.

Interfaces
T IT L E DESC RIP T IO N

IEnhancedStorageACT This interface to obtain information and perform operations


for an 1667 Addressable Contact Target (ACT).

IEnhancedStorageACT2 IEnhancedStorageACT2 interface is used to obtain information


for a 1667 Addressable Contact Target (ACT).

IEnhancedStorageSilo IEnhancedStorageSilo interface is the point of access for an


IEEE 1667 silo and is used to obtain information and perform
operations at the silo level.

IEnhancedStorageSiloAction Use this interface as a point of access for actions involving


IEEE 1667 silos.

IEnumEnhancedStorageACT Use this interface as the top level enumerator for all IEEE 1667
Addressable Contact Targets (ACT).

Structures
T IT L E DESC RIP T IO N

ACT_AUTHORIZATION_STATE ACT_AUTHORIZATION_STATE structure contains data that


describes the current authorization state of a Addressable
Command Target (ACT).

ENHANCED_STORAGE_PASSWORD_SILO_INFORMATION ENHANCED_STORAGE_PASSWORD_SILO_INFORMATION
structure contains data that defines the capabilities and
requirements of a password silo.

SILO_INFO SILO_INFO structure contains information that identifies and


describes the silo.
Event Tracing
2/7/2020 • 13 minutes to read • Edit Online

Overview of the Event Tracing technology.


To develop Event Tracing, you need these headers:
evntcons.h
evntprov.h
evntrace.h
relogger.h
securitybaseapi.h
tdh.h
For programming guidance for this technology, see:
Event Tracing

Enumerations
T IT L E DESC RIP T IO N

DECODING_SOURCE Defines the source of the event data.

ETW_PROCESS_HANDLE_INFO_TYPE Specifies what kind of operation will be done on a handle.

EVENT_FIELD_TYPE Defines the provider information to retrieve.

EVENT_INFO_CLASS Defines a type of operation to perform on a registration


object.

EVENTSECURITYOPERATION Defines what component of the security descriptor that the


EventAccessControl function modifies.

MAP_FLAGS Defines constant values that indicate if the map is a value


map, bitmap, or pattern map.

MAP_VALUETYPE Defines if the value map value is in a ULONG data type or a


string.

PROPERTY_FLAGS Defines if the property is contained in a structure or array.

TDH_CONTEXT_TYPE Defines the context type.

TEMPLATE_FLAGS Defines constant values that indicates the layout of the event
data.

TRACE_QUERY_INFO_CLASS Determines the type of information to include with the trace.

Functions
T IT L E DESC RIP T IO N

AddLogfileTraceStream Adds a new logfile-based ETW trace stream to the relogger.

AddRealtimeTraceStream Adds a new real-time ETW trace stream to the relogger.

Cancel Terminates the relogging process.

Clone Creates a duplicate copy of an event.

CloseTrace The CloseTrace function closes a trace.

ControlTraceA The ControlTrace function flushes, queries, updates, or stops


the specified event tracing session.

ControlTraceW The ControlTrace function flushes, queries, updates, or stops


the specified event tracing session.

CreateEventInstance Generates a new event.

CreateTraceInstanceId The CreateTraceInstanceId function creates a unique


transaction identifier and maps it to a class GUID registration
handle. You then use the transaction identifier when calling
the TraceEventInstance function.

CveEventWrite A tracing function for publishing events when an attempted


security vulnerability exploit is detected in your user-mode
application.

EnableTrace Enables or disables the specified classic event trace provider.


On Windows Vista and later, call the EnableTraceEx function to
enable or disable a provider.

EnableTraceEx Enables or disables the specified event trace provider. The


EnableTraceEx2 function supersedes this function.

EnableTraceEx2 Enables or disables the specified event trace provider.

EnumerateTraceGuids The EnumerateTraceGuids function retrieves information


about registered event trace providers that are running on
the computer.

EnumerateTraceGuidsEx Use this function to retrieve information about trace providers


that are registered on the computer.

EventAccessControl Adds or modifies the permissions of the specified provider or


session.

EventAccessQuery Retrieves the permissions for the specified controller or


provider.

EventAccessRemove Removes the permissions defined in the registry for the


specified provider or session.
T IT L E DESC RIP T IO N

EventActivityIdControl Creates, queries, and sets the current activity identifier used
by the EventWriteTransfer function.

EventDataDescCreate Sets the values of an event data descriptor.

EventDescCreate Sets the values of an event descriptor.

EventDescGetChannel Retrieves the channel from the event descriptor.

EventDescGetId Retrieves the event identifier from the event descriptor.

EventDescGetKeyword Retrieves the keyword from the event descriptor.

EventDescGetLevel Retrieves the severity level from the event descriptor.

EventDescGetOpcode Retrieves the operation code from the event descriptor.

EventDescGetTask Retrieves the task from the event descriptor.

EventDescGetVersion Retrieves the version from the event descriptor.

EventDescOrKeyword Adds another keyword to the event descriptor.

EventDescSetChannel Sets the Channel member of the event descriptor.

EventDescSetId Sets the Id member of the event descriptor.

EventDescSetKeyword Sets the Keyword member of the event descriptor.

EventDescSetLevel Sets the Level member of the event descriptor.

EventDescSetOpcode Sets the Opcode member of the event descriptor.

EventDescSetTask Sets the Task member of the event descriptor.

EventDescSetVersion Sets the Version member of the event descriptor.

EventDescZero Initializes an event descriptor to zero.

EventEnabled Determines if the event is enabled for any session.

EventProviderEnabled Determines if the event is enabled for any session.

EventRegister Registers the provider.

EventSetInformation Performs operations on a registration object.

EventUnregister Removes the provider's registration. You must call this


function before your process exits.
T IT L E DESC RIP T IO N

EventWrite Use this function to write an event.

EventWriteEx Use this function to write an event.

EventWriteString Writes an event that contains a string as its data.

EventWriteTransfer Links events together when tracing events in an end-to-end


scenario.

FlushTraceA The FlushTrace function causes an event tracing session to


immediately deliver buffered events for the specified session.

FlushTraceW The FlushTrace function causes an event tracing session to


immediately deliver buffered events for the specified session.

GetEventRecord Retrieves the event record that describes an event.

GetTraceEnableFlags The GetTraceEnableFlags function retrieves the enable flags


passed by the controller to indicate which category of events
to trace.Providers can only call this function from their
ControlCallback function.

GetTraceEnableLevel The GetTraceEnableLevel function retrieves the severity level


passed by the controller to indicate the level of logging the
provider should perform. Providers can only call this function
from their ControlCallback function.

GetTraceLoggerHandle The GetTraceLoggerHandle function retrieves the handle of


the event tracing session. Providers can only call this function
from their ControlCallback function.

GetUserContext Retrieves the user context associated with the stream to which
the event belongs.

Inject Injects a non-system-generated event into the event stream


being written to the output trace logfile.

OnBeginProcessTrace Indicates that a trace is about to begin so that relogging can


be started.

OnEvent Indicates that an event has been received on the trace


streams associated with a relogger.

OnFinalizeProcessTrace Indicates that a trace is about to end so that relogging can be


finalized.

OpenTraceA The OpenTrace function opens a real-time trace session or log


file for consuming.

OpenTraceW The OpenTrace function opens a real-time trace session or log


file for consuming.
T IT L E DESC RIP T IO N

PENABLECALLBACK Providers implement this function to receive enable or disable


notification requests. The PENABLECALLBACK type defines a
pointer to this callback function. EnableCallback is a
placeholder for the application-defined function name.

PEVENT_CALLBACK Consumers implement this function to receive events from a


session. The PEVENT_CALLBACK type defines a pointer to this
callback function. EventCallback is a placeholder for the
application-defined function name.

PEVENT_RECORD_CALLBACK Consumers implement this callback to receive events from a


session. The PEVENT_RECORD_CALLBACK type defines a
pointer to this callback function. EventRecordCallback is a
placeholder for the application-defined function name.

PEVENT_TRACE_BUFFER_CALLBACKA Consumers implement this function to receive statistics about


each buffer of events that ETW delivers to an event trace
consumer.

PEVENT_TRACE_BUFFER_CALLBACKW Consumers implement this function to receive statistics about


each buffer of events that ETW delivers to an event trace
consumer.

ProcessTrace The ProcessTrace function delivers events from one or more


event tracing sessions to the consumer.

ProcessTrace Delivers events from the associated trace streams to the


consumer.

QueryAllTracesA The QueryAllTraces function retrieves the properties and


statistics for all event tracing sessions started on the
computer for which the caller has permissions to query.

QueryAllTracesW The QueryAllTraces function retrieves the properties and


statistics for all event tracing sessions started on the
computer for which the caller has permissions to query.

QueryTrace The QueryTrace function retrieves the property settings and


session statistics for the specified event tracing session. The
ControlTrace function supersedes this function.

QueryTraceA The QueryTrace function retrieves the property settings and


session statistics for the specified event tracing session. The
ControlTrace function supersedes this function.

QueryTraceProcessingHandle Queries the system for the trace processing handle.

QueryTraceW The QueryTrace function retrieves the property settings and


session statistics for the specified event tracing session. The
ControlTrace function supersedes this function.

RegisterCallback Registers an implementation of IEventCallback with the


relogger in order to signal trace activity (starting, stopping,
and logging new events).
T IT L E DESC RIP T IO N

RegisterTraceGuidsA The RegisterTraceGuids function registers an event trace


provider and the event trace classes that it uses to generate
events. This function also specifies the function the provider
uses to enable and disable tracing.

RegisterTraceGuidsW The RegisterTraceGuids function registers an event trace


provider and the event trace classes that it uses to generate
events. This function also specifies the function the provider
uses to enable and disable tracing.

RemoveTraceCallback The RemoveTraceCallback function stops an


EventClassCallback function from receiving events for an
event trace class.

SetCompressionMode Enables or disables compression on the relogged trace.

SetEventDescriptor Sets the event descriptor for an event.

SetOutputFilename Indicates the file to which ETW should write the new, relogged
trace.

SetPayload Sets the payload for an event.

SetProcessId Assigns an event to a specific process.

SetProviderId Sets the GUID for the provider which traced an event.

SetThreadId Sets the identifier of a thread that generates an event.

SetTimeStamp Sets the time at which an event occurred.

SetTraceCallback The SetTraceCallback function specifies an EventClassCallback


function to process events for the specified event trace class.

StartTraceA The StartTrace function registers and starts an event tracing


session.

StartTraceW The StartTrace function registers and starts an event tracing


session.

StopTrace The StopTrace function stops the specified event tracing


session. The ControlTrace function supersedes this function.

StopTraceA The StopTrace function stops the specified event tracing


session. The ControlTrace function supersedes this function.

StopTraceW The StopTrace function stops the specified event tracing


session. The ControlTrace function supersedes this function.

TdhAggregatePayloadFilters Aggregates multiple payload filters for a single provider into a


single data structure for use with the EnableTraceEx2 function.
T IT L E DESC RIP T IO N

TdhCleanupPayloadEventFilterDescriptor Frees the aggregated structure of payload filters created using


the TdhAggregatePayloadFilters function.

TdhCloseDecodingHandle Frees any resources associated with the input decoding


handle.

TdhCreatePayloadFilter Creates a single filter for a single payload to be used with the
EnableTraceEx2 function.

TdhDeletePayloadFilter Frees the memory allocated for a single payload filter by the
TdhCreatePayloadFilter function.

TdhEnumerateManifestProviderEvents Retrieves the list of events present in the provider manifest.

TdhEnumerateProviderFieldInformation Retrieves the specified field metadata for a given provider.

TdhEnumerateProviderFilters Enumerates the filters that the specified provider defined in


the manifest.

TdhEnumerateProviders Retrieves a list of providers that have registered a MOF class


or manifest file on the computer.

TdhFormatProperty Formats a property value for display.

TdhGetDecodingParameter Retrieves the value of a decoding parameter.

TdhGetEventInformation Retrieves metadata about an event.

TdhGetEventMapInformation Retrieves information about the event map contained in the


event.

TdhGetManifestEventInformation Retrieves metadata about an event in a manifest.

TdhGetProperty Retrieves a property value from the event data.

TdhGetPropertySize Retrieves the size of one or more property values in the event
data.

TdhGetWppMessage Retrieves the formatted WPP message embedded into an


EVENT_RECORD structure.

TdhGetWppProperty Retrieves a specific property associated with a WPP message.

TdhLoadManifest Loads the manifest used to decode a log file.

TdhLoadManifestFromBinary Takes a NULL-terminated path to a binary file that contains


metadata resources needed to decode a specific event
provider.

TdhOpenDecodingHandle Opens a decoding handle.


T IT L E DESC RIP T IO N

TdhQueryProviderFieldInformation Retrieves information for the specified field from the event
descriptions for those field values that match the given value.

TdhSetDecodingParameter Sets the value of a decoding parameter.

TdhUnloadManifest Unloads the manifest that was loaded by the


TdhLoadManifest function.

TraceEvent The TraceEvent function sends an event to an event tracing


session.

TraceEventInstance The TraceEventInstance function sends an event to an event


tracing session. The event uses an instance identifier to
associate the event with a transaction. This function may also
be used to trace hierarchical relationships between related
events.

TraceMessage The TraceMessage function sends an informational message to


an event tracing session.

TraceMessageVa The TraceMessageVa function sends an informational message


with variable arguments to an event tracing session.

TraceQueryInformation Queries event tracing session settings for the specified


information class.

TraceSetInformation Enables or disables event tracing session settings for the


specified information class.

UnregisterTraceGuids The UnregisterTraceGuids function unregisters an event trace


provider and its event trace classes.

UpdateTrace The UpdateTrace function updates the property setting of the


specified event tracing session. The ControlTrace function
supersedes this function.

UpdateTraceA The UpdateTrace function updates the property setting of the


specified event tracing session. The ControlTrace function
supersedes this function.

UpdateTraceW The UpdateTrace function updates the property setting of the


specified event tracing session. The ControlTrace function
supersedes this function.

WMIDPREQUEST Providers implement this function to receive enable or disable


notification requests from controllers. The WMIDPREQUEST
type defines a pointer to this callback function.
ControlCallback is a placeholder for the application-defined
function name.

Interfaces
T IT L E DESC RIP T IO N

ITraceEvent Provides access to data relating to a specific event.

ITraceEventCallback Used by ETW to provide information to the relogger as the


tracing process starts, ends, and logs events.

ITraceRelogger Provides access to the relogging functionality, allowing you to


manipulate and relog events from an ETW trace stream.

Structures
T IT L E DESC RIP T IO N

CLASSIC_EVENT_ID Identifies the kernel event for which you want to enable call
stack tracing.

ENABLE_TRACE_PARAMETERS Defines the information used to enable a provider.

ENABLE_TRACE_PARAMETERS_V1 Defines the information used to enable a provider.

ETW_BUFFER_CONTEXT Provides context information about the event.

ETW_BUFFER_CONTEXT Provides context information about the event.

ETW_TRACE_PARTITION_INFORMATION Contains partition information pulled from an ETW trace.

EVENT_DATA_DESCRIPTOR Defines one of the data items of the event data.

EVENT_DESCRIPTOR Contains metadata that defines the event.

EVENT_DESCRIPTOR Contains metadata that defines the event.

EVENT_EXTENDED_ITEM_INSTANCE Defines the relationship between events if TraceEventInstance


was used to log related events.

EVENT_EXTENDED_ITEM_RELATED_ACTIVITYID Defines the parent event of this event.

EVENT_EXTENDED_ITEM_STACK_TRACE32 Defines a call stack on a 32-bit computer.

EVENT_EXTENDED_ITEM_STACK_TRACE64 Defines a call stack on a 64-bit computer.

EVENT_EXTENDED_ITEM_TS_ID Defines the terminal session that logged the event.

EVENT_FILTER_DESCRIPTOR Defines the filter data that a session passes to the provider's
enable callback function.

EVENT_FILTER_EVENT_ID Defines event IDs used in an EVENT_FILTER_DESCRIPTOR


structure for an event ID or stack walk filter.

EVENT_FILTER_EVENT_NAME Defines event IDs used in an EVENT_FILTER_DESCRIPTOR


structure for an event name or stalk walk name filter.
T IT L E DESC RIP T IO N

EVENT_FILTER_HEADER Defines the header data that must precede the filter data that
is defined in the instrumentation manifest.

EVENT_FILTER_LEVEL_KW Defines event IDs used in an EVENT_FILTER_DESCRIPTOR


structure for a stack walk level-keyword filter.

EVENT_HEADER Defines information about the event.

EVENT_HEADER Defines information about the event.

EVENT_HEADER_EXTENDED_DATA_ITEM Defines the extended data that ETW collects as part of the
event data.

EVENT_HEADER_EXTENDED_DATA_ITEM Defines the extended data that ETW collects as part of the
event data.

EVENT_INSTANCE_HEADER The EVENT_INSTANCE_HEADER structure contains standard


event tracing information common to all events.

EVENT_INSTANCE_INFO The EVENT_INSTANCE_INFO structure maps a unique


transaction identifier to a registered event trace class.

EVENT_MAP_ENTRY Defines a single value map entry.

EVENT_MAP_INFO Defines the metadata about the event map.

EVENT_PROPERTY_INFO Provides information about a single property of the event or


filter.

EVENT_RECORD Defines the layout of an event that ETW delivers.

EVENT_RECORD Defines the layout of an event that ETW delivers.

EVENT_TRACE The EVENT_TRACE structure is used to deliver event


information to an event trace consumer.

EVENT_TRACE_HEADER The EVENT_TRACE_HEADER structure contains standard event


tracing information common to all events.

EVENT_TRACE_LOGFILEA The EVENT_TRACE_LOGFILE structure specifies how the


consumer wants to read events (from a log file or in real-time)
and the callbacks that will receive the events.

EVENT_TRACE_LOGFILEW The EVENT_TRACE_LOGFILE structure specifies how the


consumer wants to read events (from a log file or in real-time)
and the callbacks that will receive the events.

EVENT_TRACE_PROPERTIES The EVENT_TRACE_PROPERTIES structure contains


information about an event tracing session. You use this
structure when you define a session, change the properties of
a session, or query for the properties of a session.
T IT L E DESC RIP T IO N

EVENT_TRACE_PROPERTIES_V2 The EVENT_TRACE_PROPERTIES_V2 structure contains


information about an event tracing session.

MOF_FIELD You may use the MOF_FIELD structures to append event data
to the EVENT_TRACE_HEADER or EVENT_INSTANCE_HEADER
structures.

PAYLOAD_FILTER_PREDICATE Defines an event payload filter predicate that describes how to


filter on a single field in a trace session.

PROPERTY_DATA_DESCRIPTOR Defines the property to retrieve.

PROVIDER_ENUMERATION_INFO Defines the array of providers that have registered a MOF or


manifest on the computer.

PROVIDER_EVENT_INFO Defines an array of events in a provider manifest.

PROVIDER_FIELD_INFO Defines the field information.

PROVIDER_FIELD_INFOARRAY Defines metadata information about the requested field.

PROVIDER_FILTER_INFO Defines a filter and its data.

TDH_CONTEXT Defines the additional information required to parse an event.

TRACE_ENABLE_INFO Defines the session and the information that the session used
to enable the provider.

TRACE_EVENT_INFO Defines the information about the event.

TRACE_GUID_INFO Defines the header to the list of sessions that enabled the
provider specified in the InBuffer parameter of
EnumerateTraceGuidsEx.

TRACE_GUID_PROPERTIES The TRACE_GUID_PROPERTIES structure contains information


about an event trace provider.

TRACE_GUID_REGISTRATION The TRACE_GUID_REGISTRATION structure is used to register


event trace classes.

TRACE_LOGFILE_HEADER The TRACE_LOGFILE_HEADER structure contains information


about an event tracing session and its events.

TRACE_PERIODIC_CAPTURE_STATE_INFO Information relating to a periodic capture state.

TRACE_PROVIDER_INFO Defines the GUID and name for a provider.

TRACE_PROVIDER_INSTANCE_INFO Defines an instance of the provider GUID.

TRACE_VERSION_INFO Determines the version information of the TraceLogging


session.
eventlogprov
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Event Log Provider technology.


The Event Log Provider technology is not associated with any headers.
For programming guidance for this technology, see:
Event Log Provider
Extensible Authentication Protocol Host
2/7/2020 • 8 minutes to read • Edit Online

Overview of the Extensible Authentication Protocol Host technology.


To develop Extensible Authentication Protocol Host, you need these headers:
eapauthenticatoractiondefine.h
eapauthenticatortypes.h
eaphostpeerconfigapis.h
eaphostpeertypes.h
eapmethodauthenticatorapis.h
eapmethodpeerapis.h
eapmethodtypes.h
eappapis.h
eaptypes.h
For programming guidance for this technology, see:
Extensible Authentication Protocol Host

Enumerations
T IT L E DESC RIP T IO N

EAP_ATTRIBUTE_TYPE Defines the set of possible EAP attribute types available on an


authenticating entity.

EAP_AUTHENTICATOR_SEND_TIMEOUT Indicates to the authenticator method the amount of time to


wait for user input after the packet is sent. The timeout value
can be set to none.

EAP_CONFIG_INPUT_FIELD_TYPE Defines a set of possible input field types available when


querying for user credentials.

EAP_INTERACTIVE_UI_DATA_TYPE Specifies the set of types of interactive UI context data


supplied to certain supplicant API calls.

EAP_METHOD_AUTHENTICATOR_RESPONSE_ACTION Defines the set of response instructions sent by the


authenticator to the supplicant or EAP peer method.

EAP_METHOD_PROPERTY_TYPE Specifies the set of possible EAP method properties.

EAP_METHOD_PROPERTY_VALUE_TYPE Defines the set of possible data types for an EAP method
property value.

EapCode Defines the set of EAP packet types.

EapCredentialType Defines the set of possible EAP credentials that can be passed
to the EapPeerGetConfigBlobAndUserBlob function.
T IT L E DESC RIP T IO N

EAPHOST_AUTH_STATUS Defines the set of possible EAP authentication session status


values during the authentication process.

EapHostPeerAuthParams Defines the set of possible authentication parameter values.

EapHostPeerMethodResultReason Defines the set of possible reasons that describe the results
returned by an EAP method to a supplicant.

EapHostPeerResponseAction Defines the set of actions an EAP authenticator or peer


method can indicate to a supplicant during authentication.

EapPeerMethodResponseAction Defines the set of actions an EAP authenticator can indicate


to a supplicant or EAP peer method during authentication.

EapPeerMethodResultReason Defines the set of results of an EAP authentication session


returned by an EAP authenticator method to an EAP peer
method.

ISOLATION_STATE Defines the set of possible isolation state values of a machine.

Functions
T IT L E DESC RIP T IO N

EapHostPeerBeginSession Starts an EAP authentication session.

EapHostPeerClearConnection Clears the authentication session connection.

EapHostPeerConfigBlob2Xml Converts the configuration BLOB to XML.

EapHostPeerConfigXml2Blob Converts XML into the configuration BLOB.

EapHostPeerCredentialsXml2Blob Generates the credentials BLOB.

EapHostPeerEndSession Terminates the current EAP authentication session between


EAPHost and the calling supplicant, and clears data stored for
the session.

EapHostPeerFreeEapError Frees EAP_ERROR structures returned by EAPHost run-time


APIs.

EapHostPeerFreeErrorMemory Frees memory allocated to an EAP_ERROR structure.

EapHostPeerFreeMemory Frees memory returned by the configuration APIs.

EapHostPeerFreeRuntimeMemory Releases the memory space used during run-time.

EapHostPeerGetAuthStatus Obtains the supplicant's current EAP authentication status


from EAPHost.
T IT L E DESC RIP T IO N

EapHostPeerGetDataToUnplumbCredentials Returns the Connection Id,User Impersonation Token and


Eaphost Process Id used by EAPHost to save the credentials
for SSO. This data is needed to unplumb previously plumbed
credentials.

EapHostPeerGetIdentity This function is called by tunnel methods to request identity


information from the inner methods. This function returns the
identity and user credential information.

EapHostPeerGetMethodProperties Used to retrieve the properties of an EAP method given the


connection and user data.

EapHostPeerGetMethods Enumerates all EAP methods installed and available for use,
including legacy EAP Methods.

EapHostPeerGetResponseAttributes Obtains an array of EAP authentication attributes from


EAPHost.

EapHostPeerGetResult Obtains the authentication result for the specified EAP


authentication session.

EapHostPeerGetSendPacket Is called by the supplicant when the supplicant needs to


obtains a packet from EAPHost to send to the authenticator.

EapHostPeerGetUIContext Obtains the user interface context for the supplicant from
EAPHost if the UI is to be raised.

EapHostPeerInitialize Initializes an EAPHost authentication session.

EapHostPeerInvokeConfigUI Starts the configuration user interface of the specified EAP


method.

EapHostPeerInvokeIdentityUI This function is called by tunnel methods to invoke the


identity UI of the inner methods. This function returns the
identity as well as credentials to use in order to start the
authentication.

EapHostPeerInvokeInteractiveUI Raises an interactive user interface used to get credentials


from the user.

EapHostPeerProcessReceivedPacket Is called by the supplicant every time the supplicant receives a


packet that EAPHost needs to process.

EapHostPeerQueryCredentialInputFields Allows the user to determine what kind of credentials are


required by the methods to perform authentication in a
Single-Sign-On (SSO) scenario.

EapHostPeerQueryInteractiveUIInputFields Obtains the input fields for interactive UI components to be


raised on the supplicant.

EapHostPeerQueryUIBlobFromInteractiveUIInputFields Converts user information into a user BLOB that can be


consumed by EAPHost run-time functions.
T IT L E DESC RIP T IO N

EapHostPeerQueryUserBlobFromCredentialInputFields Obtains a credential BLOB that can be used to start


authentication from user input received from the Single-Sign-
On (SSO) UI.

EapHostPeerSetResponseAttributes Provides updated EAP authentication attributes to EAPHost.

EapHostPeerSetUIContext Provides a new or updated user interface context to the EAP


peer method loaded on EAPHost after the UI has been raised.

EapHostPeerUninitialize Uninitializes all EAPHost authentication sessions.

EapMethodAuthenticatorBeginSession Creates a new EAP authentication session on the server


EAPHost.

EapMethodAuthenticatorEndSession Closes an EAP authentication session on the server EAPHost.

EapMethodAuthenticatorFreeErrorMemory Releases error-specific memory allocated by the EAP


authenticator method.

EapMethodAuthenticatorFreeMemory Releases all memory associated with an opaque user interface


context data buffer.

EapMethodAuthenticatorGetAttributes Obtains an array of EAP authentication attributes from the


EAP authenticator method.

EapMethodAuthenticatorGetInfo Obtains a set of function pointers for an implementation of


the loaded EAP authenticator
method.EapMethodAuthenticatorGetInfo is a function
prototype.

EapMethodAuthenticatorGetResult Obtains the authentication result from the EAP authenticator


method.

EapMethodAuthenticatorInitialize Initializes an EAP authenticator method for the server


EAPHost.

EapMethodAuthenticatorInvokeConfigUI Defines a function that raises the EAP method's connection


configuration user interface dialog box on the client.

EapMethodAuthenticatorReceivePacket Processes an EAP authentication packet received by the


server EAPHost and returns a response action.

EapMethodAuthenticatorSendPacket Obtains an authentication packet from the EAP authenticator


method to send to the supplicant.

EapMethodAuthenticatorSetAttributes Provides updated EAP authentication attributes to set on the


EAP authenticator method.

EapMethodAuthenticatorShutdown Shuts down the EAP authenticator method and prepares to


unload it from the server EAPHost.

EapMethodAuthenticatorUpdateInnerMethodParams Updates the EAP authentication session settings previous


established by a call to EapMethodAuthenticatorBeginSession
from the server EAPHost.
T IT L E DESC RIP T IO N

EapPeerBeginSession Starts an EAP authentication session on the peer EAPHost


using the EAP method.

EapPeerConfigBlob2Xml Converts the configuration BLOB to XML.

EapPeerConfigXml2Blob Converts XML into the configuration BLOB.

EapPeerCredentialsXml2Blob Converts XML into the configuration BLOB.

EapPeerEndSession Ends an EAP authentication session for the EAP method.

EapPeerFreeErrorMemory Releases error-specific memory allocated by the EAP peer


method.

EapPeerFreeMemory Releases all memory associated with an opaque user interface


context data buffer.

EapPeerGetConfigBlobAndUserBlob Allows EAP method developers to provide the various


connection properties and user properties supported by the
method. EAPHost invokes this function to create the
connection property and user property of the EAP method.

EapPeerGetIdentity Returns the user data and user identity after being called by
EAPHost.

EapPeerGetInfo Obtains a set of function pointers for an implementation of


the EAP peer method EapPeerGetInfo currently loaded on the
EAPHost service.

EapPeerGetMethodProperties EAP method-specific function that retrieves the properties of


an EAP method given the connection and user data.

EapPeerGetResponseAttributes Obtains an array of EAP response attributes from the EAP


method.

EapPeerGetResponsePacket Obtains a response packet from the EAP method.

EapPeerGetResult Obtains the result of an authentication session from the EAP


method.

EapPeerGetUIContext Obtains the user interface context from the EAP method.

EapPeerInitialize Initializes an EAP peer method for EAPHost.

EapPeerInvokeConfigUI Raises the EAP method's specific connection configuration


user interface dialog on the client.

EapPeerInvokeIdentityUI Raises a custom interactive user interface dialog to obtain


user identity information for the EAP method on the client.

EapPeerInvokeInteractiveUI Raises a custom interactive user interface dialog for the EAP
method on the client.
T IT L E DESC RIP T IO N

EapPeerProcessRequestPacket Processes a packet received by EAPHost from a supplicant.

EapPeerQueryCredentialInputFields Defines the implementation of an EAP method-specific


function that obtains the EAP Single-Sign-On (SSO) credential
input fields for an EAP method.

EapPeerQueryInteractiveUIInputFields Defines the implementation of an EAP method API that


provides the input fields for interactive UI components to be
raised on the supplicant.

EapPeerQueryUIBlobFromInteractiveUIInputFields Converts user information into a user BLOB that can be


consumed by EAPHost run-time functions.

EapPeerQueryUserBlobFromCredentialInputFields Defines the implementation of an EAP method function that


obtains the user BLOB data provided in an interactive Single-
Sign-On (SSO) UI raised on the supplicant.

EapPeerSetCredentials Supplies new or updated authentication credentials to the


EAP method.

EapPeerSetResponseAttributes Provides an updated array of EAP response attributes to the


EAP method.

EapPeerSetUIContext Provides a user interface context to the EAP method. This


function is called after the UI has been raised through the
EapPeerGetUIContext function.

EapPeerShutdown Shuts down the EAP method and prepares to unload its
corresponding DLL.

NotificationHandler Notifies the supplicant that there is a change in the Statement


of Health (SoH) and re-authentication of a Network Access
Protection (NAP) system connection is required.

Structures
T IT L E DESC RIP T IO N

EAP_ATTRIBUTE Contains an EAP attribute.

EAP_ATTRIBUTES Contains an array of EAP attributes.

EAP_AUTHENTICATOR_METHOD_ROUTINES Contains a set of function pointers to the EAPHost


Authenticator Method APIs.

EAP_CONFIG_INPUT_FIELD_ARRAY Contains a set of EAP_CONFIG_INPUT_FIELD_DATA structures


that collectively contain the user input field data obtained
from the user.

EAP_CONFIG_INPUT_FIELD_DATA Contains the data associated with a single input field.

EAP_CRED_EXPIRY_REQ Contains both the old and new EAP credentials for credential
expiry operations.
T IT L E DESC RIP T IO N

EAP_ERROR Contains information about an error that occurred during an


EAPHost operation.

EAP_INTERACTIVE_UI_DATA Contains configuration information for interactive UI


components raised on an EAP supplicant.

EAP_METHOD_AUTHENTICATOR_RESULT Contains authentication results returned by an EAP


authenticator method.

EAP_METHOD_INFO Contains information about an EAP method.

EAP_METHOD_INFO_ARRAY Contains information on EAP methods installed on the client


computer.

EAP_METHOD_INFO_ARRAY_EX Contains information about all of the EAP methods installed


on the client computer.

EAP_METHOD_INFO_EX Contains information about an EAP method.

EAP_METHOD_PROPERTY Contains an EAP method property.

EAP_METHOD_PROPERTY_ARRAY Contains an array of EAP method properties.

EAP_METHOD_PROPERTY_VALUE Contains the value of an EAP method property.

EAP_METHOD_PROPERTY_VALUE Contains the value of an EAP method property.

EAP_METHOD_PROPERTY_VALUE_BOOL Contains a Boolean value of an EAP method property.

EAP_METHOD_PROPERTY_VALUE_DWORD Contains the DWORD value of an EAP method property.

EAP_METHOD_PROPERTY_VALUE_STRING Contains the string value of an EAP method property.

EAP_METHOD_TYPE Contains type, identification, and author information about an


EAP method.

EAP_PEER_METHOD_ROUTINES Contains a set of function pointers to the EAPHost Peer


Method APIs.

EAP_TYPE Contains type and vendor identification information for an


EAP method.

EAP_UI_DATA_FORMAT The EAP_UI_DATA_FORMAT union specifies the value of the


attribute stored in the pbUiData member of the
EAP_INTERACTIVE_UI_DATA structure.

EAP_UI_DATA_FORMAT The EAP_UI_DATA_FORMAT union specifies the value of the


attribute stored in the pbUiData member of the
EAP_INTERACTIVE_UI_DATA structure.

EapCertificateCredential Contains information about the certificate that the EAP


method uses for authentication.
T IT L E DESC RIP T IO N

EapCredential Contains information about the credentials type and the


appropriate credentials. This is passed as an input to the
EapPeerGetConfigBlobAndUserBlob API.

EAPHOST_AUTH_INFO Describes current authentication information throughout


different stages of the EAP authentication process.

EapHostPeerMethodResult Contains the result data generated by EAPHost during an


authentication session that is then passed to an EAP method.

EapPacket Contains a packet of opaque data sent during an EAP


authentication session.

EapPeerMethodOutput Contains the action information returned by an EAP peer


method.

EapPeerMethodResult Contains result data generated by an EAP method during


authentication.

EapSimCredential Contains information about the SIM that is used by the EAP
method for authentication.

EapUsernamePasswordCredential Contains the username and password that is used by the EAP
method for authenticating the user.
Extensible Authentication Protocol
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Extensible Authentication Protocol technology.


To develop Extensible Authentication Protocol, you need these headers:
raseapif.h
rrascfg.h
For programming guidance for this technology, see:
Extensible Authentication Protocol

Enumerations
T IT L E DESC RIP T IO N

PPP_EAP_ACTION The PPP_EAP_ACTION enumerated type specifies actions that


the Connection Manager should take on behalf of the
authentication protocol.

RAS_AUTH_ATTRIBUTE_TYPE The RAS_AUTH_ATTRIBUTE_TYPE enumerated type specifies


attribute values used for session authentication.

Functions
T IT L E DESC RIP T IO N

Initialize The system calls the Initialize method to initialize an EAP


configuration session with the specified computer.

RasEapFreeMemory The RAS connection manager calls RasEapFreeMemory to free


memory buffers returned by RasEapInvokeConfigUI,
RasEapGetIdentity, and RasEapInvokeInteractiveUI.

RasEapGetIdentity The RAS connection manager calls the RasEapGetIdentity


function to obtain identity information for the user requesting
authentication.

RasEapGetInfo The RAS connection manager calls RasEapGetInfo to obtain a


set of function pointers for a specified authentication protocol.

RasEapInvokeConfigUI The RAS connection manager calls the RasEapInvokeConfigUI


function to display a dialog to obtain configuration
information from the user.

RasEapInvokeInteractiveUI The RAS connection manager calls the


RasEapInvokeInteractiveUI function to display a dialog to
obtain authentication data from the user.
T IT L E DESC RIP T IO N

RouterInvokeConfigUI The system calls the RouterInvokeConfigUI method to invoke


the configuration user interface for EAP authentication
between two routers.

RouterInvokeCredentialsUI The system calls the RouterInvokeCredentialsUI method to


invoke the credentials user interface for EAP authentication
between two routers.

ServerInvokeConfigUI The system calls the ServerInvokeConfigUI method to invoke


the configuration user interface for EAP authentication
between a remote access client and server.

Uninitialize The system calls the Uninitialize method to shut down the
specified EAP configuration session.

Interfaces
T IT L E DESC RIP T IO N

IEAPProviderConfig UI for EAP provider.

Structures
T IT L E DESC RIP T IO N

PPP_EAP_INFO The PPP_EAP_INFO structure provides information to the


Connection Manager about the authentication protocol,
including pointers to functions located in the EAP DLL.

PPP_EAP_INPUT The PPP_EAP_INPUT structure is used in the interaction


between the RAS Connection Manager Service PPP
implementation and the EAP.

PPP_EAP_OUTPUT The authentication protocol uses the PPP_EAP_OUTPUT


structure to communicate requests and status information to
the Connection Manager on return from calls to
RasEapMakeMessage.

PPP_EAP_PACKET The PPP_EAP_PACKET structure specifies information about a


packet being processed by the authentication protocol.

RAS_AUTH_ATTRIBUTE The RAS_AUTH_ATTRIBUTE structure is used to pass


authentication attributes, of type RAS_AUTH_ATTRIBUTE_TYPE,
during an EAP session.
Failover Cluster WMI Provider
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Failover Cluster WMI Provider technology.


The Failover Cluster WMI Provider technology is not associated with any headers.
For programming guidance for this technology, see:
Failover Cluster WMI Provider
Failover Clustering Hyper-V WMI Provider
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Failover Clustering Hyper-V WMI Provider technology.


The Failover Clustering Hyper-V WMI Provider technology is not associated with any headers.
For programming guidance for this technology, see:
Failover Clustering Hyper-V WMI Provider
Fax Service
2/7/2020 • 107 minutes to read • Edit Online

Overview of the Fax Service technology.


To develop Fax Service, you need these headers:
faxcom.h
faxcomex.h
faxdev.h
faxext.h
faxroute.h
fxsutility.h
winfax.h
For programming guidance for this technology, see:
Fax Service

Enumerations
T IT L E DESC RIP T IO N

FAX_ACCESS_RIGHTS_ENUM The FAX_ACCESS_RIGHTS_ENUM enumeration defines access


rights to the fax server.

FAX_ACCESS_RIGHTS_ENUM_2 Defines access rights on the fax server.

FAX_ACCOUNT_EVENTS_TYPE_ENUM Specifies the types of event notifications, on a particular


account, that the server sends to listening clients.

FAX_COVERPAGE_TYPE_ENUM The FAX_COVERPAGE_TYPE_ENUM enumeration defines


whether a cover page template file is a local computer cover
page or a server-based cover page. It can also specify that no
file is used.

FAX_DEVICE_RECEIVE_MODE_ENUM The FAX_DEVICE_RECEIVE_MODE_ENUM enumeration defines


the way a device answers an incoming call.

FAX_GROUP_STATUS_ENUM The FAX_GROUP_STATUS_ENUM enumeration defines the


status types for outbound routing groups.

FAX_JOB_EXTENDED_STATUS_ENUM The FAX_JOB_EXTENDED_STATUS_ENUM enumeration defines


the extended status values for a fax job.

FAX_JOB_OPERATIONS_ENUM The FAX_JOB_OPERATIONS_ENUM enumeration defines the


operations that can be performed on a fax job. The members
of this enumeration are bit values and can be used in
combination.
T IT L E DESC RIP T IO N

FAX_JOB_STATUS_ENUM The FAX_JOB_STATUS_ENUM enumeration defines the status


values for a fax job.Note The members fjsPAUSED and
fjsNOLINE are modifiers; they can be used in combination
with any other member of this enumeration.

FAX_JOB_TYPE_ENUM The FAX_JOB_TYPE_ENUM enumeration defines the fax job


type.

FAX_LOG_LEVEL_ENUM The FAX_LOG_LEVEL_ENUM enumeration defines the event


logging levels for a logging category.

FAX_PRIORITY_TYPE_ENUM The FAX_PRIORITY_TYPE_ENUM enumeration defines the


types of priorities for outbound faxes.

FAX_PROVIDER_STATUS_ENUM The FAX_PROVIDER_STATUS_ENUM enumeration defines the


status values for a fax extension (a fax service provider (FSP)
or a fax inbound routing extension).

FAX_RECEIPT_TYPE_ENUM The FAX_RECEIPT_TYPE_ENUM enumeration defines the types


of delivery reports (delivery receipt formats) for outbound
faxes. The members of this enumeration are bit values and
can be used in combination.

FAX_ROUTING_RULE_CODE_ENUM The FAX_ROUTING_RULE_CODE_ENUM enumeration defines


the rules for outbound routing.

FAX_RULE_STATUS_ENUM The FAX_RULE_STATUS_ENUM enumeration defines the status


types for outbound routing rules.

FAX_SCHEDULE_TYPE_ENUM The FAX_SCHEDULE_TYPE_ENUM enumeration defines the


types of scheduling for outbound faxes.

FAX_SERVER_APIVERSION_ENUM The FAX_SERVER_APIVERSION_ENUM enumeration defines


the version of the fax API. No value below is supported on
any version of the fax service earlier than the one it
designates.

FAX_SERVER_EVENTS_TYPE_ENUM The FAX_SERVER_EVENTS_TYPE_ENUM enumeration defines


the types of events the fax service sends to client applications
that are listening for events. The members of this
enumeration are bit values and can be used in combination.

FAX_SMTP_AUTHENTICATION_TYPE_ENUM The FAX_SMTP_AUTHENTICATION_TYPE_ENUM enumeration


defines the configuration options for delivery receipts sent
through email.

SendToMode Defines the way a file will be faxed from within an application.
With Windows Vista there is only one possible value.

Functions
T IT L E DESC RIP T IO N
T IT L E DESC RIP T IO N

Add The IFaxDeviceIds::Add method adds a


fax device to the FaxDeviceIds
collection, using the device's ID.

Add The IFaxOutboundRoutingGroups::Add


method adds an outbound routing
group to the collection represented by
the IFaxOutboundRoutingGroups
interface.

Add The IFaxOutboundRoutingRules::Add


method adds an outbound routing rule
(IFaxOutboundRoutingRule interface) to
the collection defined by the
IFaxOutboundRoutingRules interface.

Add The IFaxRecipients::Add method adds a


new FaxRecipient object to the
FaxRecipients collection.

AddAccount Adds a fax account to the fax server


and returns the new IFaxAccount
object.

AnswerCall The IFaxDevice::AnswerCall method


causes the fax device to answer an
incoming call.

Cancel The Cancel method cancels the


incoming fax job.

Cancel The IFaxOutgoingJob::Cancel method


cancels the outbound fax job.

CanSendToFaxRecipient Called by an application to determine


whether to make a menu item or other
UI available that calls the
Windows Vista function
SendToFaxRecipient.

Connect The IFaxServer::Connect method


connects a fax client application to the
specified fax server.

Connect The Connect method connects a fax


client application to the specified fax
server.

ConnectedSubmit The IFaxDocument::ConnectedSubmit


method submits a single fax document
to the connected IFaxServer. The
method returns an array of fax job ID
strings, one for each recipient of the fax.

ConnectedSubmit2 Submits one or more fax documents to


the connected FaxServer.
T IT L E DESC RIP T IO N

CopyTiff The CopyTiff method copies the Tagged


Image File Format Class F (TIFF Class F)
file associated with the inbound fax job
to a file on the local computer.

CopyTiff The CopyTiff method copies the Tagged


Image File Format Class F (TIFF Class F)
file associated with the inbound fax
message to a file on the local computer.

CopyTiff The IFaxOutgoingJob::CopyTiff method


copies the Tagged Image File Format
Class F (TIFF Class F) file associated with
the outbound fax job, to a file on the
local computer.

CopyTiff The IFaxOutgoingMessage::CopyTiff


method copies the Tagged Image File
Format Class F (TIFF Class F) file
associated with the outbound fax
message, to a file on the local computer.

CreateDocument The IFaxServer::CreateDocument


method creates a FaxDoc object for a
specified FaxServer object. The FaxDoc
object allows a user to create and
transmit a document to one or more
fax recipients.

Delete The Delete method deletes the specified


fax message from the inbound fax
archive.

Delete The IFaxOutgoingMessage::Delete


method deletes the fax message from
the outbound archive.

Disconnect The IFaxServer::Disconnect method


terminates a fax client application's
connection to a fax server. The method
fails if the client is not connected to an
active fax server.

Disconnect The IFaxServer::Disconnect method


terminates a fax client application's
connection to a fax server.

FaxCompleteJobParamsA The FaxCompleteJobParams function


creates both a FAX_COVERPAGE_INFO
structure and a FAX_JOB_PARAM
structure for a fax client application.

FaxCompleteJobParamsW The FaxCompleteJobParams function


creates both a FAX_COVERPAGE_INFO
structure and a FAX_JOB_PARAM
structure for a fax client application.
T IT L E DESC RIP T IO N

FaxConnectFaxServerA The FaxConnectFaxServer function


connects a fax client application to the
local fax server. The function returns a
fax server handle that is required to call
other fax client functions that facilitate
job, device, configuration, and
document management.

FaxConnectFaxServerW The FaxConnectFaxServer function


connects a fax client application to the
local fax server. The function returns a
fax server handle that is required to call
other fax client functions that facilitate
job, device, configuration, and
document management.

FaxDevAbortOperation The fax service calls the


FaxDevAbortOperation function to
request that the fax service provider
(FSP) terminate the active fax operation
for the fax job specified by the
FaxHandle parameter. Each FSP must
export the FaxDevAbortOperation
function.

FaxDevEndJob The fax service calls the FaxDevEndJob


function after the last fax operation in a
fax job. Each fax service provider (FSP)
must export the FaxDevEndJob
function.

FaxDevInitialize The fax service calls the FaxDevInitialize


function each time the service starts,
after it loads the fax service provider
(FSP) DLL. Each FSP must export the
FaxDevInitialize function.

FaxDevReceive The fax service calls the FaxDevReceive


function to signal an incoming fax
transmission to the fax service provider
(FSP). Each FSP must export the
FaxDevReceive function.

FaxDevReportStatus The fax service calls the


FaxDevReportStatus function to query a
fax service provider (FSP) for status
information about an individual active
fax operation, or for status information
after a failed fax operation.

FaxDevSend The fax service calls the FaxDevSend


function to signal a fax service provider
(FSP) that it must initiate an outgoing
fax transmission. Each FSP must export
the FaxDevSend function.
T IT L E DESC RIP T IO N

FaxDevShutdown The fax service calls the


FaxDevShutdown function to notify the
fax service provider (FSP) that the
service is about to unload the FSP's
DLL. FaxDevShutdown releases the
global resources allocated by the
FaxDevInitialize function.

FaxDevStartJob The fax service calls the FaxDevStartJob


function to initialize a new fax job. The
fax service also calls FaxDevStartJob to
signal the beginning of each fax
operation to the fax service provider
(FSP). Each FSP must export the
FaxDevStartJob function.

FaxDevVirtualDeviceCreation The fax service calls the


FaxDevVirtualDeviceCreation function
during initialization to allow the fax
service provider (FSP) to present virtual
fax devices.

FaxEnableRoutingMethodA The FaxEnableRoutingMethod function


enables or disables a fax routing
method for a specific fax device. A fax
administration application typically calls
this function for device management.

FaxEnableRoutingMethodW The FaxEnableRoutingMethod function


enables or disables a fax routing
method for a specific fax device. A fax
administration application typically calls
this function for device management.

FaxEnumGlobalRoutingInfoA The FaxEnumGlobalRoutingInfo function


enumerates all fax routing methods
associated with a specific fax server.

FaxEnumGlobalRoutingInfoW The FaxEnumGlobalRoutingInfo function


enumerates all fax routing methods
associated with a specific fax server.

FaxEnumJobsA The FaxEnumJobs function enumerates


all queued and active fax jobs on the fax
server to which the client has
connected. The function returns
detailed information for each fax job to
the fax client application.

FaxEnumJobsW The FaxEnumJobs function enumerates


all queued and active fax jobs on the fax
server to which the client has
connected. The function returns
detailed information for each fax job to
the fax client application.
T IT L E DESC RIP T IO N

FaxEnumPortsA The FaxEnumPorts function enumerates


all fax devices currently attached to the
fax server to which the client has
connected. The function returns
detailed information for each fax port
to the fax client application.

FaxEnumPortsW The FaxEnumPorts function enumerates


all fax devices currently attached to the
fax server to which the client has
connected. The function returns
detailed information for each fax port
to the fax client application.

FaxEnumRoutingMethodsA The FaxEnumRoutingMethods function


enumerates all fax routing methods for
a specific fax device. The function
returns information about each routing
method to a fax client application.

FaxEnumRoutingMethodsW The FaxEnumRoutingMethods function


enumerates all fax routing methods for
a specific fax device. The function
returns information about each routing
method to a fax client application.

FaxExtConfigChange A FaxExtConfigChange callback function


is a placeholder for a function name
defined by the fax extension DLL. The
fax extension DLL should not expose
this function.

FaxExtFreeBuffer The FaxExtFreeBuffer callback function


deallocates memory previously
allocated by a successful call to the
FaxExtGetData function.

FaxExtGetData The FaxExtGetData callback function


retrieves configuration data for a
specific device and GUID.

FaxExtInitializeConfig The fax service calls the


FaxExtInitializeConfig function to
initialize the fax extension DLL. The
service calls this function before it calls
any other fax extension initialization
function.

FaxExtRegisterForEvents The FaxExtRegisterForEvents callback


function registers the fax extension DLL
for notifications about configuration
data changes related to a specific device
and GUID.

FaxExtSetData The FaxExtSetData function sets


configuration data for a specific device
and GUID.
T IT L E DESC RIP T IO N

FaxExtUnregisterForEvents The FaxExtUnregisterForEvents callback


function unregisters the fax extension
DLL for notifications about
configuration data changes related to a
specific device and GUID.

FaxGetConfigurationA The FaxGetConfiguration function


returns to a fax client application the
global configuration settings for the fax
server to which the client has
connected.

FaxGetConfigurationW The FaxGetConfiguration function


returns to a fax client application the
global configuration settings for the fax
server to which the client has
connected.

FaxGetDeviceStatusA The FaxGetDeviceStatus function


returns to a fax client application
current status information for the fax
device of interest.

FaxGetDeviceStatusW The FaxGetDeviceStatus function


returns to a fax client application
current status information for the fax
device of interest.

FaxGetJobA A fax client application calls the


FaxGetJob function to retrieve detailed
information for the specified queued or
active fax job. The function returns the
information in a FAX_JOB_ENTRY
structure.

FaxGetJobW A fax client application calls the


FaxGetJob function to retrieve detailed
information for the specified queued or
active fax job. The function returns the
information in a FAX_JOB_ENTRY
structure.

FaxGetLoggingCategoriesA The FaxGetLoggingCategories function


returns to a fax client application the
current logging categories for the fax
server to which the client has
connected.

FaxGetLoggingCategoriesW The FaxGetLoggingCategories function


returns to a fax client application the
current logging categories for the fax
server to which the client has
connected.

FaxGetPortA The FaxGetPort function returns


information for a specified fax port to a
fax client application.
T IT L E DESC RIP T IO N

FaxGetPortW The FaxGetPort function returns


information for a specified fax port to a
fax client application.

FaxGetRoutingInfoA The FaxGetRoutingInfo function returns


to a fax client application routing
information for a fax routing method
that is associated with a specific fax
device.

FaxGetRoutingInfoW The FaxGetRoutingInfo function returns


to a fax client application routing
information for a fax routing method
that is associated with a specific fax
device.

FaxPrintCoverPageA The FaxPrintCoverPage function prints a


fax transmission cover page to the
specified device context for a fax client
application.

FaxPrintCoverPageW The FaxPrintCoverPage function prints a


fax transmission cover page to the
specified device context for a fax client
application.

FaxRegisterRoutingExtensionW The FaxRegisterRoutingExtension


function registers a fax routing
extension DLL with the fax service. The
function configures the fax service
registry to use the new routing
extension DLL.

FaxRegisterServiceProviderW The FaxRegisterServiceProvider function


registers a fax service provider DLL with
the fax service. The function configures
the fax service registry to query and
use the new fax service provider DLL
when the fax service restarts.

FaxRouteDeviceChangeNotification The fax service calls the


FaxRouteDeviceChangeNotification
function to inform a fax routing
extension DLL that a fax device has
been removed from the fax server, or
that a new fax device has been installed.

FaxRouteDeviceEnable The FaxRouteDeviceEnable function


allows a fax routing extension DLL to
query, enable, or disable a fax routing
method for a specific fax device. Each
fax routing extension must export the
FaxRouteDeviceEnable function.
T IT L E DESC RIP T IO N

FaxRouteGetRoutingInfo The FaxRouteGetRoutingInfo function


queries the fax routing extension DLL
to obtain routing configuration data for
a specific fax device. Each fax routing
extension DLL must export the
FaxRouteGetRoutingInfo function.

FaxRouteInitialize The fax service calls the


FaxRouteInitialize function once, each
time the service starts, to initialize the
fax routing extension DLL. Each fax
routing extension DLL must export the
FaxRouteInitialize function.

FaxRouteSetRoutingInfo The FaxRouteSetRoutingInfo function


modifies routing configuration data for
a specific fax device. Each fax routing
extension DLL must export the
FaxRouteSetRoutingInfo function.

FaxSendDocumentA A fax client application calls the


FaxSendDocument function to queue a
fax job that will transmit an outgoing
fax transmission.

FaxSendDocumentForBroadcastA A fax client application calls the


FaxSendDocumentForBroadcast
function to queue several fax jobs that
will transmit the same outgoing fax
transmission to several recipients.

FaxSendDocumentForBroadcastW A fax client application calls the


FaxSendDocumentForBroadcast
function to queue several fax jobs that
will transmit the same outgoing fax
transmission to several recipients.

FaxSendDocumentW A fax client application calls the


FaxSendDocument function to queue a
fax job that will transmit an outgoing
fax transmission.

FaxSetConfigurationA A fax client application calls the


FaxSetConfiguration function to change
the global configuration settings for the
fax server to which the client has
connected.

FaxSetConfigurationW A fax client application calls the


FaxSetConfiguration function to change
the global configuration settings for the
fax server to which the client has
connected.
T IT L E DESC RIP T IO N

FaxSetGlobalRoutingInfoA A fax management application calls the


FaxSetGlobalRoutingInfo function to
modify fax routing method data, such
as routing priority, that applies globally
to the fax server.

FaxSetGlobalRoutingInfoW A fax management application calls the


FaxSetGlobalRoutingInfo function to
modify fax routing method data, such
as routing priority, that applies globally
to the fax server.

FaxSetJobA A fax client application calls the


FaxSetJob function to pause, resume,
cancel, or restart a specified fax job.

FaxSetJobW A fax client application calls the


FaxSetJob function to pause, resume,
cancel, or restart a specified fax job.

FaxSetLoggingCategoriesA A fax client application calls the


FaxSetLoggingCategories function to
modify the current logging categories
for the fax server to which the client
has connected.

FaxSetLoggingCategoriesW A fax client application calls the


FaxSetLoggingCategories function to
modify the current logging categories
for the fax server to which the client
has connected.

FaxSetPortA A fax client application calls the


FaxSetPort function to change the
configuration of the fax port of interest.

FaxSetPortW A fax client application calls the


FaxSetPort function to change the
configuration of the fax port of interest.

FaxSetRoutingInfoA A fax management application calls the


FaxSetRoutingInfo function to modify
the routing information for a fax
routing method that is associated with
a specific fax device.

FaxSetRoutingInfoW A fax management application calls the


FaxSetRoutingInfo function to modify
the routing information for a fax
routing method that is associated with
a specific fax device.

FaxStartPrintJobA A fax client application calls the


FaxStartPrintJob function to start
printing an outbound fax transmission
on the specified fax printer.
T IT L E DESC RIP T IO N

FaxStartPrintJobW A fax client application calls the


FaxStartPrintJob function to start
printing an outbound fax transmission
on the specified fax printer.

get__NewEnum The IFaxDeviceIds::get__NewEnum


method returns a reference to an
enumerator object that you can use to
iterate through the FaxDeviceIds
collection.

get__NewEnum The
IFaxDeviceProviders::get__NewEnum
method returns a reference to an
enumerator object that you can use to
iterate through the FaxDeviceProviders
collection.

get__NewEnum The IFaxDevices::get__NewEnum


method returns a reference to an
enumerator object that you can use to
iterate through the FaxDevices
collection.

get__NewEnum The
IFaxInboundRoutingExtensions::get__Ne
wEnum method returns a reference to
an enumerator object that you can use
to iterate through the
IFaxInboundRoutingExtensions
collection.

get__NewEnum The
IFaxInboundRoutingMethods::get__New
Enum method returns a reference to an
enumerator object that you can use to
iterate through the
IFaxInboundRoutingMethods collection.

get__NewEnum The get__NewEnum method returns a


reference to an enumerator object that
you can use to iterate through the
FaxIncomingJobs collection.

get__NewEnum The
IFaxOutboundRoutingGroups::get__New
Enum method returns a reference to an
enumerator object that you can use to
iterate through the
FaxOutboundRoutingGroups collection.

get__NewEnum The
IFaxOutboundRoutingRules::get__NewE
num method returns a reference to an
enumerator object that you can use to
iterate through the
FaxOutboundRoutingRules collection.
T IT L E DESC RIP T IO N

get__NewEnum The IFaxOutgoingJobs::get__NewEnum


method returns a reference to an
enumerator object that you can use to
iterate through the IFaxOutgoingJobs
collection.

get__NewEnum The IFaxRecipients::get__NewEnum


method returns a reference to an
enumerator object that you can use to
iterate through the FaxRecipients
collection.

get_AccountName Retrieves the name of a particular fax


account on the server.

get_Activity The IFaxServer::get_Activity property


creates a IFaxActivity interface object.
The interface permits a fax client
application to access information about
the activity on a connected fax server,
and the fax server status.

get_ActivityLogging The ActivityLogging property retrieves


the FaxActivityLogging configuration
object.

get_Address Retrieves the Address property for the


FaxStatus object of a parent FaxPort
object. The Address property is a null-
terminated string that contains the
destination of a fax job.

get_AgeLimit The AgeLimit property is a value that


indicates the number of days that the
fax service retains fax messages in the
archive of inbound faxes.

get_AgeLimit The IFaxOutgoingArchive::get_AgeLimit


property is a value that indicates the
number of days that the fax service
retains fax messages in the archive of
outbound faxes.

get_AgeLimit The IFaxOutgoingQueue::get_AgeLimit


property is a value that indicates the
number of days that the fax service
retains an unsent job in the fax job
queue.

get_AllowedReceipts The
IFaxReceiptOptions::get_AllowedReceipts
property is a value that specifies the
permitted types of delivery receipts.

get_AllowPersonalCoverPages Sets or retrieves a value that indicates


whether personal cover pages are
allowed.
T IT L E DESC RIP T IO N

get_AllowPersonalCoverPages The AllowPersonalCoverPages property


is a Boolean value that indicates
whether fax client applications can
include a user-designed cover page
with fax transmissions.

get_APIVersion The IFaxServer::get_APIVersion


property is a value that indicates the
version of the fax server API.

get_ArchiveAgeLimit Sets or retrieves a value that indicates


how long a fax message is kept on the
server.

get_ArchiveDirectory The IFaxServer::get_ArchiveDirectory


method retrieves the ArchiveDirectory
property for a FaxServer object. The
ArchiveDirectory property is a null-
terminated string that contains the
location in which the fax server stores
archived outbound faxes.

get_ArchiveFolder The ArchiveFolder property is a null-


terminated string that specifies the
folder location on the fax server for
archived inbound faxes.

get_ArchiveFolder The
IFaxOutgoingArchive::get_ArchiveFolder
property is a null-terminated string
that specifies the folder location on the
fax server for archived outbound faxes.

get_ArchiveLocation Sets or retrieves a value that indicates


the location of the archive on the
server.

get_ArchiveOutboundFaxes Sets or retrieves the


ArchiveOutboundFaxes property for a
FaxServer object. The
ArchiveOutboundFaxes property is a
Boolean value that indicates whether
the fax server archives outgoing fax
transmissions.

get_ArchiveSizeHigh The value that specifies the high-order


32-bit value (in bytes) for the size of
the fax message archive.

get_ArchiveSizeLow The value that specifies the low-order


32-bit value (in bytes) for the size of
the fax message archive.
T IT L E DESC RIP T IO N

get_AreaCode The
IFaxOutboundRoutingRule::get_AreaCo
de property specifies the area code to
which the outbound routing rule
applies.

get_AtEOF The AtEOF property is the end of file


marker for the archive of inbound fax
messages.

get_AtEOF The AtEOF property is the end-of-file


marker for the archive of outbound fax
messages.

get_AttachFaxToReceipt The
IFaxDocument::get_AttachFaxToReceipt
property indicates whether to attach a
fax to the receipt.

get_AuthenticationType The
IFaxReceiptOptions::get_AuthenticationT
ype property specifies the type of
authentication the fax service uses
when connecting to an Simple Mail
Transport Protocol (SMTP) server.

get_AutoCreateAccountOnConnect Sets or retrieves a value that indicates


whether the server automatically
creates a fax account once a connection
is initiated.

get_AvailableOperations Retrieves the AvailableOperations


property of a FaxIncomingJob object.
The AvailableOperations property
indicates the combination of valid
operations that you can perform on the
fax job given its current status.

get_AvailableOperations The AvailableOperations property


indicates the combination of valid
operations that you can perform on the
fax job, given its current status.

get_AvailableOperations The
IFaxOutgoingJob::get_AvailableOperatio
ns property indicates the combination
of valid operations that you can
perform on the fax job, given its current
status.

get_BillingCode The IFaxSender::get_BillingCode


property is a null-terminated string
that contains the billing code associated
with the sender.
T IT L E DESC RIP T IO N

get_BillingCode Sets or retrieves the BillingCode


property of a FaxDoc object. The
BillingCode property is a null-
terminated string that contains an
optional billing code that applies to the
fax transmission.

get_BillingCode The IFaxJob::get_BillingCode property is


a null-terminated string that contains
an optional billing code that applies to
the fax job.

get_Blocked The Blocked property is a Boolean value


that indicates whether the job queue
for incoming faxes is blocked.

get_Blocked The IFaxOutgoingQueue::get_Blocked


property is a Boolean value that
indicates whether the job queue for
outgoing faxes is blocked.

get_Bodies Provides a collection of one or more


documents to the fax document.

get_Body The IFaxDocument::get_Body property


provides the path to the file that
comprises the body of a fax. The body
of a fax consists of the fax pages other
than the cover page.

get_Branding Sets or retrieves a value that indicates


whether the fax server generates a
branding mark on outgoing faxes.

get_Branding The IFaxOutgoingQueue::get_Branding


property is a Boolean value that
indicates whether the fax service
generates a brand (banner) at the top
of outgoing fax transmissions.

get_Branding Sets or retrieves the Branding property


for a FaxServer object. The Branding
property is a Boolean value that
indicates whether the fax server
generates branding information at the
top of fax transmissions.

get_CallerId The CallerId property is a string that


identifies the calling device that sent
the inbound fax job.

get_CallerId The CallerId property is a null-


terminated string that identifies the
calling device associated with the
inbound fax message.
T IT L E DESC RIP T IO N

get_CallerId The CallerId property is a null-


terminated string that identifies the
calling device associated with the fax
job.

get_CallerId Retrieves the CallerId property for the


FaxStatus object of a parent FaxPort
object. The CallerId property is a string
that identifies the calling device that
sent an inbound fax job.

get_CallerId Retrieves the CallerId property for a


FaxTiff object. The CallerId property is a
string that identifies the calling device
that sent a specified fax file.

get_CanModify The IFaxPort::get_CanModify property


is a Boolean value that indicates
whether the user has permission to
modify configuration information for
the fax port.

get_Company The IFaxSender::get_Company property


is a null-terminated string that contains
the company name associated with the
sender.

get_Configuration The IFaxServer2::Configuration property


holds a IFaxConfiguration object. The
object permits a fax client application to
access information about the
configuration of the connected fax
server.

get_Count Holds the number of items in the


IFaxAccounts collection.

get_Count The IFaxDeviceIds::get_Count property


represents the number of objects in the
FaxDeviceIds collection. This is the total
number of device IDs associated with
the fax server.

get_Count The Count property represents the


number of objects in the
FaxDeviceProviders collection. This is
the total number of fax device providers
associated with the fax server.

get_Count The IFaxDevices::get_Count property


represents the number of objects in the
FaxDevices collection. This is the total
number of devices used by the fax
server.
T IT L E DESC RIP T IO N

get_Count The
IFaxInboundRoutingExtensions::get_Cou
nt property represents the number of
objects in the
IFaxInboundRoutingExtensions
collection. This is the total number of
inbound routing extensions associated
with the fax server.

get_Count The
IFaxInboundRoutingMethods::get_Coun
t property represents the number of
objects in the
IFaxInboundRoutingMethods collection.
This is the total number of inbound
routing methods associated with the
fax server.

get_Count The Count property represents the


number of objects in the
FaxIncomingJobs collection. This is the
total number of incoming jobs for the
fax server.

get_Count The Count property represents the


number of objects in the
FaxOutboundRoutingGroups collection.
This is the total number of outbound
routing groups associated with the fax
server.

get_Count The
IFaxOutboundRoutingRules::get_Count
property represents the number of
objects in the
FaxOutboundRoutingRules collection.
This is the total number of outbound
routing rules associated with the fax
server.

get_Count The IFaxOutgoingJobs::get_Count


property represents the number of
objects in the FaxOutgoingJobs
collection. This is the total number of
outgoing jobs for the fax server.

get_Count The IFaxRecipients::get_Count property


represents the number of objects in the
FaxRecipients collection. This is the total
number of recipients associated with
the fax server or fax document.

get_Count The IFaxJobs::get_Count method


returns the number of queued fax jobs
associated with the connected fax
server.
T IT L E DESC RIP T IO N

get_Count The IFaxPorts::get_Count method


retrieves the number of fax ports
attached to the connected fax server.

get_Count The IFaxRoutingMethods::get_Count


returns the number of fax routing
methods associated with a FaxPort
object.

get_CountryCode The
IFaxOutboundRoutingRule::get_Country
Code property specifies the
country/region code to which the
outbound routing rule applies.

get_CoverPage The IFaxDocument::get_CoverPage


property is a null-terminated string
that contains the name of the cover
page template file (.cov) to associate
with the fax document.

get_CoverpageName Sets or retrieves the CoverpageName


property for a FaxDoc object. The
CoverpageName property is a null-
terminated string that contains the
name of the cover page template file
(.cov) associated with the object.

get_CoverpageNote Sets or retrieves the CoverpageNote


property of a FaxDoc object. The
CoverpageNote property is a null-
terminated string that contains the text
of a message or note from the sender
that pertains to the fax transmission.

get_CoverpageSubject Sets or retrieves the CoverpageSubject


property of a FaxDoc object. The
CoverpageSubject property is a null-
terminated string that contains the
subject line of the fax transmission.

get_CoverPageType The IFaxDocument::get_CoverPageType


property is a value from an
enumeration that indicates whether a
specified cover page template file (.cov)
is a server-based cover page file or a
local-computer-based cover page file.

get_Csid The IFaxPort::get_Csid property is a


null-terminated string that contains the
called station identifier (CSID)
associated with the fax port.
T IT L E DESC RIP T IO N

get_Csid Retrieves the Csid property for the


FaxStatus object of a parent FaxPort
object. The Csid property is a string
that contains called station identifier
(CSID) information, typically the fax
number of the receiving device.

get_Csid Retrieves the Csid property for a FaxTiff


object. The Csid property is a string
that contains called station identifier
(CSID) information, which is typically
the fax number of the device that
received the specified fax file.

get_CSID The IFaxDevice::get_CSID property is a


null-terminated string that contains the
called station identifier (CSID) for the
device.

get_CSID The CSID property is a null-terminated


string that contains the called station
identifier (CSID) for the job.

get_CSID The CSID property is a null-terminated


string that contains the called station
identifier (CSID) for the inbound fax
message.

get_CSID The CSID property is a null-terminated


string that contains the called station
identifier (CSID) for the job.

get_CSID The IFaxOutgoingJob::get_CSID


property is a null-terminated string
that contains the called station
identifier (CSID) associated with the fax
outbound job.

get_CSID The IFaxOutgoingMessage::get_CSID


property is a null-terminated string
that contains the called station
identifier (CSID) for the fax message.

get_CurrentAccount The IFaxServer2::CurrentAccount


property returns the fax account for the
user account that has connected to the
fax server.

get_CurrentPage The CurrentPage property is a number


that identifies the page that the fax
service is actively receiving on an
inbound fax job.

get_CurrentPage The CurrentPage property is a number


that identifies the page that the fax
service is actively processing.
T IT L E DESC RIP T IO N

get_CurrentPage The IFaxOutgoingJob::get_CurrentPage


property is a number that identifies the
page that the fax service is actively
transmitting on an outbound fax job.

get_CurrentPage Retrieves the CurrentPage property for


the FaxStatus object of a parent FaxPort
object. The CurrentPage property is a
number that identifies the current page
of an active outbound fax job on a
specific port.

get_DatabasePath The
IFaxActivityLogging::get_DatabasePath
property is a null-terminated string
that contains the path to the activity
log database file.

get_Debug The IFaxDeviceProvider::get_Debug


property is a Boolean value that
indicates whether the fax service
provider (FSP)Â DLL was created in a
debug environment.

get_Debug The
IFaxInboundRoutingExtension::get_Deb
ug property is a Boolean value that
indicates whether the fax routing
extension DLL was created in a debug
environment.

get_Debug The IFaxServer::get_Debug property is a


Boolean value that indicates whether
the fax server was created in a debug
environment.

get_Department The IFaxSender::get_Department


property is a null-terminated string
that contains the department
associated with the sender.

get_Description The IFaxDevice::get_Description


property is a null-terminated string
that contains a user-friendly description
for the fax device. This string is suitable
for display to users.

get_Description Retrieves the Description property for


the FaxStatus object of a parent FaxPort
object. The Description property is a
null-terminated string that describes
the current status of the specified port.

get_Descriptor The Descriptor property represents the


security descriptor for a IFaxServer
object.
T IT L E DESC RIP T IO N

get_Descriptor Represents the security descriptor for a


IFaxServer2 object.

get_DeviceId The DeviceId property indicates the


device ID of the device receiving the
inbound fax job.

get_DeviceId The DeviceId property indicates the


device ID of the device associated with
the fax job.

get_DeviceId The
IFaxOutboundRoutingRule::get_DeviceId
property specifies the device ID if the
outbound routing rule points to a
single fax device.

get_DeviceId The IFaxOutgoingJob::get_DeviceId


property indicates the device ID of the
device transmitting the outbound fax
job.

get_DeviceId The IFaxPort::get_DeviceId property is a


number representing the permanent
line identifier for the fax port.

get_DeviceId The IFaxRoutingMethod::get_DeviceId


property is a number representing the
line identifier for the fax port.

get_DeviceId Retrieves the DeviceId property for the


FaxStatus object of a parent FaxPort
object. The DeviceId property is a
number representing the permanent
line identifier for the fax port.

get_DeviceIds The IFaxDeviceProvider::get_DeviceIds VT_ARRAY). Each long value in the array


property returns a variant safe array of is a device ID.
long (VT_I4

get_DeviceIds The DeviceIds property retrieves an


interface that represents the ordered
collection of device IDs that participate
in the outbound routing group.

get_DeviceName The IFaxDevice::get_DeviceName


property is a null-terminated string
that contains the name of the fax
device.

get_DeviceName The DeviceName property is a null-


terminated string that contains the
name of the device on which the
inbound fax message was received.
T IT L E DESC RIP T IO N

get_DeviceName The
IFaxOutgoingMessage::get_DeviceName
property is a null-terminated string
that contains the name of the device on
which the fax message was transmitted.

get_DeviceName The
IFaxRoutingMethod::get_DeviceName
property is a null-terminated string
that contains the user-friendly display
name for a fax port.

get_DeviceName Retrieves the DeviceName property for


the FaxStatus object of a parent FaxPort
object. The DeviceName property is a
null-terminated string that contains the
user-friendly display name for the fax
port.

get_DeviceStatus The IFaxJob::get_DeviceStatus property


is a null-terminated string that
describes the status of the port
associated with the fax job.

get_DirtyDays Sets or retrieves the DirtyDays


property for a FaxServer object. The
DirtyDays property is the number of
days the fax server retains an unsent
job in the fax job queue.

get_DiscountRateEnd Sets or retrieves a value that indicates


the time at which the discount rate
period ends.

get_DiscountRateEnd The
IFaxOutgoingQueue::get_DiscountRateE
nd property is a value that indicates the
time at which the discount period for
transmitting faxes ends. The discount
period applies to outgoing faxes.

get_DiscountRateEndHour Sets or retrieves the


DiscountRateEndHour property for a
FaxServer object. The
DiscountRateEndHour property is a
number that represents the hour the
discount period ends. The discount
period applies only to outgoing fax
transmissions.

get_DiscountRateEndMinute Sets or retrieves the


DiscountRateEndMinute property for a
FaxServer object. The
DiscountRateEndMinute property is a
number that represents the minute the
discount period ends. The discount
period applies only to outgoing fax
transmissions.
T IT L E DESC RIP T IO N

get_DiscountRateStart Sets or retrieves a value that indicates


the time at which the discount rate
period begins.

get_DiscountRateStart The
IFaxOutgoingQueue::get_DiscountRateS
tart property is a value that indicates
the time at which the discount period
for transmitting faxes begins. The
discount period applies to outgoing
faxes.

get_DiscountRateStartHour Sets or retrieves the


DiscountRateStartHour property for a
FaxServer object. The
DiscountRateStartHour property is a
number that represents the hour the
discount period begins. The discount
period applies only to outgoing fax
transmissions.

get_DiscountRateStartMinute Sets or retrieves the


DiscountRateStartMinute property for a
FaxServer object. The
DiscountRateStartMinute property is a
number that represents the minute the
discount period begins. The discount
period applies only to outgoing fax
transmissions.

get_DiscountSend Sets or retrieves the DiscountSend


property for a FaxDoc object. The
DiscountSend property is a Boolean
value that indicates whether the fax
server transmits faxes during the
discount period.

get_DiscountSend The IFaxJob::get_DiscountSend property


is a Boolean value that indicates
whether the fax server will transmit the
fax job during the discount rate period.
The discount period applies only to
outgoing fax transmissions.

get_DisplayName Sets or retrieves the DisplayName


property of a FaxDoc object. The
DisplayName property is a null-
terminated string that contains the
name to associate with the fax
document.

get_DisplayName The IFaxJob::get_DisplayName property


is a null-terminated string that contains
the user-friendly name to associate with
the fax job.
T IT L E DESC RIP T IO N

get_DocumentName The
IFaxDocument::get_DocumentName
property is a null-terminated string
that contains the user-friendly name to
display for the fax document. The value
is for display purposes only.

get_DocumentName The
IFaxOutgoingJob::get_DocumentName
property is a null-terminated string
that contains the user-friendly name to
display for the fax document.

get_DocumentName The
IFaxOutgoingMessage::get_DocumentN
ame property is a null-terminated
string that contains the user-friendly
name to display for the fax message.

get_DocumentName Retrieves the DocumentName property


for the FaxStatus object of a parent
FaxPort object. The DocumentName
property is a null-terminated string
that contains the user-friendly name
associated with an active fax document.

get_DocumentSize Retrieves the DocumentSize property


for the FaxStatus object of a parent
FaxPort object. The DocumentSize
property is the size of the fax document
associated with the active outbound job
on a specific port.

get_ElapsedTime Retrieves the ElapsedTime property for


the FaxStatus object of a parent FaxPort
object. The ElapsedTime property is a
number that represents the elapsed
time for an active fax job.

get_Email The IFaxSender::get_Email property is a


null-terminated string that contains the
email address associated with the
sender.

get_EmailAddress Sets or retrieves the EmailAddress


property of a FaxDoc object. The
EmailAddress property is a null-
terminated string that contains the
email address of the sender of the fax
transmission.

get_Enable The IFaxRoutingMethod::get_Enable


property is a Boolean value that
indicates whether a fax routing method
is enabled on a particular fax port.
T IT L E DESC RIP T IO N

get_EventLogging The EventLogging property retrieves


the FaxEventLogging configuration
object.

get_ExtendedStatus The ExtendedStatus property is a null-


terminated string that describes the
job's extended status.

get_ExtendedStatus The ExtendedStatus property is a null-


terminated string that describes the
job's extended status.

get_ExtendedStatus The
IFaxOutgoingJob::get_ExtendedStatus
property is a null-terminated string
that describes the job's extended status.

get_ExtendedStatusCode Retrieves the ExtendedStatusCode


property of a FaxIncomingJob object.
The ExtendedStatusCode property
specifies a code describing the job's
extended status.

get_ExtendedStatusCode The ExtendedStatusCode property


specifies a code describing the job's
extended status.

get_ExtendedStatusCode The
IFaxOutgoingJob::get_ExtendedStatusC
ode property specifies a code
describing the job's extended status.

get_ExtensionFriendlyName The
IFaxInboundRoutingMethod::get_Extens
ionFriendlyName property is the user-
friendly name for the fax routing
extension that exports the inbound fax
routing method.

get_ExtensionImageName The
IFaxInboundRoutingMethod::get_Extens
ionImageName property is a null-
terminated string that contains the
executable image name (DLL path and
file name) of the fax routing extension
that exports the fax routing method.

get_ExtensionName The
IFaxRoutingMethod::get_ExtensionNam
e property is a null-terminated string
that contains the user-friendly name for
the fax routing extension DLL that
implements the specified fax routing
method.
T IT L E DESC RIP T IO N

get_FaxAccountSet The IFaxServer2::FaxAccountSet


property returns a IFaxAccountSet
object used to manage the fax accounts
on the fax server.

get_FaxNumber The IFaxRecipient::get_FaxNumber


property is a null-terminated string
that contains the fax number associated
with the recipient.

get_FaxNumber The IFaxSender::get_FaxNumber


property is a null-terminated string
that contains the fax number associated
with the sender.

get_FaxNumber Sets or retrieves the FaxNumber


property of a FaxDoc object. The
FaxNumber property is a null-
terminated string that contains the fax
number to which the fax server will
send the fax transmission.

get_FaxNumber The IFaxJob::get_FaxNumber property is


a null-terminated string that contains
the fax number to which the fax server
will transmit the fax job. The
IFaxJob::get_FaxNumber property
applies only to outgoing fax
transmissions.

get_FileName Sets or retrieves the FileName property


for a FaxDoc object. The FileName
property is a null-terminated string
that contains the name of the
document file associated with the
object.

get_Folders Represents the folders of the account,


including the incoming and outgoing
archives and the incoming and
outgoing queues.

get_Folders The IFaxServer::get_Folders property


accesses a IFaxFolders configuration
interface. You can use the interface to
access the folders, jobs, and messages
on a connected fax server.

get_FriendlyName The
IFaxDeviceProvider::get_FriendlyName
property is a null-terminated string
that contains the user-friendly name for
the fax service provider (FSP). This
string is suitable for display to users.
T IT L E DESC RIP T IO N

get_FriendlyName The
IFaxInboundRoutingExtension::get_Frien
dlyName property is a null-terminated
string that contains the user-friendly
name for the fax routing extension. The
string is suitable for display to users.

get_FriendlyName The
IFaxRoutingMethod::get_FriendlyName
property is a null-terminated string
that contains the user-friendly name for
a fax routing method.

get_FunctionName The
IFaxInboundRoutingMethod::get_Functi
onName property is a null-terminated
string that contains the name of the
function that executes a specific fax
routing procedure.

get_FunctionName The
IFaxRoutingMethod::get_FunctionName
property is a null-terminated string
that contains the name of the function
that executes a specific fax routing
procedure.

get_GeneralEventsLevel The
IFaxEventLogging::get_GeneralEventsLe
vel property indicates the level of detail
at which the fax service logs general
events in the application log.

get_GrantedRights The IFaxSecurity::get_GrantedRights


property is a combination of the fax
server access rights granted to the user
referencing this property.

get_GrantedRights Retrieves a combination of the fax


server access rights granted to the user
referencing this property.

get_GroupBroadcastReceipts The
IFaxDocument::get_GroupBroadcastRec
eipts property is a Boolean value that
indicates whether to send an individual
delivery receipt for each recipient of the
broadcast, or to send a summary
receipt for all the recipients.

get_GroupBroadcastReceipts The
IFaxOutgoingJob::get_GroupBroadcastR
eceipts property is a Boolean value that
indicates whether to send an individual
delivery receipt for each recipient of the
broadcast or to send a summary
receipt for all recipients.
T IT L E DESC RIP T IO N

get_GroupName The
IFaxOutboundRoutingRule::get_GroupN
ame property specifies the group name
if the outbound routing rule points to a
group of fax devices.

get_Guid The IFaxRoutingMethod::get_Guid


property is a null-terminated string
that contains the GUID that uniquely
identifies the fax routing method.

get_GUID The
IFaxInboundRoutingMethod::get_GUID
property is a null-terminated string
that specifies the GUID that uniquely
identifies the fax routing method.

get_HasCoverPage A flag that indicates whether the fax


has a cover page.

get_HasCoverPage Specifies if the fax has a cover page.

get_HasCoverPage Indicates if the fax has a cover page.

get_HighQuotaWaterMark Sets or retrieves a value that indicates


the maximum allotted size of a
watermark.

get_HighQuotaWaterMark The HighQuotaWaterMark property is a


value that specifies the upper warning
threshold for the size of the archive of
inbound fax messages, in megabytes.

get_HighQuotaWaterMark The
IFaxOutgoingArchive::get_HighQuotaW
aterMark property is a value that
specifies the upper threshold for the
size of the archive of inbound fax
messages, in megabytes.

get_HomePhone The IFaxSender::get_HomePhone


property is a null-terminated string
that contains the home telephone
number associated with the sender.

get_Id The Id IFaxDevice::get_Id is a numeric


value that uniquely identifies a fax
device.

get_Id The Id property is a null-terminated


string that contains a unique ID for the
inbound fax job.

get_Id The Id property is a null-terminated


string that contains a unique ID for the
inbound fax message.
T IT L E DESC RIP T IO N

get_Id The IFaxOutgoingJob::get_Id property is


a null-terminated string that contains a
unique identifier for the outbound fax
job. You can use the identifier to
retrieve the archived fax message after
the job completes successfully.

get_Id The IFaxOutgoingMessage::get_Id


property is a null-terminated string
that contains a unique identifier for the
outbound fax message.

get_Image Sets or retrieves the Image property for


a FaxTiff object.

get_ImageName The
IFaxDeviceProvider::get_ImageName
property is a null-terminated string
that contains the executable image
name (DLL path and file name) of the
fax service provider (FSP).

get_ImageName The
IFaxInboundRoutingExtension::get_Imag
eName property is a null-terminated
string that contains the executable
image name (DLL path and file name)
of the fax routing extension.

get_ImageName The
IFaxRoutingMethod::get_ImageName
property is a null-terminated string
that contains the executable image
name of the fax routing extension DLL
that implements the fax routing
method.

get_InboundEventsLevel The
IFaxEventLogging::get_InboundEventsL
evel property indicates the level of
detail at which the fax service logs
events about inbound fax transmissions
in the application log.

get_InboundRouting The IFaxServer::get_InboundRouting


property creates a IFaxInboundRouting
configuration interface. The interface
permits access to an inbound fax
routing extension and its methods.

get_IncomingArchive Represents the archive of incoming


faxes for a particular fax account. These
are the faxes that have been received.

get_IncomingArchive The IFaxFolders::get_IncomingArchive


property represents the archive of
incoming faxes.
T IT L E DESC RIP T IO N

get_IncomingFaxesArePublic Indicates whether incoming faxes are


either viewable by everyone or private.

get_IncomingMessages The IFaxActivity::get_IncomingMessages


property is a number that represents
the total number of incoming fax jobs
that the fax service is currently in the
process of receiving.

get_IncomingQueue Represents the queue of incoming faxes


for a particular fax account. These are
the incoming faxes that have not yet
been fully processed.

get_IncomingQueue The IFaxFolders::get_IncomingQueue


property represents the queue of
incoming faxes.

get_IncomingQueueBlocked Sets or retrieves a value that indicates


whether the fax server queue for
incoming faxes has been blocked.

get_InformationType The IFaxSecurity::InformationType


property represents the security
information type.

get_InformationType Retrieves the security information type.

get_InitErrorCode The
IFaxDeviceProvider::get_InitErrorCode
property is a value that specifies the
last error code that the fax service
provider (FSP) returned while the fax
service was loading and initializing the
FSPÂ DLL.

get_InitErrorCode The
IFaxInboundRoutingExtension::get_InitEr
rorCode property is a value that
specifies the last error code that the fax
routing extension returned while the fax
service was loading and initializing the
fax routing extension's DLL.

get_InitEventsLevel The
IFaxEventLogging::get_InitEventsLevel
property indicates the level of detail at
which the fax service logs initialization
(starting the server) and termination
(shutting down the server) events in
the application log.

get_Item Returns a FaxAccount object from a


FaxAccounts collection.
T IT L E DESC RIP T IO N

get_Item The IFaxDeviceIds::get_Item method


represents a device ID from the
FaxDeviceIds collection.

get_Item The IFaxDeviceProviders::get_Item


property returns a FaxDeviceProvider
object from the FaxDeviceProviders
collection.

get_Item The IFaxDevices::get_Item method


returns a FaxDevice object from the
FaxDevices collection, using its index.

get_Item The
IFaxInboundRoutingExtensions::get_Ite
m method returns a
IFaxInboundRoutingExtension interface
from the IFaxInboundRoutingExtensions
collection.

get_Item The
IFaxInboundRoutingMethods::get_Item
method returns a
IFaxInboundRoutingMethod object
from the IFaxInboundRoutingMethods
collection.

get_Item Retrieves a FaxIncomingJob object from


the FaxIncomingJobs collection.

get_Item The
IFaxOutboundRoutingGroups::get_Item
method returns a
IFaxOutboundRoutingGroup interface
from the collection.

get_Item The
IFaxOutboundRoutingRules::get_Item
method returns a
IFaxOutboundRoutingRule interface
from the IFaxOutboundRoutingRules
interface using the routing rule's index.

get_Item The IFaxOutgoingJobs::get_Item


method returns a IFaxOutgoingJob
interface from the IFaxOutgoingJobs
interface.

get_Item The Item method returns a FaxRecipient


object from the FaxRecipients collection.

get_Item The IFaxJobs::get_Item method returns


a new FaxJob object for a specified fax
job. The object allows enumeration of
the fax jobs associated with a
connected fax server.
T IT L E DESC RIP T IO N

get_Item The IFaxPorts::get_Item method creates


a FaxPort object for a specified fax port.
The object allows enumeration of port
configuration information for a specific
connection to a fax server.

get_Item The IFaxRoutingMethods::get_Item


method creates a FaxRoutingMethod
object for a specified fax routing
method. The object allows enumeration
of fax routing information for a
specified FaxPort object.

get_ItemById The IFaxDevices::get_ItemById method


returns a FaxDevice object from the
FaxDevices collection, using its device
ID.

get_JobId The IFaxJob::get_JobId property is a


number that uniquely identifies the
specified fax job.

get_JobType Retrieves the JobType property of a


FaxIncomingJob object. The JobType
property describes the type of fax job;
for example, the job can be a receive
job, a send job, or a routing job.

get_JobType The JobType property describes the


type of fax job; for example, the job can
be a receive job, a send job, or a
routing job.

get_LoggingOptions The IFaxServer::get_LoggingOptions


property creates a IFaxLoggingOptions
configuration interface. The interface
permits configuration of both the
activity logging options and the event
logging categories that the fax service
uses.

get_LogIncoming The
IFaxActivityLogging::get_LogIncoming
property is a Boolean value that
indicates whether the fax service logs
entries for incoming faxes in the activity
log database.

get_LogOutgoing The
IFaxActivityLogging::get_LogOutgoing
property is a Boolean value that
indicates whether the fax service logs
entries for outgoing faxes in the activity
log database.

get_LowQuotaWaterMark Sets or retrieves a value that indicates


the minimum size of a watermark.
T IT L E DESC RIP T IO N

get_LowQuotaWaterMark The LowQuotaWaterMark property is a


value that specifies the lower warning
threshold for the archive of inbound fax
messages, in megabytes.

get_LowQuotaWaterMark The
IFaxOutgoingArchive::get_LowQuotaWa
terMark property is a value that
specifies the lower threshold for the
archive of outbound fax messages, in
megabytes.

get_MajorBuild The IFaxDeviceProvider::get_MajorBuild


property is a value that specifies the
major part of the build number for the
fax service provider (FSP)Â DLL.

get_MajorBuild The
IFaxInboundRoutingExtension::get_Majo
rBuild property is a value that specifies
the major part of the build number for
the fax routing extension's DLL.

get_MajorBuild The IFaxServer::get_MajorBuild


property is a value that specifies the
major part of the build number for the
fax service.

get_MajorVersion The
IFaxDeviceProvider::get_MajorVersion
property is a value that specifies the
major part of the version number for
the fax service provider (FSP)Â DLL.

get_MajorVersion The
IFaxInboundRoutingExtension::get_Majo
rVersion property is a value that
specifies the major part of the version
number for the fax routing extension's
DLL.

get_MajorVersion The IFaxServer::get_MajorVersion


property is a value that specifies the
major part of the version number for
the fax service.

get_Message The Message property retrieves the


inbound fax message under the archive
cursor.

get_Message The
IFaxOutgoingMessageIterator::get_Mes
sage property retrieves the outbound
fax message under the archive cursor.
T IT L E DESC RIP T IO N

get_Methods The
IFaxInboundRoutingExtension::get_Met
hods property is an array of GUIDs that
uniquely identify the inbound routing
methods exposed by the fax routing
extension.

get_MinorBuild The IFaxDeviceProvider::get_MinorBuild


property is a value that specifies the
minor part of the build number for the
fax service provider (FSP)Â DLL.

get_MinorBuild The
IFaxInboundRoutingExtension::get_Mino
rBuild property is a value that specifies
the minor part of the build number for
the fax routing extension's DLL.

get_MinorBuild The IFaxServer::get_MinorBuild


property is a value that specifies the
minor part of the build number for the
fax service.

get_MinorVersion The
IFaxDeviceProvider::get_MinorVersion
property is a value that specifies the
minor part of the version number for
the fax service provider (FSP)Â DLL.

get_MinorVersion The
IFaxInboundRoutingExtension::get_Mino
rVersion property is a value that
specifies the minor part of the version
number for the fax routing extension's
DLL.

get_MinorVersion The IFaxServer::get_MinorVersion


property is a value that specifies the
minor part of the version number for
the fax service.

get_Name The
IFaxInboundRoutingMethod::get_Name
property is a null-terminated string
that contains the user-friendly name
associated with the inbound fax routing
method. The string is suitable for
display to users.

get_Name The Name property is a null-terminated


string that specifies the name of the
outbound routing group.

get_Name The IFaxRecipient::get_Name property is


a null-terminated string that contains
the name of the recipient.
T IT L E DESC RIP T IO N

get_Name The IFaxSender::get_Name property is a


null-terminated string that contains the
name of the sender.

get_Name The IFaxPort::get_Name property is a


null-terminated string that contains the
user-friendly display name for a fax
port.

get_Note The IFaxDocument::get_Note property


is a null-terminated string that contains
the contents of the note field on the
cover page of the fax.

get_OfficeLocation The IFaxSender::get_OfficeLocation


property is a null-terminated string
that contains the office location of the
sender.

get_OfficePhone The IFaxSender::get_OfficePhone


property is a null-terminated string
that contains the office telephone
number associated with the sender.

get_OriginalScheduledTime The
IFaxOutgoingJob::get_OriginalSchedule
dTime property specifies the time that
the fax job was originally scheduled for
transmission.

get_OriginalScheduledTime The
IFaxOutgoingMessage::get_OriginalSche
duledTime property specifies the time
that the fax message was originally
scheduled for transmission.

get_OutboundEventsLevel The
IFaxEventLogging::get_OutboundEvents
Level property indicates the level of
detail at which the fax service logs
events about outbound fax
transmissions in the application log.

get_OutboundRouting The IFaxServer::get_OutboundRouting


property creates a
IFaxOutboundRouting configuration
interface. The interface permits users to
configure outbound routing groups
and rules.

get_OutgoingArchive Represents the archive of outgoing


faxes for a particular fax account that
have been sent.

get_OutgoingArchive The IFaxFolders::get_OutgoingArchive


property represents the archive of
outgoing faxes.
T IT L E DESC RIP T IO N

get_OutgoingMessages The
IFaxActivity::get_OutgoingMessages
property is a number that represents
the total number of outgoing fax jobs
that the fax service is in the process of
sending.

get_OutgoingQueue Represents the queue of outgoing faxes


for a particular fax account. These are
the faxes that have not yet been sent.

get_OutgoingQueue The IFaxFolders::get_OutgoingQueue


property represents the queue of
outgoing faxes.

get_OutgoingQueueAgeLimit Sets or retrieves a value that indicates


the length of time that an undeliverable
fax message is kept on the fax server
before it is deleted.

get_OutgoingQueueBlocked Sets or retrieves a value that indicates


whether the fax server queue for
outgoing faxes has been blocked.

get_OutgoingQueuePaused Sets or retrieves a value that indicates


whether the outgoing queue has been
paused.

get_PageCount The IFaxJob::get_PageCount property is


a number that represents the total
number of pages in a fax transmission.
The IFaxJob::get_PageCount property
applies only to outgoing fax
transmissions.

get_PageCount Retrieves the PageCount property for


the FaxStatus object of a parent FaxPort
object. The PageCount property
represents the total number of pages in
an outbound fax transmission.

get_Pages The Pages property is a value that


indicates the total number of pages in
the inbound fax message.

get_Pages The Pages property is a number that


indicates the total number of pages
received so far in the fax transmission.

get_Pages The IFaxOutgoingJob::get_Pages


property is a number that indicates the
total number of pages in the outbound
fax job.
T IT L E DESC RIP T IO N

get_Pages The IFaxOutgoingMessage::get_Pages


property is a number that indicates the
total number of pages in the outbound
fax message.

get_Paused The IFaxOutgoingQueue::get_Paused


property is a Boolean value that
indicates whether the job queue for
outgoing faxes is paused.

get_PauseServerQueue Sets or retrieves the PauseServerQueue


property for a FaxServer object. The
PauseServerQueue property is a
Boolean value that indicates whether
the fax server has paused the fax job
queue.

get_PoweredOff The IFaxDevice::get_PoweredOff


property is a Boolean value that
indicates whether the fax device is
currently available for sending and
receiving faxes.

get_PrefetchSize The PrefetchSize property indicates the


size of the prefetch (read-ahead) buffer.

get_PrefetchSize The
IFaxOutgoingMessageIterator::get_Pref
etchSize property indicates the size of
the prefetch (read-ahead) buffer. This
determines how many fax messages the
iterator object retrieves from the fax
server when the object needs to refresh
its contents.

get_Priority The IFaxDocument::get_Priority


property specifies the priority to use
when sending the fax; for example,
normal, low, or high priority.

get_Priority The Priority property is a value


associated with the order in which the
fax service calls the routing method
when the service receives a fax job.

get_Priority The IFaxOutgoingJob::get_Priority


property specifies the priority to use
when sending the fax; for example,
normal, low, or high priority.

get_Priority The IFaxOutgoingMessage::get_Priority


property specifies the priority used
when sending the fax; for example,
normal, low, or high priority.
T IT L E DESC RIP T IO N

get_Priority The IFaxPort::get_Priority property is a


number representing the transmission
priority designated for a specified fax
port. Priority determines the relative
order in which available fax devices
send outgoing transmissions.

get_ProviderUniqueName The
IFaxDevice::get_ProviderUniqueName
property is a null-terminated string
that contains the unique name for the
fax service provider (FSP) associated
with the device.

get_QueuedMessages The IFaxActivity::get_QueuedMessages


property is a number that represents
the total number of fax jobs in the fax
job queue that are pending processing.
This does not include jobs for which the
number of retries has been exceeded.

get_QueueStatus The IFaxJob::get_QueueStatus property


is a null-terminated string that
describes the job queue status of the
fax job.

get_RawReceiveTime Retrieves the RawReceiveTime property


for a FaxTiff object.

get_Read A flag that indicates if the fax has been


read.

get_Read Indicates if the fax has been read.

get_ReceiptAddress The IFaxDocument::get_ReceiptAddress


property is a null-terminated string
that indicates the email address to
which the fax service should send a
delivery receipt when the fax job
reaches a final state.

get_ReceiptAddress A null-terminated string containing the


address to which a delivery report will
be sent, indicating success or failure.

get_ReceiptAddress Specifies the address to which the


delivery report is sent.

get_ReceiptOptions The IFaxServer::get_ReceiptOptions


property creates a IFaxReceiptOptions
configuration interface. The object
permits a fax client application to set
and retrieve the receipt configuration
that the fax service uses to send fax
receipts.
T IT L E DESC RIP T IO N

get_ReceiptType The IFaxDocument::get_ReceiptType


property specifies the type of delivery
receipt to deliver when the fax job
reaches a final state.

get_ReceiptType The IFaxOutgoingJob::get_ReceiptType


property is a value that specifies the
type of delivery receipt to deliver when
the fax message reaches a final state.
The receipt type can be Simple Mail
Transport Protocol (SMTP) mail, a
message box, or no receipt.

get_ReceiptType Specifies the type of delivery report


that is sent following an attempted
transmission.

get_Receive The IFaxPort::get_Receive property is a


Boolean value that indicates whether a
specified fax port is enabled to receive
faxes.

get_Receive Retrieves the Receive property for the


FaxStatus object of a parent FaxPort
object. The Receive property is a
Boolean value that indicates whether a
specified fax port is currently receiving a
fax.

get_ReceiveMode The ReceiveMode property is a value


from the
FAX_DEVICE_RECEIVE_MODE_ENUM
enumeration that defines the way a
device answers an incoming call.

get_ReceiveTime Retrieves the ReceiveTime property for


a FaxTiff object.

get_ReceivingNow The IFaxDevice::get_ReceivingNow


property is a Boolean value that
indicates whether the fax device is
receiving a fax at the moment the
property is retrieved (the status could
change immediately thereafter).

get_Recipient The IFaxOutgoingJob::get_Recipient


property retrieves an interface to an
object containing information about the
recipient of the fax job.

get_Recipient The
IFaxOutgoingMessage::get_Recipient
property retrieves an interface
containing information about the
recipient of the fax message.
T IT L E DESC RIP T IO N

get_RecipientAddress Sets or retrieves the RecipientAddress


property of a FaxDoc object. The
RecipientAddress property is a null-
terminated string that contains the
street address of the recipient of the fax
transmission.

get_RecipientCity Sets or retrieves the RecipientCity


property of a FaxDoc object. The
RecipientCity property is a null-
terminated string that contains the city
name of the recipient of the fax
transmission.

get_RecipientCompany Sets or retrieves the RecipientCompany


property of a FaxDoc object. The
RecipientCompany property is a null-
terminated string that contains the
company name of the recipient of the
fax transmission.

get_RecipientCountry Sets or retrieves the RecipientCountry


property of a FaxDoc object. The
RecipientCountry property is a null-
terminated string that contains the
country/region of the recipient of the
fax transmission.

get_RecipientDepartment Sets or retrieves the


RecipientDepartment property of a
FaxDoc object. The
RecipientDepartment property is a null-
terminated string that contains the
department of the recipient of the fax
transmission.

get_RecipientHomePhone Sets or retrieves the


RecipientHomePhone property of a
FaxDoc object. The
RecipientHomePhone property is a null-
terminated string that contains the
home telephone number of the
recipient of the fax transmission.

get_RecipientName Sets or retrieves the RecipientName


property of a FaxDoc object. The
RecipientName property is a null-
terminated string that contains the
name of the recipient of the fax
transmission.

get_RecipientName The IFaxJob::get_RecipientName


property is a null-terminated string
that contains the name of the recipient
of the fax job.
T IT L E DESC RIP T IO N

get_RecipientName Retrieves the RecipientName property


for a FaxStatus object. The
RecipientName property is a null-
terminated string that contains the
name of the recipient of an inbound fax
transmission.

get_RecipientName Retrieves the RecipientName property


for a FaxTiff object. The RecipientName
property is a null-terminated string
that contains the name of the recipient
for the specified fax file.

get_RecipientNumber Retrieves the RecipientNumber property


for a FaxTiff object. The
RecipientNumber property is a null-
terminated string that contains the fax
number to which a fax was transmitted.

get_RecipientOffice Sets or retrieves the RecipientOffice


property of a FaxDoc object. The
RecipientOffice property is a null-
terminated string that contains the
office of the recipient of the fax
transmission.

get_RecipientOfficePhone Sets or retrieves the


RecipientOfficePhone property of a
FaxDoc object. The
RecipientOfficePhone property is a null-
terminated string that contains the
office telephone number of the
recipient of the fax transmission.

get_Recipients The IFaxDocument::get_Recipients


property retrieves a collection of one or
more recipients for the fax document.

get_Recipients Contains the recipients associated with


the inbound fax message. This property
is a null-terminated string.

get_RecipientState Sets or retrieves the RecipientState


property of a FaxDoc object. The
RecipientState property is a null-
terminated string that contains the
state of the recipient of the fax
transmission.

get_RecipientTitle Sets or retrieves the RecipientTitle


property of a FaxDoc object. The
RecipientTitle property is a null-
terminated string that contains the title
of the recipient of the fax transmission.
T IT L E DESC RIP T IO N

get_RecipientZip Sets or retrieves the RecipientZip


property of a FaxDoc object. The
RecipientZip property is a null-
terminated string that contains the ZIP
code of the recipient of the fax
transmission.

get_RegisteredEvents A set of flags indicating the type of


events for which the account is
listening.

get_RegisteredEvents The IFaxServer::get_RegisteredEvents


property is a value from an
enumeration that indicates the types of
fax service events a client application is
listening for.

get_Retries Sets or retrieves a value that indicates


the number of redial attempts for a
given fax job.

get_Retries The Retries property is a value that


indicates the number of times the fax
service attempted to route an incoming
fax when the initial routing attempt
failed.

get_Retries The Retries property is a value that


indicates the number of times that the
fax service attempted to route an
inbound fax message after the initial
routing attempt failed.

get_Retries The Retries property is a value that


indicates the number of times that the
fax service attempted to transmit a fax
job when the initial attempt failed.

get_Retries The IFaxOutgoingJob::get_Retries


property is a value that indicates the
number of times that the fax service
attempted to transmit an outgoing fax
after the initial transmission attempt
failed.

get_Retries The IFaxOutgoingMessage::get_Retries


property is a value that indicates the
number of times that the fax service
attempted to transmit an outgoing fax
after the initial transmission attempt
failed.

get_Retries The IFaxOutgoingQueue::get_Retries


property is a value that indicates the
number of times that the fax service
attempts to retransmit an outgoing fax
when the initial transmission fails.
T IT L E DESC RIP T IO N

get_Retries Sets or retrieves the Retries property


for a FaxServer object. The Retries
property is a value that represents the
number of times the fax server
attempts to retransmit an outgoing fax
when the initial transmission fails.

get_RetryDelay Sets or retrieves a value that indicates


the length of time the fax service
should wait before retrying a failed fax
transmission.

get_RetryDelay The
IFaxOutgoingQueue::get_RetryDelay
property is a value that indicates the
time interval, in minutes, that the fax
service waits before attempting to
retransmit an outbound fax job.

get_RetryDelay Sets or retrieves the RetryDelay


property for a FaxServer object. The
RetryDelay property is a value that
represents the time interval, in minutes,
the fax server waits before attempting
to retransmit an outbound fax job.

get_RingingNow The IFaxDevice::get_RingingNow


property is a Boolean value that
indicates whether the fax device is
ringing at the moment the property is
retrieved (the status could change
immediately thereafter).

get_Rings The IFaxPort::get_Rings property


represents the number of rings an
incoming fax call should wait before the
fax port answers the call.

get_RingsBeforeAnswer The IFaxDevice::get_RingsBeforeAnswer


property is a number that specifies the
number of rings that occur before the
fax device answers an incoming fax call.

get_Routing Retrieves the Routing property for a


FaxTiff object. The Routing property is a
null-terminated string that contains the
inbound routing string for a specified
fax file.

get_RoutingData The
IFaxRoutingMethod::get_RoutingData
property is a null-terminated string
that contains the routing string for an
incoming fax transmission.
T IT L E DESC RIP T IO N

get_RoutingInformation The RoutingInformation property is a


null-terminated string that specifies
routing information for the inbound fax
job.

get_RoutingInformation The RoutingInformation property is a


null-terminated string that indicates
inbound routing information for the fax
message.

get_RoutingInformation The RoutingInformation property is a


null-terminated string that specifies the
routing information for the fax job.

get_RoutingMessages The IFaxActivity::get_RoutingMessages


property is a number that represents
the total number of incoming fax jobs
that the fax service is currently routing.

get_RoutingString Retrieves the RoutingString property for


the FaxStatus object of a parent FaxPort
object. The RoutingString property is a
null-terminated string that contains
routing information for inbound fax
transmissions that is specific to a fax
service provider.

get_ScheduledTime The ScheduledTime property indicates


the time that the fax job is scheduled
for transmission.

get_ScheduledTime The
IFaxOutgoingJob::get_ScheduledTime
property indicates the time to submit
the fax for processing to the fax service.

get_ScheduleTime The IFaxDocument::get_ScheduleTime


property indicates the time to submit
the fax for processing to the fax service.

get_ScheduleType The IFaxDocument::get_ScheduleType


property indicates when to schedule
the fax job; for example, you can specify
that the fax service send the fax
immediately, at a specified time, or
during a predefined discount period.

get_ScheduleType Specifies the schedule type that was


used for the transmission.

get_Security The IFaxServer::get_Security property


creates a IFaxSecurity configuration
interface. The interface permits the
calling application to set and retrieve a
security descriptor for the fax server.
T IT L E DESC RIP T IO N

get_Security2 The IFaxServer2::Security2 property


returns a IFaxSecurity2 object used to
configure security on the fax server.

get_Send The IFaxPort::get_Send property is a


Boolean value that indicates whether a
fax port is enabled to send faxes.

get_Send Retrieves the Send property for the


FaxStatus object of a parent FaxPort
object. The Send property is a Boolean
value that indicates whether a specified
fax port is currently sending a fax.

get_SendCoverpage Sets or retrieves the SendCoverpage


property for a FaxDoc object. The
SendCoverpage property is a Boolean
value that indicates whether the
specified cover page file is stored on the
fax server.

get_SendEnabled The IFaxDevice::get_SendEnabled


property is a Boolean value that
indicates whether the fax device is
enabled for sending faxes.

get_Sender Retrieves an object containing


information about the sender of the fax
document.

get_Sender The IFaxOutgoingJob::get_Sender


property retrieves an object containing
information about the sender of the fax.

get_Sender The IFaxOutgoingMessage::get_Sender


property retrieves an interface
containing information about the
sender of the fax message.

get_SenderAddress Sets or retrieves the SenderAddress


property of a FaxDoc object. The
SenderAddress property is a null-
terminated string that contains the
street address of the sender of the fax
transmission.

get_SenderCompany Sets or retrieves the SenderCompany


property of a FaxDoc object. The
SenderCompany property is a null-
terminated string that contains the
company name of the sender of the fax
transmission.
T IT L E DESC RIP T IO N

get_SenderCompany The IFaxJob::get_SenderCompany


property is a null-terminated string
that contains the company name for
the sender of the fax job. The
IFaxJob::get_SenderCompany property
applies only to outgoing fax
transmissions.

get_SenderDepartment Sets or retrieves the SenderDepartment


property of a FaxDoc object. The
SenderDepartment property is a null-
terminated string that contains the
department of the sender of the fax
transmission.

get_SenderDept The IFaxJob::get_SenderDept property


is a null-terminated string that contains
the department identifier for the sender
of the fax job. The
IFaxJob::get_SenderDept property
applies only to outgoing fax
transmissions.

get_SenderFax Sets or retrieves the SenderFax


property of a FaxDoc object. The
SenderFax property is a null-terminated
string that contains the fax number of
the sender of the outbound fax
transmission.

get_SenderFaxNumber Contains the sender's fax number


associated with the inbound fax
message. This property is a null-
terminated string.

get_SenderHomePhone Sets or retrieves the SenderHomePhone


property of a FaxDoc object. The
SenderHomePhone property is a null-
terminated string that contains the
home telephone number of the sender
of the fax transmission.

get_SenderName Contains the name of the sender that is


associated with the inbound fax
message. This property is a null-
terminated string.

get_SenderName Sets or retrieves the SenderName


property of a FaxDoc object. The
SenderName property is a null-
terminated string that contains the
name of the sender of the fax
transmission.
T IT L E DESC RIP T IO N

get_SenderName The IFaxJob::get_SenderName property


is a null-terminated string that contains
the name of the sender who initiated
the fax job. The
IFaxJob::get_SenderName property
applies only to outgoing fax
transmissions.

get_SenderName Retrieves the SenderName property for


the FaxStatus object of a parent FaxPort
object. The SenderName property is a
null-terminated string that contains the
name of the user who sent the fax
transmission.

get_SenderName Retrieves the SenderName property for


a FaxTiff object. The SenderName
property is a null-terminated string
that contains the name of the user who
queued the fax transmission.

get_SenderOffice Sets or retrieves the SenderOffice


property of a FaxDoc object. The
SenderOffice property is a null-
terminated string that contains the
office of the sender of the fax
transmission.

get_SenderOfficePhone Sets or retrieves the SenderOfficePhone


property of a FaxDoc object. The
SenderOfficePhone property is a null-
terminated string that contains the
office telephone number of the sender
of the fax transmission.

get_SenderTitle Sets or retrieves the SenderTitle


property of a FaxDoc object. The
SenderTitle property is a null-
terminated string that contains the title
of the sender of the fax transmission.

get_SendingNow The IFaxDevice::get_SendingNow


property is a Boolean value that
indicates whether the fax device is
sending a fax at the moment the
property is retrieved (the status could
change immediately thereafter).

get_ServerCoverpage Sets or retrieves the ServerCoverpage


property for a FaxDoc object. The
ServerCoverpage property is a Boolean
value that indicates whether the
specified cover page file is stored on the
fax server.
T IT L E DESC RIP T IO N

get_ServerCoverpage Sets or retrieves the ServerCoverpage


property for a FaxServer object. The
ServerCoverpage property is a Boolean
value that indicates whether the fax
server permits the use of common
cover pages only.

get_ServerMapiProfile Sets or retrieves the ServerMapiProfile


property for a FaxServer object. The
ServerMapiProfile property is a null-
terminated string that contains the
MAPI user profile that the fax server
uses for routing incoming fax
transmissions.

get_ServerName The IFaxServer::get_ServerName


property retrieves the name of the
active fax server to which the fax client
is connected.

get_Size The Size property is a value that


indicates the size of the Tagged Image
File Format Class F (TIFF Class F) file
associated with the inbound fax job.

get_Size The Size property is a value that


indicates the size of the Tagged Image
File Format Class F (TIFF Class F) file
associated with the inbound fax
message.

get_Size The Size property is a value that


indicates the number of bytes of the
Tagged Image File Format Class F (TIFF
Class F) file received so far for the fax
job.

get_Size The IFaxOutgoingJob::get_Size property


is a value that indicates the size of the
Tagged Image File Format Class F (TIFF
Class F) file associated with the
outbound fax job.

get_Size The Size property is a value that


indicates the size of the Tagged Image
File Format Class F (TIFF Class F) file
associated with the outbound fax
message.

get_SizeHigh Specifies the high 32-bit value (in bytes)


for the size of the archive of inbound
fax messages for a particular fax
account.
T IT L E DESC RIP T IO N

get_SizeHigh Specifies the high-order 32-bit value of


the size (in bytes) of the archive of
outbound fax messages for a particular
fax account.

get_SizeHigh The SizeHigh property is a value that


specifies the high 32-bit value (in bytes)
for the size of the archive of inbound
fax messages.

get_SizeHigh The IFaxOutgoingArchive::get_SizeHigh


property is a value that specifies the
high 32-bit value (in bytes) for the size
of the archive of outgoing fax
messages.

get_SizeLow Specifies the low 32-bit value (in bytes)


for the size of the archive of inbound
fax messages for a particular fax
account.

get_SizeLow Specifies the low-order 32-bit value of


the size (in bytes) of the archive of
outbound fax messages for a particular
fax account.

get_SizeLow The SizeLow property is a value that


specifies the low 32-bit value (in bytes)
for the size of the archive of inbound
fax messages.

get_SizeLow The IFaxOutgoingArchive::get_SizeLow


property is a value that specifies the
low 32-bit value (in bytes) for the size
of the archive of outgoing fax
messages.

get_SizeQuotaWarning Sets or retrieves a value that indicates


whether the size quota warning is
turned on.

get_SizeQuotaWarning The SizeQuotaWarning property is a


Boolean value that indicates whether
the fax service issues a warning in the
event log when the size of the inbound
archive exceeds the limit defined by the
HighQuotaWaterMark property.

get_SizeQuotaWarning The
IFaxOutgoingArchive::get_SizeQuotaWa
rning property is a Boolean value that
indicates whether the fax service issues
a warning in the event log when the
size of the outbound archive exceeds
the limit defined by the
IFaxOutgoingArchive::get_HighQuotaW
aterMark property.
T IT L E DESC RIP T IO N

get_SMTPPassword The
IFaxReceiptOptions::get_SMTPPassword
property is a null-terminated string
that contains the Simple Mail Transport
Protocol (SMTP) password used for
authenticated connections.

get_SMTPPort The IFaxReceiptOptions::get_SMTPPort


property is a value that specifies the
Simple Mail Transport Protocol (SMTP)
port number.

get_SMTPSender The
IFaxReceiptOptions::get_SMTPSender
property is a null-terminated string
that contains the Simple Mail Transport
Protocol (SMTP) email address for the
sender of the mail message receipt.

get_SMTPServer The
IFaxReceiptOptions::get_SMTPServer
property is a null-terminated string
that contains the name of the Simple
Mail Transport Protocol (SMTP) server.

get_SMTPUser The IFaxReceiptOptions::get_SMTPUser


property is a null-terminated string
that contains the Simple Mail Transport
Protocol (SMTP) user name used for
authenticated connections.

get_StartTime Retrieves the StartTime property for the


FaxStatus object of a parent FaxPort
object. The StartTime property is a
number that represents the starting
time for an active fax job.

get_Status The IFaxDeviceProvider::get_Status


property is a number that indicates
whether the fax service provider (FSP)
loaded and initialized successfully.

get_Status The
IFaxInboundRoutingExtension::get_Statu
s property is a value that indicates
whether the fax routing extension
loaded and initialized successfully.

get_Status Retrieves the Status property of a


FaxIncomingJob object. The Status
property is a number that indicates the
current status of an inbound fax job in
the job queue.

get_Status The Status property is a number that


indicates the current status of fax job in
the job queue.
T IT L E DESC RIP T IO N

get_Status The Status property indicates the


collective status of the fax devices in the
outbound routing group.

get_Status The
IFaxOutboundRoutingRule::get_Status
property indicates the current status of
the outbound routing rule; for example,
whether the rule is valid and whether it
can apply to fax jobs.

get_Status The IFaxOutgoingJob::get_Status


property is a number that indicates the
current status of an outbound fax job in
the job queue.

get_StreetAddress The IFaxSender::get_StreetAddress


property is a null-terminated string
that contains the street address
associated with the sender.

get_Subject The IFaxDocument::get_Subject


property is a null-terminated string
that contains the contents of the
subject field on the cover page of the
fax.

get_Subject The Subject property contains the


subject associated with the inbound fax
message. This property is a null-
terminated string.

get_Subject The IFaxOutgoingJob::get_Subject


property is a null-terminated string
that contains the contents of the
subject field on the cover page of the
fax.

get_Subject The IFaxOutgoingMessage::get_Subject


property is a null-terminated string
that contains the contents of the
subject field on the cover page of the
fax.

get_SubmissionId Retrieves the submission identifier for


the fax document.

get_SubmissionId The IFaxOutgoingJob::get_SubmissionId


property is a null-terminated string
that contains the unique identifier
assigned to the fax job during the
submission process.
T IT L E DESC RIP T IO N

get_SubmissionId The
IFaxOutgoingMessage::get_SubmissionI
d property is a null-terminated string
that contains the unique identifier
assigned to the fax message during the
submission process.

get_SubmissionTime The
IFaxOutgoingJob::get_SubmissionTime
property indicates the time that the
outbound fax job was submitted for
processing.

get_SubmissionTime The
IFaxOutgoingMessage::get_SubmissionT
ime property indicates the time that
the outbound fax message was
submitted for processing.

get_SubmittedTime Retrieves the SubmittedTime property


for the FaxStatus object of a parent
FaxPort object. The SubmittedTime
property is a number that represents
the time the user submitted the active
fax job.

get_TapiProviderName The
IFaxDeviceProvider::get_TapiProviderNa
me property is a null-terminated string
that contains the name of the
telephony service provider (TSP)
associated with the fax service provider
(FSP) fax devices.

get_TiffTagString Retrieves the TiffTagString property for


a FaxTiff object. The TiffTagString
property is a null-terminated string
that contains the value of a specified
Tagged Image File Format (TIFF) tag
(field).

get_Title The IFaxSender::get_Title property is a


null-terminated string that contains the
title associated with the sender.

get_TransmissionEnd The TransmissionEnd property indicates


the time at which the inbound fax job
completed transmission.

get_TransmissionEnd The TransmissionEnd property indicates


the time that the inbound fax message
completed transmission.

get_TransmissionEnd The TransmissionEnd property indicates


the time that the fax job completed
transmission.
T IT L E DESC RIP T IO N

get_TransmissionEnd The
IFaxOutgoingJob::get_TransmissionEnd
property indicates the time that the
outbound fax job completed
transmission.

get_TransmissionEnd The
IFaxOutgoingMessage::get_Transmissio
nEnd property indicates the time that
the fax outbound message completed
transmission.

get_TransmissionStart The TransmissionStart property


indicates the time that the fax inbound
job began transmitting.

get_TransmissionStart The TransmissionStart property


indicates the time that the inbound fax
message began transmitting.

get_TransmissionStart The TransmissionStart property


indicates the time that the fax job
began transmitting.

get_TransmissionStart The
IFaxOutgoingJob::get_TransmissionStart
property indicates the time that the fax
outbound job began transmitting. This
property will have a value only after the
transmission has started.

get_TransmissionStart The
IFaxOutgoingMessage::get_Transmissio
nStart property indicates the time that
the fax outbound message began
transmitting.

get_Tsid Sets or retrieves the Tsid property of a


FaxDoc object. The Tsid property is a
null-terminated string that contains a
user-defined transmitting station
identifier (TSID).

get_Tsid The IFaxJob::get_Tsid property is a null-


terminated string that contains the
transmitting station identifier (TSID))
associated with the fax job.

get_Tsid The IFaxPort::get_Tsid property is a null-


terminated string that contains the
transmitting station identifier (TSID)
associated with the fax port.
T IT L E DESC RIP T IO N

get_Tsid Retrieves the Tsid property for the


FaxStatus object of a parent FaxPort
object. The Tsid property is a null-
terminated string that contains the
transmitting station identifier (TSID)
associated with the fax port.

get_Tsid Retrieves the Tsid property for a FaxTiff


object. The Tsid property is a null-
terminated string that contains
transmitting station identifier (TSID)
information, which is typically the fax
number of the device that sent the
specified fax file.

get_TSID The IFaxDevice::get_TSID property is a


null-terminated string that contains the
transmitting station identifier (TSID) for
the device.

get_TSID The TSID property is a null-terminated


string that contains the transmitting
station identifier (TSID) associated with
the fax inbound job.

get_TSID The TSID property is a null-terminated


string that contains the transmitting
station identifier (TSID) associated with
the inbound fax message.

get_TSID The TSID property is a null-terminated


string that contains the transmitting
station identifier (TSID) associated with
the fax job.

get_TSID The IFaxOutgoingJob::get_TSID


property is a null-terminated string
that contains the transmitting station
identifier (TSID) associated with the fax
outbound job.

get_TSID The IFaxOutgoingMessage::get_TSID


property is a null-terminated string
that contains the transmitting station
identifier (TSID) associated with the fax
outbound message.

get_TSID The IFaxSender::get_TSID property is a


null-terminated string that contains the
transmitting station identifier (TSID) for
the sender's device.

get_Type The IFaxJob::get_Type property is a


number that describes the type of fax
job represented by the object.
T IT L E DESC RIP T IO N

get_UniqueName The
IFaxDeviceProvider::get_UniqueName
property is a null-terminated string
that contains the unique name that
identifies the fax service provider (FSP).

get_UniqueName The
IFaxInboundRoutingExtension::get_Uniq
ueName property is a null-terminated
string that contains a unique name for
the fax routing extension. The fax
service uses this name internally to
identify fax routing extensions.

get_UseArchive Sets or retrieves a value that indicates


whether faxes should be archived.

get_UseArchive The UseArchive property is a Boolean


value that indicates whether the fax
service archives inbound fax messages.

get_UseArchive The
IFaxOutgoingArchive::get_UseArchive
property is a Boolean value that
indicates whether the fax service
archives outbound fax messages.

get_UseDevice The
IFaxOutboundRoutingRule::get_UseDevi
ce property is a Boolean value that
indicates whether the outbound
routing rule points to a single fax
device.

get_UseDeviceTsid Sets or retrieves the UseDeviceTsid


property for a FaxServer object. The
UseDeviceTsid property is a Boolean
value that indicates whether the fax
server uses the device's transmitting
station identifier (TSID) instead of a
user-specified TSID.

get_UseDeviceTSID Sets or retrieves a value that indicates


whether the transmitting station
identifier (TSID) is used.

get_UseDeviceTSID The
IFaxOutgoingQueue::get_UseDeviceTSI
D property is a Boolean value that
indicates whether the fax service uses
the device transmitting station identifier
(TSID) instead of a sender TSID.
T IT L E DESC RIP T IO N

get_UsedRoutingMethods The
IFaxDevice::get_UsedRoutingMethods
property is an array of strings that
contains the GUIDs associated with the
routing methods that the device uses,
where each GUID represents an
inbound routing method
(FaxInboundRoutingMethod).

get_UseForInboundRouting The
IFaxReceiptOptions::get_UseForInbound
Routing property sets or retrieves
whether to use the FaxReceiptOptions
settings for the Microsoft Routing
Extension, which allows incoming faxes
to be routed to email addresses.

get_UserName The IFaxJob::get_UserName property is


a null-terminated string that contains
the name of the user who submitted
the fax job to the job queue. The
IFaxJob::get_UserName property applies
only to outgoing fax transmissions.

get_WasReAssigned Indicates if the fax has been reassigned.

GetAccount Returns an IFaxAccount object by using


the account name.

GetAccounts Returns an IFaxAccounts object that


represents all the fax accounts on the
fax server.

GetDeviceProviders The IFaxServer::GetDeviceProviders


method creates a IFaxDeviceProviders
interface, a collection of fax service
providers (FSPs) that are currently
registered with the fax service.

GetDevices The IFaxServer::GetDevices method


creates a IFaxDevices interface, a
collection of all the fax devices exposed
by all the fax service providers (FSPs)
currently registered with the fax service.

GetExtensionProperty The
IFaxDevice::get_GetExtensionProperty
method retrieves an extension
configuration property stored at the
device level.

GetExtensionProperty The IFaxServer::GetExtensionProperty


method retrieves an extension
configuration property stored at the
server level.
T IT L E DESC RIP T IO N

GetExtensions The GetExtensions method retrieves the


collection of inbound routing
extensions registered with the fax
service.

GetGroups The IFaxOutboundRouting::GetGroups


method retrieves an interface that
represents a collection of outbound
routing groups.

GetJob Returns an incoming fax job in the job


queue of the current fax account
according to the job's ID.

GetJob Returns an outgoing fax job in the job


queue of the current fax account
according to the job's ID.

GetJob The GetJob method returns an


incoming fax job in the job queue
according to its ID.

GetJob The IFaxOutgoingQueue::GetJob


method returns an outbound fax job in
the job queue according to its ID.

GetJobs Returns the collection of inbound fax


jobs in the queue for the current fax
account.

GetJobs Returns the collection of outbound fax


jobs in the queue for the current fax
account.

GetJobs The GetJobs method returns the


collection of inbound fax jobs in the
queue.

GetJobs The IFaxOutgoingQueue::GetJobs


method returns a collection of the
outbound fax jobs in the job queue.

GetJobs The GetJobs method creates and


initializes a FaxJobs object for a specified
FaxServer object. The FaxJobs object
allows enumeration of the current
queued jobs for the connected fax
server.

GetMessage Returns a fax message from the archive


of inbound faxes, for a particular fax
account, by using the fax message ID.

GetMessage Returns a fax message from the archive


of outbound faxes for a particular fax
account, by using the fax message ID.
T IT L E DESC RIP T IO N

GetMessage The GetMessage method returns a fax


message from the archive of inbound
faxes by using the fax message ID.

GetMessage The IFaxOutgoingArchive::GetMessage


method returns a fax message from the
archive of outbound faxes by using the
fax message ID.

GetMessages Returns a new iterator (archive cursor)


for the archive of inbound fax messages
for a particular fax account.

GetMessages Returns a new iterator (archive cursor)


for the archive of outbound fax
messages for a particular fax account.

GetMessages The GetMessages method returns a


new iterator (archive cursor) for the
archive of inbound fax messages.

GetMessages The IFaxOutgoingArchive::GetMessages


method returns a new iterator (archive
cursor) for the archive of outbound fax
messages. For more information, see
IFaxOutgoingMessageIterator.

GetMethods The IFaxInboundRouting::GetMethods


method retrieves the ordered collection
of all the inbound routing methods
exposed by all the inbound routing
extensions currently registered with the
fax service.

GetPorts The GetPorts method creates and


initializes a FaxPorts object for a
specified FaxServer object. The FaxPorts
object allows enumeration of fax port
configuration information for the
connected fax server.

GetRoutingMethods The IFaxPort::GetRoutingMethods


interface method creates a
FaxRoutingMethods object for the
parent FaxPort object.

GetRules The IFaxOutboundRouting::GetRules


method retrieves an interface that
represents a collection of outbound
routing groups.

GetStatus The IFaxPort::GetStatus method creates


a FaxStatus object for the parent
FaxPort object. The FaxStatus object
contains the current status of a fax
port.
T IT L E DESC RIP T IO N

ItemByCountryAndArea The
IFaxOutboundRoutingRules::get_ItemBy
CountryAndArea method returns an
outbound routing rule
(FaxOutboundRoutingRule object) from
the collection using the routing rule's
country/region code and area code.

ListenToAccountEvents Sets the flags of a


FAX_ACCOUNT_EVENTS_TYPE_ENUM
variable that represents the events for
which the account is listening.

ListenToServerEvents The IFaxServer::ListenToServerEvents


method registers the FaxServer object
to receive notifications about one or
more types of server events, or to stop
these notifications.

LoadDefaultSender The IFaxSender::get_LoadDefaultSender


method fills the FaxSender object with
the default sender information.

MoveFirst The MoveFirst method moves the


archive cursor to the first fax message
in the archive of inbound faxes.

MoveFirst The
IFaxOutgoingMessageIterator::MoveFir
st method moves the archive cursor to
the first fax message in the outbound
archive.

MoveNext The MoveNext method moves the


archive cursor to the next message in
the archive of inbound faxes.

MoveNext The
IFaxOutgoingMessageIterator::MoveNe
xt method moves the archive cursor to
the next fax message in the outbound
archive.

OnActivityLoggingConfigChange The fax service calls the


IFaxServerNotify2::OnActivityLoggingCo
nfigChange method when there is a
configuration change related to activity
logging.

OnDevicesConfigChange The fax service calls the


IFaxServerNotify2::OnDevicesConfigCha
nge method when there is a change to
a fax device configuration.
T IT L E DESC RIP T IO N

OnDeviceStatusChange The fax service calls the


IFaxServerNotify2::OnDeviceStatusChan
ge method when there is a change to a
fax device status.

OnEventLoggingConfigChange The fax service calls the


IFaxServerNotify2::OnEventLoggingCon
figChange method when there is a
configuration change related to event
logging.

OnGeneralServerConfigChanged Called by the fax service when the


IFaxServer2::Configuration property
changes.

OnIncomingArchiveConfigChange The fax service calls the


IFaxServerNotify2::OnIncomingArchiveC
onfigChange method when there is a
configuration change related to the
incoming fax archive.

OnIncomingJobAdded Called by the fax service when an


incoming fax job is added to the job
queue for a particular fax account.

OnIncomingJobAdded The fax service calls the


IFaxServerNotify2::OnIncomingJobAdde
d method when an incoming fax job is
added to the job queue.

OnIncomingJobChanged Called by the fax service when the


status of an incoming fax job for a
particular fax account changes.

OnIncomingJobChanged The fax service calls the


IFaxServerNotify2::OnIncomingJobChan
ged method when the status of an
incoming fax job changes.

OnIncomingJobRemoved Called by the fax service when an


incoming fax job is removed from the
job queue of a particular fax account.

OnIncomingJobRemoved The fax service calls the


IFaxServerNotify2::OnIncomingJobRemo
ved method when an incoming fax job
is removed from the job queue.

OnIncomingMessageAdded Called by the fax service when an


incoming message is added to the
inbound fax archive.
T IT L E DESC RIP T IO N

OnIncomingMessageAdded The fax service calls the


IFaxServerNotify2::OnIncomingMessage
Added method when an incoming
message is added to the inbound fax
archive.

OnIncomingMessageRemoved Called by the fax service when an


incoming message is removed from the
inbound fax archive.

OnIncomingMessageRemoved The fax service calls the


IFaxServerNotify2::OnIncomingMessage
Removed method when an incoming
message is removed from the inbound
fax archive.

OnNewCall The fax service calls the


IFaxServerNotify2::OnNewCall method
when there is a new incoming fax call.

OnOutboundRoutingGroupsConfigCha The fax service calls the


nge IFaxServerNotify2::OnOutboundRouting
GroupsConfigChange method when
there is a configuration change related
to outbound fax routing groups.

OnOutboundRoutingRulesConfigChang The fax service calls the


e IFaxServerNotify2::OnOutboundRouting
RulesConfigChange method when there
is a configuration change related to
outbound fax routing rules.

OnOutgoingArchiveConfigChange The fax service calls the


IFaxServerNotify2::OnOutgoingArchive
ConfigChange method when there is a
configuration change related to the
outgoing fax archive.

OnOutgoingJobAdded Called by the fax service when an


outgoing fax job is added to the job
queue for a particular fax account.

OnOutgoingJobAdded The fax service calls the


IFaxServerNotify2::OnOutgoingJobAdde
d method when an outgoing fax job is
added to the job queue.

OnOutgoingJobChanged Called by the fax service when the


status of an outgoing fax job for a
particular fax account changes.

OnOutgoingJobChanged The fax service calls the


IFaxServerNotify2::OnOutgoingJobChan
ged method when the status of an
outgoing fax job changes.
T IT L E DESC RIP T IO N

OnOutgoingJobRemoved Called by the fax service when an


outgoing fax job is removed from the
job queue of a particular fax account.

OnOutgoingJobRemoved The fax service calls the


IFaxServerNotify2::OnOutgoingJobRem
oved method when an outgoing fax job
is removed from the job queue.

OnOutgoingMessageAdded The fax service calls the


IFaxAccountNotify::OnOutgoingMessag
eAdded method when an outgoing
message is added to the outbound fax
archive.

OnOutgoingMessageAdded The fax service calls the


IFaxServerNotify2::OnOutgoingMessag
eAdded method when an outgoing
message is added to the outbound fax
archive.

OnOutgoingMessageRemoved Called by the fax service when an


outgoing message is removed from the
outbound fax archive.

OnOutgoingMessageRemoved The fax service calls the


IFaxServerNotify2::OnOutgoingMessag
eRemoved method when an outgoing
message is removed from the fax
outbound archive.

OnOutgoingQueueConfigChange The fax service calls the


IFaxServerNotify2::OnOutgoingQueueC
onfigChange method when there is a
configuration change related to the
outgoing fax job queue.

OnQueuesStatusChange The fax service calls the


IFaxServerNotify2::OnQueuesStatusCha
nge method when there is a change in
the fax job queue status.

OnReceiptOptionsChange The fax service calls the


IFaxServerNotify2::OnReceiptOptionsCh
ange method when there is a change
that relates to receipt configuration.

OnSecurityConfigChange The fax service calls the


IFaxServerNotify2::OnSecurityConfigCha
nge method when there is a
configuration change related to
security.

OnServerActivityChange The fax service calls the


IFaxServerNotify2::OnServerActivityCha
nge method when the fax service
activity and status changes.
T IT L E DESC RIP T IO N

OnServerShutDown Called by the fax service when it shuts


down.

OnServerShutDown The fax service calls the


IFaxServerNotify2::OnServerShutDown
method when the fax service shuts
down.

Pause The IFaxOutgoingJob::Pause method


pauses the outbound fax job.

PFAX_LINECALLBACK The FaxLineCallback function is an


application-defined or library-defined
callback function that the fax service
calls to deliver Telephony Application
Programming Interface (TAPI) events to
the fax service provider (FSP).

PFAX_RECIPIENT_CALLBACKA The FAX_RECIPIENT_CALLBACK


function is an application-defined or
library-defined callback function that
the FaxSendDocumentForBroadcast
function calls to retrieve user-specific
information for the transmission.

PFAX_RECIPIENT_CALLBACKW The FAX_RECIPIENT_CALLBACK


function is an application-defined or
library-defined callback function that
the FaxSendDocumentForBroadcast
function calls to retrieve user-specific
information for the transmission.

PFAX_ROUTING_INSTALLATION_CALLB The FaxRoutingInstallationCallback


ACKW function is a library-defined callback
function that the
FaxRegisterRoutingExtension function
calls to install a fax routing extension
DLL.

PFAX_SEND_CALLBACK The FaxSendCallback function is an


application-defined or library-defined
callback function that a fax service
provider (FSP) calls to notify the fax
service that an outgoing fax call is in
progress.

PFAXABORT A fax client application calls the


FaxAbort function to terminate a fax
job.

PFAXACCESSCHECK A fax client application calls the


FaxAccessCheck function to query the
fax access privileges of a user.

PFAXCLOSE The FaxClose function closes fax handles


T IT L E DESC RIP T IO N

PFAXFREEBUFFER The FaxFreeBuffer function releases


resources associated with a buffer
allocated previously as the result of a
function call by a fax client application.

PFAXGETPAGEDATA The FaxGetPageData function returns to


a fax client application the first page of
data for a fax job.

PFAXINITIALIZEEVENTQUEUE The FaxInitializeEventQueue function


creates a fax event queue for the calling
fax client application. The queue enables
the application to receive notifications
of asynchronous events from the fax
server.

PFAXOPENPORT The FaxOpenPort function returns a fax


port handle to a fax client application.
The port handle is required when the
application calls other fax client
functions that facilitate device
management and fax document
routing.

PFAXROUTEADDFILE A fax routing method calls the


FaxRouteAddFile callback function to
add a file to the fax file list associated
with a received fax document.

PFAXROUTEDELETEFILE A fax routing method calls the


FaxRouteDeleteFile callback function to
delete a file from the fax file list
associated with a received fax
document.

PFAXROUTEENUMFILE The FaxRouteEnumFile callback function


receives the file names in the fax file list
associated with a received fax
document.

PFAXROUTEENUMFILES A fax routing method calls the


FaxRouteEnumFiles callback function to
enumerate the files in the fax file list
associated with a received fax
document.

PFAXROUTEGETFILE A fax routing method calls the


FaxRouteGetFile callback function to
retrieve the name of a specific file from
the fax file list associated with a
received fax document.

PFAXROUTEMETHOD The FaxRouteMethod function is a


placeholder for a function name defined
by the fax routing extension DLL. This
function executes a defined fax routing
procedure.
T IT L E DESC RIP T IO N

PFAXROUTEMODIFYROUTINGDATA A fax routing method calls the


FaxRouteModifyRoutingData callback
function to modify the routing data for
a subsequent fax routing method.

put_AgeLimit The AgeLimit property is a value that


indicates the number of days that the
fax service retains fax messages in the
archive of inbound faxes.

put_AgeLimit The IFaxOutgoingArchive::get_AgeLimit


property is a value that indicates the
number of days that the fax service
retains fax messages in the archive of
outbound faxes.

put_AgeLimit The IFaxOutgoingQueue::get_AgeLimit


property is a value that indicates the
number of days that the fax service
retains an unsent job in the fax job
queue.

put_AllowedReceipts The
IFaxReceiptOptions::get_AllowedReceipts
property is a value that specifies the
permitted types of delivery receipts.

put_AllowPersonalCoverPages Sets or retrieves a value that indicates


whether personal cover pages are
allowed.

put_AllowPersonalCoverPages The AllowPersonalCoverPages property


is a Boolean value that indicates
whether fax client applications can
include a user-designed cover page
with fax transmissions.

put_ArchiveAgeLimit Sets or retrieves a value that indicates


how long a fax message is kept on the
server.

put_ArchiveDirectory The IFaxServer::get_ArchiveDirectory


method retrieves the ArchiveDirectory
property for a FaxServer object. The
ArchiveDirectory property is a null-
terminated string that contains the
location in which the fax server stores
archived outbound faxes.

put_ArchiveFolder The ArchiveFolder property is a null-


terminated string that specifies the
folder location on the fax server for
archived inbound faxes.
T IT L E DESC RIP T IO N

put_ArchiveFolder The
IFaxOutgoingArchive::get_ArchiveFolder
property is a null-terminated string
that specifies the folder location on the
fax server for archived outbound faxes.

put_ArchiveLocation Sets or retrieves a value that indicates


the location of the archive on the
server.

put_ArchiveOutboundFaxes Sets or retrieves the


ArchiveOutboundFaxes property for a
FaxServer object. The
ArchiveOutboundFaxes property is a
Boolean value that indicates whether
the fax server archives outgoing fax
transmissions.

put_AttachFaxToReceipt The
IFaxDocument::get_AttachFaxToReceipt
property indicates whether to attach a
fax to the receipt.

put_AuthenticationType The
IFaxReceiptOptions::get_AuthenticationT
ype property specifies the type of
authentication the fax service uses
when connecting to an Simple Mail
Transport Protocol (SMTP) server.

put_AutoCreateAccountOnConnect Sets or retrieves a value that indicates


whether the server automatically
creates a fax account once a connection
is initiated.

put_BillingCode The IFaxSender::get_BillingCode


property is a null-terminated string
that contains the billing code associated
with the sender.

put_BillingCode Sets or retrieves the BillingCode


property of a FaxDoc object. The
BillingCode property is a null-
terminated string that contains an
optional billing code that applies to the
fax transmission.

put_Blocked The Blocked property is a Boolean value


that indicates whether the job queue
for incoming faxes is blocked.

put_Blocked The IFaxOutgoingQueue::get_Blocked


property is a Boolean value that
indicates whether the job queue for
outgoing faxes is blocked.
T IT L E DESC RIP T IO N

put_Bodies Provides a collection of one or more


documents to the fax document.

put_Body The IFaxDocument::get_Body property


provides the path to the file that
comprises the body of a fax. The body
of a fax consists of the fax pages other
than the cover page.

put_Branding Sets or retrieves a value that indicates


whether the fax server generates a
branding mark on outgoing faxes.

put_Branding The IFaxOutgoingQueue::get_Branding


property is a Boolean value that
indicates whether the fax service
generates a brand (banner) at the top
of outgoing fax transmissions.

put_Branding Sets or retrieves the Branding property


for a FaxServer object. The Branding
property is a Boolean value that
indicates whether the fax server
generates branding information at the
top of fax transmissions.

put_Company The IFaxSender::get_Company property


is a null-terminated string that contains
the company name associated with the
sender.

put_CoverPage The IFaxDocument::get_CoverPage


property is a null-terminated string
that contains the name of the cover
page template file (.cov) to associate
with the fax document.

put_CoverpageName Sets or retrieves the CoverpageName


property for a FaxDoc object. The
CoverpageName property is a null-
terminated string that contains the
name of the cover page template file
(.cov) associated with the object.

put_CoverpageNote Sets or retrieves the CoverpageNote


property of a FaxDoc object. The
CoverpageNote property is a null-
terminated string that contains the text
of a message or note from the sender
that pertains to the fax transmission.

put_CoverpageSubject Sets or retrieves the CoverpageSubject


property of a FaxDoc object. The
CoverpageSubject property is a null-
terminated string that contains the
subject line of the fax transmission.
T IT L E DESC RIP T IO N

put_CoverPageType The IFaxDocument::get_CoverPageType


property is a value from an
enumeration that indicates whether a
specified cover page template file (.cov)
is a server-based cover page file or a
local-computer-based cover page file.

put_Csid The IFaxPort::get_Csid property is a


null-terminated string that contains the
called station identifier (CSID)
associated with the fax port.

put_CSID The IFaxDevice::get_CSID property is a


null-terminated string that contains the
called station identifier (CSID) for the
device.

put_DatabasePath The
IFaxActivityLogging::get_DatabasePath
property is a null-terminated string
that contains the path to the activity
log database file.

put_Department The IFaxSender::get_Department


property is a null-terminated string
that contains the department
associated with the sender.

put_Description The IFaxDevice::get_Description


property is a null-terminated string
that contains a user-friendly description
for the fax device. This string is suitable
for display to users.

put_Descriptor The Descriptor property represents the


security descriptor for a IFaxServer
object.

put_Descriptor Represents the security descriptor for a


IFaxServer2 object.

put_DeviceId The
IFaxOutboundRoutingRule::get_DeviceId
property specifies the device ID if the
outbound routing rule points to a
single fax device.

put_DirtyDays Sets or retrieves the DirtyDays


property for a FaxServer object. The
DirtyDays property is the number of
days the fax server retains an unsent
job in the fax job queue.

put_DiscountRateEnd Sets or retrieves a value that indicates


the time at which the discount rate
period ends.
T IT L E DESC RIP T IO N

put_DiscountRateEnd The
IFaxOutgoingQueue::get_DiscountRateE
nd property is a value that indicates the
time at which the discount period for
transmitting faxes ends. The discount
period applies to outgoing faxes.

put_DiscountRateEndHour Sets or retrieves the


DiscountRateEndHour property for a
FaxServer object. The
DiscountRateEndHour property is a
number that represents the hour the
discount period ends. The discount
period applies only to outgoing fax
transmissions.

put_DiscountRateEndMinute Sets or retrieves the


DiscountRateEndMinute property for a
FaxServer object. The
DiscountRateEndMinute property is a
number that represents the minute the
discount period ends. The discount
period applies only to outgoing fax
transmissions.

put_DiscountRateStart Sets or retrieves a value that indicates


the time at which the discount rate
period begins.

put_DiscountRateStart The
IFaxOutgoingQueue::get_DiscountRateS
tart property is a value that indicates
the time at which the discount period
for transmitting faxes begins. The
discount period applies to outgoing
faxes.

put_DiscountRateStartHour Sets or retrieves the


DiscountRateStartHour property for a
FaxServer object. The
DiscountRateStartHour property is a
number that represents the hour the
discount period begins. The discount
period applies only to outgoing fax
transmissions.

put_DiscountRateStartMinute Sets or retrieves the


DiscountRateStartMinute property for a
FaxServer object. The
DiscountRateStartMinute property is a
number that represents the minute the
discount period begins. The discount
period applies only to outgoing fax
transmissions.
T IT L E DESC RIP T IO N

put_DiscountSend Sets or retrieves the DiscountSend


property for a FaxDoc object. The
DiscountSend property is a Boolean
value that indicates whether the fax
server transmits faxes during the
discount period.

put_DisplayName Sets or retrieves the DisplayName


property of a FaxDoc object. The
DisplayName property is a null-
terminated string that contains the
name to associate with the fax
document.

put_DocumentName The
IFaxDocument::get_DocumentName
property is a null-terminated string
that contains the user-friendly name to
display for the fax document. The value
is for display purposes only.

put_Email The IFaxSender::get_Email property is a


null-terminated string that contains the
email address associated with the
sender.

put_EmailAddress Sets or retrieves the EmailAddress


property of a FaxDoc object. The
EmailAddress property is a null-
terminated string that contains the
email address of the sender of the fax
transmission.

put_Enable The IFaxRoutingMethod::get_Enable


property is a Boolean value that
indicates whether a fax routing method
is enabled on a particular fax port.

put_FaxNumber The IFaxRecipient::get_FaxNumber


property is a null-terminated string
that contains the fax number associated
with the recipient.

put_FaxNumber The IFaxSender::get_FaxNumber


property is a null-terminated string
that contains the fax number associated
with the sender.

put_FaxNumber Sets or retrieves the FaxNumber


property of a FaxDoc object. The
FaxNumber property is a null-
terminated string that contains the fax
number to which the fax server will
send the fax transmission.
T IT L E DESC RIP T IO N

put_FileName Sets or retrieves the FileName property


for a FaxDoc object. The FileName
property is a null-terminated string
that contains the name of the
document file associated with the
object.

put_GeneralEventsLevel The
IFaxEventLogging::get_GeneralEventsLe
vel property indicates the level of detail
at which the fax service logs general
events in the application log.

put_GroupBroadcastReceipts The
IFaxDocument::get_GroupBroadcastRec
eipts property is a Boolean value that
indicates whether to send an individual
delivery receipt for each recipient of the
broadcast, or to send a summary
receipt for all the recipients.

put_GroupName The
IFaxOutboundRoutingRule::get_GroupN
ame property specifies the group name
if the outbound routing rule points to a
group of fax devices.

put_HasCoverPage A flag that indicates whether the fax


has a cover page.

put_HighQuotaWaterMark Sets or retrieves a value that indicates


the maximum allotted size of a
watermark.

put_HighQuotaWaterMark The HighQuotaWaterMark property is a


value that specifies the upper warning
threshold for the size of the archive of
inbound fax messages, in megabytes.

put_HighQuotaWaterMark The
IFaxOutgoingArchive::get_HighQuotaW
aterMark property is a value that
specifies the upper threshold for the
size of the archive of inbound fax
messages, in megabytes.

put_HomePhone The IFaxSender::get_HomePhone


property is a null-terminated string
that contains the home telephone
number associated with the sender.

put_Image Sets or retrieves the Image property for


a FaxTiff object.
T IT L E DESC RIP T IO N

put_InboundEventsLevel The
IFaxEventLogging::get_InboundEventsL
evel property indicates the level of
detail at which the fax service logs
events about inbound fax transmissions
in the application log.

put_IncomingFaxesArePublic Indicates whether incoming faxes are


either viewable by everyone or private.

put_IncomingQueueBlocked Sets or retrieves a value that indicates


whether the fax server queue for
incoming faxes has been blocked.

put_InformationType The IFaxSecurity::InformationType


property represents the security
information type.

put_InformationType Retrieves the security information type.

put_InitEventsLevel The
IFaxEventLogging::get_InitEventsLevel
property indicates the level of detail at
which the fax service logs initialization
(starting the server) and termination
(shutting down the server) events in
the application log.

put_LogIncoming The
IFaxActivityLogging::get_LogIncoming
property is a Boolean value that
indicates whether the fax service logs
entries for incoming faxes in the activity
log database.

put_LogOutgoing The
IFaxActivityLogging::get_LogOutgoing
property is a Boolean value that
indicates whether the fax service logs
entries for outgoing faxes in the activity
log database.

put_LowQuotaWaterMark Sets or retrieves a value that indicates


the minimum size of a watermark.

put_LowQuotaWaterMark The LowQuotaWaterMark property is a


value that specifies the lower warning
threshold for the archive of inbound fax
messages, in megabytes.

put_LowQuotaWaterMark The
IFaxOutgoingArchive::get_LowQuotaWa
terMark property is a value that
specifies the lower threshold for the
archive of outbound fax messages, in
megabytes.
T IT L E DESC RIP T IO N

put_Name The IFaxRecipient::get_Name property is


a null-terminated string that contains
the name of the recipient.

put_Name The IFaxSender::get_Name property is a


null-terminated string that contains the
name of the sender.

put_Note The IFaxDocument::get_Note property


is a null-terminated string that contains
the contents of the note field on the
cover page of the fax.

put_OfficeLocation The IFaxSender::get_OfficeLocation


property is a null-terminated string
that contains the office location of the
sender.

put_OfficePhone The IFaxSender::get_OfficePhone


property is a null-terminated string
that contains the office telephone
number associated with the sender.

put_OutboundEventsLevel The
IFaxEventLogging::get_OutboundEvents
Level property indicates the level of
detail at which the fax service logs
events about outbound fax
transmissions in the application log.

put_OutgoingQueueAgeLimit Sets or retrieves a value that indicates


the length of time that an undeliverable
fax message is kept on the fax server
before it is deleted.

put_OutgoingQueueBlocked Sets or retrieves a value that indicates


whether the fax server queue for
outgoing faxes has been blocked.

put_OutgoingQueuePaused Sets or retrieves a value that indicates


whether the outgoing queue has been
paused.

put_Paused The IFaxOutgoingQueue::get_Paused


property is a Boolean value that
indicates whether the job queue for
outgoing faxes is paused.

put_PauseServerQueue Sets or retrieves the PauseServerQueue


property for a FaxServer object. The
PauseServerQueue property is a
Boolean value that indicates whether
the fax server has paused the fax job
queue.
T IT L E DESC RIP T IO N

put_PrefetchSize The PrefetchSize property indicates the


size of the prefetch (read-ahead) buffer.

put_PrefetchSize The
IFaxOutgoingMessageIterator::get_Pref
etchSize property indicates the size of
the prefetch (read-ahead) buffer. This
determines how many fax messages the
iterator object retrieves from the fax
server when the object needs to refresh
its contents.

put_Priority The IFaxDocument::get_Priority


property specifies the priority to use
when sending the fax; for example,
normal, low, or high priority.

put_Priority The Priority property is a value


associated with the order in which the
fax service calls the routing method
when the service receives a fax job.

put_Priority The IFaxPort::get_Priority property is a


number representing the transmission
priority designated for a specified fax
port. Priority determines the relative
order in which available fax devices
send outgoing transmissions.

put_Read A flag that indicates if the fax has been


read.

put_Read Indicates if the fax has been read.

put_ReceiptAddress The IFaxDocument::get_ReceiptAddress


property is a null-terminated string
that indicates the email address to
which the fax service should send a
delivery receipt when the fax job
reaches a final state.

put_ReceiptType The IFaxDocument::get_ReceiptType


property specifies the type of delivery
receipt to deliver when the fax job
reaches a final state.

put_Receive The IFaxPort::get_Receive property is a


Boolean value that indicates whether a
specified fax port is enabled to receive
faxes.

put_ReceiveMode The ReceiveMode property is a value


from the
FAX_DEVICE_RECEIVE_MODE_ENUM
enumeration that defines the way a
device answers an incoming call.
T IT L E DESC RIP T IO N

put_RecipientAddress Sets or retrieves the RecipientAddress


property of a FaxDoc object. The
RecipientAddress property is a null-
terminated string that contains the
street address of the recipient of the fax
transmission.

put_RecipientCity Sets or retrieves the RecipientCity


property of a FaxDoc object. The
RecipientCity property is a null-
terminated string that contains the city
name of the recipient of the fax
transmission.

put_RecipientCompany Sets or retrieves the RecipientCompany


property of a FaxDoc object. The
RecipientCompany property is a null-
terminated string that contains the
company name of the recipient of the
fax transmission.

put_RecipientCountry Sets or retrieves the RecipientCountry


property of a FaxDoc object. The
RecipientCountry property is a null-
terminated string that contains the
country/region of the recipient of the
fax transmission.

put_RecipientDepartment Sets or retrieves the


RecipientDepartment property of a
FaxDoc object. The
RecipientDepartment property is a null-
terminated string that contains the
department of the recipient of the fax
transmission.

put_RecipientHomePhone Sets or retrieves the


RecipientHomePhone property of a
FaxDoc object. The
RecipientHomePhone property is a null-
terminated string that contains the
home telephone number of the
recipient of the fax transmission.

put_RecipientName Sets or retrieves the RecipientName


property of a FaxDoc object. The
RecipientName property is a null-
terminated string that contains the
name of the recipient of the fax
transmission.

put_RecipientOffice Sets or retrieves the RecipientOffice


property of a FaxDoc object. The
RecipientOffice property is a null-
terminated string that contains the
office of the recipient of the fax
transmission.
T IT L E DESC RIP T IO N

put_RecipientOfficePhone Sets or retrieves the


RecipientOfficePhone property of a
FaxDoc object. The
RecipientOfficePhone property is a null-
terminated string that contains the
office telephone number of the
recipient of the fax transmission.

put_Recipients Contains the recipients associated with


the inbound fax message. This property
is a null-terminated string.

put_RecipientState Sets or retrieves the RecipientState


property of a FaxDoc object. The
RecipientState property is a null-
terminated string that contains the
state of the recipient of the fax
transmission.

put_RecipientTitle Sets or retrieves the RecipientTitle


property of a FaxDoc object. The
RecipientTitle property is a null-
terminated string that contains the title
of the recipient of the fax transmission.

put_RecipientZip Sets or retrieves the RecipientZip


property of a FaxDoc object. The
RecipientZip property is a null-
terminated string that contains the ZIP
code of the recipient of the fax
transmission.

put_Retries Sets or retrieves a value that indicates


the number of redial attempts for a
given fax job.

put_Retries The IFaxOutgoingQueue::get_Retries


property is a value that indicates the
number of times that the fax service
attempts to retransmit an outgoing fax
when the initial transmission fails.

put_Retries Sets or retrieves the Retries property


for a FaxServer object. The Retries
property is a value that represents the
number of times the fax server
attempts to retransmit an outgoing fax
when the initial transmission fails.

put_RetryDelay Sets or retrieves a value that indicates


the length of time the fax service
should wait before retrying a failed fax
transmission.
T IT L E DESC RIP T IO N

put_RetryDelay The
IFaxOutgoingQueue::get_RetryDelay
property is a value that indicates the
time interval, in minutes, that the fax
service waits before attempting to
retransmit an outbound fax job.

put_RetryDelay Sets or retrieves the RetryDelay


property for a FaxServer object. The
RetryDelay property is a value that
represents the time interval, in minutes,
the fax server waits before attempting
to retransmit an outbound fax job.

put_Rings The IFaxPort::get_Rings property


represents the number of rings an
incoming fax call should wait before the
fax port answers the call.

put_RingsBeforeAnswer The IFaxDevice::get_RingsBeforeAnswer


property is a number that specifies the
number of rings that occur before the
fax device answers an incoming fax call.

put_ScheduleTime The IFaxDocument::get_ScheduleTime


property indicates the time to submit
the fax for processing to the fax service.

put_ScheduleType The IFaxDocument::get_ScheduleType


property indicates when to schedule
the fax job; for example, you can specify
that the fax service send the fax
immediately, at a specified time, or
during a predefined discount period.

put_Send The IFaxPort::get_Send property is a


Boolean value that indicates whether a
fax port is enabled to send faxes.

put_SendCoverpage Sets or retrieves the SendCoverpage


property for a FaxDoc object. The
SendCoverpage property is a Boolean
value that indicates whether the
specified cover page file is stored on the
fax server.

put_SendEnabled The IFaxDevice::get_SendEnabled


property is a Boolean value that
indicates whether the fax device is
enabled for sending faxes.

put_SenderAddress Sets or retrieves the SenderAddress


property of a FaxDoc object. The
SenderAddress property is a null-
terminated string that contains the
street address of the sender of the fax
transmission.
T IT L E DESC RIP T IO N

put_SenderCompany Sets or retrieves the SenderCompany


property of a FaxDoc object. The
SenderCompany property is a null-
terminated string that contains the
company name of the sender of the fax
transmission.

put_SenderDepartment Sets or retrieves the SenderDepartment


property of a FaxDoc object. The
SenderDepartment property is a null-
terminated string that contains the
department of the sender of the fax
transmission.

put_SenderFax Sets or retrieves the SenderFax


property of a FaxDoc object. The
SenderFax property is a null-terminated
string that contains the fax number of
the sender of the outbound fax
transmission.

put_SenderFaxNumber Contains the sender's fax number


associated with the inbound fax
message. This property is a null-
terminated string.

put_SenderHomePhone Sets or retrieves the SenderHomePhone


property of a FaxDoc object. The
SenderHomePhone property is a null-
terminated string that contains the
home telephone number of the sender
of the fax transmission.

put_SenderName Contains the name of the sender that is


associated with the inbound fax
message. This property is a null-
terminated string.

put_SenderName Sets or retrieves the SenderName


property of a FaxDoc object. The
SenderName property is a null-
terminated string that contains the
name of the sender of the fax
transmission.

put_SenderOffice Sets or retrieves the SenderOffice


property of a FaxDoc object. The
SenderOffice property is a null-
terminated string that contains the
office of the sender of the fax
transmission.

put_SenderOfficePhone Sets or retrieves the SenderOfficePhone


property of a FaxDoc object. The
SenderOfficePhone property is a null-
terminated string that contains the
office telephone number of the sender
of the fax transmission.
T IT L E DESC RIP T IO N

put_SenderTitle Sets or retrieves the SenderTitle


property of a FaxDoc object. The
SenderTitle property is a null-
terminated string that contains the title
of the sender of the fax transmission.

put_ServerCoverpage Sets or retrieves the ServerCoverpage


property for a FaxDoc object. The
ServerCoverpage property is a Boolean
value that indicates whether the
specified cover page file is stored on the
fax server.

put_ServerCoverpage Sets or retrieves the ServerCoverpage


property for a FaxServer object. The
ServerCoverpage property is a Boolean
value that indicates whether the fax
server permits the use of common
cover pages only.

put_ServerMapiProfile Sets or retrieves the ServerMapiProfile


property for a FaxServer object. The
ServerMapiProfile property is a null-
terminated string that contains the
MAPI user profile that the fax server
uses for routing incoming fax
transmissions.

put_SizeQuotaWarning Sets or retrieves a value that indicates


whether the size quota warning is
turned on.

put_SizeQuotaWarning The SizeQuotaWarning property is a


Boolean value that indicates whether
the fax service issues a warning in the
event log when the size of the inbound
archive exceeds the limit defined by the
HighQuotaWaterMark property.

put_SizeQuotaWarning The
IFaxOutgoingArchive::get_SizeQuotaWa
rning property is a Boolean value that
indicates whether the fax service issues
a warning in the event log when the
size of the outbound archive exceeds
the limit defined by the
IFaxOutgoingArchive::get_HighQuotaW
aterMark property.

put_SMTPPassword The
IFaxReceiptOptions::get_SMTPPassword
property is a null-terminated string
that contains the Simple Mail Transport
Protocol (SMTP) password used for
authenticated connections.
T IT L E DESC RIP T IO N

put_SMTPPort The IFaxReceiptOptions::get_SMTPPort


property is a value that specifies the
Simple Mail Transport Protocol (SMTP)
port number.

put_SMTPSender The
IFaxReceiptOptions::get_SMTPSender
property is a null-terminated string
that contains the Simple Mail Transport
Protocol (SMTP) email address for the
sender of the mail message receipt.

put_SMTPServer The
IFaxReceiptOptions::get_SMTPServer
property is a null-terminated string
that contains the name of the Simple
Mail Transport Protocol (SMTP) server.

put_SMTPUser The IFaxReceiptOptions::get_SMTPUser


property is a null-terminated string
that contains the Simple Mail Transport
Protocol (SMTP) user name used for
authenticated connections.

put_StreetAddress The IFaxSender::get_StreetAddress


property is a null-terminated string
that contains the street address
associated with the sender.

put_Subject The IFaxDocument::get_Subject


property is a null-terminated string
that contains the contents of the
subject field on the cover page of the
fax.

put_Subject The Subject property contains the


subject associated with the inbound fax
message. This property is a null-
terminated string.

put_Title The IFaxSender::get_Title property is a


null-terminated string that contains the
title associated with the sender.

put_Tsid Sets or retrieves the Tsid property of a


FaxDoc object. The Tsid property is a
null-terminated string that contains a
user-defined transmitting station
identifier (TSID).

put_Tsid The IFaxPort::get_Tsid property is a null-


terminated string that contains the
transmitting station identifier (TSID)
associated with the fax port.
T IT L E DESC RIP T IO N

put_TSID The IFaxDevice::get_TSID property is a


null-terminated string that contains the
transmitting station identifier (TSID) for
the device.

put_TSID The IFaxSender::get_TSID property is a


null-terminated string that contains the
transmitting station identifier (TSID) for
the sender's device.

put_UseArchive Sets or retrieves a value that indicates


whether faxes should be archived.

put_UseArchive The UseArchive property is a Boolean


value that indicates whether the fax
service archives inbound fax messages.

put_UseArchive The
IFaxOutgoingArchive::get_UseArchive
property is a Boolean value that
indicates whether the fax service
archives outbound fax messages.

put_UseDevice The
IFaxOutboundRoutingRule::get_UseDevi
ce property is a Boolean value that
indicates whether the outbound
routing rule points to a single fax
device.

put_UseDeviceTsid Sets or retrieves the UseDeviceTsid


property for a FaxServer object. The
UseDeviceTsid property is a Boolean
value that indicates whether the fax
server uses the device's transmitting
station identifier (TSID) instead of a
user-specified TSID.

put_UseDeviceTSID Sets or retrieves a value that indicates


whether the transmitting station
identifier (TSID) is used.

put_UseDeviceTSID The
IFaxOutgoingQueue::get_UseDeviceTSI
D property is a Boolean value that
indicates whether the fax service uses
the device transmitting station identifier
(TSID) instead of a sender TSID.

put_UseForInboundRouting The
IFaxReceiptOptions::get_UseForInbound
Routing property sets or retrieves
whether to use the FaxReceiptOptions
settings for the Microsoft Routing
Extension, which allows incoming faxes
to be routed to email addresses.
T IT L E DESC RIP T IO N

ReAssign Reassign the fax to one or more


recipients. It also commits changes to
the IFaxIncomingMessage2::Subject,
IFaxIncomingMessage2::SenderName,
IFaxIncomingMessage2::SenderFaxNum
ber, and
IFaxIncomingMessage2::HasCoverPage
properties.

Refresh Refreshes FaxAccountIncomingArchive


object information for a particular fax
account from the fax server.

Refresh Refreshes FaxAccountOutgoingArchive


object information for a particular fax
account from the fax server.

Refresh The IFaxActivity::Refresh method


refreshes FaxActivity information from
the fax server.

Refresh The IFaxActivityLogging::Refresh


method refreshes FaxActivityLogging
object information from the fax server.

Refresh Refreshes the object.

Refresh The IFaxDevice::Refresh method


refreshes FaxDevice object information
from the fax server. When the
IFaxDevice::Refresh method is called,
any configuration changes made after
the last IFaxDevice::Save method call are
lost.

Refresh The IFaxEventLogging::Refresh method


refreshes IFaxEventLogging interface
information from the fax server.

Refresh The
IFaxInboundRoutingMethod::Refresh
method refreshes
IFaxInboundRoutingMethod interface
information from the fax server.

Refresh The Refresh method refreshes


FaxIncomingArchive object information
from the fax server. When the Refresh
method is called, any configuration
changes made after the last Save
method call are lost.

Refresh The Refresh method refreshes


FaxIncomingJob object information
from the fax server.
T IT L E DESC RIP T IO N

Refresh Refreshes FaxIncomingMessage object


information from the fax server.

Refresh The Refresh method refreshes


FaxIncomingQueue object information
from the fax server. When the Refresh
method is called, any configuration
changes made after the last Save
method call are lost.

Refresh The IFaxOutboundRoutingRule::Refresh


method refreshes
FaxOutboundRoutingRule object
information from the fax server.

Refresh The IFaxOutgoingArchive::Refresh


method refreshes FaxOutgoingArchive
object information from the fax server.

Refresh The Refresh method refreshes


FaxOutgoingJob object information
from the fax server.

Refresh Refreshes FaxOutgoingMessage object


information from the fax server. When
the Refresh method is called, any
configuration changes made after the
last Save method call are lost.

Refresh The IFaxOutgoingQueue::Refresh


method refreshes FaxOutgoingQueue
object information from the fax server.
When the IFaxOutgoingQueue::Refresh
method is called, any configuration
changes made after the last
IFaxOutgoingQueue::Save method call
are lost.

Refresh The IFaxReceiptOptions::Refresh method


refreshes FaxReceiptOptions object
information from the fax server. When
the IFaxReceiptOptions::Refresh method
is called, any configuration changes
made after the last
IFaxReceiptOptions::Save method call
are lost.

Refresh The IFaxSecurity::Refresh method


refreshes FaxSecurity object information
from the fax server.

Refresh Refreshes FaxSecurity2 object


information from the fax server.

Refresh The IFaxJob::Refresh method updates


FaxJob object information for the
associated fax job.
T IT L E DESC RIP T IO N

Refresh The Refresh method updates FaxStatus


object information for the associated
parent FaxPort object.

RegisterDeviceProvider The IFaxServer::RegisterDeviceProvider


method registers a fax service provider
(FSP) with the fax service. Registration
takes place after the fax service restarts.

RegisterInboundRoutingExtension The
IFaxServer::RegisterInboundRoutingExte
nsion method registers a fax inbound
routing extension with the fax service.
Registration takes place after the fax
service restarts.

Remove The IFaxDeviceIds::Remove method


removes an item from the FaxDeviceIds
collection.

Remove The Remove method removes an item


from the FaxOutboundRoutingGroups
collection.

Remove The
IFaxOutboundRoutingRules::Remove
method removes an outbound routing
rule (FaxOutboundRoutingRule object)
from the FaxOutboundRoutingRules
collection using the routing rule's index.

Remove The IFaxRecipients::Remove method


removes an item from the FaxRecipients
collection.

RemoveAccount Removes a fax account from the fax


server.

RemoveByCountryAndArea The
IFaxOutboundRoutingRules::RemoveByC
ountryAndArea method removes an
outbound routing rule
(FaxOutboundRoutingRule object) from
the collection using the routing rule's
country/region code and area code.

Restart The IFaxOutgoingJob::Restart method


restarts the failed outbound fax job. For
example, if the fax job has exceeded the
number of retries,
IFaxOutgoingJob::Restart will restart the
fax job.

Resume The IFaxOutgoingJob::Resume method


resumes the paused outbound fax job.
T IT L E DESC RIP T IO N

Save The IFaxActivityLogging::Save method


saves the FaxActivityLogging object's
data.

Save Saves the object.

Save The IFaxDevice::Save method saves the


FaxDevice object's data.

Save The IFaxEventLogging::Save method


saves the IFaxEventLogging interface's
data.

Save The IFaxInboundRoutingMethod::Save


method saves the
IFaxInboundRoutingMethod interface's
data.

Save The Save method saves the


FaxIncomingArchive object's data.

Save Saves the FaxIncomingMessage object's


data.

Save The Save method saves the


FaxIncomingQueue object's data.

Save The IFaxOutboundRoutingRule::Save


method saves the
FaxOutboundRoutingRule object data.

Save The IFaxOutgoingArchive::Save method


saves the FaxOutgoingArchive object
data.

Save Saves the FaxOutgoingMessage object's


data.

Save The IFaxOutgoingQueue::Save method


saves the FaxOutgoingQueue object
data.

Save The IFaxReceiptOptions::Save method


saves the FaxReceiptOptions object
data.

Save The IFaxSecurity::Save method saves the


FaxSecurity object data.

Save Saves the FaxSecurity object data.

SaveDefaultSender The IFaxSender::SaveDefaultSender


method stores information about the
default sender from the FaxSender
object.
T IT L E DESC RIP T IO N

Send The Send method transmits the


document specified by the FileName
property of a FaxDoc object. The
method can send the fax to the fax
number specified by the FaxNumber
property.

SendToFaxRecipient Called by an application to fax a file.

SetExtensionProperty The IFaxDevice::SetExtensionProperty


method stores an extension
configuration property at the device
level.

SetExtensionProperty The IFaxServer::SetExtensionProperty


method stores an extension
configuration property at the server
level.

SetOrder The IFaxDeviceIds::SetOrder method


changes the order of a device in the
ordered FaxDeviceIds collection.

SetStatus Call the IFaxJob::SetStatus method to


pause, resume, cancel, or restart a
specified fax job.

Submit The IFaxDocument::Submit method


submits a single fax document to the
fax service for processing.

Submit2 Submits one or more documents to the


fax service for processing.Note This
method is supported only in Windows
Vista and later.

UnregisterDeviceProvider The
IFaxServer::UnregisterDeviceProvider
method unregisters (removes the
registration of) an existing device
provider. Unregistration will take place
only after the fax server is restarted.

UnregisterInboundRoutingExtension The
IFaxServer::UnregisterInboundRoutingE
xtension method unregisters an existing
inbound routing extension.
Unregistration will take place only after
the fax server is restarted.
T IT L E DESC RIP T IO N

UseRoutingMethod The IFaxDevice::UseRoutingMethod


method adds an inbound fax routing
method to or removes a fax routing
method (FaxInboundRoutingMethod)
from the list of routing methods
associated with the fax device.

Interfaces
T IT L E DESC RIP T IO N

_IFaxAccountNotify Called by the fax service to send event notifications about


particular fax accounts. This property sends event
notifications. Events include changes to incoming and
outgoing job queues, and changes to incoming and outgoing
archives.

_IFaxServerNotify2 The IFaxServerNotify2 interface is used for fax notifications.

IFaxAccount Represents a fax account on the fax server.

IFaxAccountFolders Provides access to the incoming and outgoing fax queues and
fax archives.

IFaxAccountIncomingArchive Used by a fax client application to access a particular fax


account's archive of successfully received inbound fax
messages. Use this interface to retrieve messages and get the
size of the archive.

IFaxAccountIncomingQueue Used by a fax client application to retrieve the inbound fax


jobs (FaxIncomingJobs object) in the job queue for a particular
fax account.

IFaxAccountNotify Called by the fax service to send event notifications about


particular fax accounts. This property sends event
notifications. Events include changes to incoming and
outgoing job queues, and changes to incoming and outgoing
archives.

IFaxAccountOutgoingArchive Used by a fax client application to access a specified fax


account's archive of successfully sent outbound fax messages.
Use this interface to retrieve messages and get the size of the
archive.

IFaxAccountOutgoingQueue Used by a fax client application to retrieve the outbound fax


jobs (FaxOutgoingJobs object) in the job queue for a
particular fax account.

IFaxAccounts Represents the collection of fax accounts on the fax server. It


provides methods and properties for enumerating the
accounts, retrieving a particular account, and reporting the
total number of accounts.

IFaxAccountSet Provides methods for fax account management, including


adding, removing, and retrieving fax accounts.
T IT L E DESC RIP T IO N

IFaxActivity The IFaxActivity interface defines a read-only configuration


object.

IFaxActivityLogging The IFaxActivityLogging interface defines a configuration


object used by a fax client application to retrieve and set
options for activity logging.

IFaxConfiguration Defines various methods that provide configuration options


for the fax service.

IFaxDevice The IFaxDevice interface defines a configuration object used


by a fax client application to retrieve and set fax device
information, and to add and remove fax routing methods
associated with a fax device.

IFaxDeviceIds The IFaxDeviceIds interface defines a configuration collection


used by a fax client application to enumerate the ordered fax
device IDs associated with a FaxOutboundRoutingGroup
object.

IFaxDeviceProvider The IFaxDeviceProvider interface defines a configuration object


used by a fax client application to retrieve information about a
fax service provider (FSP) registered with the fax service.

IFaxDeviceProviders The IFaxDeviceProviders interface defines a configuration


collection which contains the fax device providers on a
connected fax server.

IFaxDevices The IFaxDevices interface defines a collection used by a fax


client application to manage fax devices, where each device is
represented by a FaxDevice object.

IFaxDoc The IFaxDoc dual interface is used by a fax client application to


transmit fax documents and cover pages.

IFaxDocument The IFaxDocument interface defines a messaging object used


by a fax client application to compose a fax document and
submit it to the fax service for processing.

IFaxDocument2 Defines a messaging object used by a fax client application to


compose a fax document and submit it to the fax service for
processing.

IFaxEventLogging The IFaxEventLogging interface defines a configuration object


used by a fax client application to configure the event logging
categories used by the fax service.

IFaxFolders The IFaxFolders interface defines a configuration object used


by a fax client application to access the folders, queued jobs,
and archived messages on a fax server.
T IT L E DESC RIP T IO N

IFaxInboundRouting The IFaxInboundRouting interface defines a configuration


object used by a fax client application to access the inbound
routing extensions registered with the fax service, represented
by FaxInboundRoutingExtensions objects, and the routing
methods the extensions expose, represented by
FaxInboundRoutingMethods objects.

IFaxInboundRoutingExtension The IFaxInboundRoutingExtension interface defines a


configuration object used by a fax client application to retrieve
information about a fax routing extension registered with the
fax service.

IFaxInboundRoutingExtensions The IFaxInboundRoutingExtensions interface defines a


configuration collection used by a fax client application to
manage the inbound fax routing extensions registered with
the fax service.

IFaxInboundRoutingMethod The IFaxInboundRoutingMethod interface defines a


configuration object used by a fax client application to retrieve
information about an individual fax inbound routing method
on a connected fax server.

IFaxInboundRoutingMethods The IFaxInboundRoutingMethods interface defines a


configuration collection used by a fax client application to
manage the ordered inbound fax routing methods.

IFaxIncomingArchive The IFaxIncomingArchive interface is used by a fax client


application to access and configure the archive of inbound fax
messages received successfully by the fax service.

IFaxIncomingJob The IFaxIncomingJob interface is used by a fax client


application to retrieve information about an incoming fax job
in a fax server's queue.

IFaxIncomingJobs The IFaxIncomingJobs interface is used by a fax client


application to manage the inbound fax jobs in a fax server's
job queue. Each incoming job is represented by a
FaxIncomingJob object.

IFaxIncomingMessage Used by a fax client application to retrieve information about


a received fax message in the archive of inbound faxes.

IFaxIncomingMessage2 Used by a fax client application to retrieve information about


a received fax message in the archive of inbound faxes.

IFaxIncomingMessageIterator The IFaxIncomingMessageIterator interface is used by a fax


client application to move through the archive of inbound fax
messages that the fax service has successfully received.

IFaxIncomingQueue The IFaxIncomingQueue interface is used by a fax client


application to manage the inbound fax jobs (FaxIncomingJobs
object) in the job queue. The object also includes a method to
block inbound faxes from the fax job queue.
T IT L E DESC RIP T IO N

IFaxJob The IFaxJob dual interface is used by a fax client application to


access information for a fax job on a connected fax server. A
FaxJobs object is a collection of FaxJob objects.

IFaxJobs The IFaxJobs dual interface is used by a fax client application


to access the FaxJob objects derived from a FaxServer object.
The interface enumerates the fax jobs associated with a
connected fax server.

IFaxJobStatus The IFaxJobStatus interface is used for notifications and to


hold the dynamic information of the job.

IFaxLoggingOptions The IFaxLoggingOptions interface is used by a fax client


application to access and configure the event logging
categories and the activity logging options that the fax service
is using.

IFaxOutboundRouting The IFaxOutboundRouting interface defines a configuration


object that is used by a fax client application to configure the
outbound routing groups (IFaxOutboundRoutingGroups
interfaces) and outbound routing rules
(IFaxOutboundRoutingRules interfaces).

IFaxOutboundRoutingGroup The IFaxOutboundRoutingGroup interface describes a


configuration object that is used by a fax client application to
retrieve information about an individual fax outbound routing
group.

IFaxOutboundRoutingGroups The IFaxOutboundRoutingGroups interface describes a


configuration collection used by a fax client application to
manage the fax outbound routing groups, represented by
IFaxOutboundRoutingGroup interfaces.

IFaxOutboundRoutingRule The IFaxOutboundRoutingRule interface describes a


configuration object that is used by a fax client application to
set and retrieve information about an individual fax outbound
routing rule.

IFaxOutboundRoutingRules The IFaxOutboundRoutingRules interface describes a


configuration collection that is used by a fax client application
to manage the fax outbound routing rules.

IFaxOutgoingArchive The IFaxOutgoingArchive interface describes a configuration


object that is used by a fax client application to access and
configure the archive of outbound fax messages transmitted
successfully by the fax service.

IFaxOutgoingJob The IFaxOutgoingJob interface describes an object that is used


by a fax client application to retrieve information about an
outgoing fax job in a fax server's queue.

IFaxOutgoingJob2 Describes an object that is used by a fax client application to


retrieve information about an outgoing fax job in a fax
server's queue.
T IT L E DESC RIP T IO N

IFaxOutgoingJobs The IFaxOutgoingJobs interface describes a messaging


collection that is used by a fax client application to manage
the outbound fax jobs in a fax server's job queue. Each
outbound job is represented by a IFaxOutgoingJob interface.

IFaxOutgoingMessage The IFaxOutgoingMessage interface describes an object that is


used by a fax client application to retrieve information about a
fax message in the archive of outbound faxes.

IFaxOutgoingMessage2 Used by a fax client application to retrieve information about


a sent fax message in the archive of outbound faxes.

IFaxOutgoingMessageIterator The IFaxOutgoingMessageIterator interface describes an


object that is used by a fax client application to move through
the archive of fax messages that the fax service has
successfully transmitted, represented by FaxOutgoingMessage
objects.

IFaxOutgoingQueue The IFaxOutgoingQueue interface defines a


FaxOutgoingQueue configuration object used by a fax client
application to set and retrieve the configuration parameters
on the outbound fax queue on a fax server.

IFaxPort The IFaxPort dual interface is used by a fax client application


to access configuration information for a fax port on a
connected fax server.

IFaxPorts The IFaxPorts dual interface is used by a fax client application


to access the FaxPort objects derived from a FaxServer object.
The interface enumerates port configuration information for a
connection to an active fax server.

IFaxReceiptOptions The IFaxReceiptOptions interface defines a FaxReceiptOptions


configuration object used by a fax client application to set and
retrieve the receipt configuration that the fax service uses to
send delivery receipts for fax transmissions.

IFaxRecipient The IFaxRecipient interface defines a FaxRecipient messaging


object is used by a fax client application to retrieve and set the
personal information for fax recipients.

IFaxRecipients The IFaxRecipients interface defines a FaxRecipients messaging


collection is used by a fax client application to manage the fax
recipient objects (FaxRecipient) that represent the recipients of
a single fax document.

IFaxRoutingMethod The IFaxRoutingMethod dual interface is used by a fax client


application to retrieve fax routing configuration information
for a fax port on a connected fax server.

IFaxRoutingMethods The IFaxRoutingMethods dual interface is used by a fax client


application to access the FaxRoutingMethod objects derived
from a FaxPort object.
T IT L E DESC RIP T IO N

IFaxSecurity The IFaxSecurity configuration object is used by a fax client


application to configure the security on a fax server, and
permits the calling application to set and retrieve a security
descriptor for the fax server.

IFaxSecurity2 Used by a fax client application to configure the security on a


fax server; also permits the calling application to set and
retrieve a security descriptor for the fax server.

IFaxSender The IFaxSender interface defines a messaging object used by a


fax client application to retrieve and set sender information
about fax senders. The object also includes methods to store
sender data in and retrieve sender data from the local
registry.

IFaxServer The IFaxServer interface describes a messaging collection that


is used by a fax client application to manage a connection to
the fax service.

IFaxServer The IFaxServer dual interface is used by a fax client application


to manage a connection to the fax service.

IFaxServer2 Inherits all the functionality of the IFaxServer interface and


adds read-only properties for the server's configuration,
account management, security objects, and the current
account.

IFaxServerNotify2 The IFaxServerNotify2 interface is used for fax notifications.

IFaxStatus The FaxStatus dual interface is used by a fax client application


to retrieve status information for a specific port on a
connected fax server.

IFaxTiff The IFaxTiff dual interface is used by a fax client application to


retrieve information about FaxTiff objects.

Structures
T IT L E DESC RIP T IO N

FAX_CONFIGURATIONA The FAX_CONFIGURATION structure contains information


about the global configuration settings of a fax server.

FAX_CONFIGURATIONW The FAX_CONFIGURATION structure contains information


about the global configuration settings of a fax server.

FAX_CONTEXT_INFOA The FAX_CONTEXT_INFO structure contains information


about a fax printer device context. The SizeOfStruct member is
required. Information for the other members is supplied by a
call to the FaxStartPrintJob function.
T IT L E DESC RIP T IO N

FAX_CONTEXT_INFOW The FAX_CONTEXT_INFO structure contains information


about a fax printer device context. The SizeOfStruct member is
required. Information for the other members is supplied by a
call to the FaxStartPrintJob function.

FAX_COVERPAGE_INFOA The FAX_COVERPAGE_INFO structure contains data to display


on the cover page of a fax transmission. The SizeOfStruct and
CoverPageName members are required; other members are
optional.

FAX_COVERPAGE_INFOW The FAX_COVERPAGE_INFO structure contains data to display


on the cover page of a fax transmission. The SizeOfStruct and
CoverPageName members are required; other members are
optional.

FAX_DEV_STATUS The FAX_DEV_STATUS structure contains status and


identification information about an individual active fax
operation.

FAX_DEVICE_STATUSA The FAX_DEVICE_STATUS structure contains information


about the current status of a fax device.

FAX_DEVICE_STATUSW The FAX_DEVICE_STATUS structure contains information


about the current status of a fax device.

FAX_EVENTA The FAX_EVENT structure represents the contents of an I/O


completion packet. The fax server sends the completion
packet to notify a fax client application of an asynchronous fax
server event.

FAX_EVENTW The FAX_EVENT structure represents the contents of an I/O


completion packet. The fax server sends the completion
packet to notify a fax client application of an asynchronous fax
server event.

FAX_GLOBAL_ROUTING_INFOA The FAX_GLOBAL_ROUTING_INFO structure contains


information about one fax routing method, as it pertains
globally to the fax service.

FAX_GLOBAL_ROUTING_INFOW The FAX_GLOBAL_ROUTING_INFO structure contains


information about one fax routing method, as it pertains
globally to the fax service.

FAX_JOB_ENTRYA The FAX_JOB_ENTRY structure describes one fax job.

FAX_JOB_ENTRYW The FAX_JOB_ENTRY structure describes one fax job.

FAX_JOB_PARAMA The FAX_JOB_PARAM structure contains the information


necessary for the fax server to send an individual fax
transmission.

FAX_JOB_PARAMW The FAX_JOB_PARAM structure contains the information


necessary for the fax server to send an individual fax
transmission.
T IT L E DESC RIP T IO N

FAX_LOG_CATEGORYA The FAX_LOG_CATEGORY structure describes one logging


category.

FAX_LOG_CATEGORYW The FAX_LOG_CATEGORY structure describes one logging


category.

FAX_PORT_INFOA The FAX_PORT_INFO structure describes one fax port. The


data includes, among other items, a device identifier, the
port's name and current status, and station identifiers.

FAX_PORT_INFOW The FAX_PORT_INFO structure describes one fax port. The


data includes, among other items, a device identifier, the
port's name and current status, and station identifiers.

FAX_PRINT_INFOA The FAX_PRINT_INFO structure contains the information


necessary for the fax server to print a fax transmission. The
structure includes sender and recipient data, an optional
billing code, and delivery report information.

FAX_PRINT_INFOW The FAX_PRINT_INFO structure contains the information


necessary for the fax server to print a fax transmission. The
structure includes sender and recipient data, an optional
billing code, and delivery report information.

FAX_RECEIVE The FAX_RECEIVE structure contains information about an


inbound fax document. This information includes the name of
the file that will receive the fax data stream, and the name and
telephone number of the receiving device.

FAX_ROUTE The FAX_ROUTE structure contains information about a


received fax document. The fax service passes the structure to
a fax routing method in a call to the FaxRouteMethod
function.

FAX_ROUTE_CALLBACKROUTINES The FAX_ROUTE_CALLBACKROUTINES structure contains


pointers to callback functions the fax service provides.

FAX_ROUTING_METHODA The FAX_ROUTING_METHOD structure contains information


about one fax routing method, as it pertains to one fax
device.

FAX_ROUTING_METHODW The FAX_ROUTING_METHOD structure contains information


about one fax routing method, as it pertains to one fax
device.

FAX_SEND The FAX_SEND structure contains information about an


outbound fax document.

FAX_TIME The FAX_TIME structure represents a time, using individual


members for the current hour and minute. The time is
expressed in Coordinated Universal Time (UTC).
File Server Resource Manager
2/7/2020 • 32 minutes to read • Edit Online

Overview of the File Server Resource Manager technology.


To develop File Server Resource Manager, you need these headers:
fsrm.h
fsrmenums.h
fsrmpipeline.h
fsrmquota.h
fsrmreports.h
fsrmscreen.h
fsrmtlb.h
For programming guidance for this technology, see:
File Server Resource Manager

Enumerations
T IT L E DESC RIP T IO N

AdrClientDisplayFlags Describes the possible types of access denied remediation


(ADR) client display flags.

AdrClientErrorType Describes the possible access denied remediation (ADR) client


error types.

AdrClientFlags Enumerates flags for indicating why an access denied


remediation (ADR) client operation could not be performed.

AdrEmailFlags Describes the options for access denied remediation (ADR)


email.

FsrmAccountType Defines the computer account types under which a command


action (see FsrmActionType) can run.

FsrmActionType Defines the actions that can be triggered in response to a


quota or file screen event (for example, a quota is exceeded or
a file violates a file screen).

FsrmClassificationLoggingFlags Defines the different options for logging information while


running classification.

FsrmCollectionState Defines the possible states of a collection object.

FsrmCommitOptions Defines the options for committing a collection of objects.

FsrmEnumOptions Defines the options for enumerating collections of objects.


T IT L E DESC RIP T IO N

FsrmEventType Defines the event types that an event logging action (see
FsrmActionType) can log.

FsrmExecutionOption Defines the options for how to apply the rule to the file.

FsrmFileManagementLoggingFlags Defines the options for logging when running a file


management job.

FsrmFileManagementType Defines the file management job types.

FsrmFileScreenFlags Defines the options for failing IO operations that violate a file
screen.

FsrmFileStreamingInterfaceType Defines the possible streaming interface types.

FsrmFileStreamingMode Defines the streaming modes to use for the file stream.

FsrmFileSystemPropertyId Defines the possible types of file system property ids.

FsrmGetFilePropertyOptions Flags that defines how classification properties associated with


a file are retrieved.

FsrmPipelineModuleType Defines the types of modules that you can define.

FsrmPropertyBagField Describes the type of property bag.

FsrmPropertyBagFlags Defines flag values that provide additional information about


the property bag.

FsrmPropertyConditionType Defines the possible comparison operations that can be used


to determine whether a property value of a file meets a
particular condition.

FsrmPropertyDefinitionAppliesTo Flags that indicate what a FSRM classification property can be


applied to.

FsrmPropertyDefinitionFlags Flags the describe the type of classification property.

FsrmPropertyDefinitionType Defines the types of file classification properties that you can
define.

FsrmPropertyFlags Defines flag values that provide additional information about


a classification property.

FsrmPropertyValueType Enumerates the type of the value being assigned to an FSRM


property in a property condition.

FsrmQuotaFlags Defines the options for failing IO operations that violate a


quota, enabling or disabling quota tracking, and providing the
status of the quota scan operation.

FsrmReportFilter Defines the filters that you can use to limit the files that are
included in a report.
T IT L E DESC RIP T IO N

FsrmReportFormat Defines the file formats that you can use when generating
reports.

FsrmReportGenerationContext Defines the context in which the report is initiated.

FsrmReportLimit Defines the limit used to limit the files included in a report.

FsrmReportRunningStatus Defines the running states a for a report job.

FsrmReportType Defines the types of reports that you can generate.

FsrmRuleFlags Defines the possible states of a rule.

FsrmRuleType Defines the types of rules that you can define.

FsrmStorageModuleCaps Flags that define the capabilities of the storage module.

FsrmStorageModuleType Defines the possible storage module types.

FsrmTemplateApplyOptions Defines the options for applying template changes to derived


objects.

Functions
T IT L E DESC RIP T IO N

Add Adds an object to the collection.

AddMessage Adds an error message to the bag.

AddNotification Adds a new notification value (period) to the file management


job's list of notifications.

AddThreshold Adds a threshold to the quota object.

ApplyTemplate Applies the property values of the specified quota template to


this quota object.

ApplyTemplate Applies the property values of the specified file screen


template to this file screen object.

Bind Binds the pipeline module implementation to the FSRM


communication channel.

Cancel Cancels the collection of objects when the objects are


collected asynchronously.

Cancel Cancels the job if it is running.

Cancel Cancels the running reports for this report job.


T IT L E DESC RIP T IO N

CancelClassification Cancels classification if it is running.

ClassifyFiles This method is used to perform bulk enumeration, setting,


and clearing of file properties.

ClearFileProperty Attempts to remove the specified property from the file or


folder.

Clone Creates a duplicate IFsrmMutableCollection collection.

Commit Commits all the objects of the collection and returns the
commit results for each object.

Commit Saves the object in the server's list of objects.

CommitAndUpdateDerived Saves the quota and then applies any changes to the derived
quotas.

CommitAndUpdateDerived Saves the quota template and then applies any changes to
the derived quota objects.

CommitAndUpdateDerived Saves the file screen template and then applies any changes
to the derived file screen objects.

CopyTemplate Copies the property values of the specified template to this


template.

CopyTemplate Copies the property values of the specified template to this


template.

CreateAction Creates an action for this file screen object.

CreateAutoApplyQuota Creates an automatic quota for the specified directory.

CreateCustomAction Creates a custom action object.

CreateFileGroup Creates a file group object.

CreateFileManagementJob Creates a file management job.

CreateFileScreen Creates a file screen object.

CreateFileScreenCollection Creates an empty collection to which you can add file screens.

CreateFileScreenException Creates a file screen exception object.

CreateModuleDefinition Creates a module definition of the specified type.

CreateNotificationAction Creates a notification action and associates it with the


notification value.
T IT L E DESC RIP T IO N

CreatePropertyCondition Creates a new property condition and adds it to the collection


of property conditions.

CreatePropertyDefinition Creates a property definition.

CreateQuota Creates a quota for the specified directory.

CreateQuotaCollection Creates an empty collection to which you can add quotas.

CreateReport Creates a new report object of the specified type.

CreateReportJob Creates a report job.

CreateRule Creates a rule of the specified type.

CreateScheduleTask Creates a scheduled task that is used to trigger a report job.

CreateTemplate Creates a quota template object.

CreateTemplate Creates a file screen template object.

CreateThresholdAction Creates an action and associates it with the specified


threshold.

Delete Removes the action from the quota or file screen's list of
actions.

Delete Removes the object from the server's list of objects.

Delete Removes this property condition from the collection of


property conditions specified for the file management job.

Delete Removes this report object from the report job object.

DeleteNotification Deletes a notification value from the file management job's list
of notifications.

DeleteScheduleTask Deletes a task that is used to trigger a report job.

DeleteThreshold Deletes a threshold from the quota object.

DoesPropertyValueApply Queries the classifier to find out whether the specified


property value applies to the file most recently specified by
the IFsrmClassifierModuleImplementation::OnBeginFile
method.

EmailTest Send an email message to the specified email address.

EnumActions Enumerates all the actions for the file screen object.

EnumAutoApplyQuotas Enumerates the automatic quotas that are associated with the
specified directory.
T IT L E DESC RIP T IO N

EnumEffectiveQuotas Enumerates all the quotas that affect the specified path.

EnumFileGroups Enumerates the file groups in FSRM.

EnumFileManagementJobs Enumerates the list of existing file management jobs.

EnumFileProperties Enumerates the properties of the specified file.

EnumFileScreenExceptions Enumerates the file screen exceptions for the specified


directory and its subdirectories.

EnumFileScreens Enumerates the file screens for the specified directory and its
subdirectories.

EnumModuleDefinitions Enumerates the module definitions of the specified type.

EnumNotificationActions Enumerates the actions associated with a notification value.

EnumPropertyDefinitions Enumerates the property definitions.

EnumQuotas Enumerates the quotas for the specified directory and any
quotas associated with its subdirectories (recursively).

EnumReportJobs Enumerates the report jobs.

EnumReports Enumerates all the reports configured for this report job.

EnumRules Enumerates the rules of the specified type.

EnumTemplates Enumerates the quota templates on the server.

EnumTemplates Enumerates the file screen templates on the server.

EnumThresholdActions Enumerates all the actions for the specified threshold.

ExportFileGroups Exports one or more file groups to the specified file.

ExportFileGroups Exports the specified file groups as an XML string.

ExportFileScreenTemplates Exports one or more file screen templates to the specified file.

ExportQuotaTemplates Exports one or more quota templates to the specified file.

ExportTemplates Exports the quota templates as an XML string.

ExportTemplates Exports the templates as an XML string.

get__NewEnum Retrieves the IUnknown pointer of a new IEnumVARIANT


enumeration for the items in the collection.
T IT L E DESC RIP T IO N

get_Account Retrieves or sets the system account that is used to run the
executable program specified in the ExecutablePath property.

get_Account The account to use when running the module.

get_ActionType Retrieves the action's type.

get_ActionVariableDescriptions Retrieves the descriptions for the macros contained in the


IFsrmQuotaManager::ActionVariables property.

get_ActionVariableDescriptions Retrieves the descriptions for the macros contained in the


IFsrmFileManagementJobManager::ActionVariables property.

get_ActionVariableDescriptions Retrieves the descriptions for the macros contained in the


IFsrmFileScreenManager::ActionVariables property.

get_ActionVariables Retrieves a list of macros that you can specify in action


property values.

get_ActionVariables Retrieves a list of macros that you can specify in action


property values.

get_ActionVariables Retrieves a list of macros that you can specify in action


property values.

get_AdminEmail Retrieves or sets the email address for the administrator.

get_AllowedFileGroups Retrieves or sets the names of the file groups that contain the
file name patterns of the files that are allowed in the directory.

get_AppliesTo This property contains flags with values from the


FsrmPropertyDefinitionAppliesTo enumeration that indicate
what a FSRM property definition can be applied to.

get_Arguments Retrieves or sets the arguments to pass to the executable


program specified in the ExecutablePath property.

get_AttachmentFileListSize The maximum number of files to include in the list.

get_Attributes The attributes of the file.

get_BlockedFileGroups Retrieves or sets the names of the file groups that contain the
file name patterns used to specify the files that are blocked by
this screen.

get_Capabilities Flags that specify capabilities of the storage module.

get_ClassificationLastError The error message from the last time that classification was
run.

get_ClassificationLastReportPathWithoutExtension The local directory path where the reports were stored the
last time that classification ran.
T IT L E DESC RIP T IO N

get_ClassificationReportEnabled Determines whether classification reporting is enabled or not.

get_ClassificationReportFormats The list of formats in which to generate the classification


reports.

get_ClassificationReportMailTo The email address to which to send the classification reports,


if any.

get_ClassificationRunningStatus The running status of the classification.

get_Company The name of the company that created the classification or


storage module.

get_Count Retrieves the number of items in the collection.

get_CreationTime The date and time that the file was created.

get_CustomAction The action to execute when all the conditions are met.

get_DaysSinceFileCreated The number of days that have elapsed since the file was
created.

get_DaysSinceFileLastAccessed The number of days that have elapsed since the file was last
accessed.

get_DaysSinceFileLastModified The number of days that have elapsed since a file was last
modified.

get_DerivedObjects Retrieves the collection of derived objects that were updated.

get_Description Retrieves or sets the description of the object.

get_Description Description of the classification property definition value.

get_Description Retrieves or sets the description of the report.

get_DisableCommandLine Retrieves or sets a value that determines whether FSRM


prevents command line actions from running.

get_DisplayName The display name of the property definition.

get_DisplayName Display name of the classification property definition value.

get_Enabled Determines whether the module is enabled.

get_Enabled Indicates whether the job enabled (can run).

get_EnableScreeningAudit Retrieves or sets a value that determines whether FSRM keeps


audit records of the file screen violations.

get_EventType Retrieves or sets the type of event that the action logs when it
runs.
T IT L E DESC RIP T IO N

get_ExcludeFolders Retrieves or sets an array of immediate subdirectories to


exclude from the automatic quota.

get_ExecutablePath Retrieves or sets the full path to the executable program or


script to run.

get_ExecutionOption Determines how to apply the rule to the file.

get_ExpirationDirectory The root directory that will contain the expired files.

get_FileId The NTFS file identifier of the file.

get_FileNamePattern A condition property:_wildcard filter for names.

get_FilePropertyNames A list of the names of the properties that the bag contains.

get_FileScreenFlags Retrieves or sets the file screen flags.

get_Formats The formats of the report to generate when the job is run.

get_Formats Retrieves or sets an array of formats that determine the


content format of the reports.

get_FromDate The date from which you want the file management job to
begin expiring files (moving files to the expired files directory).
This property also applies to custom commands for the file
management job.

get_HostingProcessPid The process identifier of the module.

get_HostingUserAccount The user account under which the module runs.

get_Id Retrieves the identifier of the action.

get_Id Retrieves the identifier of the object.

get_Item Retrieves the requested item from the collection.

get_KillTimeOut Retrieves or sets the number of minutes the server waits


before terminating the process that is running the executable
program specified in the ExecutablePath property.

get_LastAccessTime The date and time of when the file was last accessed.

get_LastError The error message from the last time the job was run.

get_LastError Retrieves the error message from the last time the reports
were run.

get_LastGeneratedFileNamePrefix Retrieves the report's generated file name for the last time the
report was run.
T IT L E DESC RIP T IO N

get_LastGeneratedInDirectory Retrieves the local directory path where the reports were
stored the last time the reports were run.

get_LastModificationTime The date and time of when the file was last modified.

get_LastModified The last time the classifier's internal rules were modified as a
64-bit FILETIME value.

get_LastModified The date for the last time the rule was modified.

get_LastReportPathWithoutExtension The local directory path where the reports were stored the
last time the job ran.

get_LastRun The last time the file management job was run.

get_LastRun Retrieves the time stamp for when the reports were last run.

get_Logging The types of logging to perform when running the


classification rules.

get_Logging The types of logging to perform.

get_LogResult Retrieves or sets a value that determines whether FSRM logs


an Application event that contains the return code of the
executable program.

get_MailBcc Retrieves or sets the blind carbon copy (Bcc) email address to
which email is sent when this action generates email.

get_MailCc Retrieves or sets the carbon copy (Cc) email address to which
email is sent when this action generates email.

get_MailFrom Retrieves or sets the email address to use as the sender of the
email when the action generates an email message.

get_MailFrom Retrieves or sets the default email address from which email
messages are sent.

get_MailReplyTo Retrieves or sets the email address to use as the reply-to


address when the recipient of the email message replies.

get_MailSubject Retrieves or sets the subject of the email that is sent when
this action generates email.

get_MailTo Retrieves or sets the email address to which email is sent


when this action generates email.

get_MailTo Retrieves or sets the email address to which the reports are
sent.

get_MailTo The email addresses to which to send the reports, if any.


T IT L E DESC RIP T IO N

get_MailTo Retrieves or sets the email addresses of those that will receive
the reports via email.

get_MatchesSourceTemplate Retrieves a value that determines whether the property values


of this quota object match those of the template from which
it was derived.

get_MatchesSourceTemplate Retrieves a value that determines whether the property values


of this file screen object match those values of the template
from which the object was derived.

get_Members Retrieves or sets the filename patterns that determine the files
that are included in the file group.

get_Messages A list of the error messages that have been added to the bag.

get_MessageText Retrieves or sets the message text of the email that is sent
when this action generates email.

get_MessageText Retrieves or sets the event text that is logged when the action
runs.

get_ModuleClsid A string representation specifying the COM class identifier for


the class that implements the module defined by this module
definition.

get_ModuleDefinitionName The name of the module definition that you want to run this
rule.

get_ModuleImplementation The interface that implements the pipeline module.

get_ModuleName The name of the module.

get_ModuleType The type of module.

get_MonitorCommand Retrieves or sets a value that determines whether FSRM will


monitor the executable program specified in the
ExecutablePath property.

get_Name Retrieves and sets the name of the quota template.

get_Name The name of the module definition.

get_Name The name of the property.

get_Name The name of the file that contains the properties in the bag.

get_Name The name of the property.

get_Name Name of the classification property definition value.

get_Name The name of the rule.


T IT L E DESC RIP T IO N

get_Name The name of the file management job.

get_Name The name of the classification property whose value you want
to compare to the property condition's value.

get_Name Retrieves or sets the name of the report.

get_Name Retrieves or sets the name of the file group.

get_Name Retrieves and sets the name of the file screen template.

get_NamespaceRoots An array of directory paths that the rule is applied to when


classification is run.

get_NamespaceRoots An array of local directory paths that will be scanned when


the file management job is run.

get_NamespaceRoots Retrieves or sets an array of local directory paths that will be


scanned when the report job is run.

get_NeedsExplicitValue Determines whether a rule that uses the classifier needs to


provide the value for the classification property.

get_NeedsFileContent Determines whether the module needs to read the contents


of the file.

get_NonMembers Retrieves or sets the filename patterns that determine the files
that are excluded from the file group.

get_Notifications The list of notification periods defined for the job.

get_OperationType The type of file management job. The type determines the
operation to perform on a file when all conditions are met.

get_Operator Specifies the comparison operator, as enumerated by the


FsrmPropertyConditionType enumeration.

get_OverwriteOnCommit Retrieves or sets a value that determines whether a quota


template is overwritten if it exists when the template is
imported.

get_OverwriteOnCommit Retrieves or sets a value that determines whether a file group


is overwritten if it exists.

get_OverwriteOnCommit Retrieves or sets a value that determines whether a file screen


template is overwritten if it exists when the template is
imported.

get_OwnerSid The SID of the owner of the file.

get_Parameters The optional parameters to pass to the module.

get_Parameters The parameters for the property definition.


T IT L E DESC RIP T IO N

get_Parameters The parameters that are passed to the classifier.

get_Parameters The parameters for the file management job.

get_ParentDirectoryId The NTFS identifier of the file's parent directory.

get_Path Retrieves the path to which the quota applies.

get_Path Retrieves the directory path associated with the file screen
object.

get_Path Retrieves the path that is associated with this file screen
exception.

get_PossibleValues The possible values to which the property can be set.

get_PropertiesAffected The list of property names that the classifier can affect.

get_PropertiesUsed The list of property names that the classifier inspects.

get_PropertyAffected The name of the property that this rule affects.

get_PropertyBagFlags A set of flags that provide additional information about the


property bag.

get_PropertyConditions A list of property conditions specified for the job.

get_PropertyDefinitionFlags Contains the flags for the property definition.

get_PropertyFlags Flag values that provides additional information about a


property.

get_PropertyId Specifies the predefined file property, as enumerated by the


FsrmFileSystemPropertyId enumeration.

get_PropertyName Specifies the name of the file condition property.

get_QuotaFlags Retrieves or sets the quota flags for the object.

get_QuotaLimit Retrieves or sets the quota limit for the object.

get_QuotaPeakUsage Retrieves the highest amount of disk space usage charged to


this quota.

get_QuotaPeakUsageTime Retrieves the date and time that the


IFsrmQuota::QuotaPeakUsage property was set.

get_QuotaUsed Retrieves the current amount of disk space usage charged to


this quota.

get_RelativeNamespaceRoot The relative path of the namespace root under which the file
is being evaluated.
T IT L E DESC RIP T IO N

get_RelativePath The relative path to the file.

get_ReportEnabled Indicates whether the job will generate a report when it runs.

get_ReportTypes Retrieves or sets the types of reports to generate.

get_Results Retrieves the HRESULT values that indicate the success or


failure of the update for each derived object.

get_RuleFlags The flags that define the state of the rule.

get_RuleType The type of the rule.

get_RunLimitInterval Retrieves or sets the interval that must expire before the
action is run again.

get_RunningStatus The running status of the job.

get_RunningStatus Retrieves the running status of the report job.

get_Size The size of the file.

get_SizeAllocated The allocation size of the file.

get_SmtpServer Retrieves or sets the SMTP server that FSRM uses to send
email.

get_Sources The modules and rules that have set the value.

get_SourceTemplateName Retrieves the name of the template from which this quota was
derived.

get_SourceTemplateName Retrieves the name of the template from which this file screen
object was derived.

get_State Retrieves the state of the collection.

get_StorageType The type of storage that the storage module uses.

get_SupportedExtensions The list of file extensions supported by this module.

get_Task The name of the scheduled task to associate with the job.

get_Task Retrieves or sets the name of the report job.

get_Thresholds Retrieves the thresholds for the quota object.

get_Type The type of data that the property contains.

get_Type The comparison operator used to determine whether the


property condition is met.
T IT L E DESC RIP T IO N

get_Type Retrieves the type of report to generate.

get_UniqueID Unique ID of the classification property definition value.

get_UpdatesFileContent Determines whether the module updates the contents of the


file.

get_UserAccount Retrieves the string form of the user account that is


associated with the object.

get_UserAccount The account name of the user whose files will be screened.

get_UserSid Retrieves the string form of the user's security identifier (SID)
that is associated with the object.

get_UserSid The SID of the user whose files will be screened.

get_Value The value that this rule will set the property to.

get_Value The value of the property.

get_Value Specifies the file condition property value.

get_Value The property condition's value.

get_ValueDefinitions This property contains the possible value definitions of the


property definition.

get_ValueDescriptions Descriptions for each of the possible values specified in the


PossibleValues property.

get_ValueType Specifies the type of the file condition property value, as


enumerated by the FsrmPropertyValueType enumeration.

get_Version The version of the module definition.

get_VolumeIndex The index that the scanner uses to refer to the volume on
which the file exists.

get_VolumeName The name of the volume on which the file exists.

get_WorkingDirectory Retrieves or sets the working directory in which the


executable program will run.

GetActionRunLimitInterval Gets the time that an action that uses the global run limit
interval must wait before the action is run again.

GetAutoApplyQuota Retrieves the automatic quota for the specified directory.

GetById Retrieves the specified object from the collection.


T IT L E DESC RIP T IO N

GetDefaultFilter Retrieves the default report filter value that is used with the
specified report type.

GetFieldValue Gets the value of the specified field from the property bag.

GetFileGroup Retrieves the specified file group from FSRM.

GetFileManagementJob Gets the specified file management job.

GetFileProperty Retrieves the specified property from the file or folder.

GetFileProperty Retrieves the specified property from the property bag.

GetFileScreen Retrieves the specified file screen.

GetFileScreenException Retrieves the specified file screen exception.

GetFileStreamInterface Retrieves a file stream interface that you can use to access the
contents of the file.

GetFilter Retrieves the value of the specified report filter.

GetModuleDefinition Retrieves the specified module definition.

GetOutputDirectory Retrieves the local directory path where the reports with the
specified context are stored.

GetPropertyDefinition Retrieves the specified property definition.

GetPropertyValueToApply Retrieves the value from the classifier that should be applied
for the specified property of the file most recently specified by
the IFsrmClassifierModuleImplementation::OnBeginFile
method.

GetQuota Retrieves the quota for the specified directory.

GetReportJob Retrieves the specified report job.

GetReportSizeLimit Retrieves the current value of the specified report size limit.

GetRestrictiveQuota Retrieves the most restrictive quota for the specified path.

GetRule Retrieves the specified rule.

GetSharePathsForLocalPath Retrieves a list of network shares that point to the specified


local path.

GetTemplate Retrieves the specified quota template.

GetTemplate Retrieves the specified file screen template.


T IT L E DESC RIP T IO N

ImportFileGroups Imports one or more file groups from the specified file.

ImportFileGroups Imports the specified file groups from an XML string.

ImportFileScreenTemplates Imports one or more file screen templates from the specified
file.

ImportQuotaTemplates Imports one or more quota templates from the specified file.

ImportTemplates Imports the specified quota templates from an XML string.

ImportTemplates Imports the specified file screen templates from an XML


string.

IsAffectedByQuota Retrieves a value that determines whether a specified path is


subject to a quota.

IsFilterValidForReportType Retrieves a value that determines whether a specified report


filter is configurable for the specified report type.

LoadProperties Instructs the storage module to load all properties.

ModifyNotification Change a notification value in the file management job's list of


notifications.

ModifyScheduleTask Modifies a task that is used to trigger a report job.

ModifyThreshold Changes the threshold value.

OnBeginFile Instructs the classifier to prepare for processing a file with the
specified property bag.

OnEndFile Instructs the classifier to perform any cleanup after processing


a file.

OnLoad Initializes the pipeline module.

OnUnload Notifies the module to perform any cleanup tasks.

put_Account Retrieves or sets the system account that is used to run the
executable program specified in the ExecutablePath property.

put_Account The account to use when running the module.

put_AdminEmail Retrieves or sets the email address for the administrator.

put_AllowedFileGroups Retrieves or sets the names of the file groups that contain the
file name patterns of the files that are allowed in the directory.

put_Arguments Retrieves or sets the arguments to pass to the executable


program specified in the ExecutablePath property.
T IT L E DESC RIP T IO N

put_AttachmentFileListSize The maximum number of files to include in the list.

put_BlockedFileGroups Retrieves or sets the names of the file groups that contain the
file name patterns used to specify the files that are blocked by
this screen.

put_Capabilities Flags that specify capabilities of the storage module.

put_ClassificationReportEnabled Determines whether classification reporting is enabled or not.

put_ClassificationReportFormats The list of formats in which to generate the classification


reports.

put_ClassificationReportMailTo The email address to which to send the classification reports,


if any.

put_Company The name of the company that created the classification or


storage module.

put_DaysSinceFileCreated The number of days that have elapsed since the file was
created.

put_DaysSinceFileLastAccessed The number of days that have elapsed since the file was last
accessed.

put_DaysSinceFileLastModified The number of days that have elapsed since a file was last
modified.

put_Description Retrieves or sets the description of the object.

put_Description Retrieves or sets the description of the report.

put_DisableCommandLine Retrieves or sets a value that determines whether FSRM


prevents command line actions from running.

put_DisplayName The display name of the property definition.

put_Enabled Determines whether the module is enabled.

put_Enabled Indicates whether the job enabled (can run).

put_EnableScreeningAudit Retrieves or sets a value that determines whether FSRM keeps


audit records of the file screen violations.

put_EventType Retrieves or sets the type of event that the action logs when it
runs.

put_ExcludeFolders Retrieves or sets an array of immediate subdirectories to


exclude from the automatic quota.

put_ExecutablePath Retrieves or sets the full path to the executable program or


script to run.
T IT L E DESC RIP T IO N

put_ExecutionOption Determines how to apply the rule to the file.

put_ExpirationDirectory The root directory that will contain the expired files.

put_FileNamePattern A condition property:_wildcard filter for names.

put_FileScreenFlags Retrieves or sets the file screen flags.

put_Formats The formats of the report to generate when the job is run.

put_Formats Retrieves or sets an array of formats that determine the


content format of the reports.

put_FromDate The date from which you want the file management job to
begin expiring files (moving files to the expired files directory).
This property also applies to custom commands for the file
management job.

put_KillTimeOut Retrieves or sets the number of minutes the server waits


before terminating the process that is running the executable
program specified in the ExecutablePath property.

put_Logging The types of logging to perform when running the


classification rules.

put_Logging The types of logging to perform.

put_LogResult Retrieves or sets a value that determines whether FSRM logs


an Application event that contains the return code of the
executable program.

put_MailBcc Retrieves or sets the blind carbon copy (Bcc) email address to
which email is sent when this action generates email.

put_MailCc Retrieves or sets the carbon copy (Cc) email address to which
email is sent when this action generates email.

put_MailFrom Retrieves or sets the email address to use as the sender of the
email when the action generates an email message.

put_MailFrom Retrieves or sets the default email address from which email
messages are sent.

put_MailReplyTo Retrieves or sets the email address to use as the reply-to


address when the recipient of the email message replies.

put_MailSubject Retrieves or sets the subject of the email that is sent when
this action generates email.

put_MailTo Retrieves or sets the email address to which email is sent


when this action generates email.
T IT L E DESC RIP T IO N

put_MailTo Retrieves or sets the email address to which the reports are
sent.

put_MailTo The email addresses to which to send the reports, if any.

put_MailTo Retrieves or sets the email addresses of those that will receive
the reports via email.

put_Members Retrieves or sets the filename patterns that determine the files
that are included in the file group.

put_MessageText Retrieves or sets the message text of the email that is sent
when this action generates email.

put_MessageText Retrieves or sets the event text that is logged when the action
runs.

put_ModuleClsid A string representation specifying the COM class identifier for


the class that implements the module defined by this module
definition.

put_ModuleDefinitionName The name of the module definition that you want to run this
rule.

put_MonitorCommand Retrieves or sets a value that determines whether FSRM will


monitor the executable program specified in the
ExecutablePath property.

put_Name Retrieves and sets the name of the quota template.

put_Name The name of the module definition.

put_Name The name of the property.

put_Name The name of the rule.

put_Name The name of the file management job.

put_Name The name of the classification property whose value you want
to compare to the property condition's value.

put_Name Retrieves or sets the name of the report.

put_Name Retrieves or sets the name of the file group.

put_Name Retrieves and sets the name of the file screen template.

put_NamespaceRoots An array of directory paths that the rule is applied to when


classification is run.

put_NamespaceRoots An array of local directory paths that will be scanned when


the file management job is run.
T IT L E DESC RIP T IO N

put_NamespaceRoots Retrieves or sets an array of local directory paths that will be


scanned when the report job is run.

put_NeedsExplicitValue Determines whether a rule that uses the classifier needs to


provide the value for the classification property.

put_NeedsFileContent Determines whether the module needs to read the contents


of the file.

put_NonMembers Retrieves or sets the filename patterns that determine the files
that are excluded from the file group.

put_OperationType The type of file management job. The type determines the
operation to perform on a file when all conditions are met.

put_Operator Specifies the comparison operator, as enumerated by the


FsrmPropertyConditionType enumeration.

put_OverwriteOnCommit Retrieves or sets a value that determines whether a quota


template is overwritten if it exists when the template is
imported.

put_OverwriteOnCommit Retrieves or sets a value that determines whether a file group


is overwritten if it exists.

put_OverwriteOnCommit Retrieves or sets a value that determines whether a file screen


template is overwritten if it exists when the template is
imported.

put_Parameters The optional parameters to pass to the module.

put_Parameters The parameters for the property definition.

put_Parameters The parameters that are passed to the classifier.

put_Parameters The parameters for the file management job.

put_PossibleValues The possible values to which the property can be set.

put_PropertiesAffected The list of property names that the classifier can affect.

put_PropertiesUsed The list of property names that the classifier inspects.

put_PropertyAffected The name of the property that this rule affects.

put_PropertyId Specifies the predefined file property, as enumerated by the


FsrmFileSystemPropertyId enumeration.

put_PropertyName Specifies the name of the file condition property.

put_QuotaFlags Retrieves or sets the quota flags for the object.


T IT L E DESC RIP T IO N

put_QuotaLimit Retrieves or sets the quota limit for the object.

put_ReportEnabled Indicates whether the job will generate a report when it runs.

put_ReportTypes Retrieves or sets the types of reports to generate.

put_RuleFlags The flags that define the state of the rule.

put_RunLimitInterval Retrieves or sets the interval that must expire before the
action is run again.

put_SmtpServer Retrieves or sets the SMTP server that FSRM uses to send
email.

put_StorageType The type of storage that the storage module uses.

put_SupportedExtensions The list of file extensions supported by this module.

put_Task The name of the scheduled task to associate with the job.

put_Task Retrieves or sets the name of the report job.

put_Type The type of data that the property contains.

put_Type The comparison operator used to determine whether the


property condition is met.

put_UpdatesFileContent Determines whether the module updates the contents of the


file.

put_Value The value that this rule will set the property to.

put_Value Specifies the file condition property value.

put_Value The property condition's value.

put_ValueDescriptions Descriptions for each of the possible values specified in the


PossibleValues property.

put_ValueType Specifies the type of the file condition property value, as


enumerated by the FsrmPropertyValueType enumeration.

put_Version The version of the module definition.

put_WorkingDirectory Retrieves or sets the working directory in which the


executable program will run.

RefreshUsageProperties Refreshes this object's quota usage information from the


current information in FSRM.

Remove Removes the specified object from the collection using an


index value.
T IT L E DESC RIP T IO N

RemoveById Removes the specified object from the collection using an


object identifier.

ResetPeakUsage Resets the peak usage of this quota to the current usage.

Run Runs the job.

Run Runs all the reports in the job.

RunClassification Runs classification rules and generates the classification


report.

SaveProperties Instructs the storage module to save properties associated


with a file.

Scan Starts a quota scan on the specified path.

SetActionRunLimitInterval Sets the time that an action that uses the global run limit
interval must wait before the action is run again.

SetDefaultFilter Sets the default report filter value to use with the specified
report type.

SetFileProperty Sets the value of the specified property in the file or folder.

SetFileProperty Sets the specified property in the property bag.

SetFilter Sets the current value of the specified report filter.

SetOutputDirectory Sets the local directory path where reports are stored.

SetReportSizeLimit Sets the current value of the specified report size limit.

Show Displays the Access Denied Remediation (ADR) client dialog.

UseDefinitions Specifies the property definitions FSRM recognizes.

UseRulesAndDefinitions Specifies the collection of rules and relevant property


definitions the classifier should expect to process.

VerifyNamespaces Verifies that the specified local directory paths that are used
as the source for the reports are valid.

WaitForClassificationCompletion Waits for the specified period of time or until classification has
finished running.

WaitForCompletion Limits the time that an asynchronous collection can take to


collect the objects.

WaitForCompletion Waits for the specified period of time or until the job has
finished running.
T IT L E DESC RIP T IO N

WaitForCompletion Waits for the reports in the job to complete.

Interfaces
T IT L E DESC RIP T IO N

DIFsrmClassificationEvents Handles events that are received while processing a


ClassifyFiles call.

IFsrmAccessDeniedRemediationClient Used to show the Access Denied Remediation (ADR) client


user interface.

IFsrmAction The base class for all FSRM action interfaces.

IFsrmActionCommand Used to run a command or script in response to a quota, file


screen, or file management job event.

IFsrmActionEmail Used to send an email message in response to a quota or file


screen event.

IFsrmActionEmail2 Used to limit the number of expired files listed in the email
notification.

IFsrmActionEventLog Used to log an event to the Windows Application event log in


response to a quota, file screen, or file management job event.

IFsrmActionReport Used to generate a report in response to a quota or file


screen event.

IFsrmAutoApplyQuota Used to automatically add the quota to new and existing


subdirectories of the directory on which the automatic quota
is applied.

IFsrmClassificationManager Manages file classification. Use this interface to define


properties to use in classification, add classification rules for
classifying files, define classification and storage modules, and
enable classification reporting.

IFsrmClassificationManager2 Manages file classification. Use this interface to define


properties to use in classification, add classification rules for
classifying files, define classification and storage modules, and
enable classification reporting.

IFsrmClassificationRule Defines a classification rule.

IFsrmClassifierModuleDefinition Defines a classifier module.

IFsrmClassifierModuleImplementation Classifier modules implement this interface. FSRM calls the


module's implementation when it runs classification.

IFsrmCollection Defines a collection of FSRM objects.


T IT L E DESC RIP T IO N

IFsrmCommittableCollection Defines a collection of FSRM objects that can have the same
type of objects added to or removed from the collection. All
objects in the collection can also be committed in a single
batch operation.

IFsrmDerivedObjectsResult Used to access the results when the source template calls the
CommitAndUpdateDerived method.

IFsrmExportImport Used to export and import FSRM objects.

IFsrmFileConditionProperty Defines a file condition property.

IFsrmFileGroup Used to define a group of files based on one or more file


name patterns.

IFsrmFileGroupImported Used to configure imported file group objects.

IFsrmFileGroupManager Used to manage file group objects.

IFsrmFileManagementJob Defines a file management job.

IFsrmFileManagementJobManager Used to manage file management jobs.

IFsrmFileScreen Used to configure a file screen that blocks groups of files from
being saved to the specified directory.

IFsrmFileScreenBase Base class for all file screen interfaces.

IFsrmFileScreenException Used to configure an exception that excludes the specified


files from the file screening process.

IFsrmFileScreenManager Used to manage file screen objects.

IFsrmFileScreenTemplate Used to configure templates from which new file screens can
be derived.

IFsrmFileScreenTemplateImported Used to save imported file screen templates.

IFsrmFileScreenTemplateManager Used to manage file screen templates.

IFsrmMutableCollection Used to manage a collection of FSRM objects that can have


objects added to or removed from the collection.

IFsrmObject Base class for all FSRM objects.

IFsrmPathMapper Used to retrieve the network share paths that are mapped to
a local path.

IFsrmPipelineModuleConnector Creates the communication channel between FSRM and your


pipeline module implementation.
T IT L E DESC RIP T IO N

IFsrmPipelineModuleDefinition Defines a module that is used to classify files or store and


retrieve properties from files.

IFsrmPipelineModuleImplementation Abstract interface for IFsrmClassifierModuleImplementation


and IFsrmStorageModuleImplementation.

IFsrmProperty Defines an instance of a property.

IFsrmPropertyBag Contains the classification properties for a file.

IFsrmPropertyBag2 IFsrmPropertyBag2 Interface

IFsrmPropertyCondition Defines a property condition that the file management job


uses to determine if the file is expired.

IFsrmPropertyDefinition Defines a property that you want to use to classify files.

IFsrmPropertyDefinition2 Defines a property that you want to use to classify files.

IFsrmPropertyDefinitionValue Contains properties that describe a classification property


definition value.

IFsrmQuota Used to define a quota for a specified directory and to


retrieve use statistics.

IFsrmQuotaBase Base interface for all quota interfaces.

IFsrmQuotaManager Used to manage quotas.

IFsrmQuotaManagerEx Used to manage quotas, extended version.

IFsrmQuotaObject Base class for the quota and automatic quota interfaces.

IFsrmQuotaTemplate Used to configure templates from which new quota objects


can be derived.

IFsrmQuotaTemplateImported Used to modify and save imported quota templates.

IFsrmQuotaTemplateManager Used to manage quota templates.

IFsrmReport Used to configure the description and filters for a single


report.

IFsrmReportJob Used to configure a report job.

IFsrmReportManager Used to manage report jobs.

IFsrmReportScheduler Used to manage scheduled tasks for report jobs and file
management jobs.

IFsrmRule Defines a rule.


T IT L E DESC RIP T IO N

IFsrmSetting Used to configure FSRM.

IFsrmStorageModuleDefinition Defines a local storage module that is used to read and write
property values.

IFsrmStorageModuleImplementation Storage modules implement this interface.


Game Mode
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Game Mode technology.


To develop Game Mode, you need these headers:
expandedresources.h
For programming guidance for this technology, see:
Game Mode

Functions
T IT L E DESC RIP T IO N

GetExpandedResourceExclusiveCpuCount Gets the expected number of exclusive CPU sets that are
available to the app when in Game Mode.

HasExpandedResources Gets the current resource state (that is, whether the app is
running in Game Mode or shared mode).

ReleaseExclusiveCpuSets Opts out of CPU exclusivity, giving the app access to all cores,
but at the cost of having to share them with other processes.
Gaming Device Information
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Gaming Device Information technology.


To develop Gaming Device Information, you need these headers:
gamingdeviceinformation.h
For programming guidance for this technology, see:
Gaming Device Information

Enumerations
T IT L E DESC RIP T IO N

GAMING_DEVICE_DEVICE_ID Indicates the type of device that the game is running on.

GAMING_DEVICE_VENDOR_ID Indicates the vendor of the console that the game is running
on.

Functions
T IT L E DESC RIP T IO N

GetGamingDeviceModelInformation Gets information about the device that the game is running
on.

Structures
T IT L E DESC RIP T IO N

GAMING_DEVICE_MODEL_INFORMATION Contains information about the device that the game is


running on.
GDI+
2/7/2020 • 84 minutes to read • Edit Online

Overview of the GDI+ technology.


To develop GDI+, you need these headers:
gdiplusbase.h
gdiplusbrush.h
gdipluscolor.h
gdipluscolormatrix.h
gdipluseffects.h
gdiplusenums.h
gdiplusgraphics.h
gdiplusheaders.h
gdiplusimageattributes.h
gdiplusimagecodec.h
gdiplusimaging.h
gdiplusinit.h
gdipluslinecaps.h
gdiplusmatrix.h
gdiplusmetaheader.h
gdipluspath.h
gdipluspen.h
gdipluspixelformats.h
gdiplusstringformat.h
gdiplustypes.h
For programming guidance for this technology, see:
GDI+

Class
T IT L E DESC RIP T IO N

AdjustableArrowCap The AdjustableArrowCap class is a subclass of the


CustomLineCap. This class builds a line cap that looks like an
arrow.

Bitmap The Bitmap class inherits from the Image class.

BitmapData The BitmapData class is used by the Bitmap::LockBits and


Bitmap::UnlockBits methods of the Bitmap class. A
BitmapData object stores attributes of a bitmap.

Blur The Blur class enables you to apply a Gaussian blur effect to
a bitmap and specify the nature of the blur.
T IT L E DESC RIP T IO N

BrightnessContrast The BrightnessContrast class enables you to change the


brightness and contrast of a bitmap.

Brush The Brush class is an abstract base class that defines a Brush
object. A Brush object is used to paint the interior of graphics
shapes, such as rectangles, ellipses, pies, polygons, and
paths.

CachedBitmap A CachedBitmap object stores a bitmap in a format that is


optimized for display on a particular device. To display a
cached bitmap, call the Graphics::DrawCachedBitmap
method.

CharacterRange A CharacterRange object specifies a range of character


positions within a string.

Color A Color object stores a 32-bit value that represents a color.

ColorBalance The ColorBalance class enables you to change the color


balance (relative amounts of red, green, and blue) of a
bitmap.

ColorCurve The ColorCurve class encompasses eight separate


adjustments:_exposure, density, contrast, highlight, shadow,
midtone, white saturation, and black saturation.

ColorLUT A ColorLUTParams structure has four members, each being a


lookup table for a particular color channel:_alpha, red, green,
or blue.

ColorMatrixEffect The ColorMatrixEffect class enables you to apply an affine


transformation to a bitmap.

CustomLineCap The CustomLineCap class encapsulates a custom line cap.

Effect The Effect class serves as a base class for eleven classes that
you can use to apply effects and adjustments to bitmaps.
The following classes descend from Effect.

EncoderParameter An EncoderParameter object holds a parameter that can be


passed to an image encoder. An EncoderParameter object
can also be used to receive a list of possible values
supported by a particular parameter of a particular image
encoder.

EncoderParameters An EncoderParameters object is an array of


EncoderParameter objects along with a data member that
specifies the number of EncoderParameter objects in the
array.

Font The Font class encapsulates the characteristics, such as


family, height, size, and style (or combination of styles), of a
specific font. A Font object is used when drawing strings.
T IT L E DESC RIP T IO N

FontCollection The FontCollection class is an abstract base class. It contains


methods for enumerating the font families in a collection of
fonts. Objects built from this class include the
InstalledFontCollection and PrivateFontCollection classes.

FontFamily This FontFamily class encapsulates a set of fonts that make


up a font family. A font family is a group of fonts that have
the same typeface but different styles.

GdiplusBase The GdiplusBase class provides memory allocation and


deallocation for GDI+ objects. GdiplusBase serves as a base
class for all other GDI+ classes, so you never need to create
an instance of GdiplusBase.

Graphics The Graphics class provides methods for drawing lines,


curves, figures, images, and text. A Graphics object stores
attributes of the display device and attributes of the items to
be drawn.

GraphicsPath A GraphicsPath object stores a sequence of lines, curves, and


shapes.

GraphicsPathIterator This GraphicsPathIterator class provides methods for


isolating selected subsets of the path stored in a
GraphicsPath object.

HatchBrush This HatchBrush class defines a rectangular brush with a


hatch style, a foreground color, and a background color.

HueSaturationLightness The HueSaturationLightness class enables you to change the


hue, saturation, and lightness of a bitmap.

Image The Image class provides methods for loading and saving
raster images (bitmaps) and vector images (metafiles).

ImageAttributes An ImageAttributes object contains information about how


bitmap and metafile colors are manipulated during
rendering.

ImageCodecInfo An ImageCodecInfo object stores information about an


image codec (encoder/decoder).

ImageItemData The ImageItemData class is used to store and retrieve


custom image metadata. Windows GDI+ supports custom
metadata for JPEG, PNG, and GIF image files.

InstalledFontCollection The InstalledFontCollection class defines a class that


represents the fonts installed on the system.

Levels The Levels class encompasses three bitmap


adjustments:_highlight, midtone, and shadow.
T IT L E DESC RIP T IO N

LinearGradientBrush The LinearGradientBrush class defines a brush that paints a


color gradient in which the color changes evenly from the
starting boundary line of the linear gradient brush to the
ending boundary line of the linear gradient brush.

Matrix A Matrix object represents a 3 ×3 matrix that, in turn,


represents an affine transformation.

Metafile The Metafile class defines a graphic metafile. A metafile


contains records that describe a sequence of graphics API
calls. Metafiles can be recorded (constructed) and played
back (displayed).

MetafileHeader A MetafileHeader object stores properties of an associated


metafile.

PathData The PathData class is a helper class for the GraphicsPath and
GraphicsPathIterator classes.

PathGradientBrush A PathGradientBrush object stores the attributes of a color


gradient that you can use to fill the interior of a path with a
gradually changing color.

Pen A Pen object is a Windows GDI+ object used to draw lines


and curves.

Point The Point class encapsulates a point in a 2-D coordinate


system.

PointF The PointF class encapsulates a point in a 2-D coordinate


system.

PrivateFontCollection The PrivateFontCollection is a collection class for fonts. This


class keeps a collection of fonts specifically for an application.
The fonts in the collection can include installed fonts as well
as fonts that have not been installed on the system.

PropertyItem The PropertyItem class is a helper class for the Image and
Bitmap classes. A PropertyItem object holds one piece of
image metadata.

Rect A Rect object stores the upper-left corner, width, and height
of a rectangle.

RectF A RectF object stores the upper-left corner, width, and height
of a rectangle.

RedEyeCorrection The RedEyeCorrection class enables you to correct the red


eyes that sometimes occur in flash photographs.

Region The Region class describes an area of the display surface.

Sharpen The Sharpen class enables you to adjust the sharpness of a


bitmap.
T IT L E DESC RIP T IO N

Size The Size class encapsulates a Width and Height dimension in


a 2-D coordinate system.

SizeF The SizeF class encapsulates a Width and Height dimension


in a 2-D coordinate system. The SizeF class uses floating
point coordinates.

SolidBrush The SolidBrush class defines a solid color Brush object. A


Brush object is used to fill in shapes similar to the way a
paint brush can paint the inside of a shape. This class inherits
from the Brush abstract base class.

StringFormat The StringFormat class encapsulates text layout information


(such as alignment, orientation, tab stops, and clipping) and
display manipulations (such as trimming, font substitution
for characters that are not supported by the requested font,
and digit substitution for languages that do not use Western
European digits). A StringFormat object can be passed to the
DrawString Methods method to format a string.

TextureBrush The TextureBrush class defines a Brush object that contains


an Image object that is used for the fill. The fill image can be
transformed by using the local Matrix object contained in the
Brush object.

Tint The Tint class enables you to apply a tint to a bitmap.

Enumerations
T IT L E DESC RIP T IO N

BrushType The BrushType enumeration indicates the type of brush.


There are five types of brushes.

ColorAdjustType The ColorAdjustType enumeration specifies which GDI+


objects use color-adjustment information.

ColorChannelFlags The ColorChannelFlags enumeration specifies individual


channels in the CMYK (cyan, magenta, yellow, black) color
space. This enumeration is used by the
ImageAttributes::SetOutputChannel method.

ColorMatrixFlags The ColorMatrixFlags enumeration specifies the types of


images and colors that will be affected by the color and
grayscale adjustment settings of an ImageAttributes object.

CombineMode The CombineMode enumeration specifies how a new region


is combined with an existing region.

CompositingMode The CompositingMode enumeration specifies how rendered


colors are combined with background colors. This
enumeration is used by the Graphics::GetCompositingMode
and Graphics::SetCompositingMode methods of the Graphics
class.
T IT L E DESC RIP T IO N

CompositingQuality The CompositingQuality enumeration specifies whether


gamma correction is applied when colors are blended with
background colors.

CoordinateSpace The CoordinateSpace enumeration specifies coordinate


spaces.

CurveAdjustments The ColorCurve class encompasses the eight bitmap


adjustments listed in the CurveAdjustments enumeration.

CurveChannel The CurveChannel enumeration specifies which color


channels are affected by a ColorCurve bitmap adjustment.

DashCap The DashCap enumeration specifies the type of graphic


shape to use on both ends of each dash in a dashed line.

DashStyle The DashStyle enumeration specifies the line style of a line


drawn with a Windows GDI+ pen. The line can be drawn by
using one of several predefined styles or a custom style.

DitherType The DitherType enumeration identifies the available


algorithms for dithering when a bitmap is converted.

DriverStringOptions The DriverStringOptions enumeration specifies the spacing,


orientation, and quality of the rendering for driver strings.

EmfPlusRecordType The EmfPlusRecordType enumeration identifies metafile


record types used in Windows Metafile Format (WMF),
Enhanced Metafile (EMF), and EMF+ files. The elements of
the EmfPlusRecordType enumeration come in three groups.

EmfToWmfBitsFlags Specifies options for the Metafile::EmfToWmfBits method,


which converts an Enhanced Metafile (EMF) metafile to a
Windows Metafile Format (WMF) metafile.

EmfType The EmfType enumeration specifies the nature of the records


that are placed in an Enhanced Metafile (EMF) file. This
enumeration is used by several constructors in the Metafile
class.

EncoderParameterValueType The EncoderParameterValueType enumeration specifies data


types for image codec (encoder/decoder) parameters. An
element of this enumeration is assigned to the Type data
member of an EncoderParameter object.

EncoderValue The EncoderValue enumeration specifies values that can be


passed as arguments to image encoders. For more
information about image encoders, see Using Image
Encoders and Decoders .

FillMode The FillMode enumeration specifies how to fill areas that are
formed when a path or curve intersects itself.

FlushIntention The FlushIntention enumeration specifies when to flush the


queue of graphics operations.
T IT L E DESC RIP T IO N

FontStyle The FontStyle enumeration specifies the style of the typeface


of a font. Styles can be combined.

HatchStyle The HatchStyle enumeration specifies the hatch pattern used


by a brush of type HatchBrush. The hatch pattern consists of
a solid background color and lines drawn over the
background.

HistogramFormat The HistogramFormat enumeration specifies the number and


type of histograms that represent the color channels of a
bitmap. This enumeration is used with the
Bitmap::GetHistogram method.

HotkeyPrefix The HotkeyPrefix enumeration specifies how to display hot


keys. There are three options:_do nothing, display hot keys
underlined, and hide the hot key underlines.

ImageCodecFlags The ImageCodecFlags enumeration indicates attributes of an


image codec.

ImageFlags The ImageFlags enumeration specifies the attributes of the


pixel data contained in an Image object. The Image::GetFlags
method returns an element of this enumeration.

ImageLockMode The ImageLockMode enumeration specifies flags that are


passed to the flags parameter of the Bitmap::LockBits
method. The Bitmap::LockBits method locks a portion of an
image so that you can read or write the pixel data.

ImageType The ImageType enumeration indicates whether an image is a


bitmap or a metafile. The Image::GetType method returns an
element of this enumeration.

InterpolationMode The InterpolationMode enumeration specifies the algorithm


that is used when images are scaled or rotated. This
enumeration is used by the Graphics::GetInterpolationMode
and Graphics::SetInterpolationMode methods of the
Graphics class.

ItemDataPosition The ItemDataPosition enumeration is used to specify the


location of custom metadata in an image file.

LinearGradientMode The LinearGradientMode enumeration specifies the direction


in which the change of color occurs for a linear gradient
brush.

LineCap The LineCap enumeration specifies the type of graphic shape


to use on the end of a line drawn with a Windows GDI+ pen.

LineJoin The LineJoin enumeration specifies how to join two lines that
are drawn by the same pen and whose ends meet. At the
intersection of the two line ends, a line join makes the join
look more continuous.
T IT L E DESC RIP T IO N

MatrixOrder The MatrixOrder enumeration specifies the order of


multiplication when a new matrix is multiplied by an existing
matrix.

MetafileFrameUnit The MetafileFrameUnit enumeration specifies the unit of


measure for a metafile frame rectangle.

MetafileType The MetafileType enumeration specifies types of metafiles.


The MetafileHeader::GetType method returns an element of
this enumeration.

ObjectType The ObjectType enumeration indicates the object type value


of an EMF+ record.

PaletteFlags The PaletteFlags enumeration indicates attributes of the color


data in a palette.

PaletteType The PaletteType enumeration is used by the


Bitmap::InitializePalette and Bitmap::ConvertFormat methods
of the Bitmap class. The members of the enumeration
identify several standard color palette formats.

PathPointType The PathPointType enumeration indicates point types and


flags for the data points in a path.

PenAlignment The PenAlignment enumeration specifies the alignment of a


pen relative to the stroke that is being drawn.

PenType The PenType enumeration indicates the type of pattern,


texture, or gradient that a pen draws.

PixelOffsetMode The PixelOffsetMode enumeration specifies the pixel offset


mode of a Graphics object. This enumeration is used by the
Graphics::GetPixelOffsetMode and
Graphics::SetPixelOffsetMode methods of the Graphics class.

RotateFlipType The RotateFlipType enumeration specifies the direction of an


image's rotation and the axis used to flip the image.

SmoothingMode The SmoothingMode enumeration specifies the type of


smoothing (antialiasing) that is applied to lines and curves.
This enumeration is used by the
Graphics::GetSmoothingMode and
Graphics::SetSmoothingMode methods of the Graphics class.

Status The Status enumeration indicates the result of a Windows


GDI+ method call.

StringAlignment The StringAlignment enumeration specifies how a string is


aligned in reference to the bounding rectangle. A bounding
rectangle is used to define the area in which the text displays.

StringDigitSubstitute The StringDigitSubstitute enumeration specifies how to


substitute digits in a string according to a user's locale or
language.
T IT L E DESC RIP T IO N

StringFormatFlags The StringFormatFlags enumeration specifies text layout


information (such as orientation and clipping) and display
manipulations (such as ellipsis insertion, digit substitution,
and representation of characters that are not supported by a
font).

StringTrimming The StringTrimming enumeration specifies how to trim


characters from a string so that the string fits into a layout
rectangle. The layout rectangle is used to position and size
the display string.

TextRenderingHint The TextRenderingHint enumeration specifies the process


used to render text. The process affects the quality of the
text.

Unit The Unit enumeration specifies the unit of measure for a


given data type.

WarpMode The WarpMode enumeration specifies warp modes that can


be used to transform images.

WrapMode The WrapMode enumeration specifies how repeated copies


of an image are used to tile an area.

Functions
T IT L E DESC RIP T IO N

AddArc The GraphicsPath::AddArc method adds an elliptical arc to


the current figure of this path.

AddArc The GraphicsPath::AddArc method adds an elliptical arc to


the current figure of this path.

AddArc The GraphicsPath::AddArc method adds an elliptical arc to


the current figure of this path.

AddBezier The GraphicsPath::AddBezier method adds a Bézier spline to


the current figure of this path.

AddBezier The GraphicsPath::AddBezier method adds a Bézier spline to


the current figure of this path.

AddBezier The GraphicsPath::AddBezier method adds a Bézier spline to


the current figure of this path.

AddBeziers The GraphicsPath::AddBeziers method adds a sequence of


connected Bézier splines to the current figure of this path.

AddClosedCurve The GraphicsPath::AddClosedCurve method adds a closed


cardinal spline to this path.
T IT L E DESC RIP T IO N

AddClosedCurve The GraphicsPath::AddClosedCurve method adds a closed


cardinal spline to this path.

AddClosedCurve The GraphicsPath::AddClosedCurve method adds a closed


cardinal spline to this path.

AddCurve The GraphicsPath::AddCurve method adds a cardinal spline


to the current figure of this path.

AddCurve The GraphicsPath::AddCurve method adds a cardinal spline


to the current figure of this path.

AddCurve The GraphicsPath::AddCurve method adds a cardinal spline


to the current figure of this path.

AddCurve The GraphicsPath::AddCurve method adds a cardinal spline


to the current figure of this path.

AddCurve The GraphicsPath::AddCurve method adds a cardinal spline


to the current figure of this path.

AddEllipse The GraphicsPath::AddEllipse method adds an ellipse to this


path.

AddEllipse The GraphicsPath::AddEllipse method adds an ellipse to this


path.

AddEllipse The GraphicsPath::AddEllipse method adds an ellipse to this


path.

AddFontFile The PrivateFontCollection::AddFontFile method adds a font


file to this private font collection.

AddLine The GraphicsPath::AddLine method adds a line to the current


figure of this path.

AddLine The GraphicsPath::AddLine method adds a line to the current


figure of this path.

AddLine The GraphicsPath::AddLine method adds a line to the current


figure of this path.

AddLines The GraphicsPath::AddLines method adds a sequence of


connected lines to the current figure of this path.

AddMemoryFont The PrivateFontCollection::AddMemoryFont method adds a


font that is contained in system memory to a Windows
GDI+ font collection.

AddMetafileComment The Graphics::AddMetafileComment method adds a text


comment to an existing metafile.

AddPath The GraphicsPath::AddPath method adds a path to this path.


T IT L E DESC RIP T IO N

AddPie The GraphicsPath::AddPie method adds a pie to this path.

AddPie The GraphicsPath::AddPie method adds a pie to this path.

AddPie The GraphicsPath::AddPie method adds a pie to this path.

AddPolygon The GraphicsPath::AddPolygon method adds a polygon to


this path.

AddRectangle The GraphicsPath::AddRectangle method adds a rectangle to


this path.

AddRectangles The GraphicsPath::AddRectangles method adds a sequence of


rectangles to this path

AddString The GraphicsPath::AddString method adds the outline of a


string to this path.

AddString The GraphicsPath::AddString method adds the outlines of a


string to this path.

AddString The GraphicsPath::AddString method adds the outline of a


string to this path.

AdjustableArrowCap Creates an adjustable arrow line cap with the specified height
and width. The arrow line cap can be filled or nonfilled. The
middle inset defaults to zero.

ApplyEffect The Bitmap::ApplyEffect method creates a new Bitmap object


by applying a specified effect to an existing Bitmap object.

BeginContainer The Graphics::BeginContainer method begins a new graphics


container.

BeginContainer The Graphics::BeginContainer method begins a new graphics


container.

Bitmap Creates a Bitmap::Bitmap object based on an image file.

Bitmap Creates a Bitmap::Bitmap object based on an IStream COM


interface.

Bitmap Creates a Bitmap::Bitmap object based on an array of bytes


along with size and format information.

Bitmap Creates a Bitmap::Bitmap object of a specified size and pixel


format. The pixel data must be provided after the
Bitmap::Bitmap object is constructed.

Bitmap Creates a Bitmap::Bitmap object based on a Graphics object,


a width, and a height.
T IT L E DESC RIP T IO N

Bitmap Creates a Bitmap::Bitmap object based on a DirectDraw


surface. The Bitmap::Bitmap object maintains a reference to
the DirectDraw surface until the Bitmap::Bitmap object is
deleted or goes out of scope.

Bitmap Creates a Bitmap::Bitmap object based on a BITMAPINFO


structure and an array of pixel data.

Bitmap Creates a Bitmap::Bitmap object based on a handle to a


Windows Windows Graphics Device Interface (GDI) bitmap
and a handle to a GDI palette.

Bitmap Creates a Bitmap object based on an icon.

Bitmap Creates a Bitmap::Bitmap object based on an application or


DLL instance handle and the name of a bitmap resource.

Blur Creates a Blur object.

BrightnessContrast Creates a new BrightnessContrast object.

CachedBitmap Creates a CachedBitmap::CachedBitmap object based on a


Bitmap object and a Graphics object.

CachedBitmap Creates a CachedBitmap::CachedBitmap object based on a


Bitmap object and a Graphics object.

CharacterRange Creates a CharacterRange::CharacterRange object and


initializes the data members to the values specified.

CharacterRange Creates a CharacterRange::CharacterRange object with the


data members set to zero.

Clear The Graphics::Clear method clears a Graphicsobject to a


specified color.

ClearBrushRemapTable The ImageAttributes::ClearBrushRemapTable method clears


the brush color-remap table of this ImageAttributes object.

ClearColorKey The ImageAttributes::ClearColorKey method clears the color


key (transparency range) for a specified category.

ClearColorMatrices The ImageAttributes::ClearColorMatrices method clears the


color-adjustment matrix and the grayscale-adjustment matrix
for a specified category.

ClearColorMatrix The ImageAttributes::ClearColorMatrix method clears the


color-adjustment matrix for a specified category.

ClearGamma The ImageAttributes::ClearGamma method disables gamma


correction for a specified category.

ClearMarkers The GraphicsPath::ClearMarkers method clears the markers


from this path.
T IT L E DESC RIP T IO N

ClearNoOp The ImageAttributes::ClearNoOp method clears the NoOp


setting for a specified category.

ClearOutputChannel The ImageAttributes::ClearOutputChannel method clears the


cyan-magenta-yellow-black (CMYK) output channel setting
for a specified category.

ClearOutputChannelColorProfile The ImageAttributes::ClearOutputChannelColorProfile


method clears the output channel color profile setting for a
specified category.

ClearRemapTable The ImageAttributes::ClearRemapTable method clears the


color-remap table for a specified category.

ClearThreshold The ImageAttributes::ClearThreshold method clears the


threshold value for a specified category.

Clone The Bitmap::Clone method creates a new Bitmapobject by


copying a portion of this bitmap.

Clone The Bitmap::Clone method creates a new Bitmap object by


copying a portion of this bitmap.

Clone The Bitmap::Clone method creates a new Bitmapobject by


copying a portion of this bitmap.

Clone The CustomLineCap::Clone method copies the contents of


the existing object into a new CustomLineCap object.

Clone The Font::Clone method creates a new Font object based on


this Font object.

Clone The FontFamily::Clone method creates a new FontFamily


object based on this FontFamily object.

Clone The Image::Clone method creates a new Image object and


initializes it with the contents of this Image object.

Clone The Region::Clone method makes a copy of this Regionobject


and returns the address of the new Regionobject.

Clone The Brush::Clone method creates a new Brush object based


on this brush.

Clone The Rect::Clone method creates a new Rect object and


initializes it with the contents of this Rect object.

Clone The RectF::Clone method creates a new RectF object and


initializes it with the contents of this RectF object.

Clone The GraphicsPath::Clone method creates a new GraphicsPath


object, and initializes it with the contents of this GraphicsPath
object.
T IT L E DESC RIP T IO N

Clone The ImageAttributes::Clone method makes a copy of this


ImageAttributes object.

Clone The Matrix::Clone method creates a new Matrix object that is


a copy of this Matrix object.

Clone The Pen::Clone method copies a Pen object.

Clone The StringFormat::Clone method creates a new StringFormat


object and initializes it with the contents of this StringFormat
object.

CloseAllFigures The GraphicsPath::CloseAllFigures method closes all open


figures in this path.

CloseFigure The GraphicsPath::CloseFigure method closes the current


figure of this path.

Color Creates a Color::Color object and initializes it to opaque


black. This is the default constructor.

Color Creates a Color::Color object by using specified values for the


red, green, and blue components. This constructor sets the
alpha component to 255 (opaque).

Color Creates a Color::Color object by using specified values for the


alpha, red, green, and blue components.

Color Creates a Color::Color object by using an ARGB value.

ColorBalance Creates a new ColorBalance object.

ColorCurve Creates a ColorCurve object.

ColorLUT Creates a new ColorLUT object.

ColorMatrixEffect Creates a ColorMatrixEffect object.

Complement The Region::Complement method updates this region to the


portion of the specified rectangle's interior that does not
intersect this region.

Complement The Region::Complement method updates this region to the


portion of the specified path's interior that does not intersect
this region.

Complement The Region::Complement method updates this region to the


portion of another region that does not intersect this region.

Contains This topic lists the Contains methods of the Rect class. For a
complete list of methods for the Rect class, see Rect
Methods.
T IT L E DESC RIP T IO N

Contains The Rect::Contains method determines whether a point is


inside this rectangle.

Contains This topic lists the Contains methods of the Rect class. For a
complete list of methods for the Rect class, see Rect
Methods.

Contains This topic lists the Contains methods of the RectF class. For a
complete list of methods for the RectF class, see RectF
Methods.

Contains The RectF::Contains method determines whether a point is


inside this rectangle.

Contains The RectF::Contains method determines whether another


rectangle is inside this rectangle.

ConvertFormat The Bitmap::ConvertFormat method converts a bitmap to a


specified pixel format. The original pixel data in the bitmap is
replaced by the new pixel data.

ConvertToEmfPlus The Metafile::ConvertToEmfPlus method converts this


Metafile object to the EMF+ format.

ConvertToEmfPlus The Metafile::ConvertToEmfPlus method converts this


Metafile object to the EMF+ format.

ConvertToEmfPlus The Metafile::ConvertToEmfPlus method converts this


Metafile object to the EMF+ format.

CopyData The GraphicsPathIterator::CopyData method copies a subset


of the path's data points to a PointF array and copies a
subset of the path's point types to a BYTE array.

CustomLineCap Creates a CustomLineCap::CustomLineCap object.

CustomLineCap Creates a CustomLineCap::CustomLineCap object.

CustomLineCap Creates a CustomLineCap::CustomLineCap object.

CustomLineCap Creates a CustomLineCap::CustomLineCap object.

DrawArc The Graphics::DrawArc method draws an arc. The arc is part


of an ellipse.

DrawArc The Graphics::DrawArc method draws an arc. The arc is part


of an ellipse.

DrawArc The Graphics::DrawArc method draws an arc. The arc is part


of an ellipse.

DrawBezier The Graphics::DrawBezier method draws a Bézier spline.


T IT L E DESC RIP T IO N

DrawBezier The Graphics::DrawBezier method draws a Bézier spline.

DrawBezier The Graphics::DrawBezier method draws a Bézier spline.

DrawBeziers The Graphics::DrawBeziers method draws a sequence of


connected Bézier splines.

DrawCachedBitmap The Graphics::DrawCachedBitmap method draws the image


stored in a CachedBitmap object.

DrawClosedCurve The Graphics::DrawClosedCurve method draws a closed


cardinal spline.

DrawClosedCurve The Graphics::DrawClosedCurve method draws a closed


cardinal spline.

DrawClosedCurve The Graphics::DrawClosedCurve method draws a closed


cardinal spline.

DrawCurve The Graphics::DrawCurve method draws a cardinal spline.

DrawCurve The Graphics::DrawCurve method draws a cardinal spline.

DrawCurve The Graphics::DrawCurve method draws a cardinal spline.

DrawCurve The Graphics::DrawCurve method draws a cardinal spline.

DrawCurve The Graphics::DrawCurve method draws a cardinal spline.

DrawDriverString The Graphics::DrawDriverString method draws characters at


the specified positions. The method gives the client complete
control over the appearance of text. The method assumes
that the client has already set up the format and layout to be
applied.

DrawEllipse The Graphics::DrawEllipse method draws an ellipse.

DrawEllipse The Graphics::DrawEllipse method draws an ellipse.

DrawEllipse The Graphics::DrawEllipse method draws an ellipse.

DrawImage The Graphics::DrawImage method draws an image at a


specified location.

DrawImage The Graphics::DrawImage method draws an image.

DrawImage The Graphics::DrawImage method draws an image.

DrawImage The Graphics::DrawImage method draws an image.

DrawImage The Graphics::DrawImage method draws an image at a


specified location.
T IT L E DESC RIP T IO N

DrawImage The Graphics::DrawImage method draws an image.

DrawImage The Graphics::DrawImage method draws an image.

DrawImage The Graphics::DrawImage method draws an image.

DrawImage The Graphics::DrawImage method draws an image.

DrawImage The Graphics::DrawImage method draws an image.

DrawImage The Graphics::DrawImage method draws an image.

DrawImage The Graphics::DrawImage method draws an image.

DrawImage The Graphics::DrawImage method draws an image.

DrawImage The Graphics::DrawImage method draws an image.

DrawImage The Graphics::DrawImage method draws an image.

DrawImage The Graphics::DrawImage method draws a specified portion


of an image at a specified location.

DrawImage The method draws a portion of an image after applying a


specified effect.

DrawLine The Graphics::DrawLine method draws a line that connects


two points.

DrawLine The Graphics::DrawLine method draws a line that connects


two points.

DrawLine The Graphics::DrawLine method draws a line that connects


two points.

DrawLines The Graphics::DrawLines method draws a sequence of


connected lines.

DrawPath The Graphics::DrawPath method draws a sequence of lines


and curves defined by a GraphicsPath object.

DrawPie The Graphics::DrawPie method draws a pie.

DrawPie The Graphics::DrawPie method draws a pie.

DrawPie The Graphics::DrawPie method draws a pie.

DrawPolygon The Graphics::DrawPolygon method draws a polygon.

DrawRectangle The Graphics::DrawRectangle method draws a rectangle.


T IT L E DESC RIP T IO N

DrawRectangle The Graphics::DrawRectangle method draws a rectangle.

DrawRectangle The Graphics::DrawRectangle method draws a rectangle.

DrawRectangles The Graphics::DrawRectangles method draws a sequence of


rectangles.

DrawString The Graphics::DrawString method draws a string based on a


font and an origin for the string.

DrawString The Graphics::DrawString method draws a string based on a


font, a string origin, and a format.

Effect Creates an Effect object.

EmfToWmfBits Converts an enhanced-format metafile to a Windows


Metafile Format (WMF) metafile and stores the converted
records in a specified buffer.

Empty The Size::Empty method determines whether a Size object is


empty.

Empty The SizeF::Empty method determines whether a SizeF object


is empty.

EndContainer The Graphics::EndContainer method closes a graphics


container that was previously opened by the
Graphics::BeginContainer method.

Enumerate The GraphicsPathIterator::Enumerate method copies the


path's data points to a PointF array and copies the path's
point types to a BYTE array.

EnumerateMetafile The Graphics::EnumerateMetafile method calls an


application-defined callback function for each record in a
specified metafile. You can use this method to display a
metafile by calling PlayRecord in the callback function.

EnumerateMetafile The Graphics::EnumerateMetafile method calls an


application-defined callback function for each record in a
specified metafile. You can use this method to display a
metafile by calling PlayRecord in the callback function.

EnumerateMetafile The Graphics::EnumerateMetafile method calls an


application-defined callback function for each record in a
specified metafile. You can use this method to display a
metafile by calling PlayRecord in the callback function.

EnumerateMetafile The Graphics::EnumerateMetafile method calls an


application-defined callback function for each record in a
specified metafile. You can use this method to display a
metafile by calling PlayRecord in the callback function.
T IT L E DESC RIP T IO N

EnumerateMetafile The Graphics::EnumerateMetafile method calls an


application-defined callback function for each record in a
specified metafile. You can use this method to display a
metafile by calling PlayRecord in the callback function.

EnumerateMetafile The Graphics::EnumerateMetafile method calls an


application-defined callback function for each record in a
specified metafile. You can use this method to display a
metafile by calling PlayRecord in the callback function.

EnumerateMetafile The Graphics::EnumerateMetafile method calls an


application-defined callback function for each record in a
specified metafile. You can use this method to display a
metafile by calling PlayRecord in the callback function.

EnumerateMetafile The Graphics::EnumerateMetafile method calls an


application-defined callback function for each record in a
specified metafile. You can use this method to display a
metafile by calling PlayRecord in the callback function.

EnumerateMetafile The Graphics::EnumerateMetafile method calls an


application-defined callback function for each record in a
specified metafile. You can use this method to display a
metafile by calling PlayRecord in the callback function.

EnumerateMetafile The Graphics::EnumerateMetafile method calls an


application-defined callback function for each record in a
specified metafile. You can use this method to display a
metafile by calling PlayRecord in the callback function.

EnumerateMetafile The Graphics::EnumerateMetafile method calls an


application-defined callback function for each record in a
specified metafile. You can use this method to display a
metafile by calling PlayRecord in the callback function.

EnumerateMetafile The Graphics::EnumerateMetafile method calls an


application-defined callback function for each record in a
specified metafile. You can use this method to display a
metafile by calling PlayRecord in the callback function.

Equals The Region::Equals method determines whether this region is


equal to a specified region.

Equals The Point::Equals method determines whether two Point


objects are equal. Two points are considered equal if they
have the same X and Y data members.

Equals The PointF::Equals method determines whether two PointF


objects are equal. Two points are considered equal if they
have the same X and Y data members.

Equals The Rect::Equals method determines whether two rectangles


are the same.

Equals The RectF::Equals method determines whether two rectangles


are the same.
T IT L E DESC RIP T IO N

Equals The Size::Equals method determines whether two Size objects


are equal.

Equals The SizeF::Equals method determines whether two SizeF


objects are equal.

Equals The Matrix::Equals method determines whether the elements


of this matrix are equal to the elements of another matrix.

Exclude The Region::Exclude method updates this region to the


portion of itself that does not intersect the specified
rectangle's interior.

Exclude The Region::Exclude method updates this region to the


portion of itself that does not intersect the specified path's
interior.

Exclude The Region::Exclude method updates this region to the


portion of itself that does not intersect another region.

ExcludeClip The Graphics::ExcludeClip method updates the clipping


region to the portion of itself that does not intersect the
specified rectangle.

ExcludeClip The Graphics::ExcludeClip method updates the clipping


region with the portion of itself that does not overlap the
specified region.

FillClosedCurve The Graphics::FillClosedCurve method creates a closed


cardinal spline from an array of points and uses a brush to
fill, according to a specified mode, the interior of the spline.

FillClosedCurve The Graphics::FillClosedCurve method creates a closed


cardinal spline from an array of points and uses a brush to fill
the interior of the spline.

FillClosedCurve The Graphics::FillClosedCurve method creates a closed


cardinal spline from an array of points and uses a brush to
fill, according to a specified mode, the interior of the spline.

FillEllipse The Graphics::FillEllipse method uses a brush to fill the


interior of an ellipse that is specified by coordinates and
dimensions.

FillEllipse The Graphics::FillEllipse method uses a brush to fill the


interior of an ellipse that is specified by a rectangle.

FillEllipse The Graphics::FillEllipse method uses a brush to fill the


interior of an ellipse that is specified by coordinates and
dimensions.

FillPath The Graphics::FillPath method uses a brush to fill the interior


of a path. If a figure in the path is not closed, this method
treats the nonclosed figure as if it were closed by a straight
line that connects the figure's starting and ending points.
T IT L E DESC RIP T IO N

FillPie The Graphics::FillPie method uses a brush to fill the interior of


a pie.

FillPie The Graphics::FillPie method uses a brush to fill the interior of


a pie.

FillPie The Graphics::FillPie method uses a brush to fill the interior of


a pie.

FillPolygon The Graphics::FillPolygon method uses a brush to fill the


interior of a polygon.

FillPolygon The Graphics::FillPolygon method uses a brush to fill the


interior of a polygon.

FillPolygon The Graphics::FillPolygon method uses a brush to fill the


interior of a polygon.

FillRectangle The Graphics::FillRectangle method uses a brush to fill the


interior of a rectangle.

FillRectangle The Graphics::FillRectangle method uses a brush to fill the


interior of a rectangle.

FillRectangle The Graphics::FillRectangle method uses a brush to fill the


interior of a rectangle.

FillRectangles The Graphics::FillRectangles method uses a brush to fill the


interior of a sequence of rectangles.

FillRegion The Graphics::FillRegion method uses a brush to fill a


specified region.

FindFirstItem The Image::FindFirstItem method retrieves the description


and the data size of the first metadata item in this Image
object.

FindNextItem The Image::FindNextItem method is used along with the


Image::FindFirstItem method to enumerate the metadata
items stored in this Image object.

Flatten The GraphicsPath::Flatten method applies a transformation


to this path and converts each curve in the path to a
sequence of connected lines.

Flush The Graphics::Flush method flushes all pending graphics


operations.

Font Creates a Font::Font object based on the Windows Graphics


Device Interface (GDI) font object that is currently selected
into a specified device context. This constructor is provided
for compatibility with GDI.
T IT L E DESC RIP T IO N

Font Creates a Font::Font object directly from a Windows Graphics


Device Interface (GDI) logical font.

Font Creates a Font::Font object directly from a Windows Graphics


Device Interface (GDI) logical font.

Font Creates a Font::Font object indirectly from a Windows


Graphics Device Interface (GDI) logical font by using a handle
to a GDILOGFONT structure.

Font Creates a Font::Font object based on a FontFamily object, a


size, a font style, and a unit of measurement.

Font Creates a Font::Font object based on a font family, a size, a


font style, a unit of measurement, and a FontCollection
object.

Font This topic lists the constructors of the Font class. For a
complete class listing, see Font Class.

Font This topic lists the constructors of the Font class. For a
complete class listing, see Font Class.

FontCollection Creates an empty FontCollection::FontCollection object.

FontCollection Creates an empty FontCollection::FontCollection object.

FontFamily Creates a FontFamily::FontFamily object based on a specified


font family.

FontFamily This topic lists the constructors of the FontFamily class. For a
complete class listing, see FontFamilyClass.

FontFamily This topic lists the constructors of the FontFamily class. For a
complete class listing, see FontFamilyClass.

FromBITMAPINFO The Bitmap::FromBITMAPINFO method creates a Bitmap


object based on a BITMAPINFO structure and an array of
pixel data.

FromDirectDrawSurface7 The Bitmap::FromDirectDrawSurface7 method creates a


Bitmap object based on a DirectDraw surface. The Bitmap
object maintains a reference to the DirectDraw surface until
the Bitmap object is deleted.

FromFile The Bitmap::FromFile method creates a Bitmap object based


on an image file.

FromFile The Image::FromFile method creates an Image object based


on a file.

FromHBITMAP The Bitmap::FromHBITMAP method creates a Bitmap object


based on a handle to a Windows Graphics Device Interface
(GDI) bitmap and a handle to a GDI palette.
T IT L E DESC RIP T IO N

FromHDC The Graphics::FromHDC method creates a Graphics object


that is associated with a specified device context.

FromHDC The Graphics::FromHDC method creates a Graphics object


that is associated with a specified device context and a
specified device.

FromHICON The Bitmap::FromHICON method creates a Bitmap object


based on a handle to an icon.

FromHRGN The Region::FromHRGN method creates a Windows


GDI+Region object from a Windows Graphics Device
Interface (GDI) region.

FromHWND The Graphics::FromHWND method creates a Graphicsobject


that is associated with a specified window.

FromImage The Graphics::FromImage method creates a Graphicsobject


that is associated with a specified Image object.

FromResource The Bitmap::FromResource method creates a Bitmap object


based on an application or DLL instance handle and the
name of a bitmap resource.

FromStream The Bitmap::FromStream method creates a Bitmap object


based on a stream.

FromStream The Image::FromStream method creates a new Image object


based on a stream.

GdiplusShutdown The GdiplusShutdown function cleans up resources used by


Windows GDI+. Each call to GdiplusStartup should be paired
with a call to GdiplusShutdown.

GdiplusStartup The GdiplusStartup function initializes Windows GDI+. Call


GdiplusStartup before making any other GDI+ calls, and call
GdiplusShutdown when you have finished using GDI+.

GenericDefault The StringFormat::GenericDefault method creates a generic,


default StringFormat object.

GenericMonospace The FontFamily::GenericMonospace method gets a


FontFamily object that specifies a generic monospace
typeface.

GenericSansSerif The FontFamily::GenericSansSerif method gets a FontFamily


object that specifies a generic sans serif typeface.

GenericSerif The FontFamily::GenericSerif method gets a FontFamily object


that represents a generic serif typeface.

GenericTypographic The StringFormat::GenericTypographic method creates a


generic, typographic StringFormat object.
T IT L E DESC RIP T IO N

GetA The Color::GetA method gets the alpha component of this


Color object.

GetAdjustedPalette The ImageAttributes::GetAdjustedPalette method adjusts the


colors in a palette according to the adjustment settings of a
specified category.

GetAlignment The Pen::GetAlignment method gets the alignment currently


set for this Pen object.

GetAlignment The StringFormat::GetAlignment method gets an element of


the StringAlignment enumeration that indicates the character
alignment of this StringFormat object in relation to the origin
of the layout rectangle.

GetAllPropertyItems The Image::GetAllPropertyItems method gets all the


property items (metadata) stored in this Image object.

GetAlpha The Color::GetAlpha method gets the alpha component of


this Color object.

GetAuxData The Effect::GetAuxData gets a pointer to a set of lookup


tables created by a previous call to the Bitmap::ApplyEffect
method.

GetAuxDataSize The Effect::GetAuxDataSize method gets the size, in bytes, of


the auxiliary data created by a previous call to the
Bitmap::ApplyEffect method.

GetB The Color::GetB method gets the blue component of this


Color object.

GetBackgroundColor The HatchBrush::GetBackgroundColor method gets the


background color of this hatch brush.

GetBaseCap The CustomLineCap::GetBaseCap method gets the style of


the base cap. The base cap is a LineCap object used as a cap
at the end of a line along with this CustomLineCap object.

GetBaseInset The CustomLineCap::GetBaseInset method gets the distance


between the base cap to the start of the line.

GetBlend The LinearGradientBrush::GetBlend method gets the blend


factors and their corresponding blend positions from a
LinearGradientBrush object.

GetBlend The PathGradientBrush::GetBlend method gets the blend


factors and the corresponding blend positions currently set
for this path gradient brush.

GetBlendCount The LinearGradientBrush::GetBlendCount method gets the


number of blend factors currently set for this
LinearGradientBrush object.
T IT L E DESC RIP T IO N

GetBlendCount The PathGradientBrush::GetBlendCount method gets the


number of blend factors currently set for this path gradient
brush.

GetBlue The Color::GetBlue method gets the blue component of this


Color object.

GetBottom The Rect::GetBottom method gets the y-coordinate of the


bottom edge of the rectangle.

GetBottom The RectF::GetBottom method gets the y-coordinate of the


bottom edge of the rectangle.

GetBounds The Image::GetBounds method gets the bounding rectangle


for this image.

GetBounds The Region::GetBounds method gets a rectangle that


encloses this region.

GetBounds The Rect::GetBounds method makes a copy of this rectangle.

GetBounds The RectF::GetBounds method makes a copy of this


rectangle.

GetBounds The GraphicsPath::GetBounds method gets a bounding


rectangle for this path.

GetBounds The MetafileHeader::GetBounds method gets the bounding


rectangle for the associated metafile.

GetBrush The Pen::GetBrush method gets the Brush object that is


currently set for this Pen object.

GetCellAscent The FontFamily::GetCellAscent method gets the cell ascent, in


design units, of this font family for the specified style or style
combination.

GetCellDescent The FontFamily::GetCellDescent method gets the cell descent,


in design units, of this font family for the specified style or
style combination.

GetCenterColor The PathGradientBrush::GetCenterColor method gets the


color of the center point of this path gradient brush.

GetCenterPoint The PathGradientBrush::GetCenterPoint method gets the


center point of this path gradient brush.

GetClip The Graphics::GetClip method gets the clipping region of this


Graphics object.

GetClipBounds The Graphics::GetClipBounds method gets a rectangle that


encloses the clipping region of this Graphics object.
T IT L E DESC RIP T IO N

GetColor The SolidBrush::GetColor method gets the color of this solid


brush.

GetColor The Pen::GetColor method gets the color currently set for
this Pen object.

GetCompositingMode The Graphics::GetCompositingMode method gets the


compositing mode currently set for this Graphics object.

GetCompositingQuality The Graphics::GetCompositingQuality method gets the


compositing quality currently set for this Graphics object.

GetCompoundArray The Pen::GetCompoundArray method gets the compound


array currently set for this Pen object.

GetCompoundArrayCount The Pen::GetCompoundArrayCount method gets the number


of elements in a compound array.

GetCount The GraphicsPathIterator::GetCount method returns the


number of data points in the path.

GetCustomEndCap The Pen::GetCustomEndCap method gets the custom end


cap currently set for this Pen object.

GetCustomStartCap The Pen::GetCustomStartCap method gets the custom start


cap currently set for this Pen object.

GetDashCap The Pen::GetDashCap method gets the dash cap style


currently set for this Pen object.

GetDashOffset The Pen::GetDashOffset method gets the distance from the


start of the line to the start of the first space in a dashed
line.

GetDashPattern The Pen::GetDashPattern method gets an array of custom


dashes and spaces currently set for this Pen object.

GetDashPatternCount The Pen::GetDashPatternCount method gets the number of


elements in a dash pattern array.

GetDashStyle The Pen::GetDashStyle method gets the dash style currently


set for this Pen object.

GetData The Region::GetData method gets data that describes this


region.

GetDataSize The Region::GetDataSize method gets the number of bytes of


data that describes this region.

GetDigitSubstitutionLanguage The StringFormat::GetDigitSubstitutionLanguage method


gets the language that corresponds with the digits that are
to be substituted for Western European digits.
T IT L E DESC RIP T IO N

GetDigitSubstitutionMethod The StringFormat::GetDigitSubstitutionMethod method gets


an element of the StringDigitSubstitute enumeration that
indicates the digit substitution method that is used by this
StringFormat object.

GetDownLevelRasterizationLimit Gets the rasterization limit currently set for this metafile.

GetDpiX The Graphics::GetDpiX method gets the horizontal


resolution, in dots per inch, of the display device associated
with this Graphics object.

GetDpiX The MetafileHeader::GetDpiX method gets the horizontal


dots per inch of the associated metafile.

GetDpiY The Graphics::GetDpiY method gets the vertical resolution, in


dots per inch, of the display device associated with this
Graphics object.

GetDpiY The MetafileHeader::GetDpiY method gets the vertical dots


per inch of the associated metafile.

GetElements The Matrix::GetElements method gets the elements of this


matrix. The elements are placed in an array in the order m11,
m12, m21, m22, m31, m32, where mij denotes the element
in row i, column j.

GetEmfHeader The MetafileHeader::GetEmfHeader method gets an


ENHMETAHEADER3 structure that contains properties of the
associated metafile.

GetEmfPlusFlags The MetafileHeader::GetEmfPlusFlags method gets a flag


that indicates whether the associated metafile was recorded
against a video display device context.

GetEmHeight The FontFamily::GetEmHeight method gets the size


(commonly called em size or em height), in design units, of
this font family.

GetEncoderParameterList The Image::GetEncoderParameterList method gets a list of


the parameters supported by a specified image encoder.

GetEncoderParameterListSize The Image::GetEncoderParameterListSize method gets the


size, in bytes, of the parameter list for a specified image
encoder.

GetEndCap The Pen::GetEndCap method gets the end cap currently set
for this Pen object.

GetFamilies The FontCollection::GetFamilies method gets the font families


contained in this font collection.

GetFamily The Font::GetFamily method gets the font family on which


this font is based.
T IT L E DESC RIP T IO N

GetFamilyCount The FontCollection::GetFamilyCount method gets the


number of font families contained in this font collection.

GetFamilyName The FontFamily::GetFamilyName method gets the name of


this font family.

GetFillMode The GraphicsPath::GetFillMode method gets the fill mode of


this path.

GetFlags The Image::GetFlags method gets a set of flags that indicate


certain attributes of this Image object.

GetFocusScales The PathGradientBrush::GetFocusScales method gets the


focus scales of this path gradient brush.

GetForegroundColor The HatchBrush::GetForegroundColor method gets the


foreground color of this hatch brush.

GetFormatFlags The StringFormat::GetFormatFlags method gets the string


format flags for this StringFormat object.

GetFrameCount The Image::GetFrameCount method gets the number of


frames in a specified dimension of this Image object.

GetFrameDimensionsCount The Image::GetFrameDimensionsCount method gets the


number of frame dimensions in this Image object.

GetFrameDimensionsList The Image::GetFrameDimensionsList method gets the


identifiers for the frame dimensions of this Image object.

GetG The Color::GetG method gets the green component of this


Color object.

GetGammaCorrection The LinearGradientBrush::GetGammaCorrection method


determines whether gamma correction is enabled for this
LinearGradientBrush object.

GetGammaCorrection The PathGradientBrush::GetGammaCorrection method


determines whether gamma correction is enabled for this
path gradient brush.

GetGraphicsPath The PathGradientBrush::GetGraphicsPath method is not


implemented in Windows GDI+ version 1.0.

GetGreen The Color::GetGreen method gets the green component of


this Color object.

GetHalftonePalette The Graphics::GetHalftonePalette method gets a Windows


halftone palette.

GetHatchStyle The HatchBrush::GetHatchStyle method gets the hatch style


of this hatch brush.
T IT L E DESC RIP T IO N

GetHBITMAP The Bitmap::GetHBITMAP method creates a Windows


Graphics Device Interface (GDI) bitmap from this Bitmap
object.

GetHDC The Graphics::GetHDC method gets a handle to the device


context associated with this Graphics object.

GetHeight The AdjustableArrowCap::GetHeight method gets the height


of the arrow cap. The height is the distance from the base of
the arrow to its vertex.

GetHeight The Font::GetHeight method gets the line spacing, in pixels,


of this font.

GetHeight The Image::GetHeight method gets the image height, in


pixels, of this image.

GetHENHMETAFILE The Metafile::GetHENHMETAFILE method gets a Windows


handle to an Enhanced Metafile (EMF) file.

GetHICON The Bitmap::GetHICON method creates an icon from this


Bitmap object.

GetHistogram The Bitmap::GetHistogram method returns one or more


histograms for specified color channels of this Bitmap object.

GetHistogramSize The Bitmap::GetHistogramSize returns the number of


elements (in an array of UINTs) that you must allocate before
you call the Bitmap::GetHistogram method of a Bitmap
object.

GetHorizontalResolution The Image::GetHorizontalResolution method gets the


horizontal resolution, in dots per inch, of this image.

GetHotkeyPrefix The StringFormat::GetHotkeyPrefix method gets an element


of the HotkeyPrefix enumeration that indicates the type of
processing that is performed on a string when a hot key
prefix, an ampersand (&), is encountered.

GetHRGN The Region::GetHRGN method creates a Windows Graphics


Device Interface (GDI) region from this region.

GetImage The TextureBrush::GetImage method gets a pointer to the


Image object that is defined by this texture brush.

GetImageDecoders The GetImageDecoders function gets an array of


ImageCodecInfo objects that contain information about the
available image decoders.

GetImageDecodersSize The GetImageDecodersSize function gets the number of


available image decoders and the total size of the array of
ImageCodecInfo objects that is returned by the
GetImageDecoders function.
T IT L E DESC RIP T IO N

GetImageEncoders The GetImageEncoders function gets an array of


ImageCodecInfo objects that contain information about the
available image encoders.

GetImageEncodersSize The GetImageEncodersSize function gets the number of


available image encoders and the total size of the array of
ImageCodecInfo objects that is returned by the
GetImageEncoders function.

GetInterpolationColorCount The LinearGradientBrush::GetInterpolationColorCount


method gets the number of colors currently set to be
interpolated for this linear gradient brush.

GetInterpolationColorCount The PathGradientBrush::GetInterpolationColorCount method


gets the number of preset colors currently specified for this
path gradient brush.

GetInterpolationColors The LinearGradientBrush::GetInterpolationColors method


gets the colors currently set to be interpolated for this linear
gradient brush and their corresponding blend positions.

GetInterpolationColors The PathGradientBrush::GetInterpolationColors method gets


the preset colors and blend positions currently specified for
this path gradient brush.

GetInterpolationMode The Graphics::GetInterpolationMode method gets the


interpolation mode currently set for this Graphics object. The
interpolation mode determines the algorithm that is used
when images are scaled or rotated.

GetItemData The Image::GetItemData method gets one piece of metadata


from this Image object.

GetLastPoint The GraphicsPath::GetLastPoint method gets the ending


point of the last figure in this path.

GetLastStatus The CachedBitmap::GetLastStatus method returns a value


that indicates whether this CachedBitmap object was
constructed successfully.

GetLastStatus The CustomLineCap::GetLastStatus method returns a value


that indicates the nature of this CustomLineCap object's
most recent method failure.

GetLastStatus The Font::GetLastStatus method returns a value that


indicates the nature of this Font object's most recent method
failure.

GetLastStatus The FontCollection::GetLastStatus method returns a value


that indicates the result of this FontCollection object's
previous method call.

GetLastStatus The FontFamily::GetLastStatus method returns a value that


indicates the nature of this FontFamily object's most recent
method failure.
T IT L E DESC RIP T IO N

GetLastStatus The Image::GetLastStatus method returns a value that


indicates the nature of this Image object's most recent
method failure.

GetLastStatus The Region::GetLastStatus method returns a value that


indicates the nature of this Regionobject's most recent
method failure.

GetLastStatus The Brush::GetLastStatus method returns a value that


indicates the nature of this Brush object's most recent
method failure.

GetLastStatus The Graphics::GetLastStatus method returns a value that


indicates the nature of this Graphics object's most recent
method failure.

GetLastStatus The GraphicsPath::GetLastStatus method returns a value that


indicates the nature of this GraphicsPath object's most recent
method failure.

GetLastStatus The GraphicsPathIterator::GetLastStatus method returns a


value that indicates the nature of this GraphicsPathIterator
object's most recent method failure.

GetLastStatus The ImageAttributes::GetLastStatus method returns a value


that indicates the nature of this ImageAttributes object's
most recent method failure.

GetLastStatus The Matrix::GetLastStatus method returns a value that


indicates the nature of this Matrix object's most recent
method failure.

GetLastStatus The Pen::GetLastStatus method returns a value that indicates


the nature of this Pen object's most recent method failure.

GetLastStatus The StringFormat::GetLastStatus method returns a value that


indicates the nature of this StringFormat object's most recent
method failure.

GetLeft The Rect::GetLeft method gets the x-coordinate of the left


edge of the rectangle.

GetLeft The RectF::GetLeft method gets the x-coordinate of the left


edge of the rectangle.

GetLineAlignment The StringFormat::GetLineAlignment method gets an


element of the StringAlignment enumeration that indicates
the line alignment of this StringFormat object in relation to
the origin of the layout rectangle.

GetLinearColors The LinearGradientBrush::GetLinearColors method gets the


starting color and ending color of this linear gradient brush.

GetLineJoin The Pen::GetLineJoin method gets the line join style currently
set for this Pen object.
T IT L E DESC RIP T IO N

GetLineSpacing The FontFamily::GetLineSpacing method gets the line


spacing, in design units, of this font family for the specified
style or style combination. The line spacing is the vertical
distance between the base lines of two consecutive lines of
text.

GetLocation The Rect::GetLocation method gets the coordinates of the


upper-left corner of the rectangle.

GetLocation The RectF::GetLocation method gets the coordinates of the


upper-left corner of this rectangle.

GetLogFontA The Font::GetLogFontA method uses a LOGFONTA structure


to get the attributes of this Font object.

GetLogFontW The Font::GetLogFontW method uses a LOGFONTW


structure to get the attributes of this Font object.

GetMeasurableCharacterRangeCount The StringFormat::GetMeasurableCharacterRangeCount


method gets the number of measurable character ranges
that are currently set. The character ranges that are set can
be measured in a string by using the
MeasureCharacterRanges method.

GetMetafileHeader The Metafile::GetMetafileHeader method gets the header.

GetMetafileHeader The Metafile::GetMetafileHeader method gets the header.

GetMetafileHeader The Metafile::GetMetafileHeader method gets the header.

GetMetafileHeader The Metafile::GetMetafileHeader method gets the header.

GetMetafileSize The MetafileHeader::GetMetafileSize method gets the size, in


bytes, of the metafile.

GetMiddleInset The AdjustableArrowCap::GetMiddleInset method gets the


value of the inset. The middle inset is the number of units
that the midpoint of the base shifts towards the vertex.

GetMiterLimit The Pen::GetMiterLimit method gets the miter length


currently set for this Pen object.

GetNearestColor The Graphics::GetNearestColor method gets the nearest


color to the color that is passed in. This method works on 8-
bits per pixel or lower display devices for which there is an 8-
bit color palette.

GetPageScale The Graphics::GetPageScale method gets the scaling factor


currently set for the page transformation of this Graphics
object. The page transformation converts page coordinates
to device coordinates.

GetPageUnit The Graphics::GetPageUnit method gets the unit of measure


currently set for this Graphics object.
T IT L E DESC RIP T IO N

GetPalette The Image::GetPalette method gets the ColorPalette of this


Image object.

GetPaletteSize The Image::GetPaletteSize method gets the size, in bytes, of


the color palette of this Image object.

GetParameters The Blur::GetParameters method gets the current values of


the parameters of this Blur object.

GetParameters The BrightnessContrast::GetParameters method gets the


current values of the parameters of this BrightnessContrast
object.

GetParameters The ColorBalance::GetParameters method gets the current


values of the parameters of this ColorBalance object.

GetParameters The ColorCurve::GetParameters gets the current values of


the parameters of this ColorCurve object.

GetParameters The ColorLUT::GetParameters method gets the current


values of the parameters of this ColorLUT object.

GetParameters The ColorMatrixEffect::GetParameters method gets the


elements of the current 5x5 color matrix of this
ColorMatrixEffect object.

GetParameters The HueSaturationLightness::GetParameters method gets the


current values of the parameters of this
HueSaturationLightness object.

GetParameters The Levels::GetParameters method gets the current values of


the parameters of this Levels object.

GetParameters The RedEyeCorrection::GetParameters method gets the


current values of the parameters of this RedEyeCorrection
object.

GetParameters The Sharpen::GetParameters method gets the current values


of the parameters of this Sharpen object.

GetParameters The Tint::GetParameters method gets the current values of


the parameters of this Tint object.

GetParameterSize The Effect::GetParameterSize method gets the total size, in


bytes, of the parameters currently set for this Effect. The
Effect::GetParameterSize method is usually called on an
object that is an instance of a descendant of the Effect class.

GetPathData The GraphicsPath::GetPathData method gets an array of


points and an array of point types from this path. Together,
these two arrays define the lines, curves, figures, and
markers of this path.
T IT L E DESC RIP T IO N

GetPathPoints The GraphicsPath::GetPathPoints method gets this path's


array of points. The array contains the endpoints and control
points of the lines and Bézier splines that are used to draw
the path.

GetPathTypes The GraphicsPath::GetPathTypes method gets this path's


array of point types.

GetPenType The Pen::GetPenType method gets the type currently set for
this Pen object.

GetPhysicalDimension The Image::GetPhysicalDimension method gets the width


and height of this image.

GetPixel The Bitmap::GetPixel method gets the color of a specified


pixel in this bitmap.

GetPixelFormat The Image::GetPixelFormat method gets the pixel format of


this Image object.

GetPixelFormatSize The GetPixelFormatSize method returns the number of bits


per pixel used by a specified pixel format.

GetPixelOffsetMode The Graphics::GetPixelOffsetMode method gets the pixel


offset mode currently set for this Graphics object.

GetPointCount The GraphicsPath::GetPointCount method gets the number


of points in this path's array of data points. This is the same
as the number of types in the path's array of point types.

GetPointCount The PathGradientBrush::GetPointCount method gets the


number of points in the array of points that defines this
brush's boundary path.

GetPropertyCount The Image::GetPropertyCount method gets the number of


properties (pieces of metadata) stored in this Image object.

GetPropertyIdList The Image::GetPropertyIdList method gets a list of the


property identifiers used in the metadata of this Image
object.

GetPropertyItem The Image::GetPropertyItem method gets a specified


property item (piece of metadata) from this Image object.

GetPropertyItemSize The Image::GetPropertyItemSize method gets the size, in


bytes, of a specified property item of this Image object.

GetPropertySize The Image::GetPropertySize method gets the total size, in


bytes, of all the property items stored in this Image object.
The Image::GetPropertySize method also gets the number of
property items stored in this Image object.

GetR The Color::GetR method gets the red component of this


Color object.
T IT L E DESC RIP T IO N

GetRawFormat The Image::GetRawFormat method gets a globally unique


identifier ( GUID) that identifies the format of this Image
object. GUIDs that identify various file formats are defined in
Gdiplusimaging.h.

GetRectangle This topic lists the GetRectangle methods of the


LinearGradientBrush class. For a complete list of methods for
the LinearGradientBrush class, see LinearGradientBrush
Methods.

GetRectangle The LinearGradientBrush::GetRectangle method gets the


rectangle that defines the boundaries of the gradient.

GetRectangle The PathGradientBrush::GetRectangle method gets the


smallest rectangle that encloses the boundary path of this
path gradient brush.

GetRed The Color::GetRed method gets the red component of this


Color object.

GetRegionScans The Region::GetRegionScans method gets an array of


rectangles that approximate this region. The region is
transformed by a specified matrix before the rectangles are
calculated.

GetRegionScansCount The Region::GetRegionScansCount method gets the number


of rectangles that approximate this region. The region is
transformed by a specified matrix before the rectangles are
calculated.

GetRenderingOrigin The Graphics::GetRenderingOrigin method gets the


rendering origin currently set for this Graphics object.

GetRight The Rect::GetRight method gets the x-coordinate of the right


edge of the rectangle.

GetRight The RectF::GetRight method gets the x-coordinate of the


right edge of the rectangle.

GetSize The Font::GetSize method returns the font size (commonly


called the em size) of this Font object. The size is in the units
of this Font object.

GetSize The Rect::GetSize method gets the width and height of the
rectangle.

GetSize The RectF::GetSize method gets the width and height of this
rectangle.

GetSmoothingMode The Graphics::GetSmoothingMode method determines


whether smoothing (antialiasing) is applied to the Graphics
object.

GetStartCap The Pen::GetStartCap method gets the start cap currently set
for this Pen object.
T IT L E DESC RIP T IO N

GetStrokeCaps The CustomLineCap::GetStrokeCaps method gets the end


cap styles for both the start line cap and the end line cap.
Line caps are LineCap objects that end the individual lines
within a path.

GetStrokeJoin The CustomLineCap::GetStrokeJoin method returns the style


of LineJoin used to join multiple lines in the same
GraphicsPath object.

GetStyle The Font::GetStyle method gets the style of this font's


typeface.

GetSubpathCount The GraphicsPathIterator::GetSubpathCount method returns


the number of subpaths (also called figures) in the path.

GetSurroundColorCount The PathGradientBrush::GetSurroundColorCount method


gets the number of colors that have been specified for the
boundary path of this path gradient brush.

GetSurroundColors The PathGradientBrush::GetSurroundColors method gets the


surround colors currently specified for this path gradient
brush.

GetTabStopCount The StringFormat::GetTabStopCount method gets the


number of tab-stop offsets in this StringFormat object.

GetTabStops The StringFormat::GetTabStops method gets the offsets of


the tab stops in this StringFormat object.

GetTextContrast The Graphics::GetTextContrast method gets the contrast


value currently set for this Graphics object. The contrast
value is used for antialiasing text.

GetTextRenderingHint The Graphics::GetTextRenderingHint method returns the text


rendering mode currently set for this Graphics object.

GetThumbnailImage The Image::GetThumbnailImage method gets a thumbnail


image from this Image object.

GetTop The Rect::GetTop method gets the y-coordinate of the top


edge of the rectangle.

GetTop The RectF::GetTop method gets the y-coordinate of the top


edge of the rectangle.

GetTransform The LinearGradientBrush::GetTransform method gets the


transformation matrix of this linear gradient brush.

GetTransform The TextureBrush::GetTransform method gets the


transformation matrix of this texture brush.

GetTransform The Graphics::GetTransform method gets the world


transformation matrix of this Graphics object.
T IT L E DESC RIP T IO N

GetTransform The PathGradientBrush::GetTransform method gets


transformation matrix of this path gradient brush.

GetTransform The Pen::GetTransform method gets the world


transformation matrix currently set for this Pen object.

GetTrimming The StringFormat::GetTrimming method gets an element of


the StringTrimming enumeration that indicates the trimming
style of this StringFormat object.

GetType The Image::GetType method gets the type (bitmap or


metafile) of this Image object.

GetType The Brush::GetType method gets the type of this brush.

GetType The MetafileHeader::GetType method gets the type of the


associated metafile.

GetUnit The Font::GetUnit method returns the unit of measure of this


Font object.

GetValue The Color::GetValue method gets the ARGB value of this


Color object.

GetVersion The MetafileHeader::GetVersion method gets the version of


the metafile.

GetVerticalResolution The Image::GetVerticalResolution method gets the vertical


resolution, in dots per inch, of this image.

GetVisibleClipBounds The Graphics::GetVisibleClipBounds method gets a rectangle


that encloses the visible clipping region of this Graphics
object.

GetWidth The AdjustableArrowCap::GetWidth method gets the width


of the arrow cap. The width is the distance between the
endpoints of the base of the arrow.

GetWidth The Image::GetWidth method gets the width, in pixels, of this


image.

GetWidth The Pen::GetWidth method gets the width currently set for
this Pen object.

GetWidthScale The CustomLineCap::GetWidthScale method gets the value


of the scale width. This is the amount to scale the custom
line cap relative to the width of the Pen object used to draw
a line. The default value of 1.0 does not scale the line cap.

GetWmfHeader The MetafileHeader::GetWmfHeader method gets a


METAHEADER structure that contains properties of the
associated metafile.
T IT L E DESC RIP T IO N

GetWrapMode The LinearGradientBrush::GetWrapMode method gets the


wrap mode for this brush. The wrap mode determines how
an area is tiled when it is painted with a brush.

GetWrapMode The TextureBrush::GetWrapMode method gets the wrap


mode currently set for this texture brush.

GetWrapMode The PathGradientBrush::GetWrapMode method gets the


wrap mode currently set for this path gradient brush.

Graphics Creates a Graphics::Graphics object that is associated with a


specified device context and a specified device.

Graphics Creates a Graphics::Graphics object that is associated with a


specified window.

Graphics Creates a Graphics::Graphics object that is associated with an


Image object.

Graphics This topic lists the constructors of the Graphics class. For a
complete class listing, see Graphics Class.

Graphics This topic lists the constructors of the Graphics class. For a
complete class listing, see Graphics Class.

GraphicsPath Creates a GraphicsPath::GraphicsPath object and initializes


the fill mode. This is the default constructor.

GraphicsPath Creates a GraphicsPath::GraphicsPath object based on an


array of points, an array of types, and a fill mode.

GraphicsPath Creates a GraphicsPath::GraphicsPath object based on an


array of points, an array of types, and a fill mode.

GraphicsPath This topic lists the constructors of the GraphicsPath class. For
a complete class listing, see GraphicsPath Class.

GraphicsPath This topic lists the constructors of the GraphicsPath class. For
a complete class listing, see GraphicsPath Class.

GraphicsPathIterator Creates a new GraphicsPathIterator::GraphicsPathIterator


object and associates it with a GraphicsPath object.

GraphicsPathIterator Creates a new GraphicsPathIterator::GraphicsPathIterator


object and associates it with a GraphicsPath object.

HasCurve The GraphicsPathIterator::HasCurve method determines


whether the path has any curves.

HatchBrush Creates a HatchBrush::HatchBrush object based on a hatch


style, a foreground color, and a background color.

HatchBrush Creates a HatchBrush::HatchBrush object based on a hatch


style, a foreground color, and a background color.
T IT L E DESC RIP T IO N

HatchBrush Creates a HatchBrush::HatchBrush object based on a hatch


style, a foreground color, and a background color.

HueSaturationLightness Creates a HueSaturationLightness object.

Image Creates an Image::Image object based on a file.

Image Creates an Image::Image object based on a stream.

Image This topic lists the constructors of the Image class. For a
complete class listing, see Image Class.

Image This topic lists the constructors of the Image class. For a
complete class listing, see Image Class.

Image This topic lists the constructors of the Image class. For a
complete class listing, see Image Class.

ImageAttributes Creates an ImageAttributes::ImageAttributes object. This is


the default constructor.

ImageAttributes Creates an ImageAttributes::ImageAttributes object. This is


the default constructor.

ImageAttributes Creates an ImageAttributes::ImageAttributes object. This is


the default constructor.

Inflate This topic lists the Inflate methods of the Rect class. For a
complete list of methods for the Rect class, see Rect
Methods.

Inflate The Rect::Inflate method expands the rectangle by the value


of point.X on the left and right edges, and by the value of
point.Y on the top and bottom edges.

Inflate This topic lists the Inflate methods of the RectF class. For a
complete list of methods for the RectF class, see RectF
Methods.

Inflate The RectF::Inflate method expands the rectangle by the value


of point.X on the left and right edges, and by the value of
point.Y on the top and bottom edges.

InitializePalette The Bitmap::InitializePalette method initializes a standard,


optimal, or custom color palette.

InstalledFontCollection Creates an InstalledFontCollection::InstalledFontCollection


object.

InstalledFontCollection Creates an InstalledFontCollection::InstalledFontCollection


object.
T IT L E DESC RIP T IO N

Intersect The Region::Intersect method updates this region to the


portion of itself that intersects the specified rectangle's
interior.

Intersect The Region::Intersect method updates this region to the


portion of itself that intersects the specified path's interior.

Intersect The Region::Intersect method updates this region to the


portion of itself that intersects another region.

Intersect This topic lists the Intersect methods of the Rect class. For a
complete list of methods for the Rect class, see Rect
Methods.

Intersect The Rect::Intersect method determines the intersection of


two rectangles and stores the result in a Rect object.

Intersect This topic lists the Intersect methods of the RectF class. For a
complete list of methods for the RectF class, see RectF
Methods.

Intersect The RectF::Intersect method determines the intersection of


two rectangles and stores the result in a RectF object.

IntersectClip The Graphics::IntersectClip method updates the clipping


region of this Graphics object to the portion of the specified
rectangle that intersects with the current clipping region of
this Graphics object.

IntersectClip The Graphics::IntersectClip method updates the clipping


region of this Graphics object to the portion of the specified
region that intersects with the current clipping region of this
Graphics object.

IntersectsWith The Rect::IntersectsWith method determines whether this


rectangle intersects another rectangle.

IntersectsWith The RectF::IntersectsWith method determines whether this


rectangle intersects another rectangle.

Invert If this matrix is invertible, the Matrix::Invert method replaces


the elements of this matrix with the elements of its inverse.

IsAlphaPixelFormat The IsAlphaPixelFormat method determines whether a


specified pixel format has an alpha component.

IsAvailable The Font::IsAvailable method determines whether this Font


object was created successfully.

IsAvailable The FontFamily::IsAvailable method determines whether this


FontFamily object was created successfully.

IsCanonicalPixelFormat The IsCanonicalPixelFormat method determines whether a


specified pixel format is one of the canonical
formats:_PixelFormat32bppARGB or PixelFormat64bppARGB.
T IT L E DESC RIP T IO N

IsClipEmpty The Graphics::IsClipEmpty method determines whether the


clipping region of this Graphics object is empty.

IsDisplay The MetafileHeader::IsDisplay method determines whether


the associated metafile was recorded against a video display
device context.

IsEmf The MetafileHeader::IsEmf method determines whether the


associated metafile is in the EMF format.

IsEmfOrEmfPlus The MetafileHeader::IsEmfOrEmfPlus method determines


whether the associated metafile is in either the EMF or EMF+
format.

IsEmfPlus The MetafileHeader::IsEmfPlus method determines whether


the associated metafile is in the EMF+ format.

IsEmfPlusDual The MetafileHeader::IsEmfPlusDual method determines


whether the associated metafile is in the EMF+ Dual format.

IsEmfPlusOnly The MetafileHeader::IsEmfPlusOnly method determines


whether the associated metafile is in the EMF+ Only format.

IsEmpty The Region::IsEmpty method determines whether this region


is empty.

IsEmptyArea The Rect::IsEmptyArea method determines whether this


rectangle is empty.

IsEmptyArea The RectF::IsEmptyArea method determines whether this


rectangle is empty.

IsExtendedPixelFormat The IsExtendedPixelFormat method determines whether a


specified pixel format uses 16 bits per color channel.

IsFilled The AdjustableArrowCap::IsFilled method determines


whether the arrow cap is filled.

IsIdentity The Matrix::IsIdentity method determines whether this matrix


is the identity matrix.

IsIndexedPixelFormat The IsIndexedPixelFormat method determines whether a


specified pixel format is an indexed format.

IsInfinite The Region::IsInfinite method determines whether this region


is infinite.

IsInvertible The Matrix::IsInvertible method determines whether this


matrix is invertible.
T IT L E DESC RIP T IO N

IsOutlineVisible The GraphicsPath::IsOutlineVisible method determines


whether a specified point touches the outline of this path
when the path is drawn by a specified Graphics object and a
specified pen.

IsOutlineVisible The GraphicsPath::IsOutlineVisible method determines


whether a specified point touches the outline of this path
when the path is drawn by a specified Graphicsobject and a
specified pen.

IsOutlineVisible The GraphicsPath::IsOutlineVisible method determines


whether a specified point touches the outline of this path
when the path is drawn by a specified Graphics object and a
specified pen.

IsStyleAvailable The FontFamily::IsStyleAvailable method determines whether


the specified style is available for this font family.

IsVisible The Region::IsVisible method determines whether a point is


inside this region.

IsVisible The Region::IsVisible method determines whether a point is


inside this region.

IsVisible The Region::IsVisible method determines whether a point is


inside this region.

IsVisible The Region::IsVisible method determines whether a rectangle


intersects this region.

IsVisible The Region::IsVisible method determines whether a rectangle


intersects this region.

IsVisible The Region::IsVisible method determines whether a rectangle


intersects this region.

IsVisible The Region::IsVisible method determines whether a rectangle


intersects this region.

IsVisible The Graphics::IsVisible method determines whether the


specified point is inside the visible clipping region of this
Graphics object.

IsVisible The Graphics::IsVisible method determines whether the


specified rectangle intersects the visible clipping region of
this Graphics object.

IsVisible The Graphics::IsVisible method determines whether the


specified rectangle intersects the visible clipping region of
this Graphics object.

IsVisible The Graphics::IsVisible method determines whether the


specified point is inside the visible clipping region of this
Graphics object.
T IT L E DESC RIP T IO N

IsVisible The Graphics::IsVisible method determines whether the


specified point is inside the visible clipping region of this
Graphics object.

IsVisible The Graphics::IsVisible method determines whether the


specified rectangle intersects the visible clipping region of
this Graphics object.

IsVisible The Graphics::IsVisible method determines whether the


specified rectangle intersects the visible clipping region of
this Graphics object.

IsVisible The GraphicsPath::IsVisible method determines whether a


specified point lies in the area that is filled when this path is
filled by a specified Graphics object.

IsVisible The GraphicsPath::IsVisible method determines whether a


specified point lies in the area that is filled when this path is
filled by a specified Graphics object.

IsVisible The GraphicsPath::IsVisible method determines whether a


specified point lies in the area that is filled when this path is
filled by a specified Graphicsobject.

IsVisibleClipEmpty The Graphics::IsVisibleClipEmpty method determines whether


the visible clipping region of this Graphics object is empty.
The visible clipping region is the intersection of the clipping
region of this Graphics object and the clipping region of the
window.

IsWmf The MetafileHeader::IsWmf method determines whether the


associated metafile is in the WMF format.

IsWmfPlaceable The MetafileHeader::IsWmfPlaceable method determines


whether the associated metafile is a placeable metafile.

Levels Creates a Levels object.

LinearGradientBrush Creates a LinearGradientBrush::LinearGradientBrush object


from a set of boundary points and boundary colors.

LinearGradientBrush This topic lists the constructors of the LinearGradientBrush


class. For a complete class listing, see LinearGradientBrush
Class.

LinearGradientBrush Creates a LinearGradientBrush::LinearGradientBrush object


based on a rectangle and mode of direction.

LinearGradientBrush Creates a LinearGradientBrush::LinearGradientBrush object


based on a rectangle and mode of direction.

LinearGradientBrush Creates a LinearGradientBrush::LinearGradientBrush object


from a rectangle and angle of direction.
T IT L E DESC RIP T IO N

LinearGradientBrush Creates a LinearGradientBrush::LinearGradientBrush object


from a rectangle and angle of direction.

LinearGradientBrush This topic lists the constructors of the LinearGradientBrush


class. For a complete class listing, see LinearGradientBrush
Class.

LinearGradientBrush This topic lists the constructors of the LinearGradientBrush


class. For a complete class listing, see LinearGradientBrush
Class.

LockBits The Bitmap::LockBits method locks a rectangular portion of


this bitmap and provides a temporary buffer that you can
use to read or write pixel data in a specified format.

MakeARGB The Color::MakeARGB method creates a 32-bit value that


consolidates the specified alpha, red, green, and blue
components.

MakeEmpty The Region::MakeEmpty method updates this region to an


empty region. In other words, the region occupies no space
on the display device.

MakeInfinite The Region::MakeInfinite method updates this region to an


infinite region.

Matrix Creates and initializes a Matrix::Matrix object that represents


the identity matrix.

Matrix Creates and initializes a Matrix::Matrix object based on six


numbers that define an affine transformation.

Matrix Creates a Matrix::Matrix object based on a rectangle and a


point.

Matrix Creates a Matrix::Matrix object based on a rectangle and a


point.

Matrix Creates and initializes a Matrix::Matrix object that represents


the identity matrix.

Matrix Creates and initializes a Matrix::Matrix object that represents


the identity matrix.

MeasureCharacterRanges The Graphics::MeasureCharacterRanges method gets a set of


regions each of which bounds a range of character positions
within a string.

MeasureDriverString The Graphics::MeasureDriverString method measures the


bounding box for the specified characters and their
corresponding positions.

MeasureString The Graphics::MeasureString method measures the extent of


the string in the specified font, format, and layout rectangle.
T IT L E DESC RIP T IO N

MeasureString The Graphics::MeasureString method measures the extent of


the string in the specified font, format, and layout rectangle.

MeasureString The Graphics::MeasureString method measures the extent of


the string in the specified font and layout rectangle.

MeasureString The Graphics::MeasureString method measures the extent of


the string in the specified font and layout rectangle.

Metafile Creates a Windows GDI+Metafile::Metafile object for


recording. The format will be placeable metafile.

Metafile Creates a Windows GDI+ Metafile::Metafile object for


playback based on a Windows Graphics Device Interface
(GDI) Enhanced Metafile (EMF) file.

Metafile Creates a Metafile::Metafile object for playback.

Metafile This topic lists the constructors of the Metafile class. For a
complete class listing, see Metafile Class.

Metafile Creates a Metafile::Metafile object from an IStream interface


for playback.

Metafile Creates a Metafile::Metafile object for recording.

Metafile Creates a Metafile::Metafile object for recording.

Metafile Creates a Metafile::Metafile object for recording.

Metafile Creates a Metafile::Metafile object for recording.

Metafile Creates a Metafile::Metafile object for recording.

Metafile Creates a Metafile::Metafile object for recording.

Metafile Creates a Metafile::Metafile object for recording to an


IStream interface.

Metafile Creates a Metafile::Metafile object for recording to an


IStream interface.

Metafile Creates a Metafile::Metafile object for recording to an


IStream interface.

Metafile This topic lists the constructors of the Metafile class. For a
complete class listing, see Metafile Class.

Metafile This topic lists the constructors of the Metafile class. For a
complete class listing, see Metafile Class.

Multiply The Matrix::Multiply method updates this matrix with the


product of itself and another matrix.
T IT L E DESC RIP T IO N

MultiplyTransform The LinearGradientBrush::MultiplyTransform method updates


this brush's transformation matrix with the product of itself
and another matrix.

MultiplyTransform The TextureBrush::MultiplyTransform method updates this


brush's transformation matrix with the product of itself and
another matrix.

MultiplyTransform The Graphics::MultiplyTransform method updates this


Graphics object's world transformation matrix with the
product of itself and another matrix.

MultiplyTransform ThePathGradientBrush::MultiplyTransform method updates


the brush's transformation matrix with the product of itself
and another matrix.

MultiplyTransform The Pen::MultiplyTransform method updates the world


transformation matrix of this Pen object with the product of
itself and another matrix.

NextMarker The GraphicsPathIterator::NextMarker method gets the next


marker-delimited section of this iterator's associated path.

NextPathType The GraphicsPathIterator::NextPathType method gets the


starting index and the ending index of the next group of
data points that all have the same type.

NextSubpath The GraphicsPathIterator::NextSubpath method gets the next


figure (subpath) from this iterator's associated path.

ObjectTypeIsValid The ObjectTypeIsValid function determines whether an


element of the ObjectType enumeration represents a valid
object type.

Offset This topic lists the Offset methods of the Rect class. For a
complete list of methods for the Rect class, see Rect
Methods.

Offset The Rect::Offset method moves the rectangle by dx


horizontally and by dy vertically.

Offset This topic lists the Offset methods of the RectF class. For a
complete list of methods for the RectF class, see Rect
Methods.

Offset The RectF::Offset method moves the rectangle by dx


horizontally and by dx vertically.

OffsetX The Matrix::OffsetX method gets the horizontal translation


value of this matrix, which is the element in row 3, column 1.

OffsetY The Matrix::OffsetY method gets the vertical translation


value of this matrix, which is the element in row 3, column 2.
T IT L E DESC RIP T IO N

operator- The Point::operator- method subtracts the X and Y data


members of two Point objects.

operator- The PointF::operator- method subtracts the X and Y data


members of two PointF objects.

operator- The Size::operator- method subtracts the Width and Height


data members of two Size objects.

operator delete The GdiplusBase::operator delete method deallocates


memory for one Windows GDI+ object.

operator delete[] The xref


rid="gdiplus_CLASS_GdiplusBase_operator_delete_bracket_in
_pVoid" qualify="0"/> method deallocates memory for an
array of Windows GDI+ objects.

operator new The GdiplusBase::operator new method allocates memory for


one Windows GDI+ object.

operator new[] The GdiplusBase::operator new[] method allocates memory


for an array of Windows GDI+ objects.

operator+ The Point::operator+ method adds the X and Y data


members of two Point objects.

operator+ The PointF::operator+ method adds the X and Y data


members of two PointF objects.

operator+ The Size::operator+ method adds the Width and Height data
members of two Size objects.

operator+ The SizeF::operator+ method adds the Width and Height


data members of two SizeF objects.

operator= The CharacterRange::operator= method sets this


CharacterRange object equal to the specified CharacterRange
object.

Outline The GraphicsPath::Outline method transforms and flattens


this path, and then converts this path's data points so that
they represent only the outline of the path.

PathData Creates a PathData::PathData object. The Count data


member is initialized to 0. The Points and Types data
members are initialized to NULL.

PathData Creates a PathData::PathData object. The Count data


member is initialized to 0. The Points and Types data
members are initialized to NULL.

PathGradientBrush Creates a PathGradientBrush object based on an array of


points. Initializes the wrap mode of the path gradient brush.
T IT L E DESC RIP T IO N

PathGradientBrush Creates a PathGradientBrush::PathGradientBrush object


based on an array of points. Initializes the wrap mode of the
path gradient brush.

PathGradientBrush Creates a PathGradientBrush::PathGradientBrush object


based on a GraphicsPath object.

PathGradientBrush This topic lists the constructors of the PathGradientBrush


class. For a complete class listing, see PathGradientBrushXX
Class.

PathGradientBrush This topic lists the constructors of the PathGradientBrush


class. For a complete class listing, see PathGradientBrushXX
Class.

Pen Creates a Pen object that uses a specified color and width.

Pen Creates a Pen object that uses the attributes of a brush and
a real number to set the width of this Pen object.

Pen This topic lists the constructors of the Pen class. For a
complete class listing, see Pen Class.

Pen This topic lists the constructors of the Pen class. For a
complete class listing, see Pen Class.

PlayRecord The Metafile::PlayRecord method plays a metafile record.

Point Creates a Point object and initializes the X and Y data


members to zero. This is the default constructor.

Point Creates a new Point object and copies the data members
from another Point object.

Point Creates a Point object using a Size object to initialize the X


and Y data members.

Point Creates a Point object using two integers to initialize the X


and Y data members.

PointF Creates a PointF object and initializes the X and Y data


members to zero. This is the default constructor.

PointF Creates a new PointF object and copies the data from
another PointF object.

PointF Creates a PointF object using a SizeF object to specify the X


and Y data members.

PointF Creates a PointF object using two real numbers to specify the
X and Y data members.

PrivateFontCollection Creates an empty PrivateFontCollection object.


T IT L E DESC RIP T IO N

PrivateFontCollection Creates an empty PrivateFontCollection object.

Rect Creates a Rect object whose x-coordinate, y-coordinate,


width, and height are all zero. This is the default constructor.

Rect Creates a Rect object by using four integers to initialize the X,


Y, Width, and Height data members.

Rect Creates a Rect object by using a Point object to initialize the


X and Y data members and a Size object to initialize the
Width and Height data members.

RectF Creates a RectF object and initializes the X, Y, Width, and


Height data members to zero. This is the default constructor.

RectF Creates a RectF object by using four integers to initialize the


X, Y, Width, and Height data members.

RectF Creates a RectF object and initializes the X, Y, Width, and


Height data members to zero. This is the default constructor.

RedEyeCorrection Creates a RedEyeCorrection object.

Region Creates a region that is infinite. This is the default


constructor.

Region Creates a region that is defined by a rectangle.

Region Creates a region that is defined by a rectangle.

Region Creates a region that is defined by a path (a GraphicsPath


object) and has a fill mode that is contained in the
GraphicsPath object.

Region Creates a region that is defined by data obtained from


another region.

Region Creates a region that is identical to the region that is


specified by a handle to a Windows Graphics Device Interface
(GDI) region.

Region Creates a region that is infinite. This is the default


constructor.

Region Creates a region that is infinite. This is the default


constructor.

ReleaseHDC The Graphics::ReleaseHDC method releases a device context


handle obtained by a previous call to the Graphics::GetHDC
method of this Graphics object.

RemovePropertyItem The Image::RemovePropertyItem method removes a


property item (piece of metadata) from this Image object.
T IT L E DESC RIP T IO N

Reset The GraphicsPath::Reset method empties the path and sets


the fill mode to FillModeAlternate.

Reset The ImageAttributes::Reset method clears all color- and


grayscale-adjustment settings for a specified category.

Reset The Matrix::Reset method updates this matrix with the


elements of the identity matrix.

ResetClip The Graphics::ResetClip method sets the clipping region of


this Graphics object to an infinite region.

ResetTransform The LinearGradientBrush::ResetTransform method resets the


transformation matrix of this linear gradient brush to the
identity matrix. This means that no transformation takes
place.

ResetTransform The TextureBrush::ResetTransform method resets the


transformation matrix of this texture brush to the identity
matrix. This means that no transformation takes place.

ResetTransform The Graphics::ResetTransform method sets the world


transformation matrix of this Graphics object to the identity
matrix.

ResetTransform The PathGradientBrush::ResetTransform method resets the


transformation matrix of this path gradient brush to the
identity matrix. This means that no transformation will take
place.

ResetTransform The Pen::ResetTransform method sets the world


transformation matrix of this Pen object to the identity
matrix.

Restore The Graphics::Restore method sets the state of this Graphics


object to the state stored by a previous call to the
Graphics::Save method of this Graphics object.

Reverse The GraphicsPath::Reverse method reverses the order of the


points that define this path's lines and curves.

Rewind The GraphicsPathIterator::Rewind method rewinds this


iterator to the beginning of its associated path.

Rotate The Matrix::Rotate method updates this matrix with the


product of itself and a rotation matrix.

RotateAt The Matrix::RotateAt method updates this matrix with the


product of itself and a matrix that represents rotation about
a specified point.

RotateFlip The Image::RotateFlip method rotates and flips this image.


T IT L E DESC RIP T IO N

RotateTransform The LinearGradientBrush::RotateTransform method updates


this brush's current transformation matrix with the product
of itself and a rotation matrix.

RotateTransform The TextureBrush::RotateTransform method updates this


texture brush's current transformation matrix with the
product of itself and a rotation matrix.

RotateTransform The Graphics::RotateTransform method updates the world


transformation matrix of this Graphics object with the
product of itself and a rotation matrix.

RotateTransform The PathGradientBrush::RotateTransform method updates


this brush's current transformation matrix with the product
of itself and a rotation matrix.

RotateTransform The Pen::RotateTransform method updates the world


transformation matrix of this Pen object with the product of
itself and a rotation matrix.

Save The Image::Save method saves this image to a stream.

Save The Graphics::Save method saves the current state


(transformations, clipping region, and quality settings) of this
Graphics object. You can restore the state later by calling the
Graphics::Restore method.

SaveAdd The Image::SaveAdd method adds a frame to a file or stream


specified in a previous call to the Save method.

Scale The Matrix::Scale method updates this matrix with the


product of itself and a scaling matrix.

ScaleTransform The LinearGradientBrush::ScaleTransform method updates


this brush's current transformation matrix with the product
of itself and a scaling matrix.

ScaleTransform The TextureBrush::ScaleTransform method updates this


texture brush's current transformation matrix with the
product of itself and a scaling matrix.

ScaleTransform The Graphics::ScaleTransform method updates this Graphics


object's world transformation matrix with the product of itself
and a scaling matrix.

ScaleTransform The PathGradientBrush::ScaleTransform method updates this


brush's current transformation matrix with the product of
itself and a scaling matrix.

ScaleTransform The Pen::ScaleTransform method sets the Pen object's world


transformation matrix equal to the product of itself and a
scaling matrix.

SelectActiveFrame The Image::SelectActiveFrame method selects the frame in


this Image object specified by a dimension and an index.
T IT L E DESC RIP T IO N

SetAbort The Image::SetAbort method sets the object whose Abort


method is called periodically during time-consuming
rendering operation.

SetAbort Not used in Windows GDI+ versions 1.0 and 1.1.

SetAlignment The Pen::SetAlignment method sets the alignment for this


Pen object relative to the line.

SetAlignment The StringFormat::SetAlignment method sets the character


alignment of this StringFormat object in relation to the origin
of the layout rectangle. A layout rectangle is used to position
the displayed string.

SetBaseCap The CustomLineCap::SetBaseCap method sets the LineCap


that appears as part of this CustomLineCap at the end of a
line.

SetBaseInset The CustomLineCap::SetBaseInset method sets the base


inset value of this custom line cap. This is the distance
between the end of a line and the base cap.

SetBlend The LinearGradientBrush::SetBlend method sets the blend


factors and the blend positions of this linear gradient brush
to create a custom blend.

SetBlend The PathGradientBrush::SetBlend method sets the blend


factors and the blend positions of this path gradient brush.

SetBlendBellShape The LinearGradientBrush::SetBlendBellShape method sets the


blend shape of this linear gradient brush to create a custom
blend based on a bell-shaped curve.

SetBlendBellShape The PathGradientBrush::SetBlendBellShape method sets the


blend shape of this path gradient brush.

SetBlendTriangularShape The LinearGradientBrush::SetBlendTriangularShape method


sets the blend shape of this linear gradient brush to create a
custom blend based on a triangular shape.

SetBlendTriangularShape The PathGradientBrush::SetBlendTriangularShape method


sets the blend shape of this path gradient brush.

SetBrush The Pen::SetBrush method sets the Brush object that a pen
uses to fill a line.

SetBrushRemapTable The ImageAttributes::SetBrushRemapTable method sets the


color remap table for the brush category.

SetCenterColor The PathGradientBrush::SetCenterColor method sets the


center color of this path gradient brush. The center color is
the color that appears at the brush's center point.
T IT L E DESC RIP T IO N

SetCenterPoint The PathGradientBrush::SetCenterPoint method sets the


center point of this path gradient brush. By default, the
center point is at the centroid of the brush's boundary path,
but you can set the center point to any location inside or
outside the path.

SetClip The Graphics::SetClip method updates the clipping region of


this Graphics object to a region that is the combination of
itself and a rectangle.

SetClip The Graphics::SetClip method updates the clipping region of


this Graphics object to a region that is the combination of
itself and a rectangle.

SetClip The Graphics::SetClip method updates the clipping region of


this Graphics object to a region that is the combination of
itself and the region specified by a graphics path.

SetClip The Graphics::SetClip method updates the clipping region of


this Graphics object to a region that is the combination of
itself and the region specified by a Region object.

SetClip The Graphics::SetClip method updates the clipping region of


this Graphics object to a region that is the combination of
itself and a Windows Graphics Device Interface (GDI) region.

SetColor The SolidBrush::SetColor method sets the color of this solid


brush.

SetColor The Pen::SetColor method sets the color for this Pen object.

SetColorKey The ImageAttributes::SetColorKey method sets the color key


(transparency range) for a specified category.

SetColorMatrices The ImageAttributes::SetColorMatrices method sets the


color-adjustment matrix and the grayscale-adjustment matrix
for a specified category.

SetColorMatrix The ImageAttributes::SetColorMatrix method sets the color-


adjustment matrix for a specified category.

SetCompositingMode The Graphics::SetCompositingMode method sets the


compositing mode of this Graphics object.

SetCompositingQuality The Graphics::SetCompositingQuality method sets the


compositing quality of this Graphics object.

SetCompoundArray The Pen::SetCompoundArray method sets the compound


array for this Pen object.

SetCustomEndCap The Pen::SetCustomEndCap method sets the custom end cap


for this Pen object.

SetCustomStartCap The Pen::SetCustomStartCap method sets the custom start


cap for this Pen object.
T IT L E DESC RIP T IO N

SetDashCap The Pen::SetDashCap method sets the dash cap style for this
Pen object.

SetDashOffset The Pen::SetDashOffset method sets the distance from the


start of the line to the start of the first dash in a dashed line.

SetDashPattern The Pen::SetDashPattern method sets an array of custom


dashes and spaces for this Pen object.

SetDashStyle The Pen::SetDashStyle method sets the dash style for this Pen
object.

SetDigitSubstitution The StringFormat::SetDigitSubstitution method sets the digit


substitution method and the language that corresponds to
the digit substitutes.

SetDownLevelRasterizationLimit Sets the resolution for certain brush bitmaps that are stored
in this metafile.

SetElements The Matrix::SetElements method sets the elements of this


matrix.

SetEndCap The Pen::SetEndCap method sets the end cap for this Pen
object.

SetFillMode The GraphicsPath::SetFillMode method sets the fill mode of


this path.

SetFillState The AdjustableArrowCap::SetFillState method sets the fill


state of the arrow cap. If the arrow cap is not filled, only the
outline is drawn.

SetFocusScales The PathGradientBrush::SetFocusScales method sets the


focus scales of this path gradient brush.

SetFormatFlags The StringFormat::SetFormatFlags method sets the format


flags for this StringFormat object. The format flags determine
most of the characteristics of a StringFormat object.

SetFromCOLORREF The Color::SetFromCOLORREF method uses a Windows


Graphics Device Interface (GDI)COLORREF value to set the
ARGB value of this Color object.

SetGamma The ImageAttributes::SetGamma method sets the gamma


value for a specified category.

SetGammaCorrection The LinearGradientBrush::SetGammaCorrection method


specifies whether gamma correction is enabled for this linear
gradient brush.
T IT L E DESC RIP T IO N

SetGammaCorrection The PathGradientBrush::SetGammaCorrection method


specifies whether gamma correction is enabled for this path
gradient brush.

SetGraphicsPath The PathGradientBrush::SetGraphicsPath method is not


implemented in Windows GDI+ version 1.0.

SetHeight The AdjustableArrowCap::SetHeight method sets the height


of the arrow cap. This is the distance from the base of the
arrow to its vertex.

SetHotkeyPrefix The StringFormat::SetHotkeyPrefix method sets the type of


processing that is performed on a string when the hot key
prefix, an ampersand (&), is encountered.

SetInterpolationColors The LinearGradientBrush::SetInterpolationColors method sets


the colors to be interpolated for this linear gradient brush
and their corresponding blend positions.

SetInterpolationColors The PathGradientBrush::SetInterpolationColors method sets


the preset colors and the blend positions of this path
gradient brush.

SetInterpolationMode The Graphics::SetInterpolationMode method sets the


interpolation mode of this Graphics object. The interpolation
mode determines the algorithm that is used when images
are scaled or rotated.

SetLineAlignment The StringFormat::SetLineAlignment method sets the line


alignment of this StringFormat object in relation to the origin
of the layout rectangle.

SetLinearColors The LinearGradientBrush::SetLinearColors method sets the


starting color and ending color of this linear gradient brush.

SetLineCap The Pen::SetLineCap method sets the cap styles for the start,
end, and dashes in a line drawn with this pen.

SetLineJoin The Pen::SetLineJoin method sets the line join for this Pen
object.

SetMarker The GraphicsPath::SetMarker method designates the last


point in this path as a marker point.

SetMeasurableCharacterRanges The StringFormat::SetMeasurableCharacterRanges method


sets a series of character ranges for this StringFormat object
that, when in a string, can be measured by the
MeasureCharacterRanges method.

SetMiddleInset The AdjustableArrowCap::SetMiddleInset method sets the


number of units that the midpoint of the base shifts towards
the vertex.

SetMiterLimit The Pen::SetMiterLimit method sets the miter limit of this Pen
object.
T IT L E DESC RIP T IO N

SetNoOp The ImageAttributes::SetNoOp method turns off color


adjustment for a specified category. You can call
ImageAttributes::ClearNoOp to reinstate the color-
adjustment settings that were in place before the call to
ImageAttributes::SetNoOp.

SetOutputChannel The ImageAttributes::SetOutputChannel method sets the


CMYK output channel for a specified category.

SetOutputChannelColorProfile The ImageAttributes::SetOutputChannelColorProfile method


sets the output channel color-profile file for a specified
category.

SetPageScale The Graphics::SetPageScale method sets the scaling factor for


the page transformation of this Graphics object. The page
transformation converts page coordinates to device
coordinates.

SetPageUnit The Graphics::SetPageUnit method sets the unit of measure


for this Graphics object. The page unit belongs to the page
transformation, which converts page coordinates to device
coordinates.

SetPalette The Image::SetPalette method sets the color palette of this


Image object.

SetParameters The Blur::SetParameters method sets the parameters of this


Blur object.

SetParameters The BrightnessContrast::SetParameters method sets the


parameters of this BrightnessContrast object.

SetParameters The ColorBalance::SetParameters method sets the


parameters of this ColorBalance object.

SetParameters The ColorCurve::SetParameters method sets the parameters


of this ColorCurve object.

SetParameters The ColorLUT::SetParameters method sets the parameters of


this ColorLUT object.

SetParameters The ColorMatrixEffect::SetParameters method sets the 5x5


color matrix of this ColorMatrixEffect object.

SetParameters The HueSaturationLightness::SetParameters method sets the


parameters of this HueSaturationLightness object.

SetParameters The Levels::SetParameters method sets the parameters of


this Levels object.

SetParameters The RedEyeCorrection::SetParameters method sets the


parameters of this RedEyeCorrection object.

SetParameters The Sharpen::SetParameters method sets the parameters of


this Sharpen object.
T IT L E DESC RIP T IO N

SetParameters The Tint::SetParameters method sets the parameters of this


Tint object.

SetPixel The Bitmap::SetPixel method sets the color of a specified pixel


in this bitmap.

SetPixelOffsetMode The Graphics::SetPixelOffsetMode method sets the pixel


offset mode of this Graphics object.

SetPropertyItem The Image::SetPropertyItem method sets a property item


(piece of metadata) for this Image object. If the item already
exists, then its contents are updated; otherwise, a new item
is added.

SetRemapTable The ImageAttributes::SetRemapTable method sets the color-


remap table for a specified category.

SetRenderingOrigin The Graphics::SetRenderingOrigin method sets the rendering


origin of this Graphics object. The rendering origin is used to
set the dither origin for 8-bits-per-pixel and 16-bits-per-pixel
dithering and is also used to set the origin for hatch brushes.

SetResolution The Bitmap::SetResolution method sets the resolution of this


Bitmap object.

SetSmoothingMode The Graphics::SetSmoothingMode method sets the rendering


quality of the Graphics object.

SetStartCap The Pen::SetStartCap method sets the start cap for this Pen
object.

SetStrokeCap The CustomLineCap::SetStrokeCap method sets the LineCap


object used to start and end lines within the GraphicsPath
object that defines this CustomLineCap object.

SetStrokeCaps The CustomLineCap::SetStrokeCaps method sets the LineCap


objects used to start and end lines within the GraphicsPath
object that defines this CustomLineCap object.

SetStrokeJoin The CustomLineCap::SetStrokeJoin method sets the style of


line join for the stroke. The line join specifies how two lines
that intersect within the GraphicsPath object that makes up
the custom line cap are joined.

SetSurroundColors The PathGradientBrush::SetSurroundColors method sets the


surround colors of this path gradient brush. The surround
colors are colors specified for discrete points on the brush's
boundary path.

SetTabStops The StringFormat::SetTabStops method sets the offsets for


tab stops in this StringFormat object.
T IT L E DESC RIP T IO N

SetTextContrast The Graphics::SetTextContrast method sets the contrast value


of this Graphics object. The contrast value is used for
antialiasing text.

SetTextRenderingHint The Graphics::SetTextRenderingHint method sets the text


rendering mode of this Graphics object.

SetThreshold The ImageAttributes::SetThreshold method sets the


threshold (transparency range) for a specified category.

SetToIdentity The ImageAttributes::SetToIdentity method sets the color-


adjustment matrix of a specified category to identity matrix.

SetTransform The LinearGradientBrush::SetTransform method sets the


transformation matrix of this linear gradient brush.

SetTransform The TextureBrush::SetTransform method sets the


transformation matrix of this texture brush.

SetTransform The Graphics::SetTransform method sets the world


transformation of this Graphics object.

SetTransform The PathGradientBrush::SetTransform method sets the


transformation matrix of this path gradient brush.

SetTransform The Pen::SetTransform method sets the world transformation


of this Pen object.

SetTrimming The StringFormat::SetTrimming method sets the trimming


style for this StringFormat object. The trimming style
determines how to trim a string so that it fits into the layout
rectangle.

SetValue The Color::SetValue method sets the color of this Color


object.

SetWidth The AdjustableArrowCap::SetWidth method sets the width of


the arrow cap. The width is the distance between the
endpoints of the base of the arrow.

SetWidth The Pen::SetWidth method sets the width for this Pen object.

SetWidthScale The CustomLineCap::SetWidthScale method sets the value of


the scale width. This is the amount to scale the custom line
cap relative to the width of the Pen used to draw lines. The
default value of 1.0 does not scale the line cap.

SetWrapMode The LinearGradientBrush::SetWrapMode method sets the


wrap mode of this linear gradient brush.

SetWrapMode The TextureBrush::SetWrapMode method sets the wrap


mode of this texture brush.
T IT L E DESC RIP T IO N

SetWrapMode The PathGradientBrush::SetWrapMode method sets the wrap


mode of this path gradient brush.

SetWrapMode The ImageAttributes::SetWrapMode method sets the wrap


mode of this ImageAttributes object.

Sharpen Creates a Sharpen object.

Shear The Matrix::Shear method updates this matrix with the


product of itself and a shearing matrix.

Size Creates a new Size object and initializes the members to zero.
This is the default constructor.

Size Creates a Size object and initializes its members by copying


the members of another Size object.

Size Creates a Size object and initializes its Width and Height data
members.

SizeF Creates a SizeF object and initializes the members to zero.


This is the default constructor.

SizeF Creates a SizeF object and initializes its members by copying


the members of another SizeF object.

SizeF Creates a SizeF object and initializes its Width and Height
data members.

SolidBrush Creates a SolidBrush object based on a color.

SolidBrush Creates a SolidBrush object based on a color.

SolidBrush Creates a SolidBrush object based on a color.

StartFigure The GraphicsPath::StartFigure method starts a new figure


without closing the current figure. Subsequent points added
to this path are added to the new figure.

StringFormat Creates a StringFormat object based on string format flags


and a language.

StringFormat This topic lists the constructors of the StringFormat class. For
a complete class listing, see StringFormat Class.

StringFormat Creates a StringFormat object from another StringFormat


object.

StringFormat This topic lists the constructors of the StringFormat class. For
a complete class listing, see StringFormat Class.
T IT L E DESC RIP T IO N

TextureBrush Creates a TextureBrush object based on an image and a wrap


mode. The size of the brush defaults to the size of the image,
so the entire image is used by the brush.

TextureBrush Creates a TextureBrush object based on an image, a wrap


mode, and a defining rectangle.

TextureBrush Creates a TextureBrush object based on an image, a defining


rectangle, and a set of image properties.

TextureBrush Creates a TextureBrush object based on an image, a defining


rectangle, and a set of image properties.

TextureBrush Creates a TextureBrush object based on an image, a wrap


mode, and a defining rectangle.

TextureBrush Creates a TextureBrush object based on an image, a wrap


mode, and a defining set of coordinates.

TextureBrush Creates a TextureBrush object based on an image, a wrap


mode, and a defining set of coordinates.

TextureBrush This topic lists the constructors of the TextureBrush class. For
a complete class listing, see TextureBrush Class.

TextureBrush This topic lists the constructors of the TextureBrush class. For
a complete class listing, see TextureBrush Class.

Tint Creates a Tint object.

ToCOLORREF The Color::ToCOLORREF method converts this Color object's


ARGB value to a Windows Graphics Device Interface
(GDI)COLORREF value.

Transform The Region::Transform method transforms this region by


multiplying each of its data points by a specified matrix.

Transform The GraphicsPath::Transform method multiplies each of this


path's data points by a specified matrix.

TransformPoints The Graphics::TransformPoints method converts an array of


points from one coordinate space to another. The conversion
is based on the current world and page transformations of
this Graphics object.

TransformPoints The Graphics::TransformPoints method converts an array of


points from one coordinate space to another. The conversion
is based on the current world and page transformations of
this Graphics object.

TransformPoints This topic lists the TransformPoints methods of the Matrix


class. For a complete list of methods for the Matrix class, see
Matrix Methods.
T IT L E DESC RIP T IO N

TransformPoints The Matrix::TransformPoints method multiplies each point in


an array by this matrix. Each point is treated as a row matrix.
The multiplication is performed with the row matrix on the
left and this matrix on the right.

TransformVectors This topic lists the TransformVectors methods of the Matrix


class. For a complete list of methods for the Matrix class, see
Matrix Methods.

TransformVectors The Matrix::TransformVectors method multiplies each vector


in an array by this matrix.

Translate The Region::Translate method offsets this region by specified


amounts in the horizontal and vertical directions.

Translate The Matrix::Translate method updates this matrix with the


product of itself and a translation matrix.

TranslateClip The Graphics::TranslateClip method translates the clipping


region of this Graphics object.

TranslateTransform The LinearGradientBrush::TranslateTransform method


updates this brush's current transformation matrix with the
product of itself and a translation matrix.

TranslateTransform The TextureBrush::TranslateTransform method updates this


brush's current transformation matrix with the product of
itself and a translation matrix.

TranslateTransform The Graphics::TranslateTransform method updates this


Graphics object's world transformation matrix with the
product of itself and a translation matrix.

TranslateTransform The PathGradientBrush::TranslateTransform method updates


this brush's current transformation matrix with the product
of itself and a translation matrix.

Union The Region::Union method updates this region to all portions


(intersecting and nonintersecting) of itself and all portions of
the specified rectangle's interior.

Union The Region::Union method updates this region to all portions


(intersecting and nonintersecting) of itself and all portions of
the specified path's interior.

Union The Region::Union method updates this region to all portions


(intersecting and nonintersecting) of itself and all portions of
another region.

Union The Rect::Union method determines the union of two


rectangles and stores the result in a Rect object.

Union The RectF::Union method determines the union of two


rectangles and stores the result in a RectF object.
T IT L E DESC RIP T IO N

UnlockBits The Bitmap::UnlockBits method unlocks a portion of this


bitmap that was previously locked by a call to
Bitmap::LockBits.

UseAuxData The Effect::UseAuxData method sets or clears a flag that


specifies whether the Bitmap::ApplyEffect method should
return a pointer to the auxiliary data that it creates.

Warp The GraphicsPath::Warp method applies a warp


transformation to this path. The GraphicsPath::Warp method
also flattens (converts to a sequence of straight lines) the
path.

Widen The GraphicsPath::Widen method replaces this path with


curves that enclose the area that is filled when this path is
drawn by a specified pen. The GraphicsPath::Widen method
also flattens the path.

Xor The Region::Xor method updates this region to the


nonintersecting portions of itself and the specified rectangle's
interior.

Xor The Region::Xor method updates this region to the


nonintersecting portions of itself and the specified path's
interior.

Xor The Region::Xor method updates this region to the


nonintersecting portions of itself and another region.

Structures
T IT L E DESC RIP T IO N

BlurParams A BlurParams structure contains members that specify the


nature of a Gaussian blur.

BrightnessContrastParams A BrightnessContrastParams structure contains members


that specify the nature of a brightness or contrast
adjustment.

ColorBalanceParams A ColorBalanceParams structure contains members that


specify the nature of a color balance adjustment.

ColorCurveParams A ColorCurveParams structure contains members that


specify an adjustment to the colors of a bitmap.

ColorLUTParams A ColorLUTParams structure contains members (color lookup


tables) that specify color adjustments to a bitmap.

ColorMap The ColorMap structure contains two Color objects. Several


methods of the ImageAttributes class adjust image colors by
using a color remap table, which is an array of ColorMap
structures.
T IT L E DESC RIP T IO N

ColorMatrix The ColorMatrix structure contains a 5×5 matrix of real


numbers. Several methods of the ImageAttributes class
adjust image colors by using a color matrix.

ColorPalette The ColorPalette structure defines an array of colors that


make up a color palette. The colors are 32-bit ARGB colors.

ENHMETAHEADER3 The ENHMETAHEADER3 structure contains enhanced-


metafile data including the dimensions of the metafile image,
the number of records in the metafile, and the resolution of
the device on which the metafile was created.

GdiplusAbort The GdiplusAbort structure provides a mechanism that


allows Windows GDI+ to call an application-defined Abort
method periodically during time-consuming rendering
operations.

GdiplusStartupInput The GdiplusStar tupInput structure holds a block of


arguments that are required by the GdiplusStartup function.

GdiplusStartupOutput The GdiplusStartup function uses the GdiplusStartupOutput


structure to return (in its output parameter) a pointer to a
hook function and a pointer to an unhook function.

HueSaturationLightnessParams The HueSaturationLightnessParams structure contains


members that specify hue, saturation and lightness
adjustments to a bitmap.

LevelsParams The LevelsParams structure contains members that specify


adjustments to the light, midtone, or dark areas of a bitmap.

PWMFRect16 The PWMFRect16 structure defines a rectangle that bounds


a placeable metafile. The rectangle defines the size and
position of the metafile.

RedEyeCorrectionParams A RedEyeCorrectionParams structure contains members that


specify the areas of a bitmap to which a red-eye correction is
applied.

SharpenParams The SharpenParams structure contains members that specify


the nature of a sharpening adjustment to a bitmap.

TintParams A TintParams structure contains members that specify the


nature of a tint adjustment to a bitmap.

WmfPlaceableFileHeader The WmfPlaceableFileHeader structure defines the fields of a


placeable metafile header. Placeable metafiles were created as
a way of specifying how a metafile is mapped and scaled on a
display device.
Group Policy API
2/7/2020 • 7 minutes to read • Edit Online

Overview of the Group Policy API technology.


To develop Group Policy API, you need these headers:
gpedit.h
For programming guidance for this technology, see:
Group Policy API

Enumerations
T IT L E DESC RIP T IO N

INSTALLSPECTYPE The INSTALLSPECTYPE enumeration values define the ways a


group policy application can be specified to the
InstallApplication function. The values are used in the Type
member of INSTALLDATA.

Functions
T IT L E DESC RIP T IO N

BrowseForGPO The BrowseForGPO function creates a GPO browser dialog


box that allows the user to open or create a GPO.

CreateGPOLink The CreateGPOLink function creates a link between the


specified GPO and the specified site, domain, or organizational
unit.

Delete The Delete method deletes the GPO.

DeleteAllGPOLinks The DeleteAllGPOLinks function deletes all GPO links for the
specified site, domain, or organizational unit.

DeleteGPOLink The DeleteGPOLink function deletes the link between the


specified GPO and the specified site, domain, or organizational
unit.

EnterCriticalPolicySection The EnterCriticalPolicySection function pauses the application


of policy to allow applications to safely read policy settings.

ExportRSoPData The ExportRSoPData function exports a WMI namespace that


contains RSoP information to a data file. The function writes
the information to a data file that can be imported to a WMI
namespace with a call to the ImportRSoPData function.

FreeGPOListA The FreeGPOList function frees the specified list of GPOs.


T IT L E DESC RIP T IO N

FreeGPOListW The FreeGPOList function frees the specified list of GPOs.

GetAppliedGPOListA The GetAppliedGPOList function retrieves the list of GPOs


applied for the specified user or computer.

GetAppliedGPOListW The GetAppliedGPOList function retrieves the list of GPOs


applied for the specified user or computer.

GetDisplayName The GetDisplayName method retrieves the display name for


the GPO.

GetDisplayName The GetDisplayName method retrieves the display name for


the GPO.

GetDSPath The GetDSPath method retrieves the Active Directory path for
the specified section of the GPO.

GetDSPath The GetDSPath method retrieves the Active Directory path to


the root of the specified GPO section.

GetEventLogEntryText The GetEventLogEntryText method returns the text for a


specific entry in the event log.

GetFileSysPath The GetFileSysPath method returns the file system path for
the specified section of the GPO. The path is in UNC format.

GetFileSysPath The GetFileSysPath method retrieves the file system path to


the root of the specified GPO section. The path is in UNC
format.

GetFlags The GetFlags method retrieves information about the RSoP


user interface session.

GetGPOListA The GetGPOList function retrieves the list of GPOs for the
specified user or computer.

GetGPOListW The GetGPOList function retrieves the list of GPOs for the
specified user or computer.

GetHint The GetHint method retrieves the type of Active Directory


object to which this GPO can be linked.

GetLocalManagedApplications The GetLocalManagedApplications function can be run on the


target computer to get a list of managed applications on that
computer.

GetMachineName The GetMachineName method retrieves the computer name


of the remote GPO. This is the name specified by the
OpenRemoteMachineGPO method.

GetManagedApplicationCategories The GetManagedApplicationCategories function gets a list of


application categories for a domain. The list is the same for all
users in the domain.
T IT L E DESC RIP T IO N

GetManagedApplications The GetManagedApplications function gets a list of


applications that are displayed in the Add pane of
Add/Remove Programs (ARP) for a specified user context.

GetName The GetName method retrieves the unique name for the GPO.
This value is usually a GUID.

GetName The GetName method retrieves the unique GPO name.

GetNamespace The GetNameSpace method retrieves the namespace from


which the RSoP data is being displayed.

GetOptions The GetOptions method retrieves the options the user has
selected for the Group Policy Object Editor.

GetOptions The GetOptions method retrieves the options for the GPO.

GetPath The GetPath method retrieves the path to the GPO.

GetPropertySheetPages The GetPropertySheetPages method retrieves the property


sheet pages associated with the GPO.

GetRegistryKey The GetRegistryKey method retrieves a handle to the root of


the registry key for the specified section of the GPO.

GetRegistryKey The GetRegistryKey method retrieves a handle to the root of


the registry key for the specified GPO section.

GetType The GetType method retrieves type information for the GPO
being edited.

GetType The GetType method retrieves type information for the GPO
being edited.

ImportRSoPData The ImportRSoPData function imports a data file containing


RSoP data to a WMI namespace. The file must be one
generated by a call to the ExportRSoPData function.

InstallApplication The InstallApplication function can install applications that


have been deployed to target users that belong to a domain.

LeaveCriticalPolicySection The LeaveCriticalPolicySection function resumes the


background application of policy. This function closes the
handle to the policy section.

New The New method creates a new GPO in the Active Directory
with the specified display name. The method opens the GPO
using the OpenDSGPO method.

OpenDSGPO The OpenDSGPO method opens the specified GPO and


optionally loads the registry information.
T IT L E DESC RIP T IO N

OpenLocalMachineGPO The OpenLocalMachineGPO method opens the default GPO


for the computer and optionally loads the registry
information.

OpenRemoteMachineGPO The OpenRemoteMachineGPO method opens the default GPO


for the specified remote computer and optionally loads the
registry information.

PFNGENERATEGROUPPOLICY The GenerateGroupPolicy callback function is an application-


defined callback function that each policy extension must
export when generating RSoP data in the planning mode.

PFNPROCESSGROUPPOLICY The ProcessGroupPolicy function is an application-defined


callback function used when applying policy.

PFNPROCESSGROUPPOLICYEX The ProcessGroupPolicyEx function is an application-defined


callback function used when applying policy.

PFNSTATUSMESSAGECALLBACK The StatusMessageCallback function is an application-defined


callback function used to display status messages when
applying policy.

PolicyChanged The PolicyChanged method informs the Group Policy Object


Editor that policy settings have changed.

ProcessGroupPolicyCompleted The ProcessGroupPolicyCompleted function notifies the


system that the specified extension has finished applying
policy.

ProcessGroupPolicyCompletedEx The ProcessGroupPolicyCompletedEx function notifies the


system that the specified policy extension has finished
applying policy. The function also reports the status of
Resultant Set of Policy (RSoP) logging.

RefreshPolicy The RefreshPolicy function causes policy to be applied


immediately on the client computer.

RefreshPolicyEx The RefreshPolicyEx function causes policy to be applied


immediately on the computer. The extended function allows
you to specify the type of policy refresh to apply.

RegisterGPNotification The RegisterGPNotification function enables an application to


receive notification when there is a change in policy. When a
policy change occurs, the specified event object is set to the
signaled state.

RsopAccessCheckByType The RSoPAccessCheckByType function determines whether a


security descriptor grants a specified set of access rights to the
client identified by an RSOPTOKEN.

RsopFileAccessCheck The RSoPFileAccessCheck function determines whether a file's


security descriptor grants a specified set of file access rights to
the client identified by an RSOPTOKEN.
T IT L E DESC RIP T IO N

RsopResetPolicySettingStatus The RSoPResetPolicySettingStatus function unlinks the


RSOP_PolicySettingStatus instance from its RSOP_PolicySetting
instance.

RsopSetPolicySettingStatus The RSoPSetPolicySettingStatus function creates an instance of


RSOP_PolicySettingStatus and an instance of
RSOP_PolicySettingLink. The function links (associates)
RSOP_PolicySettingStatus to its RSOP_PolicySetting instance.

Save The Save method saves the specified registry policy settings to
disk and updates the revision number of the GPO.

SetDisplayName The SetDisplayName method sets the display name for the
GPO.

SetOptions The SetOptions method sets the options for the GPO.

UninstallApplication The UninstallApplication function uninstalls a group policy


application that handles setup and installation using Windows
Installer .msi files.

UnregisterGPNotification The UnregisterGPNotification function unregisters the


specified policy-notification handle from receiving policy
change notifications.

Interfaces
T IT L E DESC RIP T IO N

IGPEInformation The IGPEInformation interface provides methods for Microsoft


Management Console (MMC) extension snap-ins to
communicate with the Group Policy Object Editor. For more
information about MMC, see the Microsoft Management
Console.

IGroupPolicyObject The IGroupPolicyObject interface provides methods to create


and modify a GPO directly, without using the Group Policy
Object Editor.

IRSOPInformation The IRSOPInformation interface provides methods for


Microsoft Management Console (MMC) extension snap-ins to
communicate with the main Resultant Set of Policy (RSoP)
snap-in. For more information about MMC, see the Microsoft
Management Console.

Structures
T IT L E DESC RIP T IO N

GPOBROWSEINFO The GPOBROWSEINFO structure contains information that the


BrowseForGPO function uses to initialize a GPO browser
dialog box. After the user closes the dialog box, the system
returns information about the user's actions in this structure.
T IT L E DESC RIP T IO N

GROUP_POLICY_OBJECTA The GROUP_POLICY_OBJECT structure provides information


about a GPO in a GPO list.

GROUP_POLICY_OBJECTW The GROUP_POLICY_OBJECT structure provides information


about a GPO in a GPO list.

INSTALLDATA The INSTALLDATA structure specifies a group-policy


application to be installed by InstallApplication.

INSTALLSPEC The INSTALLSPEC structure specifies a group policy application


by its user-friendly name and group policy GUID or by its file
name extension. The Spec member of the INSTALLDATA
structure provides this information to the InstallApplication
function.

LOCALMANAGEDAPPLICATION The LOCALMANAGEDAPPLICATION structure describes a


managed application installed for a user or a computer.
Returned by the GetLocalManagedApplications function.

MANAGEDAPPLICATION The MANAGEDAPPLICATION structure contains information


about an application. The function GetManagedApplications
returns an array of MANAGEDAPPLICATION structures.

POLICYSETTINGSTATUSINFO The POLICYSETTINGSTATUSINFO structure provides


information about a policy-setting event.

RSOP_TARGET The RSOP_TARGET structure contains computer and user


information required by the GenerateGroupPolicy function.
Group Policy Management Console
2/7/2020 • 15 minutes to read • Edit Online

Overview of the Group Policy Management Console technology.


To develop Group Policy Management Console, you need these headers:
gpmgmt.h
For programming guidance for this technology, see:
Group Policy Management Console

Enumerations
T IT L E DESC RIP T IO N

GPMBackupType The type of backup created.

GPMPermissionType The categories, permissions included in the categories, and the


object to which they can be applied.

GPMReportingOptions Options for Group Policy Management Console reports.

GPMSearchProperty The property of the search criteria.

GPMStarterGPOType The Starter Group Policy object is a system Starter Group


Policy object or a custom Starter Group Policy object.

Functions
T IT L E DESC RIP T IO N

Add Adds entries from the IGPMGPO and IGPMBackup interfaces.


The method updates any entries that are already present in
the migration table.

Add Adds a criterion for search operations.

Add Adds the permission specified in a GPMPermission object to


the GPMSecurityInfo collection. You can add a permission that
is above the level of existing permissions. For more
information about restrictions that apply, see the following
Remarks section.

AddEntry Creates an entry in the migration table. The method updates


an existing entry.

Backup Backs up a Group Policy object (GPO) to the specified


directory.
T IT L E DESC RIP T IO N

Backup Creates a backup of the current Starter GPO.

Cancel The client calls this method to cancel an asynchronous Group


Policy Management Console (GPMC) operation. GPMC
operations such as backup, restore, import, copy, and report
generation can execute asynchronously.

CopyTo Copies the current Group Policy object (GPO) to the specified
domain and then returns a pointer to the copy of the GPO.

CopyTo The CopyTo method copies the current Starter GPO and
returns a pointer to the copy of the Starter GPO.

CreateGPO Creates and retrieves a GPMGPO object with a default display


name. Typically, the caller sets the display name immediately
after calling this method.

CreateGPOFromStarterGPO Creates and retrieves a GPMGPO object from a


GPMStarterGPO object.

CreateGPOLink Links the specified GPO to the specified position in the list of
GPOs that are linked to a particular SOM.

CreateMigrationTable Creates an empty migration table.

CreatePermission Creates and returns an interface or object that represents the


trustee (such as a user, computer or security group) and
permission that applies to a single object; for example, to a
GPO, SOM or a WMI filter.

CreateQueryResults Executes a Resultant Set of Policy (RSoP) query.

CreateSearchCriteria Creates and returns a GPMSearchCriteria that represents the


criteria to use for performing search operations when you use
the Group Policy Management Console (GPMC) interfaces.

CreateStarterGPO Creates and retrieves a GPMStarterGPO object.

CreateTrustee Creates and returns a GPMTrustee from which you can


retrieve information about a trustee.

Delete Removes the Group Policy object (GPO) backup from the
backup directory and from the file system.

Delete Deletes a Group Policy object (GPO) from the directory service
and from the system volume folder (SYSVOL).

Delete Removes the GPO link from the scope of management (SOM).
The method does not delete the GPO.

Delete Deletes the GPO from the current domain's system volume
folder(SysVol).
T IT L E DESC RIP T IO N

Delete Removes the Starter GPO backup from the backup directory,
and from the file system.

DeleteEntry Deletes an entry from the migration table.

ErrorCode Returns the error that occurred during the GPMC operation.

GenerateReport Gets the report for the backup Group Policy object (GPO).

GenerateReport Gets the report for a GPO.

GenerateReport The GenerateReport method generates a report on the RSoP


data.

GenerateReport Gets the report for the Starter GPO.

GenerateReport The GenerateReport method gets the report for the backup
GPO.

GenerateReportToFile The GenerateReportToFile method gets the report for the


backup Group Policy object (GPO) and then saves the report
to a file in a specified path.

GenerateReportToFile Gets the report for a GPO and then saves the report to a file
in a specified path.

GenerateReportToFile The GenerateReportToFile method generates a report on the


RSoP data and saves it to a file at a specified path.

GenerateReportToFile The GenerateReportToFile method gets the report for the GPO
and saves it to a file at a specified path.

GenerateReportToFile The GenerateReportToFile gets the report for the backup


Starter GPO and saves it to a file at a specified path.

get__NewEnum Retrieves an enumerator for the collection.

get__NewEnum Retrieves an enumerator for the collection.

get__NewEnum Retrieves an enumerator for the collection.

get__NewEnum The get_NewEnum method retrieves an enumerator for the


collection.

get__NewEnum Retrieves an enumerator for the collection.

get__NewEnum Retrieves an enumerator for the collection.

get__NewEnum Retrieves an enumerator for the collection.

get__NewEnum Retrieves an enumerator for the collection.


T IT L E DESC RIP T IO N

get__NewEnum Retrieves an enumerator for the collection.

get__NewEnum Retrieves an enumerator for the collection.

get__NewEnum Retrieves an enumerator for the collection.

get_Count Returns the number of GPMBackup objects in the collection.

get_Count Returns the number of client side extensions (CSEs) in the


collection.

get_Count Returns the number of GPOs in the collection.

get_Count Returns the number of GPO links in the collection.

get_Count Returns the number of map entries in the collection.

get_Count Returns the number of GPMPermission objects in the


collection.

get_Count Returns the number of SOMs in the collection.

get_Count Returns the number of GPMStarterGPOBackup objects in the


collection.

get_Count Returns the number of GPOs in the collection.

get_Count Returns the number of messages in the collection.

get_Count Returns the number of WMI filters in the collection.

get_Item Given an index, returns a GPMBackup object from the


collection.

get_Item Given an index, returns a client-side extension from the


collection.

get_Item Given an index, returns a pointer to an GPMGPO object from


the collection.

get_Item Given an index, returns a GPO link from the collection.

get_Item Given an index, returns a map entry from the collection.

get_Item Given an index, returns a GPMPermission object from the


collection.

get_Item Given an index, returns a SOM from the collection.

get_Item Given an index, returns an GPMStarterGPOBackup object from


the collection.
T IT L E DESC RIP T IO N

get_Item Given an index, returns a pointer to an IGPMGPO interface


from the collection.

get_Item Given an index, returns a message from the collection.

get_Item Given an index, returns a WMI filter from the collection.

get_SecurityFlags Retrieves the value of the SecurityFlags property, which


represents the portion of the security descriptor to retrieve or
set for a GPO.

GetBackup Retrieves the GPMBackup object that has the specified backup
ID (GUID). The backup ID is the ID of the backed-up GPO, not
the ID of the GPO.

GetBackup Retrieves the GPMBackup or GPMStarterGPOBackup object


with the specified backup ID. The backup ID is a GUID. The
backup ID is the ID of the backed-up Group Policy object
(GPO), not the ID of the GPO.

GetBackupDir Creates and returns a GPMBackupDir object, which you can


use to access the GPMBackup and GPMBackupCollection
objects.

GetBackupDirEx For a Group Policy object (GPO), the GetBackupDirEx method


creates and returns a GPMBackupDirEx object, which you can
use to access a GPMBackup or GPMBackupCollection object.

GetClientSideExtensions Creates and returns a GPMCSECollection object that allows


you to enumerate Group Policy client-side extensions (CSEs)
that are registered on the local computer.

GetConstants Creates and returns a GPMConstants object that allows you


to retrieve the value of multiple Group Policy Management
Console (GPMC) constants.

GetDomain Creates and returns a GPMDomain object that corresponds to


the specified domain.

GetEntries Returns a IGPMMapEntryCollection interface.

GetEntry The GetEntry method gets the entry in the migration table for
a specified source field.

GetGPO Retrieves a GPMGPO object with a specified Group Policy


object (GPO) ID. The group policy object ID is represented by a
GUID.

GetGPOLinks Returns a GPMGPOLinksCollection object that contains the


GPO links for the scope of management (SOM). The collection
is sorted in the SOM link order and contains both enabled and
disabled links. See IGPMGPOLink for the definition of SOM
link order.
T IT L E DESC RIP T IO N

GetInheritedGPOLinks Returns a GPOLinksCollection object that contains the GPO


links that are applied to the scope of management (SOM),
including links inherited from parent containers (OUs and
domains).

GetMigrationTable Loads the migration table at a specified path.

GetQueryList Retrieves the query list stored in the WMI filter.

GetRSOP Creates and returns an GPMRSOP. You can specify the


Resultant Set of Policy (RSoP) mode and a Windows
Management Instrumentation (WMI) namespace.

GetSecurityDescriptor Retrieves a pointer to an IDispatch interface from which the


security descriptor for the Group Policy object (GPO) can be
retrieved. For script programmers, this method returns a
reference to an IADsSecurityDescriptor object.

GetSecurityInfo Retrieves the set of permissions for the GPO, such as who is
granted permission to edit it.

GetSecurityInfo Returns an object that represents the collection of


GPMPermission objects for the scope of management (SOM).

GetSecurityInfo Retrieves the set of permissions for the Starter GPO, such as
who is granted permission to edit it.

GetSecurityInfo Returns an interface or object that represents the list of


permissions for the current WMI filter.

GetSite Returns the scope of management (SOM) object that


corresponds to the site.

GetSitesContainer Creates and returns a GPMSitesContainer object from which


sites can be opened and queried.

GetSOM Retrieves the IGPMSOM interface that represents the domain


or the organizational unit (OU) at the specified path.

GetStarterGPO Retrieves a GPMStarterGPO object that has a specified Group


Policy object ID.

GetWMIFilter Retrieves a GPMWMIFilter object for the specified path.

GetWMIFilter Retrieves the GPMWMIFilter object linked to the Group Policy


object (GPO).

Import Imports the policy settings from the specified GPMBackup


object.

InitializeReporting The InitializeReporting method sets the location to search for


.adm files. This method initializes reporting in an asynchronous
manner.
T IT L E DESC RIP T IO N

InitializeReportingEx Sets the location to search for .adm files and the reporting
option to determine whether to include comments in the
report. This method initializes reporting in an asynchronous
manner.

IsACLConsistent Checks for the consistency of ACLs between the Directory


Service and the system volume folder (SysVol).

IsComputerEnabled Checks whether the client-side extension can be called during


the processing of computer policy.

IsComputerEnabled Checks whether the computer policies in the GPO are enabled.

IsUserEnabled Checks whether the client-side extension can be called during


the processing of user policy.

IsUserEnabled Checks whether the user policies in the GPO are enabled.

LoadStarterGPO Opens a Starter Group Policy object (GPO) cabinet (CAB) file
and imports it into the domain.

LoggingEnumerateUsers Enumerates all users who have logging mode data on a


specific computer.

MakeACLConsistent Makes ACLs consistent on the Directory Service and the


system volume folder (SysVol) of the GPO. IsACLConsistent
can be used to check for consistency of ACLs between the
Directory Service and system volume folder (SysVol).

OperationCode Returns a code related to the GPMC operation.

OverallStatus Returns the overall status of a GPMC operation, such as a


copy, restore, backup, or import. If no error occurred during
the operation, the method returns a success code; otherwise
the method returns a failure code.

ReleaseQueryResults Releases the WMI namespace allocated by calls to the


IGPMRSOP::CreateQueryResults method and by calls to the
IGPM::GetRSOP method.

Remove Removes the permission specified in a given GPMPermission


object from the GPMSecurityInfo collection.

RemoveTrustee Removes all policy-related permissions for the specified


trustee. A trustee is a user, computer, or security group that
can be granted permissions on a GPO, SOM, or WMI filter.

RestoreGPO Restores a Group Policy object (GPO) from a GPMBackup


object.

RestoreStarterGPO Restores the Starter Group Policy object (GPO) from a


GPMStarterGPOBackup object.
T IT L E DESC RIP T IO N

Save Saves the migration table currently in memory in a specified


location.

Save Saves all Starter GPO settings into a single CAB file.

SearchBackups Executes a search for the GPMBackup object according to the


specified criteria, and returns an GPMBackupCollection object.

SearchBackups Executes a search for a GPMBackup object or an


IGPMStarterGPOBackup interface according to the specified
criteria, and returns a GPMBackupCollection or
GPMStarterGPOBackupCollection object.

SearchGPOs Executes a search for GPMGPO objects in the domain and


then returns a GPMGPOCollection object.

SearchSites Retrieves a collection of scope of management (SOM) objects


based on the specified search criteria. This method returns
only site objects.

SearchSOMs Executes a search for GPMSOM objects (domains and


organizational units) in the domain and then returns a
GPMSOMCollection object.

SearchStarterGPOs Executes a search for GPMStarterGPO objects.

SearchWMIFilters Executes a search for GPMWMIFilter objects in the domain


and then returns a GPMWMIFilterCollection object.

SetComputerEnabled Enables or disables the computer settings in the GPO.

SetSecurityDescriptor Sets the security descriptor for the GPO. The method replaces
the existing security descriptor.

SetSecurityInfo Sets the list of permissions for the group policy object (GPO),
such as who is granted permission to edit it. The method
replaces the existing list of permissions.

SetSecurityInfo Sets the list of permissions for the scope of management


(SOM) to that of the specified object.

SetSecurityInfo Sets the list of permissions for the Group Policy object (GPO).

SetSecurityInfo Sets the list of permissions for the current WMI filter to that
specified by the object.

SetUserEnabled Enables or disables the user settings in the GPO.

SetWMIFilter Links the GPMWMIFilter object to the current Group Policy


object (GPO). This method can also be used to unlink existing
WMI filters from the GPO.
T IT L E DESC RIP T IO N

Status The server calls this method to notify the client about the
status of a Group Policy Management Console (GPMC)
operation.

UpdateDestination Updates the destination field of an entry in a migration table.


You can specify the destination option and the destination.

Validate Validates the migration table.

Interfaces
T IT L E DESC RIP T IO N

IGPM The IGPM interface provides methods that access other


interfaces of the Group Policy Management Console (GPMC)
and methods that create other objects on which various
search operations can be performed.

IGPM2 The IGPM2 interface extends the GPMBackupDir and


InitializeReporting methods of the IGPM interface of the
Group Policy Management Console (GPMC).

IGPMAsyncCancel A pointer to the IGPMAsyncCancel interface is returned to the


client by the Group Policy Management Console (GPMC)
method that the client calls asynchronously.

IGPMAsyncProgress The IGPMAsyncProgress interface can be implemented by the


client and passed as an input parameter to the Group Policy
Management Console (GPMC) methods that can execute
asynchronously.

IGPMBackup The IGPMBackup interface supports methods that allow you


to delete GPMBackup objects and to retrieve various
properties of GPMBackup objects.

IGPMBackupCollection The IGPMBackupCollection interface contains methods that


enable applications to access a collection of GPMBackup
objects when using the Group Policy Management Console
(GPMC) interfaces.

IGPMBackupDir The IGPMBackupDir interface supports methods that allow


you to query GPMBackup and GPMBackupCollection objects
when you use the Group Policy Management Console (GPMC)
interfaces.

IGPMBackupDirEx The IGPMBackupDirEx interface supports methods that allow


you to query GPMBackup, GPMBackupCollection,
GPMStarterGPOBackup, and
GPMStarterGPOBackupCollection objects when you are using
the Group Policy Management Console (GPMC) interfaces.

IGPMClientSideExtension The IGPMClientSideExtension interface supports methods that


allow you to query client-side extension properties when you
use the Group Policy Management Console (GPMC) interfaces.
T IT L E DESC RIP T IO N

IGPMConstants The IGPMConstants interface supports methods that retrieve


the value of multiple Group Policy Management Console
(GPMC) constants. To create a GPMConstants object, call the
IGPM::GetConstants method.

IGPMConstants2 The IGPMConstants2 interface supports methods that retrieve


the value of multiple Group Policy Management Console
(GPMC) constants.

IGPMCSECollection The IGPMCSECollection interface contains methods that


enable applications to query a collection of client-side
extensions (CSEs) when you use the Group Policy
Management Console (GPMC) interfaces.

IGPMDomain Represents a given domain and supports methods that allow


you to query scope of management (SOM) objects, create,
restore and query GPOs, and create and query WMI filters
when you are using the Group Policy Management Console
(GPMC) interfaces.

IGPMDomain2 Represents a given domain and supports methods that allow


you to query scope of management (SOM) objects, create,
restore and query Starter GPOs, and create and query WMI
filters when you are using the Group Policy Management
Console (GPMC) interfaces.

IGPMGPO The IGPMGPO interface supports methods that enable you to


manage Group Policy Objects (GPOs) in the directory service.

IGPMGPO2 The IGPMGPO2 interface supports methods that enable you


to manage Group Policy objects (GPOs) and Starter Group
Policy objects in the directory service.

IGPMGPOCollection The IGPMGPOCollection interface contains methods that


enable applications to access a collection of Group Policy
Objects (GPOs) when using the Group Policy Management
Console (GPMC) interfaces.

IGPMGPOLink The IGPMGPOLink interface supports methods that allow you


to remove a GPO link from the scope of management (SOM),
and to set and retrieve various properties of GPO links,
including enabling and enforcing links.

IGPMGPOLinksCollection The IGPMGPOLinksCollection interface contains methods that


enable applications to access a collection of GPO links when
using the Group Policy Management (GPMC) interfaces.

IGPMMapEntry The IGPMMapEntry interface provides access to a map entry.

IGPMMapEntryCollection The IGPMMapEntryCollection interface enables applications to


access map entry objects.

IGPMMigrationTable The IGPMMigrationTable interface provides an interface to a


migration table.
T IT L E DESC RIP T IO N

IGPMPermission The IGPMPermission interface contains methods to retrieve


permission-related properties when using the GPMC.

IGPMResult The IGPMResult interface contains methods to retrieve status


message information while performing various types of GPO
processing operations such as restore, import, copy and
backup.

IGPMRSOP The IGPMRSOP interface provides methods that support


making Resultant Set of Policy (RSoP) queries in both logging
and planning mode.

IGPMSearchCriteria The IGPMSearchCriteria interface allows you to define the


criteria to use for search operations when using the Group
Policy Management Console (GPMC) interfaces. To create a
GPMSearchCriteria object, call the IGPM::CreateSearchCriteria
method.

IGPMSecurityInfo The IGPMSecurityInfo interface defines the methods of the


GPMSecurityInfo collection. This collection represents a set of
policy-related permissions that can be set on a particular
object, such as a scope of management (SOM), a GPO, or a
WMI filter.

IGPMSitesContainer The IGPMSitesContainer interface provides the methods


required to access the scope of management (SOM) objects
that represent sites in a forest.

IGPMSOM The IGPMSOM interface contains methods that allow you to


create and retrieve GPO links for a scope of management
(SOM), and to set and retrieve security attributes and various
properties for a SOM. A SOM can be a site, domain or OU.

IGPMSOMCollection The IGPMSOMCollection interface represents a collection of


GPMSOM objects.

IGPMStarterGPO The IGPMStarterGPO interface supports methods that enable


you to manage Starter Group Policy Objects (GPOs) in the
directory service.

IGPMStarterGPOBackup The IGPMStarterGPOBackup interface supports methods that


allow you to delete GPMStarterGPOBackup objects and to
retrieve various properties of GPMStarterGPOBackup objects.

IGPMStarterGPOBackupCollection The IGPMStarterGPOBackupCollection interface contains


methods that enable applications to access a collection of
GPMStarterGPOBackup objects when using the Group Policy
Management Console (GPMC) interfaces.

IGPMStarterGPOCollection The IGPMStarterGPOCollection interface contains methods


that enable applications to access a collection of Group Policy
Objects (GPOs) when using the Group Policy Management
Console (GPMC) interfaces.
T IT L E DESC RIP T IO N

IGPMStatusMessage The IGPMStatusMessage interface contains property methods


that retrieve various properties of status messages related to
GPO operations.

IGPMStatusMsgCollection The IGPMStatusMsgCollection interface contains methods that


enable applications to access a collection of status messages
when using the Group Policy Management Console (GPMC)
interfaces.

IGPMTrustee The IGPMTrustee interface contains methods to retrieve


information about a given trustee when using the Group
Policy Management Console (GPMC).

IGPMWMIFilter The IGPMWMIFilter interface contains methods that allow you


to set and retrieve security attributes and various properties
for a WMI filter. WMI filter queries are specified using WMI
Query Language (WQL).

IGPMWMIFilterCollection The IGPMWMIFilterCollection interface contains methods that


enable applications to access a collection of WMI filters when
using the Group Policy Management Console (GPMC)
interfaces.
Hardware Counter Profiling
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Hardware Counter Profiling technology.


The Hardware Counter Profiling technology is not associated with any headers.
For programming guidance for this technology, see:
Hardware Counter Profiling

Enumerations
T IT L E DESC RIP T IO N

HARDWARE_COUNTER_TYPE Defines the types of hardware counters being profiled.

Functions
T IT L E DESC RIP T IO N

DisableThreadProfiling Disables thread profiling.

EnableThreadProfiling Enables thread profiling on the specified thread.

QueryThreadProfiling Determines whether thread profiling is enabled for the


specified thread.

ReadThreadProfilingData Reads the specified profiling data associated with the thread.

Structures
T IT L E DESC RIP T IO N

HARDWARE_COUNTER_DATA Contains the hardware counter value.

PERFORMANCE_DATA Contains the thread profiling and hardware counter data that
you requested.
High DPI
2/7/2020 • 3 minutes to read • Edit Online

Overview of the High DPI technology.


To develop High DPI, you need these headers:
shellscalingapi.h
For programming guidance for this technology, see:
High DPI

Enumerations
T IT L E DESC RIP T IO N

DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS Describes per-monitor DPI scaling behavior overrides for child


windows within dialogs. The values in this enumeration are
bitfields and can be combined.

DIALOG_DPI_CHANGE_BEHAVIORS In Per Monitor v2 contexts, dialogs will automatically respond


to DPI changes by resizing themselves and re-computing the
positions of their child windows (here referred to as re-
layouting).

DPI_AWARENESS Identifies the dots per inch (dpi) setting for a thread, process,
or window.

DPI_HOSTING_BEHAVIOR Identifies the DPI hosting behavior for a window. This behavior
allows windows created in the thread to host child windows
with a different DPI_AWARENESS_CONTEXT.

MONITOR_DPI_TYPE Identifies the dots per inch (dpi) setting for a monitor.

PROCESS_DPI_AWARENESS Identifies dots per inch (dpi) awareness values. DPI awareness
indicates how much scaling work an application performs for
DPI versus how much is done by the system.

Functions
T IT L E DESC RIP T IO N

AdjustWindowRectExForDpi Calculates the required size of the window rectangle, based on


the desired size of the client rectangle and the provided DPI.

AreDpiAwarenessContextsEqual Determines whether two DPI_AWARENESS_CONTEXT values


are identical.

EnableNonClientDpiScaling In high-DPI displays, enables automatic display scaling of the


non-client area portions of the specified top-level window.
Must be called during the initialization of that window.
T IT L E DESC RIP T IO N

GetAwarenessFromDpiAwarenessContext Retrieves the DPI_AWARENESS value from a


DPI_AWARENESS_CONTEXT.

GetDialogControlDpiChangeBehavior Retrieves and per-monitor DPI scaling behavior overrides of a


child window in a dialog.

GetDialogDpiChangeBehavior Returns the flags that might have been set on a given dialog
by an earlier call to SetDialogDpiChangeBehavior.

GetDpiForMonitor Queries the dots per inch (dpi) of a display.

GetDpiForSystem Returns the system DPI.

GetDpiForWindow Returns the dots per inch (dpi) value for the associated
window.

GetDpiFromDpiAwarenessContext Retrieves the DPI from a given DPI_AWARENESS_CONTEXT


handle. This enables you to determine the DPI of a thread
without needed to examine a window created within that
thread.

GetProcessDpiAwareness Retrieves the dots per inch (dpi) awareness of the specified
process.

GetSystemDpiForProcess Retrieves the system DPI associated with a given process. This
is useful for avoiding compatibility issues that arise from
sharing DPI-sensitive information between multiple system-
aware processes with different system DPI values.

GetSystemMetricsForDpi Retrieves the specified system metric or system configuration


setting taking into account a provided DPI.

GetThreadDpiAwarenessContext Gets the DPI_AWARENESS_CONTEXT for the current thread.

GetThreadDpiHostingBehavior Retrieves the DPI_HOSTING_BEHAVIOR from the current


thread.

GetWindowDpiAwarenessContext Returns the DPI_AWARENESS_CONTEXT associated with a


window.

GetWindowDpiHostingBehavior Returns the DPI_HOSTING_BEHAVIOR of the specified window.

IsValidDpiAwarenessContext Determines if a specified DPI_AWARENESS_CONTEXT is valid


and supported by the current system.

LogicalToPhysicalPointForPerMonitorDPI Converts a point in a window from logical coordinates into


physical coordinates, regardless of the dots per inch (dpi)
awareness of the caller.

OpenThemeDataForDpi A variant of OpenThemeData that opens a theme handle


associated with a specific DPI.
T IT L E DESC RIP T IO N

PhysicalToLogicalPointForPerMonitorDPI Converts a point in a window from logical coordinates into


physical coordinates, regardless of the dots per inch (dpi)
awareness of the caller.

SetDialogControlDpiChangeBehavior Overrides the default per-monitor DPI scaling behavior of a


child window in a dialog.

SetDialogDpiChangeBehavior Dialogs in Per-Monitor v2 contexts are automatically DPI


scaled. This method lets you customize their DPI change
behavior.

SetProcessDpiAwareness Sets the process-default DPI awareness level. This is equivalent


to calling SetProcessDpiAwarenessContext with the
corresponding DPI_AWARENESS_CONTEXT value.

SetProcessDpiAwarenessContext Sets the current process to a specified dots per inch (dpi)
awareness context. The DPI awareness contexts are from the
DPI_AWARENESS_CONTEXT value.

SetThreadDpiAwarenessContext Set the DPI awareness for the current thread to the provided
value.

SetThreadDpiHostingBehavior Sets the thread's DPI_HOSTING_BEHAVIOR. This behavior


allows windows created in the thread to host child windows
with a different DPI_AWARENESS_CONTEXT.

SystemParametersInfoForDpi Retrieves the value of one of the system-wide parameters,


taking into account the provided DPI value.
HLSL
2/7/2020 • 3 minutes to read • Edit Online

Overview of the HLSL technology.


To develop HLSL, you need these headers:
d3dcompiler.h
For programming guidance for this technology, see:
HLSL

Enumerations
T IT L E DESC RIP T IO N

D3D_BLOB_PART Values that identify parts of the content of an arbitrary length


data buffer.

D3D_BLOB_PART Values that identify parts of the content of an arbitrary length


data buffer.

D3DCOMPILER_STRIP_FLAGS Strip flag options.

D3DCOMPILER_STRIP_FLAGS Strip flag options.

Functions
T IT L E DESC RIP T IO N

D3DCompile Compile HLSL code or an effect file into bytecode for a given
target.

D3DCompile Compile HLSL code or an effect file into bytecode for a given
target.

D3DCompile2 Compiles Microsoft High Level Shader Language (HLSL) code


into bytecode for a given target.

D3DCompile2 Compiles Microsoft High Level Shader Language (HLSL) code


into bytecode for a given target.

D3DCompileFromFile Compiles Microsoft High Level Shader Language (HLSL) code


into bytecode for a given target.

D3DCompileFromFile Compiles Microsoft High Level Shader Language (HLSL) code


into bytecode for a given target.

D3DCompressShaders Compresses a set of shaders into a more compact form.


T IT L E DESC RIP T IO N

D3DCompressShaders Compresses a set of shaders into a more compact form.

D3DCreateBlob Creates a buffer.

D3DCreateBlob Creates a buffer.

D3DCreateFunctionLinkingGraph Creates a function-linking-graph interface.

D3DCreateFunctionLinkingGraph Creates a function-linking-graph interface.

D3DCreateLinker Creates a linker interface. Note This function is part of the


HLSL shader linking technology that you can use on all
Direct3D 11 platforms to create precompiled HLSL functions,
package them into libraries, and link them into full shaders at
run time. .

D3DCreateLinker Creates a linker interface. Note This function is part of the


HLSL shader linking technology that you can use on all
Direct3D 11 platforms to create precompiled HLSL functions,
package them into libraries, and link them into full shaders at
run time. .

D3DDecompressShaders Decompresses one or more shaders from a compressed set.

D3DDecompressShaders Decompresses one or more shaders from a compressed set.

D3DDisassemble Disassembles compiled HLSL code.

D3DDisassemble Disassembles compiled HLSL code.

D3DDisassemble10Effect Disassembles compiled HLSL code from a Direct3D10 effect.

D3DDisassemble10Effect Disassembles compiled HLSL code from a Direct3D10 effect.

D3DDisassembleRegion Disassembles a specific region of compiled Microsoft High


Level Shader Language (HLSL) code.

D3DDisassembleRegion Disassembles a specific region of compiled Microsoft High


Level Shader Language (HLSL) code.

D3DGetBlobPart Retrieves a specific part from a compilation result.

D3DGetBlobPart Retrieves a specific part from a compilation result.

D3DGetDebugInfo Note You can use this API to develop your Windows Store
apps, but you can't use it in apps that you submit to the
Windows Store. Gets shader debug information.

D3DGetDebugInfo Note You can use this API to develop your Windows Store
apps, but you can't use it in apps that you submit to the
Windows Store. Gets shader debug information.
T IT L E DESC RIP T IO N

D3DGetInputAndOutputSignatureBlob Note D3DGetInputAndOutputSignatureBlob may be altered


or unavailable for releases after Windows 8.1. Instead use
D3DGetBlobPart with the
D3D_BLOB_INPUT_AND_OUTPUT_SIGNATURE_BLOB value.
Gets the input and output signatures from a compilation
result.

D3DGetInputAndOutputSignatureBlob Note D3DGetInputAndOutputSignatureBlob may be altered


or unavailable for releases after Windows 8.1. Instead use
D3DGetBlobPart with the
D3D_BLOB_INPUT_AND_OUTPUT_SIGNATURE_BLOB value.
Gets the input and output signatures from a compilation
result.

D3DGetInputSignatureBlob Note D3DGetInputSignatureBlob may be altered or


unavailable for releases after Windows 8.1. Instead use
D3DGetBlobPart with the
D3D_BLOB_INPUT_SIGNATURE_BLOB value. Gets the input
signature from a compilation result.

D3DGetInputSignatureBlob Note D3DGetInputSignatureBlob may be altered or


unavailable for releases after Windows 8.1. Instead use
D3DGetBlobPart with the
D3D_BLOB_INPUT_SIGNATURE_BLOB value. Gets the input
signature from a compilation result.

D3DGetOutputSignatureBlob Note D3DGetOutputSignatureBlob may be altered or


unavailable for releases after Windows 8.1. Instead use
D3DGetBlobPart with the
D3D_BLOB_OUTPUT_SIGNATURE_BLOB value. Gets the
output signature from a compilation result.

D3DGetOutputSignatureBlob Note D3DGetOutputSignatureBlob may be altered or


unavailable for releases after Windows 8.1. Instead use
D3DGetBlobPart with the
D3D_BLOB_OUTPUT_SIGNATURE_BLOB value. Gets the
output signature from a compilation result.

D3DGetTraceInstructionOffsets Retrieves the byte offsets for instructions within a section of


shader code.

D3DGetTraceInstructionOffsets Retrieves the byte offsets for instructions within a section of


shader code.

D3DLoadModule Creates a shader module interface from source data for the
shader module.

D3DLoadModule Creates a shader module interface from source data for the
shader module.

D3DPreprocess Preprocesses uncompiled HLSL code.

D3DPreprocess Preprocesses uncompiled HLSL code.

D3DReadFileToBlob Reads a file that is on disk into memory.


T IT L E DESC RIP T IO N

D3DReadFileToBlob Reads a file that is on disk into memory.

D3DReflect Gets a pointer to a reflection interface.

D3DReflect Gets a pointer to a reflection interface.

D3DReflectLibrary Creates a library-reflection interface from source data that


contains an HLSL library of functions.

D3DReflectLibrary Creates a library-reflection interface from source data that


contains an HLSL library of functions.

D3DSetBlobPart Sets information in a compilation result.

D3DSetBlobPart Sets information in a compilation result.

D3DStripShader Removes unwanted blobs from a compilation result.

D3DStripShader Removes unwanted blobs from a compilation result.

D3DWriteBlobToFile Writes a memory blob to a file on disk.

D3DWriteBlobToFile Writes a memory blob to a file on disk.

Structures
T IT L E DESC RIP T IO N

D3D_SHADER_DATA Describes shader data.

D3D_SHADER_DATA Describes shader data.


Human Interface Devices Reference
2/7/2020 • 5 minutes to read • Edit Online

Overview of the Human Interface Devices Reference technology.


To develop Human Interface Devices Reference, you need these headers:
dinput.h
dinputd.h
ntddkbd.h
ntddmou.h
For programming guidance for this technology, see:
Human Interface Devices Reference

IOCTLs
T IT L E DESC RIP T IO N

IOCTL_KEYBOARD_QUERY_ATTRIBUTES The IOCTL_KEYBOARD_QUERY_ATTRIBUTES request returns


information about the keyboard attributes.

IOCTL_KEYBOARD_QUERY_INDICATOR_TRANSLATION The IOCTL_KEYBOARD_QUERY_INDICATOR_TRANSLATION


request returns information about the mapping between scan
codes and keyboard indicators.

IOCTL_KEYBOARD_QUERY_INDICATORS The IOCTL_KEYBOARD_QUERY_INDICATORS request returns


information about the keyboard indicators.

IOCTL_KEYBOARD_QUERY_TYPEMATIC The IOCTL_KEYBOARD_QUERY_TYPEMATIC request returns


the keyboard typematic settings.

IOCTL_KEYBOARD_SET_INDICATORS The IOCTL_KEYBOARD_SET_INDICATORS request sets the


keyboard indicators.

IOCTL_KEYBOARD_SET_TYPEMATIC The IOCTL_KEYBOARD_SET_TYPEMATIC request sets the


keyboard typematic settings.

IOCTL_MOUSE_QUERY_ATTRIBUTES The IOCTL_MOUSE_QUERY_ATTRIBUTES request returns


information about the mouse attributes.

Functions
T IT L E DESC RIP T IO N
T IT L E DESC RIP T IO N

Acquire The IDirectInputJoyConfig8::Acquire method acquires "joystick


configuration mode." Only one application can be in joystick
configuration mode at a time; subsequent attempts by other
applications to acquire this mode should receive the error
DIERR_OTHERAPPHASPRIO. After entering configuration
mode, the application can make alterations to the global
joystick configuration settings. The application should check
the existing settings before installing the new ones in case
another application changed the settings in the interim.

AddNewHardware The IDirectInputJoyConfig8::AddNewHardware method


displays the Add New Hardware dialog box which guides the
user through installing a new input device.

AddRef The IDirectInputEffectDriver::AddRef method increases the


reference count of the DirectInputEffectDriver object by 1. This
method is part of the IUnknown interface inherited by
DirectInputEffectDriver.

AddRef The IDirectInputJoyConfig8::AddRef method increases the


reference count of the DirectInputJoyConfig object by 1. This
method is part of the IUnknown interface inherited by
DirectInputJoyConfig.

DeleteConfig The IDirectInputJoyConfig8::DeleteConfig method deletes


configuration information about a joystick.

DeleteType The IDirectInputJoyConfig8::DeleteType method removes


information about a joystick type. Use this method with
caution; it is the caller's responsibility to ensure that no
joystick refers to the deleted type.

DestroyEffect The IDirectInputEffectDriver::DestroyEffect method removes


an effect from the device. If the effect is playing, the driver
should stop it before unloading it.

DeviceID The IDirectInputEffectDriver::DeviceID method sends the


driver the identity of the device.

DownloadEffect The IDirectInputEffectDriver::DownloadEffect method sends an


effect to the device.

EnumTypes The IDirectInputJoyConfig8::EnumTypes method enumerates


the joystick types currently supported by DirectInput.

Escape The IDirectInputEffectDriver::Escape method escapes to the


driver. This method is called in response to an application
invoking the IDirectInputEffect::Escape or
IDirectInputDevice::Escape methods.

GetConfig The IDirectInputJoyConfig8::GetConfig method obtains


information about a joystick's configuration.

GetEffectStatus The IDirectInputEffectDriver::GetEffectStatus method obtains


information about the status of an effect.
T IT L E DESC RIP T IO N

GetForceFeedbackState The IDirectInputEffectDriver::GetForceFeedbackState method


retrieves the force-feedback state for the device.

GetTypeInfo The IDirectInputJoyConfig8::GetTypeInfo method obtains


information about a joystick type.

GetUserValues The IDirectInputJoyConfig8::GetUserValues method obtains


information about user settings for the joystick.

GetVersions The IDirectInputEffectDriver::GetVersions method obtains


version information about the force-feedback hardware and
driver.

OpenAppStatusKey The IDirectInputJoyConfig8::OpenAppStatusKey method


opens the root key of the application status registry keys, and
obtains a handle to the key as a return parameter.

OpenTypeKey The IDirectInputJoyConfig8::OpenTypeKey method opens the


registry key associated with a joystick type.

QueryInterface The IDirectInputEffectDriver::QueryInterface method


determines whether the DirectInputEffectDriver object
supports a particular COM interface.

QueryInterface The IDirectInputJoyConfig8::QueryInterface method


determines whether the DirectInputJoyConfig object supports
a particular COM interface.

Release The IDirectInputEffectDriver::Release method decreases the


reference count of the DirectInputEffectDriver object by 1. This
method is part of the IUnknown interface inherited by
DirectInputEffectDriver.

Release The IDirectInputJoyConfig8::Release method decreases the


reference count of the DirectInputJoyConfig object by 1. This
method is part of the IUnknown interface inherited by
DirectInputJoyConfig.

SendForceFeedbackCommand The IDirectInputEffectDriver::SendForceFeedbackCommand


method changes the force-feedback state for the device.

SendNotify The IDirectInputJoyConfig8::SendNotify method notifies


device drivers and applications that changes to the device
configuration have been made.

SetConfig The IDirectInputJoyConfig8::SetConfig method creates or


redefines configuration information about a joystick.

SetCooperativeLevel The IDirectInputJoyConfig8::SetCooperativeLevel method


establishes the cooperation level for the instance of the
device. The only cooperative levels supported for the
IDirectInputJoyConfig8 interface are DISCL_EXCLUSIVE and
DISCL_BACKGROUND.
T IT L E DESC RIP T IO N

SetGain The IDirectInputEffectDriver::SetGain method sets the overall


device gain.

SetTypeInfo The IDirectInputJoyConfig8::SetTypeInfo method creates a


new joystick type or redefines information about an existing
joystick type.

SetUserValues The IDirectInputJoyConfig8::SetUserValues method sets the


user settings for the joystick.

StartEffect The IDirectInputEffectDriver::StartEffect method begins the


playback of an effect. If the effect is already playing, it is
restarted from the beginning.

StopEffect The IDirectInputEffectDriver::StopEffect method halts the


playback of an effect.

Unacquire The IDirectInputJoyConfig8::Unacquire method unacquires


"joystick configuration mode".

Interfaces
T IT L E DESC RIP T IO N

IDirectInputEffectDriver These three methods allow additional interfaces to be added


to the DirectInputEffectDriver object without affecting the
functionality of the original interface.

IDirectInputJoyConfig8 IDirectInputJoyConfig8 interface contains methods that allow


hardware developers who are writing property sheets to write
and read information to and from the registry.

Structures
T IT L E DESC RIP T IO N

DIDEVICESTATE The DIDEVICESTATE structure returns information about the


state of a force feedback device.

DIDRIVERVERSIONS The DIDRIVERVERSIONS structure is used by the DirectInput


effect driver to report version information back to DirectInput.

DIEFFECTATTRIBUTES The DIEFFECTATTRIBUTES structure describes the information


contained in the "Attributes" value of the registry key for each
effect that is supported by a force-feedback device.

DIEFFESCAPE The DIEFFESCAPE structure passes hardware-specific data


directly to the device driver.

DIFFDEVICEATTRIBUTES The DIFFDEVICEATTRIBUTES structure describes the


information contained in the "Attributes" value of the
OEMForceFeedback registry key.
T IT L E DESC RIP T IO N

DIFFOBJECTATTRIBUTES The DIFFOBJECTATTRIBUTES structure describes the


information contained in the "FFAttributes" value of the
registry key for each "object" on a force-feedback device.

DIHIDFFINITINFO The DIHIDFFINITINFO structure is used by DirectInput to


provide information to a HID force-feedback driver about the
device it is being asked to control.

DIJOYCONFIG The DIJOYCONFIG structure contains information about a


joystick's configuration.

DIJOYTYPEINFO The DIJOYTYPEINFO structure contains information about a


joystick type.

DIJOYUSERVALUES The DIJOYUSERVALUES structure contains information about


the user's joystick settings.

DIOBJECTATTRIBUTES The DIOBJECTATTRIBUTES structure describes the information


contained in the "Attributes" value of the registry key for each
"object" on a device. If the "Attributes" value is absent, then
default attributes are used.

DIOBJECTCALIBRATION The DIOBJECTCALIBRATION structure describes the


information contained in the "Calibration" value of the registry
key for each axis on a device.

JOYREGHWVALUES The JOYREGHWVALUES structure contains the range of values


returned by the hardware (filled in by calibration).

JOYREGHWVALUES The JOYREGHWVALUES structure contains the range of values


returned by the hardware (filled in by calibration).

KEYBOARD_ATTRIBUTES KEYBOARD_ATTRIBUTES specifies the attributes of a keyboard.

KEYBOARD_INDICATOR_PARAMETERS KEYBOARD_INDICATOR_PARAMETERS specifies the state of a


keyboard's indicator LEDs.

KEYBOARD_INDICATOR_TRANSLATION KEYBOARD_INDICATOR_TRANSLATION specifies a device-


specific, variable length array of mappings between keyboard
scan codes and LED indicators.

KEYBOARD_INPUT_DATA KEYBOARD_INPUT_DATA contains one packet of keyboard


input data.

KEYBOARD_TYPEMATIC_PARAMETERS KEYBOARD_TYPEMATIC_PARAMETERS specifies a keyboard's


typematic settings.

KEYBOARD_UNIT_ID_PARAMETER KEYBOARD_UNIT_ID_PARAMETER specifies the unit ID that


Kbdclass assigns to a keyboard.

MOUSE_ATTRIBUTES MOUSE_ATTRIBUTES specifies the attributes of a mouse


device.
T IT L E DESC RIP T IO N

MOUSE_INPUT_DATA MOUSE_INPUT_DATA contains one packet of mouse input


data.

MOUSE_UNIT_ID_PARAMETER MOUSE_UNIT_ID_PARAMETER specifies a unit ID that


Mouclass assigns to a mouse.
Hyper-V management
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Hyper-V management technology.


To develop Hyper-V management, you need these headers:
vmgenerationcounter.h
For programming guidance for this technology, see:
Hyper-V management
Hyper-V WMI Provider
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Hyper-V WMI Provider technology.


To develop Hyper-V WMI Provider, you need these headers:
mmc.h
mpconfig.h
For programming guidance for this technology, see:
Hyper-V WMI Provider
Image Mastering API
2/7/2020 • 35 minutes to read • Edit Online

Overview of the Image Mastering API technology.


To develop Image Mastering API, you need these headers:
imapi.h
imapi2.h
imapi2fs.h
For programming guidance for this technology, see:
Image Mastering API

Enumerations
T IT L E DESC RIP T IO N

EmulationType Defines values for media types that the boot image is
intended to emulate.

FsiFileSystems Defines values for recognized file systems.

FsiItemType Defines values for the file system item that was found using
the IFileSystemImage::Exists method.

IMAPI_BURN_VERIFICATION_LEVEL Defines values for the burn verification implemented by the


IBurnVerification interface.

IMAPI_CD_SECTOR_TYPE Defines the sector types that can be written to CD media.

IMAPI_CD_TRACK_DIGITAL_COPY_SETTING Defines the digital copy setting values available for a given
track.

IMAPI_FEATURE_PAGE_TYPE Defines values for the feature that are supported by the
logical unit (CD and DVD device).

IMAPI_FORMAT2_DATA_MEDIA_STATE Defines values for the possible media states.

IMAPI_FORMAT2_DATA_WRITE_ACTION Defines values that indicate the current state of the write
operation when using the IDiscFormat2DataEventArgs
interface.

IMAPI_FORMAT2_RAW_CD_DATA_SECTOR_TYPE Defines values that indicate the type of sub-channel data.

IMAPI_FORMAT2_RAW_CD_WRITE_ACTION Defines values that indicate the current state of the write
operation when using the IDiscFormat2RawCDEventArgs
interface.
T IT L E DESC RIP T IO N

IMAPI_FORMAT2_TAO_WRITE_ACTION Defines values that indicate the current state of the write
operation when using the IDiscFormat2TrackAtOnceEventArgs
interface.

IMAPI_MEDIA_PHYSICAL_TYPE Defines values for the currently known media types supported
by IMAPI.

IMAPI_MEDIA_WRITE_PROTECT_STATE Defines values that indicate the media write protect status.
One or more write protect values can be set on a given drive.

IMAPI_MODE_PAGE_REQUEST_TYPE Defines values that indicate requests sent to a device using


the MODE_SENSE10 MMC command.

IMAPI_MODE_PAGE_TYPE Defines values for the mode pages that are supported by CD
and DVD devices.

IMAPI_PROFILE_TYPE Defines values for the possible profiles of a CD and DVD


device. A profile defines the type of media and features that
the device supports.

IMAPI_READ_TRACK_ADDRESS_TYPE Defines values that indicate how to interpret track addresses


for the current disc profile of a randomly-writable, hardware-
defect-managed media type.

PlatformId Defines values for the operating system architecture that the
boot image supports.

Functions
T IT L E DESC RIP T IO N

AcquireExclusiveAccess Acquires exclusive access to the device.

Add Adds a file or directory described by the IFsiItem object to the


file system image.

AddAudioTrack Writes the data stream to the current media as a new track.

AddAudioTrackBlocks Adds blocks of audio data to the currently open track. This
method can be called repeatedly until there is no space
available or the track is full.

AddData Adds the contents of a root storage to the staged image file.
This storage will be enumerated to place all substorages and
streams in the root file system of the stage image file.
Substorages become folders and streams become files.

AddDirectory Adds a directory to the file system image.

AddFile Adds a file to the file system image.

AddSpecialPregap Accepts the provided IStream object and saves the associated
pointer to be used as data for the pre-gap for track 1.
T IT L E DESC RIP T IO N

AddStream Associates a named stream with a specific file in the file system
image.

AddSubcodeRWGenerator Allows the addition of custom R-W subcode, provided by the


IStream. The provided object must have a size equal to the
number of sectors in the raw disc image * 96 bytes when the
final image is created.

AddTrack Accepts the provided IStream object and saves the interface
pointer as the next track in the image.

AddTree Adds the contents of a directory tree to the file system image.

AddTreeWithNamedStreams Adds the contents of a directory tree along with named


streams associated with all files to the file system image.

Append Appends a stream to this stream.

Append2 Appends an array of streams to this stream.

AssignBootImage Sets the data stream that contains the boot image.

CalculateDiscIdentifier Retrieves a string that identifies a disc and the sessions


recorded on the disc.

CancelAddTrack Cancels the current write operation.

CancelWrite Cancels the current write operation.

CancelWrite Cancels the current write operation.

CancelWrite Cancels a write operation that is in progress.

ChooseImageDefaults Sets the default file system types and the image size based on
the current media.

ChooseImageDefaultsForMediaType Sets the default file system types and the image size based on
the specified media type.

ClearFormatContent Clears the contents of an unburned image (the current stash


file).

Clone Creates another enumerator that contains the same


enumeration state as the current one.

Clone Creates another enumerator that contains the same


enumeration state as the current one.

Close Closes the interface so other applications can use it.

Close Releases exclusive access to a disc recorder. This restores file


system access to the drive.
T IT L E DESC RIP T IO N

CloseAudioTrack Closes a currently open audio track. All audio tracks must be
closed before the IDiscMaster::RecordDisc method can be
called.

CloseTray Closes the media tray.

CreateAudioTrack Begins staging a new audio track. It can be called only when
there are no open audio tracks in the image.

CreateDirectoryItem Create a directory item with the specified name.

CreateFileItem Create a file item with the specified name.

CreateResultImage Creates the final IStream object based on the current settings.

CreateResultImage Create the result object that contains the file system and file
data.

DisableMcn Disables Media Change Notification (MCN) for the device.

Eject Unlocks and ejects the tray of the disc recorder, if possible.

EjectMedia Ejects media from the device.

EnableMcn Enables Media Change Notification (MCN) for the device.

EnumDiscMasterFormats Retrieves an enumerator for all disc mastering formats


supported by this disc master object. A disc master format
specifies the structure of the content in a staged image file
(data/audio) and the interface that manages the staged image.

EnumDiscRecorders Retrieves an enumerator for all disc recorders supported by


the active disc master format.

Erase Attempts to erase the CD-RW media if this is a CD-RW disc


recorder. Both full and quick erases are supported.

EraseMedia Erases the media in the active disc recorder.

Exists Checks for the existence of a given file or directory.

FileSystemName Retrieves the name of the item as modified to conform to the


specified file system.

FileSystemPath Retrieves the full path of the item as modified to conform to


the specified file system.

get__NewEnum Retrieves a list of the CD and DVD devices installed on the


computer.

get__NewEnum Retrieves a list of child items contained within the directory in


the file system image.
T IT L E DESC RIP T IO N

get__NewEnum Retrieves an IEnumVARIANT list of the named streams


associated with a file in the file system image.

get__NewEnum Retrieves the list of progress items from the collection.

get_ActiveDiscRecorder Retrieves the unique identifier used to initialize the disc device.

get_AudioHasPreemphasis Retrieves the value that specifies if an audio track has an


additional pre-emphasis added to the audio data.

get_BlockCount Retrieves the number of blocks in the progress item.

get_BlockRanges Returns the list of sector ranges in the form of a safe array of
variants of type VT_Dispatch.

get_BlockSize Retrieves the size, in bytes, of a block of data.

get_BootImage Retrieves a pointer to the boot image data stream.

get_BootImageOptions Retrieves the boot image that you want to add to the file
system image.

get_BootImageOptionsArray Retrieves the boot option array that will be utilized to


generate the file system image.

get_BufferUnderrunFreeDisabled Determines if Buffer Underrun Free recording is enabled for


CDR, CD-RW, and DVD-R media.

get_BufferUnderrunFreeDisabled Determines if Buffer Underrun Free recording is enabled.

get_BufferUnderrunFreeDisabled Determines if Buffer Underrun Free recording is enabled.

get_BurnVerificationLevel Retrieves the current Burn Verification Level.

get_BytesPerSector Retrieves the number of bytes to use for each sector during
writing. The returned value indicates what the value previously
set with IWriteEngine2::put_BytesPerSector, and does not
return a current bytes per sector value for media.

get_ChangePoint Retrieves the change point identifier.

get_ClientName Retrieves the friendly name of the client.

get_ClientName Retrieves the friendly name of the client.

get_ClientName Retrieves the friendly name of the client.

get_ClientName Retrieves the friendly name of the client.

get_Count Retrieves the number of the CD and DVD disc devices installed
on the computer.
T IT L E DESC RIP T IO N

get_Count Number of child items in the enumeration.

get_Count Returns the number of the named streams associated with a


file in the file system image.

get_Count Retrieves the number of progress items in the collection.

get_CreateRedundantUdfMetadataFiles Retrieves a property value that specifies if the UDF Metadata


will be redundant in the file system image.

get_CreationTime Retrieves the date and time that the directory or file item was
created and added to the file system image.

get_CurrentAction Retrieves the current write action being performed.

get_CurrentAction Retrieves the current write action being performed.

get_CurrentAction Retrieves the current write action being performed.

get_CurrentFeaturePages Retrieves the list of feature pages of the device that are
marked as current.

get_CurrentMediaStatus Retrieves the current state of the media in the device.

get_CurrentPhysicalMediaType Retrieves the type of media in the disc device.

get_CurrentPhysicalMediaType Retrieves the type of media in the disc device.

get_CurrentPhysicalMediaType Retrieves the type of media in the disc device.

get_CurrentPhysicalMediaType Retrieves the type of media in the disc device.

get_CurrentProfiles Retrieves all MMC profiles of the device that are marked as
current.

get_CurrentRotationTypeIsPureCAV Retrieves the current rotational-speed control used by the


recorder.

get_CurrentRotationTypeIsPureCAV Retrieves the current rotational-speed control used by the


recorder.

get_CurrentRotationTypeIsPureCAV Retrieves the current rotational-speed control used by the


recorder.

get_CurrentTrackNumber Retrieves the current track number being written to the media.

get_CurrentWriteSpeed Retrieves the drive's current write speed.

get_CurrentWriteSpeed Retrieves the drive's current write speed.

get_CurrentWriteSpeed Retrieves the drive's current write speed.


T IT L E DESC RIP T IO N

get_Data Retrieves the data stream of the file's content.

get_DataSize Retrieves the number of bytes in the file.

get_DataSize32BitHigh Retrieves the most significant 32 bits of the


IFsiFileItem::get_DataSize property.

get_DataSize32BitLow Retrieves the least significant 32 bits of the


IFsiFileItem::get_DataSize property.

get_Description Retrieves the description in the progress item.

get_DeviceCanLoadMedia Determines if the device can eject and subsequently reload


media.

get_DigitalAudioCopySetting Retrieves the value for the bit that represents the current
digital audio copy setting on the resulting media. Please see
the IMAPI_CD_TRACK_DIGITAL_COPY_SETTING enumeration
for possible values.

get_DirectoryCount Retrieves the number of directories in the file system image.

get_DisableConsumerDvdCompatibilityMode Determines if a DVD recording session includes tasks that can


increase the chance that a device can play the DVD.

get_DisableGaplessAudio Retrieves the current value that specifies if "Gapless Audio"


recording is disabled. This property defaults to a value of
VARIANT_FALSE, which disables the use of "gapless" recording
between consecutive audio tracks.

get_DiscId Retrieves the disc volume name for this file system image.

get_DoNotFinalizeMedia Determines if the media is left open for writing after writing
the audio track.

get_ElapsedTime Retrieves the total elapsed time of the write operation.

get_ElapsedTime Retrieves the total elapsed time of the write operation.

get_ElapsedTime Retrieves the total elapsed time of the write operation.

get_Emulation Retrieves the media type that the boot image is intended to
emulate.

get_EndingSectorsPerSecond Retrieves the estimated number of sectors per second that the
recording device can write to the media at the end of the
writing process.

get_EndLba Retrieves the end sector of the range specified by the


IBlockRange interface.

get_EnumFsiItems Retrieves a list of child items contained within the directory in


the file system image.
T IT L E DESC RIP T IO N

get_EnumNamedStreams Creates a non-variant enumerator for the collection of the


named streams associated with a file in the file system image.

get_EnumProgressItems Retrieves the list of progress items from the collection.

get_ExclusiveAccessOwner Retrieves the name of the client application that has exclusive
access to the device.

get_ExpectedTableOfContents Retrieves the table of content for the audio tracks that were
laid on the media within the track-writing session.

get_ExpectedTableOfContents Gets the SCSI-form table of contents for the resulting disc.

get_ExtendedSeed Retrieves an array of seed values used by the random number


generator.

get_FileCount Retrieves the number of files in the file system image.

get_FileSystemsSupported Retrieves the list of file system types that a client can use to
build a file system image.

get_FileSystemsToCreate Retrieves the types of file systems to create when generating


the result stream.

get_FirstBlock Retrieves the first block number in this segment of the result
image.

get_ForceMediaToBeClosed Determines if further additions to the file system are


prevented.

get_ForceOverwrite Determines if the data writer must overwrite the disc on


overwritable media types.

get_FreeMediaBlocks Retrieves the maximum number of blocks available for the


image.

get_FreeSectorsOnMedia Retrieves the number of free sectors on the disc for


incremental recording (without overwriting existing data).

get_FreeSectorsOnMedia Retrieves the number of sectors available for adding a new


track to the media.

get_FreeSectorsOnMedia Retrieves the number of free sectors available on the media.

get_FreeSystemBuffer Retrieves the number of unused bytes in the internal data


buffer that is used for writing to disc.

get_FsiNamedStreams Retrieves a collection of named streams associated with a file


in the file system image.

get_FullErase Determines the quality of the disc erasure.


T IT L E DESC RIP T IO N

get_FullPath Retrieves the full path of the file or directory item in the file
system image.

get_ImageSize Retrieves the size of the boot image.

get_ImageStream Retrieves the burn image stream.

get_ImportedVolumeName Retrieves the volume name provided from an imported file


system.

get_ImportRecorder Retrieves the disc recorder to use to import one or more


previous sessions.

get_InUse Determines if this multi-session interface is the one you


should use on the current media.

get_IsFirstDataSession Determines if this session is the first data session on the


media.

get_IsHidden Determines if the item's hidden attribute is set in the file


system image.

get_IsNamedStream Determines if the item is a named stream.

get_ISO9660InterchangeLevel Retrieves the ISO9660 compatibility level to use when creating


the result image.

get_ISO9660InterchangeLevelsSupported Retrieves the supported ISO9660 compatibility levels.

get_ISRC Retrieves the International Standard Recording Code (ISRC)


currently associated with the track. This property value
defaults to NULL (or a zero-length string) and may only be set
for tracks containing audio data.

get_IsRealTime Retrieves the property value that specifies if a file item in the
file system image is a 'Real-Time' or standard file.

get_IsSupportedEnvironment Retrieves a value that determines if the environment contains


one or more optical devices and the execution context has
permission to access the devices.

get_IsSupportedOnCurrentMediaState Determines if the multi-session type can write to the current


optical media.

get_Item Retrieves the unique identifier of the specified disc device.

get_Item Retrieves the specified directory or file item from file system
image.

get_Item Retrieves a single named stream associated with a file in the


file system image.

get_Item Retrieves the specified progress item from the collection.


T IT L E DESC RIP T IO N

get_LastAccessedTime Retrieves the date and time the directory or file item was last
accessed in the file system image.

get_LastBlock Retrieves the last block in this segment of the result image.

get_LastModifiedTime Retrieves the date and time that the directory or file item was
last modified in the file system image.

get_LastPossibleStartOfLeadout Retrieves the last possible starting position for the leadout
area.

get_LastReadLba Retrieves the address of the sector most recently read from
the burn image.

get_LastUsedUserSectorInImage Retrieves the number of total used sectors on the current


media, including any overhead between existing tracks.

get_LastWrittenAddress Retrieves the last written address on the media.

get_LastWrittenAddressOfPreviousSession Retrieves the last sector of the previous write session.

get_LastWrittenAddressOfPreviousSession Retrieves the last sector written in the previous session on the
media.

get_LastWrittenLba Retrieves the address of the sector most recently written to


the device.

get_LegacyDeviceNumber Retrieves the legacy device number for a CD or DVD device.

get_Manufacturer Retrieves the identifier of the manufacturer of the CD.

get_MediaCatalogNumber Sets the Media Catalog Number (MCN) for the entire audio
disc.

get_MediaHeuristicallyBlank Attempts to determine if the media is blank using heuristics


(mainly for DVD+RW and DVD-RAM media).

get_MediaPhysicallyBlank Determines if the current media is reported as physically blank


by the drive.

get_MediaType Retrieves type of media in the current drive.

get_ModifiedBlocks Retrieves the list of modified blocks in the result image.

get_MultisessionInterfaces Retrieves a list of available multi-session interfaces.

get_MultisessionInterfaces Retrieves the list of multi-session interfaces for the optical


media.

get_Name Retrieves the name of the directory or file item in the file
system image.
T IT L E DESC RIP T IO N

get_NextWritableAddress Retrieves the location for the next write operation.

get_NextWritableAddress Retrieves the next writable address on the media, including


used sectors.

get_NumberOfExistingTracks Retrieves the number of existing audio tracks on the media.

get_NumberOfExistingTracks Retrieves the number of existing audio tracks on the media.

get_Path Retrives the logical path to an .iso image.

get_PlatformId Retrieves the platform identifier that identifies the operating


system architecture that the boot image supports.

get_PostgapAlreadyInImage Determines if the data stream contains post-writing gaps.

get_ProductId Retrieves the product ID of the device.

get_ProductRevision Retrieves the product revision code of the device.

get_ProgressItems Retrieves the progress item block mapping collection.

get_Recorder Retrieves the recording device to use for the write operation.

get_Recorder Retrieves the recording device to use in the erase operation.

get_Recorder Retrieves the recording device to use for the write operation.

get_Recorder Retrieves the recording device to use for the write operation.

get_Recorder Retrieves the recording device to use in the write operation.

get_RemainingTime Retrieves the estimated remaining time of the write operation.

get_RemainingTime Retrieves the estimated remaining time of the write operation.

get_RemainingTime Retrieves the estimated remaining time of the write operation.

get_RequestedRotationTypeIsPureCAV Retrieves the requested rotational-speed control type.

get_RequestedRotationTypeIsPureCAV Retrieves the requested rotational-speed control type.

get_RequestedRotationTypeIsPureCAV Retrieves the requested rotational-speed control type.

get_RequestedSectorType Retrieves the requested data sector to use during write of the
stream.

get_RequestedWriteSpeed Retrieves the requested write speed.

get_RequestedWriteSpeed Retrieves the requested write speed.


T IT L E DESC RIP T IO N

get_RequestedWriteSpeed Retrieves the requested write speed.

get_ResultingImageType Retrieves the value that specifies the type of image file that will
be generated.

get_Root Retrieves the root directory item.

get_RotationTypeIsPureCAV Retrieves the supported rotational-speed control used by the


recorder for the current media.

get_SectorCount Retrieves the number of user sectors in this track.

get_SectorCount Retrieves the number of sectors to write to the device in the


current write operation.

get_SectorType Retrieves the type of data provided for the sectors in this
track. For more detail on the possible sector types, see
IMAPI_CD_SECTOR_TYPE.

get_Seed Retrieves the seed value used by the random number


generator.

get_SessionStartBlock Retrieves the starting block address for the recording session.

get_StageFiles Indicates if the files being added to the file system image
should be staged before the burn.

get_StartAddressOfPreviousSession Retrieves the first sector of the previous write session.

get_StartAddressOfPreviousSession Retrieves the first sector written in the previous session on the
media.

get_StartingLba Retrieves the LBA of the first user sectors in this track.

get_StartingSectorsPerSecond Retrieves the estimated number of sectors per second that the
recording device can write to the media at the start of the
writing process.

get_StartingTrackNumber Retrieves the starting track number.

get_StartLba Retrieves the start sector of the range described by


IBlockRange.

get_StartLba Retrieves the starting logical block address (LBA) of the


current write operation.

get_StartOfLeadout Retrieves the value that defines the LBA for the start of the
Leadout. This method can be utilized to determine if the
image can be written to a piece of media by comparing it
against the LastPossibleStartOfLeadout for the media.
T IT L E DESC RIP T IO N

get_StartOfLeadoutLimit Retrieves the current StartOfLeadoutLimit property value. This


value specifies if the resulting image is required to fit on a
piece of media with a StartOfLeadout greater than or equal to
the LBA.

get_StartOfNextSession Retrieves the first sector of the next session.

get_Stream Retrieves the IStream object associated with the .iso image.

get_StrictFileSystemCompliance Determines the compliance level for creating and developing


the file-system image.

get_SupportedFeaturePages Retrieves the list of features that the device supports.

get_SupportedMediaTypes Retrieves the media types that are supported by the current
implementation of the IDiscFormat2 interface.

get_SupportedModePages Retrieves the list of MMC mode pages that the device
supports.

get_SupportedProfiles Retrieves the list of MMC profiles that the device supports.

get_SupportedSectorTypes Retrieves the supported data sector types for the current
recorder.

get_SupportedWriteSpeedDescriptors Retrieves a list of the detailed write configurations supported


by the disc recorder and current media.

get_SupportedWriteSpeedDescriptors Retrieves a list of the detailed write configurations supported


by the disc recorder and current media.

get_SupportedWriteSpeedDescriptors Retrieves a list of the detailed write configurations supported


by the disc recorder and current media.

get_SupportedWriteSpeeds Retrieves a list of the write speeds supported by the disc


recorder and current media.

get_SupportedWriteSpeeds Retrieves a list of the write speeds supported by the disc


recorder and current media.

get_SupportedWriteSpeeds Retrieves a list of the write speeds supported by the disc


recorder and current media.

get_TotalBlocks Retrieves the number of blocks in the result image.

get_TotalSectorsOnMedia Retrieves the number of sectors on the media in the device.

get_TotalSectorsOnMedia Retrieves the total sectors available on the media if writing one
continuous audio track.

get_TotalSectorsOnMedia Retrieves the total number of sectors on the media.


T IT L E DESC RIP T IO N

get_TotalSystemBuffer Retrieves the size of the internal data buffer that is used for
writing to disc.

get_TotalTime Retrieves the estimated total time for write operation.

get_TrackIndexes Retrieves the one-based index of the tracks on the disc.

get_TrackInfo Retrieves an indexed property, which takes a LONG value with


a range of 1 to 99 as the index to determine which track the
user is querying. The returned object is then queried/set for
the particular per-track property of interest.

get_TrackNumber Retrieves the track number for this track.

get_UDFRevision Retrieves the UDF revision level of the imported file system
image.

get_UDFRevisionsSupported Retrieves a list of supported UDF revision levels.

get_UsedBlocks Retrieves the number of blocks in use.

get_UsedSectorsOnMedia Retrieves the total number of used sectors on the media.

get_UsedSystemBuffer Retrieves the number of used bytes in the internal data buffer
that is used for writing to disc.

get_UseRestrictedCharacterSet Determines if the file and directory names use a restricted


character.

get_UseStreamingWrite12 Retrieves a value that indicates if the write operations use the
WRITE12 or WRITE10 command.

get_VendorId Retrieves the vendor ID for the device.

get_VolumeName Retrieves the unique volume name associated with the device.

get_VolumeName Retrieves the volume name for this file system image.

get_VolumeNameISO9660 Retrieves the volume name for the ISO9660 system image.

get_VolumeNameJoliet Retrieves the volume name for the Joliet system image.

get_VolumeNameUDF Retrieves the volume name for the UDF system image.

get_VolumePathNames Retrieves a list of drive letters and NTFS mount points for the
device.

get_WorkingDirectory Retrieves the temporary directory in which stash files are built.

get_WriteInProgress Retrieves a value that indicates whether the recorder is


currently writing data to the disc.
T IT L E DESC RIP T IO N

get_WriteProtectStatus Retrieves the current write protect state of the media in the
device.

get_WriteSpeed Retrieves the supported write speed for writing to the media.

get_WriteUnitSize Retrieves the size of a writeable unit on the media.

get_WriteUnitSize Retrieves the size of a writeable unit on the media.

GetActiveDiscMasterFormat Retrieves the active disc recorder format. The active format
specifies both the structure of the staged image file content
(audio/data) and the COM interface that must be used to
manipulate that staged image.

GetActiveDiscRecorder Retrieves an interface pointer to the active disc recorder. The


active disc recorder is the recorder where a burn will occur
when RecordDisc is called.

GetAdapterDescriptor Retrieves the adapter descriptor for the device.

GetAudioBlockSize Retrieves the size, in bytes, of an audio block.

GetAvailableAudioTrackBlocks Retrieves the current number of blocks that can be added to


the track before an additional add will cause a failure for lack
of space.

GetBasePnPID Retrieves a base PnP string that can be used to consistently


identify a specific class of device by make and model. The
string can be used by applications to customize their behavior
according to the specific recorder type.

GetByteAlignmentMask Retrieves the byte alignment mask for the device.

GetDataBlockSize Retrieves the size of a data block.

GetDefaultFileSystemForImport Retrieves the file system to import by default.

GetDeviceDescriptor Retrieves the device descriptor for the device.

GetDiscInformation Retrieves the disc information from the media.

GetDisplayNames Retrieves a formatted name for the recorder that can be


displayed. The name consists of the manufacturer and product
identifier of the device.

GetFeaturePage Retrieves the specified feature page from the device.

GetJolietProperties Retrieves a pointer to an IPropertyStorage interface that


contains the Joliet properties.

GetMaximumNonPageAlignedTransferSize Retrieves the maximum non-page-aligned transfer size for the


device.
T IT L E DESC RIP T IO N

GetMaximumPageAlignedTransferSize Retrieves the maximum page-aligned transfer size for the


device.

GetModePage Retrieves the specified mode page from the device.

GetPath Retrieves a path to the device within the operating system.


This path should be used in conjunction with the display name
to completely identify an available disc recorder.

GetRecorderGUID Retrieves the GUID of the physical disc recorder currently


associated with the recorder object.

GetRecorderProperties Retrieves a pointer to an IPropertyStorage interface.

GetRecorderState Retrieves the disc recorder state.

GetRecorderType Determines whether the disc recorder is a CD-R or CD-RW


type device. This does not indicate the type of media that is
currently inserted in the device.

GetSupportedFeaturePages Retrieves the list of supported feature pages or the current


feature pages of the device.

GetSupportedModePages Retrieves the supported mode pages for the device.

GetSupportedProfiles Retrieves the supported profiles or the current profiles of the


device.

GetTotalAudioBlocks Retrieves the total number of blocks available for staging


audio tracks. The total includes all block types, including blocks
that may need to be allocated for track gaps.

GetTotalAudioTracks Retrieves the total number of tracks that have either been
staged or are being staged.

GetTotalDataBlocks Retrieves the total number of blocks available for staging a


Joliet data disc.

GetTrackInformation Retrieves the track information from the media.

GetUsedAudioBlocks Retrieves the total number of audio blocks in use.

GetUsedDataBlocks Retrieves the total number of data blocks that are in use.

IdentifyFileSystemsOnDisc Retrieves a list of the different types of file systems on the


optical media.

ImportFileSystem Imports the default file system on the current disc.

ImportSpecificFileSystem Import a specific file system from disc.

Initialize Initializes this stream from two input streams.


T IT L E DESC RIP T IO N

Initialize Initialize this interleaved stream from an array of input


streams and interleave sizes.

Initialize2 Initializes this stream from an array of input streams.

InitializeDiscRecorder Associates the object with the specified disc device.

IsCurrentMediaSupported Determines if the current media in a supported recorder


supports the given format.

IsRecorderSupported Determines if the recorder supports the given format.

LockInChangePoint Locks the file system information at the current change-point


level.

Next Retrieves a specified number of items in the enumeration


sequence.

Next Retrieves a specified number of items in the enumeration


sequence.

NotifyAddProgress Notifies an application of its progress in response to calls to


IRedbookDiscMaster::AddAudioTrackBlocks or
IJolietDiscMaster::AddData. Notifications are sent for the first
and last steps, and at points in between.

NotifyBlockProgress Notifies an application of its progress in burning a disc on the


active recorder. Notifications are sent for the first and last
blocks, and at points in between.

NotifyBurnComplete Notifies an application that a call to IDiscMaster::RecordDisc


has finished.

NotifyClosingDisc Notifies the application that it is has started closing the disc.
No further notifications are sent until the burn is finished.

NotifyDeviceAdded Receives notification when an optical media device is added to


the computer.

NotifyDeviceRemoved Receives notification when an optical media device is removed


from the computer.

NotifyEraseComplete Notifies an application that a call to IDiscRecorder::Erase has


finished.

NotifyPnPActivity Notifies the application that there is a change to the list of


valid disc recorders. (For example, a USB CD-R driver is
removed from the system.).

NotifyPreparingBurn Notifies the application that it is preparing to burn a disc. No


further notifications are sent until the burn starts.

NotifyTrackProgress Notifies an application that a track has started or finished


during the burn of an audio disc.
T IT L E DESC RIP T IO N

Open Opens an upper-level IMAPI object for access by a client


application.

OpenExclusive Opens a disc recorder for exclusive access.

PrepareMedia Locks the current media for exclusive access.

PrepareMedia Locks the current media for exclusive access.

ProbeSpecificFileSystem Determines if a specific file system on the current media is


appendable through the IMAPI.

ProgressAdvise Registers an application for progress notifications.

ProgressItemFromBlock Retrieves a progress item based on the specified block number.

ProgressItemFromDescription Retrieves a progress item based on the specified file name.

ProgressUnadvise Cancels progress notifications for an application.

put_AudioHasPreemphasis Sets the value that specifies if an audio track has an additional
pre-emphasis added to the audio data prior to being written
to CD.

put_BootImageOptions Sets the boot image that you want to add to the file-system
image. This method creates a complete copy of the passed-in
boot options by copying the stream from the supplied
IBootOptions interface.

put_BootImageOptionsArray Sets the boot option array that will be utilized to generate the
file system image. Unlike
IFileSystemImage::put_BootImageOptions, this method will
not create a complete copy of each boot options array
element, but instead use references to each element.

put_BufferUnderrunFreeDisabled Determines if Buffer Underrun Free recording is enabled.

put_BufferUnderrunFreeDisabled Determines if Buffer Underrun Free recording is enabled.

put_BufferUnderrunFreeDisabled Determines if Buffer Underrun Free Recording is enabled.

put_BurnVerificationLevel Sets the Burn Verification Level.

put_BytesPerSector Sets the number of bytes to use for each sector during
writing.

put_ClientName Sets the friendly name of the client.

put_ClientName Sets the friendly name of the client.

put_ClientName Sets the friendly name of the client.


T IT L E DESC RIP T IO N

put_ClientName Sets the friendly name of the client.

put_CreateRedundantUdfMetadataFiles Sets the property that specifies if the UDF Metadata will be
redundant in the file system image.

put_CreationTime Sets the date and time that the directory or file item was
created and added to the file system image.

put_Data Sets the data stream of the file's content.

put_DigitalAudioCopySetting Sets the digital audio copy "Allowed" bit to one of three values
on the resulting media. Please see the
IMAPI_CD_TRACK_DIGITAL_COPY_SETTING enumeration for
additional information on each possible value.

put_DisableConsumerDvdCompatibilityMode Determines if a DVD recording session includes tasks that can


increase the chance that a device can play the DVD.

put_DisableGaplessAudio Sets the value that specifies if "Gapless Audio" recording is


disabled. This property defaults to a value of VARIANT_FALSE,
which disables the use of "gapless" recording between
consecutive audio tracks.

put_DoNotFinalizeMedia Determines if the media is left open for writing after writing
the audio track.

put_Emulation Sets the media type that the boot image is intended to
emulate.

put_EndingSectorsPerSecond Sets the estimated number of sectors per second that the
recording device can write to the media at the end of the
writing process.

put_ExtendedSeed Sets a list of seed values for the random number generator
and seeks to the start of stream.

put_FileSystemsToCreate Sets the file systems to create when generating the result
stream.

put_ForceMediaToBeClosed Determines if further additions to the file system are


prevented.

put_ForceOverwrite Determines if the data writer must overwrite the disc on


overwritable media types.

put_FreeMediaBlocks Sets the maximum number of blocks available for the image.

put_FullErase Determines the quality of the disc erasure.

put_InUse Determines if this multi-session interface is the one you


should use on the current media.

put_IsHidden Determines if the item's hidden attribute is set in the file


system image.
T IT L E DESC RIP T IO N

put_ISO9660InterchangeLevel Sets the ISO9660 compatibility level of the file system image.

put_ISRC Sets the International Standard Recording Code (ISRC)


currently associated with the track. This property value
defaults to NULL (or a zero-length string) and may only be set
for tracks containing audio data.

put_IsRealTime Sets the 'Real-Time' attribute of a file in a file system. This


attribute specifies whether or not the content requires a
minimum data-transfer rate when writing or reading, for
example, audio and video data.

put_LastAccessedTime Sets the date and time that the directory or file item was last
accessed in the file system image.

put_LastModifiedTime Sets the date and time that the item was last modified in the
file system image.

put_Manufacturer Sets an identifier that identifies the manufacturer or developer


of the CD.

put_MediaCatalogNumber Retrieves the Media Catalog Number (MCN) for the entire
audio disc.

put_MultisessionInterfaces Sets the list of multi-session interfaces for the optical media.

put_PlatformId Sets the platform identifier that identifies the operating


system architecture that the boot image supports.

put_PostgapAlreadyInImage Determines if the data stream contains post-writing gaps.

put_Recorder Sets the recording device to use for the write operation.

put_Recorder Sets the recording device to use in the erase operation.

put_Recorder Sets the recording device to use for the write operation.

put_Recorder Sets the recording device to use for the write operation.

put_Recorder Sets a recording device for the write operation.

put_RequestedSectorType Sets the requested data sector to use for writing the stream.

put_ResultingImageType Sets the value that defines the type of image file that will be
generated.

put_Seed Sets the seed value used by the random number generator
and seeks to the start of stream.

put_SessionStartBlock Sets the starting block address for the recording session.

put_StageFiles Determines if the files being added to the file system image
should be staged before the burn.
T IT L E DESC RIP T IO N

put_StartingSectorsPerSecond Sets the estimated number of sectors per second that the
recording device can write to the media at the start of the
writing process.

put_StartingTrackNumber Sets the starting track number.

put_StartOfLeadoutLimit Sets the StartOfLeadoutLimit property value.

put_StrictFileSystemCompliance Determines the compliance level for creating and developing


the file-system image.

put_UDFRevision Sets the UDF revision level of the file system image.

put_UseRestrictedCharacterSet Determines if file and directory names should be restricted to


using only CP_ANSI characters.

put_UseStreamingWrite12 Sets a value that indicates if the write operations use the
WRITE12 or WRITE10 command.

put_VolumeName Sets the volume name for this file system image.

put_WorkingDirectory Sets the temporary directory in which stash files are built.

QueryCancel Checks whether an AddData, AddAudioTrackBlocks, or


RecordDisc operation should be canceled.

QueryMediaInfo Retrieves information about the currently mounted media,


such as the total number of blocks used on the media.

QueryMediaType Detects the type of media currently inserted in the recorder, if


any.

ReadDvdStructure Reads a DVD structure from the media.

RecordDisc Burns the staged image to media in the active disc recorder.

ReleaseExclusiveAccess Releases exclusive access to the device.

ReleaseMedia Closes a Disc-At-Once (DAO) writing session of a raw image


and releases the lock.

ReleaseMedia Closes the track-writing session and releases the lock.

Remove Removes the specified item from the file system image.

RemoveStream Removes a named stream association with a file.

RemoveTree Remove the specified directory tree from the file system
image.

Reset Resets the enumeration sequence to the beginning.


T IT L E DESC RIP T IO N

Reset Resets the enumeration sequence to the beginning.

RollbackToChangePoint Reverts the image back to the specified change point.

SendCommandGetDataFromDevice Sends a MMC command to the recording device requesting


data from the device.

SendCommandNoData Sends a MMC command to the recording device. Use this


function when no data buffer is sent to nor received from the
device.

SendCommandSendDataToDevice Sends a MMC command and its associated data buffer to the
recording device.

SendDvdStructure Sends a DVD structure to the media.

SetActiveDiscMasterFormat Sets the currently active disc recorder format. The active
format specifies both the structure of the staged image file
content (audio/data) and the COM interface that must be
used to manipulate that staged image.

SetActiveDiscRecorder Selects an active disc recorder. The active disc recorder is the
recorder where a burn will occur when RecordDisc is called.

SetJolietProperties Sets the Joliet properties.

SetMaxMediaBlocksFromDevice Set maximum number of blocks available based on the


capabilities of the recorder.

SetModePage Sets the mode page data for the device.

SetPath Sets the Path property value with a logical path to an .iso
image.

SetRecorderProperties Accepts an IPropertyStorage pointer for an object with all the


properties that the application wishes to change. Sparse
settings are supported.

SetStream Sets the Stream property with the IStream object associated
with the .iso image.

SetWriteSpeed Sets the write speed of the disc recorder.

SetWriteSpeed Sets the write speed of the disc recorder.

SetWriteSpeed Sets the write speed of the disc recorder.

Skip Skips a specified number of items in the enumeration


sequence.

Skip Skips a specified number of items in the enumeration


sequence.
T IT L E DESC RIP T IO N

Update Implement this method to receive progress notification of the


current write operation.

Update Implement this method to receive progress notification of the


current erase operation.

Update Implement this method to receive progress notification of the


current raw-image write operation.

Update Implement this method to receive progress notification of the


current track-writing operation.

Update Implement this method to receive progress notification of the


current write operation.

Update Implement this method to receive progress notification of the


current write operation. The notifications are sent when
copying the content of a file or while adding directories or files
to the file system image.

UpdateImport Receives import notification for every file and directory item
imported from an optical medium.

Validate Determines if the provided .iso image is valid.

Write Writes the data stream to the device.

WriteMedia Writes a DAO-96 raw image to the blank media using MSF
95:00:00 as the starting address.

WriteMedia2 Writes a DAO-96 raw image to the blank media using a


specified starting address.

WriteSection Writes a data stream to the current recorder.

Interfaces
T IT L E DESC RIP T IO N

DDiscFormat2DataEvents Implement this interface to receive notifications of the current


write operation.

DDiscFormat2EraseEvents Implement this interface to receive notifications of the current


erase operation.

DDiscFormat2RawCDEvents Implement this interface to receive notifications of the current


raw-image write operation.

DDiscFormat2TrackAtOnceEvents Implement this interface to receive notifications of the current


track-writing operation.
T IT L E DESC RIP T IO N

DDiscMaster2Events Implement this interface to receive notification when a CD or


DVD device is added to or removed from the computer.

DFileSystemImageEvents Implement this interface to receive notifications of the current


write operation.

DFileSystemImageImportEvents Use this interface to receives notifications regarding the


current file system import operation.

DWriteEngine2Events Implement this interface to receive notifications of the current


write operation.

IBlockRange Use this interface to retrieve information about a single


continuous range of sectors on the media. This interface is
typically used together with the IBlockRangeList interface to
describe a collection of sector ranges.

IBlockRangeList Use this interface to retrieve a list of continuous sector ranges


on the media. This interface is used to describe the sectors
that need to be updated on a rewritable disc when a new
logical session is recorded.

IBootOptions Use this interface to specify the boot image to add to the
optical disc. A boot image contains one or more sectors of
code used to start the computer.

IBurnVerification Use this interface with IDiscFormat2Data or


IDiscFormat2TrackAtOnce to get or set the Burn Verification
Level property which dictates how burned media is verified for
integrity after the write operation.

IDiscFormat2 This is a base interface. Use the following interfaces which


inherit this interface IDiscFormat2Data, IDiscFormat2Erase,
IDiscFormat2TrackAtOnce, IDiscFormat2RawCD

IDiscFormat2Data Use this interface to write a data stream to a disc.

IDiscFormat2DataEventArgs Use this interface to retrieve information about the current


write operation.

IDiscFormat2Erase Use this interface to erase data from a disc.

IDiscFormat2RawCD Use this interface to write raw images to a disc device using
Disc At Once (DAO) mode (also known as uninterrupted
recording).

IDiscFormat2RawCDEventArgs Use this interface to retrieve information about the current


write operation.

IDiscFormat2TrackAtOnce Use this interface to write audio to blank CD-R or CD-RW


media in Track-At-Once mode.

IDiscFormat2TrackAtOnceEventArgs Use this interface to retrieve information about the current


write operation.
T IT L E DESC RIP T IO N

IDiscMaster The IDiscMaster interface allows an application to reserve an


image mastering API, enumerate disc mastering formats and
disc recorders supported by an image mastering object, and
start a simulated or actual burn of a disc.

IDiscMaster2 Use this interface to enumerate the CD and DVD devices


installed on the computer.

IDiscMasterProgressEvents The IDiscMasterProgressEvents interface provides a single


interface for all callbacks that can be made from IMAPI to an
application.

IDiscRecorder The IDiscRecorder interface enables access to a single disc


recorder device, labeled the active disc recorder. An IMAPI
object such as MSDiscMasterObj maintains an active disc
recorder.

IDiscRecorder2 This interface represents a physical device. You use this


interface to retrieve information about a CD and DVD device
installed on the computer and to perform operations such as
closing the tray or eject the media.

IDiscRecorder2Ex This interface represents a physical device.

IEnumFsiItems Use this interface to enumerate the child directory and file
items for a FsiDirectoryItem object.

IEnumProgressItems Use this interface to enumerate a collection of progress items.

IFileSystemImage Use this interface to build a file system image, set session
parameter, and import or export an image.

IFileSystemImage2 Use this interface to write multiple boot entries or boot


images required for the EFI/UEFI support. For example, boot
media with boot straps for both Windows XP and
Windows Vista.

IFileSystemImage3 Use this interface to set or check the metadata and metadata
mirror files in a UDF file system (rev 2.50 and later) to
determine redundancy.

IFileSystemImageResult Use this interface to get information about the burn image,
the image data stream, and progress information.

IFileSystemImageResult2 The IFileSystemImageResult2 interface allows the data


recorder object to retrieve information about modified blocks
in images created for rewritable discs.

IFsiDirectoryItem Use this interface to add items to or remove items from the
file-system image.

IFsiDirectoryItem2 Use this interface to add a directory tree, which includes all
sub-directories, files, and associated named streams to a file
system image.
T IT L E DESC RIP T IO N

IFsiFileItem Use this interface to identify the file size and data stream of
the file contents.

IFsiFileItem2 Use this interface to add, remove and enumerate named


streams associated with a file. This interface also provides
access to the 'Real-Time' attribute of a file.

IFsiItem Base interface containing properties common to both file and


directory items.

IFsiNamedStreams Use this interface to enumerate the named streams associated


with a file in a file system image.

IIsoImageManager Use this interface to verify if an existing .iso file contains a valid
file system for burning.

IJolietDiscMaster The IJolietDiscMaster interface enables the staging of a CD


data disc.

IMultisession Base interface containing properties common to derived


multisession interfaces.

IMultisessionRandomWrite Use this interface to retrieve information about the current


state of media allowing random writes and not supporting the
concept of physical sessions.

IMultisessionSequential Use this interface to retrieve information about the previous


import session on a sequentially recorded media, if the media
contains a previous session.

IMultisessionSequential2 Use this interface to retrieve information about the size of a


writeable unit on sequentially recorded media.

IProgressItem Use this interface to retrieve block information for one


segment of the result file image.

IProgressItems Use this interface to enumerate the progress items in a result


image.

IRawCDImageCreator Use this interface to create a RAW CD image for use in writing
to CD media in Disc-at-Once (DAO) mode. Images created
with this interface can be written to CD media using the
IDiscFormat2RawCD interface.

IRawCDImageTrackInfo Use this interface to track per-track properties that are applied
to CD media.

IRedbookDiscMaster The IRedbookDiscMaster interface enables the staging of an


audio CD image. It represents one of the formats supported
by MSDiscMasterObj, and it allows the creation of multi-track
audio discs in Track-at-Once mode (fixed-size audio gaps).

IStreamConcatenate Use this interface to combine several data streams into a


single stream.
T IT L E DESC RIP T IO N

IStreamInterleave Use this interface to combine several data streams into a


single stream by alternately interspersing portions of each.

IStreamPseudoRandomBased Use this interface to generate a read-only data stream whose


data is initialized with pseudo-random data (not
cryptographically safe). You must call the SetSize method to
set the requested size of the stream.

IWriteEngine2 Use this interface to write a data stream to a device.

IWriteEngine2EventArgs Use this interface to retrieve information about the current


write operation. This interface is passed to the
DWriteEngine2Events::Update method that you implement.

IWriteSpeedDescriptor Use this interface retrieve detailed write configurations


supported by the disc recorder and current media, for
example, the media type, write speed, rotational-speed control
type.
Indexing Service
2/7/2020 • 3 minutes to read • Edit Online

Overview of the Indexing Service technology.


To develop Indexing Service, you need these headers:
cmdtree.h
filter.h
indexsrv.h
ntquery.h
oledbguid.h
For programming guidance for this technology, see:
Indexing Service

Enumerations
T IT L E DESC RIP T IO N

CHUNK_BREAKTYPE Describes the type of break that separates the current chunk
from the previous chunk.

CHUNKSTATE Specifies whether the current chunk is a text-type property or


a value-type property.

DBCOMMANDOPENUM The DBCOMMANDOPENUM enumerated type contains a list


of the possible command operators for nodes in a command
tree.

DBCOMMANDREUSEENUM The DBCOMMANDREUSEENUM enumerated type specifies


whether a state from the previous command is retained.

DBKINDENUM The DBKINDENUM enumerated type specifies the


combination of GUID, property number, or property name to
use to identify a database object.

DBVALUEKINDENUM The DBVALUEKINDENUM enumerated type is used to indicate


the type of the union member inside a DBCOMMANDTREE
structure.

IFILTER_FLAGS Indicates whether the caller should use the


IPropertySetStorage and IPropertyStorage interfaces to locate
additional properties.

IFILTER_INIT Flags that control the filtering process.

WORDREP_BREAK_TYPE Describes the type of break that separates the current word
from the previous word.
Functions
T IT L E DESC RIP T IO N

BindIFilterFromStorage Retrieves the IFilter interface pointer for the specified storage
object. This is especially useful when filtering the contents of a
document and processing embedded OLE objects that are
accessible through their IStorage interfaces.

BindIFilterFromStream Retrieves the IFilter interface pointer for the specified storage
object. This is especially useful when filtering the contents of a
document and processing embedded OLE objects accessible
through their IStream interfaces.

BindRegion Retrieves an interface representing the specified portion of


object. Currently reserved for future use.

FindErrorNodes The ICommandTree::FindErrorNodes method traverses a


command tree and returns an array of nodes with errors in
them.

FreeCommandTree The ICommandTree::FreeCommandTree method traverses a


command tree and deallocates all DBCOMMANDTREE node
structures, as well as all variants in those structures. It then
sets the root pointer to a NULL pointer.

GetChunk Positions the filter at the beginning of the next chunk, or at


the first chunk if this is the first call to the GetChunk method,
and returns a description of the current chunk.

GetCommandTree The ICommandTree::GetCommandTree method echoes the


current command as a tree, including all post-processing
operations that have been added.

GetText Retrieves text (text-type properties) from the current chunk,


which must have a CHUNKSTATE enumeration value of
CHUNK_TEXT.

GetValue Retrieves a value (internal value-type property) from a chunk,


which must have a CHUNKSTATE enumeration value of
CHUNK_VALUE.

Init Initializes a filtering session.

LoadIFilter Retrieves IFilter from path name for object.

SetCatalogState Sets the catalog state for backup or other purposes.

SetCommandTree The ICommandTree::SetCommandTree method sets a


command object's command tree, replacing the existing one
or replacing a text command specified with the ICommandText
interface.

Interfaces
T IT L E DESC RIP T IO N

ICommandTree The ICommandTree interface is optional for providers that


support commands. It contains methods for manipulating
query trees. Providers that support command trees must also
support specifying the same functionality through the
ICommandText interface.

IFilter Scans documents for text and properties (also called


attributes).

IPhraseSink Handles phrases that word breakers parse from query text
during query time.

IQuery The IQuery interface is reserved for future use.

Structures
T IT L E DESC RIP T IO N

CI_STATE Represents the current state of an Indexing Service catalog.

CIPROPERTYDEF Represents the friendly name, type, and property identifier (ID)
information.

DBBYGUID The DBBYGUID structure supplies supplementary information


for a node.

DBCOMMANDTREE The DBCOMMANDTREE structure is the primary data


structure used to represent any node in an OLE DB command
tree, as described in the Data Manipulation Operators and
Data Definition Operators section of this reference.

DBCONTENT The DBCONTENT structure represents specific information


required by the DBOP_content operator.

DBCONTENTPROXIMITY The DBCONTENTPROXIMITY structure represents specific


information required by the DBOP_content_proximity
operator.

DBCONTENTSCOPE The DBCONTENTSCOPE structure is used to pass a scope


argument in a command tree.

DBCONTENTTABLE The DBCONTENTTABLE structure represents the machine and


catalog names for a command tree.

DBCONTENTVECTOR The DBCONTENTVECTOR structure represents specific


information required by the DBOP_content_vector_or
operator.

DBGROUPINFO The DBCONTENTVECTOR structure represents specific


information required by the DBOP_content_vector_or
operator.
T IT L E DESC RIP T IO N

DBID The DBID structure encapsulates various ways of identifying a


database object.

DBLIKE The DBLIKE structure represents specific information required


by the DBOP_like operator.

DBPARAMETER The DBPARAMETER structure is used to define values for


scalar parameters.

DBPROBABILISTIC The DBPROBABILISTIC structure is reserved for future use.

DBRELEVANTDOCUMENT The DBRELEVANTDOCUMENT structure is reserved for future


use.

DBSETFUNC The DBSETFUNC structure specifies the aggregation function


to use in a select operation.

DBSORTINFO The DBSORTINFO structure stores the order in which a


column will be sorted (that is, ascending or descending). This
information is stored inside a DBOP_sort_list_element node.

DBTEXT The DBTEXT structure is used by the DBOP_text_command


node.

FILTERREGION Describes the position and extent of a specified portion of text


within an object.

FULLPROPSPEC Specifies a property set and a property within the property


set.

STAT_CHUNK Describes the characteristics of a chunk.


Ink input
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Ink input technology.


To develop Ink input, you need these headers:
inkpresenterdesktop.h
inkrenderer.h
For programming guidance for this technology, see:
Ink input

Functions
T IT L E DESC RIP T IO N

CreateAndInitializeInkPresenter Creates an IInkPresenterDesktop object on an application


thread, connects it to the app's DirectComposition visual tree,
and sets the size of the object.

CreateInkPresenter Creates an IInkPresenterDesktop object on an application


thread.

Draw Renders the ink stroke to the designated Direct2D device


context of the app.

GetSize Gets the size of the InkPresenter object.

Invoke Executes the ink operation on an IInkDesktopHost object


thread.

OnCommitRequested Requests that the app commit all pending Microsoft


DirectComposition commands to the app's DirectComposition
visual tree.

OnHighContrastChanged Specifies a high contrast change handler. This handler is


notified of changes to the high contrast system settings.

QueueWorkItem Add an ink operation to a work queue for execution on the


IInkDesktopHost thread.

SetCommitRequestHandler Sets an IInkCommitRequestHandler object that enables the


app (instead of an IInkPresenterDesktop object) to commit all
pending Microsoft DirectComposition commands to the app's
DirectComposition visual tree.

SetRootVisual Sets the connection to the app's DirectComposition visual tree.

SetSize Sets the size of the InkPresenter object.


Interfaces
T IT L E DESC RIP T IO N

IInkCommitRequestHandler An IInkCommitRequestHandler object enables the app (instead


of an IInkPresenterDesktop object) to commit all pending
Microsoft DirectComposition commands to the app's
DirectComposition visual tree.

IInkD2DRenderer An IInkD2DRenderer object enables the rendering of ink


strokes onto the designated Direct2D device context of a
Universal Windows app, instead of the default InkCanvas
control.

IInkDesktopHost An IInkDesktopHost object enables ink input, processing, and


rendering through the creation of an app thread to host an
IInkPresenterDesktop object and insert it into the app's
DirectComposition visual tree.

IInkHostWorkItem An IInkHostWorkItem object represents an ink operation to be


executed on an IInkDesktopHost object thread.

IInkPresenterDesktop An IInkPresenterDesktop object represents an InkPresenter


that can be configured and inserted into the
DirectComposition visual tree of the Classic Windows app.
Input Feedback Configuration
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Input Feedback Configuration technology.


The Input Feedback Configuration technology is not associated with any headers.
For programming guidance for this technology, see:
Input Feedback Configuration

Enumerations
T IT L E DESC RIP T IO N

FEEDBACK_TYPE Specifies the visual feedback associated with an event.

Functions
T IT L E DESC RIP T IO N

GetWindowFeedbackSetting Retrieves the feedback configuration for a window.

SetWindowFeedbackSetting Sets the feedback configuration for a window.


Input Source Identification
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Input Source Identification technology.


The Input Source Identification technology is not associated with any headers.
For programming guidance for this technology, see:
Input Source Identification

Enumerations
T IT L E DESC RIP T IO N

INPUT_MESSAGE_DEVICE_TYPE The type of device that sent the input message.

INPUT_MESSAGE_ORIGIN_ID The ID of the input message source.

Functions
T IT L E DESC RIP T IO N

GetCIMSSM Retrieves the source of the input message


(GetCurrentInputMessageSourceInSendMessage).

GetCurrentInputMessageSource Retrieves the source of the input message.

Structures
T IT L E DESC RIP T IO N

INPUT_MESSAGE_SOURCE Contains information about the source of the input message.


Installable file systems DDI reference
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Installable file systems DDI reference technology.


To develop Installable file systems DDI reference, you need these headers:
fltuser.h
For programming guidance for this technology, see:
Installable file systems DDI reference

Functions
T IT L E DESC RIP T IO N

FilterAttach The FilterAttach function attaches a new minifilter instance to


the given volume.

FilterAttachAtAltitude The FilterAttachAtAltitude function is a debugging support


function that attaches a new minifilter instance to a volume at
a specified altitude, overriding any settings in the minifilter's
setup information (INF) file.

FilterClose The FilterClose function closes an open minifilter handle.

FilterConnectCommunicationPort FilterConnectCommunicationPort opens a new connection to


a communication server port that is created by a file system
minifilter.

FilterCreate The FilterCreate function creates a handle for the given


minifilter.

FilterDetach The FilterDetach function detaches the given minifilter instance


from the given volume.

FilterFindClose The FilterFindClose function closes the specified minifilter


search handle. The FilterFindFirst and FilterFindNext functions
use this search handle to locate minifilters.

FilterFindFirst The FilterFindFirst function returns information about a filter


driver (minifilter driver instance or legacy filter driver) and is
used to begin scanning the filters in the global list of
registered filters.

FilterFindNext The FilterFindNext function continues a filter search started by


a call to FilterFindFirst.

FilterGetDosName The FilterGetDosName function returns the MS-DOS device


name that corresponds to the given volume name.
T IT L E DESC RIP T IO N

FilterGetInformation The FilterGetInformation function returns various kinds of


information about a minifilter.

FilterGetMessage The FilterGetMessage function gets a message from a kernel-


mode minifilter.

FilterInstanceClose The FilterInstanceClose function closes a minifilter instance


handle opened by FilterInstanceCreate.

FilterInstanceCreate The FilterInstanceCreate function creates a handle that can be


used to communicate with the given minifilter instance.

FilterInstanceFindClose The FilterInstanceFindClose function closes the specified


minifilter instance search handle. The FilterInstanceFindFirst
and FilterInstanceFindNext functions use this search handle to
locate instances of a minifilter.

FilterInstanceFindFirst The FilterInstanceFindFirst function returns information about


a minifilter driver instance and is used as a starting point for
scanning the instances of a minifilter.

FilterInstanceFindNext The FilterInstanceFindNext function continues a minifilter


driver instance search started by a call to
FilterInstanceFindFirst.

FilterInstanceGetInformation The FilterInstanceGetInformation function returns various


kinds of information about a minifilter instance.

FilterLoad The FilterLoad function dynamically loads a minifilter driver


into the system.

FilterReplyMessage The FilterReplyMessage function replies to a message from a


kernel-mode minifilter.

FilterSendMessage The FilterSendMessage function sends a message to a kernel-


mode minifilter.

FilterUnload An application that has loaded a supporting minifilter by


calling FilterLoad can unload the minifilter by calling the
FilterUnload function.

FilterVolumeFindClose The FilterVolumeFindClose function closes the specified


volume search handle. FilterVolumeFindFirst and
FilterVolumeFindNext use this search handle to locate
volumes.

FilterVolumeFindFirst The FilterVolumeFindFirst function returns information about a


volume.

FilterVolumeFindNext The FilterVolumeFindNext function continues a volume search


started by a call to FilterVolumeFindFirst.
T IT L E DESC RIP T IO N

FilterVolumeInstanceFindClose The FilterVolumeInstanceFindClose function closes the


specified volume instance search handle.
FilterVolumeInstanceFindFirst and
FilterVolumeInstanceFindNext use this search handle to locate
instances on a volume.

FilterVolumeInstanceFindFirst The FilterVolumeInstanceFindFirst function returns information


about a minifilter driver instance or legacy filter driver and is
used to begin scanning the filter drivers that are attached to a
volume.

FilterVolumeInstanceFindNext The FilterVolumeInstanceFindNext function continues a


minifilter driver instance or legacy filter driver search started
by a call to FilterVolumeInstanceFindFirst.
Interaction Context
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Interaction Context technology.


To develop Interaction Context, you need these headers:
interactioncontext.h
For programming guidance for this technology, see:
Interaction Context

Enumerations
T IT L E DESC RIP T IO N

CROSS_SLIDE_FLAGS Specifies the state of the cross-slide interaction.

CROSS_SLIDE_THRESHOLD Specifies the cross-slide behavior thresholds.

INERTIA_PARAMETER Specifies the inertia values for a manipulation (translation,


rotation, scaling).

INTERACTION_CONFIGURATION_FLAGS Specifies the interactions to enable when configuring an


Interaction Context object.

INTERACTION_CONTEXT_PROPERTY Specifies properties of the Interaction Context object.

INTERACTION_FLAGS Specifies the state of an interaction.

INTERACTION_ID Specifies the interaction states used for configuring an


Interaction Context object.

INTERACTION_STATE Specifies the state of the Interaction Context object.

MANIPULATION_RAILS_STATE Specifies the rail states for an interaction.

MOUSE_WHEEL_PARAMETER Specifies the manipulations that can be mapped to mouse


wheel rotation.

Functions
T IT L E DESC RIP T IO N

AddPointerInteractionContext Include the specified pointer in the set of pointers processed


by the Interaction Context object.

BufferPointerPacketsInteractionContext Adds the history for a single input pointer to the buffer of the
Interaction Context object.
T IT L E DESC RIP T IO N

CreateInteractionContext Creates and initializes an Interaction Context object.

DestroyInteractionContext Destroys the specified Interaction Context object.

GetCrossSlideParameterInteractionContext Gets the cross-slide interaction behavior.

GetInertiaParameterInteractionContext Gets the inertia behavior of a manipulation (translation,


rotation, scaling).

GetInteractionConfigurationInteractionContext Gets interaction configuration state for the Interaction Context


object.

GetMouseWheelParameterInteractionContext Gets the mouse wheel state for the Interaction Context object.

GetPropertyInteractionContext Gets Interaction Context object properties.

GetStateInteractionContext Gets current Interaction Context state and the time when the
context will return to idle state.

INTERACTION_CONTEXT_OUTPUT_CALLBACK Callback that receives events from an Interaction Context


object.

ProcessBufferedPacketsInteractionContext Process buffered packets at the end of a pointer input frame.

ProcessInertiaInteractionContext Sends timer input to the Interaction Context object for inertia
processing.

ProcessPointerFramesInteractionContext Processes a set of pointer input frames.

RegisterOutputCallbackInteractionContext Registers a callback to receive interaction events from an


Interaction Context object.

RemovePointerInteractionContext Remove the specified pointer from the set of pointers


processed by the Interaction Context object.

ResetInteractionContext Resets the interaction state, interaction configuration settings,


and all parameters to their initial state. Current interactions
are cancelled without notifications. Interaction Context must
be reconfigured before next use.

SetCrossSlideParametersInteractionContext Configures the cross-slide interaction.

SetInertiaParameterInteractionContext Configures the inertia behavior of a manipulation (translation,


rotation, scaling) after the contact is lifted.

SetInteractionConfigurationInteractionContext Configures the Interaction Context object to process the


specified manipulations.

SetMouseWheelParameterInteractionContext Sets the parameter values for mouse wheel input.

SetPivotInteractionContext Sets the center point, and the pivot radius from the center
point, for a rotation manipulation using a single input pointer.
T IT L E DESC RIP T IO N

SetPropertyInteractionContext Sets Interaction Context object properties.

StopInteractionContext Sets the interaction state to INTERACTION_STATE_IDLE and


leaves all interaction configuration settings and parameters
intact.

Structures
T IT L E DESC RIP T IO N

CROSS_SLIDE_PARAMETER Defines the cross-slide threshold and its distance threshold.

INTERACTION_ARGUMENTS_CROSS_SLIDE Defines the state of the cross-slide interaction.

INTERACTION_ARGUMENTS_MANIPULATION Defines the state of a manipulation.

INTERACTION_ARGUMENTS_TAP Defines the state of the tap interaction.

INTERACTION_CONTEXT_CONFIGURATION Defines the configuration of an Interaction Context object that


enables, disables, or modifies the behavior of an interaction.

INTERACTION_CONTEXT_OUTPUT Defines the output of the Interaction Context object.

MANIPULATION_TRANSFORM Defines the transformation data for a manipulation.

MANIPULATION_VELOCITY Defines the velocity data of a manipulation.


Internationalization for Windows Applications
2/7/2020 • 40 minutes to read • Edit Online

Overview of the Internationalization for Windows Applications technology.


To develop Internationalization for Windows Applications, you need these headers:
datetimeapi.h
elscore.h
gb18030.h
imepad.h
imm.h
immdev.h
msime.h
msimeapi.h
muiload.h
spellcheck.h
spellcheckprovider.h
stringapiset.h
usp10.h
winnls.h
For programming guidance for this technology, see:
Internationalization for Windows Applications

Enumerations
T IT L E DESC RIP T IO N

CORRECTIVE_ACTION Identifies the type of corrective action to be taken for a


spelling error.

IMEUCT Type of user comment in a IMEWRD structure.

NORM_FORM Specifies the supported normalization forms.

SCRIPT_JUSTIFY Defines glyph characteristic information that an application


needs to implement justification.

SYSGEOCLASS Specifies the geographical location class.

SYSGEOTYPE Defines the type of geographical location information


requested in the GetGeoInfo or GetGeoInfoEx function.

SYSNLS_FUNCTION Specifies NLS function capabilities.

WORDLIST_TYPE Identifies one of the types of word lists used by spell


checkers.
Functions
T IT L E DESC RIP T IO N

Add Treats the provided word as though it were part of the


original dictionary.

add_SpellCheckerChanged Adds an event handler (ISpellCheckerChangedEventHandler)


for the SpellCheckerChanged event.

AutoCorrect Causes occurrences of one word to be replaced by another.

Check Checks the spelling of the supplied text and returns a


collection of spelling errors.

Check Checks the spelling of the supplied text and returns a


collection of spelling errors.

Close Closes a dictionary file.

Close Terminates the IFELanguage object.

CompareString Compares two character strings, for a locale specified by


identifier.Caution Using CompareString incorrectly can
compromise the security of your application.

CompareStringA Compares two character strings, for a locale specified by


identifier.Caution Using CompareString incorrectly can
compromise the security of your application.

CompareStringEx Compares two Unicode (wide character) strings, for a locale


specified by name.Caution Using CompareStringEx incorrectly
can compromise the security of your application.

CompareStringOrdinal Compares two Unicode strings to test binary equivalence.

CompareStringW Compares two character strings, for a locale specified by


identifier.Caution Using CompareString incorrectly can
compromise the security of your application.

ComprehensiveCheck Spell-check the provider text in a more thorough manner


than ISpellCheckProvider::Check.

ComprehensiveCheck Checks the spelling of the supplied text in a more thorough


manner than ISpellChecker::Check, and returns a collection of
spelling errors.

ConvertDefaultLocale Converts a default locale value to an actual locale identifier.

Create Creates a new dictionary file.

CreateIFECommonInstance Returns a pointer to an IFECommon interface.

CreateIFEDictionaryInstance Returns a pointer to an IFEDictionary interface.


T IT L E DESC RIP T IO N

CreateIFELanguageInstance Returns a pointer to an IFELanguage interface.

CreateSpellChecker Creates a spell checker that supports the specified language.

CreateSpellCheckProvider Creates a spell checker (implemented by a spell check


provider) that supports the specified language.

CreateUI Called from IImePad to get the applet's window handle, style,
and size.

DeleteDictionary Deletes a dictionary from the IME's plug-in dictionary list.

DisplayProperty This method is obsolete starting with Windows 8, and is no


longer supported.

EnumCalendarInfoA Enumerates calendar information for a specified


locale.Note To receive a calendar identifier in addition to
calendar information, the application should use the
EnumCalendarInfoEx function.

EnumCalendarInfoExA Enumerates calendar information for a locale specified by


identifier.Note Any application that runs only on
Windows Vista and later should use EnumCalendarInfoExEx in
preference to this function.

EnumCalendarInfoExEx Enumerates calendar information for a locale specified by


name.Note The application should call this function in
preference to EnumCalendarInfo or EnumCalendarInfoEx if
designed to run only on Windows Vista and later. Note This
function can enumerate data that changes between releases,
for example, due to a custom locale. If your application must
persist or transmit data, see Using Persistent Locale Data.

EnumCalendarInfoExW Enumerates calendar information for a locale specified by


identifier.Note Any application that runs only on
Windows Vista and later should use EnumCalendarInfoExEx in
preference to this function.

EnumCalendarInfoW Enumerates calendar information for a specified


locale.Note To receive a calendar identifier in addition to
calendar information, the application should use the
EnumCalendarInfoEx function.

EnumDateFormatsA Enumerates the long date, short date, or year/month formats


that are available for a specified locale.

EnumDateFormatsExA Enumerates the long date, short date, or year/month formats


that are available for a specified locale.Note Any application
that runs only on Windows Vista and later should use
EnumDateFormatsExEx in preference to this function.
T IT L E DESC RIP T IO N

EnumDateFormatsExEx Enumerates the long date, short date, or year/month formats


that are available for a locale specified by name.Note The
application should call this function in preference to
EnumDateFormats or EnumDateFormatsEx if designed to run
only on Windows Vista and later. Note This function can
enumerate data that changes between releases, for example,
due to a custom locale. If your application must persist or
transmit data, see Using Persistent Locale Data.

EnumDateFormatsExW Enumerates the long date, short date, or year/month formats


that are available for a specified locale.Note Any application
that runs only on Windows Vista and later should use
EnumDateFormatsExEx in preference to this function.

EnumDateFormatsW Enumerates the long date, short date, or year/month formats


that are available for a specified locale.

EnumLanguageGroupLocalesA Enumerates the locales in a specified language group.

EnumLanguageGroupLocalesW Enumerates the locales in a specified language group.

EnumSystemCodePagesA Enumerates the code pages that are either installed on or


supported by an operating system.

EnumSystemCodePagesW Enumerates the code pages that are either installed on or


supported by an operating system.

EnumSystemGeoID Enumerates the geographical location identifiers (type GEOID)


that are available on the operating system.

EnumSystemGeoNames Enumerates the two-letter International Organization for


Standardization (ISO) 3166-1 codes or numeric United
Nations (UN) Series M, Number 49 (M.49) codes for
geographical locations that are available on the operating
system.

EnumSystemLanguageGroupsA Enumerates the language groups that are either installed on


or supported by an operating system.

EnumSystemLanguageGroupsW Enumerates the language groups that are either installed on


or supported by an operating system.

EnumSystemLocalesA Enumerates the locales that are either installed on or


supported by an operating system.Note For interoperability
reasons, the application should prefer the
EnumSystemLocalesEx function to EnumSystemLocales
because Microsoft is migrating toward the use of locale
names instead of locale identifiers for new locales. Any
application that will be run only on Windows Vista and later
should use EnumSystemLocalesEx.

EnumSystemLocalesEx Enumerates the locales that are either installed on or


supported by an operating system.Note The application
should call this function in preference to EnumSystemLocales
if designed to run only on Windows Vista and later.
T IT L E DESC RIP T IO N

EnumSystemLocalesW Enumerates the locales that are either installed on or


supported by an operating system.Note For interoperability
reasons, the application should prefer the
EnumSystemLocalesEx function to EnumSystemLocales
because Microsoft is migrating toward the use of locale
names instead of locale identifiers for new locales. Any
application that will be run only on Windows Vista and later
should use EnumSystemLocalesEx.

EnumTimeFormatsA Enumerates the time formats that are available for a locale
specified by identifier.Note For interoperability reasons, the
application should prefer the EnumTimeFormatsEx function to
EnumTimeFormats because Microsoft is migrating toward the
use of locale names instead of locale identifiers for new
locales. Any application that runs only on Windows Vista and
later should use EnumTimeFormatsEx.

EnumTimeFormatsEx Enumerates the time formats that are available for a locale
specified by name.Note The application should call this
function in preference to EnumTimeFormats if designed to
run only on Windows Vista and later. Note This function can
enumerate data that changes between releases, for example,
due to a custom locale. If your application must persist or
transmit data, see Using Persistent Locale Data.

EnumTimeFormatsW Enumerates the time formats that are available for a locale
specified by identifier.Note For interoperability reasons, the
application should prefer the EnumTimeFormatsEx function to
EnumTimeFormats because Microsoft is migrating toward the
use of locale names instead of locale identifiers for new
locales. Any application that runs only on Windows Vista and
later should use EnumTimeFormatsEx.

EnumUILanguagesA Enumerates the user interface languages that are available on


the operating system and calls the callback function with
every language in the list.

EnumUILanguagesW Enumerates the user interface languages that are available on


the operating system and calls the callback function with
every language in the list.

ExistWord Determines if the specified word exists in IFEDictionary.

FILEMUIINFO_GET_CULTURE Gets the locale name associated with the language name
offset information in the dwLanguageNameOffset member of
a FILEMUIINFO structure.

FILEMUIINFO_GET_MAIN_TYPEID Gets the main module types array element associated with
the type identifier size and offset in a FILEMUIINFO structure.
The information is provided in the dwTypeIDMainSize and
dwTypeIDMainOffset members of the structure.

FILEMUIINFO_GET_MAIN_TYPEIDS Gets the main module types array associated with the type
identifier offset information in the dwTypeIDMainOffset
member of a FILEMUIINFO structure.
T IT L E DESC RIP T IO N

FILEMUIINFO_GET_MAIN_TYPENAMES Gets the main module names multistring array associated


with the type name offset information in the
dwTypeNameMainOffset member of a FILEMUIINFO
structure.

FILEMUIINFO_GET_MUI_TYPEID Gets the MUI module types array element associated with
the type identifier size and offset information in a
FILEMUIINFO structure. The information is provided in the
dwTypeIDMUISize and dwTypeIDMUIOffset members of the
structure.

FILEMUIINFO_GET_MUI_TYPEIDS Gets the MUI module types array associated with the type
identifier offset information in the dwTypeIDMUIOffset
member of a FILEMUIINFO structure.

FILEMUIINFO_GET_MUI_TYPENAMES Gets the MUI module names multistring array associated


with the type name offset information in the
dwTypeNameMUIOffset member of a FILEMUIINFO structure.

FindNLSString Locates a Unicode string (wide characters) or its equivalent in


another Unicode string for a locale specified by
identifier.Caution Because strings with very different binary
representations can compare as identical, this function can
raise certain security concerns. For more information, see the
discussion of comparison functions in Security
Considerations:_International Features. Note For
interoperability reasons, the application should prefer the
FindNLSStringEx function because Microsoft is migrating
toward the use of locale names instead of locale identifiers for
new locales. Although FindNLSString supports custom locales,
most applications should use FindNLSStringEx for this type of
support.

FindNLSStringEx Locates a Unicode string (wide characters) or its equivalent in


another Unicode string for a locale specified by
name.Caution Because strings with very different binary
representations can compare as identical, this function can
raise certain security concerns. For more information, see the
discussion of comparison functions in Security
Considerations:_International Features.

FindStringOrdinal Locates a Unicode string (wide characters) in another Unicode


string for a non-linguistic comparison.

FoldStringA Maps one Unicode string to another, performing the specified


transformation.

FoldStringW Maps one Unicode string to another, performing the specified


transformation.

FreeMUILibrary Releases the handle to a resource module loaded by


LoadMUILibrary.

GEO_ENUMNAMEPROC An application-defined callback function that processes


enumerated geographical location information provided by
the EnumSystemGeoNames function.
T IT L E DESC RIP T IO N

get_CorrectiveAction Indicates which corrective action should be taken for the


spelling error.

get_Description Get the description of the spell checker option.

get_Heading Gets the heading for the spell checker option.

get_Id Gets the identifier for this spell checker engine.

get_Id Gets the identifier of the spell checker option.

get_Id Gets the identifier for this spell checker.

get_Labels Gets the label enumerator for the spell checker option.

get_LanguageTag Gets the BCP47 language tag this instance of the spell
checker supports.

get_LanguageTag Gets the BCP47 language tag this instance of the spell
checker supports.

get_Length Gets the length of the erroneous text.

get_LocalizedName Gets text, suitable to display to the user, that describes this
spell checker.

get_LocalizedName Gets text, suitable to display to the user, that describes this
spell checker.

get_OptionIds Gets all of the declared option identifiers recognized by the


spell checker.

get_OptionIds Gets all of the declared option identifiers.

get_Replacement Gets the text to use as replacement text when the corrective
action is replace.

get_StartIndex Gets the position in the checked text where the error begins.

get_SupportedLanguages Gets the set of languages/dialects supported by the spell


checker.

get_SupportedLanguages Gets the set of languages/dialects supported by any of the


registered spell checkers.

GetACP Retrieves the current Windows ANSI code page identifier for
the operating system.Caution The ANSI API functions, for
example, the ANSI version of TextOut, implicitly use GetACP
to translate text to or from Unicode.

GetAppletIIDList Called from the IImePad interface to enumerate the


IImePadApplet interfaces that are implemented.
T IT L E DESC RIP T IO N

GetCalendarInfoA Retrieves information about a calendar for a locale specified


by identifier.

GetCalendarInfoEx Retrieves information about a calendar for a locale specified


by name.Note The application should call this function in
preference to GetCalendarInfo if designed to run only on
Windows Vista and later. Note This function can retrieve data
that changes between releases, for example, due to a custom
locale. If your application must persist or transmit data, see
Using Persistent Locale Data.

GetCalendarInfoW Retrieves information about a calendar for a locale specified


by identifier.

GetConversion Converts the input string (which usually contains the


Hiragana character) to converted strings.

GetConversionModeCaps Gets the conversion mode capability of the IFELanguage


object.

GetCPInfo Retrieves information about any valid installed or available


code page.

GetCPInfoExA Retrieves information about any valid installed or available


code page.

GetCPInfoExW Retrieves information about any valid installed or available


code page.

GetCurrencyFormatA Formats a number string as a currency string for a locale


specified by identifier.

GetCurrencyFormatEx Formats a number string as a currency string for a locale


specified by name.Note The application should call this
function in preference to GetCurrencyFormat if designed to
run only on Windows Vista and later. Note This function can
format data that changes between releases, for example, due
to a custom locale. If your application must persist or
transmit data, see Using Persistent Locale Data.

GetCurrencyFormatW Formats a number string as a currency string for a locale


specified by identifier.

GetDateFormatA Formats a date as a date string for a locale specified by the


locale identifier.

GetDateFormatEx Formats a date as a date string for a locale specified by name.

GetDateFormatW Formats a date as a date string for a locale specified by the


locale identifier.

GetDictionariesInUse Obtains the list of Dictionay IDs (GUID) of the IME plug-in
dictionaries which are in use by IME, with their creation dates
and encryption flags.
T IT L E DESC RIP T IO N

GetDurationFormat Formats a duration of time as a time string for a locale


specified by identifier.

GetDurationFormatEx Formats a duration of time as a time string for a locale


specified by name.

GetFileMUIInfo Retrieves resource-related information about a file.

GetFileMUIPath Retrieves the path to all language-specific resource files


associated with the supplied LN file. The application must call
this function repeatedly to get the path for each resource file.

GetGeoInfoA Retrieves information about a specified geographical location.

GetGeoInfoEx Retrieves information about a geographic location that you


specify by using a two-letter International Organization for
Standardization (ISO) 3166-1 code or numeric United Nations
(UN) Series M, Number 49 (M.49) code.

GetGeoInfoW Retrieves information about a specified geographical location.

GetHeader Gets a dictionary header from a dictionary file without


opening the dictionary.

GetJMorphResult Gets morphological analysis results.

GetLocaleInfoA Retrieves information about a locale specified by identifier.

GetLocaleInfoEx Retrieves information about a locale specified by


name.Note The application should call this function in
preference to GetLocaleInfo if designed to run only on
Windows Vista and later. Note This function can retrieve data
that changes between releases, for example, due to a custom
locale. If your application must persist or transmit data, see
Using Persistent Locale Data.

GetLocaleInfoW Retrieves information about a locale specified by identifier.

GetNLSVersion Retrieves information about the current version of a specified


NLS capability for a locale specified by identifier.Note For
interoperability reasons, the application should prefer the
GetNLSVersionEx function to GetNLSVersion because
Microsoft is migrating toward the use of locale names instead
of locale identifiers for new locales. This recommendation
applies especially to custom locales, for which
GetNLSVersionEx retrieves enough information to determine
if sort behavior has changed. Any application that runs only
on Windows Vista and later should use GetNLSVersionEx or
at least pass the NLSVERSIONINFOEX structure when calling
GetNLSVersion to obtain additional sorting versioning data.
T IT L E DESC RIP T IO N

GetNLSVersionEx Retrieves information about the current version of a specified


NLS capability for a locale specified by name.Note The
application should call this function in preference to
GetNLSVersion if designed to run only on Windows Vista and
later.

GetNumberFormatA Formats a number string as a number string customized for a


locale specified by identifier.

GetNumberFormatEx Formats a number string as a number string customized for a


locale specified by name.Note The application should call this
function in preference to GetNumberFormat if designed to
run only on Windows Vista and later. Note This function can
format data that changes between releases, for example, due
to a custom locale. If your application must persist or
transmit data, see Using Persistent Locale Data.

GetNumberFormatW Formats a number string as a number string customized for a


locale specified by identifier.

GetOEMCP Returns the current original equipment manufacturer (OEM)


code page identifier for the operating system.

GetOptionDescription Retrieves the information (id, description, heading and labels)


of a specific option.

GetOptionDescription Retrieves the information (id, description, heading and labels)


of a specific option.

GetOptionValue Retrieves the value associated with the given option.

GetOptionValue Retrieves the value associated with the given option.

GetPosTable Obtains the public POS (Part of Speech) table.

GetProcessPreferredUILanguages Retrieves the process preferred UI languages. For more


information, see User Interface Language Management.

GetStringScripts Provides a list of scripts used in the specified Unicode string.

GetStringTypeA Deprecated.

GetStringTypeExW Retrieves character type information for the characters in the


specified source string.

GetStringTypeW Retrieves character type information for the characters in the


specified Unicode source string.

GetSystemDefaultLangID Returns the language identifier for the system locale.

GetSystemDefaultLCID Returns the locale identifier for the system locale.Note Any
application that runs only on Windows Vista and later should
use GetSystemDefaultLocaleName in preference to this
function.
T IT L E DESC RIP T IO N

GetSystemDefaultLocaleName Retrieves the system default locale name.Note It is


recommended that applications call
GetUserDefaultLocaleName in preference over this function.

GetSystemDefaultUILanguage Retrieves the language identifier for the system default UI


language of the operating system, also known as the "install
language" on Windows Vista and later. For more information,
see User Interface Language Management.

GetSystemPreferredUILanguages Retrieves the system preferred UI languages. For more


information, see User Interface Language Management.

GetTextCharset Retrieves a character set identifier for the font that is currently
selected into a specified device context.

GetTextCharsetInfo Retrieves information about the character set of the font that
is currently selected into a specified device context.

GetThreadLocale Returns the locale identifier of the current locale for the calling
thread.Note This function can retrieve data that changes
between releases, for example, due to a custom locale.

GetThreadPreferredUILanguages Retrieves the thread preferred UI languages for the current


thread. For more information, see User Interface Language
Management.

GetThreadUILanguage Returns the language identifier of the first user interface


language for the current thread.

GetTimeFormatA Formats time as a time string for a locale specified by


identifier. The function formats either a specified time or the
local system time.

GetTimeFormatEx Formats time as a time string for a locale specified by name.

GetTimeFormatW Formats time as a time string for a locale specified by


identifier. The function formats either a specified time or the
local system time.

GetUILanguageFallbackList Gets a fallback list of UI languages represented as language


names.

GetUILanguageInfo Retrieves a variety of information about an installed UI


language

GetUserDefaultGeoName Retrieves the two-letter International Organization for


Standardization (ISO) 3166-1 code or numeric United Nations
(UN) Series M, Number 49 (M.49) code for the default
geographical location of the user.

GetUserDefaultLangID Returns the language identifier of the Region Format setting


for the current user.
T IT L E DESC RIP T IO N

GetUserDefaultLCID Returns the locale identifier for the user default


locale.Caution If the user default locale is a custom locale, an
application cannot accurately tag data with the value or
exchange it.

GetUserDefaultLocaleName Retrieves the user default locale name.Note The application


should call this function in preference to GetUserDefaultLCID
if designed to run only on Windows Vista and later.

GetUserDefaultUILanguage Returns the language identifier for the user UI language for
the current user.

GetUserGeoID Retrieves information about the geographical location of the


user. For more information, see Table of Geographical
Locations.

GetUserPreferredUILanguages Retrieves information about the user preferred UI languages.


For more information, see User Interface Language
Management.

GetWords Gets word entries from a dictionary.

IdnToAscii Converts an internationalized domain name (IDN) or another


internationalized label to a Unicode (wide character)
representation of the ASCII string that represents the name
in the Punycode transfer encoding syntax.

IdnToNameprepUnicode Converts an internationalized domain name (IDN) or another


internationalized label to the NamePrep form specified by
Network Working Group RFC 3491, but does not perform the
additional conversion to Punycode.

IdnToUnicode Converts the Punycode form of an internationalized domain


name (IDN) or another internationalized label to the normal
Unicode UTF-16 encoding syntax.

Ignore Ignores the provided word for the rest of this session.

IMCENUMPROC An application-defined callback function that processes input


contexts provided by the ImmEnumInputContext function.

IMCENUMPROC An application-defined callback function that processes input


contexts provided by the ImmEnumInputContext function.

ImmAssociateContext Associates the specified input context with the specified


window. By default, the operating system associates the
default input context with each window as it is created.

ImmAssociateContext Associates the specified input context with the specified


window. By default, the operating system associates the
default input context with each window as it is created.

ImmAssociateContextEx Changes the association between the input method context


and the specified window or its children.
T IT L E DESC RIP T IO N

ImmAssociateContextEx Changes the association between the input method context


and the specified window or its children.

ImmConfigureIMEA Displays the configuration dialog box for the IME of the
specified input locale identifier.

ImmConfigureIMEA Displays the configuration dialog box for the IME of the
specified input locale identifier.

ImmConfigureIMEW Displays the configuration dialog box for the IME of the
specified input locale identifier.

ImmConfigureIMEW Displays the configuration dialog box for the IME of the
specified input locale identifier.

ImmCreateContext Creates a new input context, allocating memory for the


context and initializing it. An application calls this function to
prepare its own input context.

ImmCreateContext Creates a new input context, allocating memory for the


context and initializing it. An application calls this function to
prepare its own input context.

ImmDestroyContext Releases the input context and frees associated memory.

ImmDestroyContext Releases the input context and frees associated memory.

ImmDisableIME Disables the IME for a thread or for all threads in a process.

ImmDisableIME Disables the IME for a thread or for all threads in a process.

ImmDisableLegacyIME Indicates that this thread is a Windows Store app UI thread.

ImmDisableLegacyIME Indicates that this thread is a Windows Store app UI thread.

ImmDisableTextFrameService ImmDisableTextFrameService is no longer available for use as


of Windows Vista.

ImmDisableTextFrameService ImmDisableTextFrameService is no longer available for use as


of Windows Vista.

ImmEnumInputContext Retrieves the input context for the specified thread.

ImmEnumInputContext Retrieves the input context for the specified thread.

ImmEnumRegisterWordA Enumerates the register strings having the specified reading


string, style, and register string.

ImmEnumRegisterWordA Enumerates the register strings having the specified reading


string, style, and register string.

ImmEnumRegisterWordW Enumerates the register strings having the specified reading


string, style, and register string.
T IT L E DESC RIP T IO N

ImmEnumRegisterWordW Enumerates the register strings having the specified reading


string, style, and register string.

ImmEscapeA Accesses capabilities of particular IMEs that are not available


through other IME API functions. This function is used mainly
for country-specific operations.

ImmEscapeA Accesses capabilities of particular IMEs that are not available


through other IME API functions. This function is used mainly
for country-specific operations.

ImmEscapeW Accesses capabilities of particular IMEs that are not available


through other IME API functions. This function is used mainly
for country-specific operations.

ImmEscapeW Accesses capabilities of particular IMEs that are not available


through other IME API functions. This function is used mainly
for country-specific operations.

ImmGetCandidateListA Retrieves a candidate list.

ImmGetCandidateListA Retrieves a candidate list.

ImmGetCandidateListCountA Retrieves the size of the candidate lists.

ImmGetCandidateListCountA Retrieves the size of the candidate lists.

ImmGetCandidateListCountW Retrieves the size of the candidate lists.

ImmGetCandidateListCountW Retrieves the size of the candidate lists.

ImmGetCandidateListW Retrieves a candidate list.

ImmGetCandidateListW Retrieves a candidate list.

ImmGetCandidateWindow Retrieves information about the candidates window.

ImmGetCandidateWindow Retrieves information about the candidates window.

ImmGetCompositionFontA Retrieves information about the logical font currently used to


display characters in the composition window.

ImmGetCompositionFontA Retrieves information about the logical font currently used to


display characters in the composition window.

ImmGetCompositionFontW Retrieves information about the logical font currently used to


display characters in the composition window.

ImmGetCompositionFontW Retrieves information about the logical font currently used to


display characters in the composition window.

ImmGetCompositionStringA Retrieves information about the composition string.


T IT L E DESC RIP T IO N

ImmGetCompositionStringA Retrieves information about the composition string.

ImmGetCompositionStringW Retrieves information about the composition string.

ImmGetCompositionStringW Retrieves information about the composition string.

ImmGetCompositionWindow Retrieves information about the composition window.

ImmGetCompositionWindow Retrieves information about the composition window.

ImmGetContext Returns the input context associated with the specified


window.

ImmGetContext Returns the input context associated with the specified


window.

ImmGetConversionListA Retrieves the conversion result list of characters or words


without generating any IME-related messages.

ImmGetConversionListA Retrieves the conversion result list of characters or words


without generating any IME-related messages.

ImmGetConversionListW Retrieves the conversion result list of characters or words


without generating any IME-related messages.

ImmGetConversionListW Retrieves the conversion result list of characters or words


without generating any IME-related messages.

ImmGetConversionStatus Retrieves the current conversion status.

ImmGetConversionStatus Retrieves the current conversion status.

ImmGetDefaultIMEWnd Retrieves the default window handle to the IME class.

ImmGetDefaultIMEWnd Retrieves the default window handle to the IME class.

ImmGetDescriptionA Copies the description of the IME to the specified buffer.

ImmGetDescriptionA Copies the description of the IME to the specified buffer.

ImmGetDescriptionW Copies the description of the IME to the specified buffer.

ImmGetDescriptionW Copies the description of the IME to the specified buffer.

ImmGetGuideLineA Retrieves information about errors. Applications use the


information for user notifications.

ImmGetGuideLineA Retrieves information about errors. Applications use the


information for user notifications.

ImmGetGuideLineW Retrieves information about errors. Applications use the


information for user notifications.
T IT L E DESC RIP T IO N

ImmGetGuideLineW Retrieves information about errors. Applications use the


information for user notifications.

ImmGetIMEFileNameA Retrieves the file name of the IME associated with the
specified input locale.

ImmGetIMEFileNameA Retrieves the file name of the IME associated with the
specified input locale.

ImmGetIMEFileNameW Retrieves the file name of the IME associated with the
specified input locale.

ImmGetIMEFileNameW Retrieves the file name of the IME associated with the
specified input locale.

ImmGetImeMenuItemsA Retrieves the menu items that are registered in the IME menu
of a specified input context.

ImmGetImeMenuItemsA Retrieves the menu items that are registered in the IME menu
of a specified input context.

ImmGetImeMenuItemsW Retrieves the menu items that are registered in the IME menu
of a specified input context.

ImmGetImeMenuItemsW Retrieves the menu items that are registered in the IME menu
of a specified input context.

ImmGetOpenStatus Determines whether the IME is open or closed.

ImmGetOpenStatus Determines whether the IME is open or closed.

ImmGetProperty Retrieves the property and capabilities of the IME associated


with the specified input locale.

ImmGetProperty Retrieves the property and capabilities of the IME associated


with the specified input locale.

ImmGetRegisterWordStyleA Retrieves a list of the styles supported by the IME associated


with the specified input locale.

ImmGetRegisterWordStyleA Retrieves a list of the styles supported by the IME associated


with the specified input locale.

ImmGetRegisterWordStyleW Retrieves a list of the styles supported by the IME associated


with the specified input locale.

ImmGetRegisterWordStyleW Retrieves a list of the styles supported by the IME associated


with the specified input locale.

ImmGetStatusWindowPos Retrieves the position of the status window.

ImmGetStatusWindowPos Retrieves the position of the status window.


T IT L E DESC RIP T IO N

ImmGetVirtualKey Retrieves the original virtual key value associated with a key
input message that the IME has already processed.

ImmGetVirtualKey Retrieves the original virtual key value associated with a key
input message that the IME has already processed.

ImmInstallIMEA Installs an IME.

ImmInstallIMEA Installs an IME.

ImmInstallIMEW Installs an IME.

ImmInstallIMEW Installs an IME.

ImmIsIME Determines if the specified input locale has an IME.

ImmIsIME Determines if the specified input locale has an IME.

ImmIsUIMessageA Checks for messages intended for the IME window and sends
those messages to the window.

ImmIsUIMessageA Checks for messages intended for the IME window and sends
those messages to the window.

ImmIsUIMessageW Checks for messages intended for the IME window and sends
those messages to the window.

ImmIsUIMessageW Checks for messages intended for the IME window and sends
those messages to the window.

ImmNotifyIME Notifies the IME about changes to the status of the input
context.

ImmNotifyIME Notifies the IME about changes to the status of the input
context.

ImmRegisterWordA Registers a string with the dictionary of the IME associated


with the specified input locale.

ImmRegisterWordA Registers a string with the dictionary of the IME associated


with the specified input locale.

ImmRegisterWordW Registers a string with the dictionary of the IME associated


with the specified input locale.

ImmRegisterWordW Registers a string with the dictionary of the IME associated


with the specified input locale.

ImmReleaseContext Releases the input context and unlocks the memory


associated in the input context. An application must call this
function for each call to the ImmGetContext function.
T IT L E DESC RIP T IO N

ImmReleaseContext Releases the input context and unlocks the memory


associated in the input context. An application must call this
function for each call to the ImmGetContext function.

ImmRequestMessageA Generates a WM_IME_REQUEST message.

ImmRequestMessageW Generates a WM_IME_REQUEST message.

ImmSetCandidateWindow Sets information about the candidates window.

ImmSetCandidateWindow Sets information about the candidates window.

ImmSetCompositionFontA Sets the logical font to use to display characters in the


composition window.

ImmSetCompositionFontA Sets the logical font to use to display characters in the


composition window.

ImmSetCompositionFontW Sets the logical font to use to display characters in the


composition window.

ImmSetCompositionFontW Sets the logical font to use to display characters in the


composition window.

ImmSetCompositionStringA Sets the characters, attributes, and clauses of the composition


and reading strings.

ImmSetCompositionStringA Sets the characters, attributes, and clauses of the composition


and reading strings.

ImmSetCompositionStringW Sets the characters, attributes, and clauses of the composition


and reading strings.

ImmSetCompositionStringW Sets the characters, attributes, and clauses of the composition


and reading strings.

ImmSetCompositionWindow Sets the position of the composition window.

ImmSetCompositionWindow Sets the position of the composition window.

ImmSetConversionStatus Sets the current conversion status.

ImmSetConversionStatus Sets the current conversion status.

ImmSetOpenStatus Opens or closes the IME.

ImmSetOpenStatus Opens or closes the IME.

ImmSetStatusWindowPos Sets the position of the status window.

ImmSetStatusWindowPos Sets the position of the status window.


T IT L E DESC RIP T IO N

ImmSimulateHotKey Simulates the specified IME hot key, causing the same
response as if the user presses the hot key in the specified
window.

ImmSimulateHotKey Simulates the specified IME hot key, causing the same
response as if the user presses the hot key in the specified
window.

ImmUnregisterWordA Removes a register string from the dictionary of the IME


associated with the specified input locale.

ImmUnregisterWordA Removes a register string from the dictionary of the IME


associated with the specified input locale.

ImmUnregisterWordW Removes a register string from the dictionary of the IME


associated with the specified input locale.

ImmUnregisterWordW Removes a register string from the dictionary of the IME


associated with the specified input locale.

Initialize Called from IImePad interface to initialize IImePadApplet.

InitializeWordlist Initialize the specified word list to contain only the specified
words.

Invoke Receives the SpellCheckerChanged event.

InvokeDictToolDialog Invokes the Microsoft IME's Dictionary Tool from the app.

InvokeWordRegDialog Invokes the Microsoft IME Word Register Dialog Window


from the app.

IS_HIGH_SURROGATE Determines if a character is a UTF-16 high surrogate code


point, ranging from 0xd800 to 0xdbff, inclusive.

IS_LOW_SURROGATE Determines if a character is a UTF-16 low surrogate code


point, ranging from 0xdc00 to 0xdfff, inclusive.

IS_SURROGATE_PAIR Determines if the specified code units form a UTF-16


surrogate pair.

IsDBCSLeadByte Determines if a specified character is a lead byte for the


system default Windows ANSI code page (CP_ACP). A lead
byte is the first byte of a two-byte character in a double-byte
character set (DBCS) for the code page.

IsDBCSLeadByteEx Determines if a specified character is potentially a lead byte. A


lead byte is the first byte of a two-byte character in a double-
byte character set (DBCS) for the code page.

IsDefaultIME Determines if the IME specified by the class ID is the default


IME on a local computer.
T IT L E DESC RIP T IO N

IsNLSDefinedString Determines if each character in a string has a defined result


for a specified NLS capability.

IsNormalizedString Verifies that a string is normalized according to Unicode 4.0


TR#15. For more information, see Using Unicode
Normalization to Represent Strings.

IsSupported Determines if the specified language is supported by this spell


checker.

IsSupported Determines if the specified language is supported by a


registered spell checker.

IsTextUnicode Determines if a buffer is likely to contain a form of Unicode


text.

IsValidCodePage Determines if a specified code page is valid.

IsValidLanguageGroup Determines if a language group is installed or supported on


the operating system. For more information, see NLS
Terminology.

IsValidLocale Determines if the specified locale is installed or supported on


the operating system. For more information, see Locales and
Languages.

IsValidLocaleName Determines if the specified locale name is valid for a locale


that is installed or supported on the operating
system.Note An application running only on Windows Vista
and later should call this function in preference to
IsValidLocale to determine the validity of a supplemental
locale.

IsValidNLSVersion Determines if the NLS version is valid for a given NLS


function.

LANGGROUPLOCALE_ENUMPROCA An application-defined callback function that processes


enumerated language group locale information provided by
the EnumLanguageGroupLocales function.

LANGGROUPLOCALE_ENUMPROCW An application-defined callback function that processes


enumerated language group locale information provided by
the EnumLanguageGroupLocales function.

LANGIDFROMLCID Retrieves a language identifier from a locale identifier.

LCIDToLocaleName Converts a locale identifier to a locale name.

LCMapStringA For a locale specified by identifier, maps one input character


string to another using a specified transformation, or
generates a sort key for the input string.
T IT L E DESC RIP T IO N

LCMapStringEx For a locale specified by name, maps an input character string


to another using a specified transformation, or generates a
sort key for the input string.Note The application should call
this function in preference to LCMapString if designed to run
only on Windows Vista and later.

LCMapStringW For a locale specified by identifier, maps one input character


string to another using a specified transformation, or
generates a sort key for the input string.

LoadMUILibraryA Returns a handle to the language-specific resources


associated with a particular language-neutral (LN) file.

LoadMUILibraryW Returns a handle to the language-specific resources


associated with a particular language-neutral (LN) file.

LoadStringByReference Unsupported. LoadStringByReference may be altered or


unavailable. Instead, use SHLoadIndirectString.

LOCALE_ENUMPROCEX An application-defined callback function that processes


enumerated locale information provided by the
EnumSystemLocalesEx function.

LocaleNameToLCID Converts a locale name to a locale identifier.

MAKELANGID Creates a language identifier from a primary language


identifier and a sublanguage identifier.

MAKELCID Creates a locale identifier from a language identifier and a


sort order identifier.

MAKESORTLCID Constructs a locale identifier (LCID) from a language identifier,


a sort order identifier, and the sort version.

MappingDoAction Causes an ELS service to perform an action after text


recognition has occurred. For example, a phone dialer service
first must recognize phone numbers and then can perform
the "action" of dialing a number.

MappingFreePropertyBag Frees memory and resources allocated during an ELS text


recognition operation.

MappingFreeServices Frees memory and resources allocated for the application to


interact with one or more ELS services. The memory and
resources are allocated in an application call to
MappingGetServices.

MappingGetServices Retrieves a list of available ELS platform-supported services,


along with associated information, according to application-
specified criteria.

MappingRecognizeText Calls upon an ELS service to recognize text. For example, the
Microsoft Language Detection service will attempt to
recognize the language in which the input text is written.
T IT L E DESC RIP T IO N

MultiByteToWideChar Maps a character string to a UTF-16 (wide character) string.

Next Gets the next spelling error.

NextWords Gets the next word entry from a dictionary.

NlsDllCodePageTranslation Used to get code page information or do conversion,


depending on flag settings.

NormalizeString Normalizes characters of a text string according to Unicode


4.0 TR#15. For more information, see Using Unicode
Normalization to Represent Strings.

Notify Called from IImePad to pass information with a notify code.

NotifyUILanguageChange Unsupported. NotifyUILanguageChange may be altered or


unavailable.

Open Opens a dictionary file.

Open Initializes the IFELanguage object.

PFN_MAPPINGCALLBACKPROC An application-defined callback function that asynchronously


processes data produced by the MappingRecognizeText
function.

PRIMARYLANGID Extracts a primary language identifier from a language


identifier.

RegisterUserDictionary Registers a file to be used as a user dictionary for the current


user, until unregistered.

RegisterWord Registers a new word or deletes an existing word in the


IFEDictionary.

REGISTERWORDENUMPROCA An application-defined callback function used with the


ImmEnumRegisterWord function.

REGISTERWORDENUMPROCA An application-defined callback function used with the


ImmEnumRegisterWord function.

REGISTERWORDENUMPROCW An application-defined callback function used with the


ImmEnumRegisterWord function.

REGISTERWORDENUMPROCW An application-defined callback function used with the


ImmEnumRegisterWord function.

Remove Removes a word that was previously added by


ISpellChecker.Add, or set by ISpellChecker.Ignore to be
ignored.
T IT L E DESC RIP T IO N

remove_SpellCheckerChanged Removes an event handler


(ISpellCheckerChangedEventHandler) that has been added for
the SpellCheckerChanged event.

Request Called by an IImePadApplet to insert text into an app.

ResolveLocaleName Finds a possible locale name match for the supplied name.

ScriptApplyDigitSubstitution Applies the specified digit substitution settings to the


specified script control and script state structures.

ScriptApplyLogicalWidth Takes an array of advance widths for a run and generates an


array of adjusted advance glyph widths.

ScriptBreak Retrieves information for determining line breaks.

ScriptCacheGetHeight Retrieves the height of the currently cached font.

ScriptCPtoX Generates the x offset from the left end or leading edge of a
run to either the leading or trailing edge of a logical character
cluster.

ScriptFreeCache Frees a script cache.

ScriptGetCMap Retrieves the glyph indexes of the Unicode characters in a


string according to either the TrueType cmap table or the
standard cmap table implemented for old-style fonts.

ScriptGetFontAlternateGlyphs Retrieves a list of alternate glyphs for a specified character


that can be accessed through a specified OpenType feature.

ScriptGetFontFeatureTags Retrieves a list of typographic features for the defined writing


system for OpenType processing. The typographic feature
tags comprising the list are retrieved from the font in the
supplied device context or cache.

ScriptGetFontLanguageTags Retrieves a list of language tags that are available for the
specified item and are supported by a specified script tag for
OpenType processing. The tags comprising the list are
retrieved from the font in the specified device context or
cache.

ScriptGetFontProperties Retrieves information from the font cache on the special


glyphs used by a font.

ScriptGetFontScriptTags Retrieves a list of scripts available in the font for OpenType


processing. Scripts comprising the list are retrieved from the
font located in the supplied device context or from the script
shaping engine that processes the font of the current run.

ScriptGetGlyphABCWidth Retrieves the ABC width of a given glyph.

ScriptGetLogicalWidths Converts the glyph advance widths for a specific font into
logical widths.
T IT L E DESC RIP T IO N

ScriptGetProperties Retrieves information about the current scripts.

ScriptIsComplex Determines whether a Unicode string requires complex script


processing.

ScriptItemize Breaks a Unicode string into individually shapeable items.

ScriptItemizeOpenType Breaks a Unicode string into individually shapeable items and


provides an array of feature tags for each shapeable item for
OpenType processing.

ScriptJustify Creates an advance widths table to allow text justification


when passed to the ScriptTextOut function.

ScriptLayout Converts an array of run embedding levels to a map of


visual-to-logical position and/or logical-to-visual position.

ScriptPlace Generates glyph advance width and two-dimensional offset


information from the output of ScriptShape.

ScriptPlaceOpenType Generates glyphs and visual attributes for a Unicode run with
OpenType information from the output of
ScriptShapeOpenType.

ScriptPositionSingleGlyph Positions a single glyph with a single adjustment using a


specified feature provided in the font for OpenType
processing. Most often, applications use this function to align
a glyph optically at the beginning or end of a line.

ScriptRecordDigitSubstitution Reads the National Language Support (NLS) native digit and
digit substitution settings and records them in a
SCRIPT_DIGITSUBSTITUTE structure. For more information,
see Digit Shapes.

ScriptShape Generates glyphs and visual attributes for a Unicode run.

ScriptShapeOpenType Generates glyphs and visual attributes for a Unicode run with
OpenType information. Each run consists of one call to this
function.

ScriptString_pcOutChars Returns a pointer to the length of a string after clipping.

ScriptString_pLogAttr Returns a pointer to a logical attributes buffer for an analyzed


string.

ScriptString_pSize Returns a pointer to a SIZE structure for an analyzed string.

ScriptStringAnalyse Analyzes a plain text string.

ScriptStringCPtoX Retrieves the x coordinate for the leading or trailing edge of a


character position.

ScriptStringFree Frees a SCRIPT_STRING_ANALYSIS structure.


T IT L E DESC RIP T IO N

ScriptStringGetLogicalWidths Converts visual widths into logical widths.

ScriptStringGetOrder Creates an array that maps an original character position to a


glyph position.

ScriptStringOut Displays a string generated by a prior call to


ScriptStringAnalyse and optionally adds highlighting.

ScriptStringValidate Checks a SCRIPT_STRING_ANALYSIS structure for invalid


sequences.

ScriptStringXtoCP Converts an x coordinate to a character position.

ScriptSubstituteSingleGlyph Enables substitution of a single glyph with one alternate form


of the same glyph for OpenType processing.

ScriptTextOut Displays text for the specified script shape and place
information.

ScriptXtoCP Generates the leading or trailing edge of a logical character


cluster from the x offset of a run.

SetCalendarInfoA Sets an item of locale information for a calendar. For more


information, see Date and Calendar.

SetCalendarInfoW Sets an item of locale information for a calendar. For more


information, see Date and Calendar.

SetDefaultIME Allows the Microsoft IME to become the default IME in the
keyboard layout.

SetHeader Sets a dictionary header in a dictionary file.

SetLocaleInfoA Sets an item of information in the user override portion of


the current locale. This function does not set the system
defaults.

SetLocaleInfoW Sets an item of information in the user override portion of


the current locale. This function does not set the system
defaults.

SetOptionValue Sets the value associated with the given option.

SetProcessPreferredUILanguages Sets the process preferred UI languages for the application


process. For more information, see User Interface Language
Management.

SetThreadLocale Sets the current locale of the calling thread.

SetThreadPreferredUILanguages Sets the thread preferred UI languages for the current thread.
For more information, see User Interface Language
Management.
T IT L E DESC RIP T IO N

SetThreadUILanguage Sets the user interface language for the current thread.

SetUserGeoID Sets the geographical location identifier for the user. This
identifier should have one of the values described in Table of
Geographical Locations.

SetUserGeoName Sets the geographic location for the current user to the
specified two-letter International Organization for
Standardization (ISO) 3166-1 code or numeric United Nations
(UN) Series M, Number 49 (M.49) code.

SORTIDFROMLCID Retrieves a sort order identifier from a locale identifier.

SORTVERSIONFROMLCID Retrieves the sort version from a locale identifier.

SUBLANGID Extracts a sublanguage identifier from a language identifier.

Suggest Retrieves spelling suggestions for the supplied text.

Suggest Retrieves spelling suggestions for the supplied text.

Terminate Called from IImePad to terminate IImePadApplet when the


IMEPad instance exits.

TEXT Identifies a string as Unicode when UNICODE is defined by a


preprocessor directive during compilation. Otherwise, the
macro identifies a string as an ANSI string.

TranslateCharsetInfo Translates character set information and sets all members of a


destination structure to appropriate values.

UILANGUAGE_ENUMPROCA An application-defined callback function that processes


enumerated user interface language information provided by
the EnumUILanguages function.

UILANGUAGE_ENUMPROCW An application-defined callback function that processes


enumerated user interface language information provided by
the EnumUILanguages function.

UnregisterUserDictionary Unregisters a previously registered user dictionary.

VerifyScripts Compares two enumerated lists of scripts.

WideCharToMultiByte Maps a UTF-16 (wide character) string to a new character


string.

Interfaces
T IT L E DESC RIP T IO N

IComprehensiveSpellCheckProvider Allows the provider to optionally support a more


comprehensive spell checking functionality.
T IT L E DESC RIP T IO N

IEnumSpellingError An enumeration of the spelling errors.

IFECommon The IFECommon interface provides IME-related services that


are common for different languages.

IFEDictionary The IFEDictionary interface allows clients to access a Microsoft


IME user dictionary.

IFELanguage The IFELanguage interface provides language processing


services using the Microsoft IME.

IImePad The IImePad interface inserts text into apps from


IMEPadApplets that implement the IImePadApplet interface.

IImePadApplet The IImePadApplet interface inputs strings into apps through


the IImePad interface.

IImePlugInDictDictionaryList Provides access to the list of IME plug-in dictionaries.

IImeSpecifyApplets The IImeSpecifyApplets interface specifies methods called


from the IImePad interface object to emulate the
IImePadApplet interface.

IOptionDescription Represents the description of a spell checker option.

ISpellChecker Represents a particular spell checker for a particular language.

ISpellChecker2 Represents a particular spell checker for a particular language,


with the added ability to remove words from the added
words dictionary, or from the ignore list.

ISpellCheckerChangedEventHandler Allows the caller to create a handler for notifications that the
state of the speller has changed.

ISpellCheckerFactory A factory for instantiating a spell checker (ISpellChecker) as


well as providing functionality for determining which
languages are supported.

ISpellCheckProvider Represents a particular spell checker provider for a particular


language, to be used by the spell checking infrastructure.

ISpellCheckProviderFactory A factory for instantiating a spell checker


(ISpellCheckProvider) as well as providing functionality for
determining which languages are supported.

ISpellingError Provides information about a spelling error.

IUserDictionariesRegistrar Manages the registration of user dictionaries.

Structures
T IT L E DESC RIP T IO N

APPLETIDLIST Specifies an IImePadApplet IID list.

CANDIDATEFORM Contains position information for the candidate window.

CANDIDATEFORM Contains position information for the candidate window.

CANDIDATELIST Contains information about a candidate list.

CANDIDATELIST Contains information about a candidate list.

CHARSETINFO Contains information about a character set.

COMPOSITIONFORM Contains style and position information for a composition


window.

COMPOSITIONFORM Contains style and position information for a composition


window.

CPINFO Contains information about a code page. This structure is


used by the GetCPInfo function.

CPINFOEXA Contains information about a code page. This structure is


used by the GetCPInfoEx function.

CPINFOEXW Contains information about a code page. This structure is


used by the GetCPInfoEx function.

CURRENCYFMTA Contains information that defines the format of a currency


string. The GetCurrencyFormat function uses this information
to customize a currency string for a specified locale.

CURRENCYFMTW Contains information that defines the format of a currency


string. The GetCurrencyFormat function uses this information
to customize a currency string for a specified locale.

FILEMUIINFO Contains information about a file, related to its use with MUI.

FONTSIGNATURE Contains information identifying the code pages and Unicode


subranges for which a given font provides glyphs.

GOFFSET Contains the x and y offsets of the combining glyph.

IMEAPPLETCFG Used to specify and set applet configuration in IImePad.

IMEAPPLETUI Used by IImePadApplet::CreateUI to specify applet window


style.

IMECHARPOSITION Contains information about the character position in the


composition window.

IMECHARPOSITION Contains information about the character position in the


composition window.
T IT L E DESC RIP T IO N

IMECOMPOSITIONSTRINGINFO Contains information of IME's composition string in an app.

IMEDLG Used when invoking the Microsoft IME's Dictionary Tool or


Word Register Dialog Window from the app.

IMEMENUITEMINFOA Contains information about IME menu items.

IMEMENUITEMINFOA Contains information about IME menu items.

IMEMENUITEMINFOW Contains information about IME menu items.

IMEMENUITEMINFOW Contains information about IME menu items.

IMESHF The header of an opened user dictionary file. Used to get the
user dictionary's properties, such as version, title, description,
and copyright.

IMEWRD Contains data about a word in the Word data of the


Microsoft IME dictionary.

LOCALESIGNATURE Contains extended font signature information, including two


code page bitfields (CPBs) that define the default and
supported character sets and code pages. This structure is
typically used to represent the relationships between font
coverage and locales.

MAPPING_DATA_RANGE Contains text recognition results for a recognized text


subrange. An array of structures of this type is retrieved by
an Extended Linguistic Services (ELS) service in a
MAPPING_PROPERTY_BAG structure.

MAPPING_ENUM_OPTIONS Contains options used by the MappingGetServices function


to enumerate ELS services.

MAPPING_OPTIONS Contains options for text recognition. The values stored in


this structure affect the behavior and results of
MappingRecognizeText.

MAPPING_PROPERTY_BAG Contains the text recognition data properties retrieved by


MappingRecognizeText.

MAPPING_SERVICE_INFO Contains information about an ELS service.

NLSVERSIONINFOEX Contains version information about an NLS capability.

NUMBERFMTA Contains information that defines the format of a number


string. The GetNumberFormat function uses this information
to customize a number string for a specified locale.

NUMBERFMTW Contains information that defines the format of a number


string. The GetNumberFormat function uses this information
to customize a number string for a specified locale.
T IT L E DESC RIP T IO N

OPENTYPE_FEATURE_RECORD Contains information about a single OpenType feature to


apply to a run.

POSTBL An entry in the public POS (Part of Speech) table.

RECONVERTSTRING Defines the strings for IME reconversion. It is the first item in
a memory block that contains the strings for reconversion.

RECONVERTSTRING Defines the strings for IME reconversion. It is the first item in
a memory block that contains the strings for reconversion.

REGISTERWORDA Contains reading information or a word to register.

REGISTERWORDA Contains reading information or a word to register.

REGISTERWORDW Contains reading information or a word to register.

REGISTERWORDW Contains reading information or a word to register.

SCRIPT_ANALYSIS Contains a portion of a Unicode string, that is, an "item".

SCRIPT_CHARPROP Contains information about a single character in a run (input


string). The information indicates if the character glyph is
affected by surrounding letters of the run.

SCRIPT_CONTROL Contains script control flags for several Uniscribe functions,


for example, ScriptItemize.

SCRIPT_DIGITSUBSTITUTE Contains native digit and digit substitution settings.

SCRIPT_FONTPROPERTIES Contains information about the properties of the current


font.

SCRIPT_GLYPHPROP Contains information about a glyph that is part of an output


glyph array.

SCRIPT_ITEM Contains a script item, including a SCRIPT_ANALYSIS structure


with the string offset of the first character of the item.

SCRIPT_LOGATTR Contains attributes of logical characters that are useful when


editing and formatting text.

SCRIPT_PROPERTIES Contains information about special processing for each script.

SCRIPT_STATE Contains script state information.

SCRIPT_TABDEF Contains definitions of the tab positions for


ScriptStringAnalyse.

SCRIPT_VISATTR Contains the visual (glyph) attributes that identify clusters


and justification points, as generated by ScriptShape.
T IT L E DESC RIP T IO N

STYLEBUFA Contains the identifier and name of a style.

STYLEBUFA Contains the identifier and name of a style.

STYLEBUFW Contains the identifier and name of a style.

STYLEBUFW Contains the identifier and name of a style.

TEXTRANGE_PROPERTIES Contains a group of OpenType features to apply to a run.


IP Helper
2/7/2020 • 20 minutes to read • Edit Online

Overview of the IP Helper technology.


To develop IP Helper, you need these headers:
icmpapi.h
ifdef.h
inaddr.h
ip2string.h
ipexport.h
iphlpapi.h
iprtrmib.h
iptypes.h
netioapi.h
nldef.h
tcpestats.h
ws2def.h
ws2ipdef.h
For programming guidance for this technology, see:
IP Helper

Enumerations
T IT L E DESC RIP T IO N

IF_OPER_STATUS The IF_OPER_STATUS enumeration specifies the operational


status of an interface.

NET_ADDRESS_FORMAT The NET_ADDRESS_FORMAT enumeration specifies the format


of a network address returned by the ParseNetworkString
function.

NL_DAD_STATE The IP_DAD_STATE enumeration specifies information about


the duplicate address detection (DAD) state for an IPv4 or
IPv6 address.

NL_PREFIX_ORIGIN The IP_PREFIX_ORIGIN enumeration specifies the origin of an


IPv4 or IPv6 address prefix, and is used with the
IP_ADAPTER_UNICAST_ADDRESS structure.

NL_SUFFIX_ORIGIN The IP_SUFFIX_ORIGIN enumeration specifies the origin of an


IPv4 or IPv6 address suffix, and is used with the
IP_ADAPTER_UNICAST_ADDRESS structure.
T IT L E DESC RIP T IO N

SCOPE_LEVEL The SCOPE_LEVEL enumeration is used with the


IP_ADAPTER_ADDRESSES structure to identify scope levels for
IPv6 addresses.

TCP_BOOLEAN_OPTIONAL Defines the states that a caller can specify when updating a
member in the read/write information for a TCP connection.

TCP_ESTATS_TYPE Defines the type of extended statistics for a TCP connection


that is requested or being set.

TCP_SOFT_ERROR Defines the reason for non-fatal or soft errors recorded on a


TCP connection.

TCP_TABLE_CLASS Defines the set of values used to indicate the type of table
returned by calls to GetExtendedTcpTable.

TCPIP_OWNER_MODULE_INFO_CLASS Defines the type of module information structure passed to


calls of the GetOwnerModuleFromXXXEntry family.

UDP_TABLE_CLASS Defines the set of values used to indicate the type of table
returned by calls to GetExtendedUdpTable.

Functions
T IT L E DESC RIP T IO N

AddIPAddress The AddIPAddress function adds the specified IPv4 address to


the specified adapter.

AllocateAndGetTcpExTableFromStack Retrieves the TCP connection table and allocates memory


from the local heap to store the table.

AllocateAndGetUdpExTableFromStack Retrieves the UDP connection table and allocates memory


from the local heap to store the table.

CancelIfTimestampConfigChange This function is reserved for system use, and you should not
call it from your code.

CancelIPChangeNotify Cancels notification of IPv4 address and route changes


previously requested with successful calls to the
NotifyAddrChange or NotifyRouteChange functions.

CancelMibChangeNotify2 Deregisters for change notifications for IP interface changes,


IP address changes, IP route changes, Teredo port changes,
and when the unicast IP address table is stable and can be
retrieved.

CaptureInterfaceHardwareCrossTimestamp This function is reserved for system use, and you should not
call it from your code.

ConvertInterfaceAliasToLuid Converts an interface alias name for a network interface to


the locally unique identifier (LUID) for the interface.
T IT L E DESC RIP T IO N

ConvertInterfaceGuidToLuid Converts a globally unique identifier (GUID) for a network


interface to the locally unique identifier (LUID) for the
interface.

ConvertInterfaceIndexToLuid Converts a local index for a network interface to the locally


unique identifier (LUID) for the interface.

ConvertInterfaceLuidToAlias Converts a locally unique identifier (LUID) for a network


interface to an interface alias.

ConvertInterfaceLuidToGuid Converts a locally unique identifier (LUID) for a network


interface to a globally unique identifier (GUID) for the
interface.

ConvertInterfaceLuidToIndex Converts a locally unique identifier (LUID) for a network


interface to the local index for the interface.

ConvertInterfaceLuidToNameA Converts a locally unique identifier (LUID) for a network


interface to the ANSI interface name.

ConvertInterfaceLuidToNameW Converts a locally unique identifier (LUID) for a network


interface to the Unicode interface name.

ConvertInterfaceNameToLuidA Converts an ANSI network interface name to the locally


unique identifier (LUID) for the interface.

ConvertInterfaceNameToLuidW Converts a Unicode network interface name to the locally


unique identifier (LUID) for the interface.

ConvertIpv4MaskToLength Converts an IPv4 subnet mask to an IPv4 prefix length.

ConvertLengthToIpv4Mask Converts an IPv4 prefix length to an IPv4 subnet mask.

CreateAnycastIpAddressEntry Adds a new anycast IP address entry on the local computer.

CreateIpForwardEntry The CreateIpForwardEntry function creates a route in the


local computer's IPv4 routing table.

CreateIpForwardEntry2 Creates a new IP route entry on the local computer.

CreateIpNetEntry The CreateIpNetEntry function creates an Address Resolution


Protocol (ARP) entry in the ARP table on the local computer.

CreateIpNetEntry2 Creates a new neighbor IP address entry on the local


computer.

CreatePersistentTcpPortReservation Creates a persistent TCP port reservation for a consecutive


block of TCP ports on the local computer.

CreatePersistentUdpPortReservation Creates a persistent UDP port reservation for a consecutive


block of UDP ports on the local computer.
T IT L E DESC RIP T IO N

CreateProxyArpEntry The CreateProxyArpEnry function creates a Proxy Address


Resolution Protocol (PARP) entry on the local computer for
the specified IPv4 address.

CreateSortedAddressPairs Takes a supplied list of potential IP destination addresses,


pairs the destination addresses with the host machine's local
IP addresses, and sorts the pairs according to which address
pair is best suited for communication between the two peers.

CreateUnicastIpAddressEntry Adds a new unicast IP address entry on the local computer.

DeleteAnycastIpAddressEntry Deletes an existing anycast IP address entry on the local


computer.

DeleteIPAddress The DeleteIPAddress function deletes an IP address previously


added using AddIPAddress.

DeleteIpForwardEntry Deletes an existing route in the local computer's IPv4 routing


table.

DeleteIpForwardEntry2 Deletes an IP route entry on the local computer.

DeleteIpNetEntry The DeleteIpNetEntry function deletes an ARP entry from the


ARP table on the local computer.

DeleteIpNetEntry2 Deletes a neighbor IP address entry on the local computer.

DeletePersistentTcpPortReservation Deletes a persistent TCP port reservation for a consecutive


block of TCP ports on the local computer.

DeletePersistentUdpPortReservation Deletes a persistent TCP port reservation for a consecutive


block of TCP ports on the local computer.

DeleteProxyArpEntry The DeleteProxyArpEntry function deletes the PARP entry on


the local computer specified by the dwAddress and dwIfIndex
parameters.

DeleteUnicastIpAddressEntry Deletes an existing unicast IP address entry on the local


computer.

DisableMediaSense The DisableMediaSense function disables the media sensing


capability of the TCP/IP stack on a local computer.

EnableRouter The EnableRouter function turns on IPv4 forwarding on the


local computer. EnableRouter also increments a reference
count that tracks the number of requests to enable IPv4
forwarding.

FlushIpNetTable The FlushIpNetTable function deletes all ARP entries for the
specified interface from the ARP table on the local computer.

FlushIpNetTable2 The FlushIpNetTable2 function flushes the IP neighbor table


on the local computer.
T IT L E DESC RIP T IO N

FlushIpPathTable The FlushIpPathTable function flushes the IP path table on the


local computer.

FreeMibTable Frees the buffer allocated by the functions that return tables
of network interfaces, addresses, and routes (GetIfTable2 and
GetAnycastIpAddressTable, for example).

GetAdapterIndex The GetAdapterIndex function obtains the index of an


adapter, given its name.

GetAdapterOrderMap The GetAdapterOrderMap function obtains an adapter order


map that indicates priority for interfaces on the local
computer.

GetAdaptersAddresses Retrieves the addresses associated with the adapters on the


local computer.

GetAdaptersInfo The GetAdaptersInfo function retrieves adapter information


for the local computer.

GetAnycastIpAddressEntry Retrieves information for an existing anycast IP address entry


on the local computer.

GetAnycastIpAddressTable Retrieves the anycast IP address table on the local computer.

GetBestInterface The GetBestInterface function retrieves the index of the


interface that has the best route to the specified IPv4 address.

GetBestInterfaceEx The GetBestInterfaceEx function retrieves the index of the


interface that has the best route to the specified IPv4 or IPv6
address.

GetBestRoute The GetBestRoute function retrieves the best route to the


specified destination IP address.

GetBestRoute2 Retrieves the IP route entry on the local computer for the
best route to the specified destination IP address.

GetDefaultCompartmentId The GetDefaultCompartmentId function retrieves the default


network routing compartment identifier for the local
computer.

GetExtendedTcpTable Retrieves a table that contains a list of TCP endpoints available


to the application.

GetExtendedUdpTable Retrieves a table that contains a list of UDP endpoints


available to the application.

GetFriendlyIfIndex Takes an interface index and returns a backward-compatible


interface index, that is, an index that uses only the lower 24
bits.
T IT L E DESC RIP T IO N

GetIcmpStatistics The GetIcmpStatistics function retrieves the Internet Control


Message Protocol (ICMP) for IPv4 statistics for the local
computer.

GetIcmpStatisticsEx The GetIcmpStatisticsEx function retrieves Internet Control


Message Protocol (ICMP) statistics for the local computer. The
GetIcmpStatisticsEx function is capable of retrieving IPv6
ICMP statistics.

GetIfEntry The GetIfEntry function retrieves information for the specified


interface on the local computer.

GetIfEntry2 Retrieves information for the specified interface on the local


computer.

GetIfEntry2Ex Retrieves the specified level of information for the specified


interface on the local computer.

GetIfStackTable Retrieves a table of network interface stack row entries that


specify the relationship of the network interfaces on an
interface stack.

GetIfTable The GetIfTable function retrieves the MIB-II interface table.

GetIfTable2 Retrieves the MIB-II interface table.

GetIfTable2Ex Retrieves the MIB-II interface table.

GetInterfaceCurrentTimestampCapabilities This function is reserved for system use, and you should not
call it from your code.

GetInterfaceHardwareTimestampCapabilities This function is reserved for system use, and you should not
call it from your code.

GetInterfaceInfo The GetInterfaceInfo function obtains the list of the network


interface adapters with IPv4 enabled on the local system.

GetInvertedIfStackTable Retrieves a table of inverted network interface stack row


entries that specify the relationship of the network interfaces
on an interface stack.

GetIpAddrTable The GetIpAddrTable function retrieves the interface–to–IPv4


address mapping table.

GetIpErrorString The GetIpErrorString function retrieves an IP Helper error


string.

GetIpForwardEntry2 Retrieves information for an IP route entry on the local


computer.

GetIpForwardTable The GetIpForwardTable function retrieves the IPv4 routing


table.
T IT L E DESC RIP T IO N

GetIpForwardTable2 The GetIpForwardTable2 function retrieves the IP route


entries on the local computer.

GetIpInterfaceEntry Retrieves IP information for the specified interface on the local


computer.

GetIpInterfaceTable Retrieves the IP interface entries on the local computer.

GetIpNetEntry2 Retrieves information for a neighbor IP address entry on the


local computer.

GetIpNetTable The GetIpNetTable function retrieves the IPv4 to physical


address mapping table.

GetIpNetTable2 The GetIpNetTable2 function retrieves the IP neighbor table


on the local computer.

GetIpNetworkConnectionBandwidthEstimates Retrieves historical bandwidth estimates for a network


connection on the specified interface.

GetIpPathEntry Retrieves information for a IP path entry on the local


computer.

GetIpPathTable The GetIpPathTable function retrieves the IP path table on the


local computer.

GetIpStatistics The GetIpStatistics function retrieves the IP statistics for the


current computer.

GetIpStatisticsEx The GetIpStatisticsEx function retrieves the Internet Protocol


(IP) statistics for the current computer.

GetMulticastIpAddressEntry Retrieves information for an existing multicast IP address


entry on the local computer.

GetMulticastIpAddressTable Retrieves the multicast IP address table on the local computer.

GetNetworkParams The GetNetworkParams function retrieves network


parameters for the local computer.

GetNumberOfInterfaces The GetNumberOfInterfaces functions retrieves the number of


interfaces on the local computer.

GetOwnerModuleFromTcp6Entry Retrieves data about the module that issued the context bind
for a specific IPv6 TCP endpoint in a MIB table row.

GetOwnerModuleFromTcpEntry Retrieves data about the module that issued the context bind
for a specific IPv4 TCP endpoint in a MIB table row.

GetOwnerModuleFromUdp6Entry Retrieves data about the module that issued the context bind
for a specific IPv6 UDP endpoint in a MIB table row.
T IT L E DESC RIP T IO N

GetOwnerModuleFromUdpEntry Retrieves data about the module that issued the context bind
for a specific IPv4 UDP endpoint in a MIB table row.

GetPerAdapterInfo The GetPerAdapterInfo function retrieves information about


the adapter corresponding to the specified interface.

GetPerTcp6ConnectionEStats Retrieves extended statistics for an IPv6 TCP connection.

GetPerTcpConnectionEStats Retrieves extended statistics for an IPv4 TCP connection.

GetRTTAndHopCount The GetRTTAndHopCount function determines the round-trip


time (RTT) and hop count to the specified destination.

GetTcp6Table Retrieves the TCP connection table for IPv6.

GetTcp6Table2 Retrieves the TCP connection table for IPv6.

GetTcpStatistics The GetTcpStatistics function retrieves the TCP statistics for


the local computer.

GetTcpStatisticsEx The GetTcpStatisticsEx function retrieves the Transmission


Control Protocol (TCP) statistics for the current computer.

GetTcpStatisticsEx2 The GetTcpStatisticsEx2 function retrieves the Transmission


Control Protocol (TCP) statistics for the current computer.

GetTcpTable Retrieves the IPv4 TCP connection table.

GetTcpTable2 Retrieves the IPv4 TCP connection table.

GetTeredoPort Retrieves the dynamic UDP port number used by the Teredo
client on the local computer.

GetUdp6Table Retrieves the IPv6 User Datagram Protocol (UDP) listener


table.

GetUdpStatistics The GetUdpStatistics function retrieves the User Datagram


Protocol (UDP) statistics for the local computer.

GetUdpStatisticsEx The GetUdpStatisticsEx function retrieves the User Datagram


Protocol (UDP) statistics for the current computer.

GetUdpStatisticsEx2 The GetUdpStatisticsEx2 function retrieves the User Datagram


Protocol (UDP) statistics for the current computer.

GetUdpTable Retrieves the IPv4 User Datagram Protocol (UDP) listener


table.

GetUnicastIpAddressEntry Retrieves information for an existing unicast IP address entry


on the local computer.

GetUnicastIpAddressTable Retrieves the unicast IP address table on the local computer.


T IT L E DESC RIP T IO N

GetUniDirectionalAdapterInfo The GetUniDirectionalAdapterInfo function retrieves


information about the unidirectional adapters installed on the
local computer. A unidirectional adapter is an adapter that can
receive datagrams, but not transmit them.

Icmp6CreateFile The Icmp6CreateFile function opens a handle on which IPv6


ICMP echo requests can be issued.

Icmp6ParseReplies The Icmp6ParseReplies function parses the reply buffer


provided and returns an IPv6 ICMPv6 echo response reply if
found.

Icmp6SendEcho2 The Icmp6SendEcho2 function sends an IPv6 ICMPv6 echo


request and returns either immediately (if Event or
ApcRoutine is non-NULL) or returns after the specified time-
out. The ReplyBuffer contains the IPv6 ICMPv6 echo response,
if any.

IcmpCloseHandle The IcmpCloseHandle function closes a handle opened by a


call to the IcmpCreateFile or Icmp6CreateFile functions.

IcmpCreateFile The IcmpCreateFile function opens a handle on which IPv4


ICMP echo requests can be issued.

IcmpParseReplies Parses the reply buffer provided and returns the number of
ICMP echo request responses found.

IcmpSendEcho The IcmpSendEcho function sends an IPv4 ICMP echo request


and returns any echo response replies. The call returns when
the time-out has expired or the reply buffer is filled.

IcmpSendEcho2 The IcmpSendEcho2 function sends an IPv4 ICMP echo


request and returns either immediately (if Event or
ApcRoutine is non-NULL) or returns after the specified time-
out. The ReplyBuffer contains the ICMP echo responses, if any.

IcmpSendEcho2Ex Sends an IPv4 ICMP echo request and returns either


immediately (if Event or ApcRoutine is non-NULL) or returns
after the specified time-out. The ReplyBuffer contains the
ICMP responses, if any.

if_indextoname Converts the local index for a network interface to the ANSI
interface name.

if_nametoindex Converts the ANSI interface name for a network interface to


the local index for the interface.

InitializeIpForwardEntry Initializes a MIB_IPFORWARD_ROW2 structure with default


values for an IP route entry on the local computer.

InitializeIpInterfaceEntry Initializes the members of an MIB_IPINTERFACE_ROW entry


with default values.
T IT L E DESC RIP T IO N

InitializeUnicastIpAddressEntry Initializes a MIB_UNICASTIPADDRESS_ROW structure with


default values for a unicast IP address entry on the local
computer.

INTERFACE_TIMESTAMP_CONFIG_CHANGE_CALLBACK This callback is reserved for system use, and you should not
use it in your code.

IpReleaseAddress The IpReleaseAddress function releases an IPv4 address


previously obtained through the Dynamic Host Configuration
Protocol (DHCP).

IpRenewAddress The IpRenewAddressfunction renews a lease on an IPv4


address previously obtained through Dynamic Host
Configuration Protocol (DHCP).

LookupPersistentTcpPortReservation Looks up the token for a persistent TCP port reservation for a
consecutive block of TCP ports on the local computer.

LookupPersistentUdpPortReservation Looks up the token for a persistent UDP port reservation for
a consecutive block of TCP ports on the local computer.

NhpAllocateAndGetInterfaceInfoFromStack The NhpAllocateAndGetInterfaceInfoFromStack function


obtains adapter information about the local computer.

NotifyAddrChange The NotifyAddrChange function causes a notification to be


sent to the caller whenever a change occurs in the table that
maps IPv4 addresses to interfaces.

NotifyIfTimestampConfigChange This function is reserved for system use, and you should not
call it from your code.

NotifyIpInterfaceChange Registers to be notified for changes to all IP interfaces, IPv4


interfaces, or IPv6 interfaces on a local computer.

NotifyRouteChange The NotifyRouteChange function causes a notification to be


sent to the caller whenever a change occurs in the IPv4
routing table.

NotifyRouteChange2 Registers to be notified for changes to IP route entries on a


local computer.

NotifyStableUnicastIpAddressTable Retrieves the stable unicast IP address table on a local


computer.

NotifyTeredoPortChange Registers to be notified for changes to the UDP port number


used by the Teredo client for the Teredo service port on a local
computer.

NotifyUnicastIpAddressChange Registers to be notified for changes to all unicast IP interfaces,


unicast IPv4 addresses, or unicast IPv6 addresses on a local
computer.
T IT L E DESC RIP T IO N

ParseNetworkString Parses the input network string and checks whether it is a


legal representation of the specified IP network string type. If
the string matches a type and its specification, the function
can optionally return the parsed result.

ResolveIpNetEntry2 Resolves the physical address for a neighbor IP address entry


on the local computer.

ResolveNeighbor Resolves the physical address for a neighbor IP address entry


on the local computer.

RestoreMediaSense The RestoreMediaSense function restores the media sensing


capability of the TCP/IP stack on a local computer on which
the DisableMediaSense function was previously called.

RtlEthernetAddressToStringA Converts a binary Ethernet address to a string representation


of the Ethernet MAC address.

RtlEthernetAddressToStringW Converts a binary Ethernet address to a string representation


of the Ethernet MAC address.

RtlEthernetStringToAddressA Converts a string representation of an Ethernet MAC address


to a binary format of the Ethernet address.

RtlEthernetStringToAddressW Converts a string representation of an Ethernet MAC address


to a binary format of the Ethernet address.

RtlIpv4AddressToStringA Converts an IPv4 address to a string in Internet standard


dotted-decimal format.

RtlIpv4AddressToStringExW Converts an IPv4 address and port number to a string in


Internet standard format.

RtlIpv4AddressToStringW Converts an IPv4 address to a string in Internet standard


dotted-decimal format.

RtlIpv4StringToAddressA Converts a string representation of an IPv4 address to a


binary IPv4 address.

RtlIpv4StringToAddressExW Converts a string representation of an IPv4 address and port


number to a binary IPv4 address and port.

RtlIpv4StringToAddressW Converts a string representation of an IPv4 address to a


binary IPv4 address.

RtlIpv6AddressToStringA Converts an IPv6 address to a string in Internet standard


format.

RtlIpv6AddressToStringExW Converts an IPv6 address, scope ID, and port number to a


string.

RtlIpv6AddressToStringW Converts an IPv6 address to a string in Internet standard


format.
T IT L E DESC RIP T IO N

RtlIpv6StringToAddressA Converts a string representation of an IPv6 address to a


binary IPv6 address.

RtlIpv6StringToAddressExW Converts a string representation of an IPv6 address, scope ID,


and port number to a binary IPv6 address, scope ID, and
port.

RtlIpv6StringToAddressW Converts a string representation of an IPv6 address to a


binary IPv6 address.

SendARP The SendARP function sends an Address Resolution Protocol


(ARP) request to obtain the physical address that corresponds
to the specified destination IPv4 address.

SetIfEntry The SetIfEntry function sets the administrative status of an


interface.

SetIpForwardEntry The SetIpForwardEntry function modifies an existing route in


the local computer's IPv4 routing table.

SetIpForwardEntry2 Sets the properties of an IP route entry on the local computer.

SetIpInterfaceEntry Sets the properties of an IP interface on the local computer.

SetIpNetEntry The SetIpNetEntry function modifies an existing ARP entry in


the ARP table on the local computer.

SetIpNetEntry2 Sets the physical address of an existing neighbor IP address


entry on the local computer.

SetIpStatistics The SetIpStatistics function toggles IP forwarding on or off


and sets the default time-to-live (TTL) value for the local
computer.

SetIpStatisticsEx Toggles IP forwarding on or off and sets the default time-to-


live (TTL) value for the local computer.

SetIpTTL The SetIpTTL function sets the default time-to-live (TTL) value
for the local computer.

SetPerTcp6ConnectionEStats Sets a value in the read/write information for an IPv6 TCP


connection. This function is used to enable or disable
extended statistics for an IPv6 TCP connection.

SetPerTcpConnectionEStats Sets a value in the read/write information for an IPv4 TCP


connection. This function is used to enable or disable
extended statistics for an IPv4 TCP connection.

SetTcpEntry The SetTcpEntry function sets the state of a TCP connection.

SetUnicastIpAddressEntry Sets the properties of an existing unicast IP address entry on


the local computer.
T IT L E DESC RIP T IO N

UnenableRouter The UnenableRouter function decrements the reference count


that tracks the number of requests to enable IPv4 forwarding.
When this reference count reaches zero, UnenableRouter
turns off IPv4 forwarding on the local computer.

Structures
T IT L E DESC RIP T IO N

ARP_SEND_REPLY The ARP_SEND_REPLY structure stores information about an


Address Resolution Protocol (ARP) reply messages.

FIXED_INFO_W2KSP1 The FIXED_INFO structure contains information that is the


same across all the interfaces on a computer.

ICMP_ECHO_REPLY Describes the data returned in response to an IPv4 echo


request.

ICMP_ECHO_REPLY32 Describes the data returned in response to an IPv4 echo


request on a 64-bit platform.

ICMPV6_ECHO_REPLY_LH Describes the data returned in response to an IPv6 echo


request.

IN_ADDR The in_addr structure represents an IPv4 address.

INTERFACE_HARDWARE_CROSSTIMESTAMP This structure is reserved for system use, and you should not
use it in your code.

INTERFACE_TIMESTAMP_CAPABILITIES This structure is reserved for system use, and you should not
use it in your code.

INTERFACE_TIMESTAMP_CAPABILITY_FLAGS This structure is reserved for system use, and you should not
use it in your code.

IP_ADAPTER_ADDRESSES_LH The header node for a linked list of addresses for a particular
adapter.

IP_ADAPTER_ADDRESSES_XP The header node for a linked list of addresses for a particular
adapter.

IP_ADAPTER_ANYCAST_ADDRESS_XP Stores a single anycast IP address in a linked list of addresses


for a particular adapter.

IP_ADAPTER_DNS_SERVER_ADDRESS_XP The IP_ADAPTER_DNS_SERVER_ADDRESS structure stores a


single DNS server address in a linked list of DNS server
addresses for a particular adapter.

IP_ADAPTER_DNS_SUFFIX The IP_ADAPTER_DNS_SUFFIX structure stores a DNS suffix in


a linked list of DNS suffixes for a particular adapter.

IP_ADAPTER_GATEWAY_ADDRESS_LH Stores a single gateway address in a linked list of gateway


addresses for a particular adapter.
T IT L E DESC RIP T IO N

IP_ADAPTER_INDEX_MAP The IP_ADAPTER_INDEX_MAP structure stores the interface


index associated with a network adapter with IPv4 enabled
together with the name of the network adapter.

IP_ADAPTER_INFO Contains information about a particular network adapter on


the local computer.

IP_ADAPTER_MULTICAST_ADDRESS_XP The IP_ADAPTER_MULTICAST_ADDRESS structure stores a


single multicast address in a linked-list of addresses for a
particular adapter.

IP_ADAPTER_ORDER_MAP The IP_ADAPTER_ORDER_MAP structure stores an array of


information about adapters and their relative priority on the
local computer.

IP_ADAPTER_PREFIX_XP Stores an IP address prefix.

IP_ADAPTER_UNICAST_ADDRESS_LH The IP_ADAPTER_UNICAST_ADDRESS structure stores a single


unicast IP address in a linked list of IP addresses for a
particular adapter.

IP_ADAPTER_UNICAST_ADDRESS_XP The IP_ADAPTER_UNICAST_ADDRESS structure stores a single


unicast IP address in a linked list of IP addresses for a
particular adapter.

IP_ADAPTER_WINS_SERVER_ADDRESS_LH Stores a single Windows Internet Name Service (WINS) server


address in a linked list of WINS server addresses for a
particular adapter.

IP_ADDR_STRING Represents a node in a linked-list of IPv4 addresses.

IP_ADDRESS_PREFIX Stores an IP address prefix.

IP_ADDRESS_STRING Stores an IPv4 address in dotted decimal notation.

IP_INTERFACE_INFO The IP_INTERFACE_INFO structure contains a list of the


network interface adapters with IPv4 enabled on the local
system.

IP_INTERFACE_NAME_INFO_W2KSP1 Contains information about an IPv4 interface on the local


computer.

IP_MCAST_COUNTER_INFO The IP_MCAST_COUNTER_INFO structure stores statistical


information about Multicast traffic.

IP_OPTION_INFORMATION Describes the options to be included in the header of an IP


packet.

IP_OPTION_INFORMATION32 Describes the options to be included in the header of an IP


packet on a 64-bit platform.

IP_PER_ADAPTER_INFO_W2KSP1 The IP_PER_ADAPTER_INFO structure contains information


specific to a particular adapter.
T IT L E DESC RIP T IO N

IP_UNIDIRECTIONAL_ADAPTER_ADDRESS The IP_UNIDIRECTIONAL_ADAPTER_ADDRESS structure


stores the IPv4 addresses associated with a unidirectional
adapter.

IPV6_ADDRESS_EX Stores an IPv6 address.

NET_ADDRESS_INFO Contains IP address information returned by the


ParseNetworkString function.

NET_LUID_LH The locally unique identifier (LUID) for a network interface.

NL_BANDWIDTH_INFORMATION Contains read-only information on the available bandwidth


estimates and associated variance as determined by the
TCP/IP stack.

SOCKADDR_IN6_PAIR Contains pointers to a pair of IP addresses that represent a


source and destination address pair.

SOCKADDR_INET Contains an IPv4, an IPv6 address, or an address family.

TCP_ESTATS_BANDWIDTH_ROD_v0 Contains read-only dynamic information for extended TCP


statistics on bandwidth estimation for a TCP connection.

TCP_ESTATS_BANDWIDTH_RW_v0 Contains read/write configuration information for extended


TCP statistics on bandwidth estimation for a TCP connection.

TCP_ESTATS_DATA_ROD_v0 Contains read-only dynamic information for extended TCP


statistics on data transfer for a TCP connection.

TCP_ESTATS_DATA_RW_v0 Contains read/write configuration information for extended


TCP statistics on data transfer for a TCP connection.

TCP_ESTATS_FINE_RTT_ROD_v0 Contains read-only dynamic information for extended TCP


statistics on fine-grained round-trip time (RTT) estimation for
a TCP connection.

TCP_ESTATS_FINE_RTT_RW_v0 Contains read/write configuration information for extended


TCP statistics on fine-grained round-trip time (RTT) estimation
statistics for a TCP connection.

TCP_ESTATS_OBS_REC_ROD_v0 Contains read-only dynamic information for extended TCP


statistics observed on the remote receiver for a TCP
connection.

TCP_ESTATS_OBS_REC_RW_v0 Contains read/write configuration information for extended


TCP statistics observed on the remote receiver for a TCP
connection.

TCP_ESTATS_PATH_ROD_v0 Contains read-only dynamic information for extended TCP


statistics on network path measurement for a TCP connection.

TCP_ESTATS_PATH_RW_v0 Contains read/write configuration information for extended


TCP statistics on path measurement for a TCP connection.
T IT L E DESC RIP T IO N

TCP_ESTATS_REC_ROD_v0 Contains read-only dynamic information for extended TCP


statistics on the local receiver for a TCP connection.

TCP_ESTATS_REC_RW_v0 Contains read/write configuration information for extended


TCP statistics on the local receiver for a TCP connection.

TCP_ESTATS_SEND_BUFF_ROD_v0 Contains read-only dynamic information for extended TCP


statistics on output queuing for a TCP connection.

TCP_ESTATS_SEND_BUFF_RW_v0 Contains read/write configuration information for extended


TCP statistics on output queuing for a TCP connection.

TCP_ESTATS_SND_CONG_ROD_v0 Contains read-only dynamic information for extended TCP


statistics on sender congestion related data for a TCP
connection.

TCP_ESTATS_SND_CONG_ROS_v0 Contains read-only static information for extended TCP


statistics on the maximum congestion window for a TCP
connection.

TCP_ESTATS_SND_CONG_RW_v0 Contains read/write configuration information for extended


TCP statistics on sender congestion for a TCP connection.

TCP_ESTATS_SYN_OPTS_ROS_v0 Contains read-only static information for extended TCP


statistics on SYN exchange for a TCP connection.

TCP_RESERVE_PORT_RANGE The TCP_RESERVE_PORT_RANGE structure specifies a TCP port


range to reserve.

TCPIP_OWNER_MODULE_BASIC_INFO Contains pointers to the module name and module path


values associated with a TCP connection. The
TCPIP_OWNER_MODULE_BASIC_INFO structure is returned
by the GetOwnerModuleFromTcpEntry and
GetOwnerModuleFromTcp6Entry functions.
iSCSI Discovery Library API
2/7/2020 • 9 minutes to read • Edit Online

Overview of the iSCSI Discovery Library API technology.


To develop iSCSI Discovery Library API, you need these headers:
iscsidsc.h
For programming guidance for this technology, see:
iSCSI Discovery Library API

Enumerations
T IT L E DESC RIP T IO N

IKE_AUTHENTICATION_METHOD IKE_AUTHENTICATION_METHOD enumeration indicates the


type of Internet Key Exchange (IKE) authentication method.

ISCSI_AUTH_TYPES ISCSI_AUTH_TYPES enumeration indicates the type of


authentication method utilized.

ISCSI_DIGEST_TYPES ISCSI_DIGEST_TYPES enumeration indicates the digest type.

TARGET_INFORMATION_CLASS TARGET_INFORMATION_CLASS enumeration specifies


information about the indicated target device that the
GetIScsiTargetInformation function retrieves.

TARGETPROTOCOLTYPE TARGETPROTOCOLTYPE enumeration indicates the type of


protocol that the initiator must use to communicate with the
target.

Functions
T IT L E DESC RIP T IO N

AddIScsiConnectionA AddIscsiConnection function adds a new iSCSI connection to


an existing session.

AddIScsiConnectionW AddIscsiConnection function adds a new iSCSI connection to


an existing session.

AddIScsiSendTargetPortalA AddIscsiSendTargetPortal function adds a static target portal


to the list of target portals to which the iSCSI initiator service
transmits SendTargets requests.

AddIScsiSendTargetPortalW AddIscsiSendTargetPortal function adds a static target portal


to the list of target portals to which the iSCSI initiator service
transmits SendTargets requests.
T IT L E DESC RIP T IO N

AddIScsiStaticTargetA AddIscsiStaticTarget function adds a target to the list of static


targets available to the iSCSI initiator.

AddIScsiStaticTargetW AddIscsiStaticTarget function adds a target to the list of static


targets available to the iSCSI initiator.

AddISNSServerA AddIsnsServer function adds a new server to the list of


Internet Storage Name Service (iSNS) servers that the iSCSI
initiator service uses to discover targets.

AddISNSServerW AddIsnsServer function adds a new server to the list of


Internet Storage Name Service (iSNS) servers that the iSCSI
initiator service uses to discover targets.

AddPersistentIScsiDeviceA AddPersistentIscsiDevice function adds a volume device name,


drive letter, or mount point symbolic link to the list of iSCSI
persistently bound volumes and devices.

AddPersistentIScsiDeviceW AddPersistentIscsiDevice function adds a volume device name,


drive letter, or mount point symbolic link to the list of iSCSI
persistently bound volumes and devices.

AddRadiusServerA AddRadiusServer.

AddRadiusServerW AddRadiusServer.

ClearPersistentIScsiDevices ClearPersistentIscsiDevices function removes all volumes and


devices from the list of persistently bound iSCSI volumes.

GetDevicesForIScsiSessionA GetDevicesForIscsiSession function retrieves information about


the devices associated with the current session.

GetDevicesForIScsiSessionW GetDevicesForIscsiSession function retrieves information about


the devices associated with the current session.

GetIScsiIKEInfoA GetIscsiIKEInfo function retrieves the IPsec policy and any


established pre-shared key values associated with an initiator
Host-Bus Adapter (HBA).

GetIScsiIKEInfoW GetIscsiIKEInfo function retrieves the IPsec policy and any


established pre-shared key values associated with an initiator
Host-Bus Adapter (HBA).

GetIScsiInitiatorNodeNameA The GetIscsiInitiatorNodeName function retrieves the common


initiator node name that is used when establishing sessions
from the local machine.

GetIScsiInitiatorNodeNameW The GetIscsiInitiatorNodeName function retrieves the common


initiator node name that is used when establishing sessions
from the local machine.

GetIScsiSessionListA GetIscsiSessionList function retrieves the list of active iSCSI


sessions.
T IT L E DESC RIP T IO N

GetIScsiSessionListW GetIscsiSessionList function retrieves the list of active iSCSI


sessions.

GetIScsiTargetInformationA GetIscsiTargetInformation function retrieves information about


the specified target.

GetIScsiTargetInformationW GetIscsiTargetInformation function retrieves information about


the specified target.

GetIScsiVersionInformation GetIscsiVersionInformation function retrieves information


about the initiator version.

LoginIScsiTargetA LoginIscsiTarget function establishes a full featured login


session with the indicated target.

LoginIScsiTargetW LoginIscsiTarget function establishes a full featured login


session with the indicated target.

LogoutIScsiTarget The LogoutIscsiTarget routine closes the specified login


session.

RefreshIScsiSendTargetPortalA RefreshIscsiSendTargetPortal function instructs the iSCSI


initiator service to establish a discovery session with the
indicated target portal and transmit a SendTargets request to
refresh the list of discovered targets for the iSCSI initiator
service.

RefreshIScsiSendTargetPortalW RefreshIscsiSendTargetPortal function instructs the iSCSI


initiator service to establish a discovery session with the
indicated target portal and transmit a SendTargets request to
refresh the list of discovered targets for the iSCSI initiator
service.

RefreshISNSServerA RefreshIsnsServer function instructs the iSCSI initiator service


to query the indicated Internet Storage Name Service (iSNS)
server to refresh the list of discovered targets for the iSCSI
initiator service.

RefreshISNSServerW RefreshIsnsServer function instructs the iSCSI initiator service


to query the indicated Internet Storage Name Service (iSNS)
server to refresh the list of discovered targets for the iSCSI
initiator service.

RemoveIScsiConnection RemoveIscsiConnection function removes a connection from


an active session.

RemoveIScsiPersistentTargetA RemoveIscsiPersistentTarget function removes a persistent


login for the specified hardware initiator Host Bus Adapter
(HBA), initiator port, and target portal.

RemoveIScsiPersistentTargetW RemoveIscsiPersistentTarget function removes a persistent


login for the specified hardware initiator Host Bus Adapter
(HBA), initiator port, and target portal.
T IT L E DESC RIP T IO N

RemoveIScsiSendTargetPortalA RemoveIscsiSendTargetPortal function removes a portal from


the list of portals to which the iSCSI initiator service sends
SendTargets requests for target discovery.

RemoveIScsiSendTargetPortalW RemoveIscsiSendTargetPortal function removes a portal from


the list of portals to which the iSCSI initiator service sends
SendTargets requests for target discovery.

RemoveIScsiStaticTargetA RemoveIscsiStaticTarget function removes a target from the list


of static targets made available to the machine.

RemoveIScsiStaticTargetW RemoveIscsiStaticTarget function removes a target from the list


of static targets made available to the machine.

RemoveISNSServerA RemoveIsnsServer function removes a server from the list of


Internet Storage Name Service (iSNS) servers that the iSCSI
initiator service uses to discover targets.

RemoveISNSServerW RemoveIsnsServer function removes a server from the list of


Internet Storage Name Service (iSNS) servers that the iSCSI
initiator service uses to discover targets.

RemovePersistentIScsiDeviceA RemovePersistentIscsiDevice function removes a device or


volume from the list of persistently bound iSCSI volumes.

RemovePersistentIScsiDeviceW RemovePersistentIscsiDevice function removes a device or


volume from the list of persistently bound iSCSI volumes.

RemoveRadiusServerA RemoveRadiusServer function removes a Remote


Authentication Dial-In User Service (RADIUS) server entry
from the RADIUS server list with which an iSCSI initiator is
configured.

RemoveRadiusServerW RemoveRadiusServer function removes a Remote


Authentication Dial-In User Service (RADIUS) server entry
from the RADIUS server list with which an iSCSI initiator is
configured.

ReportActiveIScsiTargetMappingsA ReportActiveIscsiTargetMappings function retrieves the target


mappings that are currently active for all initiators on the
computer.

ReportActiveIScsiTargetMappingsW ReportActiveIscsiTargetMappings function retrieves the target


mappings that are currently active for all initiators on the
computer.

ReportIScsiInitiatorListA ReportIscsiInitiatorList function retrieves the list of initiator


Host Bus Adapters that are running on the machine.

ReportIScsiInitiatorListW ReportIscsiInitiatorList function retrieves the list of initiator


Host Bus Adapters that are running on the machine.

ReportIScsiPersistentLoginsA ReportIscsiPersistentLogins function retrieves the list of


persistent login targets.
T IT L E DESC RIP T IO N

ReportIScsiPersistentLoginsW ReportIscsiPersistentLogins function retrieves the list of


persistent login targets.

ReportIScsiSendTargetPortalsA ReportIscsiSendTargetPortals function retrieves a list of target


portals that the iSCSI initiator service uses to perform
automatic discovery with SendTarget requests.

ReportIScsiSendTargetPortalsExA ReportIscsiSendTargetPortalsEx function retrieves a list of static


target portals that the iSCSI initiator service uses to perform
automatic discovery with SendTarget requests.

ReportIScsiSendTargetPortalsExW ReportIscsiSendTargetPortalsEx function retrieves a list of static


target portals that the iSCSI initiator service uses to perform
automatic discovery with SendTarget requests.

ReportIScsiSendTargetPortalsW ReportIscsiSendTargetPortals function retrieves a list of target


portals that the iSCSI initiator service uses to perform
automatic discovery with SendTarget requests.

ReportIScsiTargetPortalsA ReportIscsiTargetPortals function retrieves target portal


information discovered by the iSCSI initiator service.

ReportIScsiTargetPortalsW ReportIscsiTargetPortals function retrieves target portal


information discovered by the iSCSI initiator service.

ReportIScsiTargetsA ReportIscsiTargets function retrieves the list of targets that the


iSCSI initiator service has discovered, and can also instruct the
iSCSI initiator service to refresh the list.

ReportIScsiTargetsW ReportIscsiTargets function retrieves the list of targets that the


iSCSI initiator service has discovered, and can also instruct the
iSCSI initiator service to refresh the list.

ReportISNSServerListA ReportIsnsServerList function retrieves the list of Internet


Storage Name Service (iSNS) servers that the iSCSI initiator
service queries for discovered targets.

ReportISNSServerListW ReportIsnsServerList function retrieves the list of Internet


Storage Name Service (iSNS) servers that the iSCSI initiator
service queries for discovered targets.

ReportPersistentIScsiDevicesA The ReportPersistentIscsiDevices function retrieves the list of


persistently bound volumes and devices.

ReportPersistentIScsiDevicesW The ReportPersistentIscsiDevices function retrieves the list of


persistently bound volumes and devices.

ReportRadiusServerListA ReportRadiusServerList function retrieves the list of Remote


Authentication Dail-In Service (RADIUS) servers the iSCSI
initiator service uses during authentication.

ReportRadiusServerListW ReportRadiusServerList function retrieves the list of Remote


Authentication Dail-In Service (RADIUS) servers the iSCSI
initiator service uses during authentication.
T IT L E DESC RIP T IO N

SendScsiInquiry SendScsiInquiry function sends a SCSI INQUIRY command to


the specified target.

SendScsiReadCapacity SendScsiReadCapacity function sends a SCSI READ CAPACITY


command to the indicated target.

SendScsiReportLuns SendScsiReportLuns function sends a SCSI REPORT LUNS


command to a specified target.

SetIScsiGroupPresharedKey SetIscsiGroupPresharedKey function establishes the default


group preshared key for all initiators on the computer.

SetIScsiIKEInfoA SetIscsiIKEInfo function establishes the IPsec policy and


preshared key for the indicated initiator to use when
performing iSCSI connections.

SetIScsiIKEInfoW SetIscsiIKEInfo function establishes the IPsec policy and


preshared key for the indicated initiator to use when
performing iSCSI connections.

SetIScsiInitiatorCHAPSharedSecret The SetIscsiInitiatorCHAPSharedSecret function establishes the


default Challenge Handshake Authentication Protocol (CHAP)
shared secret for all initiators on the computer.

SetIScsiInitiatorNodeNameA SetIscsiInitiatorNodeName function establishes an initiator


node name for the computer. This name is utilized by any
initiator nodes on the computer that are communicating with
other nodes.

SetIScsiInitiatorNodeNameW SetIscsiInitiatorNodeName function establishes an initiator


node name for the computer. This name is utilized by any
initiator nodes on the computer that are communicating with
other nodes.

SetIScsiInitiatorRADIUSSharedSecret SetIscsiInitiatorRADIUSSharedSecret function establishes the


Remote Authentication Dial-In User Service (RADIUS) shared
secret.

SetIScsiTunnelModeOuterAddressA SetIscsiTunnelModeOuterAddress function establishes the


tunnel-mode outer address that the indicated initiator Host
Bus Adapter (HBA) uses when communicating in IPsec tunnel
mode through the specified port.

SetIScsiTunnelModeOuterAddressW SetIscsiTunnelModeOuterAddress function establishes the


tunnel-mode outer address that the indicated initiator Host
Bus Adapter (HBA) uses when communicating in IPsec tunnel
mode through the specified port.

SetupPersistentIScsiDevices SetupPersistentIscsiDevices function builds the list of devices


and volumes assigned to iSCSI targets that are connected to
the computer, and saves this list in non-volatile cache of the
iSCSI initiator service.

Structures
T IT L E DESC RIP T IO N

IKE_AUTHENTICATION_INFORMATION IKE_AUTHENTICATION_INFORMATION structure contains


Internet Key Exchange (IKE) authentication information used
to establish a secure channel between two key management
daemons.

IKE_AUTHENTICATION_PRESHARED_KEY IKE_AUTHENTICATION_PRESHARED_KEY structure contains


information about the preshared key used in the Internet Key
Exchange (IKE) protocol.

ISCSI_CONNECTION_INFOA ISCSI_CONNECTION_INFO structure contains information


about a connection.

ISCSI_CONNECTION_INFOW ISCSI_CONNECTION_INFO structure contains information


about a connection.

ISCSI_DEVICE_ON_SESSIONA ISCSI_DEVICE_ON_SESSION structure specifies multiple


methods for identifying a device associated with an iSCSI login
session.

ISCSI_DEVICE_ON_SESSIONW ISCSI_DEVICE_ON_SESSION structure specifies multiple


methods for identifying a device associated with an iSCSI login
session.

ISCSI_LOGIN_OPTIONS ISCSI_LOGIN_OPTIONS structure is used by initiators to


specify the characteristics of a login session.

ISCSI_SESSION_INFOA ISCSI_SESSION_INFO.

ISCSI_SESSION_INFOW ISCSI_SESSION_INFO.

ISCSI_TARGET_MAPPINGA ISCSI_TARGET_MAPPING.

ISCSI_TARGET_MAPPINGW ISCSI_TARGET_MAPPING.

ISCSI_TARGET_PORTAL_GROUPA ISCSI_TARGET_PORTAL_GROUP.

ISCSI_TARGET_PORTAL_GROUPW ISCSI_TARGET_PORTAL_GROUP.

ISCSI_TARGET_PORTAL_INFO_EXA The ISCSI_TARGET_PORTAL_INFO_EX structure contains


information about login credentials to a target portal.

ISCSI_TARGET_PORTAL_INFO_EXW The ISCSI_TARGET_PORTAL_INFO_EX structure contains


information about login credentials to a target portal.

ISCSI_TARGET_PORTAL_INFOA ISCSI_TARGET_PORTAL_INFO structure contains information


about a target portal.

ISCSI_TARGET_PORTAL_INFOW ISCSI_TARGET_PORTAL_INFO structure contains information


about a target portal.

ISCSI_TARGET_PORTALA ISCSI_TARGET_PORTAL structure contains information about a


portal.
T IT L E DESC RIP T IO N

ISCSI_TARGET_PORTALW ISCSI_TARGET_PORTAL structure contains information about a


portal.

ISCSI_UNIQUE_SESSION_ID ISCSI_UNIQUE_SESSION_ID structure is an opaque entity that


contains data that uniquely identifies a session.

ISCSI_VERSION_INFO The ISCSI_VERSION_INFO structure contains the version and


build numbers of the iSCSI software initiator and the initiator
service.

PERSISTENT_ISCSI_LOGIN_INFOA PERSISTENT_ISCSI_LOGIN_INFO structure contains information


that describes a login session established by the Microsoft
iSCSI initiator service after the machine boots up.

PERSISTENT_ISCSI_LOGIN_INFOW PERSISTENT_ISCSI_LOGIN_INFO structure contains information


that describes a login session established by the Microsoft
iSCSI initiator service after the machine boots up.

SCSI_LUN_LIST SCSI_LUN_LIST structure is used to construct a list of logical


unit numbers (LUNs) associated with target devices.
iSCSI Target Server Provider
2/7/2020 • 2 minutes to read • Edit Online

Overview of the iSCSI Target Server Provider technology.


The iSCSI Target Server Provider technology is not associated with any headers.
For programming guidance for this technology, see:
iSCSI Target Server Provider
Kernel-Mode Driver Reference
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Kernel-Mode Driver Reference technology.


To develop Kernel-Mode Driver Reference, you need these headers:
ntdef.h
For programming guidance for this technology, see:
Kernel-Mode Driver Reference

Enumerations
T IT L E DESC RIP T IO N

COMPARTMENT_ID The COMPARTMENT_ID enumeration indicates the network


routing compartment identifier.

Functions
T IT L E DESC RIP T IO N

FIELD_OFFSET The FIELD_OFFSET macro returns the byte offset of a named


field in a known structure type.

FIELD_OFFSET The FIELD_OFFSET macro returns the byte offset of a named


field in a known structure type.

InitializeObjectAttributes The InitializeObjectAttributes macro initializes the opaque


OBJECT_ATTRIBUTES structure, which specifies the properties
of an object handle to routines that open handles.

NtCurrentTeb The NtCurrentTeb routine returns a pointer to the Thread


Environment Block (TEB) of the current thread.

Structures
T IT L E DESC RIP T IO N

LIST_ENTRY A LIST_ENTRY structure describes an entry in a doubly linked


list or serves as the header for such a list.

LUID The LUID structure is an opaque structure that specifies an


identifier that is guaranteed to be unique on the local
machine. For more information, see the reference page for
LUID in the Microsoft Windows SDK documentation.
T IT L E DESC RIP T IO N

OBJECT_ATTRIBUTES The OBJECT_ATTRIBUTES structure specifies attributes that can


be applied to objects or object handles by routines that create
objects and/or return handles to objects.

SINGLE_LIST_ENTRY A SINGLE_LIST_ENTRY structure describes an entry in a singly


linked list, or serves as the header for such a list.

STRING The ANSI_STRING structure defines a counted string used for


ANSI strings.

UNICODE_STRING The UNICODE_STRING structure is used to define Unicode


strings.
Keyboard and Mouse Input
2/7/2020 • 7 minutes to read • Edit Online

Overview of the Keyboard and Mouse Input technology.


The Keyboard and Mouse Input technology is not associated with any headers.
For programming guidance for this technology, see:
Keyboard and Mouse Input

Functions
T IT L E DESC RIP T IO N

_TrackMouseEvent Posts messages when the mouse pointer leaves a window or


hovers over a window for a specified amount of time. This
function calls TrackMouseEvent if it exists, otherwise it
emulates it.

ActivateKeyboardLayout Sets the input locale identifier (formerly called the keyboard
layout handle) for the calling thread or the current process.
The input locale identifier specifies a locale as well as the
physical layout of the keyboard.

BlockInput Blocks keyboard and mouse input events from reaching


applications.

DefRawInputProc Calls the default raw input procedure to provide default


processing for any raw input messages that an application
does not process.

DragDetect Captures the mouse and tracks its movement until the user
releases the left button, presses the ESC key, or moves the
mouse outside the drag rectangle around the specified point.

EnableWindow Enables or disables mouse and keyboard input to the specified


window or control. When input is disabled, the window does
not receive input such as mouse clicks and key presses. When
input is enabled, the window receives all input.

GET_APPCOMMAND_LPARAM Retrieves the application command from the specified LPARAM


value.

GET_DEVICE_LPARAM Retrieves the input device type from the specified LPARAM
value.

GET_FLAGS_LPARAM Retrieves the state of certain virtual keys from the specified
LPARAM value.

GET_KEYSTATE_LPARAM Retrieves the state of certain virtual keys from the specified
LPARAM value.
T IT L E DESC RIP T IO N

GET_KEYSTATE_WPARAM Retrieves the state of certain virtual keys from the specified
WPARAM value.

GET_NCHITTEST_WPARAM Retrieves the hit-test value from the specified WPARAM value.

GET_RAWINPUT_CODE_WPARAM Retrieves the input code from wParam in WM_INPUT.

GET_WHEEL_DELTA_WPARAM Retrieves the wheel-delta value from the specified WPARAM


value.

GET_XBUTTON_WPARAM Retrieves the state of certain buttons from the specified


WPARAM value.

GetActiveWindow Retrieves the window handle to the active window attached to


the calling thread's message queue.

GetAsyncKeyState Determines whether a key is up or down at the time the


function is called, and whether the key was pressed after a
previous call to GetAsyncKeyState.

GetCapture Retrieves a handle to the window (if any) that has captured the
mouse. Only one window at a time can capture the mouse;
this window receives mouse input whether or not the cursor is
within its borders.

GetDoubleClickTime Retrieves the current double-click time for the mouse.

GetFocus Retrieves the handle to the window that has the keyboard
focus, if the window is attached to the calling thread's message
queue.

GetKBCodePage Retrieves the current code page.

GetKeyboardLayout Retrieves the active input locale identifier (formerly called the
keyboard layout).

GetKeyboardLayoutList Retrieves the input locale identifiers (formerly called keyboard


layout handles) corresponding to the current set of input
locales in the system. The function copies the identifiers to the
specified buffer.

GetKeyboardLayoutNameA Retrieves the name of the active input locale identifier


(formerly called the keyboard layout) for the system.

GetKeyboardLayoutNameW Retrieves the name of the active input locale identifier


(formerly called the keyboard layout) for the system.

GetKeyboardState Copies the status of the 256 virtual keys to the specified
buffer.

GetKeyboardType Retrieves information about the current keyboard.

GetKeyNameTextA Retrieves a string that represents the name of a key.


T IT L E DESC RIP T IO N

GetKeyNameTextW Retrieves a string that represents the name of a key.

GetKeyState Retrieves the status of the specified virtual key. The status
specifies whether the key is up, down, or toggled (on, off—
alternating each time the key is pressed).

GetLastInputInfo Retrieves the time of the last input event.

GetMouseMovePointsEx Retrieves a history of up to 64 previous coordinates of the


mouse or pen.

GetRawInputBuffer Performs a buffered read of the raw input data.

GetRawInputData Retrieves the raw input from the specified device.

GetRawInputDeviceInfoA Retrieves information about the raw input device.

GetRawInputDeviceInfoW Retrieves information about the raw input device.

GetRawInputDeviceList Enumerates the raw input devices attached to the system.

GetRegisteredRawInputDevices Retrieves the information about the raw input devices for the
current application.

IsWindowEnabled Determines whether the specified window is enabled for


mouse and keyboard input.

keybd_event Synthesizes a keystroke.

LoadKeyboardLayoutA Loads a new input locale identifier (formerly called the


keyboard layout) into the system.

LoadKeyboardLayoutW Loads a new input locale identifier (formerly called the


keyboard layout) into the system.

MapVirtualKeyA Translates (maps) a virtual-key code into a scan code or


character value, or translates a scan code into a virtual-key
code.

MapVirtualKeyExA Translates (maps) a virtual-key code into a scan code or


character value, or translates a scan code into a virtual-key
code. The function translates the codes using the input
language and an input locale identifier.

MapVirtualKeyExW Translates (maps) a virtual-key code into a scan code or


character value, or translates a scan code into a virtual-key
code. The function translates the codes using the input
language and an input locale identifier.

MapVirtualKeyW Translates (maps) a virtual-key code into a scan code or


character value, or translates a scan code into a virtual-key
code.
T IT L E DESC RIP T IO N

mouse_event The mouse_event function synthesizes mouse motion and


button clicks.

NEXTRAWINPUTBLOCK Retrieves the location of the next structure in an array of


RAWINPUT structures.

OemKeyScan Maps OEMASCII codes 0 through 0x0FF into the OEM scan
codes and shift states. The function provides information that
allows a program to send OEM text to another program by
simulating keyboard input.

RegisterHotKey Defines a system-wide hot key.

RegisterRawInputDevices Registers the devices that supply the raw input data.

ReleaseCapture Releases the mouse capture from a window in the current


thread and restores normal mouse input processing.

SendInput Synthesizes keystrokes, mouse motions, and button clicks.

SetActiveWindow Activates a window. The window must be attached to the


calling thread's message queue.

SetCapture Sets the mouse capture to the specified window belonging to


the current thread.

SetDoubleClickTime Sets the double-click time for the mouse.

SetFocus Sets the keyboard focus to the specified window. The window
must be attached to the calling thread's message queue.

SetKeyboardState Copies an array of keyboard key states into the calling thread's
keyboard input-state table. This is the same table accessed by
the GetKeyboardState and GetKeyState functions. Changes
made to this table do not affect keyboard input to any other
thread.

SwapMouseButton Reverses or restores the meaning of the left and right mouse
buttons.

ToAscii Translates the specified virtual-key code and keyboard state to


the corresponding character or characters.

ToAsciiEx Translates the specified virtual-key code and keyboard state to


the corresponding character or characters. The function
translates the code using the input language and physical
keyboard layout identified by the input locale identifier.

ToUnicode Translates the specified virtual-key code and keyboard state to


the corresponding Unicode character or characters.

ToUnicodeEx Translates the specified virtual-key code and keyboard state to


the corresponding Unicode character or characters.
T IT L E DESC RIP T IO N

TrackMouseEvent Posts messages when the mouse pointer leaves a window or


hovers over a window for a specified amount of time.

UnloadKeyboardLayout Unloads an input locale identifier (formerly called a keyboard


layout).

UnregisterHotKey Frees a hot key previously registered by the calling thread.

VkKeyScanA Translates a character to the corresponding virtual-key code


and shift state for the current keyboard.

VkKeyScanExA Translates a character to the corresponding virtual-key code


and shift state. The function translates the character using the
input language and physical keyboard layout identified by the
input locale identifier.

VkKeyScanExW Translates a character to the corresponding virtual-key code


and shift state. The function translates the character using the
input language and physical keyboard layout identified by the
input locale identifier.

VkKeyScanW Translates a character to the corresponding virtual-key code


and shift state for the current keyboard.

Structures
T IT L E DESC RIP T IO N

HARDWAREINPUT Contains information about a simulated message generated


by an input device other than a keyboard or mouse.

INPUT Used by SendInput to store information for synthesizing input


events such as keystrokes, mouse movement, and mouse
clicks.

KEYBDINPUT Contains information about a simulated keyboard event.

LASTINPUTINFO Contains the time of the last input.

MOUSEINPUT Contains information about a simulated mouse event.

MOUSEMOVEPOINT Contains information about the mouse's location in screen


coordinates.

RAWHID Describes the format of the raw input from a Human Interface
Device (HID).

RAWINPUT Contains the raw input from a device.

RAWINPUTDEVICE Defines information for the raw input devices.

RAWINPUTDEVICELIST Contains information about a raw input device.


T IT L E DESC RIP T IO N

RAWINPUTHEADER Contains the header information that is part of the raw input
data.

RAWKEYBOARD Contains information about the state of the keyboard.

RAWMOUSE Contains information about the state of the mouse.

RID_DEVICE_INFO Defines the raw input data coming from any device.

RID_DEVICE_INFO_HID Defines the raw input data coming from the specified Human
Interface Device (HID).

RID_DEVICE_INFO_KEYBOARD Defines the raw input data coming from the specified
keyboard.

RID_DEVICE_INFO_MOUSE Defines the raw input data coming from the specified mouse.

TRACKMOUSEEVENT Used by the TrackMouseEvent function to track when the


mouse pointer leaves a window or hovers over a window for a
specified amount of time.
Legacy Windows Environment Features
2/7/2020 • 3 minutes to read • Edit Online

Overview of the Legacy Windows Environment Features technology.


To develop Legacy Windows Environment Features, you need these headers:
emptyvc.h
mmcobj.h
provider.h
reconcil.h
searchapi.h
shldisp.h
shlobj_core.h
windowsdefender.h
wmiutils.h
For programming guidance for this technology, see:
Legacy Windows Environment Features

Enumerations
T IT L E DESC RIP T IO N

_ColumnSortOrder Used by IResultsViewer::SortOrderProperty to indicate or set


how a query is to be sorted.

Functions
T IT L E DESC RIP T IO N

AddDesktopItem Adds a desktop item.

AddDesktopItemWithUI Adds a desktop item to the Active Desktop after displaying


user interfaces that confirm the addition of the desktop item,
verifying security zone permissions, and asking if the user
wants to create a subscription.

AddUrl Adds the desktop item associated with the specified URL.

ApplyChanges Applies changes to the Active Desktop and saves them in the
registry.

Deactivate Notifies the handler that the disk cleanup manager is shutting
down.

GenerateDesktopItemHtml Generates a generic HTML page containing the given desktop


item.
T IT L E DESC RIP T IO N

GetDesktopItem Gets the specified desktop item.

GetDesktopItemByID Gets the desktop item that matches the given identification.

GetDesktopItemBySource Gets a desktop item using its source URL.

GetDesktopItemCount Gets a count of the desktop items.

GetDesktopItemOptions Gets the options for the desktop item.

GetPattern Gets the current pattern.

GetProgressFeedbackMaxEstimate Retrieves an estimated measurement of the amount of work


required to complete a reconciliation.

GetSpaceUsed Requests the amount of disk space that the disk cleanup
handler can free.

GetWallpaper Gets the current wallpaper.

GetWallpaperOptions Gets the wallpaper options.

Initialize Initializes the disk cleanup handler, based on the information


stored under the specified registry key.

InitializeEx Initializes the disk cleanup handler. It provides better support


for localization than Initialize.

ModifyDesktopItem Modifies the desktop item.

Purge Notifies the handler to start deleting its unneeded files.

PurgeProgress Called periodically by a disk cleanup handler to update the


disk cleanup manager on the progress of a purge of deletable
files.

Reconcile Reconciles the state of an object with one or more other


objects. The reconciliation updates the internal state of the
object by merging the states of all objects to form a combined
state.

RemoveDesktopItem Removes the specified desktop item from the desktop.

ScanProgress Called by a disk cleanup handler to update the disk cleanup


manager on the progress of a scan for deletable files.

SetAbortCallback Sets the object through which the initiator can


asynchronously terminate a reconciliation. A briefcase
reconciler typically sets this object for reconciliations that are
lengthy or involve user interaction.

SetDesktopItemOptions Sets the item's options.


T IT L E DESC RIP T IO N

SetPattern Sets the Active Desktop pattern.

SetProgressFeedback Indicates the amount of progress the briefcase reconciler has


made toward completing the reconciliation.

SetSafeMode Sets or updates the Microsoft Active Desktop to safe mode.

SetWallpaper Sets the wallpaper for the Active Desktop.

SetWallpaperOptions Sets the wallpaper options.

ShowProperties Notifies the handler to display its UI.

UpdateAllDesktopSubscriptions Calls the UpdateAllDesktopSubscriptions function to update


desktop subscriptions.

WDEnable Changes Windows Defender status to on or off.

WDStatus Returns the current status of Windows Defender.

Interfaces
T IT L E DESC RIP T IO N

IActiveDesktop Allows a client program to manage the desktop items and


wallpaper on a local computer.

IActiveDesktopP Exposes methods that manage the Windows Desktop.

IADesktopP2 Provides methods to manage the Windows Desktop.

IEmptyVolumeCache Used by the disk cleanup manager to communicate with a


disk cleanup handler. Exposes methods that enable the
manager to request information from a handler, and notify it
of events such as the start of a scan or purge.

IEmptyVolumeCache2 Extends IEmptyVolumeCache. This interface defines one


additional method, InitializeEx, that provides better
localization support than IEmptyVolumeCache::Initialize.

IEmptyVolumeCacheCallBack Exposes methods that are used by a disk cleanup handler to


communicate with the disk cleanup manager.

IReconcilableObject Exposes methods that reconcile a given document. The


briefcase reconciler is responsible for implementing this
interface.

IReconcileInitiator Exposes methods that provide the briefcase reconciler with


the means to notify the initiator of its progress, to set a
termination object, and to request a given version of a
document. The initiator is responsible for implementing this
interface.
Lightweight Directory Access Protocol
2/7/2020 • 19 minutes to read • Edit Online

Overview of the Lightweight Directory Access Protocol technology.


To develop Lightweight Directory Access Protocol, you need these headers:
winber.h
winldap.h
For programming guidance for this technology, see:
Lightweight Directory Access Protocol

Functions
T IT L E DESC RIP T IO N

ber_alloc_t Allocates and constructs a new BerElement structure.

ber_bvdup The ber_bvdup function creates a copy of the supplied berval


structure.

ber_bvecfree The ber_bvecfree function frees an array of berval structures.

ber_bvfree The ber_bvfree function frees a berval structure.

ber_bvfree The ber_bvfree function frees a berval structure.

ber_first_element The ber_first_element function is used to begin the traversal of


a SET, SET OF, SEQUENCE or SEQUENCE OF data value stored
in the supplied BerElement structure. It returns the tag and
length of the first element.

ber_flatten The ber_flatten function allocates a new berval structure


containing the data taken from the supplied BerElement
structure.

ber_free The ber_free function frees a BerElement structure that was


previously allocated with ber_alloc_t, ber_init, or the
ldap_first_attribute/ ldap_next_attribute search functions.

ber_init The ber_init function allocates a new BerElement structure


containing the data taken from the supplied berval structure.

ber_next_element The ber_next_element function is used along with


ber_first_element to traverse a SET, SET OF, SEQUENCE or
SEQUENCE OF data value stored in the supplied BerElement
structure. It returns the tag and length of the next element in
the constructed type.

ber_peek_tag Returns the tag of the next element to be parsed in the


supplied BerElement structure.
T IT L E DESC RIP T IO N

ber_printf Used to encode a BER element and is similar to sprintf_s.

ber_scanf The ber_scanf function decodes a BER element in a similar


manner as sscanf_s.

ber_skip_tag The ber_skip_tag function skips the current tag and returns
the tag of the next element in the supplied BerElement
structure.

cldap_open Establishes a session with an LDAP server over a


connectionless User Datagram Protocol (UDP) service.

cldap_openA Establishes a session with an LDAP server over a


connectionless User Datagram Protocol (UDP) service.

cldap_openW Establishes a session with an LDAP server over a


connectionless User Datagram Protocol (UDP) service.

ldap_abandon A client calls ldap_abandon to cancel an in-process


asynchronous LDAP call.

ldap_add Initiates an asynchronous add operation to a directory tree.

ldap_add_ext The ldap_add_ext function initiates an asynchronous add


operation to a tree. The parent of the entry added must exist,
or the parent must be empty (equal to the distinguished
name of the root) for an add operation to succeed.

ldap_add_ext_s The ldap_add_ext_s function initiates a synchronous add


operation to a tree. For an add operation to succeed, the
parent of the entry added must exist, or the parent must be
empty (equal to the distinguished name of the root).

ldap_add_ext_sA The ldap_add_ext_s function initiates a synchronous add


operation to a tree. For an add operation to succeed, the
parent of the entry added must exist, or the parent must be
empty (equal to the distinguished name of the root).

ldap_add_ext_sW The ldap_add_ext_s function initiates a synchronous add


operation to a tree. For an add operation to succeed, the
parent of the entry added must exist, or the parent must be
empty (equal to the distinguished name of the root).

ldap_add_extA The ldap_add_ext function initiates an asynchronous add


operation to a tree. The parent of the entry added must exist,
or the parent must be empty (equal to the distinguished
name of the root) for an add operation to succeed.

ldap_add_extW The ldap_add_ext function initiates an asynchronous add


operation to a tree. The parent of the entry added must exist,
or the parent must be empty (equal to the distinguished
name of the root) for an add operation to succeed.
T IT L E DESC RIP T IO N

ldap_add_s The ldap_add_s function initiates a synchronous add operation


that adds an entry to a tree. The parent of the entry being
added must already exist or the parent must be empty (equal
to the root distinguished name) for an add operation to
succeed.

ldap_add_sA The ldap_add_s function initiates a synchronous add operation


that adds an entry to a tree. The parent of the entry being
added must already exist or the parent must be empty (equal
to the root distinguished name) for an add operation to
succeed.

ldap_add_sW The ldap_add_s function initiates a synchronous add operation


that adds an entry to a tree. The parent of the entry being
added must already exist or the parent must be empty (equal
to the root distinguished name) for an add operation to
succeed.

ldap_addA Initiates an asynchronous add operation to a directory tree.

ldap_addW Initiates an asynchronous add operation to a directory tree.

ldap_bind Asynchronously authenticates a client with the LDAP server.

ldap_bind_s Synchronously authenticates a client to the LDAP server.

ldap_bind_sA Synchronously authenticates a client to the LDAP server.

ldap_bind_sW Synchronously authenticates a client to the LDAP server.

ldap_bindA Asynchronously authenticates a client with the LDAP server.

ldap_bindW Asynchronously authenticates a client with the LDAP server.

ldap_check_filterA The ldap_check_filter function is used to verify filter syntax.

ldap_check_filterW The ldap_check_filter function is used to verify filter syntax.

ldap_cleanup Warning The ldap_cleanup function may cause unpredictable


behavior at DLL unload time so, there is no way to safely clean
up resources when dynamically loading and unloading the
wldap32.dll.Because of this, resource leaks can occur on
unload of the library. Use of ldap_cleanup is therefore not
recommended and, is at your own risk. .

ldap_close_extended_op The ldap_close_extended_op function ends a request that was


made by calling ldap_extended_operation.

ldap_compare Use the ldap_compare function to determine whether an


attribute for a given entry holds a known value.

ldap_compare_ext Use the ldap_compare_ext function to determine if an


attribute, for a given entry, holds a known value.
T IT L E DESC RIP T IO N

ldap_compare_ext_s Use the ldap_compare_ext_s function to determine if an


attribute, for a given entry, holds a known value.

ldap_compare_ext_sA Use the ldap_compare_ext_s function to determine if an


attribute, for a given entry, holds a known value.

ldap_compare_ext_sW Use the ldap_compare_ext_s function to determine if an


attribute, for a given entry, holds a known value.

ldap_compare_extA Use the ldap_compare_ext function to determine if an


attribute, for a given entry, holds a known value.

ldap_compare_extW Use the ldap_compare_ext function to determine if an


attribute, for a given entry, holds a known value.

ldap_compare_s Use the ldap_compare_s function to determine whether an


attribute for a given entry holds a known value.

ldap_compare_sA Use the ldap_compare_s function to determine whether an


attribute for a given entry holds a known value.

ldap_compare_sW Use the ldap_compare_s function to determine whether an


attribute for a given entry holds a known value.

ldap_compareA Use the ldap_compare function to determine whether an


attribute for a given entry holds a known value.

ldap_compareW Use the ldap_compare function to determine whether an


attribute for a given entry holds a known value.

ldap_conn_from_msg Returns the LDAP session handle (connection pointer) for a


particular message.

ldap_connect The ldap_connect function establishes a connection with the


server.

ldap_control_free The ldap_control_free function frees an LDAPControl structure.

ldap_control_freeA The ldap_control_free function frees an LDAPControl structure.

ldap_control_freeW The ldap_control_free function frees an LDAPControl structure.

ldap_controls_free Frees an array of LDAPControl structures.

ldap_controls_freeA Frees an array of LDAPControl structures.

ldap_controls_freeW Frees an array of LDAPControl structures.

ldap_count_entries The ldap_count_entries function counts the number of search


entries that a server returned.
T IT L E DESC RIP T IO N

ldap_count_references The ldap_count_references function counts the number of


subordinate references that were returned by the server in a
response to a search request.

ldap_count_values The ldap_count_values function counts the number of values


in a list.

ldap_count_values_len Counts the number of values in a list.

ldap_count_valuesA The ldap_count_values function counts the number of values


in a list.

ldap_count_valuesW The ldap_count_values function counts the number of values


in a list.

ldap_create_page_control Use the ldap_create_page_control function to create a basic


control for paging results. Support for controls is available
effective with LDAP 3, but whether the page control is
supported or not is dependent on the particular server.

ldap_create_page_controlA Use the ldap_create_page_control function to create a basic


control for paging results. Support for controls is available
effective with LDAP 3, but whether the page control is
supported or not is dependent on the particular server.

ldap_create_page_controlW Use the ldap_create_page_control function to create a basic


control for paging results. Support for controls is available
effective with LDAP 3, but whether the page control is
supported or not is dependent on the particular server.

ldap_create_sort_control The ldap_create_sort_control function is used to format a list


of sort keys into a search control. Support for controls is
available effective with LDAP 3, but whether the sort control is
supported or not is dependent on the particular server.

ldap_create_sort_controlA The ldap_create_sort_control function is used to format a list


of sort keys into a search control. Support for controls is
available effective with LDAP 3, but whether the sort control is
supported or not is dependent on the particular server.

ldap_create_sort_controlW The ldap_create_sort_control function is used to format a list


of sort keys into a search control. Support for controls is
available effective with LDAP 3, but whether the sort control is
supported or not is dependent on the particular server.

ldap_create_vlv_controlA The ldap_create_vlv_control function is used to create the


request control (LDAP_CONTROL_VLVREQUEST) on the server.

ldap_create_vlv_controlW The ldap_create_vlv_control function is used to create the


request control (LDAP_CONTROL_VLVREQUEST) on the server.

ldap_delete The ldap_delete function deletes an entry from the directory


tree.
T IT L E DESC RIP T IO N

ldap_delete_ext The ldap_delete_ext function is an extended routine that


removes a leaf entry from the directory tree.

ldap_delete_ext_s The ldap_delete_ext_s function is an extended routine that


performs a synchronous operation to remove a leaf entry
from the directory tree.

ldap_delete_ext_sA The ldap_delete_ext_s function is an extended routine that


performs a synchronous operation to remove a leaf entry
from the directory tree.

ldap_delete_ext_sW The ldap_delete_ext_s function is an extended routine that


performs a synchronous operation to remove a leaf entry
from the directory tree.

ldap_delete_extA The ldap_delete_ext function is an extended routine that


removes a leaf entry from the directory tree.

ldap_delete_extW The ldap_delete_ext function is an extended routine that


removes a leaf entry from the directory tree.

ldap_delete_s The ldap_delete_s function is a synchronous operation that


removes a leaf entry from the directory tree.

ldap_delete_sA The ldap_delete_s function is a synchronous operation that


removes a leaf entry from the directory tree.

ldap_delete_sW The ldap_delete_s function is a synchronous operation that


removes a leaf entry from the directory tree.

ldap_deleteA The ldap_delete function deletes an entry from the directory


tree.

ldap_deleteW The ldap_delete function deletes an entry from the directory


tree.

ldap_dn2ufn Converts a distinguished name to a user-friendly format.

ldap_dn2ufnA Converts a distinguished name to a user-friendly format.

ldap_dn2ufnW Converts a distinguished name to a user-friendly format.

ldap_encode_sort_control The ldap_encode_sort_control function formats a list of sort


keys into a search control. This function is obsolete. Instead,
use ldap_create_sort_control.

ldap_encode_sort_controlA The ldap_encode_sort_control function formats a list of sort


keys into a search control. This function is obsolete. Instead,
use ldap_create_sort_control.

ldap_encode_sort_controlW The ldap_encode_sort_control function formats a list of sort


keys into a search control. This function is obsolete. Instead,
use ldap_create_sort_control.
T IT L E DESC RIP T IO N

ldap_err2string Converts a numeric LDAP error code into a null-terminated


character string that describes the error.

ldap_err2stringA Converts a numeric LDAP error code into a null-terminated


character string that describes the error.

ldap_err2stringW Converts a numeric LDAP error code into a null-terminated


character string that describes the error.

ldap_escape_filter_element The ldap_escape_filter_element function converts a filter


element to a null-terminated character string that can be
passed safely in a search filter.

ldap_escape_filter_elementA The ldap_escape_filter_element function converts a filter


element to a null-terminated character string that can be
passed safely in a search filter.

ldap_escape_filter_elementW The ldap_escape_filter_element function converts a filter


element to a null-terminated character string that can be
passed safely in a search filter.

ldap_explode_dn The ldap_explode_dn function breaks up an entry name into


its component parts.

ldap_explode_dnA The ldap_explode_dn function breaks up an entry name into


its component parts.

ldap_explode_dnW The ldap_explode_dn function breaks up an entry name into


its component parts.

ldap_extended_operation The ldap_extended_operation function enables you to pass


extended LDAP operations to the server.

ldap_extended_operation_sA Used to pass extended LDAP operations to the server.

ldap_extended_operation_sW Used to pass extended LDAP operations to the server.

ldap_extended_operationA The ldap_extended_operation function enables you to pass


extended LDAP operations to the server.

ldap_extended_operationW The ldap_extended_operation function enables you to pass


extended LDAP operations to the server.

ldap_first_attribute Returns the first attribute.

ldap_first_attributeA Returns the first attribute.

ldap_first_attributeW Returns the first attribute.

ldap_first_entry The ldap_first_entry function returns the first entry of a


message.

ldap_first_reference Returns the first reference from a message.


T IT L E DESC RIP T IO N

ldap_free_controls Obsolete function which frees an array of LDAPControl


structures.

ldap_free_controlsA Obsolete function which frees an array of LDAPControl


structures.

ldap_free_controlsW Obsolete function which frees an array of LDAPControl


structures.

ldap_get_dn The ldap_get_dn function retrieves the distinguished name for


a given entry.

ldap_get_dnA The ldap_get_dn function retrieves the distinguished name for


a given entry.

ldap_get_dnW The ldap_get_dn function retrieves the distinguished name for


a given entry.

ldap_get_next_page Returns the next page in a sequence of asynchronous paged


search results.

ldap_get_next_page_s Returns the next page in a sequence of synchronous paged


search results.

ldap_get_option Retrieves the current values of session-wide parameters.

ldap_get_optionW Retrieves the current values of session-wide parameters.

ldap_get_paged_count Records the number of paged results that the server has
returned for a search.

ldap_get_values The ldap_get_values function retrieves the list of values of a


given attribute.

ldap_get_values_len The ldap_get_values_len function retrieves the list of values for


a given attribute.

ldap_get_values_lenA The ldap_get_values_len function retrieves the list of values for


a given attribute.

ldap_get_values_lenW The ldap_get_values_len function retrieves the list of values for


a given attribute.

ldap_get_valuesA The ldap_get_values function retrieves the list of values of a


given attribute.

ldap_get_valuesW The ldap_get_values function retrieves the list of values of a


given attribute.

ldap_init Initializes a session with an LDAP server.

ldap_initA Initializes a session with an LDAP server.


T IT L E DESC RIP T IO N

ldap_initW Initializes a session with an LDAP server.

ldap_memfree Frees memory allocated from the LDAP heap.

ldap_memfreeA Frees memory allocated from the LDAP heap.

ldap_memfreeW Frees memory allocated from the LDAP heap.

ldap_modify The ldap_modify function changes an existing entry.

ldap_modify_ext The ldap_modify_ext function changes an existing entry.

ldap_modify_ext_s The ldap_modify_ext_s function changes an existing entry.

ldap_modify_ext_sA The ldap_modify_ext_s function changes an existing entry.

ldap_modify_ext_sW The ldap_modify_ext_s function changes an existing entry.

ldap_modify_extA The ldap_modify_ext function changes an existing entry.

ldap_modify_extW The ldap_modify_ext function changes an existing entry.

ldap_modify_s The ldap_modify_s function changes an existing entry.

ldap_modify_sA The ldap_modify_s function changes an existing entry.

ldap_modify_sW The ldap_modify_s function changes an existing entry.

ldap_modifyA The ldap_modify function changes an existing entry.

ldap_modifyW The ldap_modify function changes an existing entry.

ldap_modrdn The ldap_modrdn function changes the relative distinguished


name of an LDAP entry.

ldap_modrdn_s Changes the relative distinguished name of an LDAP entry.

ldap_modrdn_sA Changes the relative distinguished name of an LDAP entry.

ldap_modrdn_sW Changes the relative distinguished name of an LDAP entry.

ldap_modrdn2 The ldap_modrdn2 function changes the relative distinguished


name of an LDAP entry.

ldap_modrdn2_s The ldap_modrdn2_s function changes the relative


distinguished name of an LDAP entry.

ldap_modrdn2_sA The ldap_modrdn2_s function changes the relative


distinguished name of an LDAP entry.
T IT L E DESC RIP T IO N

ldap_modrdn2_sW The ldap_modrdn2_s function changes the relative


distinguished name of an LDAP entry.

ldap_modrdn2A The ldap_modrdn2 function changes the relative distinguished


name of an LDAP entry.

ldap_modrdn2W The ldap_modrdn2 function changes the relative distinguished


name of an LDAP entry.

ldap_modrdnA The ldap_modrdn function changes the relative distinguished


name of an LDAP entry.

ldap_modrdnW The ldap_modrdn function changes the relative distinguished


name of an LDAP entry.

ldap_msgfree The ldap_msgfree function frees the results obtained from a


previous call to ldap_result, or to one of the synchronous
search routines.

ldap_next_attribute Returns the next attribute.

ldap_next_attributeA Returns the next attribute.

ldap_next_attributeW Returns the next attribute.

ldap_next_entry The ldap_next_entry function retrieves an entry from a search


result chain.

ldap_next_reference Retrieves a reference from a search result chain.

ldap_open ldap_open is not recommended for use.

ldap_openA ldap_open is not recommended for use.

ldap_openW ldap_open is not recommended for use.

ldap_parse_extended_resultA The ldap_parse_extended_result parses the results of an LDAP


extended operation.

ldap_parse_extended_resultW The ldap_parse_extended_result parses the results of an LDAP


extended operation.

ldap_parse_page_control The ldap_parse_page_control parses the results of a search


into pages.

ldap_parse_page_controlA The ldap_parse_page_control parses the results of a search


into pages.

ldap_parse_page_controlW The ldap_parse_page_control parses the results of a search


into pages.

ldap_parse_reference The ldap_parse_reference function returns a list of subordinate


referrals in a search response message.
T IT L E DESC RIP T IO N

ldap_parse_referenceA The ldap_parse_reference function returns a list of subordinate


referrals in a search response message.

ldap_parse_referenceW The ldap_parse_reference function returns a list of subordinate


referrals in a search response message.

ldap_parse_result The ldap_parse_result function parses responses from the


server and returns the appropriate fields.

ldap_parse_resultA The ldap_parse_result function parses responses from the


server and returns the appropriate fields.

ldap_parse_resultW The ldap_parse_result function parses responses from the


server and returns the appropriate fields.

ldap_parse_sort_control The ldap_parse_sort_control function parses the sort control


returned by the server.

ldap_parse_sort_controlA The ldap_parse_sort_control function parses the sort control


returned by the server.

ldap_parse_sort_controlW The ldap_parse_sort_control function parses the sort control


returned by the server.

ldap_parse_vlv_controlA Used to find and parse VLV search results.

ldap_parse_vlv_controlW Used to find and parse VLV search results.

ldap_perror Obsolete function. It exists only for compatibility.

ldap_rename_ext The ldap_rename_ext function starts an asynchronous


operation that changes the distinguished name of an entry in
the directory. This function is available effective with LDAP 3.

ldap_rename_ext_s The ldap_rename_ext_s function is a synchronous operation


that changes the distinguished name of an entry in the
directory. This function is available effective with LDAP 3.

ldap_rename_ext_sA The ldap_rename_ext_s function is a synchronous operation


that changes the distinguished name of an entry in the
directory. This function is available effective with LDAP 3.

ldap_rename_ext_sW The ldap_rename_ext_s function is a synchronous operation


that changes the distinguished name of an entry in the
directory. This function is available effective with LDAP 3.

ldap_rename_extA The ldap_rename_ext function starts an asynchronous


operation that changes the distinguished name of an entry in
the directory. This function is available effective with LDAP 3.

ldap_rename_extW The ldap_rename_ext function starts an asynchronous


operation that changes the distinguished name of an entry in
the directory. This function is available effective with LDAP 3.
T IT L E DESC RIP T IO N

ldap_result Obtains the result of an asynchronous operation.

ldap_result2error The ldap_result2error function parses a message and returns


the error code.

ldap_sasl_bind_sA The ldap_sasl_bind_s function is a synchronous function that


authenticates a client to the LDAP server using SASL.

ldap_sasl_bind_sW The ldap_sasl_bind_s function is a synchronous function that


authenticates a client to the LDAP server using SASL.

ldap_sasl_bindA The ldap_sasl_bind is an asynchronous function that


authenticates a client to the LDAP server using SASL.

ldap_sasl_bindW The ldap_sasl_bind is an asynchronous function that


authenticates a client to the LDAP server using SASL.

ldap_search Searches the LDAP directory and returns a requested set of


attributes for each matched entry.

ldap_search_abandon_page The ldap_search_abandon_page function terminates a paged-


results search.

ldap_search_ext Searches the LDAP directory and returns a requested set of


attributes for each matched entry.

ldap_search_ext_s Synchronously searches the LDAP directory and returns a


requested set of attributes for each matched entry.

ldap_search_ext_sA Synchronously searches the LDAP directory and returns a


requested set of attributes for each matched entry.

ldap_search_ext_sW Synchronously searches the LDAP directory and returns a


requested set of attributes for each matched entry.

ldap_search_extA Searches the LDAP directory and returns a requested set of


attributes for each matched entry.

ldap_search_extW Searches the LDAP directory and returns a requested set of


attributes for each matched entry.

ldap_search_init_page Initializes a search block for a simple paged-results search.

ldap_search_init_pageA Initializes a search block for a simple paged-results search.

ldap_search_init_pageW Initializes a search block for a simple paged-results search.

ldap_search_s The ldap_search_s function synchronously searches the LDAP


directory and returns a requested set of attributes for each
matched entry.
T IT L E DESC RIP T IO N

ldap_search_sA The ldap_search_s function synchronously searches the LDAP


directory and returns a requested set of attributes for each
matched entry.

ldap_search_st The ldap_search_st function synchronously searches the LDAP


directory and returns a requested set of attributes for each
entry matched. An additional parameter specifies a local time-
out for the search.

ldap_search_stA The ldap_search_st function synchronously searches the LDAP


directory and returns a requested set of attributes for each
entry matched. An additional parameter specifies a local time-
out for the search.

ldap_search_stW The ldap_search_st function synchronously searches the LDAP


directory and returns a requested set of attributes for each
entry matched. An additional parameter specifies a local time-
out for the search.

ldap_search_sW The ldap_search_s function synchronously searches the LDAP


directory and returns a requested set of attributes for each
matched entry.

ldap_searchA Searches the LDAP directory and returns a requested set of


attributes for each matched entry.

ldap_searchW Searches the LDAP directory and returns a requested set of


attributes for each matched entry.

ldap_set_option Sets options on connection blocks.

ldap_set_optionW Sets options on connection blocks.

ldap_simple_bind Asynchronously authenticates a client to a server, using a


plaintext password.

ldap_simple_bind_s The ldap_simple_bind_s function synchronously authenticates


a client to a server, using a plaintext password.

ldap_simple_bind_sA The ldap_simple_bind_s function synchronously authenticates


a client to a server, using a plaintext password.

ldap_simple_bind_sW The ldap_simple_bind_s function synchronously authenticates


a client to a server, using a plaintext password.

ldap_simple_bindA Asynchronously authenticates a client to a server, using a


plaintext password.

ldap_simple_bindW Asynchronously authenticates a client to a server, using a


plaintext password.

ldap_sslinit Initializes a Secure Sockets Layer (SSL) session with an LDAP


server.
T IT L E DESC RIP T IO N

ldap_sslinitA Initializes a Secure Sockets Layer (SSL) session with an LDAP


server.

ldap_sslinitW Initializes a Secure Sockets Layer (SSL) session with an LDAP


server.

ldap_start_tls_sA Used in an active LDAP session to begin using TLS encryption.

ldap_start_tls_sW Used in an active LDAP session to begin using TLS encryption.

ldap_stop_tls_s Stops the encryption operation started by a call to


ldap_start_tls_s.

ldap_ufn2dn Converts a user-friendly name to a distinguished name.

ldap_ufn2dnA Converts a user-friendly name to a distinguished name.

ldap_ufn2dnW Converts a user-friendly name to a distinguished name.

ldap_unbind The ldap_unbind function frees resources associated with an


LDAP session.

ldap_unbind_s The ldap_unbind_s function synchronously frees resources


associated with an LDAP session.

ldap_value_free Frees a structure returned by ldap_get_values.

ldap_value_free_len The ldap_value_free_len frees berval structures that were


returned by ldap_get_values_len.

ldap_value_freeA Frees a structure returned by ldap_get_values.

ldap_value_freeW Frees a structure returned by ldap_get_values.

LdapGetLastError The LdapGetLastError function retrieves the last error code


returned by an LDAP call.

LdapMapErrorToWin32 The LdapMapErrorToWin32 function translates an LdapError


value to the closest Win32 error code.

LdapUnicodeToUTF8 Converts Unicode strings to UTF-8.

LdapUTF8ToUnicode Used to translate strings for modules that do not have the
UTF-8 code page.

QUERYCLIENTCERT Enables the server to request a certificate from the client


when establishing a Secure Sockets Layer (SSL) connection.

VERIFYSERVERCERT Allows a client to evaluate the certificate chain of the server to


which it is connected.

Structures
T IT L E DESC RIP T IO N

BerElement C++ class object that performs basic encoding rules (BER)
encoding.

LDAP Represents an LDAP session.

LDAP_BERVAL The berval structure represents arbitrary binary data that is


encoded according to Basic Encoding Rules (BER). Use a berval
to represent any attribute that cannot be represented by a
null-terminated string.

LDAP_REFERRAL_CALLBACK Used to implement external caching of connections.

LDAP_TIMEVAL Used to represent an interval of time.

LDAPAPIFeatureInfoA Retrieves data about any supported LDAP API extensions.

LDAPAPIFeatureInfoW Retrieves data about any supported LDAP API extensions.

LDAPAPIInfoA Retrieves data about the API and implementations used.

LDAPAPIInfoW Retrieves data about the API and implementations used.

LDAPControlA Represents both client-side and server controls.

LDAPControlW Represents both client-side and server controls.

LDAPMessage Used by an LDAP function to return results and error data.

LDAPModA Holds data required to perform a modification operation.

LDAPModW Holds data required to perform a modification operation.

LDAPSortKeyA The LDAPSortKey structure stores sorting criteria for use by


sort controls.

LDAPSortKeyW The LDAPSortKey structure stores sorting criteria for use by


sort controls.

LDAPVLVInfo Used to set up the search parameters for a virtual list view
(VLV) request control (LDAP_CONTROL_VLVREQUEST).
Location API
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Location API technology.


To develop Location API, you need these headers:
locationapi.h
sensorsapi.h
For programming guidance for this technology, see:
Location API
Magnification API
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Magnification API technology.


To develop Magnification API, you need these headers:
magnification.h
For programming guidance for this technology, see:
Magnification API

Functions
T IT L E DESC RIP T IO N

MagGetColorEffect Gets the color transformation matrix for a magnifier control.

MagGetFullscreenColorEffect Retrieves the color transformation matrix associated with the


full-screen magnifier.

MagGetFullscreenTransform Retrieves the magnification settings for the full-screen


magnifier.

MagGetImageScalingCallback Retrieves the registered callback function that implements a


custom transform for image scaling.

MagGetInputTransform Retrieves the current input transformation for pen and touch
input, represented as a source rectangle and a destination
rectangle.

MagGetWindowFilterList Retrieves the list of windows that are magnified or excluded


from magnification.

MagGetWindowSource Gets the rectangle of the area that is being magnified.

MagGetWindowTransform Retrieves the transformation matrix associated with a


magnifier control.

MagImageScalingCallback Prototype for a callback function that implements a custom


transform for image scaling.

MagInitialize Creates and initializes the magnifier run-time objects.

MagSetColorEffect Sets the color transformation matrix for a magnifier control.

MagSetFullscreenColorEffect Changes the color transformation matrix associated with the


full-screen magnifier.

MagSetFullscreenTransform Changes the magnification settings for the full-screen


magnifier.
T IT L E DESC RIP T IO N

MagSetImageScalingCallback Sets the callback function for external image filtering and
scaling.

MagSetInputTransform Sets the current active input transformation for pen and touch
input, represented as a source rectangle and a destination
rectangle.

MagSetWindowFilterList Sets the list of windows to be magnified or the list of windows


to be excluded from magnification.

MagSetWindowSource Sets the source rectangle for the magnification window.

MagSetWindowTransform Sets the transformation matrix for a magnifier control.

MagShowSystemCursor Shows or hides the system cursor.

MagUninitialize Destroys the magnifier run-time objects.

Structures
T IT L E DESC RIP T IO N

MAGCOLOREFFECT Describes a color transformation matrix that a magnifier


control uses to apply a color effect to magnified screen
content.

MAGIMAGEHEADER Describes an image format.

MAGTRANSFORM Describes a transformation matrix that a magnifier control


uses to magnify screen content.
Management Information Base
2/7/2020 • 7 minutes to read • Edit Online

Overview of the Management Information Base technology.


To develop Management Information Base, you need these headers:
ifmib.h
ipmib.h
tcpmib.h
udpmib.h
For programming guidance for this technology, see:
Management Information Base

Enumerations
T IT L E DESC RIP T IO N

ICMP4_TYPE Defines the set of Internet Control Message Protocol (ICMP)


for IP version 4.0 (IPv4) message types.

ICMP6_TYPE Defines the set of Internet Control Message Protocol for IP


version 6.0 (ICMPv6) message types.

MIB_NOTIFICATION_TYPE Defines the notification type passed to a callback function


when a notification occurs.

TCP_CONNECTION_OFFLOAD_STATE Defines the possible TCP offload states for a TCP connection.

Structures
T IT L E DESC RIP T IO N

MIB_ANYCASTIPADDRESS_ROW Stores information about an anycast IP address.

MIB_ANYCASTIPADDRESS_TABLE Contains a table of anycast IP address entries.

MIB_BEST_IF Stores the index of the interface that has the best route to a
particular destination IPv4 address.

MIB_BOUNDARYROW Contains the IPv4 group address value and mask for a
multicast boundary.

MIB_ICMP Contains the Internet Control Message Protocol (ICMP)


statistics for a particular computer.

MIB_ICMP_EX_XPSP1 Contains the extended Internet Control Message Protocol


(ICMP) statistics for a particular computer.
T IT L E DESC RIP T IO N

MIB_IF_ROW2 Stores information about a particular interface.

MIB_IF_TABLE2 Contains a table of logical and physical interface entries.

MIB_IFNUMBER Stores the number of interfaces on a particular computer.

MIB_IFROW Stores information about a particular interface.

MIB_IFSTACK_ROW Represents the relationship between two network interfaces.

MIB_IFSTACK_TABLE Contains a table of network interface stack row entries. This


specifies the relationship of the network interfaces on an
interface stack.

MIB_IFSTATUS Stores status information for a particular interface.

MIB_IFTABLE Contains a table of interface entries.

MIB_INVERTEDIFSTACK_ROW Represents the relationship between two network interfaces.

MIB_INVERTEDIFSTACK_TABLE Contains a table of inverted network interface stack row


entries. This specifies the relationship of the network interfaces
on an interface stack in reverse order.

MIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES Contains read-only information for the bandwidth estimates


computed by the TCP/IP stack for a network connection.

MIB_IPADDRROW_W2K Specifies information for a particular IPv4 address in the


MIB_IPADDRTABLE structure.

MIB_IPADDRROW_XP Specifies information for a particular IPv4 address in the


MIB_IPADDRTABLE structure.

MIB_IPADDRTABLE Contains a table of IPv4 address entries.

MIB_IPFORWARD_ROW2 Stores information about an IP route entry.

MIB_IPFORWARD_TABLE2 Contains a table of IP route entries.

MIB_IPFORWARDNUMBER Stores the number of routes in a particular IP routing table.

MIB_IPFORWARDROW Contains information that describes an IPv4 network route.

MIB_IPFORWARDTABLE Contains a table of IPv4 route entries.

MIB_IPINTERFACE_ROW Stores interface management information for a particular IP


address family on a network interface.

MIB_IPINTERFACE_TABLE Contains a table of IP interface entries.


T IT L E DESC RIP T IO N

MIB_IPMCAST_BOUNDARY Contains a row in a MIB_IPMCAST_BOUNDARY_TABLE


structure that lists a router's scoped IPv4 multicast address
boundaries.

MIB_IPMCAST_BOUNDARY_TABLE Contains a list of a router's scoped IPv4 multicast address


boundaries.

MIB_IPMCAST_GLOBAL Stores global information for IP multicast on a particular


computer.

MIB_IPMCAST_IF_ENTRY Stores information about an IP multicast interface.

MIB_IPMCAST_IF_TABLE Contains a table of IP multicast interface entries.

MIB_IPMCAST_MFE Stores the information for an Internet Protocol (IP) Multicast


Forwarding Entry (MFE).

MIB_IPMCAST_MFE_STATS Stores the statistics associated with a Multicast Forwarding


Entry (MFE).

MIB_IPMCAST_MFE_STATS_EX_XP Stores the extended statistics associated with a Multicast


Forwarding Entry (MFE).

MIB_IPMCAST_OIF_STATS_LH Stores the statistics that are associated with an outgoing


multicast interface.

MIB_IPMCAST_OIF_STATS_W2K Stores the statistics that are associated with an outgoing


multicast interface.

MIB_IPMCAST_OIF_W2K Stores the information required to send an outgoing IP


multicast packet.

MIB_IPMCAST_OIF_XP Stores the information required to send an outgoing IP


multicast packet.

MIB_IPMCAST_SCOPE Contains a multicast scope name and the associated IPv4


multicast group address and mask that define the scope.

MIB_IPNET_ROW2 Stores information about a neighbor IP address.

MIB_IPNET_TABLE2 Contains a table of neighbor IP address entries.

MIB_IPNETROW_LH Contains information for an Address Resolution Protocol (ARP)


table entry for an IPv4 address.

MIB_IPNETROW_W2K Contains information for an Address Resolution Protocol (ARP)


table entry for an IPv4 address.

MIB_IPNETTABLE Contains a table of Address Resolution Protocol (ARP) entries


for IPv4 addresses.

MIB_IPPATH_ROW Stores information about an IP path entry.


T IT L E DESC RIP T IO N

MIB_IPPATH_TABLE Contains a table of IP path entries.

MIB_IPSTATS_LH Stores information about the IP protocol running on a


particular computer.

MIB_IPSTATS_W2K Stores information about the IP protocol running on a


particular computer.

MIB_MCAST_LIMIT_ROW The MIB_MCAST_LIMIT_ROW structure contains the


configurable limit information from a corresponding
MIB_IPMCAST_IF_ENTRY structure.

MIB_MFE_STATS_TABLE Stores statistics for a group of Multicast Forwarding Entries


(MFEs).

MIB_MFE_STATS_TABLE_EX_XP Contains a table of extended statistics for Multicast


Forwarding Entries (MFEs).

MIB_MFE_TABLE Contains a table of Multicast Forwarding Entries (MFEs).

MIB_MULTICASTIPADDRESS_ROW Stores information about a multicast IP address.

MIB_MULTICASTIPADDRESS_TABLE Contains a table of multicast IP address entries.

MIB_OPAQUE_INFO Contains information returned from a MIB opaque query.

MIB_OPAQUE_QUERY Contains information for a MIB opaque query.

MIB_PROXYARP Stores information for a Proxy Address Resolution Protocol


(PARP) entry.

MIB_TCP6ROW Contains information that describes an IPv6 TCP connection.

MIB_TCP6ROW_OWNER_MODULE Contains information that describes an IPv6 TCP connection


bound to a specific process ID (PID) with ownership data.

MIB_TCP6ROW_OWNER_PID Contains information that describes an IPv6 TCP connection


associated with a specific process ID (PID).

MIB_TCP6ROW2 Contains information that describes an IPv6 TCP connection.

MIB_TCP6TABLE Contains a table of TCP connections for IPv6 on the local


computer.

MIB_TCP6TABLE_OWNER_MODULE Contains a table of process IDs (PIDs) and the IPv6 TCP links
context bound to these PIDs with any available ownership
data.

MIB_TCP6TABLE_OWNER_PID Contains a table of process IDs (PIDs) and the IPv6 TCP links
that are context bound to these PIDs.

MIB_TCP6TABLE2 Contains a table of IPv6 TCP connections on the local


computer.
T IT L E DESC RIP T IO N

MIB_TCPROW_LH Contains information that descibes an IPv4 TCP connection.

MIB_TCPROW_OWNER_MODULE Contains information that describes an IPv4 TCP connection


with ownership data, IPv4 addresses, ports used by the TCP
connection, and the specific process ID (PID) associated with
connection.

MIB_TCPROW_OWNER_PID Contains information that describes an IPv4 TCP connection


with IPv4 addresses, ports used by the TCP connection, and
the specific process ID (PID) associated with connection.

MIB_TCPROW_W2K Contains information that descibes an IPv4 TCP connection.

MIB_TCPROW2 Contains information that describes an IPv4 TCP connection.

MIB_TCPSTATS_LH Contains statistics for the TCP protocol running on the local
computer.

MIB_TCPSTATS_W2K Contains statistics for the TCP protocol running on the local
computer.

MIB_TCPSTATS2 Contains statistics for the TCP protocol running on the local
computer.

MIB_TCPTABLE Contains a table of TCP connections for IPv4 on the local


computer.

MIB_TCPTABLE_OWNER_MODULE Contains a table of process IDs (PIDs) and the IPv4 TCP links
context bound to the PIDs, and any available ownership data.

MIB_TCPTABLE_OWNER_PID Contains a table of process IDs (PIDs) and the IPv4 TCP links
that are context bound to these PIDs.

MIB_TCPTABLE2 Contains a table of IPv4 TCP connections on the local


computer.

MIB_UDP6ROW Contains an entry from the User Datagram Protocol (UDP)


listener table for IPv6 on the local computer.

MIB_UDP6ROW_OWNER_MODULE Contains an entry from the User Datagram Protocol (UDP)


listener table for IPv6 on the local computer. This entry also
also includes any available ownership data and the process ID
(PID) that issued the call to the bind function for the UDP
endpoint.

MIB_UDP6ROW_OWNER_PID Contains an entry from the User Datagram Protocol (UDP)


listener table for IPv6 on the local computer. The entry also
includes the process ID (PID) that issued the call to the bind
function for the UDP endpoint.

MIB_UDP6TABLE Contains the User Datagram Protocol (UDP) listener table for
IPv6 on the local computer.
T IT L E DESC RIP T IO N

MIB_UDP6TABLE_OWNER_MODULE Contains the User Datagram Protocol (UDP) listener table for
IPv6 on the local computer. The table also includes any
available ownership data and the process ID (PID) that issued
the call to the bind function for each UDP endpoint.

MIB_UDP6TABLE_OWNER_PID Contains the User Datagram Protocol (UDP) listener table for
IPv6 on the local computer. The table also includes the process
ID (PID) that issued the call to the bind function for each UDP
endpoint.

MIB_UDPROW Contains an entry from the User Datagram Protocol (UDP)


listener table for IPv4 on the local computer.

MIB_UDPROW_OWNER_MODULE Contains an entry from the IPv4 User Datagram Protocol


(UDP) listener table on the local computer. This entry also also
includes any available ownership data and the process ID (PID)
that issued the call to the bind function for the UDP endpoint.

MIB_UDPROW_OWNER_PID Contains an entry from the User Datagram Protocol (UDP)


listener table for IPv4 on the local computer. The entry also
includes the process ID (PID) that issued the call to the bind
function for the UDP endpoint.

MIB_UDPSTATS Contains statistics for the User Datagram Protocol (UDP)


running on the local computer.

MIB_UDPSTATS2 Contains statistics for the User Datagram Protocol (UDP)


running on the local computer.

MIB_UDPTABLE Contains the User Datagram Protocol (UDP) listener table for
IPv4 on the local computer.

MIB_UDPTABLE_OWNER_MODULE Contains the User Datagram Protocol (UDP) listener table for
IPv4 on the local computer. The table also includes any
available ownership data and the process ID (PID) that issued
the call to the bind function for each UDP endpoint.

MIB_UDPTABLE_OWNER_PID Contains the User Datagram Protocol (UDP) listener table for
IPv4 on the local computer. The table also includes the process
ID (PID) that issued the call to the bind function for each UDP
endpoint.

MIB_UNICASTIPADDRESS_ROW Stores information about a unicast IP address.

MIB_UNICASTIPADDRESS_TABLE Contains a table of unicast IP address entries.

MIBICMPINFO Contains Internet Control Message Protocol (ICMP) statistics


for a particular computer.

MIBICMPSTATS Contains statistics for either incoming or outgoing Internet


Control Message Protocol (ICMP) messages on a particular
computer.
T IT L E DESC RIP T IO N

MIBICMPSTATS_EX_XPSP1 Contains extended statistics for either incoming or outgoing


Internet Control Message Protocol (ICMP) messages on a
particular computer.

NL_INTERFACE_OFFLOAD_ROD Specifies a set of flags that indicate the offload capabilities for
an IP interface.
Menus and Other Resources
2/7/2020 • 24 minutes to read • Edit Online

Overview of the Menus and Other Resources technology.


To develop Menus and Other Resources, you need these headers:
resourceindexer.h
strsafe.h
verrsrc.h
winver.h
For programming guidance for this technology, see:
Menus and Other Resources

Functions
T IT L E DESC RIP T IO N

AppendMenuA Appends a new item to the end of the specified menu bar,
drop-down menu, submenu, or shortcut menu. You can use
this function to specify the content, appearance, and behavior
of the menu item.

AppendMenuW Appends a new item to the end of the specified menu bar,
drop-down menu, submenu, or shortcut menu. You can use
this function to specify the content, appearance, and behavior
of the menu item.

BeginUpdateResourceA Retrieves a handle that can be used by the UpdateResource


function to add, delete, or replace resources in a binary
module.

BeginUpdateResourceW Retrieves a handle that can be used by the UpdateResource


function to add, delete, or replace resources in a binary
module.

CharLowerA Converts a character string or a single character to lowercase.


If the operand is a character string, the function converts the
characters in place.

CharLowerBuffA Converts uppercase characters in a buffer to lowercase


characters. The function converts the characters in place.

CharLowerBuffW Converts uppercase characters in a buffer to lowercase


characters. The function converts the characters in place.

CharLowerW Converts a character string or a single character to lowercase.


If the operand is a character string, the function converts the
characters in place.
T IT L E DESC RIP T IO N

CharNextA Retrieves a pointer to the next character in a string. This


function can handle strings consisting of either single- or
multi-byte characters.

CharNextExA Retrieves the pointer to the next character in a string. This


function can handle strings consisting of either single- or
multi-byte characters.

CharNextW Retrieves a pointer to the next character in a string. This


function can handle strings consisting of either single- or
multi-byte characters.

CharPrevA Retrieves a pointer to the preceding character in a string. This


function can handle strings consisting of either single- or
multi-byte characters.

CharPrevExA Retrieves the pointer to the preceding character in a string.


This function can handle strings consisting of either single- or
multi-byte characters.

CharPrevW Retrieves a pointer to the preceding character in a string. This


function can handle strings consisting of either single- or
multi-byte characters.

CharToOemA Translates a string into the OEM-defined character


set.Warning Do not use.

CharToOemBuffA Translates a specified number of characters in a string into the


OEM-defined character set.

CharToOemBuffW Translates a specified number of characters in a string into the


OEM-defined character set.

CharToOemW Translates a string into the OEM-defined character


set.Warning Do not use.

CharUpperA Converts a character string or a single character to uppercase.


If the operand is a character string, the function converts the
characters in place.

CharUpperBuffA Converts lowercase characters in a buffer to uppercase


characters. The function converts the characters in place.

CharUpperBuffW Converts lowercase characters in a buffer to uppercase


characters. The function converts the characters in place.

CharUpperW Converts a character string or a single character to uppercase.


If the operand is a character string, the function converts the
characters in place.

CheckMenuItem Sets the state of the specified menu item's check-mark


attribute to either selected or clear.
T IT L E DESC RIP T IO N

CheckMenuRadioItem Checks a specified menu item and makes it a radio item. At


the same time, the function clears all other menu items in the
associated group and clears the radio-item type flag for those
items.

ClipCursor Confines the cursor to a rectangular area on the screen.

CopyAcceleratorTableA Copies the specified accelerator table. This function is used to


obtain the accelerator-table data that corresponds to an
accelerator-table handle, or to determine the size of the
accelerator-table data.

CopyAcceleratorTableW Copies the specified accelerator table. This function is used to


obtain the accelerator-table data that corresponds to an
accelerator-table handle, or to determine the size of the
accelerator-table data.

CopyCursor Copies the specified cursor.

CopyIcon Copies the specified icon from another module to the current
module.

CopyImage Creates a new image (icon, cursor, or bitmap) and copies the
attributes of the specified image to the new one. If necessary,
the function stretches the bits to fit the desired size of the
new image.

CreateAcceleratorTableA Creates an accelerator table.

CreateAcceleratorTableW Creates an accelerator table.

CreateCaret Creates a new shape for the system caret and assigns
ownership of the caret to the specified window. The caret
shape can be a line, a block, or a bitmap.

CreateCursor Creates a cursor having the specified size, bit patterns, and
hot spot.

CreateIcon Creates an icon that has the specified size, colors, and bit
patterns.

CreateIconFromResource Creates an icon or cursor from resource bits describing the


icon.

CreateIconFromResourceEx Creates an icon or cursor from resource bits describing the


icon.

CreateIconIndirect Creates an icon or cursor from an ICONINFO structure.

CreateMenu Creates a menu. The menu is initially empty, but it can be filled
with menu items by using the InsertMenuItem, AppendMenu,
and InsertMenu functions.

CreatePopupMenu Creates a drop-down menu, submenu, or shortcut menu.


T IT L E DESC RIP T IO N

CreateResourceIndexer Creates a new resource indexer for the specified paths of the
root of the project files and the extension DLL.

DeleteMenu Deletes an item from the specified menu. If the menu item
opens a menu or submenu, this function destroys the handle
to the menu or submenu and frees the memory used by the
menu or submenu.

DestroyAcceleratorTable Destroys an accelerator table.

DestroyCaret Destroys the caret's current shape, frees the caret from the
window, and removes the caret from the screen.

DestroyCursor Destroys a cursor and frees any memory the cursor occupied.
Do not use this function to destroy a shared cursor.

DestroyIcon Destroys an icon and frees any memory the icon occupied.

DestroyIndexedResults Frees the parameters that the IndexFilePath method returned.

DestroyMenu Destroys the specified menu and frees any memory that the
menu occupies.

DestroyResourceIndexer Frees the computational resources associated with the


specified resource indexer.

DrawIcon Draws an icon or cursor into the specified device context.

DrawIconEx Draws an icon or cursor into the specified device context,


performing the specified raster operations, and stretching or
compressing the icon or cursor as specified.

DrawMenuBar Redraws the menu bar of the specified window. If the menu
bar changes after the system has created the window, this
function must be called to draw the changed menu bar.

EnableMenuItem Enables, disables, or grays the specified menu item.

EndMenu Ends the calling thread's active menu.

EndUpdateResourceA Commits or discards changes made prior to a call to


UpdateResource.

EndUpdateResourceW Commits or discards changes made prior to a call to


UpdateResource.

ENUMRESNAMEPROCA An application-defined callback function used with the


EnumResourceNames and EnumResourceNamesEx functions.

ENUMRESNAMEPROCW An application-defined callback function used with the


EnumResourceNames and EnumResourceNamesEx functions.
T IT L E DESC RIP T IO N

EnumResourceLanguagesA Enumerates language-specific resources, of the specified type


and name, associated with a binary module.

EnumResourceLanguagesExA Enumerates language-specific resources, of the specified type


and name, associated with a specified binary module. Extends
EnumResourceLanguages by allowing more control over the
enumeration.

EnumResourceLanguagesExW Enumerates language-specific resources, of the specified type


and name, associated with a specified binary module. Extends
EnumResourceLanguages by allowing more control over the
enumeration.

EnumResourceLanguagesW Enumerates language-specific resources, of the specified type


and name, associated with a binary module.

EnumResourceNamesA Enumerates resources of a specified type within a binary


module.

EnumResourceNamesExA Enumerates resources of a specified type that are associated


with a specified binary module. The search can include both an
LN file and its associated .mui files, or it can be limited in
several ways.

EnumResourceNamesExW Enumerates resources of a specified type that are associated


with a specified binary module. The search can include both an
LN file and its associated .mui files, or it can be limited in
several ways.

EnumResourceTypesA Enumerates resource types within a binary module.

EnumResourceTypesExA Enumerates resource types associated with a specified binary


module.

EnumResourceTypesExW Enumerates resource types associated with a specified binary


module.

EnumResourceTypesW Enumerates resource types within a binary module.

ENUMRESTYPEPROCA An application-defined callback function used with the


EnumResourceTypes and EnumResourceTypesEx functions.

ENUMRESTYPEPROCW An application-defined callback function used with the


EnumResourceTypes and EnumResourceTypesEx functions.

FindResourceA Determines the location of a resource with the specified type


and name in the specified module.

FindResourceExA Determines the location of the resource with the specified


type, name, and language in the specified module.

FreeResource Decrements (decreases by one) the reference count of a


loaded resource. When the reference count reaches zero, the
memory occupied by the resource is freed.
T IT L E DESC RIP T IO N

GetCaretBlinkTime Retrieves the time required to invert the caret's pixels. The
user can set this value.

GetCaretPos Copies the caret's position to the specified POINT structure.

GetClipCursor Retrieves the screen coordinates of the rectangular area to


which the cursor is confined.

GetCursor Retrieves a handle to the current cursor.

GetCursorInfo Retrieves information about the global cursor.

GetCursorPos Retrieves the position of the mouse cursor, in screen


coordinates.

GetFileVersionInfoA Retrieves version information for the specified file.

GetFileVersionInfoExA Retrieves version information for the specified file.

GetFileVersionInfoExW Retrieves version information for the specified file.

GetFileVersionInfoSizeA Determines whether the operating system can retrieve version


information for a specified file. If version information is
available, GetFileVersionInfoSize returns the size, in bytes, of
that information.

GetFileVersionInfoSizeExA Determines whether the operating system can retrieve version


information for a specified file. If version information is
available, GetFileVersionInfoSizeEx returns the size, in bytes, of
that information.

GetFileVersionInfoSizeExW Determines whether the operating system can retrieve version


information for a specified file. If version information is
available, GetFileVersionInfoSizeEx returns the size, in bytes, of
that information.

GetFileVersionInfoSizeW Determines whether the operating system can retrieve version


information for a specified file. If version information is
available, GetFileVersionInfoSize returns the size, in bytes, of
that information.

GetFileVersionInfoW Retrieves version information for the specified file.

GetIconInfo Retrieves information about the specified icon or cursor.

GetIconInfoExA Retrieves information about the specified icon or cursor.


GetIconInfoEx extends GetIconInfo by using the newer
ICONINFOEX structure.

GetIconInfoExW Retrieves information about the specified icon or cursor.


GetIconInfoEx extends GetIconInfo by using the newer
ICONINFOEX structure.
T IT L E DESC RIP T IO N

GetMenu Retrieves a handle to the menu assigned to the specified


window.

GetMenuBarInfo Retrieves information about the specified menu bar.

GetMenuCheckMarkDimensions Retrieves the dimensions of the default check-mark bitmap.

GetMenuDefaultItem Determines the default menu item on the specified menu.

GetMenuInfo Retrieves information about a specified menu.

GetMenuItemCount Determines the number of items in the specified menu.

GetMenuItemID Retrieves the menu item identifier of a menu item located at


the specified position in a menu.

GetMenuItemInfoA Retrieves information about a menu item.

GetMenuItemInfoW Retrieves information about a menu item.

GetMenuItemRect Retrieves the bounding rectangle for the specified menu item.

GetMenuState Retrieves the menu flags associated with the specified menu
item.

GetMenuStringA Copies the text string of the specified menu item into the
specified buffer.

GetMenuStringW Copies the text string of the specified menu item into the
specified buffer.

GetPhysicalCursorPos Retrieves the position of the cursor in physical coordinates.

GetSubMenu Retrieves a handle to the drop-down menu or submenu


activated by the specified menu item.

GetSystemMenu Enables the application to access the window menu (also


known as the system menu or the control menu) for copying
and modifying.

HideCaret Removes the caret from the screen. Hiding a caret does not
destroy its current shape or invalidate the insertion point.

HiliteMenuItem Adds or removes highlighting from an item in a menu bar.

IndexFilePath Indexes a file path for file and folder naming conventions.

InsertMenuA Inserts a new menu item into a menu, moving other items
down the menu.

InsertMenuItemA Inserts a new menu item at the specified position in a menu.


T IT L E DESC RIP T IO N

InsertMenuItemW Inserts a new menu item at the specified position in a menu.

InsertMenuW Inserts a new menu item into a menu, moving other items
down the menu.

IS_INTRESOURCE Determines whether a value is an integer identifier for a


resource.

IsCharAlphaA Determines whether a character is an alphabetical character.


This determination is based on the semantics of the language
selected by the user during setup or through Control Panel.

IsCharAlphaNumericA Determines whether a character is either an alphabetical or a


numeric character. This determination is based on the
semantics of the language selected by the user during setup
or through Control Panel.

IsCharAlphaNumericW Determines whether a character is either an alphabetical or a


numeric character. This determination is based on the
semantics of the language selected by the user during setup
or through Control Panel.

IsCharAlphaW Determines whether a character is an alphabetical character.


This determination is based on the semantics of the language
selected by the user during setup or through Control Panel.

IsCharLowerA Determines whether a character is lowercase. This


determination is based on the semantics of the language
selected by the user during setup or through Control Panel.

IsCharUpperA Determines whether a character is uppercase. This


determination is based on the semantics of the language
selected by the user during setup or through Control Panel.

IsCharUpperW Determines whether a character is uppercase. This


determination is based on the semantics of the language
selected by the user during setup or through Control Panel.

IsMenu Determines whether a handle is a menu handle.

LoadAcceleratorsA Loads the specified accelerator table.

LoadAcceleratorsW Loads the specified accelerator table.

LoadCursorA Loads the specified cursor resource from the executable (.EXE)
file associated with an application instance.

LoadCursorFromFileA Creates a cursor based on data contained in a file.

LoadCursorFromFileW Creates a cursor based on data contained in a file.

LoadCursorW Loads the specified cursor resource from the executable (.EXE)
file associated with an application instance.
T IT L E DESC RIP T IO N

LoadIconA Loads the specified icon resource from the executable (.exe) file
associated with an application instance.

LoadIconW Loads the specified icon resource from the executable (.exe) file
associated with an application instance.

LoadImageA Loads an icon, cursor, animated cursor, or bitmap.

LoadImageW Loads an icon, cursor, animated cursor, or bitmap.

LoadMenuA Loads the specified menu resource from the executable (.exe)
file associated with an application instance.

LoadMenuIndirectA Loads the specified menu template in memory.

LoadMenuIndirectW Loads the specified menu template in memory.

LoadMenuW Loads the specified menu resource from the executable (.exe)
file associated with an application instance.

LoadResource Retrieves a handle that can be used to obtain a pointer to the


first byte of the specified resource in memory.

LoadStringA Loads a string resource from the executable file associated


with a specified module, copies the string into a buffer, and
appends a terminating null character.

LoadStringW Loads a string resource from the executable file associated


with a specified module, copies the string into a buffer, and
appends a terminating null character.

LockResource Retrieves a pointer to the specified resource in memory.

LookupIconIdFromDirectory Searches through icon or cursor data for the icon or cursor
that best fits the current display device.

LookupIconIdFromDirectoryEx Searches through icon or cursor data for the icon or cursor
that best fits the current display device.

lstrcatA Appends one string to another.Warning Do not use.

lstrcatW Appends one string to another.Warning Do not use.

lstrcmpA Compares two character strings. The comparison is case-


sensitive.

lstrcmpiA Compares two character strings. The comparison is not case-


sensitive.

lstrcmpiW Compares two character strings. The comparison is not case-


sensitive.
T IT L E DESC RIP T IO N

lstrcmpW Compares two character strings. The comparison is case-


sensitive.

lstrcpyA Copies a string to a buffer.

lstrcpynA Copies a specified number of characters from a source string


into a buffer.Warning Do not use.

lstrcpynW Copies a specified number of characters from a source string


into a buffer.Warning Do not use.

lstrcpyW Copies a string to a buffer.

lstrlenA Determines the length of the specified string (not including


the terminating null character).

lstrlenW Determines the length of the specified string (not including


the terminating null character).

MAKEINTRESOURCEA Converts an integer value to a resource type compatible with


the resource-management functions. This macro is used in
place of a string containing the name of the resource.

MAKEINTRESOURCEW Converts an integer value to a resource type compatible with


the resource-management functions. This macro is used in
place of a string containing the name of the resource.

MenuItemFromPoint Determines which menu item, if any, is at the specified


location.

ModifyMenuA Changes an existing menu item.

ModifyMenuW Changes an existing menu item.

OemToCharA Translates a string from the OEM-defined character set into


either an ANSI or a wide-character string.Warning Do not use.

OemToCharBuffA Translates a specified number of characters in a string from the


OEM-defined character set into either an ANSI or a wide-
character string.

OemToCharBuffW Translates a specified number of characters in a string from the


OEM-defined character set into either an ANSI or a wide-
character string.

OemToCharW Translates a string from the OEM-defined character set into


either an ANSI or a wide-character string.Warning Do not use.

PrivateExtractIconsA Creates an array of handles to icons that are extracted from a


specified file.

PrivateExtractIconsW Creates an array of handles to icons that are extracted from a


specified file.
T IT L E DESC RIP T IO N

RemoveMenu Deletes a menu item or detaches a submenu from the


specified menu.

SetCaretBlinkTime Sets the caret blink time to the specified number of


milliseconds. The blink time is the elapsed time, in milliseconds,
required to invert the caret's pixels.

SetCaretPos Moves the caret to the specified coordinates. If the window


that owns the caret was created with the CS_OWNDC class
style, then the specified coordinates are subject to the
mapping mode of the device context associated with that
window.

SetCursor Sets the cursor shape.

SetCursorPos Moves the cursor to the specified screen coordinates.

SetMenu Assigns a new menu to the specified window.

SetMenuDefaultItem Sets the default menu item for the specified menu.

SetMenuInfo Sets information for a specified menu.

SetMenuItemBitmaps Associates the specified bitmap with a menu item. Whether


the menu item is selected or clear, the system displays the
appropriate bitmap next to the menu item.

SetMenuItemInfoA Changes information about a menu item.

SetMenuItemInfoW Changes information about a menu item.

SetPhysicalCursorPos Sets the position of the cursor in physical coordinates.

SetSystemCursor Enables an application to customize the system cursors. It


replaces the contents of the system cursor specified by the id
parameter with the contents of the cursor specified by the
hcur parameter and then destroys hcur.

ShowCaret Makes the caret visible on the screen at the caret's current
position. When the caret becomes visible, it begins flashing
automatically.

ShowCursor Displays or hides the cursor.

SizeofResource Retrieves the size, in bytes, of the specified resource.

StringCbCatA Concatenates one string to another string.

StringCbCatExA Concatenates one string to another string.

StringCbCatExW Concatenates one string to another string.


T IT L E DESC RIP T IO N

StringCbCatNA Concatenates the specified number of bytes from one string


to another string.

StringCbCatNExA Concatenates the specified number of bytes from one string


to another string.

StringCbCatNExW Concatenates the specified number of bytes from one string


to another string.

StringCbCatNW Concatenates the specified number of bytes from one string


to another string.

StringCbCatW Concatenates one string to another string.

StringCbCopyA Copies one string to another.

StringCbCopyExA Copies one string to another.

StringCbCopyExW Copies one string to another.

StringCbCopyNA Copies the specified number of bytes from one string to


another.

StringCbCopyNExA Copies the specified number of bytes from one string to


another.

StringCbCopyNExW Copies the specified number of bytes from one string to


another.

StringCbCopyNW Copies the specified number of bytes from one string to


another.

StringCbCopyW Copies one string to another.

StringCbGetsA Gets one line of text from stdin, up to and including the
newline character ('\n').

StringCbGetsExA Gets one line of text from stdin, up to and including the
newline character ('\n').

StringCbGetsExW Gets one line of text from stdin, up to and including the
newline character ('\n').

StringCbGetsW Gets one line of text from stdin, up to and including the
newline character ('\n').

StringCbLengthA Determines whether a string exceeds the specified length, in


bytes.

StringCbLengthW Determines whether a string exceeds the specified length, in


bytes.
T IT L E DESC RIP T IO N

StringCbPrintf_lA Writes formatted data to the specified string. The size of the
destination buffer is provided to the function to ensure that it
does not write past the end of this buffer.

StringCbPrintf_lExA Writes formatted data to the specified string. The size of the
destination buffer is provided to the function to ensure that it
does not write past the end of this buffer.

StringCbPrintf_lExW Writes formatted data to the specified string. The size of the
destination buffer is provided to the function to ensure that it
does not write past the end of this buffer.

StringCbPrintf_lW Writes formatted data to the specified string. The size of the
destination buffer is provided to the function to ensure that it
does not write past the end of this buffer.

StringCbPrintfA Writes formatted data to the specified string.

StringCbPrintfExA Writes formatted data to the specified string.

StringCbPrintfExW Writes formatted data to the specified string.

StringCbPrintfW Writes formatted data to the specified string.

StringCbVPrintf_lA Writes formatted data to the specified string using a pointer


to a list of arguments. The size of the destination buffer is
provided to the function to ensure that it does not write past
the end of this buffer.

StringCbVPrintf_lExA Writes formatted data to the specified string using a pointer


to a list of arguments. The size of the destination buffer is
provided to the function to ensure that it does not write past
the end of this buffer.

StringCbVPrintf_lExW Writes formatted data to the specified string using a pointer


to a list of arguments. The size of the destination buffer is
provided to the function to ensure that it does not write past
the end of this buffer.

StringCbVPrintf_lW Writes formatted data to the specified string using a pointer


to a list of arguments. The size of the destination buffer is
provided to the function to ensure that it does not write past
the end of this buffer.

StringCbVPrintfA Writes formatted data to the specified string using a pointer


to a list of arguments.

StringCbVPrintfExA Writes formatted data to the specified string using a pointer


to a list of arguments.

StringCbVPrintfExW Writes formatted data to the specified string using a pointer


to a list of arguments.

StringCbVPrintfW Writes formatted data to the specified string using a pointer


to a list of arguments.
T IT L E DESC RIP T IO N

StringCchCatA Concatenates one string to another string.

StringCchCatExA Concatenates one string to another string.

StringCchCatExW Concatenates one string to another string.

StringCchCatNA Concatenates the specified number of characters from one


string to another string.

StringCchCatNExA Concatenates the specified number of characters from one


string to another string.

StringCchCatNExW Concatenates the specified number of characters from one


string to another string.

StringCchCatNW Concatenates the specified number of characters from one


string to another string.

StringCchCatW Concatenates one string to another string.

StringCchCopyA Copies one string to another.

StringCchCopyExA Copies one string to another.

StringCchCopyExW Copies one string to another.

StringCchCopyNA Copies the specified number of characters from one string to


another.

StringCchCopyNExA Copies the specified number of characters from one string to


another.

StringCchCopyNExW Copies the specified number of characters from one string to


another.

StringCchCopyNW Copies the specified number of characters from one string to


another.

StringCchCopyW Copies one string to another.

StringCchGetsA Gets one line of text from stdin, up to and including the
newline character ('\n').

StringCchGetsExA Gets one line of text from stdin, up to and including the
newline character ('\n').

StringCchGetsExW Gets one line of text from stdin, up to and including the
newline character ('\n').
T IT L E DESC RIP T IO N

StringCchGetsW Gets one line of text from stdin, up to and including the
newline character ('\n').

StringCchLengthA Determines whether a string exceeds the specified length, in


characters.

StringCchLengthW Determines whether a string exceeds the specified length, in


characters.

StringCchPrintf_lA Writes formatted data to the specified string. The size of the
destination buffer is provided to the function to ensure that it
does not write past the end of this buffer.

StringCchPrintf_lExA Writes formatted data to the specified string. The size of the
destination buffer is provided to the function to ensure that it
does not write past the end of this buffer.

StringCchPrintf_lExW Writes formatted data to the specified string. The size of the
destination buffer is provided to the function to ensure that it
does not write past the end of this buffer.

StringCchPrintf_lW Writes formatted data to the specified string. The size of the
destination buffer is provided to the function to ensure that it
does not write past the end of this buffer.

StringCchPrintfA Writes formatted data to the specified string.

StringCchPrintfExA Writes formatted data to the specified string.

StringCchPrintfExW Writes formatted data to the specified string.

StringCchPrintfW Writes formatted data to the specified string.

StringCchVPrintf_lA Writes formatted data to the specified string using a pointer


to a list of arguments. The size of the destination buffer is
provided to the function to ensure that it does not write past
the end of this buffer.

StringCchVPrintf_lExA Writes formatted data to the specified string using a pointer


to a list of arguments. The size of the destination buffer is
provided to the function to ensure that it does not write past
the end of this buffer.

StringCchVPrintf_lExW Writes formatted data to the specified string using a pointer


to a list of arguments. The size of the destination buffer is
provided to the function to ensure that it does not write past
the end of this buffer.

StringCchVPrintf_lW Writes formatted data to the specified string using a pointer


to a list of arguments. The size of the destination buffer is
provided to the function to ensure that it does not write past
the end of this buffer.

StringCchVPrintfA Writes formatted data to the specified string using a pointer


to a list of arguments.
T IT L E DESC RIP T IO N

StringCchVPrintfExA Writes formatted data to the specified string using a pointer


to a list of arguments.

StringCchVPrintfExW Writes formatted data to the specified string using a pointer


to a list of arguments.

StringCchVPrintfW Writes formatted data to the specified string using a pointer


to a list of arguments.

TrackPopupMenu Displays a shortcut menu at the specified location and tracks


the selection of items on the menu. The shortcut menu can
appear anywhere on the screen.

TrackPopupMenuEx Displays a shortcut menu at the specified location and tracks


the selection of items on the shortcut menu. The shortcut
menu can appear anywhere on the screen.

TranslateAcceleratorA Processes accelerator keys for menu commands.

TranslateAcceleratorW Processes accelerator keys for menu commands.

UpdateResourceA Adds, deletes, or replaces a resource in a portable executable


(PE) file.

UpdateResourceW Adds, deletes, or replaces a resource in a portable executable


(PE) file.

VerFindFileA Determines where to install a file based on whether it locates


another version of the file in the system. The values
VerFindFile returns in the specified buffers are used in a
subsequent call to the VerInstallFile function.

VerFindFileW Determines where to install a file based on whether it locates


another version of the file in the system. The values
VerFindFile returns in the specified buffers are used in a
subsequent call to the VerInstallFile function.

VerInstallFileA Installs the specified file based on information returned from


the VerFindFile function. VerInstallFile decompresses the file, if
necessary, assigns a unique filename, and checks for errors,
such as outdated files.

VerInstallFileW Installs the specified file based on information returned from


the VerFindFile function. VerInstallFile decompresses the file, if
necessary, assigns a unique filename, and checks for errors,
such as outdated files.

VerLanguageNameA Retrieves a description string for the language associated with


a specified binary Microsoft language identifier.

VerLanguageNameW Retrieves a description string for the language associated with


a specified binary Microsoft language identifier.
T IT L E DESC RIP T IO N

VerQueryValueA Retrieves specified version information from the specified


version-information resource.

VerQueryValueW Retrieves specified version information from the specified


version-information resource.

wsprintfA Writes formatted data to the specified buffer.

wsprintfW Writes formatted data to the specified buffer.

wvsprintfA Writes formatted data to the specified buffer using a pointer


to a list of arguments.

wvsprintfW Writes formatted data to the specified buffer using a pointer


to a list of arguments.

Structures
T IT L E DESC RIP T IO N

ACCEL Defines an accelerator key used in an accelerator table.

CURSORINFO Contains global cursor information.

CURSORSHAPE Contains information about a cursor.

ICONINFO Contains information about an icon or a cursor.

ICONINFOEXA Contains information about an icon or a cursor. Extends


ICONINFO. Used by GetIconInfoEx.

ICONINFOEXW Contains information about an icon or a cursor. Extends


ICONINFO. Used by GetIconInfoEx.

ICONMETRICSA Contains the scalable metrics associated with icons. This


structure is used with the SystemParametersInfo function
when the SPI_GETICONMETRICS or SPI_SETICONMETRICS
action is specified.

ICONMETRICSW Contains the scalable metrics associated with icons. This


structure is used with the SystemParametersInfo function
when the SPI_GETICONMETRICS or SPI_SETICONMETRICS
action is specified.

IndexedResourceQualifier Represents the context under which a resource is appropriate.

MDINEXTMENU Contains information about the menu to be activated.

MENUBARINFO Contains menu bar information.


T IT L E DESC RIP T IO N

MENUGETOBJECTINFO Contains information about the menu that the mouse cursor
is on.

MENUINFO Contains information about a menu.

MENUITEMINFOA Contains information about a menu item.

MENUITEMINFOW Contains information about a menu item.

MENUITEMTEMPLATE Defines a menu item in a menu template.

MENUITEMTEMPLATEHEADER Defines the header for a menu template. A complete menu


template consists of a header and one or more menu item
lists.

MESSAGE_RESOURCE_BLOCK Contains information about message strings with identifiers in


the range indicated by the LowId and HighId members.

MESSAGE_RESOURCE_DATA Contains information about formatted text for display as an


error message or in a message box in a message table
resource.

MESSAGE_RESOURCE_ENTRY Contains the error message or message box display text for a
message table resource.

TPMPARAMS Contains extended parameters for the TrackPopupMenuEx


function.

VS_FIXEDFILEINFO Contains version information for a file. This information is


language and code page independent.
Microsoft HTML Help 1.4
2/7/2020 • 3 minutes to read • Edit Online

Overview of the Microsoft HTML Help 1.4 technology.


To develop Microsoft HTML Help 1.4, you need these headers:
htmlhelp.h
infotech.h
For programming guidance for this technology, see:
Microsoft HTML Help 1.4

Functions
T IT L E DESC RIP T IO N

Add Adds columns to result set, given a header containing pairs of


property ID followed by property type.

Add Adds a column to the result set.

Add Adds a column to the result set.

Add Adds a column to the result set.

Clear Clears memory associated with a property list and reinitializes


the list.

Close Closes a database.

Close Closes a word wheel.

Count Returns the number of entries in a word wheel.

CreateObject Creates an unnamed object you can reference in the future


through the *pdwObjInstance parameter.

Get Returns the property object associated with the given


property ID.

Get Gets the property in the specified row and column and fills the
given property object.

GetDataSize Returns the number of bytes needed to save the property


data.

GetFirst Returns the first property object in a property list.

GetHeaderSize Returns the number of bytes needed to save the header.


T IT L E DESC RIP T IO N

GetObject Retrieves a specified IUnknown-based interface on the object


identified by the dwObjInstance parameter.

GetRowCount Gets the number of rows in a result set.

HtmlHelpA Displays a help window.

HtmlHelpW Displays a help window.

Lookup Looks up an entry and returns contents in a buffer.

Lookup Looks up an entry and returns contents in a buffer.

Lookup Looks up an entry and returns contents in a buffer.

Open Opens a database.

Open Opens a word wheel.

SaveData Saves the data size and data from the property list to a buffer.

SaveHeader Saves the property ID and data type from the property list to
a buffer. Only saves properties marked with a persistence state
of TRUE.

Set Sets a property to a given value or deletes a property from


the list.

Set Sets a property to a given value or deletes a property from


the list.

Set Sets a property to a given value or deletes a property from


the list.

SetLocaleInfo Sets locale information for the stemmer.

SetPersist Sets the persistence state on or off for a given property.

SetPersist Sets the persistence state on or off for all properties.

Interfaces
T IT L E DESC RIP T IO N

IITDatabase Use this interface for opening and closing the database object,
and for instantiating objects stored in the database.

IITPropList Use this interface to set properties for build objects such as
word wheels and indexes. Call these methods in the document
build process to define properties for all build objects.
T IT L E DESC RIP T IO N

IITResultSet Use this interface in run-time applications to initialize, build,


and obtain information about result sets.

IITWordWheel Use this interface to perform word wheel keyword lookups.


The Lookup method offers several ways of performing a
search:_it returns either an exact match, or the closest
approximation based on a given prefix.

IStemmerConfig Use this interface to provide configuration information that


controls stemming.

Structures
T IT L E DESC RIP T IO N

HH_AKLINK Use this structure to specify one or more ALink names or


KLink keywords that you want to search for.

HH_FTS_QUERY Use this structure for full-text search.

HH_POPUP Use this structure to specify or modify the attributes of a pop-


up window.

HH_WINTYPE Use this structure to specify or modify the attributes of a


window type.

HHN_NOTIFY Use this structure to return the file name of the topic that has
been navigated to, or to return the window type name of the
help window that has been created.

HHNTRACK This structure returns the file name of the current topic and a
constant that specifies the user action that is about to occur,
such as hiding the Navigation pane by clicking the Hide
button on the toolbar.
Microsoft Management Console 2.0
2/7/2020 • 21 minutes to read • Edit Online

Overview of the Microsoft Management Console 2.0 technology.


The Microsoft Management Console 2.0 technology is not associated with any headers.
For programming guidance for this technology, see:
Microsoft Management Console 2.0

Enumerations
T IT L E DESC RIP T IO N

_DocumentMode The DocumentMode enumeration is used by the


Document.Mode property and specifies how the document is
opened. This enumeration applies to the MMC 2.0
Automation Object Model.

_ExportListOptions The ExportListOptions enumeration is used by the


View.ExportList method and specifies options when writing list
view contents to a file.

_ListViewMode The ListViewMode enumeration is used by the


View.ListViewMode property to define the list view.

_ViewOptions The ViewOptions enumeration is used by the Views.Add


method and specifies the visibility of the view, scope tree, and
toolbars, as well as the persistence state of the view.

DATA_OBJECT_TYPES The DATA_OBJECT_TYPES enumeration is used by the type


parameter of IComponentData::QueryDataObject and
IComponent::QueryDataObject to obtain context information
about a specified cookie.

IconIdentifier The IconIdentifier enumeration is introduced in MMC 1.2.

MMC_ACTION_TYPE The MMC_ACTION_TYPE enumeration is introduced in MMC


1.1.

MMC_BUTTON_STATE The MMC_BUTTON_STATE enumeration defines the possible


states of buttons available in MMC. These values are used in
the nState parameter of IConsoleVerb::GetVerbState,
IConsoleVerb::SetVerbState, IToolbar::GetButtonState, and
IToolbar::SetButtonState.

MMC_CONSOLE_VERB The MMC_CONSOLE_VERB enumeration defines the


command identifiers available for MMC verbs. These values
are used in the m_eCmdID parameter of
IConsoleVerb::GetVerbState, IConsoleVerb::SetVerbState, and
IConsoleVerb::SetDefaultVerb.
T IT L E DESC RIP T IO N

MMC_CONTROL_TYPE The MMC_CONTROL_TYPE enumeration defines the kinds of


controls that can appear in the control bar. The values can be
used in the nType parameter of the IControlbar::Attach and
IControlbar::Create methods.

MMC_FILTER_CHANGE_CODE The MMC_FILTER_CHANGE_CODE enumeration is introduced


in MMC 1.2.

MMC_FILTER_TYPE The MMC_FILTER_TYPE enumeration is introduced in MMC


1.2.

MMC_MENU_COMMAND_IDS The MMC_MENU_COMMAND_IDS enumeration defines the


Command Identifiers that are reserved by MMC.

MMC_NOTIFY_TYPE The MMC_NOTIFY_TYPE enumeration defines the notifications


of user actions that can be sent to a snap-in by the console's
Node Manager when it calls IComponentData::Notify,
IComponent::Notify, or IExtendControlbar::ControlbarNotify.

MMC_PROPERTY_ACTION The MMC_PROPERTY_ACTION enumeration specifies the


operations that can occur to a property contained in an
MMC_SNAPIN_PROPERTY structure.

MMC_RESULT_VIEW_STYLE The MMC_RESULT_VIEW_STYLE enumeration defines the


Win32 list view style (LVS_*) flags that can be used to set the
view style in the MMC result view pane. They can be used in
the add and remove parameters of the
IResultData::ModifyViewStyle method.

MMC_SCOPE_ITEM_STATE Used to specify the nState member of the SCOPEDATAITEM


structure.

MMC_TASK_DISPLAY_TYPE The MMC_TASK_DISPLAY_TYPE enumeration is introduced in


MMC 1.1.

MMC_VIEW_TYPE The MMC_VIEW_TYPE enumeration specifies a result view type


and is used in the RESULT_VIEW_TYPE_INFO structure.

Functions
T IT L E DESC RIP T IO N

AddBitmap Enables a snap-in to add an image to the toolbar.

AddButton The IMenuButton::AddButton method enables a user to add a


button to the MMC menu bar for a particular view.

AddButtons Enables a snap-in to add an array of buttons to the toolbar.

AddExtension The IConsoleNameSpace2::AddExtension method enables the


snap-in to add an extension snap-in that dynamically extends
the namespace of a selected item.
T IT L E DESC RIP T IO N

AddExtensionPages The IPropertySheetProvider::AddExtensionPages method


collects the pages from the extension snap-ins.

AddItem The IContextMenuCallback::AddItem method adds a single


item to a context menu.

AddItem The IContextMenuCallback2::AddItem method adds a single


item to a context menu.

AddMenuItems The IExtendContextMenu::AddMenuItems method enables a


snap-in to add items to a context menu.

AddPage The IPropertySheetCallback::AddPage method enables a snap-


in to add a page to a property sheet.

AddPrimaryExtensionItems The IContextMenuProvider::AddPrimaryExtensionItems


method enables one specific extension to add items to the
insertion points defined for this context menu.

AddPrimaryPages The IPropertySheetProvider::AddPrimaryPages method


collects the pages from the primary snap-in.

AddPropertyName The AddPropertyName method adds a property, by name, for


the snap-in to use.

AddString Enables a snap-in to add a string to the snap-in's string table.

AddThirdPartyExtensionItems The IContextMenuProvider::AddThirdPartyExtensionItems


method enables third-party extensions to add items at
specified insertion points in this context menu.

AddView Adds a view to the result pane.

Attach The IControlbar::Attach method allows the snap-in to


associate a control with a control bar.

CacheHint Called when a virtual list is about to request display


information for a range of items, allowing the snap-in to
collect the information ahead of time in cases where an
optimization can be made.

Clear The IMessageView::Clear method enables a snap-in to clear


the title, text, and icon of the result pane message displayed
using the MMC message OCX control.

Clone The IEnumTASK::Clone method creates a new IEnumTASK


object that has the same state as this IEnumTASK object.
MMC does not use this method. It must be included for
completeness.

Command The IExtendContextMenu::Command method is called if one of


the items you added to the context menu with
IExtendContextMenu::AddMenuItems is subsequently
selected.
T IT L E DESC RIP T IO N

Compare Provides a way for a primary snap-in to compare cookies for


the purpose of sorting the result items that it inserts in the
result pane.

Compare Provides a way for a primary snap-in to compare items for the
purpose of sorting the scope and result items that it inserts in
the result pane.

CompareObjects The IComponent::CompareObjects method enables a snap-in


to compare two data objects acquired through
IComponent::QueryDataObject. Be aware that data objects
can be acquired from two different instances of IComponent.

CompareObjects The IComponentData::CompareObjects method enables a


snap-in to compare two data objects acquired through
QueryDataObject. Be aware that the data objects can be
acquired from two different instances of IComponentData.

ControlbarNotify The IExtendControlbar::ControlbarNotify method specifies the


notification sent to the snap-in from the console as a result of
user action.

Create The IControlbar::Create method creates and returns the


control requested by the snap-in.

CreateComponent The IComponentData::CreateComponent method creates an


instance of the IComponent that will be associated with this
IComponentData interface.

CreatePropertyPages Adds pages to a property sheet.

CreatePropertySheet Creates a property sheet frame.

DeleteAllRsltItems The IResultData::DeleteAllRsltItems method enables the snap-


in to remove all user-inserted items and subitems from the
result view pane.

DeleteAllStrings The IStringTable::DeleteAllStrings method enables a snap-in to


delete all strings from the snap-in's string table.

DeleteButton Enables a snap-in to remove a specified toolbar button.

DeleteColumn Removes a column from the header of the result view.

DeleteItem The IConsoleNameSpace2::DeleteItem method


IConsoleNameSpaceenables the snap-in to delete a single item
from the scope pane.

DeleteItem Enables the snap-in to delete a single item in the result view
pane.

DeleteString Enables a snap-in to delete a specified string from the snap-in


string table.
T IT L E DESC RIP T IO N

Destroy The IComponent::Destroy method releases all references to


the console that are held by this component.

Destroy The IComponentData::Destroy method releases all references


to the console.

Detach The IControlbar::Detach method breaks the association


between a control and the control bar. This command removes
or detaches the control from the control bar on which it is
displayed.

EmptyMenuList The IContextMenuProvider::EmptyMenuList method clears a


context menu.

EnableAllExtensions The IRequiredExtensions::EnableAllExtensions method enables


the snap-in to specify that all extension snap-ins registered for
the snap-in are required.

Enumerate Supplies a pointer to an IEnumString interface on an


enumerator that can return the strings in a snap-in's string
table.

EnumTasks The IExtendTaskPad::EnumTasks method enables MMC to get a


pointer to the IEnumTASK interface of the object that contains
the snap-in's tasks.

Expand The IConsole2::Expand method enables the snap-in to expand


or collapse an item in the scope pane.

Expand The IConsoleNameSpace2::Expand method enables the snap-


in to expand an item in the namespace without visibly
expanding the item in the scope pane.

FindItem Finds the next item in a virtual list matching a specified string.

FindItemByLParam The IResultData::FindItemByLParam method enables the snap-


in to find an item or subitem based on its user-inserted lParam
value.

FindPropertySheet Determines whether a specific property sheet exists.

FindString Enables a snap-in to search for a string in the snap-in string


table.

GetBackground The IExtendTaskPad::GetBackground method enables MMC to


get the taskpad's background image to display in taskpads
that use MMC taskpad templates.

GetButtonState Enables a snap-in to obtain an attribute of a button.

GetChildItem The IConsoleNameSpace2::GetChildItem method enables the


snap-in to get the handle to a child item in the scope pane.
T IT L E DESC RIP T IO N

GetColumnConfigData The IColumnData::GetColumnConfigData method enables a


snap-in to retrieve the current width, order, and hidden status
of each column in a column set that is stored in memory by
MMC.

GetColumnFilter The IHeaderCtrl2::GetColumnFilter method retrieves the filter


value set on the specified column.

GetColumnSortData The IColumnData::GetColumnSortData method enables a


snap-in to retrieve from memory the sorted column and
sorting direction for columns in a column set.

GetColumnText Retrieves text from a specified column.

GetColumnWidth Retrieves the width, in pixels, of the column.

GetDefaultVerb The GetDefaultVerb method gets the snap-in's default verb.

GetDescriptiveText The IExtendTaskPad::GetDescriptiveText method enables MMC


to get the taskpad's descriptive text to display in taskpads that
use MMC taskpad templates.

GetDisplayInfo The IComponent::GetDisplayInfo method retrieves display


information for an item in the result pane.

GetDisplayInfo The IComponentData::GetDisplayInfo method retrieves display


information for a scope item.

GetFirstExtension Enables the snap-in to specify the first extension snap-in its
list of required extension snap-ins.

GetHelpTopic Enables a snap-in to add its compiled HTML Help file to the
MMC Help collection file.

GetItem The IConsoleNameSpace2::GetItem method enables the snap-


in to retrieve some or all of a single scope item's attributes.

GetItem Enables a user to retrieve the parameters of a single item.

GetLinkedTopics Enables a snap-in to specify the names and locations of any


HTML Help files that are linked to the snap-in's Help file
(specified in the GetHelpTopic method).

GetListPadInfo The IExtendTaskPad::GetListPadInfo method is used for list-


view taskpads only.

GetMainWindow Retrieves a handle to the main frame window.

GetMMCVersion The GetMMCVersion method retrieves version information for


the MMC application.

GetNextExtension Enables the snap-in to specify the next extension snap-in in its
list of required extension snap-ins.
T IT L E DESC RIP T IO N

GetNextItem The IConsoleNameSpace2::GetNextItem method enables the


snap-in to retrieve the handle to the next item in the scope
view.

GetNextItem The IResultData::GetNextItem method gets the next item in


the result view with the specified state flags set.

GetParentItem The IConsoleNameSpace2::GetParentItem method enables the


snap-in to retrieve the handle to a parent item in the scope
view.

GetProperty The GetProperty method retrieves text-only property values


for a node. Your implementation of the
INodeProperties::GetProperty method is called when an
application based on the MMC 2.0 Automation Object Model
retrieves the Node.Property property.

GetProvider The ISnapinAbout::GetProvider method enables the console to


obtain the snap-in provider name.

GetResultViewType The IComponent::GetResultViewType method determines what


the result pane view should be.

GetResultViewType2 The GetResultViewType2 method retrieves the result view


type. This method supersedes the
IComponent::GetResultViewType method.

GetSnapinDescription Enables the console to obtain the text for the snap-in's
description box.

GetSnapinImage Enables the console to obtain the snap-in's main icon to be


used in the About box.

GetSnapinVersion Enables the console to obtain the snap-in's version number.

GetStaticFolderImage The ISnapinAbout::GetStaticFolderImage method allows the


console to obtain the static folder images for the scope and
result panes.

GetString Enables a snap-in to retrieve a string from the snap-in's string


table.

GetStringLength Enables a snap-in to determine the length of a string in the


snap-in's string table.

GetTitle The IExtendTaskPad::GetTitle method enables MMC to get the


taskpad title text to display in taskpads that use MMC taskpad
templates.

GetVerbState The GetVerbState method enables a snap-in to obtain a given


verb's current state.

GetViewMode Enables the snap-in to retrieve a view mode for the result view
pane.
T IT L E DESC RIP T IO N

GetViews The GetViews method retrieves information about the


extended view and adds extended views to the result pane.

GetWatermarks The IExtendPropertySheet2::GetWatermarks method gets the


watermark bitmap and header bitmap for wizard sheets
implemented as Wizard 97-style wizards.

ImageListSetIcon The IImageList::ImageListSetIcon method enables a user to set


an icon in the image list or to create an icon if it is not there.

ImageListSetStrip The IImageList::ImageListSetStrip method enables a user to


add a strip of icons to the image list using a pair of bitmaps
(large and small icons), starting at a location identified by
nStartLoc.

Initialize The Initialize method initializes a snap-in.

Initialize The IComponent::Initialize method provides an entry point to


the console.

Initialize The IComponentData::Initialize method provides an entry


point to the console.

InsertButton Enables a snap-in to add a single button to the toolbar.

InsertColumn Adds a column to a default result pane.

InsertItem The IConsoleNameSpace2::InsertItem method enables the


snap-in to insert a single item into the scope view.

InsertItem The IResultData::InsertItem method enables the snap-in to


add a single new item to the result pane view.

IS_SPECIAL_COOKIE The IS_SPECIAL_COOKIE macro determines whether an


MMC_COOKIE value passed by MMC in a call to the snap-in's
IComponent::QueryDataObject method is a special type of
cookie.

IS_SPECIAL_DATAOBJECT Determines whether an LPDATAOBJECT passed by MMC in a


call to the snap-in's Notify method is a special type of data
object instead of a pointer to an actual IDataObject object.

IsTaskpadViewPreferred The IConsole2::IsTaskpadViewPreferred method is obsolete. It


always returns S_OK.

MessageBox Displays a message box.

MMCFreeNotifyHandle Called by a snap-in to free the handle to an


MMCN_PROPERTY_CHANGE notification message sent to the
snap-in by MMC in response to an
MMCPropertyChangeNotify call made by a property sheet.
T IT L E DESC RIP T IO N

MMCPropertyChangeNotify Enables a snap-in property sheet to notify its IComponent or


IComponentData interface that an item's properties have
changed.

MMCPropertyHelp Displays the specified HTML Help topic in the merged MMC
HTML Help file for a property page.

MMCPropPageCallback The MMCPropPageCallback function is only required by


Microsoft Foundation Classes (MFC)-based snap-ins. The
function sets the correct module state during page creation.

ModifyItemState Enables the snap-in to modify the state of an item.

ModifyViewStyle The IResultData::ModifyViewStyle method enables the snap-in


to set the result pane's view style.

NewWindow Creates a new multiple-document interface (MDI) child


window rooted at the specified scope item.

Next The IEnumTASK::Next method enables MMC to retrieve the


next task in the snap-in's list of tasks.

Notify The IComponent::Notify method notifies the snap-in of actions


taken by the user.

Notify The IComponentData::Notify method notifies the snap-in of


actions performed by the user.

OnPowerBroadcast The OnPowerBroadcast method processes


WM_POWERBROADCAST notification messages related to the
computer's power management.

PropertiesChanged Called when a property is added, changed, or deleted.

QueryConsoleVerb Queries for the IConsoleVerb interface.

QueryDataObject The IComponent::QueryDataObject method returns a data


object that can be used to retrieve context information for the
specified cookie.

QueryDataObject The IComponentData::QueryDataObject method returns a


data object that can be used to retrieve the context
information for the specified cookie.

QueryDispatch The QueryDispatch method returns the snap-in IDispatch


interface for a specified item.

QueryDispatch The QueryDispatch method returns the snap-in's IDispatch


interface for a specified item.

QueryPagesFor Determines whether the object requires pages.

QueryPropertyNames The QueryPropertyNames method returns the names of the


properties used for the snap-in's configuration.
T IT L E DESC RIP T IO N

QueryResultImageList Retrieves the console-provided result-view image list. This


image list should be used only if the snap-in is using the
default list view.

QueryResultView Queries IConsole for the result view object IUnknown interface
pointer.

QueryScopeImageList Queries the console-provided scope pane image list.

RemovePage The IPropertySheetCallback::RemovePage method enables a


snap-in to remove a page from a property sheet.

RenameResultItem The RenameResultItem method programmatically places the


specified result item into rename mode, after which, the user
can manually enter the new name.

RenameScopeItem The RenameScopeItem method programmatically puts the


specified scope item in rename mode. Subsequently, the user
can manually enter the new name.

Reset The IEnumTASK::Reset method enables MMC to reset the


enumeration to the beginning of the snap-in's task list.

ResetIdleTimer The ResetIdleTimer method resets the specified power


management idle timers.

RestoreResultView The RestoreResultView method restores the result view. This


method enables a snap-in to restore snap-in-specific details of
a result view. For more information, see Restoring Result Views.

SelectScopeItem Selects the given scope item.

SetBodyText The IMessageView::SetBodyText method enables a snap-in to


set the body text for the result pane message displayed using
the MMC message OCX control.

SetButton The IMenuButton::SetButton method enables a user to set the


text attributes of a button in the menu bar that is changed.

SetButtonState The IMenuButton::SetButtonState method enables a user to


change the state of a menu button.

SetButtonState Enables a snap-in to set an attribute of a button.

SetChangeTimeOut The IHeaderCtrl2::SetChangeTimeOut sets the time-out


interval between the time a change takes place in the filter
attributes and the posting of an MMCN_FILTER_CHANGE filter
change notification, which is sent to the snap-in's
IComponent::Notify method.

SetColumnConfigData The IColumnData::SetColumnConfigData method enables a


snap-in to set the persisted width, order, and hidden status of
columns in a column set.
T IT L E DESC RIP T IO N

SetColumnFilter The IHeaderCtrl2::SetColumnFilter sets the filter value and its


maximum character length for a specified column in a filtered
list.

SetColumnSortData The IColumnData::SetColumnSortData method enables a


snap-in to set the sorted column and sorting direction for
columns in a column set.

SetColumnText Sets the text of the title in a specific column.

SetColumnWidth Sets the width, in pixels, of a specific column.

SetControlbar The IExtendControlbar::SetControlbar method attaches or


detaches a control bar.

SetDefaultVerb The SetDefaultVerb method sets the default action on an


object.

SetDescBarText Sets the description bar text for the result view pane.

SetExecutionState The SetExecutionState method sets the execution state for the
current thread.

SetHeader Sets the header interface to use for this instance of


IComponent. This is used only by instances of IComponent.

SetIcon The IMessageView::SetIcon method enables a snap-in to set


the icon for the result pane message displayed using the
MMC message OCX control.

SetItem The IConsoleNameSpace2::SetItem method enables the snap-


in to set the attributes of a single scope-view item.

SetItem The IResultData::SetItem method enables the snap-in to set a


single item in the result pane.

SetItemCount Sets the number of items in a virtual list.

SetStatusText The IConsole2::SetStatusText method enables the snap-in to


change the text in the status bar. Be aware that this is used
only by instances of IComponent.

SetTitleText The IMessageView::SetTitleText method enables a snap-in to


set the title text for the result pane message displayed using
the MMC message OCX control.

SetToolbar Sets the toolbar interface to be used for this instance of


IComponent. Be aware that this is used only by instances of
IComponent.

SetVerbState The SetVerbState method enables a snap-in to set a given


verb's button state.
T IT L E DESC RIP T IO N

SetViewMode Enables the snap-in to set the view mode in which the result
view pane displays its items.

Show If the type that has been set in


IPropertySheetProvider::CreatePropertySheet is a property
sheet, IPropertySheetProvider::Show displays a property sheet
frame that is parented to a hidden window.

ShowContextMenu The IContextMenuProvider::ShowContextMenu method


displays a context menu.

ShowTopic The IDisplayHelp::ShowTopic method displays the specified


HTML Help topic in the merged MMC HTML Help file.

Skip The IEnumTASK::Skip method skips the specified number of


tasks in the snap-in's list of tasks. MMC does not use this
method. It must be included for completeness.

Sort Sorts all items in the result pane.

SortItems Sorts the items of a virtual result list.

TaskNotify The IExtendTaskPad::TaskNotify method enables MMC to notify


the snap-in when a task is extended. If the taskpad is a list-
view taskpad, MMC also calls IExtendTaskPad::TaskNotify when
a list-view button is extended.

UpdateAllViews Called by a snap-in when there is a content change in the


result pane. This method can be called either by IComponent
or IComponentData.

UpdateItem Causes a specified item in the result pane to be redrawn.

Interfaces
T IT L E DESC RIP T IO N

IColumnData The IColumnData interface is introduced in MMC 1.2.

IComponent The IComponent interface enables MMC to communicate with


snap-ins. Similar to the IComponentData interface,
IComponent is typically implemented at the view level and is
closely associated with items being displayed in the result
pane.

IComponent2 The IComponent2 interface, implemented by snap-ins, is


introduced in MMC 2.0 and supersedes the IComponent
interface.

IComponentData The IComponentData interface enables MMC to communicate


with snap-ins. Similar to the IComponent interface,
IComponentData is typically implemented at the document
level and is closely associated with items (folders) being
displayed in the scope pane.
T IT L E DESC RIP T IO N

IComponentData2 The IComponentData2 interface supersedes the


IComponentData interface.

IConsole Enables communication with the console.

IConsole2 The IConsole2 interface is introduced in MMC 1.1.

IConsole3 The IConsole3 interface supersedes the IConsole2 interface.


The IConsole3 interface contains the
IConsole3::RenameScopeItem method, which allows a scope
node to programmatically be placed in rename mode.

IConsoleNameSpace Enables snap-ins to enumerate dynamic subcontainers in the


scope pane. The particular snap-in determines what qualifies
as a subcontainer.

IConsoleNameSpace2 The IConsoleNameSpace2 interface is introduced in MMC 1.1.

IConsolePower The IConsolePower interface controls the execution state and


idle timers on operating systems that support power
management.

IConsolePowerSink The IConsolePowerSink interface monitors and responds to


power management messages.

IConsoleVerb The IConsoleVerb interface allows snap-ins to enable standard


verbs including cut, copy, paste, delete, properties, rename,
refresh, and print. When an item is selected, the snap-in can
update the state of these verbs.

IContextMenuCallback The IContextMenuCallback interface is used to add menu


items to a context menu.

IContextMenuCallback2 The IContextMenuCallback2 interface is used to add menu


items to a context menu. This interface supersedes
IContextMenuCallback.

IContextMenuProvider The IContextMenuProvider interface implements methods that


create new context menus, for the purpose of adding items to
those menus, to enable extensions to extend those menus,
and to display the resulting context menus.

IControlbar The IControlbar interface provides a way to create toolbars


and other controls.

IDisplayHelp The IDisplayHelp interface is introduced in MMC version 1.1.

IEnumTASK The IEnumTASK interface is introduced in MMC 1.1.

IExtendContextMenu The IExtendContextMenu interface enables a snap-in to add


items to an existing context menu.
T IT L E DESC RIP T IO N

IExtendControlbar The IExtendControlbar interface enables an extension to add


control bars to the console. This provides a way to improve
the functionality and appearance of your snap-in by adding
toolbars or other user interface enhancements.

IExtendPropertySheet Enables a snap-in component to add pages to the property


sheet of an item.

IExtendPropertySheet2 The IExtendPropertySheet2 interface is introduced in MMC


1.1.

IExtendTaskPad The IExtendTaskPad interface is introduced in MMC 1.1.

IExtendView The IExtendView interface provides information about the


extended view.

IHeaderCtrl Enables the manipulation of columns and indicates the kind of


information that is to be presented in the result view pane of
the console.

IHeaderCtrl2 The IHeaderCtrl2 interface is introduced in MMC 1.2.

IImageList The IImageList interface enables the user to insert images to


be used as icons for items in the result or scope pane of the
console.

IMenuButton The IMenuButton interface enables the user to add and


manage menu buttons for a snap-in.

IMessageView The IMessageView interface is introduced in MMC 1.2.

IMMCVersionInfo The IMMCVersionInfo interface provides version information


about the installed MMC application.

INodeProperties The INodeProperties interface retrieves text-only properties


for a node.

IPropertySheetCallback The IPropertySheetCallback interface is a COM-based interface


used by a snap-in to add its property pages to a property
sheet.

IPropertySheetProvider The IPropertySheetProvider interface implements Windows


property sheets as COM objects.

IRequiredExtensions The IRequiredExtensions interface is introduced in MMC 1.1.

IResultData The IResultData interface enables a user to add, remove, find,


and modify items associated with the result view pane. It also
enables the manipulation of the view style of the result view
pane.
T IT L E DESC RIP T IO N

IResultData2 The IResultData2 interface supersedes the IResultData


interface. The IResultData2 interface contains the
IResultData2::RenameResultItem method, which allows a result
node to programmatically be put in rename mode.

IResultDataCompare Allows primary snap-ins to compare result items that are


displayed in a sorted order in the result pane.

IResultDataCompareEx Allows primary snap-ins to compare both scope and result


items that are displayed in a sorted order in the result pane.

IResultOwnerData The IResultOwnerData interface supports the use of virtual


lists, which are list-view controls that have the
LVS_OWNERDATA style set.

ISnapinAbout The ISnapinAbout interface enables the console to get


copyright and version information from a snap-in. The console
also uses this interface to obtain images for the static folder
from the snap-in.

ISnapinHelp Allows snap-ins to add HTML Help support.

ISnapinHelp2 Allows snap-ins to add HTML Help support.

ISnapinProperties The ISnapinProperties interface enables a snap-in to initialize


the snap-in's properties and receive notification when a
property is added, changed, or deleted.

ISnapinPropertiesCallback The ISnapinPropertiesCallback interface adds property names


for the snap-in. This interface is implemented by MMC for the
snap-in.

IStringTable The IStringTable interface is introduced in MMC 1.1.

IToolbar The IToolbar interface is used to create new toolbars, to add


items to them, to extend the toolbars, and to display the
resultant new toolbars. Each toolbar is created on its own
band within the control bar.

IViewExtensionCallback The IViewExtensionCallback interface is used to add a view to


the result pane.

Structures
T IT L E DESC RIP T IO N

CONTEXTMENUITEM The CONTEXTMENUITEM structure is passed to the


IContextMenuCallback::AddItem method or the
IContextMenuProvider::AddItem method (inherited from
IContextMenuCallback) to define a new menu item, submenu,
or insertion point.

CONTEXTMENUITEM2 The CONTEXTMENUITEM2 structure is introduced in MMC


2.0.
T IT L E DESC RIP T IO N

MENUBUTTONDATA The MENUBUTTONDATA structure contains values used to


create buttons on a toolbar.

MMC_COLUMN_DATA The MMC_COLUMN_DATA structure is introduced in MMC


1.2.

MMC_COLUMN_SET_DATA The MMC_COLUMN_SET_DATA structure is introduced in


MMC 1.2.

MMC_EXPANDSYNC_STRUCT The MMC_EXPANDSYNC_STRUCT structure is introduced in


MMC 1.1.

MMC_EXT_VIEW_DATA The MMC_EXT_VIEW_DATA structure is introduced in MMC


2.0.

MMC_FILTERDATA The MMC_FILTERDATA structure is introduced in MMC 1.2.

MMC_LISTPAD_INFO The MMC_LISTPAD_INFO structure is introduced in MMC 1.1.

MMC_RESTORE_VIEW The MMC_RESTORE_VIEW structure is introduced in MMC 1.1.

MMC_SNAPIN_PROPERTY The MMC_SNAPIN_PROPERTY structure is introduced in MMC


2.0.

MMC_SORT_DATA Contains the column sort data of a single column in a column


set.

MMC_SORT_SET_DATA Used with setting and retrieving list view column sets whose
sort data is stored persistently.

MMC_TASK The MMC_TASK structure is introduced in MMC 1.1.

MMC_TASK_DISPLAY_BITMAP The MMC_TASK_DISPLAY_BITMAP structure is introduced in


MMC 1.1.

MMC_TASK_DISPLAY_OBJECT Specifies the type of image and all the data required to use
that image to display a task or the background on a taskpad.

MMC_TASK_DISPLAY_SYMBOL The MMC_TASK_DISPLAY_SYMBOL structure is introduced in


MMC 1.1.

MMC_VISIBLE_COLUMNS Used by MMC with the MMCN_COLUMNS_CHANGED


notification to inform the snap-in which columns in a column
set are visible.

MMCBUTTON The MMCBUTTON structure contains values used in creating


buttons on a toolbar. This structure is similar to the TBBUTTON
structure discussed in the Platform Software Development Kit
(SDK) topics related to common controls.

RDCOMPARE The RDCOMPARE structure is introduced in MMC 1.2.

RDITEMHDR The RDITEMHDR structure is introduced in MMC 1.2.


T IT L E DESC RIP T IO N

RESULT_VIEW_TYPE_INFO The RESULT_VIEW_TYPE_INFO structure is introduced in MMC


2.0.

RESULTDATAITEM The RESULTDATAITEM structure specifies or receives the


attributes of result items in the result pane of the snap-in.

RESULTFINDINFO Used by the IResultOwnerData::FindItem method to support


keyboard navigation in virtual lists in the result pane.

SColumnSetID The SColumnSetID structure is introduced in MMC 1.2.

SCOPEDATAITEM The SCOPEDATAITEM structure specifies items to be inserted


into the scope pane.

SMMCDataObjects The SMMCDataObjects structure defines the format of the


data for the CCF_MULTI_SELECT_SNAPINS clipboard format.

SMMCObjectTypes The SMMCDynamicExtensions structure is introduced in MMC


1.1.

SNodeID The SNodeID structure is introduced in MMC 1.1, and is


replaced by the SNodeID2 structure in MMC 1.2.

SNodeID2 The SNodeID2 structure is introduced in MMC 1.2, and


replaces the SNodeID structure.
Microsoft Media Foundation
2/7/2020 • 6 minutes to read • Edit Online

Overview of the Microsoft Media Foundation technology.


To develop Microsoft Media Foundation, you need these headers:
codecapi.h
dxva2api.h
dxva9typ.h
dxvahd.h
evr.h
evr9.h
ksopmapi.h
mfapi.h
mfcaptureengine.h
mfidl.h
mfmediacapture.h
mfmediaengine.h
mfmp2dlna.h
mfobjects.h
mfplay.h
mfreadwrite.h
mfsharingengine.h
mfspatialaudio.h
mftransform.h
opmapi.h
wmcodecdsp.h
wmcontainer.h
For programming guidance for this technology, see:
Microsoft Media Foundation

Enumerations
T IT L E DESC RIP T IO N

D3D11_FEATURE_VIDEO Specifies a Direct3D 11 video feature or feature set to query


about.

D3D12_BITSTREAM_ENCRYPTION_TYPE Specifies a bitstream encryption type.

D3D12_FEATURE_VIDEO Specifies a Direct3D 12 video feature or feature set to query


about.

D3D12_VIDEO_DECODE_ARGUMENT_TYPE Specifies the argument type of a


D3D12_VIDEO_DECODE_FRAME_ARGUMENT
T IT L E DESC RIP T IO N

D3D12_VIDEO_DECODE_CONFIGURATION_FLAGS Specifies the configuration for video decoding.

D3D12_VIDEO_DECODE_CONVERSION_SUPPORT_FLAGS Specifies whether a video decode conversion operation is


supported.

D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT Specifies indices for arrays of per component histogram


information.

D3D12_VIDEO_DECODE_HISTOGRAM_COMPONENT_FLAGS Flags for indicating a subset of components used with video


decode histogram.

D3D12_VIDEO_DECODE_STATUS Specifes the status of a video decode operation.

D3D12_VIDEO_DECODE_SUPPORT_FLAGS Specifies whether a video decoding operation is supported.

D3D12_VIDEO_DECODE_TIER Specifies the decoding tier of a hardware video decoder,


which determines the required format of application-defined
textures and buffers.

D3D12_VIDEO_FIELD_TYPE Specifies how a video frame is interlaced.

D3D12_VIDEO_FRAME_CODED_INTERLACE_TYPE Specifies the interlace type of coded video frames.

D3D12_VIDEO_FRAME_STEREO_FORMAT Defines the layout in memory of a stereo 3D video frame.

D3D12_VIDEO_PROCESS_ALPHA_FILL_MODE Specifies the alpha fill mode for video processing.

D3D12_VIDEO_PROCESS_AUTO_PROCESSING_FLAGS Specifies the automatic processing features that a video


processor can support.

D3D12_VIDEO_PROCESS_DEINTERLACE_FLAGS Specifies the deinterlacing video processor capabilities.

D3D12_VIDEO_PROCESS_FEATURE_FLAGS Specifies the features that a video processor can support.

D3D12_VIDEO_PROCESS_FILTER_FLAGS Specifies support for the image filters defined by the


D3D12_VIDEO_PROCESS_FILTER enumeration.

D3D12_VIDEO_PROCESS_INPUT_STREAM_FLAGS Specifies flags for video processing input streams.

D3D12_VIDEO_PROCESS_ORIENTATION Specifies an orientation operation to be performed by a video


processor.

D3D12_VIDEO_PROCESS_SUPPORT_FLAGS Specifies whether a video format and colorspace conversion


operation is supported.

D3D12_VIDEO_SCALE_SUPPORT_FLAGS Specifies the scaling capabilities of the video scaler.

Functions
T IT L E DESC RIP T IO N

BeginEvent For internal use only. Not intended to be called directly.

BeginEvent For internal use only. Not intended to be called directly.

BeginQuery Starts a query running.

BeginQuery Starts a query running.

CheckFeatureSupport Gets information about the features that are supported by


the current video driver.

ClearState Resets the state of a direct command list back to the state it
was in when the command list was created.

ClearState Resets the state of a direct command list back to the state it
was in when the command list was created.

Close Indicates that recording to the command list has finished.

Close Indicates that recording to the command list has finished.

CreateVideoDecoder Creates a video decoder instance.

CreateVideoDecoderHeap Allocates a video decoder heap.

CreateVideoProcessor Creates a video processor instance.

DecodeFrame Records a decode frame operation to the command list.

DecodeFrame1 Records a decode frame operation to the command list.


Inputs, outputs, and parameters for the decode are specified
as arguments to this method.

DiscardResource Indicate that the current contents of a resource can be


discarded.

DiscardResource Indicates that the current contents of a resource can be


discarded.

EndEvent For internal use only. Not intended to be called directly.

EndEvent For internal use only. Not intended to be called directly.

EndQuery Ends a query.

EndQuery Ends a query.

GetDesc Gets the D3D12_VIDEO_DECODER_DESC structure that was


passed into ID3D12VideoDevice::CreateVideoDecoder when
the ID3D12VideoDecoder was created.
T IT L E DESC RIP T IO N

GetDesc Gets the D3D12_VIDEO_DECODER_HEAP_DESC structure


that was passed into
ID3D12VideoDevice::CreateVideoDecoderHeap when the
ID3D12VideoDecoderHeap was created.

GetInputStreamDescs Gets the input stream descriptions provided when the video
processor was created with a call to
ID3D12VideoDevice::CreateVideoProcessor.

GetNodeMask Gets the node mask provided when the video processor was
created with a call to
ID3D12VideoDevice::CreateVideoProcessor.

GetNumInputStreamDescs Gets the number of input stream descriptions provided when


the video processor was created with a call to
ID3D12VideoDevice::CreateVideoProcessor.

GetOutputStreamDesc Gets the output stream description provided when the video
processor was created with a call to
ID3D12VideoDevice::CreateVideoProcessor.

ProcessFrames Records a video processing operation to the command list,


operating on one or more input samples and writing the
result to an output surface.

ProcessFrames1 Records a video processing operation to the command list,


operating on one or more input samples and writing the
result to an output surface.

Reset Resets a command list back to its initial state as if a new


command list was just created.

Reset Resets a command list back to its initial state as if a new


command list was just created.

ResolveQueryData Extracts data from a query.

ResolveQueryData Extracts data from a query.

ResourceBarrier Notifies the driver that it needs to synchronize multiple


accesses to resources.

ResourceBarrier Notifies the driver that it needs to synchronize multiple


accesses to resources.

SetMarker For internal use only. Not intended to be called directly.

SetMarker For internal use only. Not intended to be called directl

SetPredication Specifies that subsequent commands should not be


performed if the predicate value passes the specified
operation.
T IT L E DESC RIP T IO N

SetPredication Specifies that subsequent commands should not be


performed if the predicate value passes the specified
operation.

WriteBufferImmediate Writes a number of 32-bit immediate values to the specified


buffer locations directly from the command stream.

WriteBufferImmediate Writes a number of 32-bit immediate values to the specified


buffer locations directly from the command stream.

Interfaces
T IT L E DESC RIP T IO N

ID3D12VideoDecodeCommandList Encapsulates a list of graphics commands for video decoding.

ID3D12VideoDecodeCommandList1 Encapsulates a list of graphics commands for video decoding.

ID3D12VideoDecoder Represents a Direct3D 12 video decoder.

ID3D12VideoDecoderHeap Represents a Direct3D 12 video decoder heap.

ID3D12VideoDevice Provides video decoding and processing capabilities of a


Microsoft Direct3D 12 device including the ability to query
video capabilities and instantiating video decoders and
processors.

ID3D12VideoProcessCommandList Encapsulates a list of graphics commands for video


processing.

ID3D12VideoProcessCommandList1 Encapsulates a list of graphics commands for video


processing.

ID3D12VideoProcessor Provides methods for getting information about the


parameters to the call to
ID3D12VideoDevice::CreateVideoProcessor that created the
video processor.

Structures
T IT L E DESC RIP T IO N

D3D12_FEATURE_DATA_VIDEO_DECODE_CONVERSION_SUP Retrieves the list of supported profiles.


PORT

D3D12_FEATURE_DATA_VIDEO_DECODE_FORMATS Retrieves the list of supported formats.

D3D12_FEATURE_DATA_VIDEO_DECODE_HISTOGRAM Provides data for calls to


ID3D12VideoDevice::CheckFeatureSupport when the feature
specified is D3D12_FEATURE_VIDEO_DECODE_HISTOGRAM.

D3D12_FEATURE_DATA_VIDEO_DECODE_PROFILES Retrieves the list of supported profiles.


T IT L E DESC RIP T IO N

D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT Retrieves support information for video decoding.

D3D12_FEATURE_DATA_VIDEO_PROCESS_MAX_INPUT_STRE Retrieves the maximum number of enabled input streams


AMS supported by the video processor.

D3D12_FEATURE_DATA_VIDEO_PROCESS_REFERENCE_INFO Retrieves the number of past and future reference frames


required for the specified deinterlace mode, filter, rate
conversion, or auto processing features.

D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT Provides data for calls to


ID3D12VideoDevice::CheckFeatureSupport when the feature
specified is D3D12_FEATURE_VIDEO_PROCESS_SUPPORT.

D3D12_QUERY_DATA_VIDEO_DECODE_STATISTICS Represents data for a video decode statistics query invoked


by calling ID3D12VideoDecodeCommandList::EndQuery.

D3D12_VIDEO_DECODE_COMPRESSED_BITSTREAM Represents a compressed bitstream from which video is


decoded.

D3D12_VIDEO_DECODE_CONFIGURATION Describes the configuration for a video decoder.

D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS Specifies the parameters for decode output conversion.

D3D12_VIDEO_DECODE_CONVERSION_ARGUMENTS1 Specifies the parameters for decode output conversion.

D3D12_VIDEO_DECODE_FRAME_ARGUMENT Represents the decode parameters for a frame.

D3D12_VIDEO_DECODE_INPUT_STREAM_ARGUMENTS Specifies the parameters for the input stream for a video
decode operation.

D3D12_VIDEO_DECODE_OUTPUT_HISTOGRAM Represents the histogram output buffer for a single


component.

D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS Specifies the parameters for the output stream for a video
decode operation.

D3D12_VIDEO_DECODE_OUTPUT_STREAM_ARGUMENTS1 Specifies the parameters for the output stream for a video
decode operation.

D3D12_VIDEO_DECODE_REFERENCE_FRAMES Contains the list of reference frames for the current decode
operation.

D3D12_VIDEO_DECODE_SUB_SAMPLE_MAPPING_BLOCK Defines the encryption byte mapping of sub samples for


video decoding.

D3D12_VIDEO_DECODER_DESC Describes a ID3D12VideoDecoder.

D3D12_VIDEO_DECODER_HEAP_DESC Describes a ID3D12VideoDecoderHeap.

D3D12_VIDEO_FORMAT Defines the combination of a pixel format and color space for
a resource content description.

D3D12_VIDEO_PROCESS_ALPHA_BLENDING Specifies alpha blending parameters for video processing.


T IT L E DESC RIP T IO N

D3D12_VIDEO_PROCESS_FILTER_RANGE Defines the range of supported values for an image filter.

D3D12_VIDEO_PROCESS_INPUT_STREAM Contains input information for the video processor blend


functionality.

D3D12_VIDEO_PROCESS_INPUT_STREAM_ARGUMENTS Specifies input stream arguments for an input stream passed


to ID3D12VideoCommandList::ProcessFrames.

D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC Specifies the parameters for the input stream for a video
process operation.

D3D12_VIDEO_PROCESS_INPUT_STREAM_RATE Provides information about the stream rate.

D3D12_VIDEO_PROCESS_LUMA_KEY Specifies the settings used for luma keying.

D3D12_VIDEO_PROCESS_OUTPUT_STREAM Represents the output stream for video processing


commands.

D3D12_VIDEO_PROCESS_OUTPUT_STREAM_ARGUMENTS Specifies output stream arguments for the output passed to


ID3D12VideoCommandList::ProcessFrames.

D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC Specifies output stream arguments for the output passed to


ID3D12VideoProcessCommandList::ProcessFrames.

D3D12_VIDEO_PROCESS_REFERENCE_SET Contains the reference frames needed to perform video


processing.

D3D12_VIDEO_PROCESS_TRANSFORM Specifies transform parameters for video processing.

D3D12_VIDEO_SAMPLE Describes the width, height, format, and color space of a


picture buffer.

D3D12_VIDEO_SCALE_SUPPORT Describes the supported scaling range of output sizes for a


video scaler.

D3D12_VIDEO_SIZE_RANGE Describes the range of supported sizes for a video scaler.


Mobile Broadband
3/13/2020 • 15 minutes to read • Edit Online

Overview of the Mobile Broadband technology.


To develop Mobile Broadband, you need these headers:
mbnapi.h
For programming guidance for this technology, see:
Mobile Broadband

Enumerations
T IT L E DESC RIP T IO N

MBN_ACTIVATION_STATE The MBN_ACTIVATION_STATE enumerated type indicates the


current data connection state.

MBN_AUTH_PROTOCOL The MBN_AUTH_PROTOCOL enumerated type specifies the


authentication protocol used for Packet Data Protocol (PDP)
activation.

MBN_BAND_CLASS The MBN_BAND_CLASS enumerated type defines the


frequency band classes.

MBN_CELLULAR_CLASS The MBN_CELLULAR_CLASS enumerated type defines the


type of cellular device.

MBN_COMPRESSION The MBN_COMPRESSION enumerated type specifies whether


compression is to be used in the data link for header and data.

MBN_CONNECTION_MODE The MBN_CONNECTION_MODE enumerated type specifies


the mode of connection requested.

MBN_CONTEXT_CONSTANTS The MBN_CONTEXT_CONSTANTS enumerated type specifies


the maximum string lengths supported by members of the
MBN_CONTEXT structure.

MBN_CONTEXT_TYPE The MBN_CONTEXT_TYPE enumerated type specifies the


represented context type.

MBN_CTRL_CAPS The MBN_CTRL_CAPS enumerated type represents all of the


Mobile Broadband device control capabilities as bit fields.

MBN_DATA_CLASS The MBN_DATA_CLASS enumerated type specifies the data


classes that a provider supports.

MBN_DEVICE_SERVICES_INTERFACE_STATE .
T IT L E DESC RIP T IO N

MBN_INTERFACE_CAPS_CONSTANTS The MBN_INTERFACE_CAPS_CONSTANTS enumerated type


defines the maximum length of string values used by assorted
elements of the MBN_INTERFACE_CAPS structure.

MBN_MSG_STATUS The MBN_MSG_STATUS enumerated type defines the type of


message being handled.

MBN_PIN_CONSTANTS The MBN_PIN_CONSTANTS enumerated type defines constant


values used by the MBN_PIN_INFO structure.

MBN_PIN_FORMAT The MBN_PIN_FORMAT enumerated type indicates whether a


PIN is numeric or alphanumeric.

MBN_PIN_MODE The MBN_PIN_MODE enumerated type indicates if the PIN


type is enabled.

MBN_PIN_STATE The MBN_PIN_STATE enumerated type indicates the current


PIN state of the Mobile Broadband device.

MBN_PIN_TYPE The MBN_PIN_TYPE enumerated type indicates the type of


password required for unlocking the information stored on the
interface.

MBN_PROVIDER_CONSTANTS The MBN_PROVIDER_CONSTANTS enumerated type contains


values that define the buffer lengths of MBN_PROVIDER
members.

MBN_PROVIDER_STATE The MBN_PROVIDER_STATE enumerated type specifies the


various states with which a provider entry can be tagged.

MBN_RADIO The MBN_RADIO enumerated type indicates whether the


device radio is on or off.

MBN_READY_STATE The MBN_READY_STATE enumerated type contains values that


indicate the readiness of a Mobile Broadband device to
engage in cellular network traffic operations.

MBN_REGISTER_MODE The MBN_REGISTER_MODE enumerated type indicates the


network selection mode of a device.

MBN_REGISTER_STATE The MBN_REGISTER_STATE enumerated type indicates the


network registration state of a Mobile Broadband device.

MBN_REGISTRATION_CONSTANTS The MBN_REGISTRATION_CONSTANTS enumerated type


contains specific values used by IMbnRegistration interface
operations.

MBN_SIGNAL_CONSTANTS THE MBN_SIGNAL_CONSTANTS enumerated type contains


specific values used by IMbnSignal interface operations.

MBN_SMS_CAPS The MBN_SMS_CAPS enumerated type contains bitfield values


that specify SMS capabilities.
T IT L E DESC RIP T IO N

MBN_SMS_CDMA_ENCODING The MBN_SMS_CDMA_ENCODING enumerated type specifies


character encoding types for CDMA.

MBN_SMS_CDMA_LANG The MBN_SMS_CDMA_LANG enumerated type represents the


different languages that can be used in a CDMA message.

MBN_SMS_FLAG The MBN_SMS_FLAG enumerated type specifies the SMS


message class.

MBN_SMS_FORMAT Format of SMS messages.

MBN_SMS_STATUS_FLAG The MBN_SMS_STATUS_FLAG enumerated type indicates the


status of a device's SMS message store.

MBN_VOICE_CALL_STATE The MBN_VOICE_CALL_STATE enumerated type specifies the


current voice call state of the device.

MBN_VOICE_CLASS The MBN_VOICE_CLASS enumerated type specifies a device's


voice capabilities and how they interact with the data service.

WWAEXT_SMS_CONSTANTS The MBN_SMS_CONSTANTS enumerated type contains SMS


constant values.

Functions
T IT L E DESC RIP T IO N

Activate Send the service activation request to the network.

Change Changes the PIN.

CloseCommandSession Closes a command session to a device service on a Mobile


Broadband device.

CloseDataSession Closes the data session to a device service on a Mobile


Broadband device.

Connect Establishes a data connection.

CreateConnectionProfile Creates a new connection profile for the device.

Delete Deletes the profile from the system.

Disable Disables a PIN.

Disconnect Disconnects a data connection.

Enable Enables a PIN.

Enter Enters a PIN.


T IT L E DESC RIP T IO N

EnumerateDeviceServices Gets the list of supported device services by the Mobile


Broadband device.

get_Address The mobile number associated with a message.

get_CdmaShortMsgSize Maximum CDMA short message character length.

get_ConnectionID Gets the unique identifier for the connection.

get_DeviceServiceID The ID of the device service to which this object is associated.

get_EncodingID The data encoding used in the message.

get_HardwareRadioState The hardware radio state of a Mobile Broadband device.

get_Index The index of the message in the device SMS store.

get_Index The index of the message in device SMS memory.

get_InterfaceID Gets the interface identifier.

get_InterfaceID The interface ID of the Mobile Broadband device to which this


object is associated.

get_InterfaceID The interface ID.

get_IsCommandSessionOpen Reports if the device service command session is open.

get_IsDataSessionOpen Reports if the device service data session is open.

get_LanguageID The language used in the message.

get_MaxCommandSize The maximum length, in bytes, of data that can be associated


with a device service SET or QUERY command.

get_MaxDataSize The maximum length, in bytes, of data that can be written to


or read from a device service session.

get_MaxMessageIndex SMS message memory capacity.

get_Message Message in WMT format as used by CDMA devices.

get_Message The contents of the message.

get_PduData The PDU message in hexadecimal format as used by GSM


devices.

get_PinFormat The PIN format.

get_PinLengthMax The maximum length of the PIN.


T IT L E DESC RIP T IO N

get_PinLengthMin The minimum length of the PIN.

get_PinMode The PIN mode.

get_PinType The PIN type.

get_ServiceCenterAddress SMS default Service Center address.

get_SimIccID The SIM International circuit card number (SimICCID) for the
device.

get_SizeInCharacters The size in characters of the message.

get_SmsFormat Format in which newly received SMS should be reported by


the device.

get_SoftwareRadioState The software radio state of a Mobile Broadband device.

get_Status The type of message.

get_Status The type of message.

get_SubscriberID The subscriber ID of the device.

get_TelephoneNumbers The telephone numbers associated with the device.

get_Timestamp The timestamp of a message.

GetActivationNetworkError Gets the network error returned in a Packet Data Protocol


(PDP) context activation failure.

GetAvailableDataClasses Gets the available data classes in the current network.

GetConnection Gets a connection.

GetConnection Gets the IMbnConnection object.

GetConnectionProfile Gets a specific connection profile associated with the given


Mobile Broadband device.

GetConnectionProfiles Gets a list of connection profiles associated with the device.

GetConnections Gets a list of available connections.

GetConnectionState Gets the current connection state of the device.

GetCurrentCellularClass Gets the current cellular classes for a multi-carrier device.

GetCurrentDataClass Gets the current data class in the current network.


T IT L E DESC RIP T IO N

GetDeviceService Gets the IMbnDeviceService object that can be used for


communicating with a device service on the Mobile
Broadband device.

GetDeviceServicesContext Gets the IMbnDeviceServicesContext interface for a specific


Mobile Broadband device.

GetHomeProvider Gets the home provider.

GetInterface Gets a specific interface.

GetInterfaceCapability Gets the capabilities of the device.

GetInterfaces Gets a list of all available IMbnInterface objects.

GetPacketAttachNetworkError Gets the network error from a packet attach operation.

GetPin Gets a specific type of PIN.

GetPinList Gets a list of different PIN types supported by the device.

GetPinManager Gets the IMbnPinManager.

GetPinState Gets the current PIN state of the device.

GetPreferredProviders Gets the list of preferred providers.

GetPreferredProviders Gets the list of subscribed providers visible in the current area
for a multi-carrier device minus the current registered provider.

GetProfileXmlData Gets the XML data of the current profile.

GetProviderID Gets the provider ID for the currently registered network.

GetProviderName Gets the provider name for the currently registered network.

GetProvisionedContexts Gets a list of connection contexts.

GetReadyState Gets the ready state.

GetRegisterMode Gets the network registration mode of a Mobile Broadband


device.

GetRegisterState Gets the registration state.

GetRegistrationNetworkError Gets the network error from a registration operation.

GetRoamingText Gets the roaming text describing the roaming provider.

GetSignalError Gets the received signal error rate.


T IT L E DESC RIP T IO N

GetSignalStrength Gets the signal strength received by the device.

GetSmsConfiguration Gets the SMS configuration of a device.

GetSmsStatus Gets the SMS status for a device.

GetSubscriberInformation Gets the subscriber information.

GetSupportedCellularClasses Gets the list of supported cellular classes for a multi-carrier


device.

GetVisibleProviders Gets the list of visible providers.

GetVisibleProviders Gets the list of visible providers in the current area for a multi-
carrier device minus preferred and registered providers.

GetVoiceCallState Gets the voice call state of the device.

InEmergencyMode Determines whether the device is in emergency mode.

OnActivationComplete Notification method called by the Mobile Broadband service to


indicate that a service activation request ahs completed.

OnChangeComplete Notification method called by the Mobile Broadband service to


indicate that a PIN change operation has completed.

OnCloseCommandSessionComplete Notification method indicating that a device service


CloseCommandSession request has completed.

OnCloseDataSessionComplete Notification method indicating that a device service session


CloseDataSession request has completed.

OnConnectComplete Notification method that signals the completion of a


connection operation.

OnConnectionArrival Notification method that indicates a new connection was


added to the system.

OnConnectionProfileArrival Notification method that indicates a new connection profile


has been added to the system.

OnConnectionProfileRemoval Notification method that indicates a connection profile has


been removed from the system.

OnConnectionRemoval Notification method that indicates a connection was removed


from the system.

OnConnectStateChange Notification method that indicates whether the connection


state of the device has changed.

OnCurrentCellularClassChange This notification method is called by the Mobile Broadband


service to indicate the completion of a GetCurrentCellularClass
operation.
T IT L E DESC RIP T IO N

OnDisableComplete Notification method called by the Mobile Broadband service to


indicate that a PIN disable operation has completed.

OnDisconnectComplete Notification method that indicates that a disconnection


operation has been performed.

OnEmergencyModeChange This notification method is called by the Mobile Broadband


service to indicate that the emergency mode has changed.

OnEnableComplete Notification method called by the Mobile Broadband service to


indicate that a PIN enable operation has completed.

OnEnterComplete Notification method called by the Mobile Broadband service to


indicate that a PIN enter operation has completed.

OnEventNotification Notification method signaling a device service state change


event from the Mobile Broadband device.

OnEventNotification Notification method signaling a change event from the


underlying Mobile Broadband device miniport driver.

OnGetPinStateComplete Notification method called by the Mobile Broadband service to


indicate the completion of an asynchronous operation
triggered by a call to the GetPinState method of
IMbnPinManager.

OnHomeProviderAvailable This notification method is called by the Mobile Broadband


service to indicate that home provider information for the
device is available.

OnInterfaceArrival Notification method that signals that a device has been added
to the system.

OnInterfaceCapabilityAvailable This notification method is called by the Mobile Broadband


service to indicate that interface capability information is
available.

OnInterfaceCapabilityChange This notification method is called by the Mobile Broadband


service to indicate the completion of a SetHomeProvider
operation that updates the interface capabilities.

OnInterfaceRemoval Notification method that signals that a device has been


removed from the system.

OnInterfaceStateChange Notification method that signals a change in the state of


device services on the system.

OnOpenCommandSessionComplete Notification method indicating that a device service


CommandSessionOpen request has completed.

OnOpenDataSessionComplete Notification method indicating that a device service


OpenDataSession request has completed.
T IT L E DESC RIP T IO N

OnPacketServiceStateChange Notification method called by the Mobile Broadband service to


indicate a change in the device packet service state.

OnPinListAvailable Notification method called by the Mobile Broadband service to


indicate that the list of device PINs is available.

OnPreferredProvidersChange This notification method is called by the Mobile Broadband


service to indicate a change in a device's preferred provider list.

OnPreferredProvidersChange This notification method is called by the Mobile Broadband


service to indicate the completion of a GetPreferredProviders
operation and a change in a device's preferred provider list.

OnProfileUpdate A notification method that indicates that profile update


operation has completed.

OnProvisionedContextListChange Notification method called by the Mobile Broadband service to


indicate that a provisioned context stored in the device is
available or updated.

OnQueryCommandComplete Notification method indicating that a device service QUERY


request has completed.

OnQuerySupportedCommandsComplete Notification method indicating that a query for the messages


supported on a device service has completed.

OnRadioStateChange A notification signaling that the radio state of the device has
changed.

OnReadData Notification for data being read from a device service data
session.

OnReadyStateChange This notification method is called by the Mobile Broadband


service to indicate a change in an interface's ready state.

OnRegisterModeAvailable Notification method called by the Mobile Broadband service to


indicate that registration mode information is available.

OnRegisterStateChange Notification method called by the Mobile Broadband service to


indicate a change in the device's registration state.

OnScanNetworkComplete This notification method is called by the Mobile Broadband


service to indicate the completion of a network scan.

OnScanNetworkComplete This notification method is called by the Mobile Broadband


service to indicate the completion of a ScanNetwork operation.

OnSetCommandComplete Notification method indicating that a device service SET


request has completed.

OnSetHomeProviderComplete This notification method is called by the Mobile Broadband


service to indicate the completion of a SetHomeProvider
operation.
T IT L E DESC RIP T IO N

OnSetPreferredProvidersComplete This notification method is called by the Mobile Broadband


service to indicate the completion of a SetPreferredProviders
operation.

OnSetProvisionedContextComplete Notification method called by the Mobile Broadband service to


indicate that the provisioned context in the device has been
set.

OnSetRegisterModeComplete Notification method called by the Mobile Broadband service to


indicate that it has completed a set registration operation.

OnSetSmsConfigurationComplete Notification method signaling that a set SMS configuration


operation has completed, or that the SMS subsystem is
initialized and ready for operation.

OnSetSoftwareRadioStateComplete Notification that a set software radio state operation has


completed.

OnSetVendorSpecificComplete Notification method indicating that a vendor-specific operation


has completed.

OnSignalStateChange This notification method is called by the Mobile Broadband


service to indicate that a signal quality update is available.

OnSmsConfigurationChange Notification method that indicates that SMS configuration has


changed or is available.

OnSmsDeleteComplete Notification method that signals the completion of an SMS


deletion operation.

OnSmsNewClass0Message Notification method signaling the arrival of a new class 0/flash


message.

OnSmsReadComplete Notification method indicating the completion of a message


read operation.

OnSmsSendComplete Notification method that indicates the completion of a


message send operation.

OnSmsStatusChange Notification method indicating a change in the status of the


message store.

OnSubscriberInformationChange This notification method is called by the Mobile Broadband


service to indicate that the subscriber information for the
device has changed.

OnUnblockComplete Notification method called by the Mobile Broadband service to


indicate that a PIN unblock operation has completed.

OnVoiceCallStateChange Notification method that indicates a change in the voice call


state of a device.

OnWriteDataComplete Notification method indicating that a device service session


Write request has completed.
T IT L E DESC RIP T IO N

OpenCommandSession Opens a command session to a device service on a Mobile


Broadband device.

OpenDataSession Open a data session to the device service on a Mobile


Broadband device.

put_ServiceCenterAddress SMS default Service Center address.

put_SmsFormat Format in which newly received SMS should be reported by


the device.

QueryCommand Sends a QUERY control command to the device service of a


Mobile Broadband device.

QuerySupportedCommands Gets the list of commands IDs supported by the Mobile


Broadband device service.

ScanNetwork Asynchronously scans the network to get a list of visible


providers.

ScanNetwork Scans the network to get a list of visible providers for a multi-
carrier device.

SetCommand Sends a SET control command to the device service of a


Mobile Broadband device.

SetHomeProvider Updates the home provider for a multi-carrier device.

SetPreferredProviders Updates the preferred providers list for the device.

SetProvisionedContext Adds or updates a provisioned context.

SetRegisterMode Sets the registration mode for the device.

SetSmsConfiguration Updates the SMS configuration for a device.

SetSoftwareRadioState Sets the software radio state of a Mobile Broadband device.

SetVendorSpecific Sends a request to the underlying Mobile Broadband device


miniport driver.

SmsDelete Deletes a set of SMS messages from a device.

SmsRead Reads a set of SMS messages from a device.

SmsSendCdma Sends a message in CDMA format.

SmsSendCdmaPdu Sends a message in CDMA binary format.

SmsSendPdu Sends a message in PDU format.

Unblock Unblocks a blocked PIN.


T IT L E DESC RIP T IO N

UpdateProfile Updates the contents of the profile.

WriteData Write data to a device service data session.

Interfaces
T IT L E DESC RIP T IO N

IMbnConnection Represents the network connectivity of a device.

IMbnConnectionContext Manages connection contexts.

IMbnConnectionContextEvents This notification interface is used to handle asynchronous


provisioned context events.

IMbnConnectionEvents This notification interface signals an application about change


and completion status of asynchronous connection requests.

IMbnConnectionManager Provides access to IMbnConnection objects and connection


notifications.

IMbnConnectionManagerEvents This notification interface signals an application about the


arrival and removal of IMbnConnection interfaces in the
system.

IMbnConnectionProfile This interface accesses connection parameters and preferences


stored in Mobile Broadband profiles.

IMbnConnectionProfileEvents This notification interface signals an application when


IMbnConnectionProfile methods change the Mobile
Broadband profile state.

IMbnConnectionProfileManager Provides access to connection profiles and connection


notifications.

IMbnConnectionProfileManagerEvents This notification interface signals an application about the


arrival and removal of IMbnConnectionProfile interfaces in the
system.

IMbnDeviceService Allows for communicating with a device service on a particular


Mobile Broadband device.

IMbnDeviceServicesContext Allows for enumerating and retrieving Mobile Broadband


device objects on the system.

IMbnDeviceServicesEvents Signals an application about notification events related to


Mobile Broadband device services on the system.

IMbnDeviceServicesManager Provides access to IMbnDeviceServicesContext objects and


Mobile Broadband device service notifications.

IMbnInterface Represents a Mobile Broadband device.


T IT L E DESC RIP T IO N

IMbnInterfaceEvents This interface is a notification interface used to handle


asynchronous IMbnInterface method calls as well as changes
in the device state.

IMbnInterfaceManager Provides access to IMbnInterface objects and notifications.

IMbnInterfaceManagerEvents This notification interface signals an application about the


arrival and removal of devices in the system.

IMbnMultiCarrier This interface exposes the multi-carrier functionality of a


capable Mobile Broadband device.

IMbnMultiCarrierEvents This interface is a notification interface used to handle


asynchronous IMbnMultiCarrier method calls.

IMbnPin Represents the device PIN.

IMbnPinEvents This interface is a notification interface used to indicate when


asynchronous PIN requests have completed.

IMbnPinManager Provides important details about the device PIN.

IMbnPinManagerEvents Notification interface used to indicate when PIN Manager


events have occurred.

IMbnRadio The IMbnRadio interface is used to query and update the


radio state of Mobile Broadband devices.

IMbnRadioEvents Notification interface used to indicate a change in the radio


state as well as the completion of a programatic change in the
state .

IMbnRegistration Provides access to network registration data.

IMbnRegistrationEvents Notification interface used to indicate when registration events


have occurred.

IMbnServiceActivation Pass-through mechanism for cellular service activation.

IMbnServiceActivationEvents This notification interface signals an application about the


completion of a service activation request.

IMbnSignal Get radio signal quality of a Mobile Broadband connection.

IMbnSignalEvents Notification interface used to indicate that a signal event has


occurred.

IMbnSms SMS interface for sending and receiving messages as well as


controlling the messaging configuration.

IMbnSmsConfiguration Provides access to the SMS configuration of a device.


T IT L E DESC RIP T IO N

IMbnSmsEvents This notification interface signals an application with the


completion status of SMS operations and changes in the
device SMS status.

IMbnSmsReadMsgPdu A collection of properties that represent an SMS message read


from the device memory.

IMbnSmsReadMsgTextCdma A collection of properties that represent a CDMA format SMS


message read from the device memory.

IMbnSubscriberInformation Provides access to subscriber information.

IMbnVendorSpecificEvents This notification interface signals an application of the


completion status of vendor-specific operations and other
vendor-specific changes in the device state.

IMbnVendorSpecificOperation Interface to pass requests from an application to the


underlying Mobile Broadband miniport drivers.

Structures
T IT L E DESC RIP T IO N

MBN_CONTEXT The MBN_CONTEXT structure stores information about the


connection context.

MBN_DEVICE_SERVICE The MBN_DEVICE_SERVICE structure provides information


about a Mobile Broadband device service.

MBN_INTERFACE_CAPS The MBN_INTERFACE_CAPS structure represents the interface


capabilities.

MBN_PIN_INFO The MBN_PIN_INFO structure represents the current PIN state


of the device.

MBN_PROVIDER The MBN_PROVIDER structure represents a network service


provider.

MBN_PROVIDER2 The MBN_PROVIDER2 structure represents a network service


provider. It is used by many of the provider-specific methods
of the IMbnMultiCarrier interface and provides an extension to
MBN_PROVIDER to support multi-carrier.

MBN_SMS_FILTER The MBN_SMS_FILTER structure contains the values that


describe a set of SMS messages.

MBN_SMS_STATUS_INFO The MBN_SMS_STATUS_INFO structure contains the status of


the SMS message store of a device.
Mobile Device Management Registration
3/26/2020 • 2 minutes to read • Edit Online

Overview of the Mobile Device Management Registration technology.


To develop Mobile Device Management Registration, you need these headers:
mdmregistration.h
For programming guidance for this technology, see:
Mobile Device Management Registration

Enumerations
T IT L E DESC RIP T IO N

REGISTRATION_INFORMATION_CLASS Contains information about the device registration.

Functions
T IT L E DESC RIP T IO N

DiscoverManagementService Discovers the MDM service.

DiscoverManagementServiceEx Discovers the MDM service using a candidate server.

GetDeviceRegistrationInfo Retrieves the device registration information.

GetManagementAppHyperlink Retrieves the management app hyperlink associated with the


MDM service.

IsDeviceRegisteredWithManagement Checks whether the device is registered with an MDM service.

IsManagementRegistrationAllowed Checks whether MDM registration is allowed by local policy.

RegisterDeviceWithManagement Registers a device with a MDM service, using the [MS-


MDE]:_Mobile Device Enrollment Protocol.

RegisterDeviceWithManagementUsingAADCredentials Registers a device with a MDM service, using Azure Active


Directory (AAD) credentials.

RegisterDeviceWithManagementUsingAADDeviceCredentials Registers a device with a MDM service, using Azure Active


Directory (AAD) device credentials.

SetManagedExternally Indicates to the MDM agent that the device is managed


externally and is not to be registered with an MDM service.

UnregisterDeviceWithManagement Unregisters a device with the MDM service.


Structures
T IT L E DESC RIP T IO N

MANAGEMENT_SERVICE_INFO Contains the endpoints and information about the


management service.
Mobile Device Management Settings Provider
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Mobile Device Management Settings Provider technology.


The Mobile Device Management Settings Provider technology is not associated with any headers.
For programming guidance for this technology, see:
Mobile Device Management Settings Provider
Monitor Configuration
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Monitor Configuration technology.


To develop Monitor Configuration, you need these headers:
highlevelmonitorconfigurationapi.h
lowlevelmonitorconfigurationapi.h
physicalmonitorenumerationapi.h
For programming guidance for this technology, see:
Monitor Configuration

Enumerations
T IT L E DESC RIP T IO N

MC_COLOR_TEMPERATURE Describes a monitor's color temperature.

MC_DISPLAY_TECHNOLOGY_TYPE Identifies monitor display technologies.

MC_DRIVE_TYPE Specifies whether to set or get a monitor's red, green, or blue


drive.

MC_GAIN_TYPE Specifies whether to get or set a monitor's red, green, or blue


gain.

MC_POSITION_TYPE Specifies whether to get or set the vertical or horizontal


position of a monitor's display area.

MC_SIZE_TYPE Specifies whether to get or set the width or height of a


monitor's display area.

MC_VCP_CODE_TYPE Describes a Virtual Control Panel (VCP) code type.

Functions
T IT L E DESC RIP T IO N

CapabilitiesRequestAndCapabilitiesReply Retrieves a string describing a monitor's capabilities.

DegaussMonitor Degausses a monitor.

DestroyPhysicalMonitor Closes a handle to a physical monitor.

DestroyPhysicalMonitors Closes an array of physical monitor handles.

GetCapabilitiesStringLength Retrieves the length of a monitor's capabilities string.


T IT L E DESC RIP T IO N

GetMonitorBrightness Retrieves a monitor's minimum, maximum, and current


brightness settings.

GetMonitorCapabilities Retrieves the configuration capabilities of a monitor. Call this


function to find out which high-level monitor configuration
functions are supported by the monitor.

GetMonitorColorTemperature Retrieves a monitor's current color temperature.

GetMonitorContrast Retrieves a monitor's minimum, maximum, and current


contrast settings.

GetMonitorDisplayAreaPosition Retrieves a monitor's minimum, maximum, and current


horizontal or vertical position.

GetMonitorDisplayAreaSize Retrieves a monitor's minimum, maximum, and current width


or height.

GetMonitorRedGreenOrBlueDrive Retrieves a monitor's red, green, or blue drive value.

GetMonitorRedGreenOrBlueGain Retrieves a monitor's red, green, or blue gain value.

GetMonitorTechnologyType Retrieves the type of technology used by a monitor.

GetNumberOfPhysicalMonitorsFromHMONITOR Retrieves the number of physical monitors associated with an


HMONITOR monitor handle.

GetNumberOfPhysicalMonitorsFromIDirect3DDevice9 Retrieves the number of physical monitors associated with a


Direct3D device.

GetPhysicalMonitorsFromHMONITOR Retrieves the physical monitors associated with an HMONITOR


monitor handle.

GetPhysicalMonitorsFromIDirect3DDevice9 Retrieves the physical monitors associated with a Direct3D


device.

GetTimingReport Retrieves a monitor's horizontal and vertical synchronization


frequencies.

GetVCPFeatureAndVCPFeatureReply Retrieves the current value, maximum value, and code type of
a Virtual Control Panel (VCP) code for a monitor.

RestoreMonitorFactoryColorDefaults Restores a monitor's color settings to their factory defaults.

RestoreMonitorFactoryDefaults Restores a monitor's settings to their factory defaults.

SaveCurrentMonitorSettings Saves the current monitor settings to the display's nonvolatile


storage.

SaveCurrentSettings Saves the current monitor settings to the display's nonvolatile


storage.

SetMonitorBrightness Sets a monitor's brightness value.


T IT L E DESC RIP T IO N

SetMonitorColorTemperature Sets a monitor's color temperature.

SetMonitorContrast Sets a monitor's contrast value.

SetMonitorDisplayAreaPosition Sets the horizontal or vertical position of a monitor's display


area.

SetMonitorDisplayAreaSize Sets the width or height of a monitor's display area.

SetMonitorRedGreenOrBlueDrive Sets a monitor's red, green, or blue drive value.

SetMonitorRedGreenOrBlueGain Sets a monitor's red, green, or blue gain value.

SetVCPFeature Sets the value of a Virtual Control Panel (VCP) code for a
monitor.

Structures
T IT L E DESC RIP T IO N

MC_TIMING_REPORT Contains information from a monitor's timing report.

PHYSICAL_MONITOR Contains a handle and text description corresponding to a


physical monitor.
MS-CHAP Password Management API
2/7/2020 • 2 minutes to read • Edit Online

Overview of the MS-CHAP Password Management API technology.


To develop MS-CHAP Password Management API, you need these headers:
mschapp.h
For programming guidance for this technology, see:
MS-CHAP Password Management API

Functions
T IT L E DESC RIP T IO N

MSChapSrvChangePassword Changes the password of a user account.

MSChapSrvChangePassword2 The MSChapSrvChangePassword2 function changes the


password of a user account while supporting mutual
encryption.

Structures
T IT L E DESC RIP T IO N

CYPHER_BLOCK The CYPHER_BLOCK is the basic unit of storage for the one-
way function (OWF) password hashes.

ENCRYPTED_LM_OWF_PASSWORD The ENCRYPTED_LM_OWF_PASSWORD stores a user's


encrypted Lan Manager (LM) one-way function (OWF)
password hash.

LM_OWF_PASSWORD The LM_OWF_PASSWORD stores the Lan Manage (LM) one-


way function (OWF) of a user's password.

SAMPR_ENCRYPTED_USER_PASSWORD The SAMPR_ENCRYPTED_USER_PASSWORD stores a user's


encrypted password.
Multicast Address Dynamic Client Allocation Protocol
(MADCAP)
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Multicast Address Dynamic Client Allocation Protocol (MADCAP) technology.
To develop Multicast Address Dynamic Client Allocation Protocol (MADCAP), you need these headers:
madcapcl.h
For programming guidance for this technology, see:
Multicast Address Dynamic Client Allocation Protocol (MADCAP)

Functions
T IT L E DESC RIP T IO N

McastApiCleanup The McastApiCleanup function deallocates resources that are


allocated with McastApiStartup. The McastApiCleanup
function must only be called after a successful call to
McastApiStartup.

McastApiStartup The McastApiStartup function facilitates MADCAP-version


negotiation between requesting clients and the version of
MADCAP implemented on the system.

McastEnumerateScopes The McastEnumerateScopes function enumerates multicast


scopes available on the network.

McastGenUID The McastGenUID function generates a unique identifier,


subsequently used by clients to request and renew addresses.

McastReleaseAddress The McastReleaseAddress function releases leased multicast


addresses from the MCAST server.

McastRenewAddress The McastRenewAddress function renews one or more


multicast addresses from a MADCAP server.

McastRequestAddress The McastRequestAddress function requests one or more


multicast addresses from a MADCAP server.

Structures
T IT L E DESC RIP T IO N

IPNG_ADDRESS The IPNG_ADDRESS union provides Internet Protocol version


4 (IPv4) and Internet Protocol version 6 (IPv6) addresses.

MCAST_CLIENT_UID The MCAST_CLIENT_UID structure describes the unique client


identifier for each multicast request.
T IT L E DESC RIP T IO N

MCAST_LEASE_REQUEST The MCAST_LEASE_REQUEST structure defines the request,


renew, or release parameters for a given multicast scope. In
the MCAST_API_VERSION_1 implementation, only one IP
address may be allocated at a time.

MCAST_LEASE_RESPONSE The MCAST_LEASE_RESPONSE structure is used to respond to


multicast lease requests.

MCAST_SCOPE_CTX The MCAST_SCOPE_CTX structure defines the scope context


for programmatic interaction with multicast addresses. The
MCAST_SCOPE_CTX structure is used by various MADCAP
functions as a handle for allocating, renewing, or releasing
MADCAP addresses.

MCAST_SCOPE_ENTRY The MCAST_SCOPE_ENTRY structure provides a complete set


of information about a given multicast scope.
Native Wifi
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Native Wifi technology.


To develop Native Wifi, you need these headers:
adhoc.h
dot1x.h
wlanapi.h
For programming guidance for this technology, see:
Native Wifi
NetBIOS
2/7/2020 • 2 minutes to read • Edit Online

Overview of the NetBIOS technology.


To develop NetBIOS, you need these headers:
nb30.h
For programming guidance for this technology, see:
NetBIOS

Functions
T IT L E DESC RIP T IO N

Netbios The Netbios function interprets and executes the specified


network control block (NCB).

Structures
T IT L E DESC RIP T IO N

ACTION_HEADER The ACTION_HEADER structure contains information about an


action. This action is an extension to the standard transport
interface.

ADAPTER_STATUS The ADAPTER_STATUS structure contains information about a


network adapter.

FIND_NAME_BUFFER The FIND_NAME_BUFFER structure contains information


about a local network session.

FIND_NAME_HEADER The FIND_NAME_HEADER structure contains information


about a network name. This structure is followed by as many
FIND_NAME_BUFFER structures as are required to describe
the name.

LANA_ENUM The LANA_ENUM structure contains the numbers for the


current LAN adapters.

NAME_BUFFER The NAME_BUFFER structure contains information about a


local network name. One or more NAME_BUFFER structures
follows an ADAPTER_STATUS structure when an application
specifies the NCBASTAT command in the ncb_command
member of the NCB structure.

NCB The NCB structure represents a network control block.


T IT L E DESC RIP T IO N

SESSION_BUFFER The SESSION_BUFFER structure contains information about a


local network session. One or more SESSION_BUFFER
structures follows a SESSION_HEADER structure when an
application specifies the NCBSSTAT command in the
ncb_command member of the NCB structure.

SESSION_HEADER The SESSION_HEADER structure contains information about a


network session.
NetShell
2/7/2020 • 2 minutes to read • Edit Online

Overview of the NetShell technology.


To develop NetShell, you need these headers:
netsh.h
For programming guidance for this technology, see:
NetShell

Enumerations
T IT L E DESC RIP T IO N

NS_CMD_FLAGS Specifies command flags available in NetShell.

NS_REQS Specifies the number of events.

Functions
T IT L E DESC RIP T IO N

FN_HANDLE_CMD Is the command function for helpers.

MatchEnumTag Searches a table of legal values to find a value that matches a


specific token.

MatchToken Determines whether a user-entered string matches a specific


string.

NS_CONTEXT_COMMIT_FN Is the commit function for helpers.

NS_CONTEXT_CONNECT_FN Is the connect function for helpers.

NS_CONTEXT_DUMP_FN Is the dump function for helpers.

NS_DLL_INIT_FN Called by NetShell to perform an initial loading of a helper.

NS_DLL_STOP_FN Is the DLL stop function for helper DLLs.

NS_HELPER_START_FN Is the start function for helpers.

NS_HELPER_STOP_FN Is the stop function for helpers.

NS_OSVERSIONCHECK Is the operating system check function for helpers.


T IT L E DESC RIP T IO N

PreprocessCommand Parses an argument string and verifies that all required tags
are present.

PrintError Displays a system or application error message to the NetShell


console.

PrintMessage Displays output to the NetShell console.

PrintMessageFromModule Displays localized output to the NetShell console.

RegisterContext Registers a helper context with NetShell.

RegisterHelper Is called from within a helper's exposed InitHelperDll function,


and registers the helper with the NetShell context.

Structures
T IT L E DESC RIP T IO N

CMD_ENTRY Defines a helper command.

CMD_GROUP_ENTRY Defines a group of helper commands.

NS_CONTEXT_ATTRIBUTES Defines attributes of a context.

NS_HELPER_ATTRIBUTES Provides attributes of a helper.

TAG_TYPE Specifies tags used for the PreprocessCommand function.


Network Access Protection
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Network Access Protection technology.


To develop Network Access Protection, you need these headers:
naptypes.h
For programming guidance for this technology, see:
Network Access Protection
Network Access Protection WMI Provider

Enumerations
T IT L E DESC RIP T IO N

ExtendedIsolationState Describes the extended isolation state of a connection.

FailureCategory Indicates the source of a failure.

FixupState Defines the fix-up state of the System Health Agent (SHA).

IsolationState Describes the isolation state of a connection.

NapNotifyType Enumerates the types of service notifications sent by the


NapAgent service.

RemoteConfigurationType Describes the type of remote configuration possible for a


component.

Structures
T IT L E DESC RIP T IO N

CorrelationId Is used to pair SoHRequests with SoHResponses and uniquely


describes an SoH exchange.

CountedString Defines a null-terminated string with a defined length.

FailureCategoryMapping Contains optional compliance state information that is


returned by the System Health Validator (SHV).

FixupInfo Contains fix-up information for the Sysytem Health Agent


(SHA).

Ipv4Address Defines an IPv4 address.

Ipv6Address Defines an IPv6 address.


T IT L E DESC RIP T IO N

IsolationInfo Defines the isolation status of the machine or the connection.

IsolationInfoEx Defines the extended isolation status of the machine or the


connection.

NapComponentRegistrationInfo Defines a registered NAP component such as a SHA, SHV, or


enforcement client.

NetworkSoH Defines the wire SoH protocol.

PrivateData Is used to store and retrieve opaque data blobs.

ResultCodes Defines a list of result codes.

SoH Contains the Statement of Health (SoH) data.

SoHAttribute Defines the SoH protocol between the SHA/SHV and the NAP
system.

SystemHealthAgentState Stores the dynamic state of the SHA.


Network Diagnostics Framework
2/7/2020 • 4 minutes to read • Edit Online

Overview of the Network Diagnostics Framework technology.


To develop Network Diagnostics Framework, you need these headers:
ndattrib.h
ndfapi.h
ndhelper.h
For programming guidance for this technology, see:
Network Diagnostics Framework

Enumerations
T IT L E DESC RIP T IO N

ATTRIBUTE_TYPE The ATTRIBUTE_TYPE enumeration defines possible values for


a helper attribute.

DIAGNOSIS_STATUS The DIAGNOSIS_STATUS enumeration describes the result of a


hypothesis submitted to a helper class in which the health of a
component has been determined.

PROBLEM_TYPE The PROBLEM_TYPE enumeration describes the type of


problem a helper class indicates is present.

REPAIR_RISK The REPAIR_RISK enumeration specifies whether repair


changes are persistent and whether they can be undone.

REPAIR_SCOPE The REPAIR_SCOPE enumeration describes the scope of


modification for a given repair.

REPAIR_STATUS The REPAIR_STATUS enumeration describes the result of a


helper class attempting a repair option.

UI_INFO_TYPE The UI_INFO_TYPE enumeration identifies repairs that perform


user interface tasks.

Functions
T IT L E DESC RIP T IO N

Cancel Cancels an ongoing diagnosis or repair.

Cleanup Allows the Helper Class Extension to clean up resources


following a diagnosis or repair operation.
T IT L E DESC RIP T IO N

CreateUtilityInstance Used by the Network Diagnostics Framework (NDF). This


method is reserved for system use.

GetAttributeInfo The GetAttributeInfo method retrieves the list of key


parameters needed by the Helper Class Extension.

GetAttributes Retrieves additional information about a problem that the


helper class extension has diagnosed.

GetCacheTime Specifies the time when cached results of a diagnosis and


repair operation have expired.

GetDiagnosticsInfo Enables the Helper Class Extension instance to provide an


estimate.

GetDownStreamHypotheses Asks the Helper Class Extension to generate hypotheses.

GetHigherHypotheses Generate hypotheses for possible causes of high utilization.

GetKeyAttributes Retrieves the key attributes of the Helper Class Extension.

GetLifeTime Retrieves the lifetime of the Helper Class Extension instance.

GetLowerHypotheses Generate hypotheses for possible causes of low health in the


local components.

GetRepairInfo Retrieves the repair information that the Helper Class


Extension has for a given problem type.

GetUpStreamHypotheses Generate hypotheses for possible causes of high utilization in


the upstream network components.

HighUtilization Check whether the corresponding component is highly


utilized.

Initialize The Initialize method passes in attributes to the Helper Class


Extension from the hypothesis. The helper class should store
these parameters for use in the main diagnostics functions.
This method must be called before any diagnostics function.

LowHealth Check whether the component being diagnosed is healthy.

NdfCancelIncident Used to cancel unneeded functions which have been


previously called on an existing incident.

NdfCloseIncident Used to close an Network Diagnostics Framework (NDF)


incident following its resolution.

NdfCreateConnectivityIncident Diagnoses generic Internet connectivity problems.

NdfCreateDNSIncident Diagnoses name resolution issues in resolving a specific host


name.
T IT L E DESC RIP T IO N

NdfCreateGroupingIncident Creates a session to diagnose peer-to-peer grouping


functionality issues.

NdfCreateInboundIncident Creates a session to diagnose inbound connectivity for a


specific application or service.

NdfCreateIncident To test the NDF functionality incorporated into their


application.

NdfCreateNetConnectionIncident Diagnoses connectivity issues using the NetConnection helper


class.

NdfCreatePnrpIncident Creates a session to diagnose issues with the Peer Name


Resolution Protocol (PNRP) service.

NdfCreateSharingIncident Diagnoses network problems in accessing a specific network


share.

NdfCreateWebIncident Diagnoses web connectivity problems.

NdfCreateWebIncidentEx Diagnoses web connectivity problems.

NdfCreateWinSockIncident Provides access to the Winsock Helper Class provided by


Microsoft.

NdfDiagnoseIncident Diagnoses the root cause of an incident without displaying a


user interface.

NdfExecuteDiagnosis The NdfExecuteDiagnosis function is used to diagnose the


root cause of the incident that has occurred.

NdfGetTraceFile Used to retrieve the path containing an Event Trace Log (ETL)
file that contains Event Tracing for Windows (ETW) events from
a diagnostic session.

NdfRepairIncident Repairs an incident without displaying a user interface.

ReconfirmLowHealth Used to add a second Low Health pass after hypotheses have
been diagnosed and before repairs are retrieved.

Repair Performs a repair specified by the input parameter.

ReproduceFailure Used by the Network Diagnostics Framework (NDF). This


method is reserved for system use.

SetLifeTime The Helper Class Extension can limit its diagnosis to events
within that time period.

SetUtilities Used by the Network Diagnostics Framework (NDF). This


method is reserved for system use.

Validate Called by NDF after a repair is successfully completed.


Interfaces
T IT L E DESC RIP T IO N

INetDiagHelper The INetDiagHelper interface provides methods that capture


and provide information associated with diagnoses and
resolution of network-related issues.

INetDiagHelperEx Provides methods that extend on the INetDiagHelper interface


to capture and provide information associated with diagnoses
and resolution of network-related issues.

INetDiagHelperInfo The INetDiagHelperInfo interface provides a method that is


called by the Network Diagnostics Framework (NDF) when it
needs to validate that it has the necessary information for a
helper class and that it has chosen the correct helper class.

INetDiagHelperUtilFactory Provides a reserved method that is used by the Network


Diagnostics Framework (NDF).

Structures
T IT L E DESC RIP T IO N

DIAG_SOCKADDR Stores an Internet Protocol (IP) address for a computer that is


participating in a Windows Sockets communication.

DiagnosticsInfo The DiagnosticsInfo structure contains the estimate of


diagnosis time, and flags for invocation.

HELPER_ATTRIBUTE The HELPER_ATTRIBUTE structure contains all NDF supported


data types.

HelperAttributeInfo The HelperAttributeInfo structure contains the name of the


helper attribute and its type.

HYPOTHESIS The HYPOTHESIS structure contains data used to submit a


hypothesis to NDF for another helper class.

HypothesisResult Contains information about a hypothesis returned from a


helper class.

LIFE_TIME The LIFE_TIME structure contains a start time and an end


time.

OCTET_STRING The OCTET_STRING structure contains a pointer to a string of


byte data.

RepairInfo The RepairInfo structure contains data required for a particular


repair option.

RepairInfoEx Contains detailed repair information that can be used to help


resolve the root cause of an incident.
T IT L E DESC RIP T IO N

RootCauseInfo Contains detailed information about the root cause of an


incident.

ShellCommandInfo The ShellCommandInfo structure contains data required to


launch an additional application for manual repair options.

UiInfo The UiInfo structure is used to display repair messages to the


user.
Network Drivers Prior to Windows Vista
3/13/2020 • 2 minutes to read • Edit Online

Overview of the Network Drivers Prior to Windows Vista technology.


The Network Drivers Prior to Windows Vista technology is not associated with any headers.
For programming guidance for this technology, see:
Network Drivers Prior to Windows Vista
Network Drivers, Windows Vista and Later
2/7/2020 • 4 minutes to read • Edit Online

Overview of the Network Drivers, Windows Vista and Later technology.


To develop Network Drivers, Windows Vista and Later, you need these headers:
fwpstypes.h
l2cmn.h
ndkinfo.h
For programming guidance for this technology, see:
Network Drivers, Windows Vista and Later

Enumerations
T IT L E DESC RIP T IO N

FWPS_DISCARD_MODULE0 The FWPS_DISCARD_MODULE0 enumeration type specifies


the type of module that discarded the
data.Note FWPS_DISCARD_MODULE0 is a specific version of
FWPS_DISCARD_MODULE.

MIB_IF_TABLE_LEVEL The MIB_IF_TABLE_LEVEL enumeration type defines the level


of interface information to retrieve.

NET_IF_ACCESS_TYPE The NET_IF_ACCESS_TYPE enumeration type specifies the NDIS


network interface access type.

NET_IF_ADMIN_STATUS The NET_IF_ADMIN_STATUS enumeration type specifies the


NDIS network interface administrative status, as described in
RFC 2863.

NET_IF_CONNECTION_TYPE The NET_IF_CONNECTION_TYPE enumeration type specifies


the NDIS network interface connection type.

NET_IF_DIRECTION_TYPE The NET_IF_ACCESS_TYPE enumeration type specifies the NDIS


network interface direction type.

NET_IF_MEDIA_CONNECT_STATE The NET_IF_MEDIA_CONNECT_STATE enumeration type


specifies the NDIS network interface connection state.

NET_IF_MEDIA_DUPLEX_STATE The NET_IF_MEDIA_DUPLEX_STATE enumeration type specifies


the NDIS network interface duplex state.

NET_IF_OPER_STATUS The NET_IF_OPER_STATUS enumeration type defines the


current NDIS network interface operational status.

NL_ADDRESS_TYPE The NL_ADDRESS_TYPE enumeration type specifies the IP


address type of the network layer.
T IT L E DESC RIP T IO N

NL_LINK_LOCAL_ADDRESS_BEHAVIOR The NL_LINK_LOCAL_ADDRESS_BEHAVIOR enumeration type


defines the link local address behavior.

NL_NEIGHBOR_STATE The NL_NEIGHBOR_STATE enumeration type defines the state


of a network layer neighbor IP address, as described in RFC
2461, section 7.3.2.

NL_ROUTE_ORIGIN The NL_ROUTE_ORIGIN enumeration type defines the origin


of the IP route.

NL_ROUTE_PROTOCOL The NL_ROUTE_PROTOCOL enumeration type defines the


routing mechanism that an IP route was added with, as
described in RFC 4292.

NL_ROUTER_DISCOVERY_BEHAVIOR The NL_ROUTER_DISCOVERY_BEHAVIOR enumeration type


defines the router discovery behavior, as described in RFC
2461.

TUNNEL_TYPE The TUNNEL_TYPE enumeration type defines the


encapsulation method used by a tunnel, as described by the
Internet Assigned Names Authority (IANA).

Functions
T IT L E DESC RIP T IO N

GetCurrentThreadCompartmentId Reserved for future use. Do not use this function.

GetNetworkInformation Reserved for future use. Do not use this function.

GetSessionCompartmentId Reserved for future use. Do not use this function.

SetCurrentThreadCompartmentId Reserved for future use. Do not use this function.

SetNetworkInformation Reserved for future use. Do not use this function.

SetSessionCompartmentId Reserved for future use. Do not use this function.

Structures
T IT L E DESC RIP T IO N

FWPS_ACTION0 The FWPS_ACTION0 structure specifies the run-time action


that the filter engine takes if all of the filter's filtering
conditions are true.Note FWPS_ACTION0 is a specific version
of FWPS_ACTION.
T IT L E DESC RIP T IO N

FWPS_ALE_ENDPOINT_ENUM_TEMPLATE0 The FWPS_ALE_ENDPOINT_ENUM_TEMPLATE0 structure


specifies a template for application layer enforcement (ALE)
endpoints to be
enumerated.Note FWPS_ALE_ENDPOINT_ENUM_TEMPLATE0
is a specific version of
FWPS_ALE_ENDPOINT_ENUM_TEMPLATE.

FWPS_ALE_ENDPOINT_PROPERTIES0 The FWPS_ALE_ENDPOINT_PROPERTIES0 structure specifies


the properties of an application layer enforcement (ALE)
endpoint.Note FWPS_ALE_ENDPOINT_PROPERTIES0 is a
specific version of FWPS_ALE_ENDPOINT_PROPERTIES.

FWPS_CLASSIFY_OUT0 The FWPS_CLASSIFY_OUT0 structure defines the data that is


returned to the caller of a callout's classifyFn callout
function.Note FWPS_CLASSIFY_OUT0 is a specific version of
FWPS_CLASSIFY_OUT.

FWPS_DISCARD_METADATA0 The FWPS_DISCARD_METADATA0 structure describes the data


that was discarded by the filter engine, a network layer, or a
transport layer.Note FWPS_DISCARD_METADATA0 is a specific
version of FWPS_DISCARD_METADATA.

FWPS_FILTER_CONDITION0 The FWPS_FILTER_CONDITION0 structure defines a run-time


filtering condition for a filter.Note FWPS_FILTER_CONDITION0
is a specific version of FWPS_FILTER_CONDITION.

FWPS_FILTER0 The FWPS_FILTER0 structure defines a run-time filter in the


filter engine.Note FWPS_FILTER0 is the specific version of
FWPS_FILTER used in Windows Vista and later.

FWPS_FILTER1 The FWPS_FILTER1 structure defines a run-time filter in the


filter engine.Note FWPS_FILTER1 is the specific version of
FWPS_FILTER used in Windows 7 and later.

FWPS_FILTER2 The FWPS_FILTER2 structure defines a run-time filter in the


filter engine.Note FWPS_FILTER2 is the specific version of
FWPS_FILTER used in Windows 8 and later.

FWPS_INBOUND_FRAGMENT_METADATA0 The FWPS_INBOUND_FRAGMENT_METADATA0 structure


describes the fragment data for a received packet
fragment.Note FWPS_INBOUND_FRAGMENT_METADATA0 is
a specific version of FWPS_INBOUND_FRAGMENT_METADATA.

FWPS_INCOMING_VALUE0 The FWPS_INCOMING_VALUE0 structure defines an individual


data value.Note FWPS_INCOMING_VALUE0 is a specific
version of FWPS_INCOMING_VALUE.

FWPS_INCOMING_VALUES0 The FWPS_INCOMING_VALUES0 structure defines data values


that are passed by the filter engine to a callout's classifyFn
callout function.Note FWPS_INCOMING_VALUES0 is a specific
version of FWPS_INCOMING_VALUES.

IF_COUNTED_STRING_LH The IF_COUNTED_STRING structure specifies a counted string


for NDIS interfaces.

IN6_ADDR The IN6_ADDR structure specifies an IPv6 transport address.


T IT L E DESC RIP T IO N

L2_NOTIFICATION_DATA Important The Native 802.11 Wireless LAN interface is


deprecated in Windows 10 and later.

NDIS_INTERFACE_INFORMATION The NDIS_INTERFACE_INFORMATION structure provides


information about a network interface for the
OID_GEN_INTERFACE_INFO OID.

NDK_ADAPTER_INFO The NDK_ADAPTER_INFO structure specifies information


about limits and capabilities of an NDK adapter.

NDK_VERSION The NDK_VERSION structure specifies major and minor


versions in the NDK interface.

NET_PHYSICAL_LOCATION_LH The NET_PHYSICAL_LOCATION structure provides NDIS with


information about the physical location of a registered
network interface.

SOCKADDR The SOCKADDR structure is a generic structure that specifies a


transport address.

SOCKADDR_IN The SOCKADDR_IN structure specifies a transport address and


port for the AF_INET address family.

SOCKADDR_IN6_LH The SOCKADDR_IN6 structure specifies a transport address


and port for the AF_INET6 address family.

SOCKADDR_IN6_W2KSP1 The SOCKADDR_IN6 structure specifies a transport address


and port for the AF_INET6 address family.

SOCKADDR_STORAGE_LH The SOCKADDR_STORAGE structure is a generic structure that


specifies a transport address.

SOCKADDR_STORAGE_XP The SOCKADDR_STORAGE structure is a generic structure that


specifies a transport address.

SOCKET_ADDRESS_LIST The SOCKET_ADDRESS_LIST structure defines a variable-sized


list of transport addresses.

WSACMSGHDR The CMSGHDR structure defines the header for a control data
object that is associated with a datagram.
Network List Manager
2/7/2020 • 7 minutes to read • Edit Online

Overview of the Network List Manager technology.


To develop Network List Manager, you need these headers:
netlistmgr.h
ondemandconnroutehelper.h
For programming guidance for this technology, see:
Network List Manager

Enumerations
T IT L E DESC RIP T IO N

NLM_CONNECTION_COST The NLM_CONNECTION_COST enumeration specifies a set of


cost levels and cost flags supported in Windows 8 Cost APIs.

NLM_CONNECTION_PROPERTY_CHANGE The NLM_CONNECTION PROPERTY_CHANGE enumeration is


a set of flags that define changes made to the properties of a
network connection.

NLM_CONNECTIVITY The NLM_Connectivity enumeration is a set of flags that


provide notification whenever connectivity related parameters
have changed.

NLM_DOMAIN_TYPE The NLM_DOMAIN_TYPE enumeration is a set of flags that


specify the domain type of a network.

NLM_ENUM_NETWORK The NLM_ENUM_NETWORK enumeration contains a set of


flags that specify what types of networks are enumerated.

NLM_INTERNET_CONNECTIVITY The NLM_INTERNET_CONNECTIVITY enumeration defines a


set of flags that provide additional data for IPv4 or IPv6
network connectivity.

NLM_NETWORK_CATEGORY The NLM_NETWORK_CATEGORY enumeration is a set of flags


that specify the category type of a network.

NLM_NETWORK_CLASS NLM_NETWORK_CLASS enumeration defines a set of flags


that specify if a network has been identified.

NLM_NETWORK_PROPERTY_CHANGE The NLM_NETWORK_PROPERTY_CHANGE enumeration is a


set of flags that define changes made to the properties of a
network.

Functions
T IT L E DESC RIP T IO N

ClearSimulatedProfileInfo Clears the connection profile values previously applied to the


internet connection profile by SetSimulatedProfileInfo. The
next internet connection query, via
GetInternetConnectionProfile, will use system information.

Clone The Clone method creates an enumerator that contains the


same enumeration state as the enumerator currently in use.

Clone The Clone method creates an enumerator that contains the


same enumeration state as the enumerator currently in use.

ConnectionCostChanged ConnectionCostChanged method notifies an application of a


network cost change for a connection.

ConnectionDataPlanStatusChanged ConnectionDataPlanStatusChanged method notifies an


application of a data plan status change on a connection.

ConnectivityChanged The NetworkConnectivityChanged method is called when


network connectivity related changes occur.

CostChanged CostChanged method is called to indicates a cost change for


either machine-wide Internet connectivity, or the first-hop of
routing to a specific destination on a connection.

DataPlanStatusChanged DataPlanStatusChanged method is called to indicate a change


to the status of a data plan associated with either a
connection used for machine-wide Internet connectivity, or
the first-hop of routing to a specific destination on a
connection.

FreeInterfaceContextTable This function frees the interface context table retrieved using
the GetInterfaceContextTableForHostName function.

get__NewEnum The get_NewEnum property returns an automation


enumerator object that you can use to iterate through the
IEnumNetworkConnections collection.

get__NewEnum The get_NewEnum property returns an automation


enumerator object that you can use to iterate through the
IEnumNetworks collection.

get_IsConnected The get_IsConnected property specifies if the network has any


network connectivity.

get_IsConnected The get_IsConnected property specifies if the associated


network connection has network connectivity.

get_IsConnected The get_IsConnected property specifies if the local machine


has network connectivity.

get_IsConnectedToInternet The get_IsConnectedToInternet property specifies if the


network has internet connectivity.

get_IsConnectedToInternet The get_IsConnectedToInternet property specifies if the


associated network connection has internet connectivity.
T IT L E DESC RIP T IO N

get_IsConnectedToInternet The get_IsConnectedToInternet property specifies if the local


machine has internet connectivity.

GetAdapterId The GetAdapterID method returns the ID of the network


adapter used by this connection.

GetCategory The GetCategory method returns the category of a network.

GetConnectionId The GetConnectionID method returns the Connection ID


associated with this network connection.

GetConnectivity The GetConnectivity method returns the connectivity state of


the network.

GetConnectivity The GetConnectivity method returns the connectivity state of


the network connection.

GetConnectivity The GetConnectivity method returns the overall connectivity


state of the machine.

GetCost GetCost method retrieves the network cost associated with a


connection.

GetCost GetCost method retrieves the current cost of either a


machine-wide internet connection, or the first-hop of routing
to a specific destination on a connection.

GetDataPlanStatus GetDataPlanStatus method retrieves the status of the data


plan associated with a connection.

GetDataPlanStatus GetDataPlanStatus retrieves the data plan status for either a


machine-wide internet connection , or the first-hop of routing
to a specific destination on a connection.

GetDescription The GetDescription method returns a description string for


the network.

GetDomainType The GetDomainType method returns the domain type of a


network.

GetDomainType The GetDomainType method returns the domain type of the


network connection.

GetInterfaceContextTableForHostName This function retrieves an interface context table for the given
hostname and connection profile filter.

GetName The GetName method returns the name of a network.

GetNetwork The GetNetwork method returns the network associated with


the connection.
T IT L E DESC RIP T IO N

GetNetwork The GetNetwork method retrieves a network based on a


supplied network ID.

GetNetworkConnection The GetNetworkConnection method retrieves a network


based on a supplied Network Connection ID.

GetNetworkConnections The GetNetworkConnections method returns an enumeration


of all network connections for a network. A network can have
multiple connections to it from different interfaces or different
links from the same interface.

GetNetworkConnections The GetNetworkConnections method enumerates a complete


list of the network connections that have been made.

GetNetworkId The GetNetworkId method returns the unique identifier of a


network.

GetNetworks The GetNetworks method retrieves the list of networks


available on the local machine.

GetTimeCreatedAndConnected The GetTimeCreatedAndConnected method returns the local


date and time when the network was created and connected.

NetworkAdded The NetworkAdded method is called when a new network is


added. The GUID of the new network is provided.

NetworkConnectionConnectivityChanged The NetworkConnectionConnectivityChanged method notifies


a client when connectivity change events occur on a network
connection level.

NetworkConnectionPropertyChanged The NetworkConnectionPropertyChanged method notifies a


client when property change events related to a specific
network connection occur.

NetworkConnectivityChanged The NetworkConnectivityChanged method is called when


network connectivity related changes occur.

NetworkDeleted The NetworkDeleted method is called when a network is


deleted.

NetworkPropertyChanged The NetworkPropertyChanged method is called when a


network property change is detected.

Next The Next method gets the next specified number of elements
in the enumeration sequence.

Next The Next method gets the next specified number of elements
in the enumeration sequence.

OnDemandGetRoutingHint The OnDemandGetRoutingHint function looks up a


destination in the Route Request cache and, if a match is
found, return the corresponding Interface ID.
T IT L E DESC RIP T IO N

OnDemandRegisterNotification The OnDemandRegisterNotification function allows an


application to register to be notified when the Route Requests
cache is modified.

OnDemandUnRegisterNotification The OnDemandUnregisterNotification function allows an


application to unregister for notifications and clean up
resources.

Reset The Reset method resets the enumeration sequence to the


beginning.

Reset The Reset method resets the enumeration sequence to the


beginning.

SetCategory The SetCategory method sets the category of a network.


Changes made take effect immediately. Callers of this API
must be members of the Administrators group.

SetDescription The SetDescription method sets or replaces the description for


a network.

SetDestinationAddresses SetDestinationAddresses method registers specified


destination IPv4/IPv6 addresses to receive cost or data plan
status change notifications.

SetName The SetName method sets or renames a network.

SetSimulatedProfileInfo The SetSimulatedProfileInfo method applies a specific set of


connection profile values to the internet connection profile in
support of the simulation of specific metered internet
connection conditions.

Skip The Skip method skips over the next specified number of
elements in the enumeration sequence.

Skip The Skip method skips over the next specified number of
elements in the enumeration sequence.

Interfaces
T IT L E DESC RIP T IO N

IEnumNetworkConnections The IEnumNetworkConnections interface provides a standard


enumerator for network connections. It enumerates active,
disconnected, or all network connections within a network.
This interface can be obtained from the INetwork interface.

IEnumNetworks The IEnumNetworks interface is a standard enumerator for


networks. It enumerates all networks available on the local
machine. This interface can be obtained from the
INetworkListManager interface.
T IT L E DESC RIP T IO N

INetwork The INetwork interface represents a network on the local


machine. It can also represent a collection of network
connections with a similar network signature.

INetworkConnection The INetworkConnection interface represents a single network


connection.

INetworkConnectionCost To query current network cost and data plan status associated
with a connection.

INetworkConnectionCostEvents This interface to notify an application of cost and data plan


status change events for a connection.

INetworkConnectionEvents The INetworkConnectionEvents interface is a message sink


interface that a client implements to get network connection-
related events. Applications that are interested in lower-level
events (such as authentication changes) must implement this
interface.

INetworkCostManager Use this interface to query for machine-wide cost and data
plan status information associated with either a connection
used for machine-wide Internet connectivity, or the first-hop
of routing to a specific destination on a connection.

INetworkCostManagerEvents This interface to notify an application of machine-wide cost


and data plan related events.

INetworkEvents INetworkEvents is a notification sink interface that a client


implements to get network related events. These APIs are all
callback functions that are called automatically when the
respective events are raised.

INetworkListManager The INetworkListManager interface provides a set of methods


to perform network list management functions.

INetworkListManagerEvents INetworkListManagerEvents is a message sink interface that a


client implements to get overall machine state related events.
Applications that are interested on higher-level events, for
example internet connectivity, implement this interface.

Structures
T IT L E DESC RIP T IO N

NET_INTERFACE_CONTEXT The interface context that is part of the


NET_INTERFACE_CONTEXT_TABLE structure.

NET_INTERFACE_CONTEXT_TABLE The table of NET_INTERFACE_CONTEXT structures.

NLM_DATAPLAN_STATUS NLM_DATAPLAN_STATUS structure stores the current data


plan status information supplied by the carrier.
T IT L E DESC RIP T IO N

NLM_SIMULATED_PROFILE_INFO Used to specify values that are used by


SetSimulatedProfileInfo to override current internet
connection profile values in an RDP Child Session to support
the simulation of specific metered internet connection
conditions.

NLM_SOCKADDR NLM_SOCKADDR structure contains the IPv4/IPv6 destination


address.

NLM_USAGE_DATA NLM_USAGE_DATA structure stores information that indicates


the data usage of a plan.
Network Management
2/7/2020 • 26 minutes to read • Edit Online

Overview of the Network Management technology.


To develop Network Management, you need these headers:
atacct.h
lmalert.h
lmapibuf.h
lmat.h
lmaudit.h
lmconfig.h
lmerrlog.h
lmjoin.h
lmmsg.h
lmremutl.h
lmserver.h
lmsvc.h
lmuse.h
lmwksta.h
For programming guidance for this technology, see:
Network Management

Enumerations
T IT L E DESC RIP T IO N

DSREG_JOIN_TYPE Specifies the possible ways that a device can be joined to


Microsoft Azure Active Directory.

Functions
T IT L E DESC RIP T IO N

ALERT_OTHER_INFO The ALERT_OTHER_INFO macro returns a pointer to the alert-


specific data in an alert message. The data follows a
STD_ALERT structure, and can be an ADMIN_OTHER_INFO, a
PRINT_OTHER_INFO, or a USER_OTHER_INFO structure.

ALERT_VAR_DATA The ALERT_VAR_DATA macro returns a pointer to the variable-


length portion of an alert message. Variable-length data can
follow an ADMIN_OTHER_INFO, a PRINT_OTHER_INFO, or a
USER_OTHER_INFO structure.

GetNetScheduleAccountInformation The GetNetScheduleAccountInformation function retrieves the


AT Service account name.
T IT L E DESC RIP T IO N

NetAccessAdd Not supported.

NetAccessDel Not supported.

NetAccessEnum Not supported.

NetAccessGetInfo Not supported.

NetAccessGetUserPerms Not supported.

NetAccessSetInfo Not supported.

NetAddAlternateComputerName Adds an alternate name for the specified computer.

NetAlertRaise The NetAlertRaise function notifies all registered clients when a


particular event occurs.

NetAlertRaiseEx The NetAlertRaiseEx function notifies all registered clients


when a particular event occurs. You can call this extended
function to simplify the sending of an alert message because
NetAlertRaiseEx does not require that you specify a
STD_ALERT structure.

NetApiBufferAllocate The NetApiBufferAllocate function allocates memory from the


heap. Use this function only when compatibility with the
NetApiBufferFree function is required. Otherwise, use the
memory management functions.

NetApiBufferFree The NetApiBufferFree function frees the memory that the


NetApiBufferAllocate function allocates. Applications should
also call NetApiBufferFree to free the memory that other
network management functions use internally to return
information.

NetApiBufferReallocate The NetApiBufferReallocate function changes the size of a


buffer allocated by a previous call to the NetApiBufferAllocate
function.

NetApiBufferSize The NetApiBufferSize function returns the size, in bytes, of a


buffer allocated by a call to the NetApiBufferAllocate function.

NetAuditClear The NetAuditClear function is obsolete. It is included for


compatibility with 16-bit versions of Windows. Other
applications should use event logging.

NetAuditRead The NetAuditRead function is obsolete. It is included for


compatibility with 16-bit versions of Windows. Other
applications should use event logging.

NetAuditWrite The NetAuditWrite function is obsolete. It is included for


compatibility with 16-bit versions of Windows. Other
applications should use event logging.
T IT L E DESC RIP T IO N

NetConfigGet The NetConfigGet function is obsolete. It is included for


compatibility with 16-bit versions of Windows. Other
applications should use the registry.

NetConfigGetAll The NetConfigGetAll function is obsolete. It is included for


compatibility with 16-bit versions of Windows. Other
applications should use the registry.

NetConfigSet The NetConfigSet function is obsolete. It is included for


compatibility with 16-bit versions of Windows. Other
applications should use the registry.

NetCreateProvisioningPackage Creates a provisioning package that provisions a computer


account for later use in an offline domain join operation. The
package may also contain information about certificates and
policies to add to the machine during provisioning.

NetEnumerateComputerNames Enumerates names for the specified computer.

NetErrorLogClear The NetErrorLogClear function is obsolete. It is included for


compatibility with 16-bit versions of Windows. Other
applications should use event logging.

NetErrorLogRead The NetErrorLogRead function is obsolete. It is included for


compatibility with 16-bit versions of Windows. Other
applications should use event logging.

NetErrorLogWrite The NetErrorLogWrite function is obsolete. It is included for


compatibility with 16-bit versions of Windows. Other
applications should use event logging.

NetFreeAadJoinInformation Frees the memory allocated for the specified


DSREG_JOIN_INFO structure, which contains join information
for a tenant and which you retrieved by calling the
NetGetAadJoinInformation function.

NetGetAadJoinInformation Retrieves the join information for the specified tenant. This
function examines the join information for Microsoft Azure
Active Directory and the work account that the current user
added.

NetGetAnyDCName The NetGetAnyDCName function returns the name of any


domain controller (DC) for a domain that is directly trusted by
the specified server.

NetGetDCName The NetGetDCName function returns the name of the primary


domain controller (PDC). It does not return the name of the
backup domain controller (BDC) for the specified domain. Also,
you cannot remote this function to a non-PDC server.

NetGetDisplayInformationIndex The NetGetDisplayInformationIndex function returns the index


of the first display information entry whose name begins with
a specified string or whose name alphabetically follows the
string.
T IT L E DESC RIP T IO N

NetGetJoinableOUs The NetGetJoinableOUs function retrieves a list of


organizational units (OUs) in which a computer account can be
created.

NetGetJoinInformation The NetGetJoinInformation function retrieves join status


information for the specified computer.

NetGroupAdd The NetGroupAdd function creates a global group in the


security database, which is the security accounts manager
(SAM) database or, in the case of domain controllers, the
Active Directory.

NetGroupAddUser The NetGroupAddUser function gives an existing user account


membership in an existing global group in the security
database, which is the security accounts manager (SAM)
database or, in the case of domain controllers, the Active
Directory.

NetGroupDel The NetGroupDel function deletes a global group from the


security database, which is the security accounts manager
(SAM) database or, in the case of domain controllers, the
Active Directory.

NetGroupDelUser The NetGroupDelUser function removes a user from a


particular global group in the security database, which is the
security accounts manager (SAM) database or, in the case of
domain controllers, the Active Directory.

NetGroupEnum The NetGroupEnum function retrieves information about each


global group in the security database, which is the security
accounts manager (SAM) database or, in the case of domain
controllers, the Active Directory.

NetGroupGetInfo The NetGroupGetInfo function retrieves information about a


particular global group in the security database, which is the
security accounts manager (SAM) database or, in the case of
domain controllers, the Active Directory.

NetGroupGetUsers The NetGroupGetUsers function retrieves a list of the


members in a particular global group in the security database,
which is the security accounts manager (SAM) database or, in
the case of domain controllers, the Active Directory.

NetGroupSetInfo The NetGroupSetInfo function sets the parameters of a global


group in the security database, which is the security accounts
manager (SAM) database or, in the case of domain controllers,
the Active Directory.

NetGroupSetUsers The NetGroupSetUsers function sets the membership for the


specified global group.

NetJoinDomain The NetJoinDomain function joins a computer to a workgroup


or domain.
T IT L E DESC RIP T IO N

NetLocalGroupAdd The NetLocalGroupAdd function creates a local group in the


security database, which is the security accounts manager
(SAM) database or, in the case of domain controllers, the
Active Directory.

NetLocalGroupAddMember The NetLocalGroupAddMember function is obsolete. You


should use the NetLocalGroupAddMembers function instead.

NetLocalGroupAddMembers The NetLocalGroupAddMembers function adds membership


of one or more existing user accounts or global group
accounts to an existing local group.

NetLocalGroupDel The NetLocalGroupDel function deletes a local group account


and all its members from the security database, which is the
security accounts manager (SAM) database or, in the case of
domain controllers, the Active Directory.

NetLocalGroupDelMember The NetLocalGroupDelMember function is obsolete. You


should use the NetLocalGroupDelMembers function instead.

NetLocalGroupDelMembers The NetLocalGroupDelMembers function removes one or


more members from an existing local group. Local group
members can be users or global groups.

NetLocalGroupEnum The NetLocalGroupEnum function returns information about


each local group account on the specified server.

NetLocalGroupGetInfo The NetLocalGroupGetInfo function retrieves information


about a particular local group account on a server.

NetLocalGroupGetMembers The NetLocalGroupGetMembers function retrieves a list of the


members of a particular local group in the security database,
which is the security accounts manager (SAM) database or, in
the case of domain controllers, the Active Directory.

NetLocalGroupSetInfo The NetLocalGroupSetInfo function changes the name of an


existing local group. The function also associates a comment
with a local group.

NetLocalGroupSetMembers The NetLocalGroupSetMembers function sets the membership


for the specified local group.

NetMessageBufferSend The NetMessageBufferSend function sends a buffer of


information to a registered message alias.

NetMessageNameAdd The NetMessageNameAdd function registers a message alias


in the message name table. The function requires that the
messenger service be started.

NetMessageNameDel The NetMessageNameDel function deletes a message alias in


the message name table. The function requires that the
messenger service be started.
T IT L E DESC RIP T IO N

NetMessageNameEnum The NetMessageNameEnum function lists the message aliases


that receive messages on a specified computer. The function
requires that the messenger service be started.

NetMessageNameGetInfo The NetMessageNameGetInfo function retrieves information


about a particular message alias in the message name table.
The function requires that the messenger service be started.

NetProvisionComputerAccount Provisions a computer account for later use in an offline


domain join operation.

NetQueryDisplayInformation The NetQueryDisplayInformation function returns user


account, computer, or group account information. Call this
function to quickly enumerate account information for display
in user interfaces.

NetRemoteComputerSupports The NetRemoteComputerSupports function queries the


redirector to retrieve the optional features the remote system
supports.

NetRemoteTOD The NetRemoteTOD function returns the time of day


information from a specified server.

NetRemoveAlternateComputerName Removes an alternate name for the specified computer.

NetRenameMachineInDomain The NetRenameMachineInDomain function changes the name


of a computer in a domain.

NetRequestOfflineDomainJoin Executes locally on a machine to modify a Windows operating


system image mounted on a volume.

NetRequestProvisioningPackageInstall Executes locally on a machine to modify a Windows operating


system image mounted on a volume.

NetScheduleJobAdd The NetScheduleJobAdd function submits a job to run at a


specified future time and date. This function requires that the
schedule service be started on the computer to which the job
is submitted.

NetScheduleJobDel The NetScheduleJobDel function deletes a range of jobs


queued to run at a computer. This function requires that the
schedule service be started at the computer to which the job
deletion request is being sent.

NetScheduleJobEnum The NetScheduleJobEnum function lists the jobs queued on a


specified computer. This function requires that the schedule
service be started.

NetScheduleJobGetInfo The NetScheduleJobGetInfo function retrieves information


about a particular job queued on a specified computer. This
function requires that the schedule service be started.

NetServerComputerNameAdd The NetServerComputerNameAdd function enumerates the


transports on which the specified server is active, and binds
the emulated server name to each of the transports.
T IT L E DESC RIP T IO N

NetServerComputerNameDel The NetServerComputerNameDel function causes the specified


server to cease supporting the emulated server name set by a
previous call to the NetServerComputerNameAdd function.
The function does this by unbinding network transports from
the emulated name.

NetServerDiskEnum The NetServerDiskEnum function retrieves a list of disk drives


on a server. The function returns an array of three-character
strings (a drive letter, a colon, and a terminating null
character).

NetServerEnum The NetServerEnum function lists all servers of the specified


type that are visible in a domain.

NetServerGetInfo The NetServerGetInfo function retrieves current configuration


information for the specified server.

NetServerSetInfo The NetServerSetInfo function sets a server's operating


parameters; it can set them individually or collectively. The
information is stored in a way that allows it to remain in effect
after the system has been reinitialized.

NetServerTransportAdd The NetServerTransportAdd function binds the server to the


transport protocol.

NetServerTransportAddEx The NetServerTransportAddEx function binds the specified


server to the transport protocol.

NetServerTransportDel The NetServerTransportDel function unbinds (or disconnects)


the transport protocol from the server. Effectively, the server
can no longer communicate with clients using the specified
transport protocol (such as TCP or XNS).

NetServerTransportEnum The NetServerTransportEnum function supplies information


about transport protocols that are managed by the server.

NetServiceControl The NetServiceControl function is obsolete. It is included for


compatibility with 16-bit versions of Windows. Other
applications should use the service functions.

NetServiceEnum The NetServiceEnum function is obsolete. It is included for


compatibility with 16-bit versions of Windows. Other
applications should use the service functions.

NetServiceGetInfo The NetServiceGetInfo function is obsolete. It is included for


compatibility with 16-bit versions of Windows. Other
applications should use the service functions.

NetServiceInstall The NetServiceInstall function is obsolete. It is included for


compatibility with 16-bit versions of Windows. Other
applications should use the service functions.

NetSetPrimaryComputerName Sets the primary computer name for the specified computer.
T IT L E DESC RIP T IO N

NetUnjoinDomain The NetUnjoinDomain function unjoins a computer from a


workgroup or a domain.

NetUseAdd The NetUseAdd function establishes a connection between the


local computer and a remote server.

NetUseDel The NetUseDel function ends a connection to a shared


resource.

NetUseEnum The NetUseEnum function lists all current connections


between the local computer and resources on remote servers.

NetUseGetInfo The NetUseGetInfo function retrieves information about a


connection to a shared resource.

NetUserAdd The NetUserAdd function adds a user account and assigns a


password and privilege level.

NetUserChangePassword The NetUserChangePassword function changes a user's


password for a specified network server or domain.

NetUserDel The NetUserDel function deletes a user account from a server.

NetUserEnum The NetUserEnum function retrieves information about all user


accounts on a server.

NetUserGetGroups The NetUserGetGroups function retrieves a list of global


groups to which a specified user belongs.

NetUserGetInfo The NetUserGetInfo function retrieves information about a


particular user account on a server.

NetUserGetLocalGroups The NetUserGetLocalGroups function retrieves a list of local


groups to which a specified user belongs.

NetUserModalsGet The NetUserModalsGet function retrieves global information


for all users and global groups in the security database, which
is the security accounts manager (SAM) database or, in the
case of domain controllers, the Active Directory.

NetUserModalsSet The NetUserModalsSet function sets global information for all


users and global groups in the security database, which is the
security accounts manager (SAM) database or, in the case of
domain controllers, the Active Directory.

NetUserSetGroups The NetUserSetGroups function sets global group


memberships for a specified user account.

NetUserSetInfo The NetUserSetInfo function sets the parameters of a user


account.

NetValidateName The NetValidateName function verifies that a name is valid for


name type specified(computer name, workgroup name,
domain name, or DNS computer name).
T IT L E DESC RIP T IO N

NetValidatePasswordPolicy The NetValidatePasswordPolicy function allows an application


to check password compliance against an application-provided
account database and verify that passwords meet the
complexity, aging, minimum length, and history reuse
requirements of a password policy.

NetValidatePasswordPolicyFree The NetValidatePasswordPolicyFree function frees the memory


that the NetValidatePasswordPolicy function allocates for the
OutputArg parameter, which is a
NET_VALIDATE_OUTPUT_ARG structure.

NetWkstaGetInfo The NetWkstaGetInfo function returns information about the


configuration of a workstation.

NetWkstaSetInfo The NetWkstaSetInfo function configures a workstation with


information that remains in effect after the system has been
reinitialized.

NetWkstaTransportAdd Not supported.

NetWkstaTransportDel Not supported.

NetWkstaTransportEnum The NetWkstaTransportEnum function supplies information


about transport protocols that are managed by the redirector,
which is the software on the client computer that generates
file requests to the server computer.

NetWkstaUserEnum The NetWkstaUserEnum function lists information about all


users currently logged on to the workstation. This list includes
interactive, service and batch logons.

NetWkstaUserGetInfo The NetWkstaUserGetInfo function returns information about


the currently logged-on user. This function must be called in
the context of the logged-on user.

NetWkstaUserSetInfo The NetWkstaUserSetInfo function sets the user-specific


information about the configuration elements for a
workstation.

SetNetScheduleAccountInformation The SetNetScheduleAccountInformation function sets the AT


Service account name and password. The AT Service account
name and password are used as the credentials for scheduled
jobs created with NetScheduleJobAdd.

Structures
T IT L E DESC RIP T IO N

ADMIN_OTHER_INFO The ADMIN_OTHER_INFO structure contains error message


information. The NetAlertRaise and NetAlertRaiseEx functions
use the ADMIN_OTHER_INFO structure to specify information
when raising an administrator's interrupting message.
T IT L E DESC RIP T IO N

AT_ENUM The AT_ENUM structure contains information about a


submitted job. The NetScheduleJobEnum function uses this
structure to enumerate and return information about an
entire queue of submitted jobs.

AT_INFO The AT_INFO structure contains information about a job.

DSREG_JOIN_INFO Contains information about how a device is joined to


Microsoft Azure Active Directory.

DSREG_USER_INFO Contains information about a user account that is used to join


a device to Microsoft Azure Active Directory.

ERRLOG_OTHER_INFO The ERRLOG_OTHER_INFO structure contains error log


information. The NetAlertRaise and NetAlertRaiseEx functions
use the ERRLOG_OTHER_INFO structure to specify information
when adding a new entry to the error log.

GROUP_INFO_0 The GROUP_INFO_0 structure contains the name of a global


group in the security database, which is the security accounts
manager (SAM) database or, in the case of domain controllers,
the Active Directory.

GROUP_INFO_1 The GROUP_INFO_1 structure contains a global group name


and a comment to associate with the group.

GROUP_INFO_1002 The GROUP_INFO_1002 structure contains a comment to


associate with a global group.

GROUP_INFO_1005 The GROUP_INFO_1005 structure contains the resource


attributes associated with a global group.

GROUP_INFO_2 The GROUP_INFO_2 structure contains information about a


global group, including name, identifier, and resource
attributes.

GROUP_INFO_3 The GROUP_INFO_3 structure contains information about a


global group, including name, security identifier (SID), and
resource attributes.

GROUP_USERS_INFO_0 The GROUP_USERS_INFO_0 structure contains global group


member information.

GROUP_USERS_INFO_1 The GROUP_USERS_INFO_1 structure contains global group


member information.

LOCALGROUP_INFO_0 The LOCALGROUP_INFO_0 structure contains a local group


name.

LOCALGROUP_INFO_1 The LOCALGROUP_INFO_1 structure contains a local group


name and a comment describing the local group.

LOCALGROUP_INFO_1002 The LOCALGROUP_INFO_1002 structure contains a comment


describing a local group.
T IT L E DESC RIP T IO N

LOCALGROUP_MEMBERS_INFO_0 The LOCALGROUP_MEMBERS_INFO_0 structure contains the


security identifier (SID) associated with a local group member.
The member can be a user account or a global group account.

LOCALGROUP_MEMBERS_INFO_1 The LOCALGROUP_MEMBERS_INFO_1 structure contains the


security identifier (SID) and account information associated
with the member of a local group.

LOCALGROUP_MEMBERS_INFO_2 The LOCALGROUP_MEMBERS_INFO_2 structure contains the


security identifier (SID) and account information associated
with a local group member.

LOCALGROUP_MEMBERS_INFO_3 The LOCALGROUP_MEMBERS_INFO_3 structure contains the


account name and domain name associated with a local group
member.

LOCALGROUP_USERS_INFO_0 The LOCALGROUP_USERS_INFO_0 structure contains local


group member information.

MSG_INFO_0 The MSG_INFO_0 structure specifies a message alias.

MSG_INFO_1 The MSG_INFO_1 structure specifies a message alias. This


structure exists only for compatibility. Message forwarding is
not supported.

NET_DISPLAY_GROUP The NET_DISPLAY_GROUP structure contains information that


an account manager can access to determine information
about group accounts.

NET_DISPLAY_MACHINE The NET_DISPLAY_MACHINE structure contains information


that an account manager can access to determine information
about computers and their attributes.

NET_DISPLAY_USER The NET_DISPLAY_USER structure contains information that


an account manager can access to determine information
about user accounts.

NET_VALIDATE_AUTHENTICATION_INPUT_ARG A client application passes the


NET_VALIDATE_AUTHENTICATION_INPUT_ARG structure to
the NetValidatePasswordPolicy function when the application
requests an authentication validation.

NET_VALIDATE_OUTPUT_ARG The NET_VALIDATE_OUTPUT_ARG structure contains


information about persistent password-related data that has
changed since the user's last logon as well as the result of the
function's password validation check.

NET_VALIDATE_PASSWORD_CHANGE_INPUT_ARG A client application passes the


NET_VALIDATE_PASSWORD_CHANGE_INPUT_ARG structure to
the NetValidatePasswordPolicy function when the application
requests a password change validation.

NET_VALIDATE_PASSWORD_HASH The NET_VALIDATE_PASSWORD_HASH structure contains a


password hash.
T IT L E DESC RIP T IO N

NET_VALIDATE_PASSWORD_RESET_INPUT_ARG A client application passes the


NET_VALIDATE_PASSWORD_RESET_INPUT_ARG structure to
the NetValidatePasswordPolicy function when the application
requests a password reset validation.

NET_VALIDATE_PERSISTED_FIELDS The NET_VALIDATE_PERSISTED_FIELDS structure contains


information about a user's password properties.

NETSETUP_PROVISIONING_PARAMS The NETSETUP_PROVISIONING_PARAMS structure contains


information that is used when creating a provisioning package
using the NetCreateProvisionPackage function.

PRINT_OTHER_INFO Contains information about a print job.

SERVER_INFO_100 The SERVER_INFO_100 structure contains information about


the specified server, including the name and platform.

SERVER_INFO_1005 The SERVER_INFO_1005 structure contains a comment that


describes the specified server.

SERVER_INFO_101 The SERVER_INFO_101 structure contains information about


the specified server, including name, platform, type of server,
and associated software.

SERVER_INFO_1010 The SERVER_INFO_1010 structure contains the auto-


disconnect time associated with the specified server.

SERVER_INFO_1016 The SERVER_INFO_1016 structure contains information about


whether the server is visible to other computers in the same
network domain.

SERVER_INFO_1017 The SERVER_INFO_1017 structure contains the network


announce rate associated with the specified server.

SERVER_INFO_1018 The SERVER_INFO_1018 structure contains information about


how much the announce rate can vary for the specified server.

SERVER_INFO_102 Contains information about the specified server, including


name, platform, type of server, attributes, and associated
software.

SERVER_INFO_1107 The SERVER_INFO_1107 structure specifies the number of


users that can simultaneously log on to the specified server.

SERVER_INFO_1501 The SERVER_INFO_1501 structure specifies the number of files


that can be open in one session on the specified server.

SERVER_INFO_1502 The SERVER_INFO_1502 structure specifies the maximum


number of virtual circuits per client for the specified server.

SERVER_INFO_1503 The SERVER_INFO_1503 structure specifies the number of


search operations that can be carried out simultaneously.
T IT L E DESC RIP T IO N

SERVER_INFO_1506 The SERVER_INFO_1506 structure contains information about


the maximum number of work items the specified server can
allocate.

SERVER_INFO_1509 The SERVER_INFO_1509 structure specifies the maximum raw


mode buffer size.

SERVER_INFO_1510 The SERVER_INFO_1510 structure specifies the maximum


number of users that can be logged on to the specified server
using a single virtual circuit.

SERVER_INFO_1511 The SERVER_INFO_1511 structure specifies the maximum


number of tree connections that users can make with a single
virtual circuit.

SERVER_INFO_1512 The SERVER_INFO_1512 structure contains the maximum size


of nonpaged memory that the specified server can allocate at
a particular time.

SERVER_INFO_1513 The SERVER_INFO_1513 structure contains the maximum size


of pageable memory that the specified server can allocate at a
particular time.

SERVER_INFO_1515 The SERVER_INFO_1515 structure specifies whether the server


should force a client to disconnect once the client's logon time
has expired.

SERVER_INFO_1516 The SERVER_INFO_1516 structure specifies whether the server


is a reliable time source.

SERVER_INFO_1518 The SERVER_INFO_1518 structure specifies whether the server


is visible to LAN Manager 2.x clients.

SERVER_INFO_1523 The SERVER_INFO_1523 structure specifies the length of time


the server retains information about incomplete search
operations.

SERVER_INFO_1528 The SERVER_INFO_1528 structure specifies the period of time


that the scavenger remains idle before waking up to service
requests.

SERVER_INFO_1529 The SERVER_INFO_1529 structure specifies the minimum


number of free receive work items the server requires before it
begins allocating more items.

SERVER_INFO_1530 The SERVER_INFO_1530 structure specifies the minimum


number of available receive work items the server requires to
begin processing a server message block.

SERVER_INFO_1533 The SERVER_INFO_1533 structure specifies the maximum


number of outstanding requests a client can send to the
server.

SERVER_INFO_1536 The SERVER_INFO_1536 structure specifies whether the server


allows clients to use opportunistic locks (oplocks) on files.
T IT L E DESC RIP T IO N

SERVER_INFO_1538 The SERVER_INFO_1538 structure specifies whether several


MS-DOS File Control Blocks (FCBs) are placed in a single
location.

SERVER_INFO_1539 The SERVER_INFO_1539 structure specifies whether the server


processes raw Server Message Blocks (SMBs).

SERVER_INFO_1540 The SERVER_INFO_1540 structure specifies whether the server


allows redirected server drives to be shared.

SERVER_INFO_1541 The SERVER_INFO_1541 structure specifies the minimum


number of free connection blocks the server sets aside to
handle bursts of requests by clients to connect to the server.

SERVER_INFO_1542 The SERVER_INFO_1542 structure specifies the maximum


number of free connection blocks the server sets aside to
handle bursts of requests by clients to connect to the server.

SERVER_INFO_1544 The SERVER_INFO_1544 structure specifies the initial number


of tree connections to be allocated in the connection table.

SERVER_INFO_1550 The SERVER_INFO_1550 structure specifies the percentage of


free disk space remaining before an alert message is sent.

SERVER_INFO_1552 The SERVER_INFO_1552 structure specifies the maximum time


allowed for a link delay.

SERVER_INFO_402 Contains information about a specified server.

SERVER_INFO_403 The SERVER_INFO_403 structure contains information about a


specified server.

SERVER_INFO_502 The SERVER_INFO_502 structure is obsolete. The structure


contains information about a specified server.

SERVER_INFO_503 The SERVER_INFO_503 structure is obsolete. The structure


contains information about the specified server.

SERVER_TRANSPORT_INFO_0 The SERVER_TRANSPORT_INFO_0 structure contains


information about the specified transport protocol, including
name, address, and location on the network.

SERVER_TRANSPORT_INFO_1 The SERVER_TRANSPORT_INFO_1 structure contains


information about the specified transport protocol, including
name and address. This information level is valid only for the
NetServerTransportAddEx function.

SERVER_TRANSPORT_INFO_2 The SERVER_TRANSPORT_INFO_2 structure contains


information about the specified transport protocol, including
the transport name and address. This information level is valid
only for the NetServerTransportAddEx function.
T IT L E DESC RIP T IO N

SERVER_TRANSPORT_INFO_3 The SERVER_TRANSPORT_INFO_3 structure contains


information about the specified transport protocol, including
name, address and password (credentials). This information
level is valid only for the NetServerTransportAddEx function.

STD_ALERT The STD_ALERT structure contains the time and date when a
significant event occurred.

TIME_OF_DAY_INFO The TIME_OF_DAY_INFO structure contains information about


the time of day from a remote server.

USE_INFO_0 The USE_INFO_0 structure contains the name of a shared


resource and the local device redirected to it.

USE_INFO_1 Contains information about the connection between a local


device and a shared resource.

USE_INFO_2 The USE_INFO_2 structure contains information about a


connection between a local computer and a shared resource,
including connection type, connection status, user name, and
domain name.

USE_INFO_3 The USE_INFO_3 structure contains information about a


connection between a local computer and a shared resource,
including connection type, connection status, user name,
domain name, and specific flags that describe connection
behavior.

USER_INFO_0 The USER_INFO_0 structure contains a user account name.

USER_INFO_1 The USER_INFO_1 structure contains information about a user


account, including account name, password data, privilege
level, and the path to the user's home directory.

USER_INFO_10 The USER_INFO_10 structure contains information about a


user account, including the account name, comments
associated with the account, and the user's full name.

USER_INFO_1003 The USER_INFO_1003 structure contains a user password. This


information level is valid only when you call the
NetUserSetInfo function.

USER_INFO_1005 The USER_INFO_1005 structure contains a privilege level to


assign to a user network account. This information level is
valid only when you call the NetUserSetInfo function.

USER_INFO_1006 The USER_INFO_1006 structure contains the user's home


directory path. This information level is valid only when you
call the NetUserSetInfo function.

USER_INFO_1007 The USER_INFO_1007 structure contains a comment


associated with a user network account. This information level
is valid only when you call the NetUserSetInfo function.
T IT L E DESC RIP T IO N

USER_INFO_1008 The USER_INFO_1008 structure contains a set of bit flags


defining several user network account parameters. This
information level is valid only when you call the
NetUserSetInfo function.

USER_INFO_1009 The USER_INFO_1009 structure contains the path for a user's


logon script file. This information level is valid only when you
call the NetUserSetInfo function.

USER_INFO_1010 The USER_INFO_1010 structure contains a set of bit flags


defining the operator privileges assigned to a user network
account. This information level is valid only when you call the
NetUserSetInfo function.

USER_INFO_1011 The USER_INFO_1011 structure contains the full name of a


network user. This information level is valid only when you call
the NetUserSetInfo function.

USER_INFO_1012 The USER_INFO_1012 structure contains a user comment. This


information level is valid only when you call the
NetUserSetInfo function.

USER_INFO_1013 The USER_INFO_1013 structure contains reserved information


for network accounts. This information level is valid only when
you call the NetUserSetInfo function.

USER_INFO_1014 The USER_INFO_1014 structure contains the names of


workstations from which the user can log on. This information
level is valid only when you call the NetUserSetInfo function.

USER_INFO_1017 The USER_INFO_1017 structure contains expiration


information for network user accounts. This information level
is valid only when you call the NetUserSetInfo function.

USER_INFO_1018 The USER_INFO_1018 structure contains the maximum


amount of disk space available to a network user account. This
information level is valid only when you call the
NetUserSetInfo function.

USER_INFO_1020 The USER_INFO_1020 structure contains the times during


which a user can log on to the network. This information level
is valid only when you call the NetUserSetInfo function.

USER_INFO_1023 The USER_INFO_1023 structure contains the name of the


server to which network logon requests should be sent. This
information level is valid only when you call the
NetUserSetInfo function.

USER_INFO_1024 The USER_INFO_1024 structure contains the country/region


code for a network user's language of choice. This information
level is valid only when you call the NetUserSetInfo function.

USER_INFO_1025 The USER_INFO_1025 structure contains the code page for a


network user's language of choice. This information level is
valid only when you call the NetUserSetInfo function.
T IT L E DESC RIP T IO N

USER_INFO_1051 The USER_INFO_1051 structure contains the relative ID (RID)


associated with the user account. This information level is valid
only when you call the NetUserSetInfo function.

USER_INFO_1052 The USER_INFO_1052 structure contains the path to a


network user's profile. This information level is valid only when
you call the NetUserSetInfo function.

USER_INFO_1053 The USER_INFO_1053 structure contains user information for


network accounts. This information level is valid only when
you call the NetUserSetInfo function.

USER_INFO_11 The USER_INFO_11 structure contains information about a


user account, including the account name, privilege level, the
path to the user's home directory, and other user-related
network statistics.

USER_INFO_2 The USER_INFO_2 structure contains information about a user


account, including the account name, password data, privilege
level, the path to the user's home directory, and other user-
related network statistics.

USER_INFO_20 Contains information about a user account, including the


account name, the user's full name, a comment associated
with the account, and the user's relative ID (RID).

USER_INFO_21 The USER_INFO_21 structure contains a one-way encrypted


LAN Manager 2.x-compatible password.

USER_INFO_22 The USER_INFO_22 structure contains information about a


user account, including the account name, privilege level, the
path to the user's home directory, a one-way encrypted LAN
Manager 2.x-compatible password, and other user-related
network statistics.

USER_INFO_23 Contains information about a user account, including the


account name, the user's full name, a comment associated
with the account, and the user's security identifier (SID).

USER_INFO_24 Contains user account information on an account which is


connected to an Internet identity. This information includes
the Internet provider name for the user, the user's Internet
name, and the user's security identifier (SID).

USER_INFO_3 The USER_INFO_3 structure contains information about a user


account, including the account name, password data, privilege
level, the path to the user's home directory, relative identifiers
(RIDs), and other user-related network statistics.

USER_INFO_4 The USER_INFO_4 structure contains information about a user


account, including the account name, password data, privilege
level, the path to the user's home directory, security identifier
(SID), and other user-related network statistics.
T IT L E DESC RIP T IO N

USER_MODALS_INFO_0 The USER_MODALS_INFO_0 structure contains global


password information for users and global groups in the
security database, which is the security accounts manager
(SAM) database or, in the case of domain controllers, the
Active Directory.

USER_MODALS_INFO_1 The USER_MODALS_INFO_1 structure contains logon server


and domain controller information.

USER_MODALS_INFO_1001 The USER_MODALS_INFO_1001 structure contains the


minimum length for passwords in the security database, which
is the security accounts manager (SAM) database or, in the
case of domain controllers, the Active Directory.

USER_MODALS_INFO_1002 The USER_MODALS_INFO_1002 structure contains the


maximum duration for passwords in the security database,
which is the security accounts manager (SAM) database or, in
the case of domain controllers, the Active Directory.

USER_MODALS_INFO_1003 The USER_MODALS_INFO_1003 structure contains the


minimum duration for passwords in the security database,
which is the security accounts manager (SAM) database or, in
the case of domain controllers, the Active Directory.

USER_MODALS_INFO_1004 The USER_MODALS_INFO_1004 structure contains forced


logoff information for users and global groups in the security
database, which is the security accounts manager (SAM)
database or, in the case of domain controllers, the Active
Directory.

USER_MODALS_INFO_1005 The USER_MODALS_INFO_1005 structure contains password


history information for users and global groups in the security
database, which is the security accounts manager (SAM)
database or, in the case of domain controllers, the Active
Directory.

USER_MODALS_INFO_1006 The USER_MODALS_INFO_1006 structure contains logon


server information.

USER_MODALS_INFO_1007 The USER_MODALS_INFO_1007 structure contains domain


controller information.

USER_MODALS_INFO_2 The USER_MODALS_INFO_2 structure contains the Security


Account Manager (SAM) domain name and identifier.

USER_MODALS_INFO_3 The USER_MODALS_INFO_3 structure contains lockout


information for users and global groups in the security
database, which is the security accounts manager (SAM)
database or, in the case of domain controllers, the Active
Directory.

USER_OTHER_INFO The USER_OTHER_INFO structure contains user error code


information. The NetAlertRaise and NetAlertRaiseEx functions
use the USER_OTHER_INFO structure to specify information
about an event or condition of interest to a user.
T IT L E DESC RIP T IO N

WKSTA_INFO_100 Contains information about a workstation environment,


including platform-specific information, the names of the
domain and the local computer, and information concerning
the operating system.

WKSTA_INFO_101 Contains information about a workstation environment,


including platform-specific information, the name of the
domain and the local computer, and information concerning
the operating system.

WKSTA_INFO_102 Contains information about a workstation environment,


including platform-specific information, the name of the
domain and the local computer, and information concerning
the operating system.

WKSTA_INFO_502 The WKSTA_INFO_502 structure is obsolete. The structure


contains information about a workstation environment.

WKSTA_TRANSPORT_INFO_0 The WKSTA_TRANSPORT_INFO_0 structure contains


information about the workstation transport protocol, such as
Wide Area Network (WAN) or NetBIOS.

WKSTA_USER_INFO_0 The WKSTA_USER_INFO_0 structure contains the name of the


user on a specified workstation.

WKSTA_USER_INFO_1 The WKSTA_USER_INFO_1 structure contains user information


as it pertains to a specific workstation. The information
includes the name of the current user and the domains
accessed by the workstation.

WKSTA_USER_INFO_1101 The WKSTA_USER_INFO_1101 structure contains information


about the domains accessed by a workstation.
Network Policy Server
2/7/2020 • 7 minutes to read • Edit Online

Overview of the Network Policy Server technology.


To develop Network Policy Server, you need these headers:
authif.h
For programming guidance for this technology, see:
Network Policy Server

Enumerations
T IT L E DESC RIP T IO N

ACCOUNTINGPROPERTIES The values of the ACCOUNTINGPROPERTIES type enumerate


properties that control what types of packets are logged and
characteristics of the log file.

ATTRIBUTEFILTER The usage cases for the NPS dictionary attributes.

ATTRIBUTEID The ATTRIBUTEID enumeration type enumerates the RADIUS


attributes supported by the SDO API.

ATTRIBUTEINFO The values of the ATTRIBUTEINFO type enumerate


characteristics of a specified attribute.

ATTRIBUTEPROPERTIES The values of the ATTRIBUTEPROPERTIES type enumerate


properties for a RADIUS dictionary attribute.

ATTRIBUTERESTRICTIONS The values of the ATTRIBUTERESTRICTIONS enumeration type


specify restrictions on how a particular attribute can be used.

ATTRIBUTESYNTAX Each value from the ATTRIBUTESYNTAX enumeration type


specifies a possible attribute syntax.

AUTHENTICATION_TYPE The values of the AUTHENTICATION_TYPE enumerated type


are used to specify the authentication method.

CLIENTPROPERTIES The values of the CLIENTPROPERTIES type enumerate the


properties of a RADIUS client. The SDO computer is the
RADIUS server.

CONDITIONPROPERTIES The values of the CONDITIONPROPERTIES enumeration type


specify the properties of a Network Access Policy (NAP)
condition.

DICTIONARYPROPERTIES The values of the DICTIONARYPROPERTIES properties type


enumerate properties associated with the attribute dictionary.
T IT L E DESC RIP T IO N

IASCOMMONPROPERTIES The values of the IASCOMMONPROPERTIES enumeration type


enumerate properties that are present in all SDO objects.

IASCOMPONENTPROPERTIES The values of the IASCOMPONENTPROPERTIES enumeration


type enumerate identifiers for an SDO object.

IASDATASTORE The values of the IASDATASTORE enumeration indicate the


possible storage locations for SDO data.

IASDOMAINTYPE The values of the IASDOMAINTYPE enumeration type specify


whether the SDO computer is part of a domain, and if so,
what type of domain.

IASOSTYPE The values of the IASOSTYPE enumeration type specify what


type of operating system the client requesting authentication
(SDO computer) is running.

IASPROPERTIES The values of the IASPROPERTIES enumeration type


enumerate properties related to NPS.

IDENTITY_TYPE The different possible values for


MS_ATTRIBUTE_IDENTITY_TYPE.

NAMESPROPERTIES The values of the NAMESPROPERTIES enumeration type


enumerate properties related to the name of the user
requesting network access.

NAPPROPERTIES The values of the NAPPROPERTIES enumeration type specify


properties for Network Access Policies (NAP).

NEW_LOG_FILE_FREQUENCY The values of the NEW_LOG_FILE_FREQUENCY enumeration


type specify how frequently new log files are created.

NTEVENTLOGPROPERTIES The values of the NTEVENTLOGPROPERTIES enumeration type


enumerate what types of events should be logged in the NT
Event Log.

NTSAMPROPERTIES The values of the NTSAMPROPERTIES enumeration type


specify properties related to the NT Security Accounts
Manager (SAM).

POLICYPROPERTIES The values of the POLICYPROPERTIES enumeration type


enumerate properties of a Network Access Policy (NAP).

PROFILEPROPERTIES The PROFILEPROPERTIES enumeration type enumerates


properties associated with a profile.

PROTOCOLPROPERTIES The values of the PROTOCOLPROPERTIES enumeration type


enumerate properties of an authentication protocol.

RADIUS_ACTION The RADIUS_ACTION type enumerates the responses that a


NPS Extension DLL can generate in response to an Access-
Request.
T IT L E DESC RIP T IO N

RADIUS_ATTRIBUTE_TYPE The RADIUS_ATTRIBUTE_TYPE type enumerates the possible


types for a RADIUS attribute.

RADIUS_AUTHENTICATION_PROVIDER The RADIUS_AUTHENTICATION_PROVIDER type enumerates


the possible authentication providers that NPS can use.

RADIUS_CODE The RADIUS_CODE enumeration type enumerates the possible


RADIUS packet codes.

RADIUS_DATA_TYPE The RADIUS_DATA_TYPE type enumerates the possible data


type for a RADIUS attribute or extended attribute.

RADIUS_EXTENSION_POINT The RADIUS_EXTENSION_POINT enumeration type


enumerates the possible points in the RADIUS request process
when the RadiusExtensionProcess2 function can be called.

RADIUS_REJECT_REASON_CODE The RADIUS_REJECT_REASON_CODE enumeration defines the


possible RADIUS packet reject codes.

RADIUSPROPERTIES The values of the RADIUSPROPERTIES enumeration type


enumerate properties of the Microsoft RADIUS protocol SDO.

RADIUSPROXYPROPERTIES The values in the RADIUSPROXYPROPERTIES enumeration


type enumerate properties related to the RADIUS proxy
service.

RADIUSSERVERGROUPPROPERTIES The values in the RADIUSSERVERGROUPPROPERTIES


enumeration type enumerate properties of a RADIUS server
group.

RADIUSSERVERPROPERTIES The values of the RADIUSSERVERPROPERTIES enumeration


type enumerate the properties of the RADIUS server, that is
the SDO computer.

REMEDIATIONSERVERGROUPPROPERTIES The values of the REMEDIATIONSERVERGROUPPROPERTIES


enumeration type enumerate the properties of a remediation
server group.

REMEDIATIONSERVERPROPERTIES The values of the REMEDIATIONSERVERPROPERTIES


enumeration type enumerate the properties of a remediation
server.

REMEDIATIONSERVERSPROPERTIES The values of the REMEDIATIONSERVERSPROPERTIES


enumeration type enumerate the properties of a set of
remediation server groups.

SERVICE_TYPE The values of the SERVICE_TYPE enumeration type specify the


type of service administered from the SDO API.

SHV_COMBINATION_TYPE The SHV_COMBINATION_TYPE enumeration type specifies the


type of a System Health Validator (SHV) combination.

SHVTEMPLATEPROPERTIES The values of the SHVTEMPLATEPROPERTIES enumeration


type enumerate the properties of a System Health Validator
(SHV) template.
T IT L E DESC RIP T IO N

USERPROPERTIES The values of the USERPROPERTIES enumeration type


enumerate the user properties supported by the SDO API.

VENDORPROPERTIES The values of the VENDORPROPERTIES enumeration type


specify properties of objects in the vendors collection.

Functions
T IT L E DESC RIP T IO N

Add The Add method adds an item to the Server Data Objects
(SDO) collection.

Apply The Apply method writes to persistent storage the changes


made by calls to the ISdo::PutProperty method.

Attach The Attach method attaches to an SDO computer. Attaching


to an SDO computer is the first step is using the SDO API to
administer that computer.

CreateAttribute The CreateAttribute method creates a new attribute object


and returns an IDispatch interface to it.

EnumAttributes The EnumAttributes method retrieves the values of the


specified attributes.

EnumAttributeValues The EnumAttributeValues method retrieves the values for an


enumerable attribute.

get__NewEnum The get__NewEnum method retrieves an IEnumVARIANT


interface for the Server Data Objects (SDO) properties.

get__NewEnum The get__NewEnum method retrieves an IEnumVARIANT


interface for a Server Data Objects (SDO) collection.

get_Count The get_Count method returns the number of items in the


collection.

GetAttachedComputer The GetAttachedComputer method retrieves the name of the


computer that is currently attached as an SDO computer.

GetAttributeID The GetAttributeID method retrieves the ID for the specified


attribute.

GetAttributeInfo The GetAttributeInfo retrieves information for the specified


attribute.

GetDictionarySDO The GetDictionarySDO method retrieves an interface for an


attribute-dictionary SDO.
T IT L E DESC RIP T IO N

GetDomainType The GetDomainType retrieves the type of domain in which the


SDO computer resides.

GetOSType The GetOSType method retrieves the type of operating system


running on the SDO computer.

GetProperty The GetProperty method retrieves the value of the specified


property.

GetPropertyInfo The GetPropertyInfo method retrieves a pointer to an


ISdoPropertyInfo interface for the specified property.

GetServiceSDO The GetServiceSDO method retrieves a Server Data Object


(SDO) for the specified service.

GetServiceStatus The GetServiceStatus method retrieves the status of the


service being administered through SDO.

GetUserSDO The GetUserSDO method retrieves an interface to the Server


Data Object (SDO) for the specified user.

IsDirectoryAvailable The IsDirectoryAvailable method tests whether an Active


Directory service is available on the SDO computer.

IsNameUnique The IsNameUnique method tests whether the specified name


is unique in the collection.

Item The Item method retrieves the specified item from the
collection.

PRADIUS_EXTENSION_FREE_ATTRIBUTES The RadiusExtensionFreeAttributes function is an application-


defined function and is called by NPS to free the memory
occupied by attributes returned by RadiusExtensionProcessEx.

PRADIUS_EXTENSION_INIT The RadiusExtensionInit function is an application-defined


function and is called by NPS while the service is starting up.
Use RadiusExtensionInit to perform any initialization
operations for the Extension DLL.

PRADIUS_EXTENSION_PROCESS The RadiusExtensionProcess function is an application-defined


function and is called by NPS for each authentication or
accounting packet that NPS receives from the network access
server (NAS).

PRADIUS_EXTENSION_PROCESS_2 An application defined-function and is called by NPS for each


authentication or accounting packet that NPS receives.

PRADIUS_EXTENSION_PROCESS_EX The RadiusExtensionProcessEx function is an application-


defined function and is called by NPS for each authentication
or accounting packet that NPS receives from the network
access server (NAS).
T IT L E DESC RIP T IO N

PRADIUS_EXTENSION_TERM The RadiusExtensionTerm function is an application-defined


function and is called by NPS prior to unloading the Extension
DLL. Use RadiusExtensionTerm to perform any clean-up
operations for the Extension DLL.

PutProperty The PutProperty method sets the value of the specified


property.

Reload The Reload method reloads all the objects in the collection
from the underlying datastore.

Remove The Remove method removes the specified item from the
collection.

RemoveAll The RemoveAll method removes all the items from the
collection.

ResetProperty The ResetProperty method resets the specified property to its


default value.

ResetService The ResetService method resets the service administered by


the SDO API. Resetting the service causes the service to
refresh its data.

Restore The Restore method reloads the values of the Server Data
Objects (SDO) properties from persistent storage.

StartService The StartService method starts the service administered


through SDO.

StopService The StopService method shuts down the service administered


through SDO.

Interfaces
T IT L E DESC RIP T IO N

ISdo Use the ISdo interface to store, retrieve, and update Server
Data Objects (SDO) information.

ISdoCollection Use the ISdoCollection interface to manipulate a collection of


SDO objects.

ISdoDictionaryOld Use the ISdoDictionaryOld interface to manipulate the


dictionary of Remote Access Dial-In User Service (RADIUS)
attributes.

ISdoMachine Use the ISdoMachine interface to attach to an SDO computer,


obtain information about the SDO computer, and obtain
interfaces to other SDO objects.

ISdoServiceControl Use the ISdoServiceControl interface to control the service


being administered on the SDO computer.
Structures
T IT L E DESC RIP T IO N

RADIUS_ATTRIBUTE The RADIUS_ATTRIBUTE structure represents a RADIUS


attribute or an extended attribute.

RADIUS_ATTRIBUTE_ARRAY The RADIUS_ATTRIBUTE_ARRAY structure represents an array


of attributes.

RADIUS_EXTENSION_CONTROL_BLOCK The RADIUS_EXTENSION_CONTROL_BLOCK structure provides


information about the current RADIUS request. It also
provides functions for obtaining the attributes associated with
the request, and for setting the disposition of the request.

RADIUS_VSA_FORMAT The RADIUS_VSA_FORMAT structure represents the format of


the string portion of a RADIUS vendor-specific attribute.
Offline Files
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Offline Files technology.


To develop Offline Files, you need these headers:
cscapi.h
cscobj.h
For programming guidance for this technology, see:
Offline Files
OOBE APIs for setup state and notification
2/7/2020 • 2 minutes to read • Edit Online

Overview of the OOBE APIs for setup state and notification technology.
To develop OOBE APIs for setup state and notification, you need these headers:
oobenotification.h
For programming guidance for this technology, see:
OOBE APIs for setup state and notification
OpenGL
2/7/2020 • 2 minutes to read • Edit Online

Overview of the OpenGL technology.


The OpenGL technology is not associated with any headers.
For programming guidance for this technology, see:
OpenGL

Functions
T IT L E DESC RIP T IO N

ChoosePixelFormat The ChoosePixelFormat function attempts to match an


appropriate pixel format supported by a device context to a
given pixel format specification.

DescribePixelFormat The DescribePixelFormat function obtains information about


the pixel format identified by iPixelFormat of the device
associated with hdc. The function sets the members of the
PIXELFORMATDESCRIPTOR structure pointed to by ppfd with
that pixel format data.

GetEnhMetaFilePixelFormat The GetEnhMetaFilePixelFormat function retrieves pixel format


information for an enhanced metafile.

GetPixelFormat The GetPixelFormat function obtains the index of the currently


selected pixel format of the specified device context.

SetPixelFormat The SetPixelFormat function sets the pixel format of the


specified device context to the format specified by the
iPixelFormat index.

SwapBuffers The SwapBuffers function exchanges the front and back


buffers if the current pixel format for the window referenced
by the specified device context includes a back buffer.

wglCopyContext The wglCopyContext function copies selected groups of


rendering states from one OpenGL rendering context to
another.

wglCreateContext The wglCreateContext function creates a new OpenGL


rendering context, which is suitable for drawing on the device
referenced by hdc. The rendering context has the same pixel
format as the device context.

wglCreateLayerContext The wglCreateLayerContext function creates a new OpenGL


rendering context for drawing to a specified layer plane on a
device context.
T IT L E DESC RIP T IO N

wglDeleteContext The wglDeleteContext function deletes a specified OpenGL


rendering context.

wglDescribeLayerPlane The wglDescribeLayerPlane function obtains information about


the layer planes of a given pixel format.

wglGetCurrentContext The wglGetCurrentContext function obtains a handle to the


current OpenGL rendering context of the calling thread.

wglGetCurrentDC The wglGetCurrentDC function obtains a handle to the device


context that is associated with the current OpenGL rendering
context of the calling thread.

wglGetLayerPaletteEntries Retrieves the palette entries from a given color-index layer


plane for a specified device context.

wglGetProcAddress The wglGetProcAddress function returns the address of an


OpenGL extension function for use with the current OpenGL
rendering context.

wglMakeCurrent The wglMakeCurrent function makes a specified OpenGL


rendering context the calling thread's current rendering
context.

wglRealizeLayerPalette The wglRealizeLayerPalette function maps palette entries from


a given color-index layer plane into the physical palette or
initializes the palette of an RGBA layer plane.

wglSetLayerPaletteEntries Sets the palette entries in a given color-index layer plane for a
specified device context.

wglShareLists The wglShareLists function enables multiple OpenGL rendering


contexts to share a single display-list space.

wglSwapLayerBuffers The wglSwapLayerBuffers function swaps the front and back


buffers in the overlay, underlay, and main planes of the
window referenced by a specified device context.

wglUseFontBitmapsA The wglUseFontBitmaps function creates a set of bitmap


display lists for use in the current OpenGL rendering context.

wglUseFontBitmapsW The wglUseFontBitmaps function creates a set of bitmap


display lists for use in the current OpenGL rendering context.

wglUseFontOutlinesA The wglUseFontOutlines function creates a set of display lists,


one for each glyph of the currently selected outline font of a
device context, for use with the current rendering context.

wglUseFontOutlinesW The wglUseFontOutlines function creates a set of display lists,


one for each glyph of the currently selected outline font of a
device context, for use with the current rendering context.

Structures
T IT L E DESC RIP T IO N

GLYPHMETRICSFLOAT The GLYPHMETRICSFLOAT structure contains information


about the placement and orientation of a glyph in a character
cell.

LAYERPLANEDESCRIPTOR The LAYERPLANEDESCRIPTOR structure describes the pixel


format of a drawing surface.

PIXELFORMATDESCRIPTOR The PIXELFORMATDESCRIPTOR structure describes the pixel


format of a drawing surface.

POINTFLOAT The POINTFLOAT structure contains the x and y coordinates of


a point.
Operation Recorder
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Operation Recorder technology.


The Operation Recorder technology is not associated with any headers.
For programming guidance for this technology, see:
Operation Recorder

Functions
T IT L E DESC RIP T IO N

OperationEnd Notifies the system that the application is about to end an


operation.

OperationStart Notifies the system that the application is about to start an


operation.

Structures
T IT L E DESC RIP T IO N

OPERATION_END_PARAMETERS This structure is used by the OperationEnd function.

OPERATION_START_PARAMETERS This structure is used by the OperationStart function.


Other Devices Technologies
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Other Devices Technologies technology.


To develop Other Devices Technologies, you need these headers:
functiondiscoveryapi.h
functiondiscoveryconstraints.h
functiondiscoveryprovider.h
pnpxassoc.h
wsdattachment.h
wsdbase.h
wsdclient.h
wsddisco.h
wsdhost.h
wsdtypes.h
wsdutil.h
wsdxml.h
wsdxmldom.h
For programming guidance for this technology, see:
Function Discovery
Web Services on Devices
Packaging, deployment, and query of Windows Store
apps
2/7/2020 • 18 minutes to read • Edit Online

Overview of the Packaging, deployment, and query of Windows Store apps technology.
To develop Packaging, deployment, and query of Windows Store apps, you need these headers:
appmodel.h
appxpackaging.h
For programming guidance for this technology, see:
Packaging, deployment, and query of Windows Store apps

Enumerations
T IT L E DESC RIP T IO N

AppPolicyClrCompat The AppPolicyClrCompat enumeration indicates the


application type of a process so that you can determine
whether to enable private reflection and/or make managed
objects agile.

AppPolicyCreateFileAccess The AppPolicyCreateFileAccess enumeration indicates whether


a process has full or restricted access to the IO devices (file, file
stream, directory, physical disk, volume, console buffer, tape
drive, communications resource, mailslot, and pipe).

AppPolicyLifecycleManagement The AppPolicyLifecycleManagement enumeration indicates


whether a process is lifecycle-managed or not.

AppPolicyMediaFoundationCodecLoading The AppPolicyMediaFoundationCodecLoading enumeration


indicates whether a process’s policy allows it to load non-
Windows (third-party) plugins.

AppPolicyProcessTerminationMethod The AppPolicyProcessTerminationMethod enumeration


indicates the method used to end a process.

AppPolicyShowDeveloperDiagnostic The AppPolicyShowDeveloperDiagnostic enumeration


indicates the method used for a process to surface developer
information, such as asserts, to the user.

AppPolicyThreadInitializationType The AppPolicyThreadInitializationType enumeration indicates


the kind of initialization that should be automatically
performed for a process when beginthread[ex] creates a
thread.

AppPolicyWindowingModel The AppPolicyWindowingModel enumeration indicates


whether a process uses a CoreWindow-based, or a HWND-
based, windowing model.
T IT L E DESC RIP T IO N

APPX_BUNDLE_FOOTPRINT_FILE_TYPE Specifies the type of footprint file in a bundle.

APPX_BUNDLE_PAYLOAD_PACKAGE_TYPE Specifies the type of package for a


IAppxBundleManifestPackageInfo object.

APPX_CAPABILITIES Specifies the capabilities or privileges requested by a package.

APPX_COMPRESSION_OPTION Specifies the degree of compression used to store the file in


the package.

APPX_ENCRYPTED_PACKAGE_OPTIONS Encrypted app package options.

APPX_FOOTPRINT_FILE_TYPE Specifies the type of footprint file in a package.

APPX_PACKAGE_ARCHITECTURE Specifies the processor architectures supported by a package.

APPX_PACKAGE_ARCHITECTURE2 Specifies the processor architectures supported by a package.

APPX_PACKAGE_EDITOR_UPDATE_PACKAGE_MANIFEST_OPTI Options for app manifest validation when updating the


ONS manifest.

APPX_PACKAGE_EDITOR_UPDATE_PACKAGE_OPTION Options to use when updating an app package.

PackageOrigin Specifies the origin of a package.

PackagePathType Indicates the type of package folder to retrieve.

Functions
T IT L E DESC RIP T IO N

AddAutomaticFile Adds files to an automatic content group in a content group


map.

AddAutomaticGroup Adds an automatic content group to the content group map.

AddExternalPackageReference Adds a reference to an external package to the package


bundle.

AddExternalPackageReference Adds a reference within the package bundle to an external app


package.

AddExternalPackageReference Adds a reference within the encrypted package bundle to an


external app package.

AddExternalPackageReference Adds a reference within the encrypted package bundle to an


external app package.

AddPackageReference Adds a reference to an optional app package or a payload file


within an app bundle.
T IT L E DESC RIP T IO N

AddPackageReference Adds a reference to an optional app package or a payload file


within an app bundle.

AddPayloadFile Adds a new payload file to the app package.

AddPayloadFileEncrypted Adds a new encrypted payload file to the appx package.

AddPayloadFiles Adds one or more payload files to an app package.

AddPayloadFilesEncrypted Adds one or more payload files to an encrypted app package.

AddPayloadPackage Adds a new app package to the bundle.

AddPayloadPackage Adds a new app package to the bundle.

AddPayloadPackageEncrypted Encrypts a new payload package to the bundle.

AddPayloadPackageEncrypted Encrypts a new payload package to the bundle.

AppPolicyGetClrCompat Retrieves a value indicating the application type of a process


so that you can determine whether to enable private reflection
and/or make managed objects agile.

AppPolicyGetCreateFileAccess Retrieves a value indicating whether a process has full or


restricted access to the IO devices (file, file stream, directory,
physical disk, volume, console buffer, tape drive,
communications resource, mailslot, and pipe).

AppPolicyGetLifecycleManagement Retrieves a value indicating whether a process can be


suspended/resumed by the Process Lifecycle Manager (PLM).

AppPolicyGetMediaFoundationCodecLoading Retrieves a value indicating whether a process’s policy allows it


to load non-Windows (third-party) plugins. You can use the
value to decide whether or not to allow non-Windows (third-
party) plugins.

AppPolicyGetProcessTerminationMethod Retrieves the method used to end a process.

AppPolicyGetShowDeveloperDiagnostic Retrieves the method used for a process to surface developer


information, such as asserts, to the user.

AppPolicyGetThreadInitializationType Retrieves the kind of initialization that should be automatically


performed for a process when beginthread[ex] creates a
thread.

AppPolicyGetWindowingModel Retrieves a value indicating whether a process uses a


CoreWindow-based, or a HWND-based, windowing model.
You can use the value to decide how to register for window
state change notifications (size changed, visibility changed,
etc.).

Close Finalizes the bundle package by writing footprint files at the


end of the package, and closes the writer’s output stream.
T IT L E DESC RIP T IO N

Close Finalizes the bundle package by writing footprint files at the


end of the package, and closes the writer’s output stream.

Close Writes the bundle manifest and blockmap footprint files to the
bundle.

Close Closes and finalizes the written package stream.

Close Writes footprint files at the end of the app package, and closes
the package writer object's output stream.

Close Closes the package writer object's output stream.

ClosePackageInfo Closes a reference to the specified package information.

ComparePublisher Compares the specified publisher with the publisher defined in


the manifest.

CreateBlockMapReader Creates a read-only block map object model from contents


provided by an IStream.

CreateBundleManifestReader Creates a read-only bundle manifest object from a standalone


stream to AppxBundleManifest.xml.

CreateBundleReader Creates a read-only bundle object that reads its contents from
an IStream object.

CreateBundleWriter Creates a write-only bundle object to which app packages can


be added.

CreateContentGroupMapReader Creates an IAppxContentGroupMapReader.

CreateContentGroupMapWriter Creates an IAppxContentGroupMapWriter.

CreateDeltaPackage Creates a delta package from the differences in the updated


package and the baseline package.

CreateDeltaPackageUsingBaselineBlockMap Creates a delta package from the differences in the updated


package and the baseline block map.

CreateEncryptedBundleReader Creates a read-only bundle object to which encrypted


Windows app packages can be added.

CreateEncryptedBundleWriter Creates a write-only bundle object to which encrypted


Windows app packages can be added.

CreateEncryptedBundleWriter Creates a write-only bundle object to which encrypted


Windows app packages can be added.

CreateEncryptedPackageReader Creates a new instance of IAppxEncryptedPackageReader.

CreateEncryptedPackageWriter Creates a new instance of an IAppxEncryptedPackageWriter.


T IT L E DESC RIP T IO N

CreateEncryptedPackageWriter Creates a new instance of an IAppxEncryptedPackageWriter.

CreateEncryptedPackageWriter Creates a new instance of an IAppxEncryptedPackageWriter.

CreateManifestReader Creates a read-only manifest object model from contents


provided by an IStream.

CreatePackageReader Creates a read-only package reader from the contents


provided by an IStream. This method does not validate the
digital signature.

CreatePackageWriter Creates a write-only package object to which files can be


added.

CreateSourceContentGroupMapReader Creates an IAppxSourceContentGroupMapReader.

CreateValidatedBlockMapReader Creates a read-only block map object model from contents


provided by an IStream and a digital signature.

DecryptBundle Creates an unencrypted Windows app bundle from an


encrypted one.

DecryptPackage Creates an unencrypted Windows app package from an


encrypted one.

EncryptBundle Creates an encrypted Windows app bundle from an


unencrypted one.

EncryptBundle Creates an encrypted Windows app bundle from an


unencrypted one.

EncryptPackage Creates an encrypted Windows app package from an


unencrypted one.

EncryptPackage Creates an encrypted Windows app package from an


unencrypted one.

EncryptPackage Creates an encrypted Windows app package from an


unencrypted one.

FindPackagesByPackageFamily Finds the packages with the specified family name for the
current user.

FormatApplicationUserModelId Constructs an application user model ID from the package


family name and the package relative application ID (PRAID).

GetApplications Gets an enumerator that iterates through the applications


defined in the manifest.

GetApplicationUserModelId Gets the application user model ID for the specified process.

GetApplicationUserModelIdFromToken Gets the application user model ID for the specified token.
T IT L E DESC RIP T IO N

GetAppUserModelId Gets the application user model identifier.

GetArchitecture Gets the processor architecture as defined in the manifest.

GetArchitecture2 Gets the processor architecture as defined in the manifest.

GetAutomaticGroups Gets the automatic content group(s) from the content group
map.

GetAutomaticGroups Gets the automatic content group(s) from the source content
group map.

GetBlockMap Retrieves a read-only block map object from the bundle.

GetBlockMap Retrieves the block map object model of the package.

GetBlocks Retrieves an enumerator for traversing the blocks of a file


listed in the block map.

GetBoolValue Gets the value of the specified Boolean element in the


properties section.

GetCapabilities Gets the list of capabilities requested by the package.

GetCompressedSize Retrieves compressed size of the block.

GetCompressionOption Retrieves the compression option that is used to store the file
in the package.

GetContentType Retrieves the content type of the file.

GetCurrent Gets the block at the current position of the enumerator.

GetCurrent Gets the file at the current position of the enumerator.

GetCurrent Gets the optional bundle information at the current position


of the enumerator.

GetCurrent Gets the <Package> element at the current position of the


enumerator.

GetCurrent Gets the file from the content group at the current position of
the enumerator.

GetCurrent Gets the content group at the current position of the


enumerator.

GetCurrent Gets the payload file at the current position of the


enumerator.

GetCurrent Gets the application at the current position of the enumerator.


T IT L E DESC RIP T IO N

GetCurrent Gets the device capability at the current position of the


enumerator.

GetCurrent Gets the <MainPackageDependency> element at the current


position of the enumerator.

GetCurrent Gets the dependency package at the current position of the


enumerator.

GetCurrent Gets the resource at the current position of the enumerator.

GetCurrentApplicationUserModelId Gets the application user model ID for the current process.

GetCurrentPackageFamilyName Gets the package family name for the calling process.

GetCurrentPackageFullName Gets the package full name for the calling process.

GetCurrentPackageId Gets the package identifier (ID) for the calling process.

GetCurrentPackageInfo Gets the package information for the calling process.

GetCurrentPackageInfo2 Gets the package information for the calling process.

GetCurrentPackagePath Gets the package path for the calling process.

GetCurrentPackagePath2 Gets the package path for the calling process.

GetDeviceCapabilities Gets an enumerator that iterates through the device


capabilities defined in the manifest.

GetFile Retrieves data corresponding to a file in the block map with


the specified file name.

GetFileName Retrieves the file-name attribute of the <OptionalBundle>.

GetFileName Retrieves the file-name attribute of the package.

GetFiles Retrieves an enumerator for traversing the files listed in the


block map.

GetFiles Gets files from a content group.

GetFootprintFile Retrieves the specified type of footprint file from the bundle.

GetFootprintFile Retrieves a footprint file from the package.

GetHasCurrent Determines whether there is a block at the current position of


the enumerator.

GetHasCurrent Determines whether there is a file at the current position of


the enumerator.
T IT L E DESC RIP T IO N

GetHasCurrent Determines whether there is optional bundle information at


the current position of the enumerator.

GetHasCurrent Determines whether there are more elements in the


enumerator.

GetHasCurrent Determines whether there is a file at the current position of


the enumerator.

GetHasCurrent Determines whether there is a content group at the current


position of the enumerator.

GetHasCurrent Determines whether there is a payload file at the current


position of the enumerator.

GetHasCurrent Determines whether there is an application at the current


position of the enumerator.

GetHasCurrent Determines whether there is a device capability at the current


position of the enumerator.

GetHasCurrent Determines whether there is a <MainPackageDependency>


element at the current position of the enumerator.

GetHasCurrent Determines whether there is a package dependency at the


current position of the enumerator.

GetHasCurrent Determines whether there is a resource at the current position


of the enumerator.

GetHash Retrieves the hash value of the block.

GetHashMethod Retrieves the URI for the hash algorithm used to create block
hashes in the block map.

GetIsDefaultApplicablePackage Determines whether the app package is a default applicable


package.

GetIsNonQualifiedResourcePackage Determines whether the app package is a non-qualified


resource package.

GetIsNonQualifiedResourcePackage Queries whether an app package is a non-qualified resource


package.

GetIsOptionalPackage Determines whether the package is optional.

GetIsPackageReference Determines whether a package is stored inside an app bundle,


or if it's a reference to a package.

GetLocalFileHeaderSize Retrieves the size of the zip local file header of the associated
zip file item.

GetMainPackageDependencies Gets a main package dependencies enumerator.


T IT L E DESC RIP T IO N

GetMainPackageName Gets the main package name from the optional package.

GetManifest Retrieves a read-only manifest object from the bundle.

GetManifest Retrieves the object model of the app manifest of the package.

GetMaxMajorVersionTested Returns the maximum major version number of the package


that is tested to be compatible with the current package.

GetMaxVersionTested Gets the maximum version tested from the AppxManifest.xml.

GetMinVersion Gets the minimum version of the package on which the


current package has a dependency.

GetMinVersion Gets the minimum version of the target device family from the
AppxManifest.xml.

GetName Retrieves the name of the associated zip file item.

GetName Gets the name of the content group.

GetName Retrieves the name of the file, including its path relative to the
package root directory.

GetName Gets the name of the main package dependency from the
AppxManifest.xml.

GetName Gets the name of the package on which the current package
has a dependency.

GetName Gets the name of the package as defined in the manifest.

GetName Gets the name of the target device family from the
AppxManifest.xml..

GetOffset Retrieves the offset of the package relative to the beginning of


the bundle.

GetOptionalBundles Retrieves an object that represents the <OptionalBundles>


element under the root <Bundle> element.

GetPackageApplicationIds Gets the IDs of apps in the specified package.

GetPackageDependencies Gets an enumerator that iterates through dependencies


defined in the manifest.

GetPackageFamilyName Gets the package family name of the main package


dependency from the AppxManifest.xml.

GetPackageFamilyName Gets the package family name.

GetPackageFamilyName Gets the package family name for the specified process.
T IT L E DESC RIP T IO N

GetPackageFamilyNameFromToken Gets the package family name for the specified token.

GetPackageFullName Gets the package full name.

GetPackageFullName Gets the package full name for the specified process.

GetPackageFullNameFromToken Gets the package full name for the specified token.

GetPackageId Retrieves an object that represents the identity of the


<OptionalBundle>.

GetPackageId Retrieves an object that represents the identity of the app


package.

GetPackageId Retrieves an object that represents the <Identity> element


under the root <Bundle> element.

GetPackageId Gets the package identifier defined in the manifest.

GetPackageId Gets the package identifier (ID) for the specified process.

GetPackageInfo Gets the package information for the specified package.

GetPackageInfo2 Gets the package information for the specified package.

GetPackageInfoItems Retrieves optional packages in the bundle.

GetPackageInfoItems Retrieves an enumerator over all the <Package> elements


under the <Packages> element.

GetPackagePath Gets the path for the specified package.

GetPackagePathByFullName Gets the path of the specified package.

GetPackagePathByFullName2 Gets the path of the specified package.

GetPackagesByPackageFamily Gets the packages with the specified family name for the
current user.

GetPackageType Retrieves the type of package that is represented by the


package info.

GetPayloadFile Retrieves a payload file from the package.

GetPayloadFiles Retrieves an enumerator that iterates through the payload


files in the package.

GetPayloadPackage Retrieves an appx file object for the payload package with the
specified file name.

GetPayloadPackages Retrieves an enumerator that iterates over the list of all


payload packages in the bundle.
T IT L E DESC RIP T IO N

GetPrerequisite Gets the specified prerequisite as defined in the package


manifest.

GetProperties Gets the properties of the package as defined in the manifest.

GetPublisher Gets the publisher of the main package dependency from the
AppxManifest.xml.

GetPublisher Gets the name of the publisher that produced the package on
which the current package depends.

GetPublisher Gets the name of the package publisher as defined in the


manifest.

GetQualifiedResources Gets an enumerator that iterates through the qualified


resources that are defined in the manifest.

GetRequiredGroup Gets the required content group from the content group map.

GetRequiredGroup Gets the required content group from the source content
group map.

GetResourceId Gets the package resource identifier as defined in the


manifest.

GetResources Retrieves an enumerator that iterates through all the


<Resource> elements that are defined in the app package's
manifest.

GetResources Gets an enumerator that iterates through the resources


defined in the manifest.

GetSize Retrieves the size of the package, in bytes.

GetSize Retrieves the uncompressed size of the file.

GetStagedPackageOrigin Gets the origin of the specified package.

GetStagedPackagePathByFullName Gets the path of the specified staged package.

GetStagedPackagePathByFullName2 Gets the path of the specified staged package.

GetStream Retrieves a read-only stream that represents the XML content


of the block map.

GetStream Gets the raw XML document without any preprocessing.

GetStream Gets a read-only stream that contains the uncompressed


content of the file.

GetStream Gets the raw XML parsed and read by the manifest reader.
T IT L E DESC RIP T IO N

GetStringValue Gets the value of a string element in the application metadata


section of the manifest.

GetStringValue Gets the value of the specified string element in the properties
section.

GetUncompressedSize Retrieves the uncompressed size of the associated zip file item.

GetVersion Gets the version of the package as defined in the manifest.

MoveNext Advances the position of the enumerator to the next block.

MoveNext Advances the position of the enumerator to the next file.

MoveNext Advances the position of the enumerator to the next set of


optional bundle information.

MoveNext Advances the position of the enumerator to the next


<Package> element.

MoveNext Advances the position of the enumerator to the next file.

MoveNext Advances the position of the enumerator to the next content


group.

MoveNext Advances the position of the enumerator to the next payload


file.

MoveNext Advances the position of the enumerator to the next


application.

MoveNext Advances the position of the enumerator to the next device


capability.

MoveNext Advances the position of the enumerator to the next


<MainPackageDependency> element.

MoveNext Advances the position of the enumerator to the next package


dependency.

MoveNext Advances the position of the enumerator to the next resource.

OpenPackageInfoByFullName Opens the package information of the specified package.

PackageFamilyNameFromFullName Gets the package family name for the specified package full
name.

PackageFamilyNameFromId Gets the package family name for the specified package
identifier.

PackageFullNameFromId Gets the package full name for the specified package identifier
(ID).
T IT L E DESC RIP T IO N

PackageIdFromFullName Gets the package identifier (ID) for the specified package full
name.

PackageNameAndPublisherIdFromFamilyName Gets the package name and publisher identifier (ID) for the
specified package family name.

ParseApplicationUserModelId Deconstructs an application user model ID to its package


family name and package relative application ID (PRAID).

UpdateEncryptedPackage Updates an encrypted app package.

UpdatePackage Updates an app package.

UpdatePackageManifest Updates an app package manifest.

ValidateFileHash Validates the content of a file against the hashes stored in the
block elements for this block map file.

Interfaces
T IT L E DESC RIP T IO N

IAppxBlockMapBlock The IAppxBlockMapBlock interface provides a read-only object


that represents an individual block within a file contained in
the block map file (AppxBlockMap.xml) for the App package.

IAppxBlockMapBlocksEnumerator Enumerates the blocks from a block map in a single file.

IAppxBlockMapFile Represents a file in the block map.

IAppxBlockMapFilesEnumerator Enumerates the files from a block map.

IAppxBlockMapReader Represents a read-only object model for block maps that


provides access to the file attributes and block hashes.

IAppxBundleFactory Creates objects for reading and writing bundle packages.

IAppxBundleManifestOptionalBundleInfo Provides a read-only object model for an <OptionalBundle>


element in a bundle package manifest.

IAppxBundleManifestOptionalBundleInfoEnumerator Enumerates the optional bundle information from a bundle.

IAppxBundleManifestPackageInfo Provides a read-only object model for a <Package> element in


a bundle package manifest.

IAppxBundleManifestPackageInfo2 Provides a read-only object model for a <Package> element in


a bundle package manifest.

IAppxBundleManifestPackageInfoEnumerator Provides a read-only object model for the list of payload


packages that are described in a bundle package manifest.
T IT L E DESC RIP T IO N

IAppxBundleManifestReader Provides a read-only object model for manifests of bundle


packages.

IAppxBundleManifestReader2 Provides a read-only object model for manifests of bundle


packages.

IAppxBundleReader Provides a read-only object model for bundle packages.

IAppxBundleWriter Provides a write-only object model for bundle packages.

IAppxBundleWriter2 Provides a write-only object model for bundle packages.

IAppxBundleWriter3 Provides a write-only object model for bundle packages.

IAppxBundleWriter4 Provides a write-only object model for bundle packages.

IAppxContentGroup Retrieves information about a content group.

IAppxContentGroupFilesEnumerator Enumerates files in content groups from a content group map.

IAppxContentGroupMapReader Gets information about a content group map.

IAppxContentGroupMapWriter Provides a write-only object model for a content group map.

IAppxContentGroupsEnumerator Enumerates the content groups from a content group map.

IAppxEncryptedBundleWriter Provides a write-only object model for encrypted bundle


packages.

IAppxEncryptedBundleWriter2 Provides a write-only object model for encrypted bundle


packages.

IAppxEncryptedBundleWriter3 Provides a write-only object model for encrypted bundle


packages.

IAppxEncryptedPackageWriter Provides a write-only object model for encrypted app


packages.

IAppxEncryptedPackageWriter2 Provides a write-only object model for encrypted app


packages.

IAppxEncryptionFactory Creates objects for encrypting, decrypting, reading, and


writing packages and bundles.

IAppxEncryptionFactory2 Creates objects for encrypting, decrypting, reading, and


writing Windows app packages and bundles.

IAppxEncryptionFactory3 Creates objects for encrypting, decrypting, reading, and


writing Windows app packages and bundles.

IAppxEncryptionFactory4 Creates objects for encrypting Windows app packages and


bundles.
T IT L E DESC RIP T IO N

IAppxFactory Creates objects for reading and writing app packages.

IAppxFactory2 Creates objects for reading and writing app packages.

IAppxFile Retrieves information about a payload or footprint file in a


package.

IAppxFilesEnumerator Enumerates the payload files in a package.

IAppxManifestApplication Provides access to attribute values of the application.

IAppxManifestApplicationsEnumerator Enumerates the applications defined in the package manifest.

IAppxManifestDeviceCapabilitiesEnumerator Enumerates the device capabilities defined in the package


manifest.

IAppxManifestMainPackageDependenciesEnumerator Enumerates <MainPackageDependency> elements from an


app manifest.

IAppxManifestMainPackageDependency Provides access to attribute values of the main package


dependency.

IAppxManifestOptionalPackageInfo Provides access to attribute values of the optional package


information.

IAppxManifestPackageDependenciesEnumerator Enumerates the package dependencies defined in the package


manifest.

IAppxManifestPackageDependency Describes the dependency of one package on another


package.

IAppxManifestPackageDependency2 Describes the dependency of one package on another


package.

IAppxManifestPackageId Provides access to the package identity.

IAppxManifestPackageId2 Provides access to the app package identity.

IAppxManifestProperties Provides read-only access to the properties section of a


package manifest.

IAppxManifestReader Represents an object model of the package manifest that


provides methods to access manifest elements and attributes.

IAppxManifestReader2 Represents an object model of the package manifest that


provides methods to access manifest elements and attributes.

IAppxManifestReader5 Represents an object model of the package manifest that


provides methods to access manifest elements and attributes.

IAppxManifestReader6 Represents an object model of the package manifest that


provides methods to access manifest elements and attributes.
T IT L E DESC RIP T IO N

IAppxManifestResourcesEnumerator Enumerates the resources defined in the package manifest.

IAppxManifestTargetDeviceFamily Retrieves information about the target device family from the
AppxManifest.xml.

IAppxPackageEditor Provides functionality to edit app packages.

IAppxPackageReader Provides a read-only object model for app packages.

IAppxPackageWriter Provides a write-only object model for app packages.

IAppxPackageWriter2 Provides a write-only object model for app packages.

IAppxPackageWriter3 Provides a write-only object model for app packages.

IAppxSourceContentGroupMapReader Gets information about the source content group map.

Structures
T IT L E DESC RIP T IO N

APPX_ENCRYPTED_EXEMPTIONS Files exempted from Windows app package encryption.

APPX_ENCRYPTED_PACKAGE_SETTINGS Settings for encrypted Windows app packages.

APPX_ENCRYPTED_PACKAGE_SETTINGS2 Encrypted Windows app package settings.

APPX_KEY_INFO Windows app package key information.

APPX_PACKAGE_SETTINGS Represents package settings used to create a package.

APPX_PACKAGE_WRITER_PAYLOAD_STREAM Contains the data and metadata of files to write into the app
package.

PACKAGE_ID Represents package identification information, such as name,


version, and publisher.

PACKAGE_INFO Represents package identification information that includes


the package identifier, full name, and install location.

PACKAGE_VERSION Represents the package version information.


Packaging
2/7/2020 • 13 minutes to read • Edit Online

Overview of the Packaging technology.


To develop Packaging, you need these headers:
msopc.h
For programming guidance for this technology, see:
Packaging

Enumerations
T IT L E DESC RIP T IO N

OPC_CANONICALIZATION_METHOD Describes the canonicalization method to be applied to XML


markup.

OPC_CERTIFICATE_EMBEDDING_OPTION Describes the storage location of a certificate that is used in


signing.

OPC_COMPRESSION_OPTIONS Describes ways to compress part content.

OPC_READ_FLAGS Describes the read settings for caching package components


and validating them against ECMA-376 OpenXML, 1st Edition,
Part 2:_Open Packaging Conventions (OPC) conformance
requirements.

OPC_RELATIONSHIP_SELECTOR Describes how to interpret the selectionCriterion parameter of


the IOpcRelationshipSelector::GetSelectionCriterion method.

OPC_RELATIONSHIPS_SIGNING_OPTION Describes whether a reference represented by the


IOpcSignatureRelationshipReference interface refers to all or a
subset of relationships represented as relationship objects in a
relationship set object.

OPC_SIGNATURE_TIME_FORMAT Describes how to interpret the signingTime parameter, which


is a record of when a signature was created, of the
IOpcDigitalSignature::GetSigningTime method.

OPC_SIGNATURE_VALIDATION_RESULT Indicates the status of the signature.

OPC_STREAM_IO_MODE Describes the read/write status of a stream.

OPC_URI_TARGET_MODE Indicates the target mode of a relationship.

OPC_WRITE_FLAGS Describes the encoding method that is used by the


serialization object to produce the package.

Functions
T IT L E DESC RIP T IO N

Add Adds a certificate to the set.

Clone Creates a copy of the current IOpcCertificateEnumerator


interface pointer and all its descendants.

Clone Creates a copy of the current IOpcDigitalSignatureEnumerator


interface pointer and all its descendants.

Clone Creates a copy of the current enumerator and all its


descendants.

Clone Creates a copy of the current enumerator and all its


descendants.

Clone Creates a copy of the current


IOpcRelationshipSelectorEnumeratorinterface pointer and all
its descendants.

Clone Creates a copy of the current


IOpcSignatureCustomObjectEnumerator interface pointer and
all its descendants.

Clone Creates a copy of the current


IOpcSignaturePartReferenceEnumerator interface pointer and
all its descendants.

Clone Creates a copy of the current


IOpcSignatureReferenceEnumerator interface pointer and all its
descendants.

Clone Creates a copy of the current


IOpcSignatureRelationshipReferenceEnumerator interface
pointer and all its descendants.

CombinePartUri Forms the part name of the part that is referenced by the
specified relative URI.

ComparePartUri Returns an integer that indicates whether the URIs


represented by the current part URI object and a specified
part URI object are equivalent.

Create Creates an IOpcRelationshipSelector interface pointer to


represent how a subset of relationships are selected to be
signed, and adds the new pointer to the set.

Create Creates an IOpcSignatureCustomObject interface pointer to


represent an application-specific Object element in the
signature, and adds the new interface to the set.

Create Creates an IOpcSignaturePartReference interface pointer that


represents a reference to a part to be signed, and adds the
new interface to the set.

Create Creates an IOpcSignatureReference interface pointer that


represents a reference to an XML element to be signed.
T IT L E DESC RIP T IO N

Create Creates an IOpcSignatureRelationshipReference interface


pointer that represents a reference to a Relationships part, and
adds the new interface pointer to the set.

CreateDigitalSignatureManager Creates a digital signature manager object for a package


object.

CreatePackage Creates a package object that represents an empty package.

CreatePackageRootUri Creates an OPC URI object that represents the root of a


package.

CreatePart Creates a part object that represents a part and adds a


pointer to the object's IOpcPart interface to the set.

CreatePartUri Creates a part URI object that represents a part name.

CreateRelationship Creates a relationship object that represents a specified


relationship, then adds to the set a pointer to the object's
IOpcRelationship interface.

CreateRelationshipSelectorSet Creates an IOpcRelationshipSelectorSet interface pointer that


is used as the selectorSet parameter value of the Create
method.

CreateSigningOptions Creates an IOpcSigningOptions interface pointer.

CreateStreamOnFile Creates a stream over a file.

Delete Deletes a specified IOpcRelationshipSelector interface pointer


from the set.

Delete Deletes a specified IOpcSignatureCustomObject interface


pointer from the set.

Delete Deletes a specified IOpcSignaturePartReference interface


pointer from the set.

Delete Deletes a specified IOpcSignatureReference interface pointer


from the set.

Delete Deletes a specified IOpcSignatureRelationshipReference


interface pointer from the set.

DeletePart Deletes the IOpcPart interface pointer of a specified part


object from the set.

DeleteRelationship Deletes a specified IOpcRelationship interface pointer from the


set.
T IT L E DESC RIP T IO N

GetCanonicalizationMethod Gets the canonicalization method that was applied to the


SignedInfo element of the serialized signature.

GetCertificateEmbeddingOption Gets a value that specifies the storage location in the package
of the certificate to be used for the signature.

GetCertificateEnumerator Gets an enumerator of certificates that are used in the


signature.

GetCertificateSet Gets an IOpcCertificateSet interface pointer.

GetCompressionOptions Gets a value that describes the way part content is


compressed.

GetContentStream Gets a stream that provides read/write access to part content.

GetContentType Gets the media type of part content.

GetContentType Gets the content type of the referenced part.

GetCurrent Gets the CERT_CONTEXT structure at the current position of


the enumerator.

GetCurrent Gets the IOpcDigitalSignature interface pointer at the current


position of the enumerator.

GetCurrent Gets the IOpcPart interface pointer at the current position of


the enumerator.

GetCurrent Gets the IOpcRelationship interface pointer at the current


position of the enumerator.

GetCurrent Gets the IOpcRelationshipSelector interface pointer at the


current position of the enumerator.

GetCurrent Gets the IOpcSignatureCustomObject interface at the current


position of the enumerator.

GetCurrent Gets the IOpcSignaturePartReference interface pointer at the


current position of the enumerator.

GetCurrent Gets the IOpcSignatureReference interface pointer at the


current position of the enumerator.

GetCurrent Gets the IOpcSignatureRelationshipReference interface pointer


at the current position of the enumerator.

GetCustomObjectEnumerator Gets an enumerator of IOpcSignatureCustomObject interface


pointers that represent application-specific Object elements in
the signature markup.

GetCustomObjectSet Gets an IOpcSignatureCustomObjectSet interface.


T IT L E DESC RIP T IO N

GetCustomReferenceEnumerator Gets an enumerator of the IOpcSignatureReference interface


pointers that represent references to application-specific XML
elements that have been signed.

GetCustomReferenceSet Gets an IOpcSignatureReferenceSet interface pointer.

GetDefaultDigestMethod Gets the default digest method that will be used to compute
digest values for objects to be signed.

GetDigestMethod Gets the digest method to use on part content of the


referenced part when the part is signed.

GetDigestMethod Gets the digest method to use on the referenced XML


element, when the element is signed.

GetDigestMethod Gets the digest method to use on relationship markup of the


selected relationships.

GetDigestValue Gets the digest value that is calculated for part content of the
referenced part when the part is signed.

GetDigestValue Gets the digest value that is calculated for the referenced XML
element when the element is signed.

GetDigestValue Gets the digest value calculated for the selected relationships
when they are signed.

GetEnumerator Gets an enumerator of certificates in the set.

GetEnumerator Gets an enumerator of IOpcPart interface pointers in the set.

GetEnumerator Gets an enumerator of IOpcRelationshipSelector interface


pointers in the set.

GetEnumerator Gets an enumerator of IOpcRelationship interface pointers in


the set.

GetEnumerator Gets an enumerator of IOpcSignatureCustomObject interface


pointers in the set.

GetEnumerator Gets an enumerator of IOpcSignaturePartReference interface


pointers in the set.

GetEnumerator Gets an enumerator of IOpcSignatureReference interface


pointers in the set.

GetEnumerator Gets an enumerator of IOpcSignatureRelationshipReference


interface pointers in the set.

GetEnumeratorForType Gets an enumerator of the IOpcRelationship interface pointers


in the set that point to representations of relationships that
have a specified relationship type.
T IT L E DESC RIP T IO N

GetId Gets the unique identifier of the relationship.

GetId Gets the identifier for the reference.

GetName Gets a part URI object that represents the part name.

GetNamespaces Gets the prefix and namespace mapping of the Signature


element of the signature markup.

GetPackageObjectReference Gets an IOpcSignatureReference interface pointer that


represents the reference to the package-specific Object
element that has been signed.

GetPart Gets a part object, which represents a specified part, in the


set.

GetPartName Gets the part name of the referenced part.

GetPartSet Gets a part set object that contains IOpcPart interface


pointers.

GetRelationship Gets a relationship object from the set that represents a


specified relationship.

GetRelationshipsContentStream Gets a read-only stream that contains the part content of the
Relationships part represented by the set.

GetRelationshipSelectorEnumerator Gets an enumerator of IOpcRelationshipSelector interface


pointers that represent the techniques used to select the
subset of relationships in the referenced Relationships part.

GetRelationshipSet Gets a relationship set object that represents the Relationships


part that stores package relationships.

GetRelationshipSet Gets a relationship set object that represents the Relationships


part that stores relationships that have the part as their
source.

GetRelationshipSigningOption Gets a value that describes whether all or a subset of


relationships that are stored in the referenced Relationships
part are selected.

GetRelationshipsPartUri Gets the part name of the Relationships part that stores
relationships that have the source URI represented by the
current OPC URI object.

GetRelationshipType Gets the relationship type.

GetRelativeUri Forms a relative URI for a specified part, relative to the URI
represented by the current OPC URI object.

GetSelectionCriterion Gets a string that is used to select relationships to be


referenced for signing.
T IT L E DESC RIP T IO N

GetSelectorType Gets a value that describes how relationships are selected to


be referenced for signing.

GetSignatureEnumerator Gets an enumerator of IOpcDigitalSignature interface pointers,


which represent package signatures.

GetSignatureId Gets the value of the Id attribute from the Signature element
of the signature markup.

GetSignatureId Gets the value of the Id attribute from the Signature element.

GetSignatureMethod Gets the signature method used to calculate the value in the
SignatureValue element of the signature markup.

GetSignatureMethod Gets the signature method to use to calculate and encrypt the
hash value of the SignedInfo element, which will be serialized
as the SignatureValue element of the signature.

GetSignatureOriginPartName Gets an IOpcPartUri interface pointer that represents the part


name of the Digital Signature Origin part.

GetSignaturePartName Gets the part name of the part that contains the signature
markup.

GetSignaturePartName Gets the part name of the signature part where the signature
markup will be stored.

GetSignaturePartReferenceEnumerator Gets an enumerator of IOpcSignaturePartReference interface


pointers, which represent references to parts that have been
signed.

GetSignaturePartReferenceSet Gets an IOpcSignaturePartReferenceSet interface.

GetSignatureRelationshipReferenceEnumerator Gets an enumerator of IOpcSignatureRelationshipReference


interface pointers, which represent references to relationships
that have been signed.

GetSignatureRelationshipReferenceSet Gets an IOpcSignatureRelationshipReferenceSet interface


pointer.

GetSignatureValue Gets the decoded value in the SignatureValue element of the


signature markup.

GetSignatureXml Gets the signature markup.

GetSigningTime Gets a string that indicates the time at which the signature
was generated.

GetSourceUri Gets the source URI of the relationships that are stored in a
Relationships part. The current part URI object represents the
part name of that Relationships part.

GetSourceUri Gets the URI of the relationship source.


T IT L E DESC RIP T IO N

GetSourceUri Gets the source URI of the relationships that are stored in the
referenced Relationships part.

GetTargetMode Gets a value that describes whether the relationship's target is


internal or external to the package.

GetTargetUri Gets the URI of the relationship target.

GetTimeFormat Gets the format of the string returned by the GetSigningTime


method.

GetTimeFormat Gets the format of the string retrieved by the


IOpcDigitalSignature::GetSigningTime method.

GetTransformMethod Gets the canonicalization method to use on part content of a


referenced part when the part is signed.

GetTransformMethod Gets the canonicalization method to use on the referenced


XML element, when the element is signed.

GetTransformMethod Gets the canonicalization method to use on the relationship


markup of the selected relationships when they are signed.

GetType Gets a string that indicates the type of the referenced XML
element.

GetUri Gets the URI of the referenced XML element.

GetXml Gets the XML markup of an application-specific Object


element.

IsRelationshipsPartUri Returns a value that indicates whether the current part URI
object represents the part name of a Relationships part.

MoveNext Moves the current position of the enumerator to the next


CERT_CONTEXT structure.

MoveNext Moves the current position of the enumerator to the next


IOpcDigitalSignature interface pointer.

MoveNext Moves the current position of the enumerator to the next


IOpcPart interface pointer.

MoveNext Moves the current position of the enumerator to the next


IOpcRelationship interface pointer.

MoveNext Moves the current position of the enumerator to the next


IOpcRelationshipSelectorinterface pointer.

MoveNext Moves the current position of the enumerator to the next


IOpcSignatureCustomObject interface pointer.
T IT L E DESC RIP T IO N

MoveNext Moves the current position of the enumerator to the next


IOpcSignaturePartReference interface pointer.

MoveNext Moves the current position of the enumerator to the next


IOpcSignatureReference interface pointer.

MoveNext Moves the current position of the enumerator to the next


IOpcSignatureRelationshipReference interface pointer.

MovePrevious Moves the current position of the enumerator to the previous


CERT_CONTEXT structure.

MovePrevious Moves the current position of the enumerator to the previous


IOpcDigitalSignature interface pointer.

MovePrevious Moves the current position of the enumerator to the previous


IOpcPart interface pointer.

MovePrevious Moves the current position of the enumerator to the previous


IOpcRelationship interface pointer.

MovePrevious Moves the current position of the enumerator to the previous


IOpcRelationshipSelectorinterface pointer.

MovePrevious Moves the current position of the enumerator to the previous


IOpcSignatureCustomObjectinterface pointer.

MovePrevious Moves the current position of the enumerator to the previous


IOpcSignaturePartReference interface pointer.

MovePrevious Moves the current position of the enumerator to the previous


IOpcSignatureReferenceinterface pointer.

MovePrevious Moves the current position of the enumerator to the previous


IOpcSignatureRelationshipReference interface pointer.

PartExists Gets a value that indicates whether a specified part is


represented as a part object in the set.

ReadPackageFromStream Deserializes package data from a stream and creates a


package object to represent the package being read.

RelationshipExists Gets a value that indicates whether a specified relationship is


represented as a relationship object in the set.

Remove Removes a specified certificate from the set.

RemoveSignature Removes from the package a specified signature part that


stores signature markup.

ReplaceSignatureXml Replaces the existing signature markup that is stored in a


specified signature part.
T IT L E DESC RIP T IO N

SetCertificateEmbeddingOption Set the storage location of the certificate to be used for the
signature.

SetDefaultDigestMethod Sets the default digest method that will be used to compute
digest values for objects to be signed.

SetSignatureId Sets the value of the Id attribute of the Signature element.

SetSignatureMethod Sets the signature method to use to calculate and encrypt the
hash value of the SignedInfo element, which will be contained
in the SignatureValue element of the signature.

SetSignatureOriginPartName Sets the part name of the Digital Signature Origin part to the
name represented by a specified IOpcPartUri interface pointer.

SetSignaturePartName Sets the part name of the signature part where the signature
markup will be stored.

SetTimeFormat Sets the format of the string retrieved by the


IOpcDigitalSignature::GetSigningTime method.

Sign Signs the package by generating a signature by using the


specified certificate and IOpcSigningOptions interface pointer.

Validate Validates a specified package signature using a specified


certificate.

WritePackageToStream Serializes a package that is represented by a package object.

Interfaces
T IT L E DESC RIP T IO N

IOpcCertificateEnumerator A read-only enumerator of pointers to CERT_CONTEXT


structures.

IOpcCertificateSet An unordered set of certificates to be used with a signature.

IOpcDigitalSignature Represents a package digital signature.

IOpcDigitalSignatureEnumerator A read-only enumerator of IOpcDigitalSignature interface


pointers.

IOpcDigitalSignatureManager Provides access to Packaging Digital Signature Interfaces for a


package that is represented by Packaging API objects.

IOpcFactory Creates Packaging API objects and provides support for saving
and loading packages.

IOpcPackage Represents a package and provides methods to access the


package's parts and relationships.
T IT L E DESC RIP T IO N

IOpcPart Represents a part that contains data and is not a Relationships


part.

IOpcPartEnumerator A read-only enumerator of IOpcPart interface pointers.

IOpcPartSet An unordered set of IOpcPart interface pointers to part


objects that represent the parts in a package that are not
Relationships parts.

IOpcPartUri Represents the part name of a part.

IOpcRelationship Represents a relationship, which is a link between a source,


which is a part or the package, and a target.

IOpcRelationshipEnumerator A read-only enumerator of IOpcRelationship interface pointers.

IOpcRelationshipSelector Represents how to select, from a Relationships part, the


relationships to be referenced for signing.

IOpcRelationshipSelectorEnumerator A read-only enumerator of IOpcRelationshipSelector interface


pointers.

IOpcRelationshipSelectorSet An unordered set of IOpcRelationshipSelector interface


pointers that represent the selection criteria that is used to
identify relationships for signing.

IOpcRelationshipSet Represents a Relationships part as an unordered set of


IOpcRelationship interface pointers to relationship objects.

IOpcSignatureCustomObject Represents an application-specific Object element that has


been or will be signed.

IOpcSignatureCustomObjectEnumerator A read-only enumerator of IOpcSignatureCustomObject


interface pointers.

IOpcSignatureCustomObjectSet An unordered set of IOpcSignatureCustomObject interface


pointers that contain the XML markup of application-specific
Object elements.

IOpcSignaturePartReference Represents a reference to a part that has been or will be


signed.

IOpcSignaturePartReferenceEnumerator A read-only enumerator of IOpcSignaturePartReference


interface pointers.

IOpcSignaturePartReferenceSet An unordered set of IOpcSignaturePartReference interface


pointers that represent references to parts to be signed.

IOpcSignatureReference Represents a reference to XML markup that has been or will


be signed.

IOpcSignatureReferenceEnumerator A read-only enumerator of IOpcSignatureReference interface


pointers.
T IT L E DESC RIP T IO N

IOpcSignatureReferenceSet An unordered set of IOpcSignatureReference interface pointers


that represent references to XML elements to be signed.

IOpcSignatureRelationshipReference Represents a reference to a Relationships part that contains


relationships that have been or will be signed.

IOpcSignatureRelationshipReferenceEnumerator A read-only enumerator of


IOpcSignatureRelationshipReference interface pointers.

IOpcSignatureRelationshipReferenceSet An unordered set of IOpcSignatureRelationshipReference


interface pointers that represent references to Relationships
parts that contain relationships to be signed.

IOpcSigningOptions Provides methods to set and access information required to


generate a signature.

IOpcUri Represents the URI of the package root or of a part that is


relative to the package root.
Parental Controls
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Parental Controls technology.


To develop Parental Controls, you need these headers:
wpcapi.h
wpcevent.h
For programming guidance for this technology, see:
Parental Controls

Enumerations
T IT L E DESC RIP T IO N

WPC_ARGS_CONVERSATIONINITEVENT Indicates information about initiating a conversation.

WPC_ARGS_CONVERSATIONJOINEVENT Indicates information about joining an existing conversation.

WPC_ARGS_CONVERSATIONLEAVEEVENT Indicates information about leaving a conversation.

WPC_ARGS_CUSTOMEVENT Indicates information about a user-defined event that is not


covered by the general events.

WPC_ARGS_EMAILCONTACTEVENT Indicates information about contacting someone by using


email.

WPC_ARGS_EMAILRECEIEVEDEVENT Indicates information about an email message that has been


received.

WPC_ARGS_EMAILSENTEVENT Indicates information about an email message that has been


sent.

WPC_ARGS_FILEDOWNLOADEVENT Indicates information about a file that has been downloaded.

WPC_ARGS_GAMESTARTEVENT Indicates information about the start of a computer game.

WPC_ARGS_IMCONTACTEVENT Indicates information about contacting someone by using an


instant messaging application.

WPC_ARGS_IMFEATUREEVENT Indicates information about the features of the instant


messaging interaction.

WPC_ARGS_MEDIADOWNLOADEVENT Indicates information about the download of a media file.

WPC_ARGS_MEDIAPLAYBACKEVENT Indicates information about the playback of a media file.


T IT L E DESC RIP T IO N

WPC_ARGS_SAFERAPPBLOCKED Indicates information about a safer application that is being


blocked.

WPC_ARGS_SETTINGSCHANGEEVENT Indicates information about the changes to settings being


made by a user.

WPC_ARGS_URLVISITEVENT Indicates information about the address URL of a website


viewed.

WPC_MEDIA_EXPLICIT Indicates information about the explicit rating of the media


file.

WPC_MEDIA_TYPE Indicates information about the type of media file accessed.

WPCFLAG_IM_FEATURE Indicates information about the features accessed during an


instant messaging interaction.

WPCFLAG_IM_LEAVE Indicates information about when a participant leaves the


instant messaging interaction.

WPCFLAG_ISBLOCKED Indicates information about what events are blocked from use
and what controls are in place.

WPCFLAG_LOGOFF_TYPE Indicates information about the type of logoff method used.

Functions
T IT L E DESC RIP T IO N

Configure Called for the current provider when you click a user tile in the
Parental Controls Control Panel. This method allows for
changes to the configuration.

Disable Notifies the third-party application that it is not the current


provider.

Enable Notifies the third-party application that it has been selected as


the new current provider.

GetCurrent Retrieves the GUID of the current provider.

GetGamesSettings Retrieves a pointer to an interface for games restrictions


settings for the specified user.

GetLastSettingsChangeTime Retrieves the time at which the configuration settings were


last updated.

GetRestrictions Determines whether web restrictions, time limits, or game


restrictions are on.

GetSettings Retrieves the web restrictions settings.


T IT L E DESC RIP T IO N

GetUserSettings Retrieves a pointer to an interface for general settings for the


specified user.

GetUserSummary Retrieves the information for each user by using the Parental
Controls Control Panel.

GetVisibility Indicates the visibility of the Parental Controls user interface.

GetWebFilterInfo Retrieves the name and identifier of the currently active Web
Content Filter.

GetWebSettings Retrieves a pointer to an interface for web restrictions settings


for the specified user.

IsBlocked Determines whether the specified game is blocked from


execution.

IsLoggingRequired Determines whether activity logging should be performed


when obtaining the IWPCSettings interface.

RequestOverride Called for the current provider to enable configuration


override.

RequestURLOverride Requests that the Parental Controls web restrictions


subsystem set the specified primary and sub URLs to the
allowed state.

Interfaces
T IT L E DESC RIP T IO N

IWindowsParentalControls Enables access to all settings interfaces of the Minimum


Compliance API.

IWindowsParentalControlsCore .

IWPCGamesSettings Accesses games settings for the user.

IWPCProviderConfig Exposes configuration methods that are implemented by third


parties.

IWPCProviderState Exposes provider state methods that are implemented by


third parties.

IWPCProviderSupport Exposes methods that allow third-party providers to query


the currently enabled provider.

IWPCSettings Accesses general settings for the user.

IWPCWebSettings Accesses web restrictions settings for the user.


Peer-to-Peer
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Peer-to-Peer technology.


To develop Peer-to-Peer, you need these headers:
drt.h
p2p.h
peerdist.h
pnrpdef.h
pnrpns.h
For programming guidance for this technology, see:
Peer-to-Peer
Performance Counters
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Performance Counters technology.


To develop Performance Counters, you need these headers:
pdh.h
perflib.h
winperf.h
For programming guidance for this technology, see:
Performance Counters
Performance Logs and Alerts
2/7/2020 • 23 minutes to read • Edit Online

Overview of the Performance Logs and Alerts technology.


To develop Performance Logs and Alerts, you need these headers:
pla.h
For programming guidance for this technology, see:
Performance Logs and Alerts

Enumerations
T IT L E DESC RIP T IO N

AutoPathFormat Defines how to decorate the file name or subdirectory name.

ClockType Defines the clock resolution to use when tracing events.

CommitMode Defines the action to take when committing changes to the


data collector set.

DataCollectorSetStatus Defines the running status of the data collector set.

DataCollectorType Defines the data collector types.

DataManagerSteps Defines the actions that the data manager takes when it runs.

FileFormat Defines the format of the data in the log file.

FolderActionSteps Defines the action that the data manager takes when both the
age and size limits are met.

ResourcePolicy Defines how folders are deleted when one of the disk resource
limits is exceeded.

StreamMode Defines where the trace events are delivered.

ValueMapType Defines the type of the value.

WeekDays Defines the days of the week on which to run the data
collector set.

Functions
T IT L E DESC RIP T IO N

Add Adds a data collector to the collection.


T IT L E DESC RIP T IO N

Add Adds a data collector set to the collection.

Add Adds a folder action to the collection.

Add Adds a schedule to the collection.

Add Adds a trace provider to the collection.

Add Adds an item to the collection.

AddRange Adds one or more data collectors to the collection.

AddRange Adds one or more data collector sets to the collection.

AddRange Adds one or more folder actions to the collection.

AddRange Adds one or more schedules to the collection.

AddRange Adds one or more trace providers to the collection.

AddRange Adds one or more items to the collection.

Clear Removes all data collectors from the collection.

Clear Removes all data collector sets from the collection.

Clear Removes all folder actions from the collection.

Clear Removes all schedules from the collection.

Clear Removes all trace providers from the collection.

Clear Removes all items from the collection

Commit Saves, updates, or validates the data collector set. You can also
use this method to flush a trace session.

CreateDataCollector Creates a data collector of the specified type.

CreateDataCollectorFromXml Creates a data collector using the specified XML.

CreateFolderAction Creates a folder action object.

CreateSchedule Creates a schedule object.

CreateTraceDataProvider Creates a trace data provider object.

CreateValueMapItem Creates a value map item.


T IT L E DESC RIP T IO N

Delete Deletes the persisted copy of the data collector set if the set is
not running.

Extract Extracts the specified CAB file.

get__NewEnum Retrieves an interface to the enumeration.

get__NewEnum Retrieves an interface to the enumeration.

get__NewEnum Retrieves an interface to the enumeration.

get__NewEnum Retrieves an interface to the enumeration.

get__NewEnum Retrieves an interface to the enumeration.

get__NewEnum Retrieves an interface to the enumeration.

get_Actions Retrieves or sets the actions that the data manager is to take if
both conditions (age and size) are met.

get_Age Retrieves or sets the interval to wait between applying the


actions.

get_AlertThresholds Retrieves or sets a list of performance counters and thresholds


to monitor.

get_BufferSize Retrieves or sets the suggested buffer size for each buffer in
the event tracing session.

get_BuffersLost Retrieves the number of buffers that were not written to the
log file.

get_BuffersWritten Retrieves the number of buffers written to the log file.

get_CheckBeforeRunning Retrieves or sets a value that indicates whether the data


manager should check imposed limits, such as the minimum
available free disk space, before collecting data.

get_ClockType Retrieves or sets the clock resolution to use when logging the
time stamp for each event.

get_Count Retrieves the number of data collectors in the collection.

get_Count Retrieves the number of data collector sets in the collection.

get_Count Retrieves the number of folder actions in the collection.

get_Count Retrieves the number of schedules in the collection.

get_Count Retrieves the number of trace providers in the collection.

get_Count Retrieves the number of items in the collection.


T IT L E DESC RIP T IO N

get_DataCollectors Retrieves the list of data collectors in this set.

get_DataCollectorSet Retrieves the data collector set to which this data collector
belongs.

get_DataCollectorType Retrieves the type of this data collector, for example, a


performance data collector.

get_DataManager Retrieves the data manager associated with this data collector
set.

get_DataSourceName Retrieves or sets the data source name if the log file is an SQL
log file.

get_Days Retrieves or sets the days on which the data collector set runs.

get_Description Retrieves or sets the description of the data collector set. The
description will be added to all output files as metadata and
inserted into Performance Data Helper logs as a comment.

get_Description Retrieves or sets a description of the collection.

get_Description Retrieves or sets a description of the item.

get_DescriptionUnresolved Retrieves the description of the data collector set in its original
form.

get_DisplayName Retrieves or sets the display name of the data collector set.

get_DisplayName Retrieves or sets the display name of the provider.

get_DisplayNameUnresolved Retrieves the display name of the data collector set in its
original form.

get_Duration Retrieves and sets the duration that the data collector set
runs.

get_Enabled Retrieves or sets a value that indicates whether the data


manager is enabled to run.

get_Enabled Retrieves or sets a value that indicates whether the item is


enabled.

get_EndDate Retrieves or sets the last date that the schedule is valid.

get_EventLog Retrieves or sets a value that indicates if PLA should log an


event each time the counter value crosses the threshold.

get_EventsFileName Retrieves or sets the name for the events file.

get_EventsLost Retrieves the number of events that were not written to the
buffer.
T IT L E DESC RIP T IO N

get_ExcludeApis Retrieves or sets the list of functions to exclude from the trace.

get_ExePath Retrieves or sets the path to the executable file whose API calls
you want to trace.

get_ExtendedModes Retrieves or sets the extended log file modes.

get_FileMaxCount Retrieves or sets the maximum number of files to collect.

get_FileMaxRecursiveDepth Retrieves or sets the maximum number of subfolders from


which to recursively collect files.

get_FileMaxTotalSize Retrieves or sets the maximum total file size of all files
combined that you can collect.

get_FileName Retrieves or sets the base name of the file that will contain the
data collector data.

get_FileNameFormat Retrieves or sets flags that describe how to decorate the file
name.

get_FileNameFormatPattern Retrieves or sets the format pattern to use when decorating


the file name.

get_Files Retrieves or sets the files to collect.

get_FilterData Retrieves or sets arbitrary data that is sent to the trace data
provider for filtering purposes.

get_FilterEnabled Retrieves or sets a value that determines whether the filter


data is used to enable the provider.

get_FilterType Retrieves or sets a provider-defined filter type.

get_FlushTimer Retrieves or sets the time to wait before flushing buffers.

get_FolderActions Retrieves a collection that you use to manage the actions to


take on each folder in the data collector set when the age and
size conditions are met.

get_FreeBuffers Retrieves the number of buffers that are allocated but unused
in the event tracing session's buffer pool.

get_Guid Retrieves or sets the session GUID.

get_Guid Retrieves or sets the provider's GUID.

get_IncludeApis Retrieves or sets the list of functions to include in the trace.

get_IncludeModules Retrieves or sets the list of modules to include in the trace.


T IT L E DESC RIP T IO N

get_Index Retrieves the index value of the data collector. The index value
identifies the data collector within the data collector set.

get_IsKernelTrace Retrieves a value that indicates whether the trace contains


kernel providers.

get_Item Retrieves the requested data collector from the collection.

get_Item Retrieves the requested data collector set from the collection.

get_Item Retrieves the requested folder action from the collection.

get_Item Retrieves the requested schedule from the collection.

get_Item Retrieves the requested trace provider from the collection.

get_Item Retrieves the requested item from the collection.

get_Key Retrieves or sets the name of the item.

get_Keywords Retrieves or sets keywords that describe the data collector set.
The list of keywords is added to the output files as metadata.

get_KeywordsAll Retrieves the list of keywords that restricts the category of


events that you want the provider to write.

get_KeywordsAny Retrieves the list of keywords that determine the category of


events that you want the provider to write.

get_LatestOutputLocation Retrieves or sets the fully decorated file name that PLA used
the last time it created the file.

get_LatestOutputLocation Retrieves or sets the fully decorated folder name that PLA
used the last time logs were written.

get_Level Retrieves the level of information used to enable the provider.

get_LogApiNamesOnly Retrieves or sets a value that indicates whether PLA logs only
the function name.

get_LogApisRecursively Retrieves or sets a value that indicates whether API tracing


logs calls that are imported directly by the application.

get_LogAppend Retrieves or sets a value that indicates if PLA should append


the collected data to the current file.

get_LogCircular Retrieves or sets a value that indicates if PLA should create a


circular file.

get_LogFileFormat Retrieves or sets the format of the log file.


T IT L E DESC RIP T IO N

get_LogFilePath Retrieves or sets the name of the log file that contains the API
trace data.

get_LogOverwrite Retrieves or sets a value that indicates if PLA should overwrite


the current file.

get_ManagementQueries Retrieves or sets Windows Management Instrumentation


(WMI) queries to run.

get_MaxFolderCount Retrieves or sets the maximum number of folders to be used


by all data collectors in the set.

get_MaximumBuffers Retrieves or sets the maximum number of buffers allocated for


the event tracing session's buffer pool.

get_MaxSize Retrieves or sets the maximum disk space to be used by all


data collectors in the set.

get_MinFreeDisk Retrieves or sets the minimum free disk space that needs to
exist before data collection begins.

get_MinimumBuffers Retrieves or sets the minimum number of buffers allocated for


the event tracing session's buffer pool.

get_Name Retrieves or sets the name of the data collector.

get_Name Retrieves the unique name used to identify the data collector
set.

get_NumberOfBuffers Retrieves or sets the suggested number of buffers to use for


logging.

get_OutputLocation Retrieves the decorated file name if PLA were to create it now.

get_OutputLocation Retrieves the decorated folder name if PLA were to create it


now.

get_PerformanceCounters Retrieves or sets the performance counters to query.

get_PreallocateFile Retrieves or sets a value that indicates whether PLA should


allocate the entire log file size before logging.

get_ProcessMode Retrieves or sets a value that indicates whether the session is a


private, in-process session.

get_Properties Retrieves the list of extended data items that Event Tracing for
Windows (ETW) includes with the event.

get_QueryNetworkAdapters Retrieves or sets a value that indicates whether the installed


network adapters are queried for their offloading capabilities
and other configuration information.
T IT L E DESC RIP T IO N

get_RealTimeBuffersLost Retrieves the number of buffers that were not delivered in real
time to the consumer.

get_RegistryKeys Retrieves or sets a list of registry keys to collect.

get_RegistryMaxRecursiveDepth Retrieves or sets the maximum number of subkeys from which


to recursively collect registry values.

get_ReportFileName Retrieves or sets the name of the HTML file that results from
converting the file in the IDataManager::RuleTargetFileName
property from XML to HTML.

get_ReportSchema Retrieves or sets the schema used to customize the report


that the TraceRpt.exe application generates.

get_ResourcePolicy Retrieves or sets the action to take when one of the disk
resource limits is exceeded.

get_RootPath Retrieves or sets the base path where the subdirectories are
created.

get_Rules Retrieves or sets the rules to apply to the report.

get_RuleTargetFileName Retrieves or sets the name of the report file that the
TraceRpt.exe application creates.

get_SampleInterval Retrieves or sets the time interval to wait between sampling


counter data.

get_SampleInterval Retrieves or sets the interval to wait between sampling


counter data.

get_Schedules Retrieves the list of schedules that determine when the data
collector set runs.

get_SchedulesEnabled Retrieves or sets a value that indicates whether the schedules


are enabled.

get_Security Retrieves or sets access control information that determines


who can access this data collector set.

get_Segment Retrieves or sets a value that indicates whether PLA creates


new logs if the maximum size or segment duration is reached
before the data collector set is stopped.

get_SegmentMaxDuration Retrieves or sets the duration that the data collector set can
run before it begins writing to new log files.

get_SegmentMaxRecords Retrieves or sets the maximum number of samples to log.

get_SegmentMaxSize Retrieves or sets the maximum size of any log file in the data
collector set.
T IT L E DESC RIP T IO N

get_SendCabTo Retrieves or sets the destination of the cabinet file if the action
is to send a cabinet file.

get_SerialNumber Retrieves or sets the number of times that this data collector
set has been started, including segments.

get_Server Retrieves the name of the server where the data collector set
is run.

get_SessionId Retrieves the session identifier.

get_SessionName Retrieves or sets the name of the session.

get_SessionThreadId Retrieves the current thread of the log session, if the thread is
running.

get_Size Retrieves or sets the minimum folder size that, when exceeded,
initiates the actions.

get_StartDate Retrieves or sets the date when the schedule becomes valid.

get_StartTime Retrieves or sets the time of day when the data collector set
runs.

get_Status Retrieves the status of the data collector set.

get_StopOnCompletion Retrieves or sets a value that determines whether the data


collector set stops when all the data collectors in the set are in
a completed state.

get_StreamMode Retrieves or sets the logging mode of the trace session.

get_Subdirectory Retrieves or sets a base subdirectory of the root path where


the next instance of the data collector set will write its logs.

get_SubdirectoryFormat Retrieves or sets flags that describe how to decorate the


subdirectory name.

get_SubdirectoryFormatPattern Retrieves or sets a format pattern to use when decorating the


folder name.

get_SystemStateFile Retrieves or sets the name of the file that contains the saved
system state.

get_Task Retrieves or sets the name of a Task Scheduler job to start


each time the counter value crosses the threshold.

get_Task Retrieves or sets the name of a Task Scheduler job to start


each time the data collector set stops, including between
segments.
T IT L E DESC RIP T IO N

get_TaskArguments Retrieves or sets the command-line arguments to pass to the


Task Scheduler job specified in the IAlertDataCollector::Task
property.

get_TaskArguments Retrieves or sets the command-line arguments to pass to the


Task Scheduler job specified in the IDataCollectorSet::Task
property.

get_TaskRunAsSelf Retrieves or sets a value that determines whether the task


runs as the data collector set user or as the user specified in
the task.

get_TaskRunAsSelf Retrieves or sets a value that determines whether the task


runs as the data collector set user or as the user specified in
the task.

get_TaskUserTextArguments Retrieves or sets the command-line arguments to pass to the


Task Scheduler job specified in the IAlertDataCollector::Task
property.

get_TaskUserTextArguments Retrieves or sets the command-line arguments that are


substituted for the {usertext} substitution variable in the
IDataCollectorSet::TaskArguments property.

get_TraceDataProviders Retrieves the list of providers enabled for this trace session.

get_TriggerDataCollectorSet Retrieves or sets the name of a data collector set to start each
time the counter value crosses the threshold.

get_UserAccount Retrieves the user account under which the data collector set
will run.

get_Value Retrieves or sets the value of the collection.

get_Value Retrieves or sets the value of the item.

get_ValueMapType Retrieves or sets the type of items in the collection.

get_ValueMapType Retrieves or sets the type of the item.

get_Xml Retrieves an XML string that describes the values of the data
collector properties.

get_Xml Retrieves an XML string that describes the values of the data
collector set properties, including those of the data collectors
contained in the set.

GetDataCollectorSets Populates the data collector set collection.

GetRegisteredProcesses Retrieves a list of processes that have registered as an Event


Tracing for Windows (ETW) provider.

GetSecurity Retrieves the security information for the trace data provider.
T IT L E DESC RIP T IO N

GetTraceDataProviders Populates the collection with registered trace providers.

GetTraceDataProvidersByProcess Populates the collection with the list of providers that have
been registered by the specified process.

GetValue Retrieves a user-defined value.

put_Actions Retrieves or sets the actions that the data manager is to take if
both conditions (age and size) are met.

put_Age Retrieves or sets the interval to wait between applying the


actions.

put_AlertThresholds Retrieves or sets a list of performance counters and thresholds


to monitor.

put_BufferSize Retrieves or sets the suggested buffer size for each buffer in
the event tracing session.

put_CheckBeforeRunning Retrieves or sets a value that indicates whether the data


manager should check imposed limits, such as the minimum
available free disk space, before collecting data.

put_ClockType Retrieves or sets the clock resolution to use when logging the
time stamp for each event.

put_DataSourceName Retrieves or sets the data source name if the log file is an SQL
log file.

put_Days Retrieves or sets the days on which the data collector set runs.

put_Description Retrieves or sets the description of the data collector set. The
description will be added to all output files as metadata and
inserted into Performance Data Helper logs as a comment.

put_Description Retrieves or sets a description of the collection.

put_Description Retrieves or sets a description of the item.

put_DisplayName Retrieves or sets the display name of the data collector set.

put_DisplayName Retrieves or sets the display name of the provider.

put_Duration Retrieves and sets the duration that the data collector set
runs.

put_Enabled Retrieves or sets a value that indicates whether the data


manager is enabled to run.

put_Enabled Retrieves or sets a value that indicates whether the item is


enabled.

put_EndDate Retrieves or sets the last date that the schedule is valid.
T IT L E DESC RIP T IO N

put_EventLog Retrieves or sets a value that indicates if PLA should log an


event each time the counter value crosses the threshold.

put_EventsFileName Retrieves or sets the name for the events file.

put_ExcludeApis Retrieves or sets the list of functions to exclude from the trace.

put_ExePath Retrieves or sets the path to the executable file whose API calls
you want to trace.

put_ExtendedModes Retrieves or sets the extended log file modes.

put_FileMaxCount Retrieves or sets the maximum number of files to collect.

put_FileMaxRecursiveDepth Retrieves or sets the maximum number of subfolders from


which to recursively collect files.

put_FileMaxTotalSize Retrieves or sets the maximum total file size of all files
combined that you can collect.

put_FileName Retrieves or sets the base name of the file that will contain the
data collector data.

put_FileNameFormat Retrieves or sets flags that describe how to decorate the file
name.

put_FileNameFormatPattern Retrieves or sets the format pattern to use when decorating


the file name.

put_Files Retrieves or sets the files to collect.

put_FilterData Retrieves or sets arbitrary data that is sent to the trace data
provider for filtering purposes.

put_FilterEnabled Retrieves or sets a value that determines whether the filter


data is used to enable the provider.

put_FilterType Retrieves or sets a provider-defined filter type.

put_FlushTimer Retrieves or sets the time to wait before flushing buffers.

put_Guid Retrieves or sets the session GUID.

put_Guid Retrieves or sets the provider's GUID.

put_IncludeApis Retrieves or sets the list of functions to include in the trace.

put_IncludeModules Retrieves or sets the list of modules to include in the trace.

put_Key Retrieves or sets the name of the item.


T IT L E DESC RIP T IO N

put_Keywords Retrieves or sets keywords that describe the data collector set.
The list of keywords is added to the output files as metadata.

put_LatestOutputLocation Retrieves or sets the fully decorated file name that PLA used
the last time it created the file.

put_LatestOutputLocation Retrieves or sets the fully decorated folder name that PLA
used the last time logs were written.

put_LogApiNamesOnly Retrieves or sets a value that indicates whether PLA logs only
the function name.

put_LogApisRecursively Retrieves or sets a value that indicates whether API tracing


logs calls that are imported directly by the application.

put_LogAppend Retrieves or sets a value that indicates if PLA should append


the collected data to the current file.

put_LogCircular Retrieves or sets a value that indicates if PLA should create a


circular file.

put_LogFileFormat Retrieves or sets the format of the log file.

put_LogFilePath Retrieves or sets the name of the log file that contains the API
trace data.

put_LogOverwrite Retrieves or sets a value that indicates if PLA should overwrite


the current file.

put_ManagementQueries Retrieves or sets Windows Management Instrumentation


(WMI) queries to run.

put_MaxFolderCount Retrieves or sets the maximum number of folders to be used


by all data collectors in the set.

put_MaximumBuffers Retrieves or sets the maximum number of buffers allocated for


the event tracing session's buffer pool.

put_MaxSize Retrieves or sets the maximum disk space to be used by all


data collectors in the set.

put_MinFreeDisk Retrieves or sets the minimum free disk space that needs to
exist before data collection begins.

put_MinimumBuffers Retrieves or sets the minimum number of buffers allocated for


the event tracing session's buffer pool.

put_Name Retrieves or sets the name of the data collector.

put_NumberOfBuffers Retrieves or sets the suggested number of buffers to use for


logging.

put_PerformanceCounters Retrieves or sets the performance counters to query.


T IT L E DESC RIP T IO N

put_PreallocateFile Retrieves or sets a value that indicates whether PLA should


allocate the entire log file size before logging.

put_ProcessMode Retrieves or sets a value that indicates whether the session is a


private, in-process session.

put_QueryNetworkAdapters Retrieves or sets a value that indicates whether the installed


network adapters are queried for their offloading capabilities
and other configuration information.

put_RegistryKeys Retrieves or sets a list of registry keys to collect.

put_RegistryMaxRecursiveDepth Retrieves or sets the maximum number of subkeys from which


to recursively collect registry values.

put_ReportFileName Retrieves or sets the name of the HTML file that results from
converting the file in the IDataManager::RuleTargetFileName
property from XML to HTML.

put_ReportSchema Retrieves or sets the schema used to customize the report


that the TraceRpt.exe application generates.

put_ResourcePolicy Retrieves or sets the action to take when one of the disk
resource limits is exceeded.

put_RootPath Retrieves or sets the base path where the subdirectories are
created.

put_Rules Retrieves or sets the rules to apply to the report.

put_RuleTargetFileName Retrieves or sets the name of the report file that the
TraceRpt.exe application creates.

put_SampleInterval Retrieves or sets the time interval to wait between sampling


counter data.

put_SampleInterval Retrieves or sets the interval to wait between sampling


counter data.

put_SchedulesEnabled Retrieves or sets a value that indicates whether the schedules


are enabled.

put_Security Retrieves or sets access control information that determines


who can access this data collector set.

put_Segment Retrieves or sets a value that indicates whether PLA creates


new logs if the maximum size or segment duration is reached
before the data collector set is stopped.

put_SegmentMaxDuration Retrieves or sets the duration that the data collector set can
run before it begins writing to new log files.

put_SegmentMaxRecords Retrieves or sets the maximum number of samples to log.


T IT L E DESC RIP T IO N

put_SegmentMaxSize Retrieves or sets the maximum size of any log file in the data
collector set.

put_SendCabTo Retrieves or sets the destination of the cabinet file if the action
is to send a cabinet file.

put_SerialNumber Retrieves or sets the number of times that this data collector
set has been started, including segments.

put_SessionName Retrieves or sets the name of the session.

put_Size Retrieves or sets the minimum folder size that, when exceeded,
initiates the actions.

put_StartDate Retrieves or sets the date when the schedule becomes valid.

put_StartTime Retrieves or sets the time of day when the data collector set
runs.

put_StopOnCompletion Retrieves or sets a value that determines whether the data


collector set stops when all the data collectors in the set are in
a completed state.

put_StreamMode Retrieves or sets the logging mode of the trace session.

put_Subdirectory Retrieves or sets a base subdirectory of the root path where


the next instance of the data collector set will write its logs.

put_SubdirectoryFormat Retrieves or sets flags that describe how to decorate the


subdirectory name.

put_SubdirectoryFormatPattern Retrieves or sets a format pattern to use when decorating the


folder name.

put_SystemStateFile Retrieves or sets the name of the file that contains the saved
system state.

put_Task Retrieves or sets the name of a Task Scheduler job to start


each time the counter value crosses the threshold.

put_Task Retrieves or sets the name of a Task Scheduler job to start


each time the data collector set stops, including between
segments.

put_TaskArguments Retrieves or sets the command-line arguments to pass to the


Task Scheduler job specified in the IAlertDataCollector::Task
property.

put_TaskArguments Retrieves or sets the command-line arguments to pass to the


Task Scheduler job specified in the IDataCollectorSet::Task
property.
T IT L E DESC RIP T IO N

put_TaskRunAsSelf Retrieves or sets a value that determines whether the task


runs as the data collector set user or as the user specified in
the task.

put_TaskRunAsSelf Retrieves or sets a value that determines whether the task


runs as the data collector set user or as the user specified in
the task.

put_TaskUserTextArguments Retrieves or sets the command-line arguments to pass to the


Task Scheduler job specified in the IAlertDataCollector::Task
property.

put_TaskUserTextArguments Retrieves or sets the command-line arguments that are


substituted for the {usertext} substitution variable in the
IDataCollectorSet::TaskArguments property.

put_TriggerDataCollectorSet Retrieves or sets the name of a data collector set to start each
time the counter value crosses the threshold.

put_Value Retrieves or sets the value of the collection.

put_Value Retrieves or sets the value of the item.

put_ValueMapType Retrieves or sets the type of items in the collection.

put_ValueMapType Retrieves or sets the type of the item.

Query Retrieves the specified data collector set.

Query Retrieves details about a registered provider.

Remove Removes a data collector from the collection.

Remove Removes a data collector set from the collection.

Remove Removes a folder action from the collection based on the


specified index.

Remove Removes a schedule from the collection.

Remove Removes a trace provider from the collection.

Remove Removes an item from the collection.

Resolve Merges the details about a provider with this instance.

Run Manually runs the data manager.

SetCredentials Specifies the user account under which the data collector set
runs.

SetSecurity Sets the security information for the trace data provider.
T IT L E DESC RIP T IO N

SetValue Sets a user-defined value.

SetXml Sets the property values of those properties included in the


XML.

SetXml Sets the property values of those properties included in the


XML.

Start Manually starts the data collector set.

Stop Manually stops the data collector set.

Interfaces
T IT L E DESC RIP T IO N

IAlertDataCollector Monitors performance counters and performs actions each


time a counter value crosses the specified threshold.To create
the alert data collector, call the
IDataCollectorCollection::CreateDataCollector or
IDataCollectorCollection::CreateDataCollectorFromXml
method. For details on the XML that you pass to
CreateDataCollectorFromXml, see Remarks.

IApiTracingDataCollector Logs Win32 calls to Kernel32.dll, Advapi32.dll, Gdi32.dll, and


User32.dll.

IConfigurationDataCollector Collects computer settings at the time of collection.

IDataCollector Sets and retrieves collector properties using XML, specifies the
log file name, and retrieves the location of the log file.This
interface is an abstract class from which the following data
collectors
derive:IAlertDataCollectorIApiTracingDataCollectorIConfigurati
onDataCollectorIPerformanceCounterDataCollectorITraceData
Collector

IDataCollectorCollection Manages a collection of DataCollector objects.To get this


interface, access the IDataCollectorSet::DataCollectors
property.

IDataCollectorSet Manages the configuration information that is common to all


data collector objects in the set; adds and removes data
collectors from the set; and starts data collection. This is the
primary PLA interface that you use.

IDataCollectorSetCollection Manages a collection of DataCollectorSet objects.To get this


interface, call the CoCreateInstance function, passing
__uuidof(DataCollectorSetCollection) as the class identifier and
__uuidof(IDataCollectorSetCollection) as the interface
identifier.Then, to populate the collection, call the
IDataCollectorSetCollection::GetDataCollectorSets method.
T IT L E DESC RIP T IO N

IDataManager Manages data generated by the data collectors, including


report generation, data retention policy, and data transfer.To
get this interface, access the IDataCollectorSet::DataManager
property.

IFolderAction Specifies the actions that the data manager is to take on each
folder under the data collector set's root path if both
conditions (age and size) are met. To get this interface, call the
IFolderActionCollection::CreateFolderAction method.

IFolderActionCollection Manages a collection of FolderAction objects.To get this


interface, access the IDataManager::FolderActions property.

IPerformanceCounterDataCollector Specifies the performance counters to query and the log file to
which the counter data is written.To create this data collector,
call the IDataCollectorCollection::CreateDataCollector or
IDataCollectorCollection::CreateDataCollectorFromXml
method.

ISchedule Specifies when the data collector set runs.To get this interface,
call the IScheduleCollection::CreateSchedule method.

IScheduleCollection Manages a collection of Schedule objects.To get this interface,


access the IDataCollectorSet::Schedules property.

ITraceDataCollector Collects trace events from registered providers.This interface


defines the trace session.

ITraceDataProvider Specifies a trace provider to enable in the trace session.

ITraceDataProviderCollection Manages a collection of TraceDataProvider objects.To get this


interface, access the ITraceDataCollector::TraceDataProviders
property.You can also call the CoCreateInstance function to
create a new instance of the TraceDataProviderCollection
object.

IValueMap Manages a collection of name/value pairs.To get this interface,


access one of the following properties or
methods:IDataCollector::SetXmlIDataCollectorSet::CommitIDat
aCollectorSet::SetXmlITraceDataProvider::KeywordsAllITraceDat
aProvider::KeywordsAnyITraceDataProvider::LevelITraceDataPr
ovider::Properties

IValueMapItem Defines a name/value pair.To get this interface, call the


IValueMap::Item property. To create this interface, call the
IValueMap::CreateValueMapItem method.
Picture Acquisition
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Picture Acquisition technology.


To develop Picture Acquisition, you need these headers:
photoacquire.h
For programming guidance for this technology, see:
Picture Acquisition
Pointer Device Input Stack
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Pointer Device Input Stack technology.


The Pointer Device Input Stack technology is not associated with any headers.
For programming guidance for this technology, see:
Pointer Device Input Stack

Enumerations
T IT L E DESC RIP T IO N

POINTER_DEVICE_CURSOR_TYPE Identifies the pointer device cursor types.

POINTER_DEVICE_TYPE Identifies the pointer device types.

POINTER_FEEDBACK_MODE Identifies the visual feedback behaviors available to


CreateSyntheticPointerDevice.

Functions
T IT L E DESC RIP T IO N

CreateSyntheticPointerDevice Configures the pointer injection device for the calling


application, and initializes the maximum number of
simultaneous pointers that the app can inject.

DestroySyntheticPointerDevice Destroys the specified pointer injection device.

GetPointerDevice Gets information about the pointer device.

GetPointerDeviceCursors Gets the cursor IDs that are mapped to the cursors associated
with a pointer device.

GetPointerDeviceProperties Gets device properties that aren't included in the


POINTER_DEVICE_INFO structure.

GetPointerDeviceRects Gets the x and y range for the pointer device (in himetric) and
the x and y range (current resolution) for the display that the
pointer device is mapped to.

GetPointerDevices Gets information about the pointer devices attached to the


system.

GetRawPointerDeviceData Gets the raw input data from the pointer device.

InjectSyntheticPointerInput Simulates pointer input (pen or touch).


T IT L E DESC RIP T IO N

RegisterPointerDeviceNotifications Registers a window to process the


WM_POINTERDEVICECHANGE,
WM_POINTERDEVICEINRANGE, and
WM_POINTERDEVICEOUTOFRANGE pointer device
notifications.

Structures
T IT L E DESC RIP T IO N

INPUT_INJECTION_VALUE Contains the input injection details.

POINTER_DEVICE_CURSOR_INFO Contains cursor ID mappings for pointer devices.

POINTER_DEVICE_INFO Contains information about a pointer device. An array of these


structures is returned from the GetPointerDevices function. A
single structure is returned from a call to the GetPointerDevice
function.

POINTER_DEVICE_PROPERTY Contains pointer-based device properties (Human Interface


Device (HID) global items that correspond to HID usages).

POINTER_TYPE_INFO Contains information about the pointer input type.

USAGE_PROPERTIES Contains device properties (Human Interface Device (HID)


global items that correspond to HID usages) for any type of
HID input device.
Pointer Input Messages and Notifications
2/7/2020 • 3 minutes to read • Edit Online

Overview of the Pointer Input Messages and Notifications technology.


The Pointer Input Messages and Notifications technology is not associated with any headers.
For programming guidance for this technology, see:
Pointer Input Messages and Notifications

Enumerations
T IT L E DESC RIP T IO N

POINTER_BUTTON_CHANGE_TYPE Identifies a change in the state of a button associated with a


pointer.

tagPOINTER_INPUT_TYPE Identifies the pointer input types.

Functions
T IT L E DESC RIP T IO N

EnableMouseInPointer Enables the mouse to act as a pointer input device and send
WM_POINTER messages.

GET_POINTERID_WPARAM Retrieves the pointer ID using the specified value.

GetPointerCursorId Retrieves the cursor identifier associated with the specified


pointer.

GetPointerFrameInfo Gets the entire frame of information for the specified pointers
associated with the current message.

GetPointerFrameInfoHistory Gets the entire frame of information (including coalesced input


frames) for the specified pointers associated with the current
message.

GetPointerFramePenInfo Gets the entire frame of pen-based information for the


specified pointers (of type PT_PEN) associated with the current
message.

GetPointerFramePenInfoHistory Gets the entire frame of pen-based information (including


coalesced input frames) for the specified pointers (of type
PT_PEN) associated with the current message.

GetPointerFrameTouchInfo Gets the entire frame of touch-based information for the


specified pointers (of type PT_TOUCH) associated with the
current message.
T IT L E DESC RIP T IO N

GetPointerFrameTouchInfoHistory Gets the entire frame of touch-based information (including


coalesced input frames) for the specified pointers (of type
PT_TOUCH) associated with the current message.

GetPointerInfo Gets the information for the specified pointer associated with
the current message.

GetPointerInfoHistory Gets the information associated with the individual inputs, if


any, that were coalesced into the current message for the
specified pointer.

GetPointerInputTransform Gets one or more transforms for the pointer information


coordinates associated with the current message.

GetPointerPenInfo Gets the pen-based information for the specified pointer (of
type PT_PEN) associated with the current message.

GetPointerPenInfoHistory Gets the pen-based information associated with the individual


inputs, if any, that were coalesced into the current message for
the specified pointer (of type PT_PEN).

GetPointerTouchInfo Gets the touch-based information for the specified pointer (of
type PT_TOUCH) associated with the current message.

GetPointerTouchInfoHistory Gets the touch-based information associated with the


individual inputs, if any, that were coalesced into the current
message for the specified pointer (of type PT_TOUCH).

GetPointerType Retrieves the pointer type for a specified pointer.

GetUnpredictedMessagePos Gets pointer data before it has gone through touch prediction
processing.

HAS_POINTER_CONFIDENCE_WPARAM Checks whether the specified pointer message is considered


intentional rather than accidental.

IS_POINTER_CANCELED_WPARAM Checks whether the specified pointer input ended abruptly, or


was invalid, indicating the interaction was not completed.

IS_POINTER_FIFTHBUTTON_WPARAM Checks whether the specified pointer took fifth action.

IS_POINTER_FIRSTBUTTON_WPARAM Checks whether the specified pointer took first action.

IS_POINTER_FLAG_SET_WPARAM Checks whether a pointer macro sets the specified flag.

IS_POINTER_FOURTHBUTTON_WPARAM Checks whether the specified pointer took fourth action.

IS_POINTER_INCONTACT_WPARAM Checks whether the specified pointer is in contact.

IS_POINTER_INRANGE_WPARAM Checks whether the specified pointer is in range.

IS_POINTER_NEW_WPARAM Checks whether the specified pointer is a new pointer.


T IT L E DESC RIP T IO N

IS_POINTER_SECONDBUTTON_WPARAM Checks whether the specified pointer took second action.

IS_POINTER_THIRDBUTTON_WPARAM Checks whether the specified pointer took third action.

IsMouseInPointerEnabled Indicates whether EnableMouseInPointer is set for the mouse


to act as a pointer input device and send WM_POINTER
messages.

SkipPointerFrameMessages Determines which pointer input frame generated the most


recently retrieved message for the specified pointer and
discards any queued (unretrieved) pointer input messages
generated from the same pointer input frame.

Structures
T IT L E DESC RIP T IO N

INPUT_TRANSFORM Defines the matrix that represents a transform on a message


consumer.

POINTER_INFO Contains basic pointer information common to all pointer


types. Applications can retrieve this information using the
GetPointerInfo, GetPointerFrameInfo, GetPointerInfoHistory
and GetPointerFrameInfoHistory functions.

POINTER_PEN_INFO Defines basic pen information common to all pointer types.

POINTER_TOUCH_INFO Defines basic touch information common to all pointer types.

TOUCHPREDICTIONPARAMETERS Contains hardware input details that can be used to predict


touch targets and help compensate for hardware latency when
processing touch and gesture input that contains distance and
velocity data.
Power Metering and Budgeting Reference
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Power Metering and Budgeting Reference technology.


To develop Power Metering and Budgeting Reference, you need these headers:
emi.h
For programming guidance for this technology, see:
Power Metering and Budgeting Reference

IOCTLs
T IT L E DESC RIP T IO N

IOCTL_EMI_GET_MEASUREMENT The IOCTL_EMI_GET_MEASUREMENT control code retrieves


the current energy measurement and the time at which the
measurement was taken.

IOCTL_EMI_GET_METADATA The IOCTL_EMI_GET_METADATA control code retrieves EMI


metadata from a device.

IOCTL_EMI_GET_METADATA_SIZE The IOCTL_EMI_GET_METADATA_SIZE control code retrieves


the size of the EMI metadata object that can be obtained from
the device by issuing an IOCTL_EMI_GET_METADATA request.

IOCTL_EMI_GET_VERSION The IOCTL_EMI_GET_VERSION control code retrieves the


current version of the EMI interface supported by the device.

Enumerations
T IT L E DESC RIP T IO N

EMI_MEASUREMENT_UNIT The EMI_MEASUREMENT_UNIT enumeration represents the


available units of energy measurements that can be retrieved
from a device by using IOCTL_EMI_GET_MEASUREMENT.

Structures
T IT L E DESC RIP T IO N

EMI_CHANNEL_MEASUREMENT_DATA The EMI_MEASUREMENT_DATA structure provides data about


the current energy measurement and the time at which the
measurement was taken.

EMI_CHANNEL_V2 The EMI_CHANNEL_V2 structure provides data about an EMI


V2 channel.
T IT L E DESC RIP T IO N

EMI_MEASUREMENT_DATA_V2 The EMI_MEASUREMENT_DATA_V2 structure provides data


about the current energy measurement data for all channels
of an EMI_VERSION_V2 device.

EMI_METADATA_SIZE The EMI_METADATA_SIZE structure specifies the size of the


Energy Metering Interface (EMI) metadata object that can be
obtained from the device by issuing an
IOCTL_EMI_GET_METADATA request.

EMI_METADATA_V1 The EMI_METADATA structure provides metadata about a


device that supports the Energy Metering Interface (EMI)
interface, such as the hardware model and hardware revision.

EMI_METADATA_V2 The EMI_METADATA_V2 structure provides metadata about a


device that supports the EMI_VERSION_V2 interface. This
metadata contains information about the hardware device and
what EMI channels are exposed by this device.

EMI_VERSION The EMI_VERSION structure describes the version of the


Energy Metering Interface (EMI) that is supported by a device.
Process Snapshotting
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Process Snapshotting technology.


To develop Process Snapshotting, you need these headers:
processsnapshot.h
For programming guidance for this technology, see:
Process Snapshotting

Enumerations
T IT L E DESC RIP T IO N

PSS_CAPTURE_FLAGS Flags that specify what PssCaptureSnapshot captures.

PSS_DUPLICATE_FLAGS Duplication flags for use by PssDuplicateSnapshot.

PSS_HANDLE_FLAGS Flags to specify what parts of a PSS_HANDLE_ENTRY structure


are valid.

PSS_OBJECT_TYPE Specifies the object type in a PSS_HANDLE_ENTRY structure.

PSS_PROCESS_FLAGS Flags that describe a process.

PSS_QUERY_INFORMATION_CLASS Specifies what information PssQuerySnapshot function


returns.

PSS_THREAD_FLAGS Flags that describe a thread.

PSS_WALK_INFORMATION_CLASS Specifies what information the PssWalkSnapshot function


returns.

Functions
T IT L E DESC RIP T IO N

PssCaptureSnapshot Captures a snapshot of a target process.

PssDuplicateSnapshot Duplicates a snapshot handle from one process to another.

PssFreeSnapshot Frees a snapshot.

PssQuerySnapshot Queries the snapshot.

PssWalkMarkerCreate Creates a walk marker.


T IT L E DESC RIP T IO N

PssWalkMarkerFree Frees a walk marker created by PssWalkMarkerCreate.

PssWalkMarkerGetPosition Returns the current position of a walk marker.

PssWalkMarkerSeekToBeginning Rewinds a walk marker back to the beginning.

PssWalkMarkerSetPosition Sets the position of a walk marker.

PssWalkSnapshot Returns information from the current walk position and


advanced the walk marker to the next position.

Structures
T IT L E DESC RIP T IO N

PSS_ALLOCATOR Specifies custom functions which the Process Snapshotting


functions use to allocate and free the internal walk marker
structures.

PSS_AUXILIARY_PAGE_ENTRY Holds auxiliary page entry information returned by


PssWalkSnapshot.

PSS_AUXILIARY_PAGES_INFORMATION Holds auxiliary pages information returned by


PssQuerySnapshot.

PSS_HANDLE_ENTRY Holds information about a handle returned by


PssWalkSnapshot.

PSS_HANDLE_INFORMATION Holds handle information returned by PssQuerySnapshot.

PSS_HANDLE_TRACE_INFORMATION Holds handle trace information returned by


PssQuerySnapshot.

PSS_PERFORMANCE_COUNTERS Holds performance counters returned by PssQuerySnapshot.

PSS_PROCESS_INFORMATION Holds process information returned by PssQuerySnapshot.

PSS_THREAD_ENTRY Holds thread information returned by


PssWalkSnapshotPssWalkSnapshot.

PSS_THREAD_INFORMATION Holds thread information returned by PssQuerySnapshot.

PSS_VA_CLONE_INFORMATION Holds virtual address (VA) clone information returned by


PssQuerySnapshot.

PSS_VA_SPACE_ENTRY Holds the MEMORY_BASIC_INFORMATION returned by


PssWalkSnapshot for a virtual address (VA) region.

PSS_VA_SPACE_INFORMATION Holds virtual address (VA) space information returned by


PssQuerySnapshot.
Process Status API (PSAPI)
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Process Status API (PSAPI) technology.


To develop Process Status API (PSAPI), you need these headers:
psapi.h
For programming guidance for this technology, see:
Process Status API (PSAPI)

Functions
T IT L E DESC RIP T IO N

EmptyWorkingSet Removes as many pages as possible from the working set of


the specified process.

EnumDeviceDrivers Retrieves the load address for each device driver in the system.

EnumPageFilesA Calls the callback routine for each installed pagefile in the
system.

EnumPageFilesW Calls the callback routine for each installed pagefile in the
system.

EnumProcesses Retrieves the process identifier for each process object in the
system.

EnumProcessModules Retrieves a handle for each module in the specified process.

EnumProcessModulesEx Retrieves a handle for each module in the specified process


that meets the specified filter criteria.

GetDeviceDriverBaseNameA Retrieves the base name of the specified device driver.

GetDeviceDriverBaseNameW Retrieves the base name of the specified device driver.

GetDeviceDriverFileNameA Retrieves the path available for the specified device driver.

GetDeviceDriverFileNameW Retrieves the path available for the specified device driver.

GetMappedFileNameA Checks whether the specified address is within a memory-


mapped file in the address space of the specified process. If so,
the function returns the name of the memory-mapped file.

GetMappedFileNameW Checks whether the specified address is within a memory-


mapped file in the address space of the specified process. If so,
the function returns the name of the memory-mapped file.
T IT L E DESC RIP T IO N

GetModuleBaseNameA Retrieves the base name of the specified module.

GetModuleBaseNameW Retrieves the base name of the specified module.

GetModuleFileNameExA Retrieves the fully qualified path for the file containing the
specified module.

GetModuleFileNameExW Retrieves the fully qualified path for the file containing the
specified module.

GetModuleInformation Retrieves information about the specified module in the


MODULEINFO structure.

GetPerformanceInfo Retrieves the performance values contained in the


PERFORMANCE_INFORMATION structure.

GetProcessImageFileNameA Retrieves the name of the executable file for the specified
process.

GetProcessImageFileNameW Retrieves the name of the executable file for the specified
process.

GetProcessMemoryInfo Retrieves information about the memory usage of the


specified process.

GetWsChanges Retrieves information about the pages that have been added
to the working set of the specified process since the last time
this function or the InitializeProcessForWsWatch function was
called.

GetWsChangesEx Retrieves extended information about the pages that have


been added to the working set of the specified process since
the last time this function or the InitializeProcessForWsWatch
function was called.

InitializeProcessForWsWatch Initiates monitoring of the working set of the specified


process.

PENUM_PAGE_FILE_CALLBACKA An application-defined callback function used with the


EnumPageFiles function.

PENUM_PAGE_FILE_CALLBACKW An application-defined callback function used with the


EnumPageFiles function.

QueryWorkingSet Retrieves information about the pages currently added to the


working set of the specified process.

QueryWorkingSetEx Retrieves extended information about the pages at specific


virtual addresses in the address space of the specified process.

Structures
T IT L E DESC RIP T IO N

ENUM_PAGE_FILE_INFORMATION Contains information about a pagefile.

MODULEINFO Contains the module load address, size, and entry point.

PERFORMANCE_INFORMATION Contains performance information.

PROCESS_MEMORY_COUNTERS Contains the memory statistics for a process.

PROCESS_MEMORY_COUNTERS_EX Contains extended memory statistics for a process.

PSAPI_WORKING_SET_BLOCK Contains working set information for a page.

PSAPI_WORKING_SET_EX_BLOCK Contains extended working set information for a page.

PSAPI_WORKING_SET_EX_INFORMATION Contains extended working set information for a process.

PSAPI_WORKING_SET_INFORMATION Contains working set information for a process.

PSAPI_WS_WATCH_INFORMATION Contains information about a page added to a process


working set.

PSAPI_WS_WATCH_INFORMATION_EX Contains extended information about a page added to a


process working set.
Projected File System
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Projected File System technology.


To develop Projected File System, you need these headers:
projectedfslib.h
For programming guidance for this technology, see:
Projected File System

Enumerations
T IT L E DESC RIP T IO N

PRJ_CALLBACK_DATA_FLAGS Flags controlling what is returned in the enumeration.

PRJ_COMPLETE_COMMAND_TYPE Specifies command types.

PRJ_FILE_STATE The state of an item.

PRJ_NOTIFICATION A notification value specified when sending the notification in


a callback.

PRJ_NOTIFY_TYPES Types of notifications describing a change to the file or folder.

PRJ_PLACEHOLDER_ID Defines the length of a placeholder identifier.

PRJ_STARTVIRTUALIZING_FLAGS Flags to provide when starting a virtualization instance.

PRJ_UPDATE_FAILURE_CAUSES Descriptions for the reason an update failed.

PRJ_UPDATE_TYPES Flags to specify whether updates will be allowed given the


state of a file or directory on disk.

Functions
T IT L E DESC RIP T IO N

PRJ_CANCEL_COMMAND_CB Notifies the provider that an operation by an earlier invocation


of a callback should be canceled.

PRJ_END_DIRECTORY_ENUMERATION_CB Informs the provider that a directory enumeration is over.

PRJ_GET_DIRECTORY_ENUMERATION_CB Requests directory enumeration information from the provider.

PRJ_GET_FILE_DATA_CB Requests the contents of a file's primary data stream.


T IT L E DESC RIP T IO N

PRJ_GET_PLACEHOLDER_INFO_CB Requests information for a file or directory from the provider.

PRJ_NOTIFICATION_CB Delivers notifications to the provider about file system


operations.

PRJ_QUERY_FILE_NAME_CB Determines whether a given file path exists in the provider's


backing store.

PRJ_START_DIRECTORY_ENUMERATION_CB Informs the provider that a directory enumeration is starting.

PrjAllocateAlignedBuffer Allocates a buffer that meets the memory alignment


requirements of the virtualization instance's storage device.

PrjClearNegativePathCache Purges the virtualization instance's negative path cache, if it is


active.

PrjCompleteCommand Indicates that the provider has completed processing a


callback from which it had previously returned
HRESULT_FROM_WIN32(ERROR_IO_PENDING).

PrjDeleteFile Enables a provider to delete an item that has been cached on


the local file system.

PrjDoesNameContainWildCards Determines whether a name contains wildcard characters.

PrjFileNameCompare Compares two file names and returns a value that indicates
their relative collation order.

PrjFileNameMatch Determines whether a file name matches a search pattern.

PrjFillDirEntryBuffer Provides information for one file or directory to an


enumeration.

PrjFreeAlignedBuffer Frees an allocated buffer.

PrjGetOnDiskFileState Gets the on-disk file state for a file or directory.

PrjGetVirtualizationInstanceInfo Retrieves information about the virtualization instance.

PrjMarkDirectoryAsPlaceholder Converts an existing directory to a directory placeholder.

PrjStartVirtualizing Configures a ProjFS virtualization instance and starts it,


making it available to service I/O and invoke callbacks on the
provider.

PrjStopVirtualizing Stops a running ProjFS virtualization instance, making it


unavailable to service I/O or involve callbacks on the provider.

PrjUpdateFileIfNeeded Enables a provider to update an item that has been cached on


the local file system.

PrjWriteFileData TBD.
T IT L E DESC RIP T IO N

PrjWritePlaceholderInfo Sends file or directory metadata to ProjFS.

Structures
T IT L E DESC RIP T IO N

PRJ_CALLBACK_DATA Defines the standard information passed to a provider for


every operation callback.

PRJ_CALLBACKS A set of callback routines to where the provider stores its


implementation of the callback.

PRJ_COMPLETE_COMMAND_EXTENDED_PARAMETERS Specifies parameters required for completing certain callbacks.

PRJ_FILE_BASIC_INFO Basic information about an item.

PRJ_NOTIFICATION_MAPPING Describes a notification mapping, which is a pairing between a


directory (referred to as a "notification root") and a set of
notifications, expressed as a bit mask.

PRJ_NOTIFICATION_PARAMETERS Extra parameters for notifications.

PRJ_PLACEHOLDER_INFO A buffer of metadata for the placeholder file or directory.

PRJ_PLACEHOLDER_VERSION_INFO Information that uniquely identifies the contents of a


placeholder file.

PRJ_STARTVIRTUALIZING_OPTIONS Options to provide when starting a virtualization instance.

PRJ_VIRTUALIZATION_INSTANCE_INFO Information about a virtualization instance.


Quality of Service (QOS)
2/7/2020 • 12 minutes to read • Edit Online

Overview of the Quality of Service (QOS) technology.


To develop Quality of Service (QOS), you need these headers:
infocard.h
lpmapi.h
ntddpsch.h
qos.h
qos2.h
qosobjs.h
qospol.h
qossp.h
traffic.h
winsock2.h
For programming guidance for this technology, see:
Quality of Service (QOS)

Enumerations
T IT L E DESC RIP T IO N

FilterType The FilterType enumeration specifies the type of filter used for
an RSVP FILTERSPEC.

QOS_FLOWRATE_REASON The QOS_FLOWRATE_REASON enumeration indicates the


reason for a change in a flow's bandwidth.

QOS_NOTIFY_FLOW The QOS_NOTIFY_FLOW enumeration specifies the


circumstances that must be present for the QOSNotifyFlow
function to send a notification.

QOS_QUERY_FLOW The QOS_QUERY_FLOW enumeration indicates the type of


information a QOSQueryFlow function will request.

QOS_SET_FLOW The QOS_SET_FLOW enumeration indicates what is being


changed about a flow.

QOS_SHAPING The QOS_SHAPING enumeration defines the shaping


behavior of a flow.

QOS_TRAFFIC_TYPE The QOS_TRAFFIC_TYPE enumeration defines the various


traffic types. Each flow has a single traffic type. This allows the
QOS subsystem to apply user-specified policies to each type.

Functions
T IT L E DESC RIP T IO N

CBADMITRESULT The cbAdmitResult function is used by LPMs to return results


for the LPM_AdmitRsvpMsg request.

CBGETRSVPOBJECTS The cbGetRsvpObjects function is a callback function for LPMs


to asynchronously return results for LPM_GetRsvpObjects
requests.

LPM_AdmitRsvpMsg The LPM_AdmitRsvpMsg function is called by the PCM to


pass RSVP messages to the LPM for policy based–admission
control decisions.

LPM_CommitResv The LPM_CommitResv function is called by the PCM to obtain


reservation commitment decisions from the LPM.

LPM_Deinitialize The LPM_Deinitialize function allows the PCM to instruct


LPMs to deinitialize, whether due to system shutdown or a
change in Designated Subnet Bandwidth Manager (DSBM)
status.

LPM_DeleteState The LPM_DeleteState function is called by the PCM to delete


the LPMs' RSVP state information.

LPM_GetRsvpObjects The LPM_GetRsvpObjects function allows the PCM to query


LPMs for policy data.

LPM_Initialize The LPM_Initialize function initializes a local policy module


(LPM).

LPM_IpAddressTable The LPM_IpAddressTable function is used by the PCM to pass


a list of IP addresses assigned to the Windows 2000 Server
upon which the LPM is initialized.

PALLOCMEM The PALLOCMEM function is a memory allocation function


provided by the PCM, used for allocating memory when
returning policy information to the PCM.

PFREEMEM The PFREEMEM function is a memory-freeing function


provided by the PCM.

QOSAddSocketToFlow Adds a new flow for traffic.

QOSCancel Cancels a pending overlapped operation, like QOSSetFlow.

QOSCloseHandle The QOSCloseHandle function closes a handle returned by


the QOSCreateHandle function.

QOSCreateHandle This function initializes the QOS subsystem and the


QOSHandle parameter. The QOSHandle parameter is used
when calling other QOS functions. QOSCreateHandle must be
called before any other functions.

QOSEnumerateFlows Enumerates all existing flows.

QOSNotifyFlow Registers the calling application to receive a notification.


T IT L E DESC RIP T IO N

QOSQueryFlow Requests information about a specific flow.

QOSRemoveSocketFromFlow Notifies the QOS subsystem that a previously added flow has
been terminated.

QOSSetFlow Is called by an application to request the QOS subsystem to


prioritize the application's packets and change the flow traffic.

QOSStartTrackingClient The QOSStartTrackingClient function notifies the QOS


subsystem of the existence of a new client.

QOSStopTrackingClient The QOSStopTrackingClient function notifies the QoS


subsystem to stop tracking a client that has previously used
the QOSStartTrackingClient function. If a flow is currently in
progress, this function will not affect it.

TcAddFilter The TcAddFilter function associates a new filter with an


existing flow that allows packets matching the filter to be
directed to the associated flow.

TcAddFlow The TcAddFlow function adds a new flow on the specified


interface.

TcCloseInterface The TcCloseInterface function closes an interface previously


opened with a call to TcOpenInterface. All flows and filters on
a particular interface should be closed before closing the
interface with a call to TcCloseInterface.

TcDeleteFilter The TcDeleteFilter function deletes a filter previously added


with the TcAddFilter function.

TcDeleteFlow The TcDeleteFlow function deletes a flow that has been added
with the TcAddFlow function. Clients should delete all filters
associated with a flow before deleting it, otherwise, an error
will be returned and the function will not delete the flow.

TcDeregisterClient The TcDeregisterClient function deregisters a client with the


Traffic Control Interface (TCI).

TcEnumerateFlows The TcEnumerateFlows function enumerates installed flows


and their associated filters on an interface.

TcEnumerateInterfaces The TcEnumerateInterfaces function enumerates all traffic


control–enabled network interfaces. Clients are notified of
interface changes through the ClNotifyHandler function.

TcGetFlowNameA The TcGetFlowName function provides the name of a flow that


has been created by the calling client.

TcGetFlowNameW The TcGetFlowName function provides the name of a flow that


has been created by the calling client.

TCI_ADD_FLOW_COMPLETE_HANDLER The ClAddFlowComplete function is used by traffic control to


notify the client of the completion of its previous call to the
TcAddFlow function.
T IT L E DESC RIP T IO N

TCI_DEL_FLOW_COMPLETE_HANDLER The ClDeleteFlowComplete function is used by traffic control


to notify the client of the completion of its previous call to the
TcDeleteFlow function.

TCI_MOD_FLOW_COMPLETE_HANDLER The ClModifyFlowComplete function is used by traffic control


to notify the client of the completion of its previous call to the
TcModifyFlow function.

TCI_NOTIFY_HANDLER The ClNotifyHandler function is used by traffic control to


notify the client of various traffic control–specific events,
including the deletion of flows, changes in filter parameters, or
the closing of an interface.

TcModifyFlow The TcModifyFlow function modifies an existing flow. When


calling TcModifyFlow, new Flowspec parameters and any traffic
control objects should be filled.

TcOpenInterfaceA The TcOpenInterface function opens an interface.

TcOpenInterfaceW The TcOpenInterface function opens an interface.

TcQueryFlowA The TcQueryFlow function queries traffic control for the value
of a specific flow parameter based on the name of the flow.
The name of a flow can be retrieved from the
TcEnumerateFlows function or from the TcGetFlowName
function.

TcQueryFlowW The TcQueryFlow function queries traffic control for the value
of a specific flow parameter based on the name of the flow.
The name of a flow can be retrieved from the
TcEnumerateFlows function or from the TcGetFlowName
function.

TcQueryInterface The TcQueryInterface function queries traffic control for


related per-interface parameters.

TcRegisterClient The TcRegisterClient function is used to register a client with


the traffic control interface (TCI). The TcRegisterClient function
must be the first function call a client makes to the TCI.

TcSetFlowA The TcSetFlow function sets individual parameters for a given


flow.

TcSetFlowW The TcSetFlow function sets individual parameters for a given


flow.

TcSetInterface The TcSetInterface function sets individual parameters for a


given interface.

Structures
T IT L E DESC RIP T IO N

AD_GENERAL_PARAMS The AD_GENERAL_PARAMS structure contains the General


Characterization Parameters contained in the RSVP Adspec
object.

ADDRESS_LIST_DESCRIPTOR The ADDRESS_LIST_DESCRIPTOR structure provides network


address descriptor information for a given interface.

ADSPEC The ADSPEC structure contains Adspec message information


for RSVP.

CONTROL_SERVICE The CONTROL_SERVICE structure contains supported RSVP


service types.

CtrlLoadFlowspec The CtrlLoadFlowspec structure contains a Controlled Load


FLOWSPEC.

ENUMERATION_BUFFER The ENUMERATION_BUFFER structure contains information


specific to a given flow, including flow name, the number of
filters associated with the flow, and an array of filters
associated with the flow.

ERROR_SPEC The ERROR_SPEC structure contains RSVP error messages.

Error_Spec_IPv4 The Error_Spec_IPv4 structure stores error code information


for RSVP transmissions.

FILTER_SPEC The FILTER_SPEC structure stores information about an RSVP


FILTERSPEC.

Filter_Spec_IPv4 The Filter_Spec_IPv4 structure contains information about an


IPv4 FILTERSPEC.

Filter_Spec_IPv4GPI The Filter_Spec_IPv4GPI structure contains generalized port


ID information about an IPv4 FILTERSPEC.

FLOW_DESC The FLOW_DESC structure contains flow descriptor


information for RSVP.

FLOWDESCRIPTOR The FLOWDESCRIPTOR structure specifies one or more filters


for a given FLOWSPEC.

FLOWSPEC The FLOWSPEC structure provides quality of service


parameters to the RSVP SP.

Gads_parms_t The Gads_parms_t structure stores guaranteed service Adspec


parameters.

GenAdspecParams The GenAdspecParams structure contains general path


characterization parameters.

GenTspec The GenTspec structure stores generic Tspec information.

GenTspecParms The GenTspecParms structure stores generic Tspec


parameters.
T IT L E DESC RIP T IO N

GuarFlowSpec The GuarFlowSpec structure contains guaranteed flowspec


information.

GuarRspec The GuarRspec structure contains guaranteed Rspec


information.

ID_ERROR_OBJECT The ID_ERROR_OBJECT structure contains error message


information for Identity Policy Elements for RSVP.

IDPE_ATTR The IDPE_ATTR structure contains identity policy element


attribute information.

IN_ADDR_IPV4 The IN_ADDR_IPV4 union stores an IPv4 address for use with
RSVP FILTERSPECs.

IN_ADDR_IPV6 The IN_ADDR_IPV6 structure stores an IPv6 address for use


with RSVP FILTERSPECs.

IntServFlowSpec The IntServFlowSpec structure contains information about


Integrated Services flowspecs.

IntServMainHdr The IntServMainHdr structure is a header for Integrated


Services RSVP objects.

IntServParmHdr The IntServParmHdr structure is a header for Integrated


Services parameters.

IntServServiceHdr The IntServServiceHdr structure is a header for Integrated


Services service objects.

IntServTspecBody The IntServTspecBody structure contains information for an


RSVP Tspec.

IP_PATTERN The IP_PATTERN structure applies a specific pattern or


corresponding mask for the IP protocol. The IP_PATTERN
structure designation is used by the traffic control interface in
the application of packet filters.

IPX_PATTERN The IPX_PATTERN structure applies a specific pattern or


corresponding mask for the IPX protocol. The IPX_PATTERN
structure designation is used by the traffic control interface in
the application of packet filters.

IS_ADSPEC_BODY The IS_ADSPEC_BODY structure contains Integrated Services


Adspec information.

IS_FLOWSPEC The IS_FLOWSPEC structure stores an Integrated Services


FLOWSPEC object.

LPM_INIT_INFO The LPM_INIT_INFO structure contains local policy module


initialization information.
T IT L E DESC RIP T IO N

LPMIPTABLE The LPMIPTABLE structure contains IP information, including


the SNMP index, IP address, and subnet mask for each
interface. The LPMIPTABLE structure is supplied as an
argument for the Lpm_IpAddressTable function.

PARAM_BUFFER The PARAM_BUFFER structure describes the format of the


parameter buffer that can be included in the
CONTROL_SERVICE structure.

POLICY_DATA The POLICY_DATA structure contains policy data for RSVP


messages.

POLICY_DECISION The POLICY_DECISION structure contains RSVP policy


decision information.

POLICY_ELEMENT The POLICY_ELEMENT structure contains an RSVP policy


element.

POLICY_ELEMENT The POLICY_ELEMENT structure contains an RSVP policy


element.

PS_ADAPTER_STATS The PS_ADAPTER_STATS structure provides statistical packet


shaper information about a specified adapter. Note that the
PS_ADAPTER_STATS structure is used in conjunction with the
PS_COMPONENT_STATS structure.

PS_COMPONENT_STATS The PS_COMPONENT_STATS structure enables applications to


get statistical information regarding their TC-enabled flow.

PS_CONFORMER_STATS The PS_CONFORMER_STATS structure provides statistical


packet shaper information about a particular flow. Note that
the PS_CONFORMER_STATS structure is used in conjunction
with the PS_COMPONENT_STATS structure.

PS_DRRSEQ_STATS The PS_DRRSEQ_STATS structure provides network interface


card (NIC) and packet sequencer–packet shaper statistics.
Note that the PS_DRRSEQ_STATS structure is used in
conjunction with the PS_COMPONENT_STATS structure.

PS_FLOW_STATS The PS_FLOW_STATS structure provides statistical packet


shaper information about a particular flow. Note that the
PS_FLOW_STATS structure is used in conjunction with the
PS_COMPONENT_STATS structure.

PS_SHAPER_STATS The PS_SHAPER_STATS structure provides statistical packet


shaper information about the computer's packet shaper
component. Note that the PS_SHAPER_STATS structure is used
in conjunction with the PS_COMPONENT_STATS structure.

QOS The QOS structure provides the means by which QOS-


enabled applications can specify quality of service parameters
for sent and received traffic on a particular flow.
T IT L E DESC RIP T IO N

QOS_DESTADDR The QOS object QOS_DESTADDR is used during a call to the


WSAIoctl (SIO_SET_QOS) function in order to avoid issuing a
connect function call for a sending socket.

QOS_DIFFSERV The QOS_DIFFSERV traffic control object is used to specify


filters for the packet scheduler when it operates in
Differentiated Services Mode.

QOS_DIFFSERV_RULE The QOS_DIFFSERV_RULE structure is used in conjunction


with the traffic control object QOS_DIFFSERV to provide
Diffserv rules for a given flow.

QOS_DS_CLASS The traffic control object QOS_DS_CLASS enables application


developers to override the default Diffserv code point (DSCP)
value for the IP packets associated with a given flow. By
default, the DSCP value is derived from the flow's ServiceType.

QOS_FLOW_FUNDAMENTALS The QOS_FLOW_FUNDAMENTALS structure contains basic


information about a flow.

QOS_FLOWRATE_OUTGOING The QOS_FLOWRATE_OUTGOING structure is used to set flow


rate information in the QOSSetFlow function.

QOS_FRIENDLY_NAME The QOS_FRIENDLY_NAME traffic control object associates a


friendly name with flow.

QOS_OBJECT_HDR The QOS object QOS_OBJECT_HDR is attached to each QOS


object. It specifies the object type and its length.

QOS_PACKET_PRIORITY The QOS_PACKET_PRIORITY structure that indicates the


priority of the flow traffic.

QOS_SD_MODE The QOS object QOS_SD_MODE defines the behavior of the


traffic control-packet shaper component.

QOS_SHAPING_RATE The QOS object QOS_SHAPING_RATE specifies the uniform


traffic shaping rate be applied to a given flow.

QOS_TCP_TRAFFIC The QOS_TCP_TRAFFIC structure is used to indicate that IP


Precedence and UserPriority mappings for a given flow must
be set to system defaults for TCP traffic.

QOS_TRAFFIC_CLASS The traffic control object QOS_TRAFFIC_CLASS is used to


override the default UserPriority value ascribed to packets
that classify the traffic of a given flow.

QOS_VERSION The QOS_VERSION structure indicates the version of the QOS


protocol.

QualAppFlowSpec The QualAppFlowSpec structure contains FLOWSPEC


information for a qualitative application.

QualTspec The QualTspec structure contains qualitative Tspec


information.
T IT L E DESC RIP T IO N

QualTspecParms The QualTspecParms structure contains qualitative Tspec


parameters.

RESV_STYLE The RESV_STYLE structure contains information about RSVP


RESV style.

RSVP_ADSPEC The QOS object RSVP_ADSPEC provides a means by which


information describing network devices along the data path
between sender and receiver, pertaining to RSVP functionality
and available services, is provided or retrieved.

RSVP_FILTERSPEC The RSVP_FILTERSPEC structure provides RSVP FILTERSPEC


information.

RSVP_FILTERSPEC_V4 The RSVP_FILTERSPEC_V4 structure stores information for a


FILTERSPEC on an IPv4 address.

RSVP_FILTERSPEC_V4_GPI The RSVP_FILTERSPEC_V4_GPI structure provides general port


identifier information for a given FILTERSPEC.

RSVP_FILTERSPEC_V6 The RSVP_FILTERSPEC_V6 structure stores information for a


FILTERSPEC on an IPv6 address.

RSVP_FILTERSPEC_V6_FLOW The RSVP_FILTERSPEC_V6_FLOW structure provides flow label


information for an IPv6 FILTERSPEC.

RSVP_FILTERSPEC_V6_GPI The RSVP_FILTERSPEC_V6_GPI structure provides general port


identifier information for a given FILTERSPEC on an IPv6
address.

RSVP_HOP The RSVP_HOP structure contains information about an


RSVP-enabled hop.

Rsvp_Hop_IPv4 The Rsvp_Hop_IPv4 structure stores information about an


RSVP-enabled IPv4 hop.

RSVP_MSG_OBJS The RSVP_MSG_OBJS structure contains RSVP message


objects.

RSVP_POLICY The RSVP_POLICY structure stores one or more undefined


policy elements.

RSVP_POLICY_INFO The RSVP_POLICY_INFO structure stores undefined policy


elements retrieved from RSVP.

RSVP_RESERVE_INFO The QOS object RSVP_RESERVE_INFO, through the


ProviderSpecific buffer, enables RSVP behavior for a given flow
to be specified or modified at a granular level, and enables
default RSVP style settings for a flow to be overridden.

RSVP_SCOPE The RSVP_SCOPE structure provides RSVP scope information.

RSVP_SESSION The RSVP_SESSION structure stores information about an


RSVP SESSION message.
T IT L E DESC RIP T IO N

RSVP_STATUS_INFO The QOS object RSVP_STATUS_INFO provides information


regarding the status of RSVP for a given flow, including event
notifications associated with monitoring FD_QOS events, as
well as error information.

RsvpObjHdr The RsvpObjHdr structure provides an object header for an


RSVP message.

Scope_list_ipv4 The Scope_list_ipv4 structure contains RSVP SCOPE object


information.

SENDER_TSPEC The SENDER_TSPEC structure contains information for an


RSVP sender Tspec.

Session_IPv4 The Session_IPv4 structure stores information about an IPv4


RSVP SESSION object.

TC_GEN_FILTER The TC_GEN_FILTER structure creates a filter that matches a


certain set of packet attributes or criteria, which can
subsequently be used to associate packets that meet the
attribute criteria with a particular flow.

TC_GEN_FLOW The TC_GEN_FLOW structure creates a generic flow for use


with the traffic control interface. The flow is customized
through the members of this structure.

TC_IFC_DESCRIPTOR The TC_IFC_DESCRIPTOR structure is an interface identifier


used to enumerate interfaces.

TCI_CLIENT_FUNC_LIST The TCI_CLIENT_FUNC_LIST structure is used by the traffic


control interface to register and then access client-callback
functions. Each member of TCI_CLIENT_FUNC_LIST is a pointer
to the client provided–callback function.
Radial controller input
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Radial controller input technology.


To develop Radial controller input, you need these headers:
radialcontrollerinterop.h
For programming guidance for this technology, see:
Radial controller input

Functions
T IT L E DESC RIP T IO N

CreateForWindow Instantiates a RadialController object and binds it to the active


application.

GetForWindow Retrieves a RadialControllerConfiguration object bound to the


active application.

Interfaces
T IT L E DESC RIP T IO N

IRadialControllerConfigurationInterop Enables interoperability with a Universal Windows Platform


(UWP) RadialControllerConfiguration object and provides
access to RadialControllerConfiguration members for
customizing a RadialController menu.

IRadialControllerInterop Enables interoperability with a Universal Windows Platform


(UWP) RadialController object and provides access to
RadialController members for customizing the interaction
experience.
Remote Assistance
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Remote Assistance technology.


To develop Remote Assistance, you need these headers:
rendezvoussession.h
For programming guidance for this technology, see:
Remote Assistance

Enumerations
T IT L E DESC RIP T IO N

RENDEZVOUS_SESSION_FLAGS Provides the list of possible flags for the session invitation.

RENDEZVOUS_SESSION_STATE Provides the list of possible state codes of the session


invitation.

Functions
T IT L E DESC RIP T IO N

get_Flags Retrieves a value that indicates session information. For


example, the session flag can indicate whether the user is the
inviter or the invitee.

get_RemoteUser Retrieves a pointer to a BSTR that contains the Windows


Messenger contact name.

get_State Retrieves a value that indicates the session state.

SendContextData Sends the context data to the remote RendezvousApplication.

SetRendezvousSession Passes IRendezvousSession to the Windows Remote Assistance


application. This method is used by the instant messaging
application.

Terminate Terminates the remote RendezvousApplication.

Interfaces
T IT L E DESC RIP T IO N

DRendezvousSessionEvents Handles events that are generated or received by a


IRendezvousSession object.
T IT L E DESC RIP T IO N

IRendezvousApplication Exposes a method used by an instant messaging (IM)


application to create a remote assistance session.

IRendezvousSession Exposes methods that send data about the session and that
can terminate it.
Remote Desktop Services
2/7/2020 • 46 minutes to read • Edit Online

Overview of the Remote Desktop Services technology.


To develop Remote Desktop Services, you need these headers:
audioapotypes.h
cchannel.h
pchannel.h
rdpappcontainerclient.h
sbtsv.h
sessdirpublictypes.h
tsgauthenticationengine.h
tsgpolicyengine.h
tspubplugin2com.h
tspubplugincom.h
tssbx.h
tsuserex.h
tsvirtualchannels.h
workspaceax.h
workspaceruntime.h
workspaceruntimeclientext.h
wrdsgraphicschannels.h
wtsapi32.h
wtsdefs.h
wtshintapi.h
wtsprotocol.h
For programming guidance for this technology, see:
Remote Desktop Services

Enumerations
T IT L E DESC RIP T IO N

AAAccountingDataType Specifies the type of event that the


ITSGAccountingEngine::DoAccounting method is being
notified of.

AAAuthSchemes Specifies the type of authentication used to connect to


Remote Desktop Gateway (RD Gateway).

AE_POSITION_FLAGS Defines constants for the AE_CURRENT_POSITION structure.


These constants describe the degree of validity of the current
position.
T IT L E DESC RIP T IO N

APO_BUFFER_FLAGS Defines the buffer validation flags for the


APO_CONNECTION_PROPERTY structure associated with
each APO connection.

PolicyAttributeType Specifies the redirection settings associated with a


connection.

RDV_TASK_STATUS Used with the IRDVTaskPluginNotifySink::OnTaskStateChange


method to indicate the status of a task.

RemoteActionType The action to send to the remote session.

SnapshotEncodingType The type of encoding used for a Remote Desktop Protocol


(RDP) app container client snapshot.

SnapshotFormatType The data format used for a Remote Desktop Protocol (RDP)
app container client snapshot.

TARGET_CHANGE_TYPE Specifies the type of change that occurred in a target.

TARGET_STATE Indicates the state of a target.

TARGET_TYPE Indicates whether a target belongs to a pool or farm.

TS_SB_SORT_BY Specifies sort order. It is used as a parameter in the


EnumerateTargets method.

TSPUB_PLUGIN_PD_ASSIGNMENT_TYPE Specifies the type of assignment for a personal desktop


resolution.

TSPUB_PLUGIN_PD_RESOLUTION_TYPE Specifies the type of personal desktop resolution being


requested.

TSSD_AddrV46Type Indicates the IP address type.

TSSESSION_STATE Indicates the state of a session.

WRDS_CONNECTION_SETTING_LEVEL Specifies the type of structure contained in the


WRdsConnectionSetting member of the
WRDS_CONNECTION_SETTINGS structure.

WRDS_LISTENER_SETTING_LEVEL Used to specify the type of structure that is contained in the


WRdsListenerSetting member of the
WRDS_LISTENER_SETTINGS structure.

WRDS_SETTING_LEVEL Specifies the type of structure contained in the WRdsSetting


member of the WRDS_SETTINGS structure.

WRDS_SETTING_STATUS Specifies the status of a policy setting for various members of


the WRDS_SETTINGS_1 structure.

WRDS_SETTING_TYPE Specifies the category of settings being stored in a


WRDS_SETTINGS structure.
T IT L E DESC RIP T IO N

WRdsGraphicsChannelType Used to specify the type of graphics virtual channel to create


in the IWRdsGraphicsChannelManager::CreateChannel
method.

WTS_CERT_TYPE Contains values that specify the type of certificate used to


obtain a license.

WTS_CONFIG_CLASS Contains values that indicate the type of user configuration


information to set or retrieve in a call to the
WTSQueryUserConfig and WTSSetUserConfig functions.

WTS_CONFIG_SOURCE Specifies the source of configuration information returned by


the WTSQueryUserConfig function.

WTS_CONNECTSTATE_CLASS Specifies the connection state of a Remote Desktop Services


session.

WTS_INFO_CLASS Contains values that indicate the type of session information


to retrieve in a call to the WTSQuerySessionInformation
function.

WTS_LOGON_ERROR_REDIRECTOR_RESPONSE Contains values that specify the preferred response of the


protocol to a logon error.

WTS_RCM_DRAIN_STATE Contains information about the drain state of the Remote


Desktop Session Host (RD Session Host) server.

WTS_RCM_SERVICE_STATE Contains information about the state of the Remote Desktop


Services service.

WTS_TYPE_CLASS Specifies the type of structure that a Remote Desktop


Services function has returned in a buffer.

WTS_VIRTUAL_CLASS Contains values that indicate the type of virtual channel


information to retrieve.

WTSSBX_ADDRESS_FAMILY Contains values that indicate the address family of a network


address that is being used for redirection.

WTSSBX_MACHINE_DRAIN Contains values that indicate the drain state of a Remote


Desktop Session Host (RD Session Host) server.

WTSSBX_MACHINE_SESSION_MODE Contains values that indicate the session mode of a Remote


Desktop Session Host (RD Session Host) server.

WTSSBX_MACHINE_STATE Contains values that indicate the current state of a server.

WTSSBX_NOTIFICATION_TYPE Contains values that indicate the type of status change that
occurred on a Remote Desktop Session Host (RD Session
Host) server or a user session.

WTSSBX_SESSION_STATE Contains values that indicate the connection state of a user


session.
Functions
T IT L E DESC RIP T IO N

AcceptConnection Directs the protocol to continue with the connection request.

AcceptConnection IWTSProtocolConnection::AcceptConnection is no longer


available. Instead, use
IWRdsProtocolConnection::AcceptConnection.

AcquireTargetLock Locks a target.

AddEnvironmentToStore Adds an environment to the resource plug-in store.

AddResource Adds a resource to the connection in RemoteApp and


Desktop Connection.

AddResourceEx Adds a resource to the connection in RemoteApp and


Desktop Connection.

AddResourceType Registers a third-party file name extension with the


RemoteApp and Desktop Connections runtime.

AddSessionToStore Adds a new session to the resource plug-in store.

AddTargetToStore Adds a target to the resource plug-in store.

ApplySettings Stores the specified contents in the RDP file.

attachEvent Attaches an event handler to an event.

AuthenticateClientToSession Specifies a session that the connection should be


reconnected to.

AuthenticateClientToSession IWTSProtocolConnection::AuthenticateClientToSession is no
longer available. Instead, use
IWRdsProtocolConnection::AuthenticateClientToSession.

AuthenticateUser Authenticates a user.

AuthorizeConnection Determines whether the specified connection is authorized to


connect to Remote Desktop Gateway (RD Gateway).

AuthorizeResource Determines which resources the specified connection is


authorized to connect to.

BrokenConnection Informs the Remote Desktop Services service that the client
connection has been lost.

BrokenConnection IWTSProtocolConnectionCallback::BrokenConnection is no
longer available. Instead, use
IWRdsProtocolConnectionCallback::BrokenConnection.

CancelAuthentication Cancels an existing authentication request.


T IT L E DESC RIP T IO N

CancelJob Cancels a provisioning job.

CHANNEL_INIT_EVENT_FN An application-defined callback function that Remote


Desktop Services calls to notify the client DLL of virtual
channel events.

CHANNEL_OPEN_EVENT_FN An application-defined callback function that Remote


Desktop Services calls to notify the client DLL of events for a
specific virtual channel.

ClearWorkspaceCredential Deletes the user credentials associated with the specified


connection ID.

Close Closes the channel.

Close Called to close the channel.

Close Closes a connection after the session is disconnected.

Close IWTSProtocolConnection::Close is no longer available.


Instead, use IWRdsProtocolConnection::Close.

Connect Initiates a connection by using the properties currently set


on the Remote Desktop Protocol (RDP) app container client
control.

Connected Notifies the plug-in that the Remote Desktop Connection


(RDC) client has successfully connected to the Remote
Desktop Session Host (RD Session Host) server.

ConnectNotify Signals the protocol that the session has been initialized.

ConnectNotify IWTSProtocolConnection::ConnectNotify is no longer


available. Instead, use
IWRdsProtocolConnection::ConnectNotify.

CreateChannel Used to create a graphics virtual channel.

CreateEnvironmentObject Creates an ITsSbEnvironment environment object.

CreateEnvironmentPropertySetObject Creates an ITsSbEnvironmentPropertySet environment


property set object.

CreateListener Returns an instance of a listener object that listens on a


specific endpoint.

CreateListener Requests the creation of an IWRdsProtocolListener object


that listens for incoming client connection requests.

CreateListener IWTSProtocolManager::CreateListener is no longer available.


Instead, use IWRdsProtocolManager::CreateListener.
T IT L E DESC RIP T IO N

CreateLoadBalanceResultObject Creates an ITsSbLoadBalanceResult load-balancing result


object.

CreatePluginPropertySet Creates an ITsSbPluginPropertySet plug-in property set


object.

CreateSessionObject Plug-ins can use the CreateSessionObject method to create


an ITsSbSession session object.

CreateTargetObject Creates an ITsSbTarget target object.

CreateTargetPropertySetObject Creates an ITsSbTargetPropertySet target property set object.

CreateVirtualChannel Requests that the protocol create a virtual channel.

CreateVirtualChannel IWTSProtocolConnection::CreateVirtualChannel is no longer


available. Instead, use
IWRdsProtocolConnection::CreateVirtualChannel.

CreateVirtualMachines Creates a virtual machine asynchronously.

DeletePersonalDesktopAssignment Called to delete a mapping between the specified user and a


virtual machine in a personal virtual desktop collection.

DeleteProperties Deletes a property.

DeleteResourceType Unregisters a third-party file name extension with the


RemoteApp and Desktop Connections runtime.

DeleteSavedCredentials Deletes saved credentials for the specified remote computer.

DeleteTarget Deletes a target.

DeleteVirtualMachines Deletes a virtual machine asynchronously.

detachEvent Detaches an event handler from an event.

Disconnect Disconnects the active connection.

Disconnected Notifies the plug-in that the Remote Desktop Connection


(RDC) client has disconnected from the Remote Desktop
Session Host (RD Session Host) server.

DisconnectNotify Notifies the protocol that the session has been disconnected.

DisconnectNotify IWTSProtocolConnection::DisconnectNotify is no longer


available. Instead, use
IWRdsProtocolConnection::DisconnectNotify.

DisconnectUser Notifies Remote Desktop Gateway (RD Gateway) that it


should disconnect the client.
T IT L E DESC RIP T IO N

DisconnectWorkspace Disconnects all existing connections associated with the


specified connection ID.

DisconnectWorkspaceByFriendlyName Disconnects all existing connections associated with the


connection that has the specified name.

DisplayIOCtl IWTSProtocolConnectionCallback::DisplayIOCtl is no longer


available.

DoAccounting Provides information about the creation or closing of


sessions for a connection.

DoTarget Requests that the protocol start the target side of a shadow
connection.

DoTarget IWTSProtocolShadowConnection::DoTarget is no longer


available. Instead, use
IWRdsProtocolShadowConnection::DoTarget.

EnableRemoteFXGraphics Queries the protocol if RemoteFX graphics should be enabled


for the connection.

EnableWddmIdd Termsrv uses this method to tell protocol stack which mode
it is operating.

EnumerateEnvironments Returns an array that contains the environments present in


the resource plug-in store.

EnumerateEnvironmentsByProvider Returns an array that contains the environments present on


the specified provider.

EnumerateFarms Enumerates all the farms that have been added by the
specified resource plug-in.

EnumerateFarms Enumerates all the farms that have been added to the
resource plug-in store.

EnumerateProperties Enumerates a property set.

EnumerateSessions Returns an array that contains sessions on the specified


provider.

EnumerateSessions Enumerates a specified set of sessions.

EnumerateTargets Returns an array that contains the specified targets present


in the global store.

EnumerateTargets Returns an array that contains the specified targets that are
present in the resource plug-in store.

ExecuteRemoteAction Causes an action to be performed in the remote session.


T IT L E DESC RIP T IO N

get_Actions Retrieves the actions object for the Remote Desktop Protocol
(RDP) app container client.

get_AllowLogon A value that specifies whether the user is allowed to log on


to the Remote Desktop Session Host (RD Session Host)
server.

get_BrokenConnectionAction A value that specifies the action to take when a Remote


Desktop Services session limit is reached.

get_ClientConnectionPropertySet Retrieves an object that contains properties associated with


the client connection.

get_ClientDisplay Retrieves or specifies information about the display device of


the client computer.

get_ConnectClientDrivesAtLogon A value that specifies if mapped client drives should be


reconnected when a Remote Desktop Services session is
started.

get_ConnectClientPrintersAtLogon A value that specifies whether to reconnect to mapped client


printers at logon.

get_ConnectionError Retrieves a value that indicates the error that occurred while
a client connection was being processed.

get_Context Retrieves the context bytes associated with the task.

get_CreateTime Retrieves or specifies the time the session was created.

get_Deadline Retrieves the time by which the task must be initiated. This is
used to prioritize patches. The patch with the earliest
deadline will get initiated first.

get_DefaultToMainPrinter A value that specifies whether to print automatically to the


client's default printer.

get_DisconnectTime Retrieves or specifies the time the session was disconnected.

get_Domain Retrieves a value that indicates the domain name of the


Remote Desktop Connection (RDC) client.

get_Domain Retrieves the domain name of the user.

get_Enabled Whether the touch pointer feature is enabled on the RDP


app container client control.

get_EnableRemoteControl A value that specifies whether to allow remote observation


or remote control of the user's Remote Desktop Services
session.

get_EndTime Retrieves the latest time the task agent can start the task.
T IT L E DESC RIP T IO N

get_Environment Retrieves an object that contains information about the


environment that hosts the target computer.

get_EnvironmentName Retrieves or specifies the name of the environment


associated with the target.

get_EnvironmentPropertySet Retrieves or specifies the property set for the environment


that hosts the target computer.

get_EventsEnabled Whether touch pointer event notifications are enabled for


the RDP app container client control.

get_FarmName Farm name.

get_FarmName Retrieves or specifies the name of the farm to which this


target is joined.

get_Identifier Retrieves a GUID that is used as a unique identifier by the


task agent.

get_InitialProgram Retrieves a value that indicates the program that is launched


when the user logs on to the target computer.

get_InitialProgram Retrieves or specifies the initial program for this session.

get_IpAddresses Retrieves or specifies the external IP addresses of the target.

get_IsFirstAssignment Whether this is the first assignment.

get_Label Retrieves the label that describes the purpose of the task.

get_LoadBalanceResult Retrieves a value that indicates the name of the target


computer returned by load balancing.

get_MaxConnectionTime The maximum duration of the Remote Desktop Services


session. After the specified number of minutes have elapsed,
the session can be disconnected or terminated.

get_MaxDisconnectionTime The maximum amount of time that a disconnected Remote


Desktop Services session remains active on the Remote
Desktop Session Host (RD Session Host) server. After the
specified number of minutes have elapsed, the session is
terminated.

get_MaxIdleTime The maximum amount of time that the Remote Desktop


Services session can remain idle. After the specified number
of minutes has elapsed, the session can be disconnected or
terminated.

get_Name Retrieves a value that indicates the name of the environment


that hosts the target computer.

get_NumPendingConnections Retrieves the number of pending user connections for the


target.
T IT L E DESC RIP T IO N

get_NumSessions Retrieves the number of sessions maintained by broker for


the target.

get_Plugin Retrieves the display name of the task agent.

get_pluginName Retrieves the name of the plug-in.

get_pluginVersion Retrieves the version of the plug-in.

get_PointerSpeed How fast the touch pointer cursor will move on the virtual
desktop relative to the speed of the gesture on the client.

get_ProtocolType Retrieves or specifies the protocol type for the session.

get_RdFarmType Rd Farm Type.

get_ReconnectionAction A value that specifies if reconnection to a disconnected


Remote Desktop Services session is allowed.

get_SamUserAccount Retrieves a value that indicates the domain name and user
name of the user who initiated the connection.

get_ServerWeight Retrieves a value that indicates the server weight of the


environment that hosts the target computer.

get_SessionId Retrieves the session ID.

get_Settings Retrieves the settings object for the Remote Desktop


Protocol (RDP) app container client.

get_StartTime Retrieves the earliest time the task agent can start the task.

get_State Retrieves or specifies the session state.

get_Status Retrieves an RDV_TASK_STATUS enumeration value that


represents the state of the task.

get_TargetFQDN Retrieves or specifies the fully qualified domain name of the


target.

get_TargetId Retrieves the target identifier.

get_TargetLoad Retrieves the relative load on a target.

get_TargetName Retrieves the target name returned by a load-balancing


algorithm.

get_TargetName Retrieves the name of the target on which this session was
created.

get_TargetName Specifies or retrieves the name of the target.


T IT L E DESC RIP T IO N

get_TargetNetbios Retrieves or specifies the NetBIOS name of the target.

get_TargetPropertySet Retrieves or specifies the set of properties for the target.

get_TargetState Retrieves or specifies the target state.

get_TerminalServicesHomeDirectory The root directory for the user. Each user on a Remote
Desktop Session Host (RD Session Host) server has a unique
root directory. This ensures that application information is
stored separately for each user in a multiuser environment.

get_TerminalServicesHomeDrive The root drive for the user. In a network environment, this
property is a string that contains a drive specification (a drive
letter followed by a colon) to which the UNC path specified
as the root directory is mapped.

get_TerminalServicesInitialProgram The path and file name of the application that the user wants
to start automatically when the user logs on to the Remote
Desktop Session Host (RD Session Host) server.

get_TerminalServicesProfilePath The roaming or mandatory profile path to be used when the


user logs on to the Remote Desktop Session Host
(RD Session Host) server.

get_TerminalServicesWorkDirectory The working directory path for the user.

get_TouchPointer Contains the RemoteDesktopClientTouchPointer object for


the Remote Desktop Protocol (RDP) app container client.

get_Username Retrieves the user name for this session.

get_UserName Retrieves a value that indicates the name of the user who
initiated the connection.

get_UserSidString User SID as a string.

GetCacheLastUpdateTime Returns the time that the cache was last updated.

GetClaimsToken2 Retrieves a claims token.

GetClientData Requests client settings from the protocol.

GetClientData IWTSProtocolConnection::GetClientData is no longer


available. Instead, use
IWRdsProtocolConnection::GetClientData.

GetClientMonitorData Retrieves the number of monitors and the primary monitor


number on the client.

GetConfiguration Retrieves the listener-specific configuration.

GetConnectionId Retrieves the connection identifier.


T IT L E DESC RIP T IO N

GetContext Retrieves context information that was stored by a plug-in by


using the PutContext method.

GetCurrentPadding Gets the amount, in 100-nanosecond units, of data that is


queued up in the endpoint.

GetDisconnectedSession Gets a disconnected session.

GetEventDrivenCapable Indicates whether the device endpoint is event driven. The


device endpoint controls the period of the audio engine by
setting events that signal buffer availability.

GetFarmProperty Retrieves a property of a farm.

GetFarmProperty Retrieves a property of a farm.

GetFilterPluginStore Retrieves a FilterPluginStore instance of the filter plugin store.

GetFrameFormat Retrieves the format of the audio endpoint.

GetFramesPerPacket Gets the maximum number of frames per packet that the
audio endpoint can support, based on the endpoint's period
and the sample rate.

GetHardwareId Protocol stack uses this method to return hardware Id of


WDDM ID driver.

GetInputDataPointer Gets a pointer to the buffer from which data will be read by
the audio engine.

GetInputHandles Obtains the handles to input/output devices for the protocol.

GetInstanceOfGlobalStore Retrieves an ITsSbGlobalStore instance of the global store


object.

GetLastInputTime Retrieves the last time the protocol received user input.

GetLastInputTime IWTSProtocolConnection::GetLastInputTime is no longer


available. Instead, use
IWRdsProtocolConnection::GetLastInputTime.

GetLatency Gets the latency of the audio endpoint.

GetLicenseConnection Retrieves an IWRdsProtocolLicenseConnection object that is


used to begin the client licensing process.

GetLicenseConnection IWTSProtocolConnection::GetLicenseConnection is no longer


available. Instead, use
IWRdsProtocolConnection::GetLicenseConnection.

GetLogonErrorRedirector Retrieves an IWRdsProtocolLogonErrorRedirector interface


that specifies how the protocol should handle client logon
errors.
T IT L E DESC RIP T IO N

GetLogonErrorRedirector IWTSProtocolConnection::GetLogonErrorRedirector is no
longer available. Instead, use
IWRdsProtocolConnection::GetLogonErrorRedirector.

GetMappedRenderer Obtains the bitmap rendering object used to render media


on the server.

GetMostSuitableTarget Determines the most suitable target to which to direct an


incoming client connection.

GetOutputDataPointer Returns a pointer to the output buffer in which data will be


written by the audio engine.

GetProcessId Retrieves the process ID of the current connection in


RemoteApp and Desktop Connection.

GetProtocolHandles IWTSProtocolConnection::GetProtocolHandles is no longer


available.

GetProtocolStatus Retrieves information about the protocol status.

GetProtocolStatus IWTSProtocolConnection::GetProtocolStatus is no longer


available. Instead, use
IWRdsProtocolConnection::GetProtocolStatus.

GetRdpProperty Retrieves a single named RDP property value.

GetRegisteredFileExtensions Retrieves the third-party file name extensions that are


registered with the RemoteApp and Desktop Connections
runtime.

GetRendererStatistics Retrieves statistics for the RemoteFX media redirection


bitmap renderer.

GetResource This method is reserved and should always return


E_NOTIMPL.

GetResource2 This method is reserved and should always return


E_NOTIMPL.

GetResource2List Retrieves a list of resources assigned to the specified user.

GetResourceDisplayName Returns the display name of the custom client in RemoteApp


and Desktop Connection.

GetResourceId Returns the ID of the custom client in RemoteApp and


Desktop Connection.

GetResourceList Retrieves a list of resources assigned to the specified user.

GetResourcePluginStore Retrieves an ITsSbResourcePluginStore instance of the


resource plug-in store.
T IT L E DESC RIP T IO N

GetResourceTypeInfo Retrieves information about a third-party file name extension


that is registered with the RemoteApp and Desktop
Connections runtime.

GetRTCaps Queries whether the audio device is real-time (RT)-capable.


This method is not used in Remote Desktop Services
implementations of IAudioDeviceEndpoint.

GetServerState Retrieves the state of a specified server.

GetService Obtains the specified service.

GetSettings Gets the listener setting information for client connection


requests.

GetSettings Retrieves the settings for a particular policy.

GetShadowConnection Retrieves a reference to the shadow connection object from


the protocol.

GetShadowConnection IWTSProtocolConnection::GetShadowConnection is no longer


available. Instead, use
IWRdsProtocolConnection::GetShadowConnection.

GetSnapshot Causes a snapshot of the Remote Desktop Protocol (RDP)


app container client's in-session desktop to be taken.

GetUserCredentials Returns user credentials.

GetUserCredentials IWTSProtocolConnection::GetUserCredentials is no longer


available. Instead, use
IWRdsProtocolConnection::GetUserCredentials.

GetUserData IWTSProtocolConnection::GetUserData is no longer available.


Instead, use IWRdsProtocolSettings::MergeSettings.

GetVideoHandle Obtains the handle of the video device for the protocol.

GetVirtualChannelTransport Retrieves the virtual channel transport object.

GetWaitTimeout Retrieves the wait timeout.

GetWorkspaceNames Retrieves the names of the connections in the current


process.

Initialize Initializes the plug-in and returns a value that indicates the
redirection capabilities of the plug-in.

Initialize Initializes the plug-in.

Initialize Used for the first call that is made from the client to the
plug-in.
T IT L E DESC RIP T IO N

Initialize Initializes the protocol manager.

InitializeTaskPlugin Initializes a task that is in the queue of a Remote Desktop


Connection Broker plugin.

InvokeTargetShadow Instructs the Remote Desktop Services service to begin the


target side of the shadow and passes any information that
must be exchanged between the client and the target.

InvokeTargetShadow IWTSProtocolShadowCallback::InvokeTargetShadow is no
longer available. Instead, use
IWRdsProtocolShadowCallback::InvokeTargetShadow.

IsErrorMessageRegistered Determines whether a specified error message is registered in


a specified workspace.

IsQuarantineEnabled Indicates whether the authorization plug-in requires a


statement of health (SoH) from the user's computer.

IssueDisconnect Disconnects the custom client in RemoteApp and Desktop


Connection.

IsUserAllowedToLogon Determines from the protocol whether a user is allowed to


log on to a session.

IsUserAllowedToLogon IWTSProtocolConnection::IsUserAllowedToLogon is no longer


available. Instead, use
IWRdsProtocolConnection::IsUserAllowedToLogon.

IsWorkspaceCredentialSpecified Determines whether user credentials exist for the specified


connection ID.

IsWorkspaceSSOEnabled Determines whether single sign on (SSO) is enabled for


RemoteApp and Desktop Connection.

LockVirtualMachine Notifies Remote Desktop Connection Broker (RD Connection


Broker) that the virtual machine is locked.

LogonNotify Called when the user has logged on to the session.

LogonNotify IWTSProtocolConnection::LogonNotify is no longer available.


Instead, use IWRdsProtocolConnection::LogonNotify.

MergeSettings Adds (merges) the specified policy-related settings into the


larger group of connection settings.

ModifyResourceType Modifies a third-party file name extension that is registered


with the RemoteApp and Desktop Connections runtime.

NotifyClientConnectionStateChange Notifies registered plug-ins about state changes in a client


connection.

NotifyClientConnectionStateChangeEx Notifies registered plug-ins about state changes in a client


connection.
T IT L E DESC RIP T IO N

NotifyCommandProcessCreated Notifies the protocol that the Winlogon.exe process has been
created and initialized.

NotifyServiceFailure Notifies registered plug-ins that the Remote Desktop


Connection Broker (RD Connection Broker) service has
stopped.

NotifyServiceStateChange Notifies the protocol provider that the state of the Remote
Desktop Services service is changing.

NotifyServiceStateChange IWTSProtocolManager::NotifyServiceStateChange is no
longer available. Instead, use
IWRdsProtocolManager::NotifyServiceStateChange.

NotifyServiceSuccess Notifies registered plug-ins that the Remote Desktop


Connection Broker (RD Connection Broker) service has
started.

NotifySessionChange Notifies registered plug-ins about state changes in a session


object.

NotifySessionChangeEx Notifies registered plug-ins about state changes in a session


object.

NotifySessionId Sends the identifier of the new session to the protocol.

NotifySessionId IWTSProtocolConnection::NotifySessionId is no longer


available. Instead, use
IWRdsProtocolConnection::NotifySessionId.

NotifySessionOfServiceStart Notifies the protocol provider that the Remote Desktop


Services service has started for a given session.

NotifySessionOfServiceStart IWTSProtocolManager::NotifySessionOfServiceStart is no
longer available. Instead, use
IWRdsProtocolManager::NotifySessionOfServiceStart.

NotifySessionOfServiceStop Notifies the protocol provider that the Remote Desktop


Services service has stopped for a given session.

NotifySessionOfServiceStop IWTSProtocolManager::NotifySessionOfServiceStop is no
longer available. Instead, use
IWRdsProtocolManager::NotifySessionOfServiceStop.

NotifySessionStateChange Notifies the protocol provider of changes in the state of a


session.

NotifySessionStateChange IWTSProtocolManager::NotifySessionStateChange is no
longer available. Instead, use
IWRdsProtocolManager::NotifySessionStateChange.

NotifySettingsChange Notifies the protocol provider of changes in the settings


within the Remote Desktop Services service.
T IT L E DESC RIP T IO N

NotifyTargetChange Notifies registered plug-ins about state changes in a target


object.

NotifyTargetChangeEx Notifies registered plug-ins about state changes in a target


object.

OnAuthenticated Marks the authentication of user credentials for the


connection ID, and subsequently shows the connect
notification in the taskbar notification area.

OnBeginPainting Notifies the protocol that the logon user interface is ready to
begin painting.

OnBeginPainting IWTSProtocolLogonErrorRedirector::OnBeginPainting is no
longer available. Instead, use
IWRdsProtocolLogonErrorRedirector::OnBeginPainting.

OnChannelAuthorized Notifies Remote Desktop Gateway (RD Gateway) about the


result of an attempt to authorize a resource.

OnChannelOpened Called when the channel has been opened and is ready for
use, or when an error occurs when a channel is opened.

OnClose Notifies the user that the channel has been closed.

OnClose Called when the channel has been closed.

OnCompleted Reports completion to Remote Desktop Connection Broker


(RD Connection Broker).

OnConnected Notifies the Remote Desktop Services service that a client


connection request has been received.

OnConnected IWTSProtocolListenerCallback::OnConnected is no longer


available. Instead, use
IWRdsProtocolListenerCallback::OnConnected.

OnConnectionAuthorized Notifies Remote Desktop Gateway (RD Gateway) about the


result of an attempt to authorize a connection.

OnDataReceived Notifies the user about data that is being received.

OnDataReceived Called when a full message is received from the server.

OnDataSent Called when the IWRdsGraphicsChannel::Write method is


called and the data has been sent.

OnDeleteTaskTime Notifies Remote Desktop Connection Broker (RD Connection


Broker) that a task has been removed from the queue.

OnDriverLoad Termsrv uses this method to return a handle of the loaded


WDDM ID driver to the protocol stack. From this point the
stack owns the handle and needs to call CloseHandle() after
communication with the driver is no longer needed.
T IT L E DESC RIP T IO N

OnDriverUnload Termsrv uses this method to tell the protocol stack that PnP
unloaded the WDDM ID driver.

OnError Reports an error condition to Remote Desktop Connection


Broker (RD Connection Broker).

OnGetMostSuitableTarget Returns a load-balancing result to Remote Desktop


Connection Broker (RD Connection Broker).

OnInitialized Notifies Remote Desktop Connection Broker (RD Connection


Broker) that the plug-in has completed a call of Initialize.

OnJobCancelled Notifies Remote Desktop Connection Broker (RD Connection


Broker) that the job is cancelled.

OnJobCompleted Notifies Remote Desktop Connection Broker (RD Connection


Broker) that the job is complete.

OnJobCreated Notifies Remote Desktop Connection Broker (RD Connection


Broker) that a provisioning job is created.

OnMetricsUpdate Called to notify the RemoteFX graphics services that network


conditions have changed.

OnNewChannelConnection Allows the Remote Desktop Connection (RDC) client plug-in


to accept or deny a connection request for an incoming
connection.

OnQueryEnvironmentCompleted Notifies Remote Desktop Connection Broker (RD Connection


Broker) that the environment specified by the
ITsSbClientConnection object is already hosting the correct
target.

OnReady Requests that the Remote Desktop Services service continue


the connection process for that client.

OnReady IWTSProtocolConnectionCallback::OnReady is no longer


available. Instead, use
IWRdsProtocolConnectionCallback::OnReady.

OnReadyToConnect Returns an ITsSbTarget object to Remote Desktop Connection


Broker (RD Connection Broker) after the target is successfully
prepared for a connection.

OnReportStatus Sends status messages to the Remote Desktop Connection


(RDC) client regarding the processing of a client connection.

OnReportTasks Notifies Remote Desktop Connection Broker (RD Connection


Broker) of a new task report.

OnSetTaskTime Notifies Remote Desktop Connection Broker (RD Connection


Broker) that a task has been scheduled.

OnTargetSizeChanged Called when the size of the render target has changed.
T IT L E DESC RIP T IO N

OnTerminated Notifies Remote Desktop Connection Broker (RD Connection


Broker) that the plug-in has completed a call of Terminate.

OnUpdateTaskStatus Notifies Remote Desktop Connection Broker (RD Connection


Broker) that the status of a task has changed.

OnUserAuthenticated Notifies Remote Desktop Gateway (RD Gateway) that the


authentication plug-in has successfully authenticated the
user.

OnUserAuthenticationFailed Notifies Remote Desktop Gateway (RD Gateway) that the


authentication plug-in failed to authenticate the user.

OnVirtualMachineHostStatusChanged Notifies Remote Desktop Connection Broker (RD Connection


Broker) that the status of the host of a virtual machine is
changed.

OnVirtualMachineStatusChanged Notifies Remote Desktop Connection Broker (RD Connection


Broker) that the status of a virtual machine is changed.

Open Called to open a channel.

PatchVirtualMachines Patches a virtual machine asynchronously.

PreDisconnect Notifies the protocol that the session is about to be


disconnected.

PrepareTargetForConnect Prepares the target for a client connection.

ProcessIdToSessionId Retrieves the Remote Desktop Services session associated


with a specified process.

ProcessingComplete Notifies the endpoint that a processing pass has been


completed.

ProtocolComplete Notifies the protocol whether the licensing process


completed successfully.

ProtocolComplete IWTSProtocolLicenseConnection::ProtocolComplete is no
longer available. Instead, use
IWRdsProtocolLicenseConnection::ProtocolComplete.

PulseEndpoint Is reserved.

PulseEndpoint Is reserved.

put_AllowLogon A value that specifies whether the user is allowed to log on


to the Remote Desktop Session Host (RD Session Host)
server.

put_BrokenConnectionAction A value that specifies the action to take when a Remote


Desktop Services session limit is reached.
T IT L E DESC RIP T IO N

put_ClientDisplay Retrieves or specifies information about the display device of


the client computer.

put_ConnectClientDrivesAtLogon A value that specifies if mapped client drives should be


reconnected when a Remote Desktop Services session is
started.

put_ConnectClientPrintersAtLogon A value that specifies whether to reconnect to mapped client


printers at logon.

put_CreateTime Retrieves or specifies the time the session was created.

put_DefaultToMainPrinter A value that specifies whether to print automatically to the


client's default printer.

put_DisconnectTime Retrieves or specifies the time the session was disconnected.

put_Enabled Whether the touch pointer feature is enabled on the RDP


app container client control.

put_EnableRemoteControl A value that specifies whether to allow remote observation


or remote control of the user's Remote Desktop Services
session.

put_EnvironmentName Retrieves or specifies the name of the environment


associated with the target.

put_EnvironmentPropertySet Retrieves or specifies the property set for the environment


that hosts the target computer.

put_EventsEnabled Whether touch pointer event notifications are enabled for


the RDP app container client control.

put_FarmName Retrieves or specifies the name of the farm to which this


target is joined.

put_InitialProgram Retrieves or specifies the initial program for this session.

put_IpAddresses Retrieves or specifies the external IP addresses of the target.

put_MaxConnectionTime The maximum duration of the Remote Desktop Services


session. After the specified number of minutes have elapsed,
the session can be disconnected or terminated.

put_MaxDisconnectionTime The maximum amount of time that a disconnected Remote


Desktop Services session remains active on the Remote
Desktop Session Host (RD Session Host) server. After the
specified number of minutes have elapsed, the session is
terminated.

put_MaxIdleTime The maximum amount of time that the Remote Desktop


Services session can remain idle. After the specified number
of minutes has elapsed, the session can be disconnected or
terminated.
T IT L E DESC RIP T IO N

put_ProtocolType Retrieves or specifies the protocol type for the session.

put_ReconnectionAction A value that specifies if reconnection to a disconnected


Remote Desktop Services session is allowed.

put_State Retrieves or specifies the session state.

put_TargetFQDN Retrieves or specifies the fully qualified domain name of the


target.

put_TargetName Specifies or retrieves the name of the target.

put_TargetNetbios Retrieves or specifies the NetBIOS name of the target.

put_TargetPropertySet Retrieves or specifies the set of properties for the target.

put_TargetState Retrieves or specifies the target state.

put_TerminalServicesHomeDirectory The root directory for the user. Each user on a Remote
Desktop Session Host (RD Session Host) server has a unique
root directory. This ensures that application information is
stored separately for each user in a multiuser environment.

put_TerminalServicesHomeDrive The root drive for the user. In a network environment, this
property is a string that contains a drive specification (a drive
letter followed by a colon) to which the UNC path specified
as the root directory is mapped.

put_TerminalServicesInitialProgram The path and file name of the application that the user wants
to start automatically when the user logs on to the Remote
Desktop Session Host (RD Session Host) server.

put_TerminalServicesProfilePath The roaming or mandatory profile path to be used when the


user logs on to the Remote Desktop Session Host
(RD Session Host) server.

put_TerminalServicesWorkDirectory The working directory path for the user.

PutContext Can be used by plug-ins to store context information specific


to the connection.

QueryEnvironment Returns the specified environment object.

QueryEnvironmentForTarget Determines whether the specified environment is ready to


host the target that was returned by load balancing.

QueryProperty Retrieves a property value from the protocol.

QueryProperty IWTSProtocolConnection::QueryProperty is no longer


available. Instead, use
IWRdsProtocolConnection::QueryProperty.
T IT L E DESC RIP T IO N

QuerySessionBySessionId Retrieves the ITsSbSession object associated with the given


session ID.

QuerySessionBySessionId Returns the session object that has the specified session ID.

QueryTarget Retrieves the ITsSbTarget object for the given parameters.

QueryTarget Returns the target that has the specified target name and
farm name.

ReauthenticateUser Notifies Remote Desktop Gateway (RD Gateway) that it


should silently reauthenticate and reauthorize the user.

Reconnect Initiates an automatic reconnection of the Remote Desktop


Protocol (RDP) app container client control to fit the session
to the new width and height.

RedirectLogonError Queries the protocol for the action to take in response to a


logon error.

RedirectLogonError IWTSProtocolLogonErrorRedirector::RedirectLogonError is no
longer available. Instead, use
IWRdsProtocolLogonErrorRedirector::RedirectLogonError.

RedirectMessage Queries the protocol regarding how to redirect the logon


message.

RedirectMessage IWTSProtocolLogonErrorRedirector::RedirectMessage is no
longer available. Instead, use
IWRdsProtocolLogonErrorRedirector::RedirectMessage.

RedirectStatus Queries the protocol regarding how to redirect the client


logon status update.

RedirectStatus IWTSProtocolLogonErrorRedirector::RedirectStatus is no
longer available. Instead, use
IWRdsProtocolLogonErrorRedirector::RedirectStatus.

RedrawWindow Requests that the Remote Desktop Services service redraw


the client window.

RedrawWindow IWTSProtocolConnectionCallback::RedrawWindow is no
longer available. Instead, use
IWRdsProtocolConnectionCallback::RedrawWindow.

Refresh This method is reserved.

RegisterErrorEvent Registers the specified error event message to use in the UI.

RegisterErrorLogMessage Registers the specified error message to use in the UI.

RegisterForNotification Requests that Remote Desktop Connection Broker


(RD Connection Broker) send notifications about specified
events.
T IT L E DESC RIP T IO N

ReleaseInputDataPointer Releases the acquired data pointer.

ReleaseOutputDataPointer Releases the pointer to the output buffer.

ReleaseTargetLock Releases a lock on a target.

RemoveEnvironmentFromStore Removes the specified environment from the resource plug-


in store.

RemoveMapping Called by a dynamic virtual channel plug-in to remove a


render mapping.

RemoveResource Notifies the RemoteApp and Desktop Connection runtime


that the client is disconnecting the connection.

RemoveResourceEx Notifies the RemoteApp and Desktop Connection runtime


that the client is disconnecting the connection.

Render Called by a dynamic virtual channel plug-in to render


bitmaps.

RequestClientLicense Requests a license from the client.

RequestClientLicense IWTSProtocolLicenseConnection::RequestClientLicense is no
longer available. Instead, use
IWRdsProtocolLicenseConnection::RequestClientLicense.

RequestLicensingCapabilities Requests license capabilities from the client.

RequestLicensingCapabilities IWTSProtocolLicenseConnection::RequestLicensingCapabilities
is no longer available. Instead, use
IWRdsProtocolLicenseConnection::RequestLicensingCapabiliti
es.

Reset Resets the endpoint stream.

ResolvePersonalDesktop Called to resolve a mapping between the specified user and a


virtual machine in a personal virtual desktop collection.

ResolveResource Provides information about how to connect to a user's


assigned personal virtual desktop.

ResourceDismissed Alerts the user that a resource has been disabled or


otherwise dismissed.

ResumeScreenUpdates Resumes screen updates being sent to the client.

RetrieveSettings Retrieves the entire RDP file as a string.

SaveEnvironment Saves an environment.

SaveProperties Saves a property set.


T IT L E DESC RIP T IO N

SaveSession Saves a session.

SaveTarget Saves a target.

SendBeep IWTSProtocolConnection::SendBeep is no longer available.

SendClientLicense Sends a license to the client.

SendClientLicense IWTSProtocolLicenseConnection::SendClientLicense is no
longer available. Instead, use
IWRdsProtocolLicenseConnection::SendClientLicense.

SendPolicyData IWTSProtocolConnection::SendPolicyData is no longer


available. Instead, use
IWRdsProtocolManager::NotifySettingsChange.

SessionArbitrationEnumeration Called after arbitration to allow the protocol to specify the


sessions to be reconnected.

SessionArbitrationEnumeration IWTSProtocolConnection::SessionArbitrationEnumeration is
no longer available. Instead, use
IWRdsProtocolConnection::SessionArbitrationEnumeration.

SetBuffer Initializes the endpoint and creates a buffer based on the


format of the endpoint into which the audio data is
streamed.

SetClaimsToken Sets the claims token.

SetEnvironmentProperty Sets a property of an environment.

SetEnvironmentPropertyWithVersionCheck Sets a property of an environment.

SetErrorInfo Sets error information in the protocol.

SetErrorInfo IWTSProtocolConnection::SetErrorInfo is no longer available.


Instead, use IWRdsProtocolConnection::SetErrorInfo.

SetEventHandle Sets the handle for the event that the endpoint uses to
signal that it has completed processing of a buffer.

SetPinActive Notifies the endpoint that it must change the state of the
underlying streaming resources to an active state.

SetPinInactive Notifies the endpoint that it must change the state of the
underlying stream resources to an inactive state.

SetRdpProperty Sets the value of a single named RDP property.

SetServerDrainMode Sets the drain mode of the specified server.

SetServerWaitingToStart Indicates to the session host that the server is waiting to


start.
T IT L E DESC RIP T IO N

SetSessionState Sets the session state.

SetStreamFlags Sets the stream configuration flags on the audio endpoint.

SetTargetProperty Sets the value of a property of a target.

SetTargetPropertyWithVersionCheck Sets the value of a property of a target.

SetTargetState Sets the state of a target object.

SetTaskQueue Updates a task in the queue of a Remote Desktop


Connection Broker plugin.

Start Starts the endpoint stream.

Start Notifies the protocol that shadowing has started.

Start IWTSProtocolShadowConnection::Start is no longer available.


Instead, use IWRdsProtocolShadowConnection::Start.

StartListen Notifies the protocol to start listening for client connection


requests.

StartListen IWTSProtocolListener::StartListen is no longer available.


Instead, use IWRdsProtocolListener::StartListen.

StartRemoteApplication Starts a RemoteApp program.

StartRemoteApplicationEx Not supported.

StartWorkspace Associates user credentials and certificates with a connection


ID.

StartWorkspaceEx Associates user credentials and certificates with a connection


ID; also contains additional security and UI elements.

StartWorkspaceEx2 Not implemented.

Stop Stops the endpoint stream.

Stop Notifies the protocol that shadowing has stopped.

Stop IWTSProtocolShadowConnection::Stop is no longer available.


Instead, use IWRdsProtocolShadowConnection::Stop.

StopListen Notifies the protocol to stop listening for client connection


requests.

StopListen IWTSProtocolListener::StopListen is no longer available.


Instead, use IWRdsProtocolListener::StopListen.
T IT L E DESC RIP T IO N

StopScreenUpdates Requests that the Remote Desktop Services service stop


updating the client screen.

StopScreenUpdates IWTSProtocolConnectionCallback::StopScreenUpdates is no
longer available. Instead, use
IWRdsProtocolConnectionCallback::StopScreenUpdates.

StopShadow Instructs the Remote Desktop Services service to stop


shadowing a target.

StopShadow IWTSProtocolShadowCallback::StopShadow is no longer


available. Instead, use
IWRdsProtocolShadowCallback::StopShadow.

SuspendScreenUpdates Suspends screen updates being sent to the client.

Terminate Performs clean-up and unloads the plug-in.

Terminated Notifies the plug-in that it is about to be destroyed by


Terminal Services Session Broker (TS Session Broker).

Terminated Notifies the plug-in that the Remote Desktop Connection


(RDC) client has terminated.

TestAndSetServerState Conditionally sets a new state on a server.

Uninitialize Uninitializes the protocol manager.

UnRegisterForNotification Requests that Remote Desktop Connection Broker


(RD Connection Broker) not send notifications about
specified events.

UpdateSessionDisplaySettings Updates the width and height settings for the Remote
Desktop Protocol (RDP) app container client control.

VIRTUALCHANNELCLOSE Closes the client end of a virtual channel.

VIRTUALCHANNELENTRY An application-defined entry point for the client-side DLL of


an application that uses Remote Desktop Services virtual
channels.

VIRTUALCHANNELINIT Initializes a client DLL's access to Remote Desktop Services


virtual channels.

VIRTUALCHANNELOPEN Opens the client end of a virtual channel.

VIRTUALCHANNELWRITE Sends data from the client end of a virtual channel to a


partner application on the server end.

Write Starts a write request on the channel.

Write Called to send data to the virtual channel.


T IT L E DESC RIP T IO N

WriteExclusiveModeParametersToSharedMemory Creates and writes the exclusive-mode parameters to shared


memory.

WTSCloseServer Closes an open handle to a Remote Desktop Session Host


(RD Session Host) server.

WTSConnectSessionA Connects a Remote Desktop Services session to an existing


session on the local computer.

WTSConnectSessionW Connects a Remote Desktop Services session to an existing


session on the local computer.

WTSCreateListenerA Creates a new Remote Desktop Services listener or


configures an existing listener.

WTSCreateListenerW Creates a new Remote Desktop Services listener or


configures an existing listener.

WTSDisconnectSession Disconnects the logged-on user from the specified Remote


Desktop Services session without closing the session.

WTSEnableChildSessions Enables or disables Child Sessions.

WTSEnumerateListenersA Enumerates all the Remote Desktop Services listeners on a


Remote Desktop Session Host (RD Session Host) server.

WTSEnumerateListenersW Enumerates all the Remote Desktop Services listeners on a


Remote Desktop Session Host (RD Session Host) server.

WTSEnumerateProcessesA Retrieves information about the active processes on a


specified Remote Desktop Session Host (RD Session Host)
server.

WTSEnumerateProcessesExA Retrieves information about the active processes on the


specified Remote Desktop Session Host (RD Session Host)
server or Remote Desktop Virtualization Host
(RD Virtualization Host) server.

WTSEnumerateProcessesExW Retrieves information about the active processes on the


specified Remote Desktop Session Host (RD Session Host)
server or Remote Desktop Virtualization Host
(RD Virtualization Host) server.

WTSEnumerateProcessesW Retrieves information about the active processes on a


specified Remote Desktop Session Host (RD Session Host)
server.

WTSEnumerateServersA Returns a list of all Remote Desktop Session Host (RD Session
Host) servers within the specified domain.

WTSEnumerateServersW Returns a list of all Remote Desktop Session Host (RD Session
Host) servers within the specified domain.
T IT L E DESC RIP T IO N

WTSEnumerateSessionsA Retrieves a list of sessions on a Remote Desktop Session Host


(RD Session Host) server.

WTSEnumerateSessionsExA Retrieves a list of sessions on a specified Remote Desktop


Session Host (RD Session Host) server or Remote Desktop
Virtualization Host (RD Virtualization Host) server.

WTSEnumerateSessionsExW Retrieves a list of sessions on a specified Remote Desktop


Session Host (RD Session Host) server or Remote Desktop
Virtualization Host (RD Virtualization Host) server.

WTSEnumerateSessionsW Retrieves a list of sessions on a Remote Desktop Session Host


(RD Session Host) server.

WTSFreeMemory Frees memory allocated by a Remote Desktop Services


function.

WTSFreeMemoryExA Frees memory that contains WTS_PROCESS_INFO_EX or


WTS_SESSION_INFO_1 structures allocated by a Remote
Desktop Services function.

WTSFreeMemoryExW Frees memory that contains WTS_PROCESS_INFO_EX or


WTS_SESSION_INFO_1 structures allocated by a Remote
Desktop Services function.

WTSGetActiveConsoleSessionId Retrieves the session identifier of the console session.

WTSGetChildSessionId Retrieves the child session identifier, if present.

WTSGetListenerSecurityA Retrieves the security descriptor of a Remote Desktop


Services listener.

WTSGetListenerSecurityW Retrieves the security descriptor of a Remote Desktop


Services listener.

WTSIsChildSessionsEnabled Determines whether child sessions are enabled.

WTSLogoffSession Logs off a specified Remote Desktop Services session.

WTSOpenServerA Opens a handle to the specified Remote Desktop Session


Host (RD Session Host) server.

WTSOpenServerExA Opens a handle to the specified Remote Desktop Session


Host (RD Session Host) server or Remote Desktop
Virtualization Host (RD Virtualization Host) server.

WTSOpenServerExW Opens a handle to the specified Remote Desktop Session


Host (RD Session Host) server or Remote Desktop
Virtualization Host (RD Virtualization Host) server.

WTSOpenServerW Opens a handle to the specified Remote Desktop Session


Host (RD Session Host) server.
T IT L E DESC RIP T IO N

WTSQueryListenerConfigA Retrieves configuration information for a Remote Desktop


Services listener.

WTSQueryListenerConfigW Retrieves configuration information for a Remote Desktop


Services listener.

WTSQuerySessionInformationA Retrieves session information for the specified session on the


specified Remote Desktop Session Host (RD Session Host)
server.

WTSQuerySessionInformationW Retrieves session information for the specified session on the


specified Remote Desktop Session Host (RD Session Host)
server.

WTSQueryUserConfigA Retrieves configuration information for the specified user on


the specified domain controller or Remote Desktop Session
Host (RD Session Host) server.

WTSQueryUserConfigW Retrieves configuration information for the specified user on


the specified domain controller or Remote Desktop Session
Host (RD Session Host) server.

WTSQueryUserToken Obtains the primary access token of the logged-on user


specified by the session ID.

WTSRegisterSessionNotification Registers the specified window to receive session change


notifications.

WTSRegisterSessionNotificationEx Registers the specified window to receive session change


notifications.

WTSSBX_GetMostSuitableServer Returns the ID of the server to which Terminal Services


Session Broker (TS Session Broker) should direct the incoming
connection.

WTSSBX_GetUserExternalSession Redirects an incoming connection to a computing resource,


such as a virtual machine, a blade server, or even the user's
own corporate desktop by providing a
WTSSBX_MACHINE_CONNECT_INFO structure that contains
information about the resource.

WTSSBX_MachineChangeNotification Notifies the plug-in that a change occurred in the server


environment.

WTSSBX_SessionChangeNotification Notifies the plug-in that a change, such as a logon, logoff,


disconnect, or reconnect, occurred in the session.

WTSSendMessageA Displays a message box on the client desktop of a specified


Remote Desktop Services session.

WTSSendMessageW Displays a message box on the client desktop of a specified


Remote Desktop Services session.

WTSSetListenerSecurityA Configures the security descriptor of a Remote Desktop


Services listener.
T IT L E DESC RIP T IO N

WTSSetListenerSecurityW Configures the security descriptor of a Remote Desktop


Services listener.

WTSSetRenderHint Used by an application that is displaying content that can be


optimized for displaying in a remote session to identify the
region of a window that is the actual content.

WTSSetUserConfigA Modifies configuration information for the specified user on


the specified domain controller or Remote Desktop Session
Host (RD Session Host) server.

WTSSetUserConfigW Modifies configuration information for the specified user on


the specified domain controller or Remote Desktop Session
Host (RD Session Host) server.

WTSShutdownSystem Shuts down (and optionally restarts) the specified Remote


Desktop Session Host (RD Session Host) server.

WTSStartRemoteControlSessionA Starts the remote control of another Remote Desktop


Services session. You must call this function from a remote
session.

WTSStartRemoteControlSessionW Starts the remote control of another Remote Desktop


Services session. You must call this function from a remote
session.

WTSStopRemoteControlSession Stops a remote control session.

WTSTerminateProcess Terminates the specified process on the specified Remote


Desktop Session Host (RD Session Host) server.

WTSUnRegisterSessionNotification Unregisters the specified window so that it receives no


further session change notifications.

WTSUnRegisterSessionNotificationEx Unregisters the specified window so that it receives no


further session change notifications.

WTSVirtualChannelClose Closes an open virtual channel handle.

WTSVirtualChannelOpen Opens a handle to the server end of a specified virtual


channel.

WTSVirtualChannelOpenEx Creates a virtual channel in a manner similar to


WTSVirtualChannelOpen.

WTSVirtualChannelPurgeInput Deletes all queued input data sent from the client to the
server on a specified virtual channel.

WTSVirtualChannelPurgeOutput Deletes all queued output data sent from the server to the
client on a specified virtual channel.
T IT L E DESC RIP T IO N

WTSVirtualChannelQuery Returns information about a specified virtual channel.

WTSVirtualChannelRead Reads data from the server end of a virtual channel.

WTSVirtualChannelWrite Writes data to the server end of a virtual channel.

WTSWaitSystemEvent Waits for a Remote Desktop Services event before returning


to the caller.

Interfaces
T IT L E DESC RIP T IO N

IADsTSUserEx Used to examine and configure Remote Desktop Services


user properties.

IAudioDeviceEndpoint Initializes a device endpoint object and gets the capabilities of


the device that it represents.

IAudioEndpoint Provides information to the audio engine about an audio


endpoint. This interface is implemented by an audio
endpoint.

IAudioEndpointControl Controls the stream state of an endpoint.

IAudioEndpointRT Gets the difference between the current read and write
positions in the endpoint buffer.

IAudioInputEndpointRT Gets the input buffer for each processing pass.

IAudioOutputEndpointRT Gets the output buffer for each processing pass.

IRemoteDesktopClient Provides methods and properties used to configure and use


the Remote Desktop Protocol (RDP) app container client
control.

IRemoteDesktopClientActions Provides the methods used to interact with the Remote


Desktop Protocol (RDP) app container client control.

IRemoteDesktopClientSettings Provides the methods needed to configure the connection


settings for the Remote Desktop Protocol (RDP) app
container client control.

IRemoteDesktopClientTouchPointer Provides the properties needed to control the touch pointer


feature of the Remote Desktop Protocol (RDP) app container
client control.

ITSGAccountingEngine Exposes methods that provide information about the


creation or closing of sessions for a connection.

ITSGAuthenticateUserSink Exposes methods that notify Remote Desktop Gateway


(RD Gateway) about authentication events.
T IT L E DESC RIP T IO N

ITSGAuthenticationEngine Exposes methods that authenticate users for Remote


Desktop Gateway (RD Gateway).

ITSGAuthorizeConnectionSink Exposes methods that notify Remote Desktop Gateway


(RD Gateway) about the result of an attempt to authorize a
connection.

ITSGAuthorizeResourceSink Exposes methods that notify Remote Desktop Gateway


(RD Gateway) about the result of an attempt to authorize a
resource.

ITSGPolicyEngine Exposes methods that authorize connections and resources.

ItsPubPlugin Exposes properties and methods that provide information


about resources available to users of RemoteApp and
Desktop Connections.

ItsPubPlugin2 Specifies methods that provide information about resources


available to users of RemoteApp and Desktop Connections.

ITsSbBaseNotifySink Exposes methods that report status and error messages to


Remote Desktop Connection Broker (RD Connection Broker).

ITsSbClientConnection Exposes methods and properties that store state information


about an incoming connection request from a Remote
Desktop Connection (RDC) client.

ITsSbClientConnectionPropertySet Can be used to define custom properties of a client


connection as appropriate.

ITsSbEnvironment Exposes methods and properties that contain information


about the environment that hosts the target computer. This
interface can be used to store information about a physical
server that hosts virtual machines.

ITsSbEnvironmentPropertySet Can be used to define custom properties of an environment


that hosts target computers as appropriate.

ITsSbFilterPluginStore Filter Plugin Store

ITsSbGenericNotifySink Exposes methods that reports completion to and gets wait


time from the Remote Desktop Connection Broker
(RD Connection Broker).

ITsSbGlobalStore Exposes methods that query for target computers, sessions,


environments, and farms that have been added to the
Remote Desktop Connection Broker (RD Connection Broker)
store.

ITsSbLoadBalanceResult Exposes methods and properties that store the target name
returned by a load-balancing algorithm.

ITsSbLoadBalancing Exposes methods you can use to provide a custom load-


balancing algorithm.
T IT L E DESC RIP T IO N

ITsSbLoadBalancingNotifySink Exposes methods that return the result of a load-balancing


algorithm to Remote Desktop Connection Broker
(RD Connection Broker).

ITsSbOrchestration Exposes methods that Remote Desktop Connection Broker


(RD Connection Broker) uses to ensure that the target is
ready before a client is redirected to it.

ITsSbOrchestrationNotifySink Exposes methods that return an ITsSbTarget object to


Remote Desktop Connection Broker (RD Connection Broker)
after the target is successfully prepared for a connection.

ITsSbPlacement Exposes methods that prepare the environment (the


computer that hosts the virtual machine).

ITsSbPlacementNotifySink Exposes methods that return information about


environments to Remote Desktop Connection Broker
(RD Connection Broker).

ITsSbPlugin Exposes methods that initialize and terminate plug-ins.

ITsSbPluginNotifySink Exposes methods that notify Remote Desktop Connection


Broker (RD Connection Broker) about initialization or
termination of a plug-in.

ITsSbPluginPropertySet Can be used to define custom plug-in properties as


appropriate.

ITsSbPropertySet Can be used to define custom properties as appropriate.

ITsSbProvider Exposes methods that create default implementations of


objects that are used in Remote Desktop Virtualization.

ITsSbProvisioning Exposes methods that create and maintain virtual machines.

ITsSbProvisioningPluginNotifySink Exposes methods that notify Remote Desktop Connection


Broker (RD Connection Broker) about the provisioning of
virtual machines.

ITsSbResourceNotification Exposes methods that Remote Desktop Connection Broker


(RD Connection Broker) uses to notify plug-ins of any state
changes that occur in the session, target, and client
connection objects.

ITsSbResourceNotificationEx Exposes methods that Remote Desktop Connection Broker


(RD Connection Broker) uses to notify plug-ins of any state
changes that occur in the session, target, and client
connection objects.

ITsSbResourcePlugin Exposes methods that extend the capabilities of Remote


Desktop Connection Broker (RD Connection Broker).

ITsSbResourcePluginStore Exposes methods that enable resource plug-ins to store


objects such as sessions and targets.
T IT L E DESC RIP T IO N

ITsSbServiceNotification Exposes methods that Remote Desktop Connection Broker


(RD Connection Broker) uses to notify plug-ins of state
changes that occur in the RD Connection Broker itself.

ITsSbSession Exposes properties that store information about a user


session.

ITsSbTarget Exposes properties that store configuration and state


information about a target.

ITsSbTargetPropertySet Derive from this interface to define a custom target property


set.

ITsSbTaskInfo Exposes properties that the Remote Desktop Connection


Broker uses to set a plugin’s queue.

ITsSbTaskPlugin Exposes methods that update the queue of tasks for Remote
Desktop Connection Broker plugins.

ITsSbTaskPluginNotifySink Exposes methods that report status and error messages


about tasks to Remote Desktop Connection Broker
(RD Connection Broker).

IWorkspace Exposes methods that provide information about a


connection in RemoteApp and Desktop Connection.

IWorkspace2 Exposes additional methods that provide information about a


connection in RemoteApp and Desktop Connection.

IWorkspace3 Exposes methods that provide information about a


connection in RemoteApp and Desktop Connection, and
adds the ability to retrieve or set a claims token.

IWorkspaceClientExt Exposes methods that allow the runtime to disconnect a


custom client in RemoteApp and Desktop Connection.

IWorkspaceRegistration Exposes methods that add and remove references to custom


clients in RemoteApp and Desktop Connection.

IWorkspaceRegistration2 Exposes methods that add and remove references to custom


clients in RemoteApp and Desktop Connection.

IWorkspaceReportMessage Exposes methods that support error message handling for


remote workspaces.

IWorkspaceResTypeRegistry Exposes methods that allow a plug-in to manage third-party


file name extensions in RemoteApp and Desktop Connection
runtime.

IWorkspaceScriptable Exposes methods that manage RemoteApp and Desktop


Connection credentials and connections.

IWorkspaceScriptable2 Exposes methods that manage RemoteApp and Desktop


Connection credentials and connections.
T IT L E DESC RIP T IO N

IWorkspaceScriptable3 Exposes methods that manage RemoteApp and Desktop


Connection credentials and connections.

IWRdsGraphicsChannel This interface is used by the RemoteFX graphics services to


send and receive data to a virtual graphics channel.

IWRdsGraphicsChannelEvents This interface receives notifications that relate to a graphics


virtual channel.

IWRdsGraphicsChannelManager This interface is used by the RemoteFX graphics services API


to create the graphics virtual channels necessary for
remoting graphics data.

IWRdsProtocolConnection Exposes methods called by the Remote Desktop Services


service to configure a client connection.

IWRdsProtocolConnectionCallback Exposes methods that provide information about the status


of a client connection and that perform actions for the client.
This interface is implemented by the Remote Desktop
Services service and called by the protocol.

IWRdsProtocolLicenseConnection Exposes methods used by the Remote Desktop Services


service to perform the licensing handshake during a
connection sequence.

IWRdsProtocolListener Exposes methods that request that the protocol start and
stop listening for client connection requests.

IWRdsProtocolListenerCallback Exposes methods that notify the Remote Desktop Services


service that a client has connected.

IWRdsProtocolLogonErrorRedirector Exposes methods called by the Remote Desktop Services


service to update logon status and determine how to direct
logon error messages.

IWRdsProtocolManager Exposes methods that the Remote Desktop Services service


uses to communicate with the protocol provider.

IWRdsProtocolSettings Exposes methods for retrieving and adding policy-related


settings.

IWRdsProtocolShadowCallback Exposes methods called by the protocol to notify the Remote


Desktop Services service to start or stop the target side of a
shadow.

IWRdsProtocolShadowConnection Exposes methods that notify the protocol provider about the
status of session shadowing.

IWRdsRemoteFXGraphicsConnection Exposes methods relating to the manipulation and


understanding of graphics on the client connection.

IWRdsWddmIddProps This interface allows a custom IDD driver to be loaded in a


remote session.
T IT L E DESC RIP T IO N

IWTSBitmapRenderer Used by a dynamic virtual channel plug-in to render bitmaps.

IWTSBitmapRendererCallback A dynamic virtual channel plug-in implements this interface


to be notified when the size of the rendering area changes.

IWTSBitmapRenderService This service is used to create a visual mapping on the client


corresponding to a mapped window on the server.

IWTSListener Manages configuration settings for each listener for the


dynamic virtual channel (DVC) connection.

IWTSListenerCallback Used to notify the Remote Desktop Connection (RDC) client


plug-in about incoming requests on a particular listener.

IWTSPlugin Allows for the Remote Desktop Connection (RDC) client plug-
in to be loaded by the Remote Desktop Connection (RDC)
client.

IWTSPluginServiceProvider Provides a way for Dynamic Virtual Channel plug-ins to


query various Remote Desktop Client services.

IWTSProtocolConnection IWTSProtocolConnection is no longer available. Instead, use


IWRdsProtocolConnection.

IWTSProtocolConnectionCallback IWTSProtocolConnectionCallback is no longer available.


Instead, use IWRdsProtocolConnectionCallback.

IWTSProtocolLicenseConnection IWTSProtocolLicenseConnection is no longer available.


Instead, use IWRdsProtocolLicenseConnection.

IWTSProtocolListener IWTSProtocolListener is no longer available. Instead, use


IWRdsProtocolListener.

IWTSProtocolListenerCallback IWTSProtocolListenerCallback is no longer available. Instead,


use IWRdsProtocolListenerCallback.

IWTSProtocolLogonErrorRedirector IWTSProtocolLogonErrorRedirector is no longer available.


Instead, use IWRdsProtocolLogonErrorRedirector.

IWTSProtocolManager IWTSProtocolManager is no longer available. Instead, use


IWRdsProtocolManager.

IWTSProtocolShadowCallback IWTSProtocolShadowCallback is no longer available. Instead,


use IWRdsProtocolShadowCallback.

IWTSProtocolShadowConnection IWTSProtocolShadowConnection is no longer available.


Instead, use IWRdsProtocolShadowConnection.

IWTSSBPlugin Used to extend the capabilities of Terminal Services Session


Broker (TS Session Broker). Implement this interface when
you want to provide a plug-in that overrides the redirection
logic of TS Session Broker.

IWTSVirtualChannel Used to control the channel state, and writes on the channel.
T IT L E DESC RIP T IO N

IWTSVirtualChannelCallback Receives notifications about channel state changes or data


received.

IWTSVirtualChannelManager Manages all Remote Desktop Connection (RDC) client plug-


ins and dynamic virtual channel (DVC) listeners.

Structures
T IT L E DESC RIP T IO N

AAAccountingData This structure contains information about a connection


event.

AE_CURRENT_POSITION Reports the current frame position from the device to the
clients.

APO_CONNECTION_PROPERTY Contains the dynamically changing connection properties.

BITMAP_RENDERER_STATISTICS Contains statistics for the RemoteFX media redirection


bitmap renderer.

CHANNEL_ENTRY_POINTS Contains pointers to the functions called by a client-side DLL


to access virtual channels.

CHANNEL_PDU_HEADER Contains information about a data block being received by


the server end of a virtual channel.

CLIENT_DISPLAY Contains information about the display of a Remote Desktop


Connection (RDC) client.

pluginResource Contains information about a resource that can be assigned


to users in RemoteApp and Desktop Connection.

pluginResource2 Contains additional information about a resource that can be


assigned to users in RemoteApp and Desktop Connection.

pluginResource2FileAssociation Contains information about a file association in RemoteApp


and Desktop Connection.

TSSD_ConnectionPoint Defines the IP address of a target.

WRDS_CONNECTION_SETTING Contains different levels of settings for a remote desktop


connection.

WRDS_CONNECTION_SETTINGS Contains connection setting information for a remote


session.

WRDS_CONNECTION_SETTINGS_1 Contains connection setting information for a remote


session.

WRDS_DYNAMIC_TIME_ZONE_INFORMATION Contains dynamic time zone information.


T IT L E DESC RIP T IO N

WRDS_LISTENER_SETTING Contains different levels of listener settings for a remote


desktop connection.

WRDS_LISTENER_SETTINGS Contains listener setting information for a remote session.

WRDS_LISTENER_SETTINGS_1 Contains listener settings for a remote session.

WRDS_SETTING Contains different levels of policy-related settings for a


remote desktop connection.

WRDS_SETTINGS Contains policy-related setting information for a remote


session.

WRDS_SETTINGS_1 Contains policy-related settings for a remote session.

WTS_CACHE_STATS Contains protocol cache statistics.

WTS_CACHE_STATS_UN Contains cache statistics.

WTS_CLIENT_ADDRESS Contains the client network address of a Remote Desktop


Services session.

WTS_CLIENT_DATA Contains information about the client connection.

WTS_CLIENT_DISPLAY Contains information about the display of a Remote Desktop


Connection (RDC) client.

WTS_DISPLAY_IOCTL Contains information about the client display.

WTS_LICENSE_CAPABILITIES Contains information about the licensing capabilities of the


client.

WTS_POLICY_DATA Contains policy information that is passed by the Remote


Desktop Services service to the protocol.

WTS_PROCESS_INFO_EXA Contains extended information about a process running on a


Remote Desktop Session Host (RD Session Host) server.

WTS_PROCESS_INFO_EXW Contains extended information about a process running on a


Remote Desktop Session Host (RD Session Host) server.

WTS_PROCESS_INFOA Contains information about a process running on a Remote


Desktop Session Host (RD Session Host) server.

WTS_PROCESS_INFOW Contains information about a process running on a Remote


Desktop Session Host (RD Session Host) server.

WTS_PROPERTY_VALUE Contains information about a property value to retrieve from


the protocol.

WTS_PROTOCOL_CACHE Contains the number of cache reads and cache hits.


T IT L E DESC RIP T IO N

WTS_PROTOCOL_COUNTERS Contains protocol performance counters.

WTS_PROTOCOL_STATUS Contains information about the status of the protocol.

WTS_SERVER_INFOA Contains information about a specific Remote Desktop


Services server.

WTS_SERVER_INFOW Contains information about a specific Remote Desktop


Services server.

WTS_SERVICE_STATE Contains information about changes in the state of the


Remote Desktop Services service.

WTS_SESSION_ADDRESS Contains the virtual IP address assigned to a session.

WTS_SESSION_ID Contains a GUID that uniquely identifies a session.

WTS_SESSION_INFO_1A Contains extended information about a client session on a


Remote Desktop Session Host (RD Session Host) server or
Remote Desktop Virtualization Host (RD Virtualization Host)
server.

WTS_SESSION_INFO_1W Contains extended information about a client session on a


Remote Desktop Session Host (RD Session Host) server or
Remote Desktop Virtualization Host (RD Virtualization Host)
server.

WTS_SESSION_INFOA Contains information about a client session on a Remote


Desktop Session Host (RD Session Host) server.

WTS_SESSION_INFOW Contains information about a client session on a Remote


Desktop Session Host (RD Session Host) server.

WTS_SMALL_RECT Contains client window coordinates.

WTS_SOCKADDR Contains a socket address.

WTS_SYSTEMTIME Specifies date and time information for transitions between


standard time and daylight saving time.

WTS_TIME_ZONE_INFORMATION Contains client time zone information.

WTS_USER_CREDENTIAL Contains credential information for a user.

WTS_USER_DATA Contains select client property values.

WTSCLIENTA Contains information about a Remote Desktop Connection


(RDC) client.

WTSCLIENTW Contains information about a Remote Desktop Connection


(RDC) client.
T IT L E DESC RIP T IO N

WTSCONFIGINFOA Contains information about a Remote Desktop Services


session.

WTSCONFIGINFOW Contains information about a Remote Desktop Services


session.

WTSINFOA Contains information about a Remote Desktop Services


session.

WTSINFOEX_LEVEL_A Contains a WTSINFOEX_LEVEL1 structure that contains


extended information about a Remote Desktop Services
session.

WTSINFOEX_LEVEL_W Contains a WTSINFOEX_LEVEL1 structure that contains


extended information about a Remote Desktop Services
session.

WTSINFOEX_LEVEL1_A Contains extended information about a Remote Desktop


Services session.

WTSINFOEX_LEVEL1_W Contains extended information about a Remote Desktop


Services session.

WTSINFOEXA Contains a WTSINFOEX_LEVEL union that contains extended


information about a Remote Desktop Services session.

WTSINFOEXW Contains a WTSINFOEX_LEVEL union that contains extended


information about a Remote Desktop Services session.

WTSINFOW Contains information about a Remote Desktop Services


session.

WTSLISTENERCONFIGA Contains information about a Remote Desktop Services


listener.

WTSLISTENERCONFIGW Contains information about a Remote Desktop Services


listener.

WTSSBX_IP_ADDRESS Contains information about the IP address of a network


resource.

WTSSBX_MACHINE_CONNECT_INFO Contains information about a computer that is accepting


remote connections.

WTSSBX_MACHINE_INFO Contains information about a computer and its current state.

WTSSBX_SESSION_INFO Contains information about sessions that are available to


Remote Desktop Connection Broker (RD Connection Broker).

WTSSESSION_NOTIFICATION Provides information about the session change notification. A


service receives this structure in its HandlerEx function in
response to a session change event.
T IT L E DESC RIP T IO N

WTSUSERCONFIGA Contains configuration information for a user on a domain


controller or Remote Desktop Session Host (RD Session Host)
server.

WTSUSERCONFIGW Contains configuration information for a user on a domain


controller or Remote Desktop Session Host (RD Session Host)
server.
Remote Differential Compression
2/7/2020 • 6 minutes to read • Edit Online

Overview of the Remote Differential Compression technology.


To develop Remote Differential Compression, you need these headers:
msrdc.h
For programming guidance for this technology, see:
Remote Differential Compression

Enumerations
T IT L E DESC RIP T IO N

GeneratorParametersType Defines the set of supported generator parameters.

RDC_ErrorCode Defines the set of RDC-specific error codes.

RdcCreatedTables Defines values that describe the state of the similarity traits
table, similarity file ID table, or both.

RdcMappingAccessMode Defines the access mode values for RDC file mapping objects.

RdcNeedType Defines the set of data chunks used to generate a remote


copy.

Functions
T IT L E DESC RIP T IO N

Append Adds the file ID and similarity data information to the tables in
the similarity file.

Append Adds the file ID to the similarity file ID table.

Append Adds a SimilarityData structure to the similarity traits table.

BeginDump Retrieves similarity data from the similarity traits table.

CloseMapping Closes a file mapping object for a similarity traits table file.

CloseTable Closes the tables in a similarity file.

CloseTable Closes a similarity file ID table.

CloseTable Closes a similarity traits table.


T IT L E DESC RIP T IO N

ComputeDefaultRecursionDepth Computes the maximum level of recursion for the specified file
size.

CopyAndSwap Creates copies of an existing similarity traits table and an


existing similarity file ID table, swaps the internal pointers, and
deletes the existing tables.

CreateComparator Creates a signature comparator.

CreateGenerator Creates a signature generator that will generate the specified


levels of signatures.

CreateGeneratorParameters Returns an IRdcGeneratorParameters interface pointer


initialized with the parameters necessary for a signature
generator.

CreateSignatureReader Creates a signature reader to allow an application to decode


the contents of a signature file.

CreateTable Creates or opens a similarity traits table and a similarity file ID


table.

CreateTable Creates or opens a similarity file ID table.

CreateTable Creates or opens a similarity traits table.

CreateTableIndirect Creates or opens a similarity traits table and a similarity file ID


table using the RDC application's implementations of the
ISimilarityTraitsMapping and IRdcFileWriter interfaces.

CreateTableIndirect Creates or opens a similarity file ID table using the RDC


application's implementation of the IRdcFileWriter interface.

CreateTableIndirect Creates or opens a similarity traits table using the RDC


application's implementation of the ISimilarityTraitsMapping
interface.

CreateView Maps a view of the file mapping for a similarity traits table file.

DeleteOnClose Sets a file to be deleted (or truncated) on close.

EnableSimilarity Enables the signature generator to generate similarity data.

FindSimilarFileId Returns a list of files that are similar to a given file.

FindSimilarFileIndex Returns a list of files that are similar to a given file. The results
in the list are sorted in order of similarity, beginning with the
most similar file.

Flush Writes to the disk any dirty pages within a mapped view of a
similarity traits table file.
T IT L E DESC RIP T IO N

Get Returns information about the mapped view of a similarity


traits table file.

GetFilePosition Returns the current file position.

GetFileSize Returns the size of a file.

GetFileSize Returns the size of a similarity traits table file.

GetGeneratorParameters Returns a copy of the parameters used to create the generator.

GetGeneratorParametersType Returns the specific type of the parameters.

GetHashWindowSize Returns the hash window size—the size of the sliding window
used by the FilterMax generator for computing the hash used
in the local maxima calculations.

GetHorizonSize Returns the horizon size—the length over which the FilterMax
generator looks for local maxima.

GetLastIndex Retrieves the index of the last entry that was stored in the
similarity traits table.

GetNextData Retrieves one or more SimilarityDumpData structures from the


similarity traits list that was returned by the
ISimilarityTraitsTable::BeginDump method.

GetNextFileId Retrieves the next valid similarity file ID in the file list that was
returned by the ISimilarity::FindSimilarFileId method.

GetPageSize Returns the page size (disk block size) for a similarity traits
table file.

GetParametersVersion Returns information about the version of RDC used to serialize


the parameters.

GetRDCVersion Retrieves the version of the installed RDC runtime and the
oldest version of the RDC interfaces supported by the installed
runtime.

GetRecordCount Retrieves the number of records that are stored in the


similarity file ID table in a similarity file.

GetRecordCount Retrieves the number of records that are stored in a similarity


file ID table.

GetSerializeSize Returns the size, in bytes, of the serialized parameter data.

GetSize Retrieves the number of entries in the file list that was
returned by the ISimilarity::FindSimilarFileId method.

GetView Returns the beginning and ending addresses for the mapped
view of a similarity traits table file.
T IT L E DESC RIP T IO N

Invalidate Marks a file ID as not valid in the similarity file ID table.

Lookup Retrieves the file ID that corresponds to a given file index in


the similarity file ID table.

OpenGeneratorParameters Opens an existing serialized parameter block and returns an


IRdcGeneratorParameters interface pointer initialized with the
data.

OpenMapping Opens the file mapping object for a similarity traits table file.

Process Compares two signature streams (seed and source) and


produces a needs list, which describes the chunks of file data
needed to create the target file.

Process Processes the input data and produces 0 or more output


bytes.

Read Reads the specified amount of data starting at the specified


position.

ReadHeader Reads the signature header and returns a copy of the


parameters used to generate the signatures.

ReadSignatures Reads a block of signatures from the current position.

ReportProgress Reports the current completion percentage of a similarity


operation in progress.

ResizeMapping Resizes the file mapping object for a similarity traits table file.

Results Retrieves the similarity data that was generated for a file by
the signature generator.

Serialize Serializes the parameter data into a block of memory.

SetFileSize Sets the size of a similarity traits table file.

SetHashWindowSize Sets the hash window size—the size of the sliding window
used by the FilterMax generator for computing the hash used
in the local maxima calculations.

SetHorizonSize Sets the horizon size—the length over which the FilterMax
generator looks for local maxima.

Truncate Truncates a file to zero length.

Unmap Unmaps a mapped view of a similarity traits table file.

Write Write bytes to a file starting at a given offset.

Interfaces
T IT L E DESC RIP T IO N

IFindSimilarResults Provides methods for retrieving information from the file list
returned by the ISimilarity::FindSimilarFileId method.

IRdcComparator Used to compare two signature streams (seed and source) and
produce the list of source and seed file data chunks needed to
create the target file.

IRdcFileReader The IRdcFileReader interface is used to provide the equivalent


of a file handle, because the data being synchronized may not
exist as a file on disk.

IRdcFileWriter Abstract interface to read from and write to a file.

IRdcGenerator Used to process the input data and read the parameters used
by the generator.

IRdcGeneratorFilterMaxParameters Sets and retrieves parameters used by the FilterMax generator.

IRdcGeneratorParameters Is the generic interface for all types of generator parameters.


All generator parameter objects must support this interface.

IRdcLibrary Is the primary interface for using RDC.

IRdcSignatureReader Reads the signatures and the parameters used to generate the
signatures.

IRdcSimilarityGenerator Defines methods for enabling the signature generator to


generate similarity data and for retrieving the similarity data
after it is generated.

ISimilarity Defines methods for storing and retrieving per-file similarity


data and file IDs in a similarity file.

ISimilarityFileIdTable Defines methods for storing and retrieving similarity file ID


information.

ISimilarityReportProgress Defines a method for RDC to report the current completion


percentage of a similarity operation.

ISimilarityTableDumpState Provides a method for retrieving information from the


similarity traits list that was returned by the
ISimilarityTraitsTable::BeginDump method.

ISimilarityTraitsMappedView Provides methods that an RDC application can implement for


manipulating a mapped view of a similarity traits table file.

ISimilarityTraitsMapping Provides methods that an RDC application can implement for


creating and manipulating a file mapping object for a similarity
traits table file.

ISimilarityTraitsTable Defines methods for storing per-file similarity data and


performing similarity lookups.
Structures
T IT L E DESC RIP T IO N

FindSimilarFileIndexResults Contains the file index information that the


ISimilarityTraitsTable::FindSimilarFileIndex method returned for
a matching file.

RdcBufferPointer Describes a buffer.

RdcNeed Contains information about a chunk that is required to


synchronize two sets of data.

RdcNeedPointer Describes an array of RdcNeed structures.

RdcSignature Contains a single signature and the length of the chunk used
to generate it.

RdcSignaturePointer Describes an array of RdcSignature structures.

SimilarityData Contains the similarity data for a file.

SimilarityDumpData Contains the similarity information that was returned for a file
by the ISimilarityTableDumpState::GetNextData method.

SimilarityFileId Contains the similarity file ID for a file.

SimilarityMappedViewInfo Contains information about a similarity mapped view.


Remote Procedure Call (RPC)
2/7/2020 • 33 minutes to read • Edit Online

Overview of the Remote Procedure Call (RPC) technology.


To develop Remote Procedure Call (RPC), you need these headers:
midles.h
rpc.h
rpcasync.h
rpcdcep.h
rpcnsi.h
rpcproxy.h
rpcssl.h
For programming guidance for this technology, see:
Remote Procedure Call (RPC)

Enumerations
T IT L E DESC RIP T IO N

RPC_ASYNC_EVENT The RPC_ASYNC_EVENT enumerated type describes the


asynchronous notification events that an RPC application can
receive.

RPC_NOTIFICATION_TYPES The RPC_NOTIFICATION_TYPES enumerated type contains


values that specify the method of asynchronous notification
that a client program will use.

RPC_NOTIFICATIONS The RPC_NOTIFICATIONS enumeration specifies the


notifications a server can receive from RPC.

RpcCallClientLocality Specifies the set of possible RPC client localities.

RpcCallType Specifies the set of RPC call types.

RpcLocalAddressFormat Specifies the possible local IP address formats supported by


RPC.

Functions
T IT L E DESC RIP T IO N

CStdAsyncStubBuffer_AddRef Implements the IRpcStubBuffer::AddRef method.

CStdAsyncStubBuffer_Connect Implements the IRpcStubBuffer::Connect method and


connects the server object to the stub.
T IT L E DESC RIP T IO N

CStdAsyncStubBuffer_Disconnect Implements the IRpcStubBuffer::Disconnect method and


disconnects the server object from the stub.

CStdAsyncStubBuffer_Invoke Implements the IRpcStubBuffer::Invoke method.

CStdAsyncStubBuffer_QueryInterface Implements the IRpcStubBuffer::QueryInterface method.

CStdAsyncStubBuffer_Release Implements the IRpcStubBuffer::Release method.

CStdAsyncStubBuffer2_Connect Implements the IRpcStubBuffer::Connect method and


connects the server object to the stub.

CStdAsyncStubBuffer2_Disconnect Implements the IRpcStubBuffer::Disconnect method and


disconnects the server object from the stub.

CStdAsyncStubBuffer2_Release Implements the IRpcStubBuffer::Release method.

CStdStubBuffer_AddRef The CStdStubBuffer_AddRef function implements the


IRpcStubBuffer::AddRef method.

CStdStubBuffer_Connect The CStdStubBuffer_Connect function implements the


IRpcStubBuffer::Connect method and connects the server
object to the stub.

CStdStubBuffer_CountRefs The CStdStubBuffer_CountRefs function implements the


IRpcStubBuffer::CountRefs method.

CStdStubBuffer_DebugServerQueryInterface The CStdStubBuffer_DebugServerQueryInterface function


implements the IRpcStubBuffer::DebugServerQueryInterface
method.

CStdStubBuffer_DebugServerRelease The CStdStubBuffer_DebugServerRelease function implements


the IRpcStubBuffer::DebugServerRelease method.

CStdStubBuffer_Disconnect The CStdStubBuffer_Disconnect function implements the


IRpcStubBuffer::Disconnect method and disconnects the
server object from the stub.

CStdStubBuffer_Invoke The CStdStubBuffer_Invoke function implements the


IRpcStubBuffer::Invoke method.

CStdStubBuffer_IsIIDSupported The CStdStubBuffer_IsIIDSupported function implements the


IRpcStubBuffer::IsIIDSupported method.

CStdStubBuffer_QueryInterface The CStdStubBuffer_QueryInterface function implements the


IRpcStubBuffer::QueryInterface method.

CStdStubBuffer2_Connect Implements the IRpcStubBuffer::Connect method and


connects the server object to the stub.

CStdStubBuffer2_CountRefs Implements the IRpcStubBuffer::CountRefs method.


T IT L E DESC RIP T IO N

CStdStubBuffer2_Disconnect Implements the IRpcStubBuffer::Disconnect method and


disconnects the server object from the stub.

CStdStubBuffer2_QueryInterface Implements the IRpcStubBuffer::QueryInterface method.

DceErrorInqText The DceErrorInqText function returns the message text for a


status code.

DceErrorInqTextA The DceErrorInqText function returns the message text for a


status code.

DceErrorInqTextW The DceErrorInqText function returns the message text for a


status code.

I_RpcBindingInqLocalClientPID Obtains a client process ID.

IUnknown_AddRef_Proxy The IUnknown_AddRef_Proxy function implements the AddRef


method for all interface proxies.

IUnknown_QueryInterface_Proxy The IUnknown_QueryInterface_Proxy function implements the


QueryInterface method for all interface proxies.

IUnknown_Release_Proxy The IUnknown_Release_Proxy function implements the Release


method for all interface proxies.

MesBufferHandleReset The MesBufferHandleReset function re-initializes the handle


for buffer serialization.

MesDecodeBufferHandleCreate The MesDecodeBufferHandleCreate function creates a


decoding handle and initializes it for a (fixed) buffer style of
serialization.

MesDecodeIncrementalHandleCreate The MesDecodeIncrementalHandleCreate function creates a


decoding handle for the incremental style of serialization.

MesEncodeDynBufferHandleCreate The MesEncodeDynBufferHandleCreate function creates an


encoding handle and then initializes it for a dynamic buffer
style of serialization.

MesEncodeFixedBufferHandleCreate The MesEncodeFixedBufferHandleCreate function creates an


encoding handle and then initializes it for a fixed buffer style
of serialization.

MesEncodeIncrementalHandleCreate The MesEncodeIncrementalHandleCreate function creates an


encoding and then initializes it for the incremental style of
serialization.

MesHandleFree The MesHandleFree function frees the memory allocated by


the serialization handle.

MesIncrementalHandleReset The MesIncrementalHandleReset function re-initializes the


handle for incremental serialization.
T IT L E DESC RIP T IO N

MesInqProcEncodingId The MesInqProcEncodingId function provides the identity of


an encoding.

Ndr64AsyncClientCall Ndr64AsyncClientCall is not intended to be directly called by


applications.

Ndr64AsyncServerCallAll Ndr64AsyncServerCallAll is not intended to be directly called


by applications.

NdrAsyncClientCall The NdrAsyncClientCall function is the asynchronous client-


side entry point for the /Oi and /Oic mode stub.

NdrAsyncClientCall2 NdrAsyncClientCall2 may be altered or unavailable.

NdrAsyncServerCall NdrAsyncServerCall is not intended to be directly called by


applications.

NdrClearOutParameters The NdrClearOutParameters function frees resources of the


out parameter and clears its memory if the RPC call to the
server fails.

NdrClientCall The NdrClientCall function is the client-side entry point for the
/Oicf mode stub.

NdrClientCall2 The NdrClientCall2 function is the client-side entry point for


the /Oicf mode stub.

NdrClientCall3 NdrClientCall3 may be altered or unavailable.

NdrClientCall4 NdrClientCall4 may be altered or unavailable.

NdrConformantArrayUnmarshall The NdrConformantArrayUnmarshall function unmarshals a


conformant array.

NdrConformantStringBufferSize The NdrConformantStringBufferSize function calculates the


size of the buffer, in bytes, needed to marshal the conformant
string.

NdrConformantStringMarshall The NdrConformantStringMarshall function marshals the


conformant string into a network buffer to be sent to the
server.

NdrConformantStringUnmarshall The NdrConformantStringUnmarshall function unmarshals the


conformant string from the network buffer to memory.

NdrContextHandleInitialize Initializes a new RPC context handle.

NdrContextHandleMemorySize Returns the size of the supplied RPC context handle as


represented in local memory.

NdrContextHandleSize The NdrContextHandleSize function returns the size of the


supplied RPC context handle.
T IT L E DESC RIP T IO N

NdrConvert The NdrConvert function converts the network buffer from


the data representation of the sender to the data
representation of the receiver if they are different.

NdrCStdStubBuffer_Release The NdrCStdStubBuffer_Release function implements the


IRpcStubBuffer::Release method.

NdrCStdStubBuffer2_Release The NdrCStdStubBuffer2_Release function implements the


IRpcStubBuffer::Release method.

NdrDcomAsyncClientCall NdrDcomAsyncClientCall may be altered or unavailable.

NdrDcomAsyncClientCall2 NdrDcomAsyncClientCall2 may be altered or unavailable.

NdrDllCanUnloadNow The NdrDllCanUnloadNow function determines whether the


DLL that implements the proxy and stub is still in use. If not,
the caller can safely unload the DLL from memory.

NdrDllGetClassObject The NdrDllGetClassObject function retrieves the class object


of the proxy or stub.

NdrDllRegisterProxy The NdrDllRegisterProxy function creates a registry entry for


the interfaces contained in the proxy DLL.

NdrDllUnregisterProxy The NdrDllUnregisterProxy function removes a registry entry


for the interfaces contained in the proxy DLL.

NdrGetUserMarshalInfo The NdrGetUserMarshalInfo function provides additional


information to wire_marshal and user_marshal helper
functions.

NdrInterfacePointerBufferSize The NdrInterfacePointerBufferSize function calculates the size


of the buffer, in bytes, needed to marshal the interface pointer.

NdrInterfacePointerFree The NdrInterfacePointerFree function releases the interface


pointer.

NdrInterfacePointerMarshall The NdrInterfacePointerMarshall function marshals the


interface pointer into a network buffer to be sent to the
server.

NdrInterfacePointerUnmarshall The NdrInterfacePointerUnmarshall function unmarshalls the


data referenced by the interface pointer from the network
buffer to memory.

NdrMesProcEncodeDecode2 NdrMesProcEncodeDecode2 may be altered or unavailable.

NdrMesProcEncodeDecode4 NdrMesProcEncodeDecode4 may be altered or unavailable.

NdrOleAllocate The NdrOleAllocate function is used by RPC to allocate


memory for an object interface. This function is a wrapper for
the CoTaskMemAlloc function.
T IT L E DESC RIP T IO N

NdrOleFree The NdrOleFree function is a wrapper for the CoTaskMemFree


function.

NdrPointerBufferSize The NdrPointerBufferSize function computes the needed


buffer size, in bytes, for a top-level pointer to anything.

NdrPointerFree The NdrPointerFree function frees memory.

NdrPointerMarshall The NdrPointerMarshall function marshalls a top level pointer


to anything. Pointers embedded in structures, arrays, or
unions call NdrPointerMarshall directly.

NdrPointerUnmarshall The NdrPointerUnmarshall function unmarshalls a top level


pointer to anything. Pointers embedded in structures, arrays,
or unions call NdrPointerUnmarshall directly.

NdrProxyErrorHandler The NdrProxyErrorHandler function maps an exception into an


HRESULT, with RPC facility code.

NdrProxyFreeBuffer The NdrProxyFreeBuffer function frees an RPC buffer.

NdrProxyGetBuffer The NdrProxyGetBuffer function obtains a network buffer


from COM through the use of an
IRpcChannelBuffer::GetBuffer method call.

NdrProxyInitialize The NdrProxyInitialize function initializes the proxy for an


object method.

NdrProxySendReceive The NdrProxySendReceive function sends a message to the


server then waits for a reply.

NdrServerCall2 NdrServerCall2 is not intended to be directly called by


applications.

NdrServerCallAll NdrServerCallAll is not intended to be directly called by


applications.

NdrSimpleTypeMarshall The NdrSimpleTypeMarshall function marshalls a simple type.

NdrSimpleTypeUnmarshall The NdrSimpleTypeUnmarshall function unmarshalls a simple


type.

NdrStubCall2 The NdrStubCall2 function is the server-side entry point for


/Oicf mode stubs.

NdrStubCall3 NdrStubCall3 is not intended to be directly called by


applications.

NdrStubForwardingFunction The NdrStubForwardingFunction function is the entry point


for server-side object methods that are defined in a base
interface.

NdrStubGetBuffer The NdrStubGetBuffer function retrieves a buffer from the


RPC channel.
T IT L E DESC RIP T IO N

NdrStubInitialize The NdrStubInitialize function is called by the server stub


before unmarshalling. It sets up some stub message fields.

NdrUserMarshalBufferSize The NdrUserMarshalBufferSize function calculates the size of


the buffer, in bytes, needed to marshal the user marshal
object.

NdrUserMarshalFree The NdrUserMarshalFree function frees the user marshal


object.

NdrUserMarshalMarshall The NdrUserMarshalMarshall function marshals the supplied


data buffer.

RPC_AUTH_KEY_RETRIEVAL_FN The RPC_AUTH_KEY_RETRIEVAL_FN function is a prototype for


a function that specifies the address of a server-application-
provided routine returning encryption keys.

RPC_IF_CALLBACK_FN The RPC_IF_CALLBACK_FN is a prototype for a security-


callback function that your application supplies. Your program
can provide a callback function for each interface it defines.

RPC_INTERFACE_GROUP_IDLE_CALLBACK_FN The RPC_INTERFACE_GROUP_IDLE_CALLBACK_FN is a user-


defined callback that can be implemented for each defined
interface group. This callback is invoked by the RPC runtime
when it detects that the idle state of an interface group has
changed.

RPC_MGMT_AUTHORIZATION_FN The RPC_MGMT_AUTHORIZATION_FN enables server


programs to implement custom RPC authorization
techniques.

RPC_OBJECT_INQ_FN The RPC_OBJECT_INQ_FN function is a prototype for a


function that facilitates replacement of the default object
UUID to type UUID mapping.

RpcAsyncAbortCall The server calls RpcAsyncAbortCall to abort an asynchronous


call.

RpcAsyncCancelCall The client calls the RpcAsyncCancelCall function to cancel an


asynchronous call.

RpcAsyncCompleteCall The client and the server call the RpcAsyncCompleteCall


function to complete an asynchronous remote procedure call.

RpcAsyncGetCallHandle The RpcAsyncGetCallHandle macro returns the binding handle


on an asynchronous remote procedure call.

RpcAsyncGetCallStatus The client calls the RpcAsyncGetCallStatus function to


determine the current status of an asynchronous remote call.

RpcAsyncInitializeHandle The client calls the RpcAsyncInitializeHandle function to


initialize the RPC_ASYNC_STATE structure to be used to make
an asynchronous call.

RpcAsyncRegisterInfo The RpcAsyncRegisterInfo function is obsolete.


T IT L E DESC RIP T IO N

RpcBindingBind The RpcBindingBind function contacts an RPC server and


binds to it.

RpcBindingCopy The RpcBindingCopy function copies binding information and


creates a new binding handle.

RpcBindingCreateA The RpcBindingCreate function creates a new fast RPC binding


handle based on a supplied template.

RpcBindingCreateW The RpcBindingCreate function creates a new fast RPC binding


handle based on a supplied template.

RpcBindingFree The RpcBindingFree function releases binding-handle


resources.

RpcBindingFromStringBinding Returns a binding handle from a string representation of a


binding handle.

RpcBindingFromStringBindingA Returns a binding handle from a string representation of a


binding handle.

RpcBindingFromStringBindingW Returns a binding handle from a string representation of a


binding handle.

RpcBindingInqAuthClient A server application calls the RpcBindingInqAuthClient


function to obtain the principal name or privilege attributes of
the authenticated client that made the remote procedure call.

RpcBindingInqAuthClientA A server application calls the RpcBindingInqAuthClient


function to obtain the principal name or privilege attributes of
the authenticated client that made the remote procedure call.

RpcBindingInqAuthClientEx A server application calls the RpcBindingInqAuthClientEx


function to obtain extended information about the client
program that made the remote procedure call.

RpcBindingInqAuthClientExA A server application calls the RpcBindingInqAuthClientEx


function to obtain extended information about the client
program that made the remote procedure call.

RpcBindingInqAuthClientExW A server application calls the RpcBindingInqAuthClientEx


function to obtain extended information about the client
program that made the remote procedure call.

RpcBindingInqAuthClientW A server application calls the RpcBindingInqAuthClient


function to obtain the principal name or privilege attributes of
the authenticated client that made the remote procedure call.

RpcBindingInqAuthInfo The RpcBindingInqAuthInfo function returns authentication


and authorization information from a binding handle.
T IT L E DESC RIP T IO N

RpcBindingInqAuthInfoA The RpcBindingInqAuthInfo function returns authentication


and authorization information from a binding handle.

RpcBindingInqAuthInfoExA The RpcBindingInqAuthInfoEx function returns authentication,


authorization, and security quality-of-service information from
a binding handle.

RpcBindingInqAuthInfoExW The RpcBindingInqAuthInfoEx function returns authentication,


authorization, and security quality-of-service information from
a binding handle.

RpcBindingInqAuthInfoW The RpcBindingInqAuthInfo function returns authentication


and authorization information from a binding handle.

RpcBindingInqObject The RpcBindingInqObject function returns the object UUID


from a binding handle.

RpcBindingInqOption RPC client processes use RpcBindingInqOption to determine


current values of the binding options for a given binding
handle.

RpcBindingReset The RpcBindingReset function resets a binding handle so that


the host is specified but the server on that host is unspecified.

RpcBindingServerFromClient An application calls RpcBindingServerFromClient to convert a


client binding handle into a partially-bound server binding
handle.

RpcBindingSetAuthInfo The RpcBindingSetAuthInfo function sets a binding handle's


authentication and authorization information.

RpcBindingSetAuthInfoA The RpcBindingSetAuthInfo function sets a binding handle's


authentication and authorization information.

RpcBindingSetAuthInfoExA The RpcBindingSetAuthInfoEx function sets a binding handle's


authentication, authorization, and security quality-of-service
information.

RpcBindingSetAuthInfoExW The RpcBindingSetAuthInfoEx function sets a binding handle's


authentication, authorization, and security quality-of-service
information.

RpcBindingSetAuthInfoW The RpcBindingSetAuthInfo function sets a binding handle's


authentication and authorization information.

RpcBindingSetObject The RpcBindingSetObject function sets the object UUID value


in a binding handle.

RpcBindingSetOption The RpcBindingSetOption function enables client applications


to specify message-queuing options on a binding handle.

RpcBindingToStringBinding The RpcBindingToStringBinding function returns a string


representation of a binding handle.
T IT L E DESC RIP T IO N

RpcBindingToStringBindingA The RpcBindingToStringBinding function returns a string


representation of a binding handle.

RpcBindingToStringBindingW The RpcBindingToStringBinding function returns a string


representation of a binding handle.

RpcBindingUnbind Unbinds a binding handle previously bound by


RpcBindingBind.

RpcBindingVectorFree The RpcBindingVectorFree function frees the binding handles


contained in the vector and the vector itself.

RpcCancelThread The RpcCancelThread function cancels a thread. The


RpcCancelThread function should not be used to cancel
asynchronous RPC calls; instead, use the RpcAsyncCancelCall
function to cancel an asynchronous RPC call.

RpcCancelThreadEx The RpcCancelThreadEx function stops the execution of a


thread.

RpcCertGeneratePrincipalName Server programs use the RpcCertGeneratePrincipalName


function to generate principal names for security certificates.

RpcCertGeneratePrincipalNameA Server programs use the RpcCertGeneratePrincipalName


function to generate principal names for security certificates.

RpcCertGeneratePrincipalNameW Server programs use the RpcCertGeneratePrincipalName


function to generate principal names for security certificates.

RpcEpRegister The RpcEpRegister function adds to or replaces server address


information in the local endpoint-map database.

RpcEpRegisterA The RpcEpRegister function adds to or replaces server address


information in the local endpoint-map database.

RpcEpRegisterNoReplace The RpcEpRegisterNoReplace function adds server-address


information to the local endpoint-map database.

RpcEpRegisterNoReplaceA The RpcEpRegisterNoReplace function adds server-address


information to the local endpoint-map database.

RpcEpRegisterNoReplaceW The RpcEpRegisterNoReplace function adds server-address


information to the local endpoint-map database.

RpcEpRegisterW The RpcEpRegister function adds to or replaces server address


information in the local endpoint-map database.

RpcEpResolveBinding The RpcEpResolveBinding function resolves a partially-bound


server binding handle into a fully-bound server binding
handle.

RpcEpUnregister The RpcEpUnregister function removes server-address


information from the local endpoint-map database.
T IT L E DESC RIP T IO N

RpcErrorAddRecord The RpcErrorAddRecord function adds extended error


information to a chain of extended error information records.

RpcErrorClearInformation The RpcErrorClearInformation function clears all extended


error information on the current thread.

RpcErrorEndEnumeration The RpcErrorEndEnumeration function ends enumeration of


extended error information and frees all resources allocated
by RPC for the enumeration.

RpcErrorGetNextRecord The RpcErrorGetNextRecord function retrieves the next


extended error information record for an enumeration handle.

RpcErrorGetNumberOfRecords The RpcErrorGetNumberOfRecords function returns the


number of records in the extended error information.

RpcErrorLoadErrorInfo The RpcErrorLoadErrorInfo function converts a BLOB obtained


by a call to RpcErrorSaveErrorInfo into extended error
information.

RpcErrorResetEnumeration The RpcErrorResetEnumeration function resets an


enumeration cursor for any in-process enumeration, resetting
the process such that a subsequent call to the
RpcErrorGetNextRecord retrieves the first extended error
information record.

RpcErrorSaveErrorInfo The RpcErrorSaveErrorInfo function returns all error


information for an enumeration handle as a BLOB.

RpcErrorStartEnumeration The RpcErrorStartEnumeration function begins enumeration


of extended error information.

RpcExcept The RpcExcept statement provides structured exception


handling for RPC applications.

RpcExceptionFilter A default exception filter that determines whether an


exception is fatal or non-fatal.

RpcFreeAuthorizationContext The RpcFreeAuthorizationContext function frees an Authz


context obtained by a previous call to the
RpcGetAuthorizationContextForClient function.

RpcGetAuthorizationContextForClient The RpcGetAuthorizationContextForClient function returns


the Authz context for an RPC client that can be used with
Authz functions for high-performance authentication.
Supported for ncalrpc and ncacn_* protocol sequences only.

RpcIfIdVectorFree The RpcIfIdVectorFree function frees the vector and the


interface-identification structures contained in the vector.

RpcIfInqId The RpcIfInqId function returns the interface-identification


part of an interface specification.
T IT L E DESC RIP T IO N

RpcImpersonateClient A server thread that is processing client remote procedure


calls can call the RpcImpersonateClient function to
impersonate the active client.

RpcImpersonateClientContainer RpcImpersonateClientContainer may be altered or


unavailable.

RpcMgmtEnableIdleCleanup The RpcMgmtEnableIdleCleanup function enables RPC to


close idle resources, such as network connections, on the
client.

RpcMgmtEpEltInqBegin The RpcMgmtEpEltInqBegin function creates an inquiry


context for viewing the elements in an endpoint map.

RpcMgmtEpEltInqDone The RpcMgmtEpEltInqDone function deletes the inquiry


context for viewing the elements in an endpoint map.

RpcMgmtEpEltInqNext The RpcMgmtEpEltInqNext function returns one element from


an endpoint map.

RpcMgmtEpEltInqNextA The RpcMgmtEpEltInqNext function returns one element from


an endpoint map.

RpcMgmtEpEltInqNextW The RpcMgmtEpEltInqNext function returns one element from


an endpoint map.

RpcMgmtEpUnregister The RpcMgmtEpUnregister function removes server address


information from an endpoint map.

RpcMgmtInqComTimeout The RpcMgmtInqComTimeout function returns the binding-


communications time-out value in a binding handle.

RpcMgmtInqDefaultProtectLevel The RpcMgmtInqDefaultProtectLevel function returns the


default authentication level for an authentication service.

RpcMgmtInqIfIds The RpcMgmtInqIfIds function returns a vector containing the


identifiers of the interfaces offered by the server.

RpcMgmtInqServerPrincName The RpcMgmtInqServerPrincName function returns a server's


principal name.

RpcMgmtInqServerPrincNameA The RpcMgmtInqServerPrincName function returns a server's


principal name.

RpcMgmtInqServerPrincNameW The RpcMgmtInqServerPrincName function returns a server's


principal name.

RpcMgmtInqStats The RpcMgmtInqStats function returns RPC run-time


statistics.

RpcMgmtIsServerListening The RpcMgmtIsServerListening function tells whether a server


is listening for remote procedure calls.
T IT L E DESC RIP T IO N

RpcMgmtSetAuthorizationFn The RpcMgmtSetAuthorizationFn function establishes an


authorization function for processing remote calls to a server's
management functions.

RpcMgmtSetCancelTimeout The RpcMgmtSetCancelTimeout function sets the lower


bound on the time to wait before timing out after forwarding
a cancel.

RpcMgmtSetComTimeout The RpcMgmtSetComTimeout function sets the binding-


communications time-out value in a binding handle.

RpcMgmtSetServerStackSize The RpcMgmtSetServerStackSize function specifies the stack


size for server threads created by the RPC run time.

RpcMgmtStatsVectorFree The RpcMgmtStatsVectorFree function frees a statistics vector.

RpcMgmtStopServerListening The RpcMgmtStopServerListening function tells a server to


stop listening for remote procedure calls. This function will not
affect auto-listen interfaces. See RpcServerRegisterIfEx for
more details.

RpcMgmtWaitServerListen The RpcMgmtWaitServerListen function performs the wait


operation usually associated with RpcServerListen.

RpcNetworkInqProtseqs The RpcNetworkInqProtseqs function returns all protocol


sequences supported by both the RPC run-time library and
the operating system.

RpcNetworkInqProtseqsA The RpcNetworkInqProtseqs function returns all protocol


sequences supported by both the RPC run-time library and
the operating system.

RpcNetworkInqProtseqsW The RpcNetworkInqProtseqs function returns all protocol


sequences supported by both the RPC run-time library and
the operating system.

RpcNetworkIsProtseqValid The RpcNetworkIsProtseqValid function tells whether the


specified protocol sequence is supported by both the RPC
run-time library and the operating system. Server applications
often use RpcNetworkInqProtseqs.

RpcNetworkIsProtseqValidA The RpcNetworkIsProtseqValid function tells whether the


specified protocol sequence is supported by both the RPC
run-time library and the operating system. Server applications
often use RpcNetworkInqProtseqs.

RpcNetworkIsProtseqValidW The RpcNetworkIsProtseqValid function tells whether the


specified protocol sequence is supported by both the RPC
run-time library and the operating system. Server applications
often use RpcNetworkInqProtseqs.

RPCNOTIFICATION_ROUTINE The RPCNOTIFICATION_ROUTINE function provides programs


that utilize asynchronous RPC with the ability to customize
responses to asynchronous events.
T IT L E DESC RIP T IO N

RpcNsBindingExportA The RpcNsBindingExport function establishes a name service–


database entry with multiple binding handles and multiple
objects for a server.

RpcNsBindingExportPnPA The RpcNsBindingExportPnP function establishes a name-


service database entry with multiple binding handles and
multiple objects for a server that supports Plug and Play.

RpcNsBindingExportPnPW The RpcNsBindingExportPnP function establishes a name-


service database entry with multiple binding handles and
multiple objects for a server that supports Plug and Play.

RpcNsBindingExportW The RpcNsBindingExport function establishes a name service–


database entry with multiple binding handles and multiple
objects for a server.

RpcNsBindingImportBeginA The RpcNsBindingImportBegin function creates an import


context for importing client-compatible binding handles for
servers that offer the specified interface and object.

RpcNsBindingImportBeginW The RpcNsBindingImportBegin function creates an import


context for importing client-compatible binding handles for
servers that offer the specified interface and object.

RpcNsBindingImportDone The RpcNsBindingImportDone function signals that a client


has finished looking for a compatible server and deletes the
import context.

RpcNsBindingImportNext The RpcNsBindingImportNext function looks up an interface


(and optionally an object from a name-service database) and
returns a binding handle of a compatible server, if found.

RpcNsBindingInqEntryName The RpcNsBindingInqEntryName function returns the entry


name from which the binding handle came.

RpcNsBindingInqEntryNameA The RpcNsBindingInqEntryName function returns the entry


name from which the binding handle came.

RpcNsBindingInqEntryNameW The RpcNsBindingInqEntryName function returns the entry


name from which the binding handle came.

RpcNsBindingLookupBeginA The RpcNsBindingLookupBegin function creates a lookup


context for an interface and an object.

RpcNsBindingLookupBeginW The RpcNsBindingLookupBegin function creates a lookup


context for an interface and an object.

RpcNsBindingLookupDone The RpcNsBindingLookupDone function signifies that a client


has finished looking for compatible servers and deletes the
lookup context.

RpcNsBindingLookupNext The RpcNsBindingLookupNext function returns a list of


compatible binding handles for a specified interface and
optionally an object.
T IT L E DESC RIP T IO N

RpcNsBindingSelect The RpcNsBindingSelect function returns a binding handle


from a list of compatible binding handles.

RpcNsBindingUnexportA The RpcNsBindingUnexport function removes the binding


handles for an interface and objects from an entry in the
name-service database.

RpcNsBindingUnexportPnPA The RpcNsBindingUnexportPnP function removes the binding


handles for Plug and Play interfaces and objects from an entry
in the name-service database.

RpcNsBindingUnexportPnPW The RpcNsBindingUnexportPnP function removes the binding


handles for Plug and Play interfaces and objects from an entry
in the name-service database.

RpcNsBindingUnexportW The RpcNsBindingUnexport function removes the binding


handles for an interface and objects from an entry in the
name-service database.

RpcNsEntryExpandNameA The RpcNsEntryExpandName function expands a name-


service entry name. This function is supported by Active
Directory.

RpcNsEntryExpandNameW The RpcNsEntryExpandName function expands a name-


service entry name. This function is supported by Active
Directory.

RpcNsEntryObjectInqBeginA The RpcNsEntryObjectInqBegin function creates an inquiry


context for the objects of a name-service database entry.

RpcNsEntryObjectInqBeginW The RpcNsEntryObjectInqBegin function creates an inquiry


context for the objects of a name-service database entry.

RpcNsEntryObjectInqDone The RpcNsEntryObjectInqDone function deletes the inquiry


context for a name-service database entry's objects.

RpcNsEntryObjectInqNext The RpcNsEntryObjectInqNext function returns one object at


a time from a name-service database entry.

RpcNsGroupDeleteA The RpcNsGroupDelete function deletes a group attribute.

RpcNsGroupDeleteW The RpcNsGroupDelete function deletes a group attribute.

RpcNsGroupMbrAddA The RpcNsGroupMbrAdd function adds an entry name to a


group. If necessary, it creates the entry.

RpcNsGroupMbrAddW The RpcNsGroupMbrAdd function adds an entry name to a


group. If necessary, it creates the entry.

RpcNsGroupMbrInqBeginA The RpcNsGroupMbrInqBegin function creates an inquiry


context for viewing group members.

RpcNsGroupMbrInqBeginW The RpcNsGroupMbrInqBegin function creates an inquiry


context for viewing group members.
T IT L E DESC RIP T IO N

RpcNsGroupMbrInqDone The RpcNsGroupMbrInqDone function deletes the inquiry


context for a group.

RpcNsGroupMbrInqNextA The RpcNsGroupMbrInqNext function returns one entry


name from a group at a time.

RpcNsGroupMbrInqNextW The RpcNsGroupMbrInqNext function returns one entry


name from a group at a time.

RpcNsGroupMbrRemoveA The RpcNsGroupMbrRemove function removes an entry


name from a group.

RpcNsGroupMbrRemoveW The RpcNsGroupMbrRemove function removes an entry


name from a group.

RpcNsMgmtBindingUnexportA The RpcNsMgmtBindingUnexport function removes multiple


binding handles and objects from an entry in the name-
service database.

RpcNsMgmtBindingUnexportW The RpcNsMgmtBindingUnexport function removes multiple


binding handles and objects from an entry in the name-
service database.

RpcNsMgmtEntryCreateA The RpcNsMgmtEntryCreate function creates a name service–


database entry.

RpcNsMgmtEntryCreateW The RpcNsMgmtEntryCreate function creates a name service–


database entry.

RpcNsMgmtEntryDeleteA The RpcNsMgmtEntryDelete function deletes a name service–


database entry.

RpcNsMgmtEntryDeleteW The RpcNsMgmtEntryDelete function deletes a name service–


database entry.

RpcNsMgmtEntryInqIfIdsA The RpcNsMgmtEntryInqIfIds function returns the list of


interfaces exported to a name service–database entry.

RpcNsMgmtEntryInqIfIdsW The RpcNsMgmtEntryInqIfIds function returns the list of


interfaces exported to a name service–database entry.

RpcNsMgmtHandleSetExpAge The RpcNsMgmtHandleSetExpAge function sets the expiration


age of a name-service handle for local copies of name-service
data.

RpcNsMgmtInqExpAge The RpcNsMgmtInqExpAge function returns the global


expiration age for local copies of name-service data.

RpcNsMgmtSetExpAge The RpcNsMgmtSetExpAge function modifies the application's


global expiration age for local copies of name-service data.

RpcNsProfileDeleteA The RpcNsProfileDelete function deletes a profile attribute.

RpcNsProfileDeleteW The RpcNsProfileDelete function deletes a profile attribute.


T IT L E DESC RIP T IO N

RpcNsProfileEltAddA The RpcNsProfileEltAdd function adds an element to a profile.


If necessary, it creates the entry.

RpcNsProfileEltAddW The RpcNsProfileEltAdd function adds an element to a profile.


If necessary, it creates the entry.

RpcNsProfileEltInqBeginA The RpcNsProfileEltInqBegin function creates an inquiry


context for viewing the elements in a profile.

RpcNsProfileEltInqBeginW The RpcNsProfileEltInqBegin function creates an inquiry


context for viewing the elements in a profile.

RpcNsProfileEltInqDone The RpcNsProfileEltInqDone function deletes the inquiry


context for viewing the elements in a profile.

RpcNsProfileEltInqNextA The RpcNsProfileEltInqNext function returns one element at a


time from a profile.

RpcNsProfileEltInqNextW The RpcNsProfileEltInqNext function returns one element at a


time from a profile.

RpcNsProfileEltRemoveA The RpcNsProfileEltRemove function removes an element from


a profile.

RpcNsProfileEltRemoveW The RpcNsProfileEltRemove function removes an element from


a profile.

RpcObjectInqType The RpcObjectInqType function returns the type of an object.

RpcObjectSetInqFn The RpcObjectSetInqFn function registers an object-inquiry


function. A null value turns off a previously registered object-
inquiry function.

RpcObjectSetType The RpcObjectSetType function assigns the type of an object.

RpcProtseqVectorFree The RpcProtseqVectorFree function frees the protocol


sequences contained in the vector and the vector itself.

RpcProtseqVectorFreeA The RpcProtseqVectorFree function frees the protocol


sequences contained in the vector and the vector itself.

RpcProtseqVectorFreeW The RpcProtseqVectorFree function frees the protocol


sequences contained in the vector and the vector itself.

RpcRaiseException Use the RpcRaiseException function to raise an exception. The


function does not return to the caller.

RpcRevertContainerImpersonation RpcRevertContainerImpersonation may be altered or


unavailable.

RpcRevertToSelf After calling RpcImpersonateClient and completing any tasks


that require client impersonation, the server calls
RpcRevertToSelf to end impersonation and to reestablish its
own security identity.
T IT L E DESC RIP T IO N

RpcRevertToSelfEx The RpcRevertToSelfEx function allows a server to impersonate


a client and then revert in a multithreaded operation where
the call to impersonate a client can come from a thread other
than the thread originally dispatched from the RPC.

RpcServerCompleteSecurityCallback The RpcServerCompleteSecurityCallback function completes


an asynchronous security callback.

RpcServerInqBindingHandle Obtains the binding handle for RPC calls serviced by the
thread in which RpcServerInqBindingHandle is called.

RpcServerInqBindings The RpcServerInqBindings function returns the binding


handles over which remote procedure calls can be received.

RpcServerInqCallAttributesA The RpcServerInqCallAttributes function is an RPC server call


that obtains client security context attributes.

RpcServerInqCallAttributesW The RpcServerInqCallAttributes function is an RPC server call


that obtains client security context attributes.

RpcServerInqDefaultPrincName The RpcServerInqDefaultPrincName function obtains the


default principal name for a given authentication service.

RpcServerInqDefaultPrincNameA The RpcServerInqDefaultPrincName function obtains the


default principal name for a given authentication service.

RpcServerInqDefaultPrincNameW The RpcServerInqDefaultPrincName function obtains the


default principal name for a given authentication service.

RpcServerInqIf The RpcServerInqIf function returns the manager entry-point


vector (EPV) registered for an interface.

RpcServerInterfaceGroupActivate The RpcServerInterfaceGroupActivate function tells the RPC


server runtime to register the interface group’s interfaces and
endpoints and begin listening for calls.

RpcServerInterfaceGroupClose The RpcServerInterfaceGroupClose function is used to free an


interface group.

RpcServerInterfaceGroupCreate The RpcServerInterfaceGroupCreate function creates an RPC


server interface group for the server application.

RpcServerInterfaceGroupCreateA The RpcServerInterfaceGroupCreate function creates an RPC


server interface group for the server application.

RpcServerInterfaceGroupCreateW The RpcServerInterfaceGroupCreate function creates an RPC


server interface group for the server application.

RpcServerInterfaceGroupDeactivate The RpcServerInterfaceGroupDeactivate function tells the RPC


runtime to attempt to close the given interface group,
optionally aborting the operation if there is outstanding client
activity.
T IT L E DESC RIP T IO N

RpcServerInterfaceGroupInqBindings The RpcServerInterfaceGroupInqBindings function returns the


binding handles over which remote procedure calls can be
received for the given interface group.

RpcServerListen The RpcServerListen function signals the RPC run-time library


to listen for remote procedure calls. This function will not
affect auto-listen interfaces; use RpcServerRegisterIfEx if you
need that functionality.

RpcServerRegisterAuthInfo The RpcServerRegisterAuthInfo function registers


authentication information with the RPC run-time library.

RpcServerRegisterAuthInfoA The RpcServerRegisterAuthInfo function registers


authentication information with the RPC run-time library.

RpcServerRegisterAuthInfoW The RpcServerRegisterAuthInfo function registers


authentication information with the RPC run-time library.

RpcServerRegisterIf The RpcServerRegisterIf function registers an interface with


the RPC run-time library.

RpcServerRegisterIf2 The RpcServerRegisterIf2 function registers an interface with


the RPC run-time library.

RpcServerRegisterIf3 The RpcServerRegisterIf3 function registers an interface with


the RPC run-time library.

RpcServerRegisterIfEx The RpcServerRegisterIfEx function registers an interface with


the RPC run-time library.

RpcServerSubscribeForNotification Subscribes the server for RPC notifications.

RpcServerTestCancel The server calls RpcServerTestCancel to test for client cancel


requests.

RpcServerUnregisterIf The RpcServerUnregisterIf function removes an interface from


the RPC run-time library registry.

RpcServerUnregisterIfEx The RpcServerUnregisterIfEx function removes an interface


from the RPC run-time library registry. This function extends
the functionality of the RpcServerUnregisterIf function.

RpcServerUnsubscribeForNotification Unsubscribes the server from RPC notifications.

RpcServerUseAllProtseqs The RpcServerUseAllProtseqs function tells the RPC run-time


library to use all supported protocol sequences for receiving
remote procedure calls.

RpcServerUseAllProtseqsEx The RpcServerUseAllProtseqsEx function tells the RPC run-


time library to use all supported protocol sequences for
receiving remote procedure calls.
T IT L E DESC RIP T IO N

RpcServerUseAllProtseqsIf The RpcServerUseAllProtseqsIf function tells the RPC run-time


library to use all specified protocol sequences and endpoints
in the interface specification for receiving remote procedure
calls.

RpcServerUseAllProtseqsIfEx The RpcServerUseAllProtseqsIfEx function tells the RPC run-


time library to use all the specified protocol sequences and
endpoints in the interface specification for receiving remote
procedure calls.

RpcServerUseProtseq The RpcServerUseProtseq function tells the RPC run-time


library to use the specified protocol sequence for receiving
remote procedure calls.

RpcServerUseProtseqA The RpcServerUseProtseq function tells the RPC run-time


library to use the specified protocol sequence for receiving
remote procedure calls.

RpcServerUseProtseqEp The RpcServerUseProtseqEp function tells the RPC run-time


library to use the specified protocol sequence combined with
the specified endpoint for receiving remote procedure calls.

RpcServerUseProtseqEpA The RpcServerUseProtseqEp function tells the RPC run-time


library to use the specified protocol sequence combined with
the specified endpoint for receiving remote procedure calls.

RpcServerUseProtseqEpEx The RpcServerUseProtseqEpEx function tells the RPC run-time


library to use the specified protocol sequence combined with
the specified endpoint for receiving remote procedure calls.

RpcServerUseProtseqEpExA The RpcServerUseProtseqEpEx function tells the RPC run-time


library to use the specified protocol sequence combined with
the specified endpoint for receiving remote procedure calls.

RpcServerUseProtseqEpExW The RpcServerUseProtseqEpEx function tells the RPC run-time


library to use the specified protocol sequence combined with
the specified endpoint for receiving remote procedure calls.

RpcServerUseProtseqEpW The RpcServerUseProtseqEp function tells the RPC run-time


library to use the specified protocol sequence combined with
the specified endpoint for receiving remote procedure calls.

RpcServerUseProtseqEx The RpcServerUseProtseqEx function tells the RPC run-time


library to use the specified protocol sequence for receiving
remote procedure calls.

RpcServerUseProtseqExA The RpcServerUseProtseqEx function tells the RPC run-time


library to use the specified protocol sequence for receiving
remote procedure calls.

RpcServerUseProtseqExW The RpcServerUseProtseqEx function tells the RPC run-time


library to use the specified protocol sequence for receiving
remote procedure calls.
T IT L E DESC RIP T IO N

RpcServerUseProtseqIf The RpcServerUseProtseqIf function tells the RPC run-time


library to use the specified protocol sequence combined with
the endpoints in the interface specification for receiving
remote procedure calls.

RpcServerUseProtseqIfA The RpcServerUseProtseqIf function tells the RPC run-time


library to use the specified protocol sequence combined with
the endpoints in the interface specification for receiving
remote procedure calls.

RpcServerUseProtseqIfEx The RpcServerUseProtseqIfEx function tells the RPC run-time


library to use the specified protocol sequence combined with
the endpoints in the interface specification for receiving
remote procedure calls.

RpcServerUseProtseqIfExA The RpcServerUseProtseqIfEx function tells the RPC run-time


library to use the specified protocol sequence combined with
the endpoints in the interface specification for receiving
remote procedure calls.

RpcServerUseProtseqIfExW The RpcServerUseProtseqIfEx function tells the RPC run-time


library to use the specified protocol sequence combined with
the endpoints in the interface specification for receiving
remote procedure calls.

RpcServerUseProtseqIfW The RpcServerUseProtseqIf function tells the RPC run-time


library to use the specified protocol sequence combined with
the endpoints in the interface specification for receiving
remote procedure calls.

RpcServerUseProtseqW The RpcServerUseProtseq function tells the RPC run-time


library to use the specified protocol sequence for receiving
remote procedure calls.

RpcSmAllocate The RpcSmAllocate function allocates memory within the RPC


stub memory management function and returns a pointer to
the allocated memory or NULL.

RpcSmClientFree The RpcSmClientFree function frees memory returned from a


client stub.

RpcSmDestroyClientContext The RpcSmDestroyClientContext function reclaims the client


memory resources for a context handle and makes the
context handle NULL.

RpcSmDisableAllocate The RpcSmDisableAllocate function frees resources and


memory within the stub memory–management environment.

RpcSmEnableAllocate The RpcSmEnableAllocate function establishes the stub


memory–management environment.

RpcSmFree The RpcSmFree function releases memory allocated by


RpcSmAllocate.
T IT L E DESC RIP T IO N

RpcSmGetThreadHandle The RpcSmGetThreadHandle function returns a thread handle,


or NULL, for the stub memory–management environment.

RpcSmSetClientAllocFree The RpcSmSetClientAllocFree function enables the memory


allocation and release mechanisms used by the client stubs.

RpcSmSetThreadHandle The RpcSmSetThreadHandle function sets a thread handle for


the stub memory–management environment.

RpcSmSwapClientAllocFree The RpcSmSwapClientAllocFree function exchanges the client


stub's memory-allocation and memory-freeing mechanisms
with those supplied by the client.

RpcSsAllocate The RpcSsAllocate function allocates memory within the RPC


stub memory-management function, and returns a pointer to
the allocated memory or NULL.

RpcSsContextLockExclusive The RpcSsContextLockExclusive function enables an


application to begin using a context handle in exclusive mode.

RpcSsContextLockShared The RpcSsContextLockShared function enables an application


to begin using a context handle in shared mode.

RpcSsDestroyClientContext The RpcSsDestroyClientContext function destroys a context


handle no longer needed by the client, without contacting the
server.

RpcSsDisableAllocate The RpcSsDisableAllocate function frees resources and


memory within the stub memory–management environment.

RpcSsDontSerializeContext The RpcSsDontSerializeContext function disables run-time


serialization of multiple calls dispatched to server-manager
routines on the same context handle.

RpcSsEnableAllocate The RpcSsEnableAllocate function establishes the stub


memory–management environment.

RpcSsFree The RpcSsFree function releases memory allocated by


RpcSsAllocate.

RpcSsGetThreadHandle The RpcSsGetThreadHandle function returns a thread handle


for the stub memory–management environment.

RpcSsSetClientAllocFree The RpcSsSetClientAllocFree function enables the memory


allocation and release mechanisms used by the client stubs.

RpcSsSetThreadHandle The RpcSsSetThreadHandle function sets a thread handle for


the stub memory–management environment.

RpcSsSwapClientAllocFree The RpcSsSwapClientAllocFree function exchanges the


memory allocation and release mechanisms used by the client
stubs with those supplied by the client.
T IT L E DESC RIP T IO N

RpcStringBindingCompose The RpcStringBindingCompose function creates a string


binding handle.

RpcStringBindingComposeA The RpcStringBindingCompose function creates a string


binding handle.

RpcStringBindingComposeW The RpcStringBindingCompose function creates a string


binding handle.

RpcStringBindingParse The RpcStringBindingParse function returns the object UUID


part and the address parts of a string binding as separate
strings.

RpcStringBindingParseA The RpcStringBindingParse function returns the object UUID


part and the address parts of a string binding as separate
strings.

RpcStringBindingParseW The RpcStringBindingParse function returns the object UUID


part and the address parts of a string binding as separate
strings.

RpcStringFree The RpcStringFree function frees a character string allocated


by the RPC run-time library.

RpcStringFreeA The RpcStringFree function frees a character string allocated


by the RPC run-time library.

RpcStringFreeW The RpcStringFree function frees a character string allocated


by the RPC run-time library.

RpcTestCancel The RpcTestCancel function checks for a cancel indication.

RpcUserFree RpcUserFree may be altered or unavailable.

UuidCompare An application calls the UuidCompare function to compare


two UUIDs and determine their order. The returned value
gives the order.

UuidCreate The UuidCreate function creates a new UUID.

UuidCreateNil The UuidCreateNil function creates a nil-valued UUID.

UuidCreateSequential The UuidCreateSequential function creates a new UUID.

UuidEqual An application calls the UuidEqual function to compare two


UUIDs and determine whether they are equal.

UuidFromString The UuidFromString function converts a string to a UUID.

UuidFromStringA The UuidFromString function converts a string to a UUID.

UuidFromStringW The UuidFromString function converts a string to a UUID.


T IT L E DESC RIP T IO N

UuidHash An application calls the UuidHash function to generate a hash


value for a specified UUID.

UuidIsNil An application calls the UuidIsNil function to determine


whether the specified UUID is a nil-valued UUID.

UuidToString The UuidToString function converts a UUID to a string.

UuidToStringA The UuidToString function converts a UUID to a string.

UuidToStringW The UuidToString function converts a UUID to a string.

Structures
T IT L E DESC RIP T IO N

MIDL_STUB_DESC The MIDL_STUB_DESC structure is a MIDL-generated


structure that contains information about the interface stub
regarding RPC calls between the client and server.

MIDL_STUB_MESSAGE Is generated by MIDL and contains the current status of the


RPC stub. Applications are not to modify the
MIDL_STUB_MESSAGE structure directly.

NDR_USER_MARSHAL_INFO The NDR_USER_MARSHAL_INFO structure holds information


about the state of an RPC call that can be passed to
wire_marshal and user_marshal helper functions.

NDR_USER_MARSHAL_INFO_LEVEL1 The NDR_USER_MARSHAL_INFO_LEVEL1 structure holds


information about the state of an RPC call that can be passed
to wire_marshal and user_marshal helper functions.

ProxyFileInfo The ProxyFileInfo structure contains information about the


interface proxies in the proxy DLL.

RPC_ASYNC_NOTIFICATION_INFO Contains notification information for asynchronous remote


procedure calls. This notification information can be
configured for I/O completion ports (IOC), Windows
asynchronous procedure calls (APC), Windows messaging, and
Windows event notification.

RPC_ASYNC_STATE The RPC_ASYNC_STATE structure holds the state of an


asynchronous remote procedure call. RPC_ASYNC_STATE is a
handle to this structure, used to wait for, query, reply to, or
cancel asynchronous calls.

RPC_BINDING_HANDLE_OPTIONS_V1 Contains additional options with which to create an RPC


binding handle.

RPC_BINDING_HANDLE_SECURITY_V1_A Contains the basic security options with which to create an


RPC binding handle.
T IT L E DESC RIP T IO N

RPC_BINDING_HANDLE_SECURITY_V1_W Contains the basic security options with which to create an


RPC binding handle.

RPC_BINDING_HANDLE_TEMPLATE_V1_A Contains the basic options with which to create an RPC


binding handle.

RPC_BINDING_HANDLE_TEMPLATE_V1_W Contains the basic options with which to create an RPC


binding handle.

RPC_BINDING_VECTOR The RPC_BINDING_VECTOR structure contains a list of


binding handles over which a server application can receive
remote procedure calls.

RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR The RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR structure


contains a cookie that is inserted into the header of
RPC/HTTP traffic.

RPC_CALL_ATTRIBUTES_V1_A The RPC_CALL_ATTRIBUTES_V1 structure provides parameters


to the RpcServerInqCallAttributes function. Implemented in
ANSI and UNICODE versions for Windows XP and Windows
Server 2003 operating systems.

RPC_CALL_ATTRIBUTES_V1_W The RPC_CALL_ATTRIBUTES_V1 structure provides parameters


to the RpcServerInqCallAttributes function. Implemented in
ANSI and UNICODE versions for Windows XP and Windows
Server 2003 operating systems.

RPC_CALL_ATTRIBUTES_V2_A The RPC_CALL_ATTRIBUTES_V2 structure provides parameters


to the RpcServerInqCallAttributes function. Version 2 specifies
support for local addresses and client process IDs.

RPC_CALL_ATTRIBUTES_V2_W The RPC_CALL_ATTRIBUTES_V2 structure provides parameters


to the RpcServerInqCallAttributes function. Version 2 specifies
support for local addresses and client process IDs.

RPC_CALL_LOCAL_ADDRESS_V1 Contains information about the local address on which a call


was made.

RPC_CLIENT_INTERFACE The RPC_CLIENT_INTERFACE structure is part of the private


interface between the run-time libraries and the stubs. Most
distributed applications that use Microsoft RPC do not need
this structure.

RPC_DISPATCH_TABLE The RPC_DISPATCH_TABLE structure is part of the private


interface between the run-time libraries and the stubs. Most
distributed applications that use Microsoft RPC do not need
this structure.

RPC_EE_INFO_PARAM The RPC_EE_INFO_PARAM structure is used to store extended


error information.

RPC_ENDPOINT_TEMPLATE Specifies the properties of an RPC interface group server


endpoint, including protocol sequence and name.
T IT L E DESC RIP T IO N

RPC_ENDPOINT_TEMPLATEA Specifies the properties of an RPC interface group server


endpoint, including protocol sequence and name.

RPC_ENDPOINT_TEMPLATEW Specifies the properties of an RPC interface group server


endpoint, including protocol sequence and name.

RPC_ERROR_ENUM_HANDLE The RPC_ERROR_ENUM_HANDLE structure provides an


enumeration handle used by RpcError* functions for
processing extended error information.

RPC_EXTENDED_ERROR_INFO The RPC_EXTENDED_ERROR_INFO structure is used to store


extended error information.

RPC_HTTP_TRANSPORT_CREDENTIALS_A The RPC_HTTP_TRANSPORT_CREDENTIALS structure defines


additional credentials to authenticate to an RPC proxy server
when using RPC/HTTP.

RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A The RPC_HTTP_TRANSPORT_CREDENTIALS_V2 structure


defines additional credentials to authenticate to an RPC proxy
server or HTTP proxy server when using
RPC/HTTP.RPC_HTTP_TRANSPORT_CREDENTIALS_V2 extends
RPC_HTTP_TRANSPORT_CREDENTIALS by allowing
authentication against an HTTP proxy server.

RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W The RPC_HTTP_TRANSPORT_CREDENTIALS_V2 structure


defines additional credentials to authenticate to an RPC proxy
server or HTTP proxy server when using
RPC/HTTP.RPC_HTTP_TRANSPORT_CREDENTIALS_V2 extends
RPC_HTTP_TRANSPORT_CREDENTIALS by allowing
authentication against an HTTP proxy server.

RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A The RPC_HTTP_TRANSPORT_CREDENTIALS_V3 structure


defines additional credentials to authenticate to an RPC proxy
server or HTTP proxy server when using
RPC/HTTP.RPC_HTTP_TRANSPORT_CREDENTIALS_V3 extends
RPC_HTTP_TRANSPORT_CREDENTIALS_V2 by allowing
arbitrary credential forms to be used.

RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W The RPC_HTTP_TRANSPORT_CREDENTIALS_V3 structure


defines additional credentials to authenticate to an RPC proxy
server or HTTP proxy server when using
RPC/HTTP.RPC_HTTP_TRANSPORT_CREDENTIALS_V3 extends
RPC_HTTP_TRANSPORT_CREDENTIALS_V2 by allowing
arbitrary credential forms to be used.

RPC_HTTP_TRANSPORT_CREDENTIALS_W The RPC_HTTP_TRANSPORT_CREDENTIALS structure defines


additional credentials to authenticate to an RPC proxy server
when using RPC/HTTP.

RPC_IF_ID The RPC_IF_ID structure contains the interface UUID and


major and minor version numbers of an interface.

RPC_IF_ID_VECTOR The RPC_IF_ID_VECTOR structure contains a list of interfaces


offered by a server.

RPC_INTERFACE_TEMPLATE Defines an RPC interface group server interface.


T IT L E DESC RIP T IO N

RPC_INTERFACE_TEMPLATEA Defines an RPC interface group server interface.

RPC_INTERFACE_TEMPLATEW Defines an RPC interface group server interface.

RPC_MESSAGE The RPC_MESSAGE structure contains information shared


between NDR and the rest of the RPC or OLE runtime.

RPC_POLICY The RPC_POLICY structure contains flags that determine


binding on multihomed computers, and port allocations when
using the ncacn_ip_tcp and ncadg_ip_udp protocols.

RPC_PROTSEQ_VECTOR The RPC_PROTSEQ_VECTOR structure contains a list of


protocol sequences the RPC run-time library uses to send and
receive remote procedure calls.

RPC_SECURITY_QOS The RPC_SECURITY_QOS structure defines security quality-of-


service settings on a binding handle. See Remarks for version
availability on Windows editions.

RPC_SECURITY_QOS_V2_A The RPC_SECURITY_QOS_V2 structure defines version 2


security quality-of-service settings on a binding handle. See
Remarks for version availability on Windows editions.

RPC_SECURITY_QOS_V2_W The RPC_SECURITY_QOS_V2 structure defines version 2


security quality-of-service settings on a binding handle. See
Remarks for version availability on Windows editions.

RPC_SECURITY_QOS_V3_A The RPC_SECURITY_QOS_V3 structure defines version 3


security quality-of-service settings on a binding handle. See
Remarks for version availability on Windows editions.

RPC_SECURITY_QOS_V3_W The RPC_SECURITY_QOS_V3 structure defines version 3


security quality-of-service settings on a binding handle. See
Remarks for version availability on Windows editions.

RPC_SECURITY_QOS_V4_A The RPC_SECURITY_QOS_V4 structure defines version 4


security quality-of-service settings on a binding handle. See
Remarks for version availability on Windows editions.

RPC_SECURITY_QOS_V4_W The RPC_SECURITY_QOS_V4 structure defines version 4


security quality-of-service settings on a binding handle. See
Remarks for version availability on Windows editions.

RPC_SECURITY_QOS_V5_A The RPC_SECURITY_QOS_V5 structure defines version 5


security quality-of-service settings on a binding handle. See
Remarks for version availability on Windows editions.

RPC_SECURITY_QOS_V5_W The RPC_SECURITY_QOS_V5 structure defines version 5


security quality-of-service settings on a binding handle. See
Remarks for version availability on Windows editions.

RPC_STATS_VECTOR The RPC_STATS_VECTOR structure contains statistics from the


RPC run-time library on a per-server basis.
T IT L E DESC RIP T IO N

SEC_WINNT_AUTH_IDENTITY_A The SEC_WINNT_AUTH_IDENTITY structure enables passing a


particular user name and password to the run-time library for
the purpose of authentication. The structure is valid for
Windows and Macintosh.

SEC_WINNT_AUTH_IDENTITY_W The SEC_WINNT_AUTH_IDENTITY structure enables passing a


particular user name and password to the run-time library for
the purpose of authentication. The structure is valid for
Windows and Macintosh.

UUID_VECTOR The UUID_VECTOR structure contains a list of UUIDs.


Restart Manager
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Restart Manager technology.


To develop Restart Manager, you need these headers:
restartmanager.h
For programming guidance for this technology, see:
Restart Manager

Enumerations
T IT L E DESC RIP T IO N

RM_APP_STATUS Describes the current status of an application that is acted


upon by the Restart Manager.

RM_APP_TYPE Specifies the type of application that is described by the


RM_PROCESS_INFO structure.

RM_FILTER_ACTION Specifies the type of modification that is applied to restart or


shutdown actions.

RM_FILTER_TRIGGER Describes the restart or shutdown actions for an application or


service.

RM_REBOOT_REASON Describes the reasons a restart of the system is needed.

RM_SHUTDOWN_TYPE Configures the shut down of applications.

Functions
T IT L E DESC RIP T IO N

RM_WRITE_STATUS_CALLBACK The RM_WRITE_STATUS_CALLBACK function can be


implemented by the user interface that controls the Restart
Manager.

RmAddFilter Modifies the shutdown or restart actions that are applied to


an application or service.

RmCancelCurrentTask Cancels the current RmShutdown or RmRestart operation. This


function must be called from the application that has started
the session by calling the RmStartSession function.

RmEndSession Ends the Restart Manager session.


T IT L E DESC RIP T IO N

RmGetFilterList Lists the modifications to shutdown and restart actions that


have already been applied by the RmAddFilter function.

RmGetList Gets a list of all applications and services that are currently
using resources that have been registered with the Restart
Manager session.

RmJoinSession Joins a secondary installer to an existing Restart Manager


session.

RmRegisterResources Registers resources to a Restart Manager session.

RmRemoveFilter Removes any modifications to shutdown or restart actions


that have been applied using the RmAddFilter function.

RmRestart Restarts applications and services that have been shut down
by the RmShutdown function and that have been registered
to be restarted using the RegisterApplicationRestart function.

RmShutdown Initiates the shutdown of applications.

RmStartSession Starts a new Restart Manager session.

Structures
T IT L E DESC RIP T IO N

RM_FILTER_INFO Contains information about modifications to restart or


shutdown actions.

RM_PROCESS_INFO Describes an application that is to be registered with the


Restart Manager.

RM_UNIQUE_PROCESS Uniquely identifies a process by its PID and the time the
process began.
Routing and Remote Access Service
2/7/2020 • 45 minutes to read • Edit Online

Overview of the Routing and Remote Access Service technology.


To develop Routing and Remote Access Service, you need these headers:
ipxrtdef.h
mgm.h
mprapi.h
ras.h
rasdlg.h
rasshost.h
routprot.h
rtmv2.h
stm.h
For programming guidance for this technology, see:
Routing and Remote Access Service

Enumerations
T IT L E DESC RIP T IO N

MGM_ENUM_TYPES The MGM_ENUM_TYPES enumeration lists the types of group


enumerations that the multicast group manager uses. This
structure is used by the MgmGroupEnumerationStart
function.

MPRAPI_OBJECT_TYPE Specifies the structure type in a MPRAPI_OBJECT_HEADER


structure.

RAS_HARDWARE_CONDITION The RAS_HARDWARE_CONDITION enumeration type specifies


hardware status information about a given RAS port.

RAS_PORT_CONDITION The RAS_PORT_CONDITION enumerated type specifies


information regarding the connection condition of a given
RAS port.

RAS_QUARANTINE_STATE The RAS_QUARANTINE_STATE enumerated type indicates the


quarantine state of a client connection.

RASPROJECTION_INFO_TYPE Is used in the RAS_PROJECTION_INFO structure to represent


either a RASPPP_PROJECTION_INFO or
RASIKEV2_PROJECTION_INFO structure.

ROUTER_CONNECTION_STATE Enumerates the possible states of an interface on a router.

ROUTER_INTERFACE_TYPE The ROUTER_INTERFACE_TYPE type enumerates the different


kinds of interfaces on a router.
T IT L E DESC RIP T IO N

RTM_EVENT_TYPE The RTM_EVENT_TYPE enumeration enumerates the events


that the routing table manager can notify the client about
using the RTM_EVENT_CALLBACK callback.

Functions
T IT L E DESC RIP T IO N

_ENTITY_METHOD The RTM_ENTITY_EXPORT_METHOD callback is the prototype


for any method exported by a client.

_EVENT_CALLBACK The RTM_EVENT_CALLBACK callback is used by the routing


table manager to inform a client that the specified event
occurred.

MgmAddGroupMembershipEntry The MgmAddGroupMembershipEntry function notifies the


multicast group manager that there are new receivers for the
specified groups on the specified interface.

MgmDeleteGroupMembershipEntry The MgmDeleteGroupMembershipEntry function notifies the


multicast group manager that there are no more receivers
present for the specified groups on the specified interface.

MgmDeRegisterMProtocol The MgmDeRegisterMProtocol function deregisters a client


handle obtained from a call to MgmRegisterMProtocol.

MgmGetFirstMfe The MgmGetFirstMfe function retrieves MFEs starting at the


beginning of the MFE list.

MgmGetFirstMfeStats The MgmGetFirstMfeStats function retrieves MFE statistics


starting at the beginning of the MFE list.

MgmGetMfe The MgmGetMfe function retrieves a specific MFE.

MgmGetMfeStats The MgmGetMfeStats function retrieves the statistics for a


specific MFE. The statistics returned include the packets
received, bytes received, and the packets forwarded on each
outgoing interface.

MgmGetNextMfe The MgmGetNextMfe function retrieves one or more MFEs.

MgmGetNextMfeStats The MgmGetNextMfeStats function retrieves one or more sets


of MFE statistics.

MgmGetProtocolOnInterface The MgmGetProtocolOnInterface function retrieves the


protocol ID of the multicast routing protocol that owns the
specified interface.

MgmGroupEnumerationEnd The MgmGroupEnumerationEnd function releases the


specified enumeration handle that was obtained from a
previous call to MgmGroupEnumerationStart.
T IT L E DESC RIP T IO N

MgmGroupEnumerationGetNext The MgmGroupEnumerationGetNext function retrieves the


next set of group entries. The information that is returned by
this function is a list of groups joined and the sources
requested, if any.

MgmGroupEnumerationStart The MgmGroupEnumerationStart function obtains an


enumeration handle that is later used to obtain the list of
groups that have been joined. After the client obtains the
handle, it should use the MgmGroupEnumerationGetNext
function to enumerate the groups.

MgmRegisterMProtocol The MgmRegisterMProtocol function is used by clients to


register with the multicast group manager.

MgmReleaseInterfaceOwnership The MgmReleaseInterfaceOwnership function is used by a


client to relinquish ownership of an interface. When this
function is called, all MFEs maintained by the multicast group
manager on behalf of the client and for the specified interface
are deleted.

MgmSetMfe The MgmSetMfe function changes the upstream neighbor for


an MFE. An MFE contains the information about which
interface is receiving and which interfaces are forwarding
multicast data.

MgmTakeInterfaceOwnership The MgmTakeInterfaceOwnership function is called by a client


(such as a routing protocol) when it is enabled on an interface.

MprAdminAcceptNewConnection Remote Access Service calls the


MprAdminAcceptNewConnection function each time a new
user dials in and successfully completes RAS authentication.
MprAdminAcceptNewConnection determines whether the
user is allowed to connect.

MprAdminAcceptNewConnection2 Remote Access Service calls the


MprAdminAcceptNewConnection2 function each time a new
user dials in and successfully completes RAS authentication.
MprAdminAcceptNewConnection2 determines whether the
user is allowed to connect.

MprAdminAcceptNewConnection3 Remote Access Service calls the


MprAdminAcceptNewConnection3 function each time a new
user dials in and successfully completes RAS authentication.
MprAdminAcceptNewConnection3 determines whether the
user is allowed to connect.

MprAdminAcceptNewConnectionEx Remote Access Service (RAS) calls the


MprAdminAcceptNewConnectionEx function each time a new
user dials in and successfully completes a RAS authentication.
MprAdminAcceptNewConnectionEx determines whether the
user is allowed to connect.

MprAdminAcceptNewLink Remote Access Service (RAS) calls the


MprAdminAcceptNewLink function each time a link is created
for a particular connection.
T IT L E DESC RIP T IO N

MprAdminAcceptReauthentication Remote Access Service calls the


MprAdminAcceptReauthentication function whenever the
quarantine state of the client changes.

MprAdminAcceptReauthenticationEx Remote Access Service (RAS) calls the


MprAdminAcceptReauthenticationEx function whenever the
quarantine state of the client changes.

MprAdminBufferFree The MprAdminBufferFree function frees memory buffers


returned by _MprAdminDeviceEnum,
MprAdminInterfaceGetInfo, MprAdminInterfaceDeviceGetInfo,
MprAdminInterfaceEnum, MprAdminServerGetInfo,
MprAdminInterfaceTransportGetInfo, and
MprAdminTransportGetInfo.

MprAdminConnectionClearStats The MprAdminConnectionClearStats function resets the


statistics counters for the specified connection.

MprAdminConnectionEnum The MprAdminConnectionEnum function enumerates all


active connections.

MprAdminConnectionEnumEx The MprAdminConnectionEnumEx function enumerates the


active connections for a specified RRAS server.

MprAdminConnectionGetInfo Retrieves data about a specific connection.

MprAdminConnectionGetInfoEx Retrieves the connection information for a specific connection


on a specified RRAS server.

MprAdminConnectionHangupNotification Remote Access Service calls the


MprAdminConnectionHangupNotification function after the
last link for the specified connection has been dismantled.

MprAdminConnectionHangupNotification2 Remote Access Service calls the


MprAdminConnectionHangupNotification2 function after the
last link for the specified connection has been dismantled.

MprAdminConnectionHangupNotification3 Remote Access Service calls the


MprAdminConnectionHangupNotification3 function after the
last link for the specified connection has been dismantled.

MprAdminConnectionHangupNotificationEx Remote Access Service (RAS) calls the


MprAdminConnectionHangupNotificationEx function after the
last link for the specified connection has been dismantled.

MprAdminConnectionRemoveQuarantine The MprAdminConnectionRemoveQuarantine function


removes quarantine filters on a dialed-in RAS client if the
filters were applied as a result of Internet Authentication
Service (IAS) policies.

MprAdminDeregisterConnectionNotification The MprAdminDeregisterConnectionNotification function


deregisters an event object that was previously registered
using MprAdminRegisterConnectionNotification. Once
deregistered, this event is no longer signaled when an
interface connects or disconnects.
T IT L E DESC RIP T IO N

MprAdminDeviceEnum Function is called to enumerate RAS capable devices installed


on the computer that can return their name and type.

MprAdminEstablishDomainRasServer The MprAdminEstablishDomainRasServer function establishes


the given machine as a Remote Access Server in the domain.
This function must be executed only on a machine joined to a
domain.

MprAdminGetErrorString The MprAdminGetErrorString function returns the string


associated with a router error from Mprerror.h.

MprAdminGetIpAddressForUser RAS calls the MprAdminGetIpAddressForUser function once


for each user that requires an IP address.

MprAdminGetIpv6AddressForUser RAS calls the MprAdminGetIpv6AddressForUser function once


for each user that requires an IPv6 address.

MprAdminGetPDCServer The MprAdminGetPDCServer function retrieves the name of


the server with the master User Accounts Subsystem (UAS)
from either a domain name or a server name. Either the
domain name parameter or the server name parameter may
be NULL, but not both.

MprAdminInitializeDll When the Routing and Remote Access Service (RRAS) starts, it
calls the MprAdminInitializeDll function that is exported by
the administration DLL. Use this function to perform any
required initialization for the DLL.

MprAdminInitializeDllEx When the Routing and Remote Access Service (RRAS) starts, it
calls the MprAdminInitializeDll function that is exported by
the administration DLL.

MprAdminInterfaceConnect The MprAdminInterfaceConnect function creates a connection


to the specified WAN interface.

MprAdminInterfaceCreate The MprAdminInterfaceCreate function creates an interface


on a specified server.

MprAdminInterfaceDelete The MprAdminInterfaceDelete function deletes an interface on


a specified server.

MprAdminInterfaceDeviceGetInfo The MprAdminInterfaceDeviceGetInfo retrieves information


about a device that is used in a router demand-dial interface.

MprAdminInterfaceDeviceSetInfo The MprAdminInterfaceDeviceSetInfo creates or modifies a


device that is used in a router demand-dial interface.

MprAdminInterfaceDisconnect The MprAdminInterfaceDisconnect function disconnects a


connected WAN interface.

MprAdminInterfaceEnum The MprAdminInterfaceEnum function enumerates all the


interfaces on a specified server.
T IT L E DESC RIP T IO N

MprAdminInterfaceGetCredentials Use the MprAdminInterfaceGetCredentials function to


retrieve the domain, user name, and password for dialing out
on the specified demand-dial interface.

MprAdminInterfaceGetCredentialsEx Use the MprAdminInterfaceGetCredentialsEx function to


retrieve extended credentials information for the specified
interface. Use this function to retrieve credentials information
used for Extensible Authentication Protocols (EAPs).

MprAdminInterfaceGetCustomInfoEx Retrieves tunnel-specific configuration for a specified demand


dial interface on a specified server.

MprAdminInterfaceGetHandle The MprAdminInterfaceGetHandle function retrieves a handle


to a specified interface.

MprAdminInterfaceGetInfo The MprAdminInterfaceGetInfo function retrieves information


for a specified interface on a specified server.

MprAdminInterfaceQueryUpdateResult The MprAdminInterfaceQueryUpdateResult function returns


the result of the last request to a specified router manager to
update its routes for an interface. For more information, see
MprAdminInterfaceUpdateRoutes.

MprAdminInterfaceSetCredentials Use MprAdminInterfaceSetCredentials function to set the


domain, user name, and password that will be used for dialing
out on the specified demand-dial interface.

MprAdminInterfaceSetCredentialsEx Use the MprAdminInterfaceSetCredentialsEx function to set


extended credentials information for an interface. Use this
function to set credentials information used for Extensible
Authentication Protocols (EAPs).

MprAdminInterfaceSetCustomInfoEx Sets the tunnel specific custom configuration for a specified


demand dial interface on a specified server.

MprAdminInterfaceSetInfo The MprAdminInterfaceSetInfo function sets information for a


specified interface on a specified server.

MprAdminInterfaceTransportAdd The MprAdminInterfaceTransportAdd function adds a


transport (for example, IP or IPX) to a specified interface.

MprAdminInterfaceTransportGetInfo The MprAdminInterfaceTransportGetInfo function retrieves


information about a transport running on a specified
interface.

MprAdminInterfaceTransportRemove The MprAdminInterfaceTransportRemove function removes a


transport (for example, IP or IPX) from a specified interface.

MprAdminInterfaceTransportSetInfo The MprAdminInterfaceTransportSetInfo function sets


information for a transport running on a specified interface.

MprAdminInterfaceUpdatePhonebookInfo The MprAdminInterfaceUpdatePhonebookInfo function forces


the router to pick up changes made on a specified demand-
dial interface. Call this function after changes are made to a
phone-book entry for a demand-dial interface.
T IT L E DESC RIP T IO N

MprAdminInterfaceUpdateRoutes The MprAdminInterfaceUpdateRoutes function requests a


specified router manager to update its routing information for
a specified interface.

MprAdminIsDomainRasServer The MprAdminIsDomainRasServer function returns


information regarding whether the given machine is
registered as the remote access server in the domain.

MprAdminIsServiceInitialized The MprAdminIsServiceInitialized function checks whether the


RRAS service is running on a specified server if the calling
process has access.

MprAdminIsServiceRunning The MprAdminIsServiceRunning function checks whether the


RRAS service is running on a specified server if the calling
process has access.

MprAdminLinkHangupNotification RAS calls the MprAdminLinkHangupNotification function


whenever a link for a particular connection is dismantled.

MprAdminMIBBufferFree The MprAdminMIBBufferFree function frees buffers returned


by the following functions MprAdminMIBEntryGet,
MprAdminMIBEntryGetFirst, MprAdminMIBEntryGetNext

MprAdminMIBEntryCreate The MprAdminMIBEntryCreate function creates an entry for


one of the variables exported by a routing protocol or router
manager.

MprAdminMIBEntryDelete The MprAdminMIBEntryDelete function deletes an entry for


one of the variables exported by a routing protocol or router
manager.

MprAdminMIBEntryGet The MprAdminMIBEntryGet function retrieves the value of


one of the variables exported by a routing protocol or router
manager.

MprAdminMIBEntryGetFirst The MprAdminMIBEntryGetFirst function retrieves the first


variable of some set of variables exported by a protocol or
router manager. The module that services the call defines first.

MprAdminMIBEntryGetNext The MprAdminMIBEntryGetNext function retrieves the next


variable of some set of variables exported by a protocol or
router manager. The module that services the call defines
next.

MprAdminMIBEntrySet The MprAdminMIBEntrySet function sets the value of one of


the variables exported by a routing protocol or router
manager.

MprAdminMIBGetTrapInfo The MprAdminMIBGetTrapInfo function queries the module


that set a trap event for more information about the trap.

MprAdminMIBServerConnect The MprAdminMIBServerConnect function establishes a


connection to the router being administered. This call should
be made before any other calls to the server. The handle
returned by this function is used in subsequent MIB calls.
T IT L E DESC RIP T IO N

MprAdminMIBServerDisconnect The MprAdminMIBServerDisconnect function disconnects the


connection made by a previous call to
MprAdminMIBServerConnect.

MprAdminMIBSetTrapInfo The MprAdminMIBSetTrapInfo function specifies a handle to


an event that is signaled whenever a TRAP needs to be issued.

MprAdminPortClearStats The MprAdminPortClearStats function resets the statistics for


the specified port.

MprAdminPortDisconnect The MprAdminPortDisconnect function disconnects a


connection on a specific port.

MprAdminPortEnum Enumerates all active ports in a specific connection, or all


ports available for use or currently used by RAS.

MprAdminPortGetInfo The MprAdminPortGetInfo function gets information for a


specific port.

MprAdminPortReset The MprAdminPortReset function resets the communication


device attached to the specified port.

MprAdminRegisterConnectionNotification The MprAdminRegisterConnectionNotification function


registers an event object with the Demand Dial Manager
(DDM) so that, if an interface connects or disconnects, the
event is signaled.

MprAdminReleaseIpAddress The MprAdminReleaseIpAddress function is called when a user


disconnects and the user's IP address is about to be released.

MprAdminReleaseIpv6AddressForUser The MprAdminReleaseIpv6AddressForUser function is called


once for each user that needs to release an IPv6 address.

MprAdminSendUserMessage The MprAdminSendUserMessage function sends a message


to the user connected on the specified connection.

MprAdminServerConnect The MprAdminServerConnect function establishes a


connection to a router for the purpose of administering that
router.

MprAdminServerDisconnect The MprAdminServerDisconnect function disconnects the


connection made by a previous call to
MprAdminServerConnect.

MprAdminServerGetCredentials The MprAdminServerGetCredentials function retrieves the


pre-shared key for the specified server.

MprAdminServerGetInfo The MprAdminServerGetInfo function retrieves information


about the specified RRAS server.

MprAdminServerGetInfoEx The MprAdminServerGetInfoEx function retrieves port


information about the specified RRAS server.
T IT L E DESC RIP T IO N

MprAdminServerSetCredentials The MprAdminServerSetCredentials functions sets the pre-


shared key for the specified server.

MprAdminServerSetInfo The MprAdminServerSetInfo function is used to set the


number of ports for L2TP, PPTP, and SSTP devices when the
RRAS service is running.

MprAdminServerSetInfoEx The MprAdminServerSetInfoEx function sets port information


on a specified RRAS server.

MprAdminTerminateDll When the RAS shuts down, it calls the MprAdminTerminateDll


function exported by the administration DLL. Use this
function to perform any required clean-up for the DLL.

MprAdminTransportCreate The MprAdminTransportCreate function loads a new


transport, and starts the router manager for the transport.

MprAdminTransportGetInfo The MprAdminTransportGetInfo function retrieves global


information, default client interface information, or both, for a
specified transport.

MprAdminTransportSetInfo The MprAdminTransportSetInfo function sets global


information, or default client interface information, or both,
for a specified transport.

MprAdminUserGetInfo The MprAdminUserGetInfo function retrieves all RAS


information for a particular user.

MprAdminUserSetInfo The MprAdminUserSetInfo function sets RAS information for


the specified user.

MprConfigBufferFree The MprConfigBufferFree function frees buffers.


MprConfigXEnum, MprConfigXGetInfo

MprConfigFilterGetInfo Returns static filtering information for a specified transport


protocol type.

MprConfigFilterSetInfo Sets the static filtering information for a specified transport


protocol type.

MprConfigGetFriendlyName The MprConfigGetFriendlyName function returns the friendly


name for an interface that corresponds to the specified GUID
name.

MprConfigGetGuidName The MprConfigGetGuidName function returns the GUID


name for an interface that corresponds to the specified
friendly name.

MprConfigInterfaceCreate The MprConfigInterfaceCreate function creates a router


interface in the specified router configuration.

MprConfigInterfaceDelete The MprConfigInterfaceDelete function removes a router


interface from the router configuration. All transport
information associated with this interface is also removed.
T IT L E DESC RIP T IO N

MprConfigInterfaceEnum The MprConfigInterfaceEnum function enumerates the


interfaces that are configured for the router.

MprConfigInterfaceGetCustomInfoEx Retrieves the custom IKEv2 policy configuration for the


specified interface.

MprConfigInterfaceGetHandle The MprConfigInterfaceGetHandle function retrieves a handle


to the specified interface's configuration in the specified router
configuration.

MprConfigInterfaceGetInfo The MprConfigInterfaceGetInfo function retrieves the


configuration for the specified interface from the router.

MprConfigInterfaceSetCustomInfoEx Sets the custom IKEv2 policy configuration for the specified
interface.

MprConfigInterfaceSetInfo The MprConfigInterfaceSetInfo function sets the configuration


for the specified interface.

MprConfigInterfaceTransportAdd The MprConfigInterfaceTransportAdd function adds a


transport protocol to an interface configuration on the router.

MprConfigInterfaceTransportEnum The MprConfigInterfaceTransportEnum function enumerates


the transports configured on the specified interface.

MprConfigInterfaceTransportGetHandle The MprConfigInterfaceTransportGetHandle function retrieves


a handle to the transport configuration of an interface in the
specified router configuration.

MprConfigInterfaceTransportGetInfo The MprConfigInterfaceTransportGetInfo function retrieves


the configuration information for the specified client on the
specified interface.

MprConfigInterfaceTransportRemove The MprConfigInterfaceTransportRemove function removes


the specified transport from the specified interface
configuration on the router.

MprConfigInterfaceTransportSetInfo The MprConfigInterfaceTransportSetInfo function updates the


configuration information for the client on the specified
interface and transport protocol.

MprConfigServerBackup The MprConfigServerBackup function creates a backup of the


router-manager, interface, and phone-book configuration for
the router.

MprConfigServerConnect The MprConfigServerConnect function connects to the router


to be configured.

MprConfigServerDisconnect The MprConfigServerDisconnect function disconnects a


connection made by a previous call to
MprConfigServerConnect.

MprConfigServerGetInfo The MprConfigServerGetInfo function retrieves server-level


configuration information for the specified router.
T IT L E DESC RIP T IO N

MprConfigServerGetInfoEx The MprConfigServerGetInfoEx function retrieves port


information for a specified server.

MprConfigServerInstall The MprConfigServerInstall function configures Routing and


Remote Access Service with a default configuration.

MprConfigServerRestore The MprConfigServerRestore function restores the router-


manager, interface, and phone-book configuration from a
backup created by a previous call to MprConfigServerBackup.

MprConfigServerSetInfo The MprConfigServerSetInfo function is used to set the port


count for L2TP, PPTP, and SSTP ports and enable or disable
RRAS on them in the registry when the RRAS service is not
running so that it is picked up next time the system restarts.

MprConfigServerSetInfoEx The MprConfigServerSetInfoEx function sets port information


on a specified RRAS server.

MprConfigTransportCreate The MprConfigTransportCreate function adds the specified


transport to the list of transport protocols present in the
specified router configuration.

MprConfigTransportDelete The MprConfigTransportDelete function removes the specified


transport from the list of transports present in the specified
router configuration.

MprConfigTransportEnum The MprConfigTransportEnum function enumerates the


transports configured on the router.

MprConfigTransportGetHandle The MprConfigTransportGetHandle function retrieves a


handle to the specified transport protocol's configuration in
the specified router configuration.

MprConfigTransportGetInfo The MprConfigTransportGetInfo function retrieves the


configuration for the specified transport protocol from the
router.

MprConfigTransportSetInfo The MprConfigTransportSetInfo function changes the


configuration for the specified transport protocol in the
specified router configuration.

MprInfoBlockAdd The MprInfoBlockAdd function creates a new header that is


identical to an existing header with the addition of a new
block.

MprInfoBlockFind The MprInfoBlockFind function locates a specified block in an


information header, and retrieves information about the
block.

MprInfoBlockQuerySize The MprInfoBlockQuerySize function returns the returns the


size of the information header.

MprInfoBlockRemove The MprInfoBlockRemove function creates a new header that


is identical to an existing header with a specified block
removed.
T IT L E DESC RIP T IO N

MprInfoBlockSet The MprInfoBlockSet creates a new header that is identical to


an existing header with a specified block modified.

MprInfoCreate The MprInfoCreate function creates a new information header.

MprInfoDelete The MprInfoDelete function deletes an information header


created using MprInfoCreate, or retrieved by
MprInfoBlockAdd, MprInfoBlockRemove, or MprInfoBlockSet.

MprInfoDuplicate The MprInfoDuplicate function duplicates an existing


information header.

MprInfoRemoveAll The MprInfoRemoveAll function removes all information


blocks from the specified header.

ORASADFUNC The ORASADFunc function is an application-defined callback


function that is used to provide a customized user interface
for autodialing.

PADD_INTERFACE The AddInterface function adds an interface to be managed


by the routing protocol.

PBLOCK_CONVERT_SERVICES_TO_STATIC The BlockConvertServicesToStatic function converts all


services received on a specified interface to static.

PBLOCK_DELETE_STATIC_SERVICES The BlockDeleteStaticServices function deletes all static


services associated with a specified interface.

PCLOSE_SERVICE_ENUMERATION_HANDLE The CloseServiceEnumerationHandle function terminates the


enumeration and frees associated resources.

PCONNECT_CLIENT The router manager calls the ConnectClient function when a


client connects to an interface on which the routing protocol
is running.

PCREATE_SERVICE_ENUMERATION_HANDLE The CreateServiceEnumerationHandle function returns a


handle that allows the use of fast and change-tolerant
enumeration functions.

PCREATE_STATIC_SERVICE The CreateStaticService function adds a static service to the


table.

PDELETE_INTERFACE The DeleteInterface function removes an interface from the


set managed by the routing protocol.

PDELETE_STATIC_SERVICE The DeleteStaticService function deletes a static service from


the table.

PDISCONNECT_CLIENT The router manager calls the DisconnectClient function when


a client disconnects from an interface on which the routing
protocol is running.
T IT L E DESC RIP T IO N

PDO_UPDATE_ROUTES The DoUpdateRoutes function requests the routing protocol


to perform a routing information update over the specified
interface to obtain static route information.

PENUMERATE_GET_NEXT_SERVICE The EnumerateGetNextService function returns the next


service entry in an enumeration started by
CreateServiceEnumerationHandle.

PFNRASFREEBUFFER The custom-scripting DLL calls RasFreeBuffer to release a


memory buffer that was allocated by a previous call to
RasGetBuffer.

PFNRASGETBUFFER The custom-scripting DLL calls RasGetBuffer to allocate


memory for sending or receiving data over the port
connected to the server.

PFNRASRECEIVEBUFFER The custom-scripting DLL calls the RasReceiveBuffer function


to inform RAS that it is ready to receive data from the server
over the specified port.

PFNRASRETRIEVEBUFFER The custom-scripting DLL calls the RasRetrieveBuffer function


to obtain data received from the RAS server over the specified
port.

PFNRASSENDBUFFER The custom-scripting DLL calls the RasSendBuffer function to


send data to the server over the specified port.

PFNRASSETCOMMSETTINGS Call RasSetCommSettings from a custom-scripting DLL to


change the settings on the port for the connection.

PGET_EVENT_MESSAGE The GetEventMessage function gets an entry from the


routing protocol's message queue. The routing protocol uses
the queue to inform the router manager of asynchronous
events.

PGET_FIRST_ORDERED_SERVICE The GetFirstOrderedService function returns the first service


in the specified order from the designated subset of services
in the table.

PGET_GLOBAL_INFO The GetGlobalInfo function retrieves global (as opposed to


interface-specific) configuration information kept by the
routing protocol.

PGET_INTERFACE_INFO The GetInterfaceInfo function gets the configuration


information kept by the routing protocol for a specific
interface.

PGET_MFE_STATUS The router manager calls the GetMfeStatus function to obtain


the status of the multicast forwarding entry (MFE) for the
specified interface, group address, and source address.

PGET_NEIGHBORS The router manager calls the GetNeighbors function to obtain


the querier for the network attached through the specified
interface.
T IT L E DESC RIP T IO N

PGET_NEXT_ORDERED_SERVICE The GetNextOrderedService function returns the next service


from a subset of services in the table. The service returned is
the next service after a given input service using the ordering
method specified.

PGET_SERVICE_COUNT The GetServiceCount function returns the number of services


in the table.

PINTERFACE_STATUS Router manager calls the InterfaceStatus function to change


the status of an interface.

PIS_SERVICE The IsService function checks whether a service of specified


type and name exists in the service table, and optionally
returns the service's parameters.

PMGM_CREATION_ALERT_CALLBACK The PMGM_CREATION_ALERT_CALLBACK callback is a call


into a routing protocol. This call determines the subset of
interfaces owned by the routing protocol on which a multicast
packet from a new source should be forwarded.

PMGM_DISABLE_IGMP_CALLBACK The PMGM_DISABLE_IGMP_CALLBACK callback is a call into


IGMP to notify it that a routing protocol is taking or releasing
ownership of an interface on which IGMP is enabled.

PMGM_ENABLE_IGMP_CALLBACK The PMGM_ENABLE_IGMP_CALLBACK callback is a call into


IGMP to notify it that a routing protocol has finished taking
or releasing ownership of an interface.

PMGM_JOIN_ALERT_CALLBACK The PMGM_JOIN_ALERT_CALLBACK callback is a call into a


routing protocol to notify the protocol that new receivers are
present for one or more groups on interfaces that are owned
by other routing protocols.

PMGM_LOCAL_JOIN_CALLBACK The PMGM_LOCAL_JOIN_CALLBACK callback is a call into a


routing protocol to notify the protocol that IGMP has
detected new receivers for a group on an interface that is
currently owned by the routing protocol.

PMGM_LOCAL_LEAVE_CALLBACK The PMGM_LOCAL_LEAVE_CALLBACK callback is a call into a


routing protocol to notify the routing protocol that the IGMP
has detected that it no longer has receivers for a group on an
interface that is currently owned by the routing protocol.

PMGM_PRUNE_ALERT_CALLBACK The PMGM_PRUNE_ALERT_CALLBACK callback is a call into a


routing protocol to notify the protocol that receivers are no
longer present on interfaces owned by other routing
protocols.

PMGM_RPF_CALLBACK The PMGM_RPF_CALLBACK callback is a call into a routing


protocol to determine if a given packet was received on the
correct interface.

PMGM_WRONG_IF_CALLBACK The PMGM_WRONG_IF_CALLBACK is a call into a routing


protocol to notify the protocol that a packet has been
received from the specified source and for the specified group
on the wrong interface.
T IT L E DESC RIP T IO N

PMIB_CREATE The MibCreate function passes an SNMP MIB-style Create


Request to the routing protocol.

PMIB_DELETE The MibDelete function passes an SNMP MIB-style Delete


Request to the routing protocol.

PMIB_GET The MibGet function passes an SNMP MIB-style Get Request


to the routing protocol DLL.

PMIB_GET_FIRST The MibGetFirst function passes a SNMP MIB-style Get First


Request to the routing protocol.

PMIB_GET_NEXT The MibGetNext function passes a SNMP MIB-style Get Next


Request to the routing protocol.

PMIB_GET_TRAP_INFO The MibGetTrapInfo function queries the module that set a


trap event for more information about the trap.

PMIB_SET The MibSet function passes a SNMP MIB-style Set Request to


the routing protocol.

PMIB_SET_TRAP_INFO The MibSetTrapInfo function passes in a handle to an event


which is signaled whenever a TRAP needs to be issued.

PQUERY_POWER The QueryPower function is reserved for future use.

PREGISTER_PROTOCOL The RegisterProtocol function registers the routing protocol


with the router manager. It also informs the router manager
of the functionality that the routing protocol supports.

PSET_GLOBAL_INFO The SetGlobalInfo function sets the global (as opposed to


interface-specific) configuration information kept by the
routing protocol. The format of this information is specific to
the routing protocol.

PSET_INTERFACE_INFO The SetInterfaceInfo function sets the configuration of a


specific interface managed by the routing protocol.

PSET_POWER The SetPower function is reserved for future use.

PSTART_COMPLETE Router Manager calls the StartComplete function to inform


the routing protocol that initialization is complete and all
interfaces have been added. The routing protocol should wait
for this call before starting any protocol-specific behavior.

PSTART_PROTOCOL The StartProtocol function initializes the routing protocol's


functionality.

PSTOP_PROTOCOL The StopProtocol function causes the routing protocol to


perform an orderly shutdown.

RASADFUNCA The RASADFunc function is an application-defined callback


function that is used to provide a customized user interface
for autodialing.
T IT L E DESC RIP T IO N

RASADFUNCW The RASADFunc function is an application-defined callback


function that is used to provide a customized user interface
for autodialing.

RasClearConnectionStatistics The RasClearConnectionStatistics functions clears any


accumulated statistics for the specified RAS connection.

RasClearLinkStatistics The RasClearLinkStatistics functions clears any accumulated


statistics for the specified link in a RAS multilink connection.

RasConnectionNotificationA The RasConnectionNotification function specifies an event


object that the system sets to the signaled state when a RAS
connection is created or terminated.

RasConnectionNotificationW The RasConnectionNotification function specifies an event


object that the system sets to the signaled state when a RAS
connection is created or terminated.

RasCreatePhonebookEntryA The RasCreatePhonebookEntry function creates a new phone-


book entry. The function displays a dialog box in which the
user types information for the phone-book entry.

RasCreatePhonebookEntryW The RasCreatePhonebookEntry function creates a new phone-


book entry. The function displays a dialog box in which the
user types information for the phone-book entry.

RasCustomDeleteEntryNotifyFn The RasCustomDeleteEntryNotify function is an application-


defined function that is exported by a third-party custom-
dialing DLL. This function allows third-party vendors to
implement custom dialogs for managing phone-book entries.

RasCustomDialDlgFn The RasCustomDialDlg function is an application-defined


function that is exported by a third-party custom-dialing DLL.
This function allows third-party vendors to implement custom
RAS connection dialog boxes.

RasCustomDialFn The RasCustomDial function is an application-defined function


that is exported by a third-party custom-dialing DLL. This
function allows third-party vendors to implement custom
remote-access dialing routines.

RasCustomEntryDlgFn The RasCustomEntryDlg function is an application-defined


function that is exported by a third-party custom-dialing DLL.
This function allows third-party vendors to implement custom
dialogs for managing phone-book entries.

RasCustomHangUpFn The RasCustomHangUp function is an application-defined


function that is exported by a third-party custom-dialing DLL.
This function allows third-party vendors to implement custom
connection hang-up routines.

RasCustomScriptExecuteFn RAS calls the RasCustomScriptExecute function when


establishing a connection for a phone-book entry that has
the RASEO_CustomScript option set.
T IT L E DESC RIP T IO N

RasDeleteEntryA The RasDeleteEntry function deletes an entry from a phone


book.

RasDeleteEntryW The RasDeleteEntry function deletes an entry from a phone


book.

RasDeleteSubEntryA The RasDeleteSubEntry function deletes the specified


subentry from the specified phone-book entry.

RasDeleteSubEntryW The RasDeleteSubEntry function deletes the specified


subentry from the specified phone-book entry.

RasDialA The RasDial function establishes a RAS connection between a


RAS client and a RAS server. The connection data includes
callback and user-authentication information.

RasDialDlgA The RasDialDlg function establishes a RAS connection using a


specified phone-book entry and the credentials of the
logged-on user. The function displays a stream of dialog boxes
that indicate the state of the connection operation.

RasDialDlgW The RasDialDlg function establishes a RAS connection using a


specified phone-book entry and the credentials of the
logged-on user. The function displays a stream of dialog boxes
that indicate the state of the connection operation.

RASDIALFUNC The RasDialFunc callback function is called by the RasDial


function when a change of state occurs during a RAS
connection process.

RASDIALFUNC1 A RasDialFunc1 function is called by the RasDial function


when a change of state occurs during a remote access
connection process.

RASDIALFUNC2 A RasDialFunc2 callback function is called by the RasDial


function calls when a change of state occurs during a remote
access connection process.

RasDialW The RasDial function establishes a RAS connection between a


RAS client and a RAS server. The connection data includes
callback and user-authentication information.

RasEditPhonebookEntryA The RasEditPhonebookEntry function edits an existing phone-


book entry. The function displays a dialog box in which the
user can modify the existing information.

RasEditPhonebookEntryW The RasEditPhonebookEntry function edits an existing phone-


book entry. The function displays a dialog box in which the
user can modify the existing information.

RasEntryDlgA The RasEntryDlg function displays modal property sheets that


allow a user to manipulate phone-book entries.

RasEntryDlgW The RasEntryDlg function displays modal property sheets that


allow a user to manipulate phone-book entries.
T IT L E DESC RIP T IO N

RasEnumAutodialAddressesA The RasEnumAutodialAddresses function returns a list of all


addresses in the AutoDial mapping database.

RasEnumAutodialAddressesW The RasEnumAutodialAddresses function returns a list of all


addresses in the AutoDial mapping database.

RasEnumConnectionsA The RasEnumConnections function lists all active RAS


connections. It returns each connection's handle and phone-
book entry name.

RasEnumConnectionsW The RasEnumConnections function lists all active RAS


connections. It returns each connection's handle and phone-
book entry name.

RasEnumDevicesA The RasEnumDevices function returns the name and type of


all available RAS-capable devices.

RasEnumDevicesW The RasEnumDevices function returns the name and type of


all available RAS-capable devices.

RasEnumEntriesA The RasEnumEntries function lists all entry names in a remote


access phone book.

RasEnumEntriesW The RasEnumEntries function lists all entry names in a remote


access phone book.

RasFreeEapUserIdentityA Use the RasFreeEapUserIdentity function to free the memory


buffer returned by RasGetEapUserIdentity.

RasFreeEapUserIdentityW Use the RasFreeEapUserIdentity function to free the memory


buffer returned by RasGetEapUserIdentity.

RasGetAutodialAddressA The RasGetAutodialAddress function retrieves information


about all the AutoDial entries associated with a network
address in the AutoDial mapping database.

RasGetAutodialAddressW The RasGetAutodialAddress function retrieves information


about all the AutoDial entries associated with a network
address in the AutoDial mapping database.

RasGetAutodialEnableA The RasGetAutodialEnable function indicates whether the


AutoDial feature is enabled for a specified TAPI dialing
location.

RasGetAutodialEnableW The RasGetAutodialEnable function indicates whether the


AutoDial feature is enabled for a specified TAPI dialing
location.

RasGetAutodialParamA The RasGetAutodialParam function retrieves the value of an


AutoDial parameter.

RasGetAutodialParamW The RasGetAutodialParam function retrieves the value of an


AutoDial parameter.
T IT L E DESC RIP T IO N

RasGetConnectionStatistics The RasGetConnectionStatistics function retrieves


accumulated connection statistics for the specified connection.

RasGetConnectStatusA The RasGetConnectStatus function retrieves information on


the current status of the specified remote access connection.
An application can use this call to determine when an
asynchronous RasDial call is complete.

RasGetConnectStatusW The RasGetConnectStatus function retrieves information on


the current status of the specified remote access connection.
An application can use this call to determine when an
asynchronous RasDial call is complete.

RasGetCountryInfoA The RasGetCountryInfo function retrieves country/region-


specific dialing information from the Windows Telephony list
of countries/regions.

RasGetCountryInfoW The RasGetCountryInfo function retrieves country/region-


specific dialing information from the Windows Telephony list
of countries/regions.

RasGetCredentialsA The RasGetCredentials function retrieves the user credentials


associated with a specified RAS phone-book entry.

RasGetCredentialsW The RasGetCredentials function retrieves the user credentials


associated with a specified RAS phone-book entry.

RasGetCustomAuthDataA Use the RasGetCustomAuthData function to retrieve


connection-specific authentication information. This
information is not specific to a particular user.

RasGetCustomAuthDataW Use the RasGetCustomAuthData function to retrieve


connection-specific authentication information. This
information is not specific to a particular user.

RasGetEapUserDataA Use the RasGetEapUserData function to retrieve user-specific


Extensible Authentication Protocol (EAP) information for the
specified phone-book entry.

RasGetEapUserDataW Use the RasGetEapUserData function to retrieve user-specific


Extensible Authentication Protocol (EAP) information for the
specified phone-book entry.

RasGetEapUserIdentityA The RasGetEapUserIdentity function retrieves identity


information for the current user. Use this information to call
RasDial with a phone-book entry that requires Extensible
Authentication Protocol (EAP).

RasGetEapUserIdentityW The RasGetEapUserIdentity function retrieves identity


information for the current user. Use this information to call
RasDial with a phone-book entry that requires Extensible
Authentication Protocol (EAP).
T IT L E DESC RIP T IO N

RasGetEntryDialParamsA The RasGetEntryDialParams function retrieves the connection


information saved by the last successful call to the RasDial or
RasSetEntryDialParams function for a specified phone-book
entry.

RasGetEntryDialParamsW The RasGetEntryDialParams function retrieves the connection


information saved by the last successful call to the RasDial or
RasSetEntryDialParams function for a specified phone-book
entry.

RasGetEntryPropertiesA The RasGetEntryProperties function retrieves the properties


of a phone-book entry.

RasGetEntryPropertiesW The RasGetEntryProperties function retrieves the properties


of a phone-book entry.

RasGetErrorStringA The RasGetErrorString function obtains an error message


string for a specified RAS error value.

RasGetErrorStringW The RasGetErrorString function obtains an error message


string for a specified RAS error value.

RasGetLinkStatistics The RasGetLinkStatistics function retrieves accumulated


statistics for the specified link in a RAS multilink connection.

RasGetNapStatus Retrieves the Network Access Protection (NAP) connection


state variables for a given remote access connection.

RasGetProjectionInfoEx Obtains information about Point-to-Point Protocol (PPP) or


Internet Key Exchange version 2 (IKEv2) remote access
projection operations for all RAS connections on the local
client.

RasGetSubEntryHandleA The RasGetSubEntryHandle function retrieves a connection


handle for a specified subentry of a multilink connection.

RasGetSubEntryHandleW The RasGetSubEntryHandle function retrieves a connection


handle for a specified subentry of a multilink connection.

RasGetSubEntryPropertiesA The RasGetSubEntryProperties function retrieves information


about a subentry for a specified phone-book entry.

RasGetSubEntryPropertiesW The RasGetSubEntryProperties function retrieves information


about a subentry for a specified phone-book entry.

RasHangUpA The RasHangUp function terminates a remote access


connection. The connection is specified with a RAS connection
handle. The function releases all RASAPI32.DLL resources
associated with the handle.

RasHangUpW The RasHangUp function terminates a remote access


connection. The connection is specified with a RAS connection
handle. The function releases all RASAPI32.DLL resources
associated with the handle.
T IT L E DESC RIP T IO N

RasInvokeEapUI The RasInvokeEapUI function displays a custom user interface


to obtain Extensible Authentication Protocol (EAP) information
from the user.

RASPBDLGFUNCA The RasPBDlgFunc function is an application-defined callback


function that receives notifications of user activity while the
RasPhonebookDlg dialog box is open.

RASPBDLGFUNCW The RasPBDlgFunc function is an application-defined callback


function that receives notifications of user activity while the
RasPhonebookDlg dialog box is open.

RasPhonebookDlgA The RasPhonebookDlg function displays the main Dial-Up


Networking dialog box.

RasPhonebookDlgW The RasPhonebookDlg function displays the main Dial-Up


Networking dialog box.

RasRenameEntryA The RasRenameEntry function changes the name of an entry


in a phone book.

RasRenameEntryW The RasRenameEntry function changes the name of an entry


in a phone book.

RasSecurityDialogBegin The RasSecurityDialogBegin function is a third-party RAS


security DLL entry point that the RAS server calls when a
remote user tries to connect. This enables the security DLL to
begin its authentication of the remote user.

RasSecurityDialogComplete The RasSecurityDialogComplete function notifies the RAS


server of the results of a third-party security authentication
transaction.

RasSecurityDialogEnd The RasSecurityDialogEnd function is a third-party RAS


security DLL entry point that the RAS server calls to terminate
an authentication transaction.

RasSecurityDialogGetInfo The RasSecurityDialogGetInfo function is called by a RAS


security DLL to get information about a port from the RAS
server.

RasSecurityDialogReceive The RasSecurityDialogReceive function starts an asynchronous


operation that receives a remote user's response to a security
challenge.

RasSecurityDialogSend The RasSecurityDialogSend function sends a message to be


displayed in a terminal window on a remote computer. A
third-party RAS security DLL sends this message as part of its
authentication of a remote user.

RasSetAutodialAddressA The RasSetAutodialAddress function can add an address to


the AutoDial mapping database. Alternatively, the function
can delete or modify the data associated with an existing
address in the database.
T IT L E DESC RIP T IO N

RasSetAutodialAddressW The RasSetAutodialAddress function can add an address to


the AutoDial mapping database. Alternatively, the function
can delete or modify the data associated with an existing
address in the database.

RasSetAutodialEnableA The RasSetAutodialEnable function enables or disables the


AutoDial feature for a specified TAPI dialing location.

RasSetAutodialEnableW The RasSetAutodialEnable function enables or disables the


AutoDial feature for a specified TAPI dialing location.

RasSetAutodialParamA The RasSetAutodialParam function sets the value of an


AutoDial parameter.

RasSetAutodialParamW The RasSetAutodialParam function sets the value of an


AutoDial parameter.

RasSetCredentialsA Sets the user credentials associated with a specified RAS


phone-book entry.

RasSetCredentialsW Sets the user credentials associated with a specified RAS


phone-book entry.

RasSetCustomAuthDataA Use the RasSetCustomAuthData function to set connection-


specific authentication information. This information should
not be specific to a particular user.

RasSetCustomAuthDataW Use the RasSetCustomAuthData function to set connection-


specific authentication information. This information should
not be specific to a particular user.

RasSetEapUserDataA Use the RasSetEapUserData function to store user-specific


Extensible Authentication Protocol (EAP) information for the
specified phone-book entry in the registry.

RasSetEapUserDataW Use the RasSetEapUserData function to store user-specific


Extensible Authentication Protocol (EAP) information for the
specified phone-book entry in the registry.

RasSetEntryDialParamsA The RasSetEntryDialParams function changes the connection


information saved by the last successful call to the RasDial or
RasSetEntryDialParams function for a specified phone-book
entry.

RasSetEntryDialParamsW The RasSetEntryDialParams function changes the connection


information saved by the last successful call to the RasDial or
RasSetEntryDialParams function for a specified phone-book
entry.

RasSetEntryPropertiesA The RasSetEntryProperties function changes the connection


information for an entry in the phone book or creates a new
phone-book entry.
T IT L E DESC RIP T IO N

RasSetEntryPropertiesW The RasSetEntryProperties function changes the connection


information for an entry in the phone book or creates a new
phone-book entry.

RasSetSubEntryPropertiesA The RasSetSubEntryProperties function creates a new


subentry or modifies an existing subentry of a specified
phone-book entry.

RasSetSubEntryPropertiesW The RasSetSubEntryProperties function creates a new


subentry or modifies an existing subentry of a specified
phone-book entry.

RasUpdateConnection The RasUpdateConnection function updates the tunnel


endpoints of an Internet Key Exchange version 2 (IKEv2)
connection.

RasValidateEntryNameA The RasValidateEntryName function validates the format of a


connection entry name. The name must contain at least one
non-white-space alphanumeric character.

RasValidateEntryNameW The RasValidateEntryName function validates the format of a


connection entry name. The name must contain at least one
non-white-space alphanumeric character.

RTM_IPV4_GET_ADDR_AND_LEN The RTM_IPV4_GET_ADDR_AND_LEN macro converts a


generic net address and length to an IPv4
RTM_NET_ADDRESS structure and length.

RTM_IPV4_GET_ADDR_AND_MASK The RTM_IPV4_GET_ADDR_AND_MASK macro converts to a


generic RTM_NET_ADDRESS structure and length to an IPv4
address and mask.

RTM_IPV4_LEN_FROM_MASK The RTM_IPV4_LEN_FROM_MASK macro converts an IPv4


mask to a generic route length.

RTM_IPV4_MAKE_NET_ADDRESS The RTM_IPV4_MAKE_NET_ADDRESS macro converts an IPv4


address and a length to a generic RTM_NET_ADDRESS
structure.

RTM_IPV4_MASK_FROM_LEN The RTM_IPV4_MASK_FROM_LEN macro converts a generic


route length to an IPv4 mask.

RTM_IPV4_SET_ADDR_AND_LEN The RTM_IPV4_SET_ADDR_AND_LEN macro converts an IPv4


address and a length to a generic RTM_NET_ADDRESS
structure.

RTM_IPV4_SET_ADDR_AND_MASK The RTM_IPV4_SET_ADDR_AND_MASK macro converts an


IPv4 address and mask to a generic RTM_NET_ADDRESS
structure.

RTM_SIZE_OF_DEST_INFO The RTM_SIZE_OF_DEST_INFO macro returns the size of the


destination information structure (RTM_DEST_INFO).

RTM_SIZE_OF_ROUTE_INFO The RTM_SIZE_OF_ROUTE_INFO macro returns the size of the


route information structure, RTM_ROUTE_INFO.
T IT L E DESC RIP T IO N

RtmAddNextHop The RtmAddNextHop function adds a new next-hop entry or


updates an existing next-hop entry to a client's next-hop list.

RtmAddRouteToDest The RtmAddRouteToDest function adds a new route to the


routing table or updates an existing route in the routing table.
If the best route changes, a change notification is generated.

RtmBlockMethods The RtmBlockMethods function blocks or unblocks the


execution of methods for a specified destination, route, or
next hop, or for all destinations, routes, and next hops.

RtmCreateDestEnum The RtmCreateDestEnum function starts an enumeration of


the destinations in the routing table. A client can enumerate
destinations for one or more views, or for all views.

RtmCreateNextHopEnum The RtmCreateNextHopEnum enumerates the next hops in


the next-hop list.

RtmCreateRouteEnum The RtmCreateRouteEnum function creates an enumeration of


the routes for a particular destination or range of destinations
in the routing table. A client can enumerate routes for one or
more views, or for all views.

RtmCreateRouteList The RtmCreateRouteList function creates a list in which the


caller can keep a copy of the routes it owns.

RtmCreateRouteListEnum The RtmCreateRouteListEnum function creates an


enumeration of routes on the specified route list.

RtmDeleteEnumHandle The RtmDeleteEnumHandle function deletes the specified


enumeration handle and frees all resources allocated for the
enumeration.

RtmDeleteNextHop The RtmDeleteNextHop function deletes a next hop from the


next-hop list.

RtmDeleteRouteList The RtmDeleteRouteList function removes all routes from a


client-specific route list, then frees any resources allocated to
the list.

RtmDeleteRouteToDest The RtmDeleteRouteToDest function deletes a route from the


routing table and updates the best-route information for the
corresponding destination, if the best route changed. If the
best route changes, a change notification is generated.

RtmDeregisterEntity The RtmDeregisterEntity function unregisters a client from a


routing table manager instance and address family.

RtmDeregisterFromChangeNotification The RtmDeregisterFromChangeNotification function


unregisters a client from change notification and frees all
resources allocated to the notification.

RtmFindNextHop The RtmFindNextHop function finds a specific next hop in a


client's next-hop list.
T IT L E DESC RIP T IO N

RtmGetChangedDests The RtmGetChangedDests function returns a set of


destinations with changed information.

RtmGetChangeStatus The RtmGetChangeStatus function checks whether there are


pending changes that have not been retrieved with
RtmGetChangedDests.

RtmGetDestInfo The RtmGetDestInfo function returns information about a


destination.

RtmGetEntityInfo The RtmGetEntityInfo function returns information about a


previously registered client.

RtmGetEntityMethods The RtmGetEntityMethods function queries the specified


client to determine which methods are available for another
client to invoke.

RtmGetEnumDests The RtmGetEnumDests function retrieves the next set of


destinations in the specified enumeration.

RtmGetEnumNextHops The RtmGetEnumNextHops function retrieves the next set of


next hops in the specified enumeration.

RtmGetEnumRoutes The RtmGetEnumRoutes function retrieves the next set of


routes in the specified enumeration.

RtmGetExactMatchDestination The RtmGetExactMatchDestination function searches the


routing table for a destination that exactly matches the
specified network address and subnet mask. If an exact match
is found, the information for that destination is returned.

RtmGetExactMatchRoute The RtmGetExactMatchRoute function searches the routing


table for a route that exactly matches the specified route.

RtmGetLessSpecificDestination The RtmGetLessSpecificDestination function searches the


routing table for a destination with the next-best-match
(longest) prefix, given a destination prefix. The requested
destination information is returned.

RtmGetListEnumRoutes The RtmGetListEnumRoutes function enumerates a set of


routes in a specified route list.

RtmGetMostSpecificDestination The RtmGetMostSpecificDestination function searches the


routing table for a destination with the exact match for a
specified network address and subnet mask; if the exact
match is not found, the best prefix is matched.

RtmGetNextHopInfo The RtmGetNextHopInfo function returns information about


the specified next hop.

RtmGetNextHopPointer The RtmGetNextHopPointer function obtains a direct pointer


to the specified next hop. The pointer allows the next-hop
owner direct read access to the routing table manager's
RTM_NEXTHOP_INFO structure.
T IT L E DESC RIP T IO N

RtmGetOpaqueInformationPointer The RtmGetOpaqueInformationPointer function returns a


pointer to the opaque information field in a destination that is
reserved for this client.

RtmGetRegisteredEntities The RtmGetRegisteredEntities function returns information


about all clients that have registered with the specified
instance of the routing table manager and specified address
family.

RtmGetRouteInfo The RtmGetRouteInfo function returns information for the


specified route.

RtmGetRoutePointer The RtmGetRoutePointer function obtains a direct pointer to a


route that allows the owner of the route read access.

RtmHoldDestination The RtmHoldDestination function marks a destination to be


put in the hold-down state for a certain amount of time. A
hold down only happens if the last route for the destination in
any view is deleted.

RtmIgnoreChangedDests The RtmIgnoreChangedDests function skips the next change


for each destination if it has already occurred.

RtmInsertInRouteList The RtmInsertInRouteList function inserts the specified set of


routes into the client's route list. If a route is already in
another list, the route is removed from the old list and
inserted into the new one.

RtmInvokeMethod The RtmInvokeMethod function invokes a method exported


by another client.

RtmIsBestRoute The RtmIsBestRoute function returns the set of views in which


the specified route is the best route to a destination.

RtmIsMarkedForChangeNotification The RtmIsMarkedForChangeNotification function queries the


routing table manager to determine if a destination has
previously been marked by a call to
RtmMarkDestForChangeNotification.

RtmLockDestination The RtmLockDestination function locks or unlocks a


destination in the routing table. Use this function to protect a
destination while changing opaque pointers.

RtmLockNextHop The RtmLockNextHop function locks or unlocks a next hop.


This function should be called by the next hop's owner to lock
the next hop before making changes to the next hop. A
pointer to the next hop is returned.

RtmLockRoute The RtmLockRoute function locks or unlocks a route in the


routing table. This protects the route while a client makes the
necessary changes to the opaque route pointers owned by
the client.

RtmMarkDestForChangeNotification The RtmMarkDestForChangeNotification function marks a


destination for a client.
T IT L E DESC RIP T IO N

RtmReferenceHandles The RtmReferenceHandles function increases the reference


count for objects pointed to by one or more handles that the
routing manager used to access those objects.

RtmRegisterEntity The RtmRegisterEntity function registers a client with an


instance of the routing table manager for a specific address
family.

RtmRegisterForChangeNotification The RtmRegisterForChangeNotification function informs the


routing table manager that the client should receive change
notifications for the specified types of changes.

RtmReleaseChangedDests The RtmReleaseChangedDests function releases the changed


destination handles.

RtmReleaseDestInfo The RtmReleaseDestInfo function releases a destination


structure.

RtmReleaseDests The RtmReleaseDests function releases the destination


handles.

RtmReleaseEntities The RtmReleaseEntities function releases the client handles


returned by RtmGetRegisteredEntities.

RtmReleaseEntityInfo The RtmReleaseEntityInfo function releases a client structure.

RtmReleaseNextHopInfo The RtmReleaseNextHopInfo function releases a next-hop


structure.

RtmReleaseNextHops The RtmReleaseNextHops function releases the next-hop


handles.

RtmReleaseRouteInfo The RtmReleaseRouteInfo function releases a route structure.

RtmReleaseRoutes The RtmReleaseRoutes function releases the route handles.

RtmUpdateAndUnlockRoute The RtmUpdateAndUnlockRoute function updates the


position of the route in the set of routes for a destination, and
adjusts the best route information for the destination.

Structures
T IT L E DESC RIP T IO N

AUTH_VALIDATION_EX Used for enabling clients to bypass Point-to-Point (PPP)


authentication during Secure Socket Tunneling Protocol (SSTP)
connection establishment.

IKEV2_CONFIG_PARAMS Used to get or set parameters for Internet Key Exchange


version 2 (IKEv2) devices (RFC 4306).

IKEV2_PROJECTION_INFO Contains information obtained during Internet Key Exchange


(IKE) negotiation.
T IT L E DESC RIP T IO N

IKEV2_PROJECTION_INFO2 Contains information obtained during Internet Key Exchange


(IKE) negotiation.

IKEV2_TUNNEL_CONFIG_PARAMS1 Used to get or set tunnel parameters for Internet Key


Exchange version 2 (IKEv2) devices.

IKEV2_TUNNEL_CONFIG_PARAMS2 Gets or sets tunnel parameters for Internet Key Exchange


version 2 (IKEv2) devices.

IP_ADAPTER_BINDING_INFO The IP_ADAPTER_BINDING_INFO structure contains IP-


specific information for a particular network adapter.

IP_LOCAL_BINDING The IP_LOCAL_BINDING structure contains IP address


information for an adapter.

IPV6_ADAPTER_BINDING_INFO The IPV6_ADAPTER_BINDING_INFO structure contains IPv6-


specific information for a particular network adapter.

IPV6_LOCAL_BINDING The IPV6_LOCAL_BINDING structure contains IPv6 address


information for an adapter.

IPX_IF_INFO The IPX_IF_INFO structure stores information for an IPX


interface.

IPX_SERVER_ENTRY The IPX_SERVER_ENTRY structure describes a particular IPX


service.

IPX_SERVICE The IPX_SERVICE structure contains information about an IPX


service, and identifies the interface and protocol through
which this information was obtained.

IPXWAN_IF_INFO The IPXWAN_IF_INFO structure stores the administrative state


for an IPX WAN interface.

L2TP_CONFIG_PARAMS0 Used to get and set the device configuration for Layer 2
Tunneling Protocool (L2TP) on a RAS Server.

L2TP_CONFIG_PARAMS1 Used to get and set the device configuration for Layer 2
Tunneling Protocool (L2TP) on a RAS Server.

MESSAGE The MESSAGE union contains information about an event


reported to the router manager through the routing
protocol's message queue.

MGM_IF_ENTRY The MGM_IF_ENTRY structure describes a router interface.

MPR_CREDENTIALSEX_0 The MPR_CREDENTIALSEX_0 structure contains extended


credentials information such as the information used by
Extensible Authentication Protocols (EAPs).

MPR_CREDENTIALSEX_1 The MPR_CREDENTIALSEX_1 structure contains a pre-shared


key used by a demand-dial interface.
T IT L E DESC RIP T IO N

MPR_DEVICE_0 The MPR_DEVICE_0 structure stores information about a


device used for a link in a multilinked demand dial interface.

MPR_DEVICE_1 The MPR_DEVICE_1 structure stores information about a


device used for a link in a multilinked demand dial interface. In
addition to the information in MPR_DEVICE_0,
MPR_DEVICE_1 contains phone-number information.

MPR_FILTER_0 Contains static filter configuration information.

MPR_IF_CUSTOMINFOEX0 Gets or sets tunnel specific custom configuration for a


demand dial interfaces.

MPR_IFTRANSPORT_0 The MPR_IFTRANSPORT_0 structure contains information for


a particular interface transport.

MPR_INTERFACE_0 The MPR_INTERFACE_0 structure contains information for a


particular router interface.

MPR_INTERFACE_1 The MPR_INTERFACE_1 structure contains configuration and


status information for a particular router interface.

MPR_INTERFACE_2 Contains data for a router demand-dial interface.

MPR_INTERFACE_3 Contains data for a router demand-dial interface.

MPR_SERVER_0 The MPR_SERVER_0 structure is used to retrieve information


about a device.

MPR_SERVER_1 Is used to retrieve and set the number of ports available for
the Point-to-Point Tunneling Protocol (PPTP) and Layer 2
Tunneling Protocol (L2TP) on a device.

MPR_SERVER_2 Is used to retrieve and set the number of ports available for
the Point-to-Point Tunneling Protocol (PPTP), Layer 2
Tunneling Protocol (L2TP), and Secure Socket Tunneling
Protocol (SSTP) on a device.

MPR_SERVER_EX0 Used to get or set the configuration of a RAS server.

MPR_SERVER_EX1 Used to get or set the configuration of a RAS server.

MPR_SERVER_SET_CONFIG_EX0 Used to get or set the tunnel configuration information of a


RAS server.

MPR_SERVER_SET_CONFIG_EX1 Used to get or set the tunnel configuration information of a


RAS server.

MPR_TRANSPORT_0 The MPR_TRANSPORT_0 structure contains information for a


particular transport.

MPR40_SERVICE_CHARACTERISTICS The MPR_SERVICE_CHARACTERISTICS structure contains


information used to register a routing protocol with the
router manager.
T IT L E DESC RIP T IO N

MPR50_ROUTING_CHARACTERISTICS The MPR_ROUTING_CHARACTERISTICS structure contains


information used to register routing protocols with the router
manager.

MPR50_SERVICE_CHARACTERISTICS The MPR_SERVICE_CHARACTERISTICS structure contains


information used to register a routing protocol with the
router manager.

MPR60_ROUTING_CHARACTERISTICS The MPR_ROUTING_CHARACTERISTICS structure contains


information used to register routing protocols with the router
manager.

MPRAPI_ADMIN_DLL_CALLBACKS The MPRAPI_ADMIN_DLL_CALLBACKS structure is used by


the MprAdminInitializeDllEx function to register the callback
function pointers.

MPRAPI_OBJECT_HEADER Defines the structure version for the RAS_CONNECTION_EX,


MPR_SERVER_EX, MPR_SERVER_SET_CONFIG_EX,
RAS_UPDATE_CONNECTION, AUTH_VALIDATION_EX
structures, and the structure version used by the
MprAdminConnectionEnumEx method.

MPRAPI_TUNNEL_CONFIG_PARAMS0 Used to get or set configuration of tunnel parameters on a


RAS Server.

MPRAPI_TUNNEL_CONFIG_PARAMS1 Used to get or set configuration of tunnel parameters on a


RAS Server.

PPP_ATCP_INFO The PPP_ATCP_INFO structure contains the result of a PPP


AppleTalk projection operation.

PPP_CCP_INFO The PPP_CCP_INFO structure contains information that


describes the results of a Compression Control Protocol (CCP)
negotiation.

PPP_INFO The PPP_INFO structure is used to report the results of the


various Point-to-Point (PPP) projection operations for a
connection.

PPP_INFO_2 The PPP_INFO_2 structure is used to report the results of the


various Point-to-Point (PPP) projection operations for a
connection.

PPP_INFO_3 The PPP_INFO_3 structure is used to report the results of the


various Point-to-Point (PPP) projection operations for a
connection.

PPP_IPCP_INFO The PPP_IPCP_INFO structure contains the result of a PPP


Internet Protocol (IP) negotiation.

PPP_IPCP_INFO2 The PPP_IPCP_INFO2 structure contains the result of a PPP


Internet Protocol (IP) negotiation.

PPP_IPV6_CP_INFO Contains the result of an IPv6 control protocol negotiation.


T IT L E DESC RIP T IO N

PPP_IPXCP_INFO The PPP_IPXCP_INFO structure contains the result of a PPP


Internetwork Packet Exchange (IPX) projection operation.

PPP_LCP_INFO The PPP_LCP_INFO structure contains information that


describes the results of an PPP Link Control Protocol (LCP)
negotiation.

PPP_NBFCP_INFO The PPP_NBFCP_INFO structure contains the result of a PPP


NetBEUI Framer (NBF) projection operation.

PPP_PROJECTION_INFO Contains information obtained during Point-to-Point (PPP)


negotiation for Secure Socket Tunneling Protocol (SSTP), Point-
to-Point Tunneling Protocol (PPTP), and Layer 2 Tunneling
Protocol (L2TP).

PPP_PROJECTION_INFO2 Contains information obtained during Point-to-Point (PPP)


negotiation for Secure Socket Tunneling Protocol (SSTP), Point-
to-Point Tunneling Protocol (PPTP), and Layer 2 Tunneling
Protocol (L2TP).

PPTP_CONFIG_PARAMS Used to get and set the device configuration for Point-to-
Point Tunneling Protocool (PPTP) on a RAS Server.

PROJECTION_INFO Is used in the RAS_CONNECTION_EX structure as a


placeholder for the PPP_PROJECTION_INFO and
IKEV2_PROJECTION_INFO structures.

PROJECTION_INFO2 Used in the RAS_CONNECTION_4 structure as a placeholder


for the PPP_PROJECTION_INFO2 and
IKEV2_PROJECTION_INFO2 structures.

RAS_CONNECTION_0 The RAS_CONNECTION_0 structure contains general


information regarding a specific connection, such as user
name or domain. For more detailed information about a
specific connection, such as bytes sent or received, see
RAS_CONNECTION_1.

RAS_CONNECTION_1 The RAS_CONNECTION_1 structure contains detailed


information regarding a specific connection, such as error
counts and bytes received. For more general information
about a specific connection, such as user name or domain, see
RAS_CONNECTION_0.

RAS_CONNECTION_2 The RAS_CONNECTION_2 structure contains information for a


connection, including the Globally Unique Identifier (GUID)
that identifies the connection.

RAS_CONNECTION_3 The RAS_CONNECTION_3 structure contains information for


the connection, including the Globally Unique Identifier
(GUID) that identifies the connection and the quarantine state
of the connection.
T IT L E DESC RIP T IO N

RAS_CONNECTION_4 Contains specific information for the connection that


includes:_the user name, domain, Globally Unique Identifier
(GUID) associated with the connection, Network Access
Protection (NAP) quarantine state, packet statistics, as well as
its Point-to-Point (PPP) and Internet Key Exchange version 2
(IKEv2) related information.

RAS_CONNECTION_EX Contains specific information for the connection that


includes:_the user name, domain, and Globally Unique
Identifier (GUID) associated with the connection, its Network
Access Protection (NAP) quarantine state, its packet statistics,
as well as its Point-to-Point(PPP) and Internet Key Exchange
version 2 (IKEv2) related information.

RAS_PORT_0 The RAS_PORT_0 structure contains general information


regarding a specific RAS port, such as port condition and port
name. For more detailed information about a specific port,
such as line speed or errors, see RAS_PORT_1.

RAS_PORT_1 The RAS_PORT_1 structure contains detailed information


regarding a specific RAS port, such as line speed or errors. For
more general information about a port, such as port
condition or port name, see RAS_PORT_0.

RAS_PROJECTION_INFO Contains the Point-to-Point (PPP) or Internet Key Exchange


version 2 (IKEv2) projection information for a RAS connection.

RAS_SECURITY_INFO The RAS_SECURITY_INFO structure is used with the


RasSecurityDialogGetInfo function to return information
about the RAS port associated with a RAS security DLL
authentication transaction.

RAS_STATS The RAS_STATS structure stores the statistics for a single-link


RAS connection, or for one of the links in a multilink RAS
connection.

RAS_UPDATE_CONNECTION Used to update an active RAS connection.

RAS_USER_0 The RAS_USER_0 structure contains information for a


particular Remote Access Service user.

RAS_USER_1 The RAS_USER_1 structure contains information for a


particular Remote Access Service user. The RAS_USER_1
structure is similar to the RAS_USER_0 structure, except that
RAS_USER_1 supports an additional member, bfPrivilege2.

RASDEVSPECIFICINFO Used to send a cookie for server validation and bypass point-
to-point (PPP) authentication.

RASIKEV2_PROJECTION_INFO Contains projection information obtained during Internet Key


Exchange (IKE) negotiation.

RASNAPSTATE The Network Access Protection (NAP) variables for a remote


access connection.
T IT L E DESC RIP T IO N

RASPPP_PROJECTION_INFO Contains information obtained during Point-to-Point (PPP)


negotiation of Internet Protocol version 4 (IPv4) and IPv6
projection operations, and PPP Link Control Protocol
(LCP)/multilink, and Compression Control Protocol (CCP)
negotiation.

ROUTER_CUSTOM_IKEv2_POLICY0 Contains the IKEv2 main mode and quick mode policy
configuration.

ROUTER_IKEv2_IF_CUSTOM_CONFIG0 Gets or sets IKEv2 tunnel configuration parameter for IKEv2


tunnel based demand dial interfaces.

ROUTING_PROTOCOL_CONFIG The ROUTING_PROTOCOL_CONFIG structure describes the


routing protocol configuration information that is passed to
the multicast group manager when a protocol registers with
the multicast group manager.

RTM_DEST_INFO The RTM_DEST_INFO structure is used to exchange


destination information with clients registered with the
routing table manager.

RTM_ENTITY_EXPORT_METHODS The RTM_ENTITY_EXPORT_METHODS structure contains the


set of methods exported by a client.

RTM_ENTITY_ID The RTM_ENTITY_ID structure is used to uniquely identify a


client to the routing table manager. The protocol identifier and
the instance identifier are the values that are used to uniquely
identify a client.

RTM_ENTITY_INFO The RTM_ENTITY_INFO structure is used to exchange client


information with the routing table manager.

RTM_ENTITY_METHOD_INPUT The RTM_ENTITY_METHOD_INPUT structure is used to pass


information to a client when invoking its method.

RTM_ENTITY_METHOD_OUTPUT The RTM_ENTITY_METHOD_OUTPUT structure is used to pass


information to the calling client when the routing table
manager invokes a method.

RTM_NET_ADDRESS The RTM_NET_ADDRESS structure is used to communicate


address information to the routing table manager for any
address family. The address family must use only with
contiguous address masks that are less than 8 bytes.

RTM_NEXTHOP_INFO The RTM_NEXTHOP_INFO structure is used to exchange next-


hop information with the routing table manager.

RTM_NEXTHOP_LIST The RTM_NEXTHOP_LIST structure contains a list of next hops


used to determine equal-cost paths in a route.

RTM_PREF_INFO The RTM_PREF_INFO structure contains the information used


when comparing any two routes. The value of the Preference
member is given more weight than the value of the Metric
member.
T IT L E DESC RIP T IO N

RTM_REGN_PROFILE The RTM_REGN_PROFILE structure contains information


returned during the registration process. The information is
used for later function calls (such as the maximum number of
routes that can be returned by a call to RtmGetEnumRoutes).

RTM_ROUTE_INFO The RTM_ROUTE_INFO structure is used to exchange route


information with the routing table manager. Do not change
the read-only information.

SECURITY_MESSAGE The SECURITY_MESSAGE structure is used with the


RasSecurityDialogComplete function to indicate the results of
a RAS security DLL authentication transaction.

SOURCE_GROUP_ENTRY The SOURCE_GROUP_ENTRY structure describes the entry


returned by the group enumeration function
MgmGroupEnumerationGetNext.

SSTP_CERT_INFO Contains information about a Secure Socket Tunneling


Protocool (SSTP) based certificate.

SSTP_CONFIG_PARAMS Used to get and set the device configuration for Secure
Socket Tunneling Protocool (SSTP) on a RAS Server.

SUPPORT_FUNCTIONS_50 The SUPPORT_FUNCTIONS structure is used by the router


manager to pass the routing protocol a set of pointers to
functions provided by the router manager.

SUPPORT_FUNCTIONS_60 The SUPPORT_FUNCTIONS structure is used by the router


manager to pass the routing protocol a set of pointers to
functions provided by the router manager.

UPDATE_COMPLETE_MESSAGE The UPDATE_COMPLETE_MESSAGE structure contains


information describing the completion status of an update
operation.
Security and Identity
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Security and Identity technology.


To develop Security and Identity, you need these headers:
aclapi.h
aclui.h
adtgen.h
authz.h
azroles.h
bcrypt.h
casetup.h
celib.h
certadm.h
certbcli.h
certcli.h
certenc.h
certenroll.h
certexit.h
certif.h
certmod.h
certpol.h
certpoleng.h
certsrv.h
certview.h
credssp.h
cryptdlg.h
cryptuiapi.h
cryptxml.h
dpapi.h
dssec.h
iads.h
identitycommon.h
identityprovider.h
identitystore.h
keycredmgr.h
lsalookup.h
mscat.h
mssip.h
ncrypt.h
ncryptprotect.h
npapi.h
ntlsa.h
ntsecapi.h
sas.h
scesvc.h
schannel.h
sddl.h
securityappcontainer.h
slpublic.h
sspi.h
subauth.h
tokenbinding.h
tpmvscmgr.h
wincred.h
wincrypt.h
winnetwk.h
winsafer.h
winscard.h
winsvc.h
wintrust.h
winwlx.h
xenroll.h
For programming guidance for this technology, see:
Authentication
Authorization
Best Practices for the Security APIs
Certificate Enrollment API
Cryptography API: Next Generation
Cryptography
Security Glossary
Security Management
Security WMI Providers
Software Licensing API
Sensor API
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Sensor API technology.


The Sensor API technology is not associated with any headers.
For programming guidance for this technology, see:
Sensor API
Sensor device driver reference
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Sensor device driver reference technology.


The Sensor device driver reference technology is not associated with any headers.
For programming guidance for this technology, see:
Sensor device driver reference

Enumerations
T IT L E DESC RIP T IO N

LOCATION_DESIRED_ACCURACY The LOCATION_DESIRED_ACCURACY enumeration type


defines values for the
SENSOR_PROPERTY_LOCATION_DESIRED_ACCURACY
property.
Serial Controller Driver Reference
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Serial Controller Driver Reference technology.


To develop Serial Controller Driver Reference, you need these headers:
msports.h
For programming guidance for this technology, see:
Serial Controller Driver Reference

Functions
T IT L E DESC RIP T IO N

ComDBClaimNextFreePort ComDBClaimNextFreePort returns the lowest COM port


number that is not already in use.

ComDBClaimPort ComDBClaimPort logs an unused COM port number as "in


use" in the COM port database.

ComDBClose ComDBClose closes a handle to the COM port database.

ComDBGetCurrentPortUsage ComDBGetCurrentPortUsage returns information about the


COM port numbers that are currently logged as "in use" in the
COM port database.

ComDBOpen ComDBOpen returns a handle to the COM port database.

ComDBReleasePort ComDBReleasePort releases a COM port number in the COM


port database.

ComDBResizeDatabase ComDBResizeDatabase resizes the COM port database.

SerialDisplayAdvancedSettings SerialDisplayAdvancedSettings displays the system-supplied


advanced settings dialog box for a specified COM port device.
Settings Management Infrastructure (SMI)
2/7/2020 • 5 minutes to read • Edit Online

Overview of the Settings Management Infrastructure (SMI) technology.


To develop Settings Management Infrastructure (SMI), you need these headers:
wcmconfig.h
For programming guidance for this technology, see:
Settings Management Infrastructure (SMI)

Enumerations
T IT L E DESC RIP T IO N

WcmDataType Enumerates the data types returned from the


ISettingsItem::GetDataType method.

WcmNamespaceAccess Describes the options passed to the


ISettingsEngine::GetNamespace method to choose how the
namespace must be accessed.

WcmNamespaceEnumerationFlags Describes the types of enumeration flags.

WcmRestrictionFacets Enumerates the facet values that may be returned by the


ISettingsItem::GetRestrictionFacets method.

WcmSettingType Describes setting types that are returned from the


ISettingsItem::GetSettingType method and defines the object
model type for the calling ISettingsItem interface.

WcmTargetMode Enumerates the various target modes.

WcmUserStatus Describes the status of the user.

Functions
T IT L E DESC RIP T IO N

ApplySettingsContext Applies a settings context.

Attributes Gets the dictionary of attributes.

Children Gets the dictionary of the child items that correspond to this
item.

CreateListElement Creates a new list element.

CreateSettingByPath Creates a setting object specified by the path.


T IT L E DESC RIP T IO N

CreateSettingByPath Creates a setting object specified by its path.

CreateSettingsContext Creates a settings context.

CreateSettingsIdentity Creates an empty settings identity.

CreateTargetInfo Creates an empty target.

Current Retrieves an item from the current position of the enumerator.

Deserialize Deserializes the data in the stream that is provided to this


context.

ExpandTarget Expands a location string to indicate the offline installation


location.

ExpandTargetPath Expands a location string to indicate the offline installation


location.

GetAttribute Gets an identity attribute for a namespace identity.

GetAttribute Gets the value of an attribute by specifying its name.

GetAttribute Gets the value of an attribute of the namespace.

GetChild Gets the child item that has the specified name.

GetColumn Returns the column number where the error occurred.

GetContextDescription Returns the description of the context that surrounds the


error.

GetDataType Gets the type information for the item.

GetDescription Returns the description of the error.

GetEnumerator Gets the enumerator used to access the collection of offline


properties.

GetErrorCode Returns the HRESULT error code value.

GetErrorDescription Retrieves a text message for a returned HRESULT code.

GetFlags Returns the flags for a namespace identity.

GetIdentity Gets the identity of the namespace.

GetKeyValue Extracts key values for any list that already exists in the image,
for example, DNS, http settings, and user account information.

GetLine Returns the line number where the error has occurred.
T IT L E DESC RIP T IO N

GetListKeyInformation Gets the list information for this item.

GetName Gets the name of the item.

GetNamespace Opens an existing namespace as specified by the


ISettingsIdentity parameter.

GetNamespaces Gets the namespaces that exist in the context.

GetNamespaces Returns an enumerator to the installed namespaces.

GetPath Gets the path for the item.

GetProperty Gets a property value for the offline installation location.

GetRestriction Gets the information for a given restriction.

GetRestrictionFacets Gets the restrictions defined for this item.

GetSchemaHiveLocation Get the location of the schema hive.

GetSchemaHiveMountName Gets the name of the mount location of the schema hive.

GetSettingByPath Gets a setting based on the given path.

GetSettingByPath Gets the setting object specified by a path.

GetSettingType Gets the setting type for the item.

GetSource Returns the file or path where the error has occurred.

GetStoredSettings Gets the stored setting changes from the context for the given
namespace.

GetStoreStatus Gets the status of the schema store.

GetTargetID Gets the unique identifier associated with the current target.

GetTargetInfo Gets the current offline target for the engine.

GetTargetMode Gets the current target mode.

GetTargetProcessorArchitecture Gets processor architecture associated with the current target.

GetTemporaryStoreLocation Gets the current temporary store location.

GetUserData Gets a user-defined data.

GetValue Gets the current value from the item.


T IT L E DESC RIP T IO N

GetValueRaw Gets the value from the current item as a byte array.

HasChild Determines whether the current item has a child item.

LoadModule Loads the module from the offline installation location.

LoadStore Initializes and loads the schema store hive.

MoveNext Moves the current position to the next item in the enumerator
if available.

RegisterNamespace Registers a namespace from a stream.

RemoveListElement Removes an existing list element of the supplied name.

RemoveSettingByPath Removes a setting object specified by its path.

RemoveSettingByPath Removes the setting object specified by a path.

Reset Resets the state of the enumerator to its initialized state. You
must immediately follow IItemEnumerator::Reset with a call to
IItemEnumerator::MoveNext on the enumerator in order to
set the current pointer at the first position in the enumeration.

RevertSetting Reverts a setting in the namespace.

Save Updates the settings namespace to persistent and visible.

Serialize Serializes the data in this context into the provided stream.

SetAttribute Sets an identity attribute for a namespace identity.

SetFlags Sets the identity flags for a namespace identity.

SetModulePath Sets the module path for the offline installation location.

SetProperty Sets a property value for the offline installation location.

SetSchemaHiveLocation Sets the location of the schema hive.

SetSchemaHiveMountName Sets the name of the mount location of the schema hive.

SetTargetID Sets the unique identifier associated with current target.

SetTargetInfo Sets the current offline target for the engine.

SetTargetMode Sets the target mode.

SetTargetProcessorArchitecture Sets the processor architecture associated with the current


target.
T IT L E DESC RIP T IO N

SetTemporaryStoreLocation Sets the current temporary store location.

Settings Retrieves an enumerator for the top-level settings for the


namespace.

SetUserData Sets the user-defined data.

SetValue Sets the value of an item.

SetValueRaw Sets the value of the current item by supplying data in raw
form.

SetWow64Context Sets an opaque context object for wow64 redirection.

TranslateWow64 Translates paths for wow64 redirection.

UnloadStore Unloads the schema store hive and frees resources.

UnregisterNamespace Unregisters an existing namespace.

Interfaces
T IT L E DESC RIP T IO N

IItemEnumerator Enumerates the items of a collection of settings and attributes.

ISettingsContext An interface to a backing store that is used to store setting


changes made through the other SMI APIs, and provides
operations to serialize to and deserialize from a representation.

ISettingsEngine The central interface for opening namespaces and controlling


how they are opened.

ISettingsIdentity Identifies a namespace to open or use.

ISettingsItem Navigates the settings tree, retrieves the metadata for a


particular setting, and retrieves or modify its value.

ISettingsNamespace Performs operations to set, retrieve, and validate settings, and


save changes for a namespace instance.

ISettingsResult Retrieves the code and description for errors and warnings
returned by various operations.

ITargetInfo Defines the offline target information, specifically, file and


registry locations as well as wow64 information.
Simple Network Management Protocol
2/7/2020 • 12 minutes to read • Edit Online

Overview of the Simple Network Management Protocol technology.


To develop Simple Network Management Protocol, you need these headers:
mgmtapi.h
snmp.h
winsnmp.h
For programming guidance for this technology, see:
Simple Network Management Protocol

Functions
T IT L E DESC RIP T IO N

SNMPAPI_CALLBACK The Microsoft WinSNMP implementation calls the


SNMPAPI_CALLBACK function to notify a WinSNMP session
that an SNMP message or asynchronous event is available.

SnmpCancelMsg A WinSNMP application calls the SnmpCancelMsg function to


request that the Microsoft WinSNMP implementation cancel
retransmission attempts and time-out notifications for an
SNMP request message.

SnmpCleanup The SnmpCleanup function informs the Microsoft WinSNMP


implementation that the calling WinSNMP application no
longer requires the implementation's services.

SnmpCleanupEx The SnmpCleanupEx function performs cleanup when there


are no outstanding successful calls to SnmpStartup or
SnmpStartupEx within a Windows SNMP (WinSNMP)
application.

SnmpClose The SnmpClose function enables the Microsoft WinSNMP


implementation to deallocate memory, resources, and data
structures associated with a WinSNMP session.

SnmpContextToStr The WinSNMP SnmpContextToStr function returns a string


that identifies an SNMP context, which is a set of managed
object resources. The function returns the string in an
smiOCTETS structure.

SnmpCountVbl A WinSNMP application calls the WinSNMP SnmpCountVbl


function to enumerate the variable binding entries in the
specified variable bindings list.

SnmpCreatePdu The WinSNMP SnmpCreatePdu function creates and initializes


an SNMP protocol data unit (PDU).
T IT L E DESC RIP T IO N

SnmpCreateSession The SnmpCreateSession function requests the Microsoft


WinSNMP implementation to open a session for the
WinSNMP application.

SnmpCreateVbl The WinSNMP SnmpCreateVbl function creates a new variable


bindings list for the calling WinSNMP application.

SnmpDecodeMsg The WinSNMP SnmpDecodeMsg function decodes an


encoded SNMP message into its components. This function
performs the opposite action of the WinSNMP
SnmpEncodeMsg function.

SnmpDeleteVb The WinSNMP SnmpDeleteVb function removes a variable


binding entry from a variable bindings list.

SnmpDuplicatePdu The WinSNMP SnmpDuplicatePdu function duplicates the


SNMP protocol data unit (PDU) that the PDU parameter
identifies, allocating any necessary memory for the duplicate
PDU.

SnmpDuplicateVbl The WinSNMP SnmpDuplicateVbl function copies a variable


bindings list for the specified WinSNMP session. This function
returns a handle to the copied variable bindings list and
allocates any necessary memory for it.

SnmpEncodeMsg The Microsoft WinSNMP implementation uses the parameters


passed in the WinSNMP SnmpEncodeMsg function to encode
an SNMP message.

SnmpEntityToStr The WinSNMP SnmpEntityToStr function returns a string that


identifies an SNMP management entity.

SnmpExtensionClose The Microsoft SNMP service calls the SnmpExtensionClose


function to request that the SNMP extension agent deallocate
resources and terminate operations. This function is an
element of the SNMP Extension Agent API.

SnmpExtensionInit The Microsoft SNMP service calls the SnmpExtensionInit


function to initialize the SNMP extension agent DLL. This
function is an element of the SNMP Extension Agent API.

SnmpExtensionInitEx The Microsoft SNMP service calls the SnmpExtensionInitEx


function to identify any additional management information
base (MIB) subtrees the SNMP extension agent supports. This
function is an element of the SNMP Extension Agent API.

SnmpExtensionMonitor The Microsoft SNMP service calls the SnmpExtensionMonitor


function to provide the SNMP extension agent with a view to
the service's internal counters and parameters. This function is
an element of the SNMP Extension Agent API.

SnmpExtensionQuery The Microsoft SNMP service calls the SnmpExtensionQuery


function to resolve SNMP requests that contain variables
within one or more of the SNMP extension agent's registered
MIB subtrees. This function is an element of the SNMP
Extension Agent API.
T IT L E DESC RIP T IO N

SnmpExtensionQueryEx The Microsoft SNMP service calls the SnmpExtensionQueryEx


function to process SNMP requests that specify variables in
one or more MIB subtrees registered by SNMP extension
agents. This function is an element of the SNMP Extension
Agent API.

SnmpExtensionTrap The Microsoft SNMP service calls the SnmpExtensionTrap


function to retrieve information the service needs to generate
traps for the SNMP extension agent.

SnmpFreeContext The WinSNMP SnmpFreeContext function releases resources


associated with an SNMP context, which is a set of managed
object resources.

SnmpFreeDescriptor A WinSNMP application uses the SnmpFreeDescriptor function


to inform the Microsoft WinSNMP implementation that it no
longer requires access to a descriptor object.

SnmpFreeEntity The WinSNMP SnmpFreeEntity function releases resources


associated with an SNMP management entity.

SnmpFreePdu The WinSNMP SnmpFreePdu function releases resources


associated with an SNMP protocol data unit (PDU) created by
the SnmpCreatePdu or the SnmpDuplicatePdu function.

SnmpFreeVbl The WinSNMP SnmpFreeVbl function releases resources


associated with a variable bindings list. These are resources
allocated previously by a call to the SnmpCreateVbl function
or the SnmpDuplicateVbl function in a WinSNMP application.

SnmpGetLastError The WinSNMP SnmpGetLastError function returns the calling


application's last-error code value. The value indicates the
reason why the last function call executed by the WinSNMP
application failed.

SnmpGetPduData The WinSNMP SnmpGetPduData function returns selected


data fields from a specified SNMP protocol data unit (PDU).

SnmpGetRetransmitMode The WinSNMP SnmpGetRetransmitMode function returns the


current setting of the retransmission mode to a WinSNMP
application.

SnmpGetRetry The WinSNMP SnmpGetRetry function returns the retry count


value, in units, for the retransmission of SNMP message
requests. The retry count applies to calls that a WinSNMP
application makes to the SnmpSendMsg function for a
specified management entity.

SnmpGetTimeout The WinSNMP SnmpGetTimeout function returns the time-


out value, in hundredths of a second, for the transmission of
SNMP message requests.

SnmpGetTranslateMode The WinSNMP SnmpGetTranslateMode function returns the


current setting of the entity and context translation mode to a
WinSNMP application.
T IT L E DESC RIP T IO N

SnmpGetVb A WinSNMP application calls the SnmpGetVb function to


retrieve information from a variable bindings list. This
WinSNMP function retrieves a variable name and its
associated value from the variable binding entry specified by
the index parameter.

SnmpGetVendorInfo A WinSNMP application calls the SnmpGetVendorInfo function


to retrieve information about the Microsoft WinSNMP
implementation.

SnmpListen The WinSNMP SnmpListen function registers a WinSNMP


application as an SNMP agent.

SnmpMgrClose The SnmpMgrClose function closes the communications


sockets and data structures that are associated with the
specified session. This function is an element of the SNMP
Management API.

SnmpMgrCtl The SnmpMgrCtl function sets an operating parameter


associated with an SNMP session. This function is an element
of the SNMP Management API.

SnmpMgrGetTrap The SnmpMgrGetTrap function returns outstanding trap data


that the caller has not received if trap reception is enabled.
This function is an element of the SNMP Management API.

SnmpMgrGetTrapEx The SnmpMgrGetTrapEx function returns outstanding trap


data that the caller has not received if trap reception is
enabled.

SnmpMgrOidToStr The SnmpMgrOidToStr function converts an internal object


identifier structure to its string representation. This function is
an element of the SNMP Management API.

SnmpMgrOpen The SnmpMgrOpen function initializes communications


sockets and data structures, allowing communications with
the specified SNMP agent. This function is an element of the
SNMP Management API.

SnmpMgrRequest The SnmpMgrRequest function requests the specified


operation be performed with the specified agent. This function
is an element of the SNMP Management API.

SnmpMgrStrToOid The SnmpMgrStrToOid function converts the string format of


an object identifier to its internal object identifier structure.
This function is an element of the SNMP Management API.

SnmpMgrTrapListen The SnmpMgrTrapListen function registers the ability of an


SNMP manager application to receive SNMP traps from the
SNMP Trap Service. This function is an element of the SNMP
Management API.

SnmpOidCompare The WinSNMP SnmpOidCompare function lexicographically


compares two SNMP object identifiers, up to the length
specified by the maxlen parameter.
T IT L E DESC RIP T IO N

SnmpOidCopy The WinSNMP SnmpOidCopy function copies an SNMP object


identifier, allocating any necessary memory for the copy.

SnmpOidToStr The WinSNMP SnmpOidToStr function converts the internal


binary representation of an SNMP object identifier to its
dotted numeric string format, for example, to "1.2.3.4.5.6".

SnmpOpen The SnmpOpen function requests the Microsoft WinSNMP


implementation to open a session for the WinSNMP
application.

SnmpRecvMsg The WinSNMP SnmpRecvMsg function retrieves the results of


a completed asynchronous request submitted by a call to the
SnmpSendMsg function, in the form of an SNMP message.

SnmpRegister The WinSNMP SnmpRegister function registers or unregisters


a WinSNMP application for trap and notification reception. The
application can register and receive traps and notifications, or
unregister and disable traps and notifications.

SnmpSendMsg A WinSNMP application calls the SnmpSendMsg function to


request that the Microsoft WinSNMP implementation transmit
an SNMP protocol data unit (PDU), in the form of an SNMP
message.

SnmpSetPduData The WinSNMP SnmpSetPduData function updates selected


data fields in the specified SNMP protocol data unit (PDU).

SnmpSetPort A WinSNMP application calls the SnmpSetPort function to


change the port assigned to a destination entity. The
SnmpSetPort function is an element of the WinSNMP API,
version 2.0.

SnmpSetRetransmitMode The WinSNMP SnmpSetRetransmitMode function enables a


WinSNMP application to set the retransmission mode.

SnmpSetRetry The WinSNMP SnmpSetRetry function enables a WinSNMP


application to change the retry count value for the
retransmission of SNMP message requests.

SnmpSetTimeout The WinSNMP SnmpSetTimeout function enables a WinSNMP


application to change the time-out value for the transmission
of SNMP message requests.

SnmpSetTranslateMode The WinSNMP SnmpSetTranslateMode function enables a


WinSNMP application to change the entity and context
translation mode. The entity and context translation mode
affects the interpretation and return of WinSNMP input and
output string parameters.

SnmpSetVb The WinSNMP SnmpSetVb function changes variable binding


entries in a variable bindings list. This function also appends
new variable binding entries to an existing variable bindings
list.
T IT L E DESC RIP T IO N

SnmpStartup The SnmpStartup function notifies the Microsoft WinSNMP


implementation that the WinSNMP application requires the
implementation's services.

SnmpStartupEx The SnmpStartupEx function notifies the Microsoft WinSNMP


implementation that the WinSNMP application requires the
implementation's services.

SnmpStrToContext The WinSNMP SnmpStrToContext function returns a handle to


SNMP context information that is specific to the Microsoft
WinSNMP implementation.

SnmpStrToEntity The WinSNMP SnmpStrToEntity function returns a handle to


information about an SNMP management entity that is
specific to the Microsoft WinSNMP implementation.

SnmpStrToOid The WinSNMP SnmpStrToOid function converts the dotted


numeric string format of an SNMP object identifier, for
example, "1.2.3.4.5.6", to its internal binary representation.

SnmpSvcGetUptime The SnmpSvcGetUptime function retrieves the number of


centiseconds that the SNMP service has been running. This
function is an element of the SNMP Utility API.

SnmpSvcSetLogLevel The SnmpSvcSetLogLevel function adjusts the level of detail of


the debug output from the SNMP service and from SNMP
extension agents using the SnmpUtilDbgPrint function. This
function is an element of the SNMP Utility API.

SnmpSvcSetLogType The SnmpSvcSetLogType function adjusts the destination for


the debug output from the SNMP service and from SNMP
extension agents using the SnmpUtilDbgPrint function. This
function is an element of the SNMP Utility API.

SnmpUtilAsnAnyCpy The SnmpUtilAsnAnyCpy function copies the variable pointed


to by the pAnySrc parameter to the pAnyDst parameter. The
function allocates any necessary memory for the destination's
copy. The SnmpUtilAsnAnyCpy function is an element of the
SNMP Utility API.

SnmpUtilAsnAnyFree The SnmpUtilAsnAnyFree function frees the memory allocated


for the specified AsnAny structure. This function is an element
of the SNMP Utility API.

SnmpUtilDbgPrint The SnmpUtilDbgPrint function enables debugging output


from the SNMP service. This function is an element of the
SNMP Utility API.

SnmpUtilIdsToA The SnmpUtilIdsToA function converts an object identifier


(OID) to a null-terminated string. This function is an element
of the SNMP Utility API.

SnmpUtilMemAlloc The SnmpUtilMemAlloc function allocates dynamic memory


from the process heap. This function is an element of the
SNMP Utility API.
T IT L E DESC RIP T IO N

SnmpUtilMemFree The SnmpUtilMemFree function frees the specified memory


object. This function is an element of the SNMP Utility API.

SnmpUtilMemReAlloc The SnmpUtilMemReAlloc function changes the size of the


specified memory object. This function is an element of the
SNMP Utility API.

SnmpUtilOctetsCmp The SnmpUtilOctetsCmp function compares two octet strings.


This function is an element of the SNMP Utility API.

SnmpUtilOctetsCpy The SnmpUtilOctetsCpy function copies the variable pointed


to by the pOctetsSrc parameter to the variable pointed to by
the pOctetsDst parameter.

SnmpUtilOctetsFree The SnmpUtilOctetsFree function frees the memory allocated


for the specified octet string. This function is an element of the
SNMP Utility API.

SnmpUtilOctetsNCmp The SnmpUtilOctetsNCmp function compares two octet


strings. The function compares the subidentifiers in the strings
until it reaches the number of subidentifiers specified by the
nChars parameter. SnmpUtilOctetsNCmp is an element of the
SNMP Utility API.

SnmpUtilOidAppend The SnmpUtilOidAppend function appends the source object


identifier to the destination object identifier. This function is an
element of the SNMP Utility API.

SnmpUtilOidCmp The SnmpUtilOidCmp function compares two object


identifiers. This function is an element of the SNMP Utility API.

SnmpUtilOidCpy The SnmpUtilOidCpy function copies the variable pointed to


by the pOidSrc parameter to the pOidDst parameter,
allocating any necessary memory for the destination's copy.
This function is an element of the SNMP Utility API.

SnmpUtilOidFree The SnmpUtilOidFree function frees the memory allocated for


the specified object identifier. This function is an element of the
SNMP Utility API.

SnmpUtilOidNCmp The SnmpUtilOidNCmp function compares two object


identifiers.

SnmpUtilOidToA The SnmpUtilOidToA function converts an object identifier


(OID) to a null-terminated string. This function is an element
of the SNMP Utility API.

SnmpUtilPrintAsnAny The SnmpUtilPrintAsnAny function prints the value of the Any


parameter to the standard output. This function is an element
of the SNMP Utility API.

SnmpUtilPrintOid The SnmpUtilPrintOid function formats the specified object


identifier (OID) and prints the result to the standard output
device. This function is an element of the SNMP Utility API.
T IT L E DESC RIP T IO N

SnmpUtilVarBindCpy The SnmpUtilVarBindCpy function copies the specified


SnmpVarBind structure, and allocates any memory necessary
for the destination structure. The SnmpUtilVarBindCpy
function is an element of the SNMP Utility API.

SnmpUtilVarBindFree The SnmpUtilVarBindFree function frees the memory allocated


for an SnmpVarBind structure. This function is an element of
the SNMP Utility API.

SnmpUtilVarBindListCpy The SnmpUtilVarBindListCpy function copies the specified


SnmpVarBindList structure, and allocates any necessary
memory for the destination's copy. This function is an element
of the SNMP Utility API.

SnmpUtilVarBindListFree The SnmpUtilVarBindListFree function frees the memory


allocated for an SnmpVarBindList structure. This function is an
element of the SNMP Utility API.

Structures
T IT L E DESC RIP T IO N

AsnAny The AsnAny structure contains an SNMP variable type and


value. This structure is a member of the SnmpVarBind
structure that is used as a parameter in many of the SNMP
functions. This structure is not used by the WinSNMP API
functions.

AsnObjectIdentifier The AsnObjectIdentifier structure represents object identifiers.


This structure is used by multiple SNMP functions. This
structure is not used by the WinSNMP API functions.

AsnOctetString The AsnOctetString structure contains octet quantities, usually


bytes. This structure is used by multiple SNMP functions. This
structure is not used by the WinSNMP API functions.

smiCNTR64 The WinSNMP smiCNTR64 structure contains a 64-bit


unsigned integer value. The structure represents a 64-bit
counter.

smiOCTETS The WinSNMP smiOCTETS structure passes context strings to


multiple WinSNMP functions. The structure also describes and
receives encoded SNMP messages.

smiOID The WinSNMP smiOID structure passes object identifiers to


multiple WinSNMP functions. The structure also receives the
variable name of a variable binding entry in a call to the
SnmpGetVb function.

smiVALUE The WinSNMP smiVALUE structure describes the value


associated with a variable name in a variable binding entry.

smiVENDORINFO The smiVENDORINFO structure contains information about


the Microsoft WinSNMP implementation.
T IT L E DESC RIP T IO N

SnmpVarBind The SnmpVarBind structure represents an SNMP variable


binding. This structure is used by multiple SNMP functions.
This structure is not used by the WinSNMP API functions.

SnmpVarBindList The SnmpVarBindList structure represents an SNMP variable


bindings list. This structure is used by multiple SNMP
functions. This structure is not used by the WinSNMP API
functions.
Software Device API
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Software Device API technology.


To develop Software Device API, you need these headers:
swdevice.h
swdevicedef.h
For programming guidance for this technology, see:
Software Device API

Functions
T IT L E DESC RIP T IO N

SW_DEVICE_CREATE_CALLBACK Provides a device with backing in the registry and allows the
caller to then make calls to Software Device API functions with
the hSwDevice handle.

SwDeviceClose Closes the software device handle. When the handle is closed,
PnP will initiate the process of removing the device.

SwDeviceCreate Initiates the enumeration of a software device.

SwDeviceGetLifetime Gets the lifetime of a software device.

SwDeviceInterfacePropertySet Sets properties on a software device interface.

SwDeviceInterfaceRegister Registers a device interface for a software device and


optionally sets properties on that interface.

SwDeviceInterfaceSetState Enables or disables a device interface for a software device.

SwDevicePropertySet Sets properties on a software device.

SwDeviceSetLifetime Manages the lifetime of a software device.

SwMemFree Frees memory that other Software Device API functions


allocated.

Structures
T IT L E DESC RIP T IO N

SW_DEVICE_CREATE_INFO Describes info that PnP uses to create the software device.
Spell Checker API
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Spell Checker API technology.


The Spell Checker API technology is not associated with any headers.
For programming guidance for this technology, see:
Spell Checker API
Storage driver DDI reference
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Storage driver DDI reference technology.


The Storage driver DDI reference technology is not associated with any headers.
For programming guidance for this technology, see:
Storage driver DDI reference
Storage Volume Provider
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Storage Volume Provider technology.


The Storage Volume Provider technology is not associated with any headers.
For programming guidance for this technology, see:
Storage Volume Provider
Streaming media DDI reference
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Streaming media DDI reference technology.


The Streaming media DDI reference technology is not associated with any headers.
For programming guidance for this technology, see:
Streaming media DDI reference

Enumerations
T IT L E DESC RIP T IO N

MF_MEDIASOURCE_STATUS_INFO .

MF_TRANSFER_VIDEO_FRAME_FLAGS .

Functions
T IT L E DESC RIP T IO N

FlushInputStream The FlushInputStream method flushes a Device MFT’s input


stream.

FlushOutputStream The FlushOutputStream method flushes a Device MFT’s output


stream.

GetInputAvailableType The GetInputAvailableType method gets an available media


type for an input stream on this Media Foundation transform
(MFT).

GetInputCurrentType The GetInputCurrentType method gets the current media type


for an input stream on this Media Foundation transform
(MFT).

GetInputStreamAttributes The GetInputStreamAttributes method gets the attribute store


for an input stream on this Media Foundation transform
(MFT).

GetInputStreamPreferredState The GetInputStreamPreferredState method gets a Device MFT


input stream’s preferred state and media type.

GetInputStreamState The GetInputStreamState method gets the Device MFT’s input


stream state.

GetOutputAvailableType The GetOutputAvailableType method gets an available media


type for an output stream on this Media Foundation
transform (MFT).
T IT L E DESC RIP T IO N

GetOutputCurrentType The GetOutputCurrentType method gets the current media


type for an output stream on this Media Foundation
transform (MFT).

GetOutputStreamAttributes The GetOutputStreamAttributes method gets the attribute


store for an output stream on this Media Foundation
transform (MFT).

GetOutputStreamState The GetOutputStreamState method gets the Device MFT’s


output stream state.

GetStreamCount The GetStreamCount method gets the current number of


input and output streams on this Media Foundation transform
(MFT).

GetStreamIDs The GetStreamIDs method gets the stream identifiers for the
input and output streams on this Media Foundation transform
(MFT).

InitializeTransform InitializeTransform is called to initialize the Device MFT.

OnBufferSent Called when system-allocated frame buffers are sent to the


device driver.

ProcessEvent The ProcessEvent method sends an event to an input stream


on this Media Foundation transform (MFT).

ProcessInput The ProcessInput method delivers data to an input stream on


this Media Foundation transform (MFT).

ProcessMessage The ProcessMessage method sends a message to the Device


Media Foundation transform (MFT).

ProcessOutput The ProcessOutput method gets the processed output from


the Device MFT output streams.

SetInputStreamState The SetInputStreamState method sets the Device MFT input


stream state and media type.

SetOutputStreamState The SetOutputStreamState method sets the Device MFT


output stream state and media type.

Interfaces
T IT L E DESC RIP T IO N

IMFDeviceTransform This section contains reference information for the


IMFDeviceTransform interface.

IMFDeviceTransformCallback Implement this callback to receive notifications when system-


allocated frame buffers are sent to the device driver.
Structures
T IT L E DESC RIP T IO N

CapturedMetadataExposureCompensation This structure contains blob information for the EV


compensation feedback for the photo captured.

CapturedMetadataISOGains The CapturedMetadataISOGains structure describes the blob


format for MF_CAPTURE_METADATA_ISO_GAINS.

CapturedMetadataWhiteBalanceGains This structure describes the blob format for the


MF_CAPTURE_METADATA_WHITEBALANCE_GAINS attribute.

FaceCharacterization The FaceCharacterization structure describes the blob format


for the
MF_CAPTURE_METADATA_FACEROICHARACTERIZATIONS
attribute.

FaceCharacterizationBlobHeader The FaceCharacterizationBlobHeader structure describes the


size and count information of the blob format for the
MF_CAPTURE_METADATA_FACEROICHARACTERIZATIONS
attribute.

FaceRectInfo The FaceRectInfo structure describes the blob format for the
MF_CAPTURE_METADATA_FACEROIS attribute.

FaceRectInfoBlobHeader The FaceRectInfoBlobHeader structure describes the size and


count information of the blob format for the
MF_CAPTURE_METADATA_FACEROIS attribute.

HistogramBlobHeader The HistogramBlobHeader structure describes the blob size


and the number of histograms in the blob for the
MF_CAPTURE_METADATA_HISTOGRAM attribute.

HistogramDataHeader The HistogramDataHeader structure describes the blob format


for the MF_CAPTURE_METADATA_HISTOGRAM attribute.

HistogramGrid The HistogramGrid structure describes the blob format for


MF_CAPTURE_METADATA_HISTOGRAM.

HistogramHeader The HistogramHeader structure describes the blob format for


MF_CAPTURE_METADATA_HISTOGRAM.

MetadataTimeStamps The MetadataTimeStamps structure describes the blob format


for the MF_CAPTURE_METADATA_FACEROITIMESTAMPS
attribute.
Structured Storage
2/7/2020 • 15 minutes to read • Edit Online

Overview of the Structured Storage technology.


To develop Structured Storage, you need these headers:
coml2api.h
propapi.h
propidlbase.h
For programming guidance for this technology, see:
Structured Storage

Enumerations
T IT L E DESC RIP T IO N

LOCKTYPE The LOCKTYPE enumeration values indicate the type of


locking requested for the specified range of bytes. The values
are used in the ILockBytes::LockRegion and
IStream::LockRegion methods.

STATFLAG Indicate whether the method should try to return a name in


the pwcsName member of the STATSTG structure.

STGC Specify the conditions for performing the commit operation in


the IStorage::Commit and IStream::Commit methods.

STGMOVE Indicate whether a storage element is to be moved or copied.

STGTY The STGTY enumeration values are used in the type member
of the STATSTG structure to indicate the type of the storage
element. A storage element is a storage object, a stream
object, or a byte-array object (LOCKBYTES).

STREAM_SEEK The STREAM_SEEK enumeration values specify the origin from


which to calculate the new seek-pointer location.

Functions
T IT L E DESC RIP T IO N

BeginMonitor The BeginMonitor method is used to begin monitoring when


a loading operation is started. When the operation is
complete, the application must call
ILayoutStorage::EndMonitor.

Clone Creates a new enumerator that contains the same


enumeration state as the current STATSTG structure
enumerator.
T IT L E DESC RIP T IO N

Clone The Clone method creates a new stream object with its own
seek pointer that references the same bytes as the original
stream.

Clone Creates an enumerator that contains the same enumeration


state as the current STATPROPSETSTG structure enumerator.

Clone Creates an enumerator that contains the same enumeration


state as the current STATPROPSTG structure enumerator.

Clone Creates an enumerator that contains the same enumeration


state as the current STATPROPSETSTG structure enumerator.

Clone Creates an enumerator that contains the same enumeration


state as the current STATPROPSTG structure enumerator.

Commit The Commit method ensures that any changes made to a


storage object open in transacted mode are reflected in the
parent storage.

Commit The Commit method ensures that any changes made to a


stream object open in transacted mode are reflected in the
parent storage.

Commit Saves changes made to a property storage object to the


parent storage object.

Commit Saves changes made to a property storage object to the


parent storage object.

CopyTo Copies the entire contents of an open storage object to


another storage object.

CopyTo Copies a specified number of bytes from the current seek


pointer in the stream to the current seek pointer in another
stream.

Create Creates and opens a new property set in the property set
storage object.

CreateILockBytesOnHGlobal Creates a byte array object that uses an HGLOBAL memory


handle to store the bytes intended for in-memory storage of
a compound file.

CreateStorage Creates and opens a new storage object nested within this
storage object with the specified name in the specified access
mode.

CreateStream Creates and opens a stream object with the specified name
contained in this storage object.

CreateStreamOnHGlobal Creates a stream object that uses an HGLOBAL memory


handle to store the stream contents.
T IT L E DESC RIP T IO N

Delete The Delete method deletes one of the property sets contained
in the property set storage object.

DeleteMultiple The DeleteMultiple method deletes as many of the indicated


properties as exist in this property set.

DeleteMultiple The DeleteMultiple method deletes as many of the indicated


properties as exist in this property set.

DeletePropertyNames The DeletePropertyNames method deletes specified string


names from the current property set.

DeletePropertyNames The DeletePropertyNames method deletes specified string


names from the current property set.

DestroyElement Removes the specified storage or stream from this storage


object.

EndMonitor The EndMonitor method ends monitoring of a compound file.


Must be preceded by a call to ILayoutStorage::BeginMonitor.

Enum The Enum method creates an enumerator object which


contains information on the property sets stored in this
property set storage. On return, this method supplies a
pointer to the IEnumSTATPROPSETSTG pointer on the
enumerator object.

Enum The Enum method creates an enumerator object designed to


enumerate data of type STATPROPSTG, which contains
information on the current property set. On return, this
method supplies a pointer to the IEnumSTATPROPSTG pointer
on this object.

Enum The Enum method creates an enumerator object designed to


enumerate data of type STATPROPSTG, which contains
information on the current property set. On return, this
method supplies a pointer to the IEnumSTATPROPSTG pointer
on this object.

EnumElements The EnumElements method retrieves a pointer to an


enumerator object that can be used to enumerate the storage
and stream objects contained within this storage object.

FillAppend The FillAppend method writes a new block of bytes to the end
of a byte array.

FillAt The FillAt method writes a new block of data to a specified


location in the byte array.

Flush The Flush method ensures that any internal buffers


maintained by the ILockBytes implementation are written out
to the underlying physical storage.

FmtIdToPropStgName Converts a property set format identifier (FMTID) to its


storage or stream name.
T IT L E DESC RIP T IO N

FreePropVariantArray The FreePropVariantArray function calls PropVariantClear on


each of the PROPVARIANT structures in the rgvars array to
make the value zero for each of the members of the array.

GetConvertStg The GetConvertStg function returns the current value of the


convert bit for the specified storage object.

GetHGlobalFromILockBytes The GetHGlobalFromILockBytes function retrieves a global


memory handle to a byte array object created using the
CreateILockBytesOnHGlobal function.

GetHGlobalFromStream The GetHGlobalFromStream function retrieves the global


memory handle to a stream that was created through a call to
the CreateStreamOnHGlobal function.

HaveWriteAccess The HaveWriteAccess method indicates whether the write lock


has been taken.

LayoutScript The LayoutScript method provides explicit directions for


reordering the storages, streams, and controls in a compound
file to match the order in which they are accessed during the
download.

LockRegion The LockRegion method restricts access to a specified range of


bytes in the byte array.

LockRegion The LockRegion method restricts access to a specified range of


bytes in the stream.

MoveElementTo The MoveElementTo method copies or moves a substorage or


stream from this storage object to another storage object.

Next Retrieves a specified number of STATSTG structures, that follow


in the enumeration sequence.

Next Retrieves a specified number of STATPROPSETSTG structures


that follow subsequently in the enumeration sequence.

Next Retrieves a specified number of STATPROPSTG structures, that


follow subsequently in the enumeration sequence.

Next Retrieves a specified number of STATPROPSETSTG structures


that follow subsequently in the enumeration sequence.

Next Retrieves a specified number of STATPROPSTG structures, that


follow subsequently in the enumeration sequence.

OleConvertIStorageToOLESTREAM The OleConvertIStorageToOLESTREAM function converts the


specified storage object from OLE 2 structured storage to the
OLE 1 storage object model but does not include the
presentation data. This is one of several compatibility
functions.
T IT L E DESC RIP T IO N

OleConvertIStorageToOLESTREAMEx The OleConvertIStorageToOLESTREAMEx function converts


the specified storage object from OLE 2 structured storage to
the OLE 1 storage object model, including the presentation
data.

OleConvertOLESTREAMToIStorage Converts the specified object from the OLE 1 storage model
to an OLE 2 structured storage object without specifying
presentation data.

OleConvertOLESTREAMToIStorageEx The OleConvertOLESTREAMToIStorageEx function converts


the specified object from the OLE 1 storage model to an OLE
2 structured storage object including presentation data. This is
one of several compatibility functions.

Open Opens a property set contained in the property set storage


object.

OpenStorage Opens an existing storage object with the specified name in


the specified access mode.

OpenStream Opens an existing stream object within this storage object in


the specified access mode.

PropStgNameToFmtId Converts a property set storage or stream name to its format


identifier.

PropVariantClear Frees all elements that can be freed in a given PROPVARIANT


structure.

PropVariantCopy The PropVariantCopy function copies the contents of one


PROPVARIANT structure to another.

PropVariantInit The PropVariantInit function initializes a PROPVARIANT


structure.Note This function is implemented as a macro,
available by including the provided ole2.h header file.

Read Reads a specified number of bytes from the stream object into
memory, starting at the current seek pointer.

ReadAt The ReadAt method reads a specified number of bytes starting


at a specified offset from the beginning of the byte array
object.

ReadClassStg The ReadClassStg function reads the CLSID previously written


to a storage object with the WriteClassStg function.

ReadClassStm Reads the CLSID previously written to a stream object with the
WriteClassStm function.

ReadFmtUserTypeStg The ReadFmtUserTypeStg function returns the clipboard


format and user type previously saved with the
WriteFmtUserTypeStg function.

ReadMultiple Reads specified properties from the current property set.


T IT L E DESC RIP T IO N

ReadMultiple Reads specified properties from the current property set.

ReadPropertyNames Retrieves any existing string names for the specified property
IDs.

ReadPropertyNames Retrieves any existing string names for the specified property
IDs.

ReLayoutDocfile The ReLayoutDocfile method rewrites the compound file, using


the layout script obtained through monitoring, or provided
through explicit layout scripting, to create a new compound
file.

ReLayoutDocfileOnILockBytes Is not implemented. If called, it returns


STG_E_UNIMPLEMENTEDFUNCTION.

ReleaseWriteAccess The ReleaseWriteAccess method releases the write lock


previously obtained.

RenameElement The RenameElement method renames the specified


substorage or stream in this storage object.

Reset Resets the enumeration sequence to the beginning of the


STATSTG structure array.

Reset Resets the enumeration sequence to the beginning of the


STATPROPSETSTG structure array.

Reset Resets the enumeration sequence to the beginning of the


STATPROPSTG structure array.

Reset Resets the enumeration sequence to the beginning of the


STATPROPSETSTG structure array.

Reset Resets the enumeration sequence to the beginning of the


STATPROPSTG structure array.

Revert The Revert method discards all changes that have been made
to the storage object since the last commit operation.

Revert The Revert method discards all changes that have been made
to a transacted stream since the last IStream::Commit call. On
streams open in direct mode and streams using the COM
compound file implementation of IStream::Revert, this method
has no effect.

Revert The Revert method discards all changes to the named


property set since it was last opened or discards changes that
were last committed to the property set. This method has no
effect on a direct-mode property set.

Revert The Revert method discards all changes to the named


property set since it was last opened or discards changes that
were last committed to the property set. This method has no
effect on a direct-mode property set.
T IT L E DESC RIP T IO N

Seek Changes the seek pointer to a new location. The new location
is relative to either the beginning of the stream, the end of the
stream, or the current seek pointer.

SetClass The SetClass method assigns the specified class identifier


(CLSID) to this storage object.

SetClass The SetClass method assigns a new CLSID to the current


property storage object, and persistently stores the CLSID
with the object.

SetClass The SetClass method assigns a new CLSID to the current


property storage object, and persistently stores the CLSID
with the object.

SetConvertStg The SetConvertStg function sets the convert bit in a storage


object to indicate that the object is to be converted to a new
class when it is opened. The setting can be retrieved with a call
to the GetConvertStg function.

SetElementTimes The SetElementTimes method sets the modification, access,


and creation times of the specified storage element, if the
underlying file system supports this method.

SetFillSize The SetFillSize method sets the expected size of the byte array.

SetSize The SetSize method changes the size of the byte array.

SetSize Changes the size of the stream object.

SetStateBits The SetStateBits method stores up to 32 bits of state


information in this storage object.

SetTimes The SetTimes method sets the modification, access, and


creation times of this property set, if supported by the
implementation. Not all implementations support all these
time values.

SetTimes The SetTimes method sets the modification, access, and


creation times of this property set, if supported by the
implementation. Not all implementations support all these
time values.

Skip Skips a specified number of STATSTG structures in the


enumeration sequence.

Skip Skips a specified number of STATPROPSETSTG structures in the


enumeration sequence.
T IT L E DESC RIP T IO N

Skip Skips the specified number of STATPROPSTG structures in the


enumeration sequence.

Skip Skips a specified number of STATPROPSETSTG structures in the


enumeration sequence.

Skip Skips the specified number of STATPROPSTG structures in the


enumeration sequence.

Stat The Stat method retrieves a STATSTG structure containing


information for this byte array object.

Stat The Stat method retrieves the STATSTG structure for this open
storage object.

Stat The Stat method retrieves the STATSTG structure for this
stream.

Stat The Stat method retrieves information about the current open
property set.

Stat The Stat method retrieves information about the current open
property set.

StgConvertPropertyToVariant Converts a SERIALIZEDPROPERTYVALUE data type to a


PROPVARIANT data type.

StgConvertVariantToProperty Converts a PROPVARIANT data type to a


SERIALIZEDPROPERTYVALUE data type.

StgCreateDocfile Creates a new compound file storage object using the COM-
provided compound file implementation for the IStorage
interface.

StgCreateDocfileOnILockBytes Creates and opens a new compound file storage object on top
of a byte-array object provided by the caller.

StgCreatePropSetStg Creates a property set storage object from a specified storage


object.

StgCreatePropStg Creates and opens a property set in a specified storage or


stream object.

StgCreateStorageEx Creates a new storage object using a provided


implementation for the IStorage or IPropertySetStorage
interfaces.

StgDeserializePropVariant The StgDeserializePropVariant function converts a


SERIALIZEDPROPERTYVALUE data type to a PROPVARIANT
data type.

StgGetIFillLockBytesOnFile Opens a wrapper object on a temporary file.


T IT L E DESC RIP T IO N

StgGetIFillLockBytesOnILockBytes Creates a new wrapper object on a byte array object provided


by the caller.

StgIsStorageFile The StgIsStorageFile function indicates whether a particular


disk file contains a storage object.

StgIsStorageILockBytes The StgIsStorageILockBytes function indicates whether the


specified byte array contains a storage object.

StgOpenAsyncDocfileOnIFillLockBytes Opens an existing root asynchronous storage object on a


byte-array wrapper object provided by the caller.

StgOpenLayoutDocfile Opens a compound file on an ILockBytes implementation that


is capable of monitoring sector data.

StgOpenPropStg Opens a specified property set in a specified storage or stream


object.

StgOpenStorage Opens an existing root storage object in the file system.

StgOpenStorageEx Opens an existing root storage object in the file system. Use
this function to open Compound Files and regular files.

StgOpenStorageOnILockBytes The StgOpenStorageOnILockBytes function opens an existing


storage object that does not reside in a disk file, but instead
has an underlying byte array provided by the caller.

StgPropertyLengthAsVariant The StgPropertyLengthAsVariant function examines a


SERIALIZEDPROPERTYVALUE and returns the amount of
memory that this property would occupy as a PROPVARIANT.

StgSerializePropVariant The StgSerializePropVariant function converts a PROPVARIANT


data type to a SERIALIZEDPROPERTYVALUE data type.

StgSetTimes The StgSetTimes function sets the creation, access, and


modification times of the indicated file, if supported by the
underlying file system.

SwitchToFile The SwitchToFile method copies the current file associated with
the storage object to a new file.

Terminate The Terminate method informs the byte array that the
download has been terminated, either successfully or
unsuccessfully.

UnlockRegion The UnlockRegion method removes the access restriction on a


previously locked range of bytes.

UnlockRegion The UnlockRegion method removes the access restriction on a


range of bytes previously restricted with IStream::LockRegion.

WaitForWriteAccess The WaitForWriteAccess method obtains exclusive write access


to a storage object.
T IT L E DESC RIP T IO N

Write Writes a specified number of bytes into the stream object


starting at the current seek pointer.

WriteAt The WriteAt method writes the specified number of bytes


starting at a specified offset from the beginning of the byte
array.

WriteClassStg The WriteClassStg function stores the specified class identifier


(CLSID) in a storage object.

WriteClassStm The WriteClassStm function stores the specified CLSID in the


stream.

WriteFmtUserTypeStg The WriteFmtUserTypeStg function writes a clipboard format


and user type to the storage object.

WriteMultiple Writes a specified group of properties to the current property


set.

WriteMultiple Writes a specified group of properties to the current property


set.

WritePropertyNames Assigns string IPropertyStoragenames to a specified array of


property IDs in the current property set.

WritePropertyNames Assigns string IPropertyStoragenames to a specified array of


property IDs in the current property set.

Interfaces
T IT L E DESC RIP T IO N

IDirectWriterLock The IDirectWriterLock interface enables a single writer to


obtain exclusive write access to a root storage object opened
in direct mode while allowing concurrent access by multiple
readers.

IEnumSTATPROPSETSTG Iterates through an array of STATPROPSETSTG structures. The


STATPROPSETSTG structures contain statistical data about the
property sets managed by the current IPropertySetStorage
instance.

IEnumSTATPROPSETSTG Iterates through an array of STATPROPSETSTG structures. The


STATPROPSETSTG structures contain statistical data about the
property sets managed by the current IPropertySetStorage
instance.

IEnumSTATPROPSTG Iterates through an array of STATPROPSTG structures. The


STATPROPSTG structures contain statistical data about
properties in a property set.

IEnumSTATPROPSTG Iterates through an array of STATPROPSTG structures. The


STATPROPSTG structures contain statistical data about
properties in a property set.
T IT L E DESC RIP T IO N

IEnumSTATSTG Enumerates an array of STATSTG structures.

IFillLockBytes The IFillLockBytes interface enables downloading code to write


data asynchronously to a structured storage byte array.

ILayoutStorage The ILayoutStorage interface enables an application to


optimize the layout of its compound files for efficient
downloading across a slow link.

ILockBytes The ILockBytes interface is implemented on a byte array object


that is backed by some physical storage, such as a disk file,
global memory, or a database.

IPropertySetStorage The IPropertySetStorage interface creates, opens, deletes, and


enumerates property set storages that support instances of
the IPropertyStorage interface.

IPropertyStorage The IPropertyStorage interface manages the persistent


properties of a single property set.

IPropertyStorage The IPropertyStorage interface manages the persistent


properties of a single property set.

IRootStorage The IRootStorage interface contains a single method that


switches a storage object to a different underlying file and
saves the storage object to that file.

ISequentialStream The ISequentialStream interface supports simplified sequential


access to stream objects. The IStream interface inherits its
Read and Write methods from ISequentialStream.

IStorage The IStorage interface supports the creation and management


of structured storage objects.

IStream The IStream interface lets you read and write data to stream
objects.

Structures
T IT L E DESC RIP T IO N

PROPSPEC The PROPSPEC structure is used by many of the methods of


IPropertyStorage to specify a property either by its property
identifier (ID) or the associated string name.

PROPSPEC The PROPSPEC structure is used by many of the methods of


IPropertyStorage to specify a property either by its property
identifier (ID) or the associated string name.

PROPVARIANT Used in the ReadMultiple and WriteMultiple methods of


IPropertyStorage to define the type tag and the value of a
property in a property set.
T IT L E DESC RIP T IO N

PROPVARIANT Used in the ReadMultiple and WriteMultiple methods of


IPropertyStorage to define the type tag and the value of a
property in a property set.

RemSNB The RemSNB structure is used for marshaling the SNB data
type.Defined in the IStorage interface (Storag.idl).

STATPROPSETSTG The STATPROPSETSTG structure contains information about a


property set.

STATPROPSETSTG The STATPROPSETSTG structure contains information about a


property set.

STATPROPSTG Contains data about a single property in a property set. This


data is the property ID and type tag, and the optional string
name that may be associated with the property.

STATPROPSTG Contains data about a single property in a property set. This


data is the property ID and type tag, and the optional string
name that may be associated with the property.

STATSTG Contains statistical data about an open storage, stream, or


byte-array object.

STGOPTIONS Specifies features of the storage object, such as sector size, in


the StgCreateStorageEx and StgOpenStorageEx functions.

StorageLayout Describes a single block of data, including its name, location,


and length.
System Event Notification Service
2/7/2020 • 2 minutes to read • Edit Online

Overview of the System Event Notification Service technology.


To develop System Event Notification Service, you need these headers:
sensapi.h
sensevts.h
For programming guidance for this technology, see:
System Event Notification Service

Functions
T IT L E DESC RIP T IO N

BatteryLow The BatteryLow method notifies an application that battery


power is low. SENS calls the BatteryLow method to notify an
application that a computer is using battery power.

ConnectionLost The ConnectionLost method notifies your application that the


specified connection has been dropped.

ConnectionMade The ConnectionMade method notifies your application that


the specified connection has been established.

ConnectionMadeNoQOCInfo The ConnectionMadeNoQOCInfo method notifies your


application that the specified connection has been established
with no Quality of Connection information available.

DisplayLock The DisplayLock method notifies an application that the screen


display is locked.

DisplayUnlock The DisplayUnLock method notifies an application that the


screen display is unlocked.

IsDestinationReachableA The IsDestinationReachable function determines whether or


not a specified destination can be reached, and provides
Quality of Connection (QOC) information for a destination.

IsDestinationReachableW The IsDestinationReachable function determines whether or


not a specified destination can be reached, and provides
Quality of Connection (QOC) information for a destination.

IsNetworkAlive The IsNetworkAlive function determines whether or not a local


system is connected to a network, and identifies the type of
network connection, for example, a LAN, WAN, or both.

Logoff The Logoff method notifies an application that a user is logged


off.
T IT L E DESC RIP T IO N

Logoff The Logoff method notifies an application that a user is logged


off.

Logon The Logon method notifies an application that a user is logged


on.

Logon The Logon method notifies an application that a user is logged


on.

OnACPower SENS calls the OnACPower method to notify your application


that the computer is using AC power.

OnBatteryPower SENS calls the OnBatteryPower method to notify an


application that a computer is using battery power.

PostShell Use the PostShell method when a user has logged on and
Windows Explorer is running. This method is different from the
Logon method because Logon is called after logon when the
Shell may not yet be running.

SessionDisconnect The SessionDisconnect method is used to disconnect from a


Fast User Switching session or a Remote Desktop Connection.
This is different from logging off from a session, because when
you use this method the session is disconnected.

SessionReconnect The session was reconnected. The SessionReconnect method is


used when you reconnect to a Fast User Switching session or a
Remote Desktop Connection. This is different from logging on
to a new session.

StartScreenSaver The StartScreenSaver method notifies an application that a


screen saver is started.

StartShell The StartShell method notifies an application that the shell is


started.

StopScreenSaver The StopScreenSaver method notifies an application that a


screen saver is stopped.

Interfaces
T IT L E DESC RIP T IO N

ISensLogon The ISensLogon interface handles logon events fired by SENS.

ISensLogon2 The ISensLogon2 interface handles logon events fired by SENS.

ISensNetwork The ISensNetwork interface handles network events fired by


the System Event Notification Service (SENS).

ISensOnNow The ISensOnNow interface handles AC and battery power


events fired by the System Event Notification Service (SENS).
Structures
T IT L E DESC RIP T IO N

QOCINFO The QOCINFO structure is returned by the


IsDestinationReachable function and provides Quality of
Connection information to the caller.

SENS_QOCINFO The SENS_QOCINFO structure is used by the


ISensNetwork::ConnectionMade method. This structure
contains Quality of Connection information to the sink object
in an application that subscribes to SENS.
System Monitor
2/7/2020 • 2 minutes to read • Edit Online

Overview of the System Monitor technology.


To develop System Monitor, you need these headers:
isysmon.h
For programming guidance for this technology, see:
System Monitor

Enumerations
T IT L E DESC RIP T IO N

DataSourceTypeConstants Determines the source of the performance counter data.

DisplayTypeConstants Determines how the performance counter data is graphed, for


example, as a line graph or a histogram.

ReportValueTypeConstants Determines if the Histogram and Report views graph the last
value sampled or a calculated value using values from the
sampling period, such as the average or minimum value.

SysmonBatchReason Defines the reason for locking the System Monitor.

SysmonDataType Determines the type of data to return from a given data point
on the graph.

SysmonFileType Determines the format in which the counter data is saved to a


file.
System Restore
2/7/2020 • 2 minutes to read • Edit Online

Overview of the System Restore technology.


To develop System Restore, you need these headers:
srrestoreptapi.h
For programming guidance for this technology, see:
System Restore

Functions
T IT L E DESC RIP T IO N

SRRemoveRestorePoint Deletes the specified restore point.

SRSetRestorePointA Specifies the beginning and the ending of a set of changes so


that System Restore can create a restore point.

SRSetRestorePointW Specifies the beginning and the ending of a set of changes so


that System Restore can create a restore point.

Structures
T IT L E DESC RIP T IO N

RESTOREPOINTINFOA Contains information used by the SRSetRestorePoint function.

RESTOREPOINTINFOW Contains information used by the SRSetRestorePoint function.

STATEMGRSTATUS Contains status information used by the SRSetRestorePoint


function.
System Services
2/7/2020 • 2 minutes to read • Edit Online

Overview of the System Services technology.


To develop System Services, you need these headers:
atlthunk.h
avrt.h
dbghelp.h
dbt.h
debugapi.h
dispatcherqueue.h
enclaveapi.h
errhandlingapi.h
fibersapi.h
handleapi.h
heapapi.h
imagehlp.h
interlockedapi.h
ioapiset.h
jobapi.h
jobapi2.h
libloaderapi.h
libloaderapi2.h
mcx.h
memoryapi.h
minidumpapiset.h
minwinbase.h
namedpipeapi.h
namespaceapi.h
ntenclv.h
powerbase.h
powersetting.h
powrprof.h
processenv.h
processthreadsapi.h
processtopologyapi.h
profileapi.h
pwm.h
realtimeapiset.h
rtworkq.h
secext.h
storprop.h
synchapi.h
sysinfoapi.h
systemtopologyapi.h
threadpoolapiset.h
threadpoollegacyapiset.h
timeprov.h
timezoneapi.h
utilapiset.h
vds.h
vdshwprv.h
vdslun.h
versionhelpers.h
vsadmin.h
vsbackup.h
vsmgmt.h
vsprov.h
vss.h
vswriter.h
waasapi.h
waasapitypes.h
wct.h
windowsceip.h
winenclaveapi.h
winioctl.h
winternl.h
For programming guidance for this technology, see:
Error Handling
Debug Help Library
Communications Resources
Dynamic-Link Libraries
Event Logging
Interprocess Communications
Memory Management
Power Management
Processes and Threads
Services
System Shutdown
Synchronization
Windows System Information
Virtual Disk Service
VDS Reference
Volume Shadow Copy Service
Tablet PC
2/7/2020 • 65 minutes to read • Edit Online

Overview of the Tablet PC technology.


To develop Tablet PC, you need these headers:
inked.h
micaut.h
msinkaut.h
msinkaut15.h
peninputpanel.h
recapis.h
rectypes.h
rtscom.h
tabflicks.h
tpcshrd.h
For programming guidance for this technology, see:
Mobile PC
Tablet PC

Enumerations
T IT L E DESC RIP T IO N

ALT_BREAKS Specifiers how to create alternates from a best result string.

AppearanceConstants Specifies how an InkEdit control appears on the screen.

BorderStyleConstants Specifies how the borders of an InkEdit control appear on the


screen.

CONFIDENCE_LEVEL Indicates the level of confidence the recognizer has in the


recognition result.

CorrectionMode Specifies the correction modes of the Tablet PC Input Panel.

CorrectionPosition Specifies the direction, relative to Input Panel, that the post
insertion correction comb displays.

EventMask The events on the ITextInputPanel Interface that you can set
attention for.

FLICKACTION_COMMANDCODE Defines the possible flick actions that can be assigned to a


pen flick.

FLICKDIRECTION Defines the directions in which a pen flick has occurred.


T IT L E DESC RIP T IO N

FLICKMODE Describes where Flick gestures are enabled.

InkApplicationGesture Defines values that set the interest in a set of application-


specific gesture.Application gestures are gestures that you can
choose to have your application support.

InkBoundingBoxMode Specifies which characteristics of a stroke, such as drawing


attributes, are used to calculate the bounding box of the
ink.The bounding box is the smallest rectangle that includes
all points in the InkDisp object.

InkClipboardFormats Specifies the format of ink that is stored on the Clipboard.

InkClipboardModes Specifies the copy options of the Clipboard.

InkCollectionMode Defines values that determine whether ink, gestures, or ink


and gestures are recognized as the user writes.

InkCollectorEventInterest Defines values that are used to specify whether an event


occurred on an ink collector and, if so, which event fired.

InkCursorButtonState Defines values that specify the state of a cursor button.

InkDisplayMode Specifies how a selection appears on the control.

InkDivisionType Defines values for the structural types within the


IInkDivisionResult object.

InkEditStatus Specifies whether the InkEdit control is idle, collecting ink, or


recognizing ink.

InkExtractFlags Determines how a stroke is removed from an InkDisp object.

InkInsertMode Specifies how ink is inserted onto the InkEdit control.

InkMode Specifies the collection mode for drawn ink-whether ink


collection is disabled, ink is collected, or ink and gestures are
collected.

InkMouseButton Specifies which mouse button was pressed.

InkMousePointer Specifies the type of mouse pointer to appear.

InkOverlayAttachMode Specifies where to attach the new InkOverlay object, behind


or in front of the active layer.

InkOverlayEditingMode Specifies the behavior mode of the InkOverlay object and the
InkPicture control.

InkOverlayEraserMode Specifies the way in which ink is erased from the InkOverlay
object and the InkPicture control.This mode is used when the
InkOverlayEditingMode is set to Delete.
T IT L E DESC RIP T IO N

InkPenTip Specifies the pen-tip shape.

InkPersistenceCompressionMode Defines values for the compression modes that are used to
save the InkDisp object to a serialized format.

InkPersistenceFormat Specifies how ink is persisted.

InkPictureSizeMode Specifies how the picture behaves inside the InkPicture


control.

InkRasterOperation Defines values for performing raster operations on drawn ink.

InkRecognitionAlternatesSelection Not implemented.

InkRecognitionConfidence Indicates the level of confidence that the recognizer has in the
recognition result.

InkRecognitionModes Specifies how the recognizer interprets the ink and determines
the result string.

InkRecognitionStatus Specifies whether an error occurred during recognition and, if


so, which error occurred.

InkRecognizerCapabilities Specifies the attributes of a recognizer. You also use this


enumeration to determine which attributes to use when you
search for an installed recognizer.

InkRecognizerCharacterAutoCompletionMode Specifies types of character input modes.

InkSelectionConstants Specifies whether the first element or all elements within a


group of points or packet values are used.

InkShiftKeyModifierFlags Specifies which modifier key was pressed.

InkSystemGesture Specifies the interest in a set of operating system-specific


gestures.

InPlaceDirection Specifies the preferred direction of the In-Place Input Panel


relative to the text entry field.

InPlaceState Specifies the In-Place state values of the Tablet PC Input Panel.

InteractionMode Specifies the interaction modes that can be chosen by the


user for the Tablet PC Input Panel.

KEYMODIFIER Determines which, if any, modifier keys were pressed when


the flick gesture occurred.

LINE_METRICS Represents the lines found in a recognition segment.

MICUIELEMENT Specifies the user interface (UI) elements of a math input


control (MIC).
T IT L E DESC RIP T IO N

MICUIELEMENTSTATE Specifies the button states of a math input control (MIC).

MouseButton Specifies which mouse button was pressed.

PanelInputArea Specifies the values that represent the default input areas of
the Tablet PC Input Panel.

PanelType Defines the type of input currently available in the


PenInputPanel object.

PROPERTY_UNITS Defines constant values for the unit of measurement of a


property.

RealTimeStylusDataInterest Defines the values used by plug-ins to specify which event


notifications the plug-ins receive.

RealTimeStylusLockType Specifies the locks within the RealTimeStylus Class object that
protect the RealTimeStylus Class object's members and
properties from modification.

ScrollBarsConstants Specifies how the scroll bars of an InkEdit control appear on


the screen.

SCROLLDIRECTION Defines the direction of the scrolling command for a pen flick.

SelAlignmentConstants Specifies the alignment of the paragraph relative to the


margins of the InkEdit control.

SelectionHitResult Specifies which part of a selection, if any, was hit during a hit
test.

StylusQueue Specifies the queue to which stylus data is added.

TabletHardwareCapabilities Specifies the hardware capabilities of the Tablet PC.

TabletPropertyMetricUnit Indicates the unit of measurement of a property.

Functions
T IT L E DESC RIP T IO N

AcquireLock Retrieves the specified lock.

Add Adds an InkStrokes collection to an IInkCustomStrokes


collection.

Add Creates and adds an IInkExtendedProperty object to the


IInkExtendedProperties collection.

Add Adds an IInkStrokeDisp object or InkStrokes collection to an


existing InkStrokes collection.
T IT L E DESC RIP T IO N

AddCustomStylusDataToQueue Adds custom data to the specified queue of the


RealTimeStylus Class object.

AddFunctionName Adds a new function-name definition to the list of custom


math functions that the recognizer accepts.

AddStroke Adds an ink stroke to the RecognizerContext.

AddStrokes Adds a Strokes collection to an existing Strokes collection.

AddStrokesAtRectangle Adds a specified Strokes collection into this InkDisp object at a


specified rectangle.

AddStylusAsyncPlugin Adds an IStylusAsyncPlugin to the asynchronous plug-in


collection at the specified index.

AddStylusSyncPlugin Adds an IStylusSyncPlugin to the synchronous plug-in


collection at the specified index.

AddWord Adds a single word to the InkWordList object.

AddWords Adds more than one word to an InkWordList in a single


operation.

AddWordsToWordList Adds one or more words to the word list.

Advise Establishes an advisory connection between the Tablet PC


Input Panel and the specified sink object.

AdviseInkChange Stops the recognizer from processing ink because a stroke has
been added or deleted.

AlternatesWithConstantPropertyValues Retrieves a IInkRecognitionAlternates collection, which are a


division of the IInkRecognitionAlternate object on which this
method is called.

AppendPackets Adds a packet to the end of the digitizer input packet list.

BackgroundRecognize Causes the IInkRecognizer object to recognize the associated


strokes collection and fire a Recognition event when
recognition is complete.

BackgroundRecognizeWithAlternates Causes the IInkRecognizer object to recognize the associated


strokes collection and fire a RecognitionWithAlternates event
when recognition is complete.

BeginStroke Begins a stroke on an ink object by using packet data from a


RealTimeStylus Class object.

CanPaste Indicates whether the IDataObject can be converted to an


InkDisp object.
T IT L E DESC RIP T IO N

Clear Clears all InkStrokes collections from the IInkCustomStrokes


collection.

Clear Clears all of the IInkExtendedProperty objects from the


IInkExtendedProperties collection.

Clear Clears all ink from the control.

ClearStylusQueues Clears the RealTimeStylus Class input and output queues of


data.

Clip Removes portions of an IInkStrokeDisp object or InkStrokes


collection that are outside a rectangle.

Clip Removes portions of an IInkStrokeDisp object or InkStrokes


collection that are outside a rectangle.

Clip Removes portions of an IInkStrokeDisp object or InkStrokes


collection that are outside a rectangle.

ClipboardCopy Copies the InkStrokes collection to the Clipboard.

ClipboardCopyWithRectangle Copies the IInkStrokeDisp objects that are contained within


the known rectangle to the Clipboard.

ClipboardPaste Copies the IDataObject from the Clipboard to the InkDisp


object.

Clone Creates a duplicate InkDisp object.

Clone Creates a duplicate InkDrawingAttributes object.

Clone Creates a duplicate InkRecognizerContext object.

CloneContext Creates a recognizer context that contains the same settings


as the original. The new recognizer context does not include
the ink or recognition results of the original.

CommitPendingInput Deprecated. The PenInputPanel has been replaced by the Text


Input Panel (TIP).Sends collected ink to the recognizer and
posts the recognition result.

CommitPendingInput Sends collected ink to the recognizer and posts the


recognition result.

CorrectionModeChanged Occurs when the correction comb on the Tablet PC Input


Panel has changed modes.

CorrectionModeChanging Occurs when the correction comb on the Tablet PC Input


Panel is about to change modes.

CreateContext Creates a recognizer context.


T IT L E DESC RIP T IO N

CreateRecognizer Creates a recognizer.

CreateRecognizerContext Creates a new InkRecognizerContext object.

CreateStroke Creates an IInkStrokeDisp object from an array of packet data


input values.

CreateStroke Creates strokes on an ink object by using packet data that


came from a RealTimeStylus Class object.

CreateStrokes Creates a new InkStrokes collection from existing


IInkStrokeDisp objects.

CustomStylusDataAdded Notifies the implementing plug-in that custom stylus data is


available.

DataInterest Retrieves the events for which the plug-in is to receive


notifications.

DeleteStroke Deletes a IInkStrokeDisp object from the InkDisp object.

DeleteStrokes Deletes an InkStrokes collection from the Strokes collection of


the InkDisp object.

DestroyAlternate This function is obsolete and need not be implemented by


custom application recognizers.

DestroyContext Destroys a recognizer context.

DestroyRecognizer Destroys a recognizer.

DestroyWordList Destroys the current word list.

Divide Returns a IInkDivisionResult object that contains the results of


the layout analysis of strokes in the InkDivider object.

DoesPropertyExist Retrieves a value that indicates whether an


IInkExtendedProperty object exists within an
IInkExtendedProperties collection.

Draw Sets a rectangle in which to redraw the ink within the


InkOverlay object.

Draw Draws ink strokes using the known device context.

Draw Draws the cached data to the specified device context.

DrawStroke Draws the IInkStrokeDisp object using the known device


context, and optionally draws the IInkStrokeDisp object with
the known InkDrawingAttributes object.

EnableAutoGrow Determines whether the control automatically grows when


input is entered beyond the control's current range.
T IT L E DESC RIP T IO N

EnableExtendedButtons Determines whether the extended set of control buttons is


shown.

EnableGestures Sets a value that indicates to which application gestures the


GestureRecognizer Class object responds.

EnableTsf Deprecated. Gets or sets a Boolean value that indicates


whether the PenInputPanel object attempts to send text to
the attached control through the Text Services Framework
(TSF) and enables the use of the correction user interface.

EndInkInput EndInkInput is no longer available for use for recognizers of


western languages as of Windows Vista.

EndInkInput Indicates that no more ink will be added to the context.You


cannot add strokes to the context after calling this function.

EndStroke Ends a stroke and returns the stroke object.

Error Notifies the implementing object that this plug-in or one of


the previous plug-ins in either the IStylusAsyncPlugin or
IStylusSyncPlugin collection threw an exception.

ExtractStrokes Specifies the strokes to extract from an InkDisp Class and cut
or copy into a new InkDisp Class, by using the known
collection of strokes to determine which strokes to extract.

ExtractWithRectangle Cuts or copies strokes from an existing InkDisp object and


pastes them into a new InkDisp object, by using the known
rectangle to determine which strokes to extract.

FindIntersections Retrieves the points where this IInkStrokeDisp object


intersects other IInkStrokeDisp objects within a known
InkStrokes collection.

get_AntiAliased Gets or sets the value that indicates whether a stroke is


antialiased.

get_Appearance Gets or sets a value that determines the appearance of the


InkEdit control - whether it is flat (painted with no visual
effects) or 3D (painted with three-dimensional effects).

get_Ascender Gets the ascender line for a IInkRecognitionAlternate object


that represents a single line of text.

get_AttachedEditWindow Deprecated. The PenInputPanel has been replaced by the Text


Input Panel (TIP).Sets or gets the window handle of the object
that the PenInputPanel object is attached to.

get_AttachedEditWindow Gets or sets the window handle of the object to which the
ITextInputPanel object is attached.

get_AttachMode Gets or sets the value that specifies whether the InkOverlay
object is attached behind or in front of the known window.
T IT L E DESC RIP T IO N

get_AutoRedraw Gets or sets a value that specifies whether an ink collector


repaints the ink when the window is invalidated.

get_AutoRedraw Gets or sets a value that specifies whether an ink collector


repaints the ink when the window is invalidated.

get_AutoRedraw Gets or sets a value that specifies whether an ink collectcor


repaints the ink when the window is invalidated.

get_AutoShow Deprecated. The PenInputPanel has been replaced by the Text


Input Panel (TIP).Gets or sets a value that indicates whether
the pen input panel appears when focus is set on the
attached control by using the pen.

get_BackColor Gets or sets the background color for the InkPicture control.

get_BackColor Gets or sets the background color for the InkEdit control.

get_Baseline Gets the baseline for a IInkRecognitionAlternate object that


represents a single line of text.

get_BezierCusps Gets an array that contains the indices of the cusps of the
Bezier approximation of the stroke.

get_BezierPoints Gets the array of control points that represent the Bezier
approximation of the stroke.

get_BorderStyle Gets or sets a value that determines whether the InkEdit


control has a border.

get_Bottom Gets or sets the bottom position of the InkRectangle object.

get_Busy Deprecated. The PenInputPanel has been replaced by the Text


Input Panel (TIP).Gets a a value that indicates whether the
PenInputPanel object is currently processing ink.

get_Buttons Gets the IInkCursorButtons collection that is available on an


IInkCursor.

get_Capabilities Gets the capabilities of the IInkRecognizer object.

get_CharacterAutoCompletionMode Gets or sets the character Autocomplete mode, which


determines when characters or words are recognized.

get_ChildRealTimeStylusPlugin Gets or sets a RealTimeStylus object as an asynchronous plug-


in of the current RealTimeStylus object.

get_ClipRectangle Gets or sets the clipping rectangle for the DynamicRenderer


Class object.

get_ClipRegion Gets or sets the clipping region for the DynamicRenderer


Class object.
T IT L E DESC RIP T IO N

get_CollectingInk Gets a value that specifies whether ink is currently being


drawn on an ink collector (InkCollector, InkOverlay, or
InkPicture).

get_CollectingInk Gets a value that specifies whether ink is currently being


drawn on an ink collector (InkCollector, InkOverlay, or
InkPicture).

get_CollectingInk Gets a value that specifies whether ink is currently being


drawn on an ink collector (InkCollector, InkOverlay, or
InkPicture).

get_CollectionMode Gets or sets the collection mode that determines whether ink,
gesture, or both are recognized as the user writes.

get_CollectionMode Gets or sets the collection mode that determines whether ink,
gesture, or both are recognized as the user writes.

get_CollectionMode Gets or sets the collection mode that determines whether ink,
gestures, or both are recognized as the user writes.

get_Color Gets or sets the color of the ink that is drawn with this
InkDrawingAttributes object.

get_Columns Gets or sets the number of columns in the recognition guide


box.

get_Confidence Gets the level of confidence (strong, intermediate, or poor)


that a recognizer has in the recognition of an
IInkRecognitionAlternate object or a gesture.

get_Confidence Gets the level of confidence (strong, intermediate, or poor)


that a recognizer has in the recognition of an
IInkRecognitionAlternate object or a gesture.

get_ConfidenceAlternates Gets the collection of alternates in which each alternate in the


collection consists of the segments with the same property
values.

get_Count Gets the number of objects or collections contained in a


collection.

get_Count Gets the number of objects or collections contained in a


collection.

get_Count Gets the number of objects or collections contained in a


collection.

get_Count Gets the number of objects or collections contained in a


collection.

get_Count Gets the number of objects or collections contained in a


collection.
T IT L E DESC RIP T IO N

get_Count Gets the number of objects or collections contained in a


collection.

get_Count Gets the number of objects or collections contained in a


collection.

get_Count Gets the number of objects or collections contained in a


collection.

get_Count Gets the number of objects or collections contained in a


collection.

get_CurrentCorrectionMode Gets the current correction comb mode as specified by the


CorrectionMode Enumeration.

get_CurrentInPlaceState Gets the current in-place state as specified by the InPlaceState


Enumeration.

get_CurrentInputArea Gets the current input area as specified by the PanelInputArea


Enumeration.

get_CurrentInteractionMode Gets the positioning of the Tablet PC Input Panel as specified


by the InteractionMode Enumeration.

get_CurrentPanel Deprecated. The PenInputPanel has been replaced by the Text


Input Panel (TIP).Gets or sets which panel type is currently
being used for input within the PenInputPanel object.

get_Cursors Gets the collection of cursors that are available for use in the
inking region. Each cursor corresponds to the tip of a pen or
other ink input device.

get_Cursors Gets the collection of cursors that are available for use in the
inking region. Each cursor corresponds to the tip of a pen or
other ink input device.

get_Cursors Gets the collection of cursors that are available for use in the
inking region. Each cursor corresponds to the tip of a pen or
other ink input device.

get_CustomStrokes Gets the collection of custom strokes to be persisted with the


ink.

get_Data Gets or sets the data of the extended property.

get_Data Gets or sets access to the rectangle structure (C++ only).

get_Data Gets or sets access to the XFORM structure.

get_DataCacheEnabled Gets or sets a value that indicates whether data caching is


enabled for the DynamicRenderer Class object.

get_DefaultDrawingAttributes Gets or sets the default drawing attributes to use when


drawing and displaying ink.
T IT L E DESC RIP T IO N

get_DefaultDrawingAttributes Gets or sets the default drawing attributes to use when


drawing and displaying ink.

get_DefaultDrawingAttributes Gets or sets the default drawing attributes to use when


drawing and displaying ink.

get_DefaultInPlaceState Gets or sets the default in-place state as specified by the


InPlaceState Enumeration.

get_DefaultInputArea Gets or sets the default input area as specified by the


PanelInputArea Enumeration.

get_DefaultPanel Deprecated. The PenInputPanel has been replaced by the Text


Input Panel (TIP).Gets or sets the default panel type used for
input within the PenInputPanel object.

get_DefaultTablet Gets the default tablet within the set of available tablets.

get_Deleted Gets a value that specifies whether a known stroke is deleted


from the ink.

get_Descender Gets the decender line for an IInkRecognitionAlternate object


that represents a single line of text.

get_DesiredPacketDescription Gets or sets the desired packet description of the InkCollector.

get_DesiredPacketDescription Gets or sets the desired packet description of the InkCollector.

get_DesiredPacketDescription Gets or sets the desired packet description of the InkCollector.

get_DeviceKind Gets the type of Tablet device being used.

get_Dirty Gets or sets the value that specifies whether the strokes of an
InkDisp Class object have been modified since the last time
the ink was saved.

get_DisableNoScroll Gets or sets a value that determines whether scroll bars in the
InkEdit control are disabled.

get_DivisionType Gets the type of structural unit the IInkDivisionUnit object


represents within the analysis results.

get_DrawingAttributes Gets or sets the drawing attributes to apply to ink as it is


drawn.

get_DrawingAttributes Gets or sets the drawing attributes to apply to ink as it is


drawn.

get_DrawingAttributes Gets or sets the drawing attributes for ink that is yet to be
drawn on the InkEdit control.

get_DrawingAttributes Gets or sets the DrawingAttributes object used by the


DynamicRenderer Class object.
T IT L E DESC RIP T IO N

get_DrawnBox Gets or sets the box that is physically drawn on the tablet's
screen and in which writing takes place.

get_DynamicRendering Gets or sets the value that specifies whether ink is rendered
as it is drawn.

get_DynamicRendering Gets or sets the value that specifies whether ink is rendered
as it is drawn.

get_DynamicRendering Gets or sets the value that specifies whether ink is rendered
as it is drawn.

get_EditingMode Gets or sets a value that specifies whether the object/control


is in ink mode, deletion mode, or selecting/editing mode.

get_EditingMode Gets or sets a value that specifies whether the InkPicture


control is in ink mode, deletion mode, or selecting/editing
mode.

get_eDx Gets or sets the element in the third row, first column of the
affine transform matrix that is represented by an InkTransform
object.

get_eDy Gets or sets the element in the third row, second column of
the affine transform matrix that is represented by an
InkTransform object.

get_eM11 Gets or sets the element in the first row, first column of the
affine transform matrix that is represented by an InkTransform
object.

get_eM12 Gets or sets the element in the first row, second column of
the affine transform matrix that is represented by an
InkTransform object.

get_eM21 Gets or sets the element in the second row, first column of
the affine transform matrix that is represented by an
InkTransform object.

get_eM22 Gets or sets the element in the second row, second column of
the affine transform matrix that is represented by an
InkTransform object.

get_Enabled Gets or sets a value that specifies whether the InkCollector


object collects pen input (in-air packets, cursor in range
events, and so on).

get_Enabled Gets or sets a value that specifies whether the InkOverlay


object collects pen input (in-air packets, cursor in range
events, and so on).

get_Enabled Gets or sets a value that determines whether the InkPicture


control can respond to user-generated events.
T IT L E DESC RIP T IO N

get_Enabled Gets or sets a value that determines whether the InkEdit


control can respond to user-generated events.

get_Enabled Gets or sets a value that turns dynamic rendering on and off.

get_Enabled Gets or sets a value that indicates whether gesture


recognition is enabled.

get_Enabled Gets or sets a value that specifies whether the RealTimeStylus


object collects tablet pen data.

get_EnabledUnicodeRanges Gets or sets a set of one or more Unicode ranges that the
recognizer context will support.

get_EraserMode Gets or sets the value that specifies whether ink is erased by
stroke or by point.

get_EraserMode Gets or sets a value that specifies whether ink is erased by


stroke or by point.

get_EraserWidth Gets or sets the value that specifies the width of the eraser
pen tip.

get_EraserWidth Gets or sets a value that specifies the width of the eraser pen
tip.

get_ExpandPostInsertionCorrection Gets or sets a value that indicates whether the correction


comb on the Tablet PC Input Panel is automatically expanded.

get_ExtendedProperties Gets the collection of application-defined data that are stored


in an object.

get_ExtendedProperties Gets the collection of application-defined data that are stored


in an object.

get_ExtendedProperties Gets the collection of application-defined data that are stored


in an object.

get_Factoid Gets or sets the factoid that a recognizer uses to constrain its
search for the recognition result.

get_Factoid Deprecated. The PenInputPanel has been replaced by the Text


Input Panel (TIP).Gets or sets the string name of the factoid
used by the PenInputPanel object.

get_Factoid Gets or sets the Factoid constant that a IInkRecognizer object


uses to constrain its search for the recognition result.

get_FitToCurve Gets or sets the value that specifies whether Bezier smoothing
is used to render ink.

get_FlicksEnabled Returns a value indicating whether flick gestures are enabled


for the RTS.
T IT L E DESC RIP T IO N

get_Font Gets or sets a Font object.

get_Guid Gets the globally unique identifier (GUID) of the


IInkExtendedProperty object.

get_Guide Gets or sets the InkRecognizerGuide to use for ink input.

get_GuideData Gets or sets the InkRecoGuide structure that represents the


boundaries of the ink to the recognizer.

get_HardwareCapabilities Gets a bitmask that defines the hardware capabilities of the


tablet, such as whether a cursor must be in physical contact
with the tablet to report its position.

get_Height Gets or sets the height of the pen when drawing ink with the
InkDrawingAttributes object.

get_Height Deprecated. The PenInputPanel has been replaced by the Text


Input Panel (TIP).Gets the height of the pen input panel in
client coordinates.

get_HorizontalOffset Deprecated. The PenInputPanel has been replaced by the Text


Input Panel (TIP).Gets or sets the offset between the left edge
of the pen input panel and the left edge of the control to
which it is attached.

get_hWnd Gets or sets the handle value of the window on which ink is
drawn.

get_hWnd Gets or sets the handle value of the window on which ink is
drawn.

get_hWnd Gets or sets the handle value of the window on which ink is
drawn.

get_Hwnd Gets a handle to the InkEdit control.

get_HWND Gets or sets the window handle, HWND, associated with the
DynamicRenderer Class object.

get_HWND Gets or sets the handle value associated with the window the
RealTimeStylus object uses.

get_Id Gets the identifier of an object.

get_Id Gets the identifier of an object.

get_Id Gets the identifier of an object.

get_Id Retrieves the ID for the InkRecognizer.

get_ID Gets the identifier of an object.


T IT L E DESC RIP T IO N

get_IgnorePressure Gets or sets the value that specifies whether drawn ink
automatically gets wider with increased pressure of the pen
tip on the tablet surface.

get_Ink Gets or sets the InkDisp object that is associated with an


InkCollector object or an InkOverlay object.

get_Ink Gets or sets the InkDisp object that is associated with an


InkCollector object or an InkOverlay object.

get_Ink Gets or sets the InkDisp object that is associated with the
InkPicture control.

get_Ink Gets the parent InkDisp object of a stroke.

get_Ink Gets the InkDisp object that contains a collection of strokes.

get_Ink Gets or sets the ink object that is associated with the
IStrokeBuilder object.

get_InkEnabled Gets or sets a value that specifies whether the InkPicture


control collects pen input (in-air packets, cursor in range
events, and so on).

get_InkInsertMode Gets or sets a value that specifies how ink is inserted onto the
InkEdit control, either as text or as ink.

get_InkMode Gets or sets a value that specifies whether ink collection is


disabled, ink is collected, or ink and gestures are collected.

get_InPlaceBoundingRectangle Gets the bounding rectangle for Tablet PC Input Panel.

get_InPlaceVisibleOnFocus Gets or sets a value that indicates whether the Tablet PC


Input Panel is displayed automatically when the window to
which it is attached gets focus.

get_Inverted Gets a value that indicates whether the cursor is the inverted
end of the pen.

get_IsMultiTouch Gets a value that indicates whether an input device supports


multitouch.

get_Languages Gets an array of language identifiers for the languages that


the IInkRecognizer object supports.

get_Left Gets or sets the left position of the InkRectangle object.

get_Left Deprecated. The PenInputPanel has been replaced by the Text


Input Panel (TIP).Gets the horizontal, or x-axis, location of the
left edge of the PenInputPanel object, in screen coordinates.

get_LineAlternates Gets the IInkRecognitionAlternates collection in which each


alternate in the collection is on a separate line.
T IT L E DESC RIP T IO N

get_LineHeight Gets or sets the expected handwriting height, in HIMETRIC


units.

get_LineNumber Gets the line number of the ink that makes up the alternate.

get_Locked Gets or sets a value indicating whether the contents of the


InkEdit control can be edited.

get_MarginX Gets or sets the x-axis margin around the window rectangle,
in screen coordinates.This margin provides a buffer around
the edge of the ink window.

get_MarginX Gets or sets the x-axis margin around the window rectangle,
in screen coordinates.This margin provides a buffer around
the edge of the ink window.

get_MarginX Gets or sets the x-axis margin around the window rectangle,
in screen coordinates.This margin provides a buffer around
the edge of the ink window.

get_MarginY Gets or sets the y-axis margin around the window rectangle,
in screen coordinates.This margin provides a buffer around
the edge of the ink window.

get_MarginY Gets or sets the y-axis margin around the window rectangle,
in screen coordinates.This margin provides a buffer around
the edge of the ink window.

get_MarginY Gets or sets the y-axis margin around the window rectangle,
in screen coordinates.This margin provides a buffer around
the edge of the ink window.

get_MaximumCursors Gets the maximum number of cursors that a tablet device


supports.

get_MaximumInputRectangle Gets the maximum input rectangle, in tablet device


coordinates that the IInkTablet object supports.

get_MaxLength Gets or sets a value indicating whether there is a maximum


number of characters an InkEdit control can hold and, if so,
specifies the maximum number of characters.

get_MaxStrokeCount Gets or sets the maximum number of strokes allowed per


gesture recognition.

get_Midline Gets the midline for a IInkRecognitionAlternate object that


represents a single line of text.

get_Midline Gets or sets the midline height. The midline height is distance
from the baseline to the midline, of the drawn box.

get_MouseIcon Gets or sets the custom mouse icon.

get_MouseIcon Gets or sets the custom mouse icon.


T IT L E DESC RIP T IO N

get_MouseIcon Gets or sets the custom mouse icon.

get_MouseIcon Gets or sets the custom mouse icon for the InkEdit control.

get_MousePointer Gets or sets a value that indicates the type of mouse pointer
that appears.

get_MousePointer Gets or sets a value that indicates the type of mouse pointer
that appears.

get_MousePointer Gets or sets a value that indicates the type of mouse pointer
that appears.

get_MousePointer Gets or sets a value indicating the type of mouse pointer to


be displayed.

get_MultiLine Gets or sets a value indicating whether an InkEdit control can


accept and display multiple lines of text.

get_MultiTouchEnabled Indicates whether the IRealTimeStylus3 object has multitouch


input enabled.

get_Name Gets the name of the object.

get_Name Gets the name of the object.

get_Name Gets the name of the object.

get_Name Gets the name of the object.

get_PacketCount Gets the number of packets received for an IInkStrokeDisp


object.

get_PacketDescription Gets an array of globally unique identifiers (GUIDs) that


describes the types of packet data stored in the
IInkStrokeDisp object.

get_PacketSize Gets the size, in bytes, of a packet.

get_PenTip Gets or sets a value that indicates which pen tip to use when
drawing ink that is associated with this InkDrawingAttributes
object.

get_Picture Gets the graphics file to appear on the InkPicture control.

get_PlugAndPlayId Gets a string representation of the Plug and Play identifier of


the IInkTablet object.

get_PolylineCusps Gets an array that contains the indices of the cusps of the
IInkStrokeDisp object.

get_PopDownCorrectionHeight Gets the height of the Post-Insertion correction comb when it


is positioned below Input Panel.
T IT L E DESC RIP T IO N

get_PopUpCorrectionHeight Gets the height of the Post-Insertion correction comb when it


is positioned above Input Panel.

get_PreferredInPlaceDirection Gets or sets the preferred direction of the in-place Input Panel
relative to the text entry field.

get_PreferredPacketDescription Gets an array of globally unique identifiers (GUIDs) that


represents the preferred packet properties for the recognizer.

get_PrefixText Gets or sets the characters that come before the InkStrokes
collection in the InkRecognizerContext object.

get_RasterOperation Gets or sets a value that defines how the colors of the pen
and background interact.

get_RecognitionFlags Gets or sets the flags that specify how the recognizer
interprets the ink and determines the result string.

get_RecognitionResult Gets the IInkRecognitionResult object of the InkStrokes


collection.

get_RecognitionTimeout Gets or sets the length of time, in milliseconds, between the


last IInkStrokeDisp object collected and the beginning of text
recognition.

get_Recognizer Gets the IInkRecognizer object used by the


InkRecognizerContext object.

get_Recognizer Gets or sets the IInkRecognizer object to use for recognition.

get_RecognizerContext Gets or sets the InkRecognizerContext object that the


InkDivider object uses for layout analysis.

get_Renderer Gets or sets the InkRenderer object that is used to draw ink.

get_Renderer Gets or sets the InkRenderer object that is used to draw ink.

get_Renderer Gets or sets the InkRenderer object that is used to draw ink.

get_Right Gets or sets the right position of the InkRectangle object.

get_RotationTransform Gets the transformation matrix that the IInkDivisionUnit


object uses to rotate the strokes to horizontal.

get_Rows Gets or sets the number of rows in the recognition guide.

get_ScrollBars Gets or sets the type of scroll bars, if any, to display in the
InkEdit control.

get_SelAlignment Gets or sets a value that controls the alignment of the


paragraphs in an InkEdit control.
T IT L E DESC RIP T IO N

get_SelBold Gets or sets a value that specifies whether the font style of
the currently selected text in the InkEdit control is bold.

get_SelCharOffset Returns or sets a value that determines whether text in the


InkEdit control appears on the baseline (normal), as a
superscript above the baseline, or as a subscript below the
baseline.

get_SelColor Gets or sets the text color of the current text selection or
insertion point (run time only).

get_Selection Gets or sets the InkStrokes collection that is currently selected


inside the InkOverlay object or the InkPicture control.

get_Selection Gets or sets theInkStrokes collection that is currently selected


inside the InkOverlay object or the InkPicture control.

get_SelfIntersections Gets the self-intersections of the stroke.

get_SelFontName Gets or sets the font name of the selected text within the
InkEdit control (run time only).

get_SelFontSize Gets or sets the font size of the selected text within the
InkEdit control (run time only).

get_SelInks Gets or sets the array of embedded InkDisp objects (if


displayed as ink) in the current selection.

get_SelInksDisplayMode Gets or sets a value that allows for toggling the appearance of
the selection between ink and text.

get_SelItalic Gets or sets a value that specifies whether the font style of
the currently selected text in the InkEdit control is italic (run
time only).

get_SelLength Gets or sets the number of characters that are selected in the
InkEdit control (run time only).

get_SelRTF Gets or sets the currently selected Rich Text Format (RTF)
formatted text in the InkEdit control (run time only).

get_SelStart Gets or sets the starting point of the text that is selected in
the InkEdit control (run time only).

get_SelText Gets or sets the selected text within the InkEdit control (run
time only).

get_SelUnderline Gets or sets a value that specifies whether the font style of
the currently selected text in the InkEdit control is underlined
(run time only).

get_SizeMode Gets or sets how the InkPicture control handles image


placement and sizing.
T IT L E DESC RIP T IO N

get_State Gets the state of a cursor button, such as whether the button
is unavailable, up, or down.

get_Status Gets a value that specifies whether the InkEdit control is idle,
collecting ink, or recognizing ink.

get_String Gets the top string of the alternate.

get_Strokes Gets the collection of strokes that are contained in an object


or used to create an object.

get_Strokes Gets the collection of strokes that are contained in an object


or used to create an object.

get_Strokes Gets the collection of strokes that are contained in an object


or used to create an object.

get_Strokes Gets the collection of strokes that are contained in an object


or used to create an object.

get_Strokes Gets or sets the InkStrokes collection associated with the


InkRecognizerContext object.

get_Strokes Gets or sets the InkStrokes collection on which the InkDivider


object performs layout analysis.

get_Strokes Gets the collection of strokes that are contained in an object


or used to create an object.

get_Strokes Gets the collection of strokes that are contained in an object


or used to create an object.

get_SuffixText Gets or sets the characters that come after the InkStrokes
collection in the InkRecognizerContext object.

get_SupportedProperties Gets an array of globally unique identifiers (GUIDs) that


describe the properties that the IInkRecognizer object
supports.

get_SupportHighContrastInk Gets or sets a value that specifies whether ink is rendered as


just one color when the system is in High Contrast mode.

get_SupportHighContrastInk Gets or sets a value that specifies whether ink is rendered as


just one color when the system is in High Contrast mode.

get_SupportHighContrastInk Gets or sets a value that specifies whether ink is rendered as


just one color when the system is in High Contrast mode.

get_SupportHighContrastSelectionUI Gets or sets a value that specifies whether all selection user
interface (UI) elements are drawn in high contrast when the
system is in High Contrast mode.
T IT L E DESC RIP T IO N

get_SupportHighContrastSelectionUI Gets or sets a value that specifies whether all selection user
interface (selection bounding box and selection handles) are
drawn in high contrast when the system is in High Contrast
mode.

get_Tablet Gets either the IInkTablet object to which a cursor belongs or


the IInkTablet object that an object or control is currently
using to collect input.

get_Tablet Gets either the IInkTablet object to which a cursor belongs or


the IInkTablet object that an object or control is currently
using to collect input.

get_Tablet Gets either the IInkTablet object to which a cursor belongs or


the IInkTablet object that an object or control is currently
using to collect input.

get_Tablet Gets either the IInkTablet object to which a cursor belongs or


the IInkTablet object that an object or control is currently
using to collect input.

get_Text Gets or sets the current text in the InkEdit control.

get_TextRTF Gets or sets the text of the InkEdit control, including all RTF
codes.

get_Top Gets or sets the top position of the InkRectangle object.

get_Top Deprecated. The PenInputPanel has been replaced by the Text


Input Panel (TIP).Gets the vertical, or y-axis, location of the
top edge of the PenInputPanel object, in screen coordinates.

get_TopAlternate Gets the top alternate of the recognition result.

get_TopConfidence Gets the top alternate of the recognition result.

get_TopString Gets the result text for the TopAlternate property.

get_Transparency Gets or sets a value that indicates the transparency value of


ink.

get_UnicodeRanges Retrieves the Unicode ranges set for the current recognizer.

get_UseMouseForInput Gets or sets a value that indicates whether the mouse can be
used as an input device.

get_Vendor Gets the vendor name of the IInkRecognizer object.

get_VerticalOffset Deprecated. The PenInputPanel has been replaced by the Text


Input Panel (TIP).Gets or sets the offset between the closest
horizontal edge of the pen input panel and the closest
horizontal edge of the control to which it is attached.
T IT L E DESC RIP T IO N

get_Visible Deprecated. The PenInputPanel has been replaced by the Text


Input Panel (TIP).Gets or sets a value that indicates whether
the PenInputPanel object is visible.

get_Width Gets or sets the y-axis dimension, or width, of the pen tip
when drawing ink.

get_Width Deprecated. The PenInputPanel has been replaced by the Text


Input Panel (TIP).Gets the width of the pen input panel in
client coordinates.

get_WindowInputRectangle Gets or sets the window input rectangle for the


RealTimeStylus Class object.

get_WordList Gets or sets the word list that is used in the recognition
process to improve the recognition results.

get_WritingBox Gets or sets the invisible writing area of the recognition guide
in which writing can actually take place.

GetAllRecognizers Gets all recognizers.

GetAllTabletContextIds Retrieves an array containing all of the currently active tablet


context identifiers.

GetBestResultString Retrieves the best result string.

GetBoundingBox Retrieves the bounding box in ink space coordinates for either
all of the strokes in an InkDisp object, an individual stroke, or
an InkStrokes collection.

GetBoundingBox Retrieves the bounding box in ink space coordinates for either
all of the strokes in an InkDisp object, an individual stroke, or
an InkStrokes collection.

GetBoundingBox Gets the bounding box in ink space coordinates for either all
of the strokes in an InkDisp object, an individual stroke, or an
InkStrokes collection.

GetCandidate Returns one recognition alternate from the recognition result


list.

GetContextPreferenceFlags Gets the context preference flags.

GetContextPropertyList Retrieves a list of properties the recognizer supports.

GetContextPropertyValue Returns a specified property value from the recognizer


context.

GetDefaultRecognizer Retrieves the default recognizer for a known language,


specified by a national language support (NLS) language code
identifier (LCID).
T IT L E DESC RIP T IO N

GetDesiredPacketDescription Retrieves the list of properties that have been requested to be


included in the packet stream.

GetEnabledUnicodeRanges Retrieves a list of Unicode point ranges enabled on the


context. If you do not call the SetEnabledUnicodeRanges
function to specify the enabled ranges, this function returns
the recognizer's default Unicode point ranges.

GetEventInterest Retrieves the interest an object has in a particular event for


the InkCollector class, InkOverlay class, or InkPicture class.

GetEventInterest Retrieves the interest an object has in a particular event for


the InkCollector class, InkOverlay class, or InkPicture class.

GetEventInterest Retrieves the interest an object has in a particular event for


the InkCollector class, InkOverlay class, or InkPicture class.

GetFlattenedBezierPoints Retrieves the bounding box in ink space coordinates for either
all of the strokes in an InkDisp object, an individual stroke, or
a InkStrokes collection.

GetFormat Returns the display properties currently set on the text ink
object (tInk).

GetGestureStatus Indicates whether the InkCollector or InkOverlay object is


interested in a particular application gesture.

GetGestureStatus Retrieves a value that determines whether the InkCollector or


InkOverlay object is interested in a particular application
gesture.

GetGestureStatus Retrieves a value that indicates whether the InkPicture control


has interest in a particular application gesture.

GetGestureStatus Indicates whether the InkEdit control is interested in a


particular application gesture.

GetGuide Retrieves the guide used for boxed, lined, or freeform input.

GetHotPoint Gets the hot point of the gesture, in ink space coordinates.

GetHoverIcon Retrieves the icon to be used for the hover target to launch
math input control.

GetInkExtent Specifies the display properties to set on the text ink object
(tInk), and retrieves the width of the text ink object in
HIMETRIC units.

GetLatticePtr Retrieves a pointer to the lattice for the current results.

GetLeftSeparator Gets the left separator for the recognizer context.

GetObjectTransform Gets the InkTransform object that represents the object


transform that was used to render ink.
T IT L E DESC RIP T IO N

GetPacketData Retrieves the packet data for a range of packets within the
IInkStrokeDisp object.

GetPacketDescriptionData Retrieves the packet properties and scaling factors.

GetPacketDescriptionPropertyMetrics Retrieves the metrics for a given packet description type.

GetPacketValuesByProperty Retrieves the data for a known packet property from one or
more packets in the stroke.

GetPoints Retrieves the points that make up a stroke.

GetPosition Retrieves the position and size of the control.

GetPreferredPacketDescription Retrieves a packet description that contains the packet


properties the recognizer uses.

GetPreviewHeight Retrieves the height in pixels of the preview area.

GetPropertyMetrics Retrieves the metrics data for a specified property.

GetPropertyValue Retrieves the value of a specified property of the alternate.

GetRecoAttributes Retrieves the attributes of the recognizer.

GetRectangle Gets the elements of the InkRectangle object in a single call.

GetRectangleIntersections Finds the points where a IInkStrokeDisp object intersects a


given rectangle.

GetResultPropertyList Retrieves a list of properties the recognizer can return for a


result range.

GetRightSeparator Gets the right separator for the recognizer context.

GetStrokesFromStrokeRanges Retrieves the smallest InkStrokes collection that contains a


known input InkStrokes collection and for which the
IInkRecognizer object can provide alternates.

GetStrokesFromTextRange Retrives the collection that corresponds to the smallest set of


recognition segments that contains a specified character
range within the alternate.

GetStylusAsyncPlugin Retrieves the plug-in at the specified index in the


asynchronous plug-in collection.

GetStylusAsyncPluginCount Retrieves the number of plug-ins in the asynchronous plug-in


collection.

GetStyluses Retrieves the collection of styluses the RealTimeStylus Class


object has encountered.
T IT L E DESC RIP T IO N

GetStylusForId Retrieves a stylus for the specified stylus identifier.

GetStylusSyncPlugin Retrieves the plug-in at the specified index in the synchronous


plug-in collection.

GetStylusSyncPluginCount Retrieves the number of plug-ins in the synchronous plug-in


collection.

GetTablet Retrieves an IInkTablet Interface object to the caller.

GetTabletContextIdFromTablet Retrieves the TabletContextId property that is associated with


a given tablet digitizer object.

GetTabletFromTabletContextId Retrieves an IInkTablet Interface for a specified tablet context.

GetTextRangeFromStrokes Retrieves the smallest range of recognized text for which the
recognizer can return an alternate that contains a known
InkStrokes collection.

GetTransform Gets the InkTransform member data.

GetUnicodeRanges Returns the ranges of Unicode points that the recognizer


supports.

GetViewTransform Gets the InkTransform object that represents the view


transform that is used to render ink.

GetWindowInputRectangle Gets the window rectangle, in pixels, within which ink is


drawn.

GetWindowInputRectangle Gets the window rectangle, in pixels, within which ink is


drawn.

GetWindowInputRectangle Retrieves the window rectangle, in pixels, within which ink is


drawn.

Hide Hides the control.

HitTestCircle Retrieves the InkStrokes collection that are either completely


inside or intersected by a known circle.

HitTestCircle Determines whether a stroke is either completely inside or


intersected by a given circle.

HitTestSelection Determines what portion of the selection was hit during a hit
test.

HitTestSelection Retrieves a member of the SelectionHitResult enumeration,


which specifies which part of a selection, if any, was hit during
a hit test.

HitTestWithLasso Retrieves the strokes within a polyline selection area.


T IT L E DESC RIP T IO N

HitTestWithRectangle Retrieves the strokes that are contained within a specified


rectangle.

InAirPackets Notifies the object implementing the plug-in that the stylus is
moving above the digitizer.

InkSpaceToPixel Converts a location in ink space coordinates to a location in


pixel space using a handle for the conversion.

InkSpaceToPixelFromPoints Converts an array of points in ink space coordinates to an


array of points in pixel space.

InPlaceSizeChanged Occurs when the in-place Input Panel size has changed due to
a user resize, auto growth, or an input area change.

InPlaceSizeChanging Occurs when the in-place Input Panel size is about to change
due to a user resize, auto growth, or an input area change.

InPlaceStateChanged Occurs when the In-Place state has changed.

InPlaceStateChanging Occurs when the In-Place state is about to change.

InPlaceVisibilityChanged Occurs when the Tablet PC Input Panel has switched between
visible and invisible.

InPlaceVisibilityChanging Occurs when the Tablet PC Input Panel is about to switch


between visible and invisible.

InputAreaChanged Occurs when the input area has changed on the Tablet PC
Input Panel.

InputAreaChanging Occurs when the input area is about to change on the Tablet
PC Input Panel.

InsertInkRecognitionResult Inserts recognition results.

InsertRecognitionResultsArray Insert recognition results array.

IsPacketPropertySupported Determines whether a property of a tablet device or a


collection of tablet devices, identified with a globally unique
identifier (GUID), is supported.

IsPacketPropertySupported Determines whether a property of a tablet device or a


collection of tablet devices, identified with a globally unique
identifier (GUID), is supported.

IsStringSupported Indicates whether the system dictionary, user dictionary, or


word list contain a specified string.

IsStringSupported Returns a value that indicates whether a word, date, time,


number, or other text that is passed in is contained in the
dictionary.The results of this test depend on the factoid
setting.
T IT L E DESC RIP T IO N

IsTipRunning Indicates if the Tablet PC Input Panel is running at the time


the method is called.

IsVisible Determines whether the control is visible.

Item Retrieves the IInkCursorButton object at the specified index or


string identifier within the IInkCursorButtons collection.

Item Returns the IInkCursor object at the specified index within the
IInkCursors collection.

Item Retrieves the InkStrokes Collection at the location specified


within the IInkCustomStrokes Interface.

Item Retrieves the IInkExtendedProperty object at the specified


index within the IInkExtendedProperties collection.

Item Retrieves the IInkRecognitionAlternate object at the specified


index within the IInkRecognitionAlternates collection.

Item Retrieves the IInkRecognizer object at the specified index


within the InkRecognizers collection.

Item Retrieves the IInkStrokeDisp object at the specified index


within the InkStrokes collection.

Item Retrieves the IInkTablet object at the specified index within the
InkTablets collection.

Item Retrieves the IInkDivisionUnit object at the specified index


within the IInkDivisionUnits collection.

Load Populates a new InkDisp object with known binary data.

LoadCachedAttributes Loads the cached attributes of a recognizer.

LoadInk Processes ink and triggers recognition.

MakeWordList Creates a word list.

Measure Calculates the rectangle on the device context that would


contain a collection of strokes if the strokes were drawn with
the InkRenderer object using the DrawStroke method.

MeasureStroke Calculates the rectangle on the device context that would


contain a stroke if it were drawn with the InkRenderer object
using the DrawStroke method.

Merge Merges the specified InkWordList object into this word list.

ModifyDrawingAttributes Sets the drawing attributes of all of the strokes in an


InkStrokes collection.
T IT L E DESC RIP T IO N

ModifyTopAlternate Changes the top alternate of a recognition result by using the


specified alternate.

Move Applies a translation to the view transform in ink space


coordinates.

Move Applies a translation to the ink of an IInkStrokeDisp object or


InkStrokes collection.

Move Applies a translation to the ink of an IInkStrokeDisp object or


InkStrokes collection.

MoveTo Deprecated. The PenInputPanel has been replaced by the Text


Input Panel (TIP).Sets the position of the PenInputPanel object
to a static screen position.

NearestPoint Retrieves the IInkStrokeDisp within the InkDisp object that is


nearest to a known point, optionally providing the index of
the nearest point and the distance to the stroke from the
specified point.

NearestPoint Finds the location on the stroke nearest to a known point and
returns the distance that point is from the stroke. Everything
is in ink space coordinates.

Packets Notifies the object implementing the plug-in that the tablet
pen is moving on the digitizer.

PixelToInkSpace Converts a location in pixel space coordinates to be a location


in ink space coordinates.

PixelToInkSpaceFromPoints Converts an array of locations in pixel space coordinates to an


array of locations in ink space coordinates.

Process Performs ink recognition synchronously.

put_AntiAliased Gets or sets the value that indicates whether a stroke is


antialiased.

put_Appearance Gets or sets a value that determines the appearance of the


InkEdit control - whether it is flat (painted with no visual
effects) or 3D (painted with three-dimensional effects).

put_AttachedEditWindow Deprecated. The PenInputPanel has been replaced by the Text


Input Panel (TIP).Sets or gets the window handle of the object
that the PenInputPanel object is attached to.

put_AttachedEditWindow Gets or sets the window handle of the object to which the
ITextInputPanel object is attached.

put_AttachMode Gets or sets the value that specifies whether the InkOverlay
object is attached behind or in front of the known window.
T IT L E DESC RIP T IO N

put_AutoRedraw Gets or sets a value that specifies whether an ink collector


repaints the ink when the window is invalidated.

put_AutoRedraw Gets or sets a value that specifies whether an ink collector


repaints the ink when the window is invalidated.

put_AutoRedraw Gets or sets a value that specifies whether an ink collectcor


repaints the ink when the window is invalidated.

put_AutoShow Deprecated. The PenInputPanel has been replaced by the Text


Input Panel (TIP).Gets or sets a value that indicates whether
the pen input panel appears when focus is set on the
attached control by using the pen.

put_BackColor Gets or sets the background color for the InkPicture control.

put_BackColor Gets or sets the background color for the InkEdit control.

put_BorderStyle Gets or sets a value that determines whether the InkEdit


control has a border.

put_Bottom Gets or sets the bottom position of the InkRectangle object.

put_CharacterAutoCompletionMode Gets or sets the character Autocomplete mode, which


determines when characters or words are recognized.

put_ClipRectangle Gets or sets the clipping rectangle for the DynamicRenderer


Class object.

put_ClipRegion Gets or sets the clipping region for the DynamicRenderer


Class object.

put_CollectionMode Gets or sets the collection mode that determines whether ink,
gesture, or both are recognized as the user writes.

put_CollectionMode Gets or sets the collection mode that determines whether ink,
gesture, or both are recognized as the user writes.

put_CollectionMode Gets or sets the collection mode that determines whether ink,
gestures, or both are recognized as the user writes.

put_Color Gets or sets the color of the ink that is drawn with this
InkDrawingAttributes object.

put_Columns Gets or sets the number of columns in the recognition guide


box.

put_CurrentPanel Deprecated. The PenInputPanel has been replaced by the Text


Input Panel (TIP).Gets or sets which panel type is currently
being used for input within the PenInputPanel object.

put_Data Gets or sets the data of the extended property.


T IT L E DESC RIP T IO N

put_Data Gets or sets access to the rectangle structure (C++ only).

put_Data Gets or sets access to the XFORM structure.

put_DataCacheEnabled Gets or sets a value that indicates whether data caching is


enabled for the DynamicRenderer Class object.

put_DefaultInPlaceState Gets or sets the default in-place state as specified by the


InPlaceState Enumeration.

put_DefaultInputArea Gets or sets the default input area as specified by the


PanelInputArea Enumeration.

put_DefaultPanel Deprecated. The PenInputPanel has been replaced by the Text


Input Panel (TIP).Gets or sets the default panel type used for
input within the PenInputPanel object.

put_DesiredPacketDescription Gets or sets the desired packet description of the InkCollector.

put_DesiredPacketDescription Gets or sets the desired packet description of the InkCollector.

put_DesiredPacketDescription Gets or sets the desired packet description of the InkCollector.

put_Dirty Gets or sets the value that specifies whether the strokes of an
InkDisp Class object have been modified since the last time
the ink was saved.

put_DisableNoScroll Gets or sets a value that determines whether scroll bars in the
InkEdit control are disabled.

put_DrawnBox Gets or sets the box that is physically drawn on the tablet's
screen and in which writing takes place.

put_DynamicRendering Gets or sets the value that specifies whether ink is rendered
as it is drawn.

put_DynamicRendering Gets or sets the value that specifies whether ink is rendered
as it is drawn.

put_DynamicRendering Gets or sets the value that specifies whether ink is rendered
as it is drawn.

put_EditingMode Gets or sets a value that specifies whether the object/control


is in ink mode, deletion mode, or selecting/editing mode.

put_EditingMode Gets or sets a value that specifies whether the InkPicture


control is in ink mode, deletion mode, or selecting/editing
mode.

put_eDx Gets or sets the element in the third row, first column of the
affine transform matrix that is represented by an InkTransform
object.
T IT L E DESC RIP T IO N

put_eDy Gets or sets the element in the third row, second column of
the affine transform matrix that is represented by an
InkTransform object.

put_eM11 Gets or sets the element in the first row, first column of the
affine transform matrix that is represented by an InkTransform
object.

put_eM12 Gets or sets the element in the first row, second column of
the affine transform matrix that is represented by an
InkTransform object.

put_eM21 Gets or sets the element in the second row, first column of
the affine transform matrix that is represented by an
InkTransform object.

put_eM22 Gets or sets the element in the second row, second column of
the affine transform matrix that is represented by an
InkTransform object.

put_Enabled Gets or sets a value that specifies whether the InkCollector


object collects pen input (in-air packets, cursor in range
events, and so on).

put_Enabled Gets or sets a value that specifies whether the InkOverlay


object collects pen input (in-air packets, cursor in range
events, and so on).

put_Enabled Gets or sets a value that determines whether the InkPicture


control can respond to user-generated events.

put_Enabled Gets or sets a value that determines whether the InkEdit


control can respond to user-generated events.

put_Enabled Gets or sets a value that turns dynamic rendering on and off.

put_Enabled Gets or sets a value that indicates whether gesture


recognition is enabled.

put_Enabled Gets or sets a value that specifies whether the RealTimeStylus


object collects tablet pen data.

put_EnabledUnicodeRanges Gets or sets a set of one or more Unicode ranges that the
recognizer context will support.

put_EraserMode Gets or sets the value that specifies whether ink is erased by
stroke or by point.

put_EraserMode Gets or sets a value that specifies whether ink is erased by


stroke or by point.

put_EraserWidth Gets or sets the value that specifies the width of the eraser
pen tip.
T IT L E DESC RIP T IO N

put_EraserWidth Gets or sets a value that specifies the width of the eraser pen
tip.

put_ExpandPostInsertionCorrection Gets or sets a value that indicates whether the correction


comb on the Tablet PC Input Panel is automatically expanded.

put_Factoid Gets or sets the factoid that a recognizer uses to constrain its
search for the recognition result.

put_Factoid Deprecated. The PenInputPanel has been replaced by the Text


Input Panel (TIP).Gets or sets the string name of the factoid
used by the PenInputPanel object.

put_Factoid Gets or sets the Factoid constant that a IInkRecognizer object


uses to constrain its search for the recognition result.

put_FitToCurve Gets or sets the value that specifies whether Bezier smoothing
is used to render ink.

put_FlicksEnabled Indicates if flick gesture recognition is enabled.

put_GuideData Gets or sets the InkRecoGuide structure that represents the


boundaries of the ink to the recognizer.

put_Height Gets or sets the height of the pen when drawing ink with the
InkDrawingAttributes object.

put_HorizontalOffset Deprecated. The PenInputPanel has been replaced by the Text


Input Panel (TIP).Gets or sets the offset between the left edge
of the pen input panel and the left edge of the control to
which it is attached.

put_hWnd Gets or sets the handle value of the window on which ink is
drawn.

put_hWnd Gets or sets the handle value of the window on which ink is
drawn.

put_HWND Gets or sets the window handle, HWND, associated with the
DynamicRenderer Class object.

put_HWND Gets or sets the handle value associated with the window the
RealTimeStylus object uses.

put_IgnorePressure Gets or sets the value that specifies whether drawn ink
automatically gets wider with increased pressure of the pen
tip on the tablet surface.

put_InkEnabled Gets or sets a value that specifies whether the InkPicture


control collects pen input (in-air packets, cursor in range
events, and so on).

put_InkInsertMode Gets or sets a value that specifies how ink is inserted onto the
InkEdit control, either as text or as ink.
T IT L E DESC RIP T IO N

put_InkMode Gets or sets a value that specifies whether ink collection is


disabled, ink is collected, or ink and gestures are collected.

put_InPlaceVisibleOnFocus Gets or sets a value that indicates whether the Tablet PC


Input Panel is displayed automatically when the window to
which it is attached gets focus.

put_Left Gets or sets the left position of the InkRectangle object.

put_LineHeight Gets or sets the expected handwriting height, in HIMETRIC


units.

put_Locked Gets or sets a value indicating whether the contents of the


InkEdit control can be edited.

put_MarginX Gets or sets the x-axis margin around the window rectangle,
in screen coordinates.This margin provides a buffer around
the edge of the ink window.

put_MarginX Gets or sets the x-axis margin around the window rectangle,
in screen coordinates.This margin provides a buffer around
the edge of the ink window.

put_MarginX Gets or sets the x-axis margin around the window rectangle,
in screen coordinates.This margin provides a buffer around
the edge of the ink window.

put_MarginY Gets or sets the y-axis margin around the window rectangle,
in screen coordinates.This margin provides a buffer around
the edge of the ink window.

put_MarginY Gets or sets the y-axis margin around the window rectangle,
in screen coordinates.This margin provides a buffer around
the edge of the ink window.

put_MarginY Gets or sets the y-axis margin around the window rectangle,
in screen coordinates.This margin provides a buffer around
the edge of the ink window.

put_MaxLength Gets or sets a value indicating whether there is a maximum


number of characters an InkEdit control can hold and, if so,
specifies the maximum number of characters.

put_MaxStrokeCount Gets or sets the maximum number of strokes allowed per


gesture recognition.

put_Midline Gets or sets the midline height. The midline height is distance
from the baseline to the midline, of the drawn box.

put_MouseIcon Gets or sets the custom mouse icon.

put_MouseIcon Gets or sets the custom mouse icon.

put_MouseIcon Gets or sets the custom mouse icon for the InkEdit control.
T IT L E DESC RIP T IO N

put_MousePointer Gets or sets a value that indicates the type of mouse pointer
that appears.

put_MousePointer Gets or sets a value that indicates the type of mouse pointer
that appears.

put_MousePointer Gets or sets a value that indicates the type of mouse pointer
that appears.

put_MousePointer Gets or sets a value indicating the type of mouse pointer to


be displayed.

put_MultiLine Gets or sets a value indicating whether an InkEdit control can


accept and display multiple lines of text.

put_MultiTouchEnabled Indicates whether the IRealTimeStylus3 object has multitouch


input enabled.

put_PenTip Gets or sets a value that indicates which pen tip to use when
drawing ink that is associated with this InkDrawingAttributes
object.

put_Picture Gets the graphics file to appear on the InkPicture control.

put_PreferredInPlaceDirection Gets or sets the preferred direction of the in-place Input Panel
relative to the text entry field.

put_PrefixText Gets or sets the characters that come before the InkStrokes
collection in the InkRecognizerContext object.

put_RasterOperation Gets or sets a value that defines how the colors of the pen
and background interact.

put_RecognitionFlags Gets or sets the flags that specify how the recognizer
interprets the ink and determines the result string.

put_RecognitionTimeout Gets or sets the length of time, in milliseconds, between the


last IInkStrokeDisp object collected and the beginning of text
recognition.

put_Right Gets or sets the right position of the InkRectangle object.

put_Rows Gets or sets the number of rows in the recognition guide.

put_ScrollBars Gets or sets the type of scroll bars, if any, to display in the
InkEdit control.

put_SelAlignment Gets or sets a value that controls the alignment of the


paragraphs in an InkEdit control.

put_SelBold Gets or sets a value that specifies whether the font style of
the currently selected text in the InkEdit control is bold.
T IT L E DESC RIP T IO N

put_SelCharOffset Returns or sets a value that determines whether text in the


InkEdit control appears on the baseline (normal), as a
superscript above the baseline, or as a subscript below the
baseline.

put_SelColor Gets or sets the text color of the current text selection or
insertion point (run time only).

put_Selection Gets or sets the InkStrokes collection that is currently selected


inside the InkOverlay object or the InkPicture control.

put_Selection Gets or sets theInkStrokes collection that is currently selected


inside the InkOverlay object or the InkPicture control.

put_SelFontName Gets or sets the font name of the selected text within the
InkEdit control (run time only).

put_SelFontSize Gets or sets the font size of the selected text within the
InkEdit control (run time only).

put_SelInks Gets or sets the array of embedded InkDisp objects (if


displayed as ink) in the current selection.

put_SelInksDisplayMode Gets or sets a value that allows for toggling the appearance of
the selection between ink and text.

put_SelItalic Gets or sets a value that specifies whether the font style of
the currently selected text in the InkEdit control is italic (run
time only).

put_SelLength Gets or sets the number of characters that are selected in the
InkEdit control (run time only).

put_SelRTF Gets or sets the currently selected Rich Text Format (RTF)
formatted text in the InkEdit control (run time only).

put_SelStart Gets or sets the starting point of the text that is selected in
the InkEdit control (run time only).

put_SelText Gets or sets the selected text within the InkEdit control (run
time only).

put_SelUnderline Gets or sets a value that specifies whether the font style of
the currently selected text in the InkEdit control is underlined
(run time only).

put_SizeMode Gets or sets how the InkPicture control handles image


placement and sizing.

put_SuffixText Gets or sets the characters that come after the InkStrokes
collection in the InkRecognizerContext object.

put_SupportHighContrastInk Gets or sets a value that specifies whether ink is rendered as


just one color when the system is in High Contrast mode.
T IT L E DESC RIP T IO N

put_SupportHighContrastInk Gets or sets a value that specifies whether ink is rendered as


just one color when the system is in High Contrast mode.

put_SupportHighContrastInk Gets or sets a value that specifies whether ink is rendered as


just one color when the system is in High Contrast mode.

put_SupportHighContrastSelectionUI Gets or sets a value that specifies whether all selection user
interface (UI) elements are drawn in high contrast when the
system is in High Contrast mode.

put_SupportHighContrastSelectionUI Gets or sets a value that specifies whether all selection user
interface (selection bounding box and selection handles) are
drawn in high contrast when the system is in High Contrast
mode.

put_Text Gets or sets the current text in the InkEdit control.

put_TextRTF Gets or sets the text of the InkEdit control, including all RTF
codes.

put_Top Gets or sets the top position of the InkRectangle object.

put_Transparency Gets or sets a value that indicates the transparency value of


ink.

put_UseMouseForInput Gets or sets a value that indicates whether the mouse can be
used as an input device.

put_VerticalOffset Deprecated. The PenInputPanel has been replaced by the Text


Input Panel (TIP).Gets or sets the offset between the closest
horizontal edge of the pen input panel and the closest
horizontal edge of the control to which it is attached.

put_Width Gets or sets the y-axis dimension, or width, of the pen tip
when drawing ink.

put_WindowInputRectangle Gets or sets the window input rectangle for the


RealTimeStylus Class object.

put_WritingBox Gets or sets the invisible writing area of the recognition guide
in which writing can actually take place.

putref_DefaultDrawingAttributes Gets or sets the default drawing attributes to use when


drawing and displaying ink.

putref_DrawingAttributes Gets or sets the drawing attributes to apply to ink as it is


drawn.

putref_DrawingAttributes Gets or sets the drawing attributes for ink that is yet to be
drawn on the InkEdit control.

putref_Guide Gets or sets the InkRecognizerGuide to use for ink input.


T IT L E DESC RIP T IO N

putref_Ink Gets or sets the InkDisp object that is associated with an


InkCollector object or an InkOverlay object.

putref_MouseIcon Gets or sets the custom mouse icon.

putref_RecognizerContext Gets or sets the InkRecognizerContext object that the


InkDivider object uses for layout analysis.

putref_Renderer Gets or sets the InkRenderer object that is used to draw ink.

putref_Strokes Gets or sets the InkStrokes collection associated with the


InkRecognizerContext object.

putref_Strokes Gets or sets the InkStrokes collection on which the InkDivider


object performs layout analysis.

putref_WordList Gets or sets the word list that is used in the recognition
process to improve the recognition results.

RealTimeStylusDisabled Notifies the implementing plug-in that the RealTimeStylus


Class (RTS) object is disabled.

RealTimeStylusEnabled Notifies the implementing plug-in that the RealTimeStylus


Class (RTS) object is enabled.

Recognize Reserved.

Recognize Performs recognition on an InkStrokes collection and returns


recognition results.

Recognize Performs recognition on an InkStrokes collection and returns


recognition results.

Reflect Performs reflection on a transform in either horizontal or


vertical directions.

Refresh Refresh is no longer available for use as of Windows XP Tablet


PC Edition.

Refresh Causes the InkEdit control to redraw.

Refresh Causes the DynamicRenderer Class object to redraw the ink


data that is currently rendering.

ReleaseCachedData Releases specified stroke data from the temporal data held by
DynamicRenderer Class.

ReleaseLock Releases the specified lock.

Remove Removes the InkStrokes collection from the


IInkCustomStrokes collection.
T IT L E DESC RIP T IO N

Remove Removes the IInkExtendedProperty object from the


IInkExtendedProperties collection.

Remove Removes an IInkStrokeDisp object from a InkStrokes


collection.

RemoveAllStylusAsyncPlugins Removes all the plug-ins from the asynchronous plug-in


collection.

RemoveAllStylusSyncPlugins Removes all of the plug-ins from the synchronous plug-in


collection.

RemoveFunctionName Removes a function-name definition from the list of custom


math functions that the recognizer accepts.

RemoveRecognitionResult Removes the RecognitionResult that is associated with the


InkStrokes collection.

RemoveStrokes Removes strokes from the collection.

RemoveStylusAsyncPlugin Removes and optionally returns an IStylusAsyncPlugin with


the specified index in the asynchronous plug-in collection.

RemoveStylusSyncPlugin Removes an IStylusSyncPlugin from the collection at the


specified index.

RemoveWord Removes a single word from an InkWordList.

Reset Resets the transform to its default state, the identity


transform.

Reset Deletes past stroke information from the GestureRecognizer


Class object.

ResetContext Deletes the current ink and recognition results from the
context.The current settings of the recognizer context are
preserved.

ResultByType Gets the requested structural units of the analysis results for
an IInkDivisionUnits collection.

Rotate Applies a rotation to a InkRenderer's view transform.

Rotate Rotates the ink using an angle in degrees around a center


point of the rotation.

Rotate Rotates the ink using an angle in degrees around a center


point of the rotation.

Rotate Changes the amount, measured in degrees, to change the


rotation factor of the InkTransform object and optionally the
center point of the rotation.
T IT L E DESC RIP T IO N

Save Converts the ink to the specified InkPersistenceFormat, saves


the ink by using the specified
InkPersistenceCompressionMode, and returns the binary data
in an array of bytes.

ScaleToRectangle Scales the IInkStrokeDisp object or InkStrokes collection to fit


in the specified InkRectangle object.

ScaleToRectangle Scales the IInkStrokeDisp object or InkStrokes collection to fit


in the specified InkRectangle object.

ScaleTransform Scales the view transform in the X and Y dimension.

ScaleTransform Applies the specified horizontal and vertical factors to the


transform or ink.

ScaleTransform Applies the specified horizontal and vertical factors to the


transform or ink.

ScaleTransform Applies the specified horizontal and vertical factors to the


transform or ink.

SetAllTabletsMode Allows an ink collector (InkCollector, InkOverlay, or InkPicture)


to collect ink from any tablet attached to the Tablet PC.

SetAllTabletsMode Allows an ink collector (InkCollector, InkOverlay, or InkPicture)


to collect ink from any tablet attached to the Tablet PC.

SetAllTabletsMode Allows an ink collector (InkCollector, InkOverlay, or InkPicture)


to collect ink from any tablet attached to the Tablet PC.

SetAllTabletsMode Sets the mode for the RealTimeStylus Class object to collect
data from all digitizers.

SetCACMode Specifies character Autocomplete mode for character or word


recognition.You cannot turn off character Autocomplete after
it is set.

SetCandidate Updates one recognition alternate in the recognition result


list, either by replacing an existing alternate, or by adding an
alternate to the list.

SetCaptionText Modifies the string that will be used as the control's caption
when the window is created.

SetContextPropertyValue Adds a property to the recognizer context.If a property


already exists, its value is modified.

SetCustomPaint Determines whether a button or background has custom


painting.

SetDesiredPacketDescription Requests properties to be included in the packet stream.

SetEnabledUnicodeRanges Enables one or more Unicode point ranges on the context.


T IT L E DESC RIP T IO N

SetEventInterest Modifies a value that indicates whether an object or control


has interest in a specified event.

SetEventInterest Sets a value that indicates whether an object or control has


interest in a specified event.

SetEventInterest Modifies a value that indicates whether an object or control


has interest in a specified event.

SetFactoid Specifies the factoid a recognizer uses to constrain its search


for the result.You specify a factoid if an input field is of a
known type, such as if the input field contains a date.

SetFlags Specifies how the recognizer interprets the ink and determines
the result string.Call this function before processing the ink
for the first time. Therefore, call the SetFlags function before
calling the Process function.

SetFormat Specifies the display properties to set on the text ink object
(tInk).

SetGestureStatus Modifies the interest of the object or control in a known


gesture.

SetGestureStatus Sets the interest of the object or control in a known gesture.

SetGestureStatus Modifies the interest of the object or control in a known


gesture.

SetGestureStatus Modifies the interest of the InkEdit control in a known


application gesture.

SetGuide Sets the recognition guide to use for boxed or lined input. You
must call this function before you add strokes to the context.

SetInPlaceHoverTargetPosition Explicitly positions the Tablet PC Input Panel hover target in


screen coordinates.

SetInPlacePosition Explicitly positions the Tablet PC Input Panel in screen


coordinates.

SetInPlaceVisibility Shows or hides the Tablet PC Input Panel.

SetObjectTransform Sets the InkTransform object that represents the object


transform that is used to render ink.

SetOwnerWindow Modifies the window that owns this control.

SetPacketValuesByProperty Modifies the packet values for a particular property.

SetPoints Sets the points of the IInkStrokeDisp using an array of X, Y


values.
T IT L E DESC RIP T IO N

SetPosition Modifies the location and size of the control.

SetPreviewHeight Modifies the preview-area height in pixels.

SetRectangle Sets the elements of the InkRectangle object in a single call.

SetResultOnStrokes Assigns the recognition results to the strokes that were used
to create the results.

SetSingleTabletIntegratedMode Allows the ink collector (InkCollector, InkOverlay, or


InkPicture) to collect ink from only one tablet. Ink from other
tablets is ignored by the ink collector.

SetSingleTabletIntegratedMode Allows the ink collector (InkCollector, InkOverlay, or


InkPicture) to collect ink from only one tablet. Ink from other
tablets is ignored by the ink collector.

SetSingleTabletIntegratedMode Allows the ink collector (InkCollector, InkOverlay, or


InkPicture) to collect ink from only one tablet. Ink from other
tablets is ignored by the ink collector.

SetSingleTabletMode Modifies the mode for RealTimeStylus Class (RTS) object to


collect input from only one tablet object representing a
digitizer attached to the Tablet PC. Stylus input from other
digitizers is ignored by the RealTimeStylus.

SetTextContext Provides the text strings that come before and after the text
contained in the recognizer context.You call this function
before processing the ink for the first time. Therefore, call the
SetTextContext function before calling the Process function.

SetTransform Modifies the InkTransform member data.

SetViewTransform Sets the InkTransform object that represents the view


transform that is used to render ink.

SetWindowInputRectangle Sets the window rectangle, in pixels, within which ink is drawn.

SetWindowInputRectangle Sets the window rectangle, in pixels, within which ink is drawn.

SetWindowInputRectangle Modifies the window rectangle, in pixels, within which ink is


drawn.

SetWordList Sets the word list for the current recognizer context to
recognize.

Shear Shears the ink in the stroke or strokes by the specified


horizontal and vertical factors.

Shear Shears the ink in the stroke or strokes by the specified


horizontal and vertical factors.

Shear Adjusts the shear of the InkTransform by the specified


horizontal and vertical factors.
T IT L E DESC RIP T IO N

Show Shows the control.

Split Splits the stroke at the specified location on the stroke.

StopBackgroundRecognition Ends background recognition that was started with a call to


BackgroundRecognize or
BackgroundRecognizeWithAlternates.

StylusButtonDown Notifies the implementing plug-in that the user is pressing a


stylus button.

StylusButtonUp Notifies the implementing plug-in that the user has released a
stylus button.

StylusDown Notifies the implementing plug-in that the tablet pen has
touched the digitizer surface.

StylusInRange Notifies the implementing plug-in that the stylus is entering


the detection range of the digitizer.

StylusOutOfRange Notifies the implementing plug-in that the stylus has left the
detection range of the digitizer.

StylusUp Notifies the implementing plug-in that the user has raised the
tablet pen from the tablet digitizer surface.

SystemEvent Notifies the implementing plug-in that a system event is


available.

TabletAdded Notifies an implementing plug-in when an ITablet object is


attached to the system.

TabletRemoved Notifies an implementing plug-in when an ITablet object is


removed from the system.

TextInserted Occurs when the Tablet PC Input Panel has inserted text into
the control with input focus. Provides access to the ink the
user entered in the Input Panel.

TextInserting Occurs when the Tablet PC Input Panel is about to insert text
into the control with input focus. Provides access to the ink
the user entered in the Input Panel.

ToString ToString is no longer available for use as of Windows Vista.

Transform Applies a linear transformation to an IInkStrokeDisp object or


an InkStrokes collection, which can represent scaling, rotation,
translation, and combinations of transformations.

Transform Applies a linear transformation to an IInkStrokeDisp object or


an InkStrokes collection, which can represent scaling, rotation,
translation, and combinations of transformations.

Translate Applies a translation to a transform.


T IT L E DESC RIP T IO N

Unadvise Terminates an advisory connection previously established


through ITextInputPanel::Advise Method.

UpdateMapping Notifies the plug-in when display properties, such as dpi or


orientation, change.

Interfaces
T IT L E DESC RIP T IO N

_IMathInputControlEvents Exposes the math input control event handlers.

IDynamicRenderer Displays the tablet pen data in real-time as that data is being
handled by the RealTimeStylus Class object.

IGestureRecognizer Reacts to events by recognizing gestures and adding gesture


data to the input queue.

IHandwrittenTextInsertion Used by the application's custom text entry code to insert the
text into both the text field and the Text Services backing-
store.

IInkCollector .

IInkCursor Represents general information about the tablet cursor.

IInkCursorButton Represents general information about a button on a tablet


pointing and selecting device.

IInkCursorButtons Represents a collection of IInkCursorButton objects for an


IInkCursor interface.

IInkCursors Represents a collection of IInkCursor objects.

IInkCustomStrokes Contains a collection of user-defined InkStrokes collections.

IInkDisp .

IInkDivider .

IInkDivisionResult Represents the layout analysis of the collection of strokes


contained by the InkDivider object.

IInkDivisionUnit Represents a single structural element within an


IInkDivisionResult object.

IInkDivisionUnits Contains a collection of IInkDivisionUnit objects that are


contained in an IInkDivisionResult object.

IInkDrawingAttributes .
T IT L E DESC RIP T IO N

IInkEdit .

IInkExtendedProperties Represents a collection of IInkExtendedProperty objects that


contain application-defined data.

IInkExtendedProperty Represents the ability to add your own data to a variety of


objects within the Tablet PC object model.

IInkGesture Represents the ability to query particular properties of a


gesture returned from a gesture recognition.

IInkLineInfo The IInkLineInfo interface provides access to the display


properties and recognition result list of a text ink object (tInk).

IInkOverlay .

IInkPicture .

IInkRecognitionAlternate Represents the possible word matches for segments of ink


that are compared to a recognizers dictionary.

IInkRecognitionAlternates Contains the IInkRecognitionAlternate objects that represent


possible word matches for segments of ink.

IInkRecognitionResult Represents the result of the recognition. The results of


recognizing handwritten ink are returned in an
IInkRecognitionResult object.

IInkRecognizer Represents the ability to process ink, or handwriting, and


translate the stroke into text or gesture. The recognizer
creates an InkRecognizerContext object, which is used to
perform the actual handwriting recognition.

IInkRecognizer2 Adds members to the IInkWordList2 Interface.

IInkRecognizerContext .

IInkRecognizerContext2 Adds members to the InkRecognizerContext Class.

IInkRecognizerGuide .

IInkRecognizers .

IInkRectangle .

IInkRenderer .

IInkStrokeDisp Represents a single ink stroke.A stroke is a set of properties


and point data that the digitizer captures that represent the
coordinates and properties of a known ink mark.

IInkStrokes .
T IT L E DESC RIP T IO N

IInkTablet Represents the digitizer device of Tablet PC that receives tablet


device messages or events.

IInkTablet2 Extends the IInkTablet interface.

IInkTablet3 Enables multitouch querying for input.

IInkTablets .

IInkTransform .

IInkWordList .

IInkWordList2 Adds members to the InkWordList Class.

IMathInputControl Exposes methods that turn ink input into interpreted math
output.

IPenInputPanel .

IRealTimeStylus Handles the stylus packet data from a digitizer in real time.

IRealTimeStylus2 Extends the IRealTimeStylus interface.

IRealTimeStylus3 The IRealTimeStylus3 interface enables multitouch for the


realtime stylus.

IRealTimeStylusSynchronization Synchronizes access to the RealTimeStylus Class object.

IStrokeBuilder Use interface to programmatically create strokes from packet


data.

IStylusAsyncPlugin Represents an asynchronous plug-in that can be added to the


asynchronous plug-in collection of the RealTimeStylus Class
object.

IStylusPlugin Receives notifications of RealTimeStylus Class events to enable


you to perform custom processing based on those events.

IStylusSyncPlugin Represents a synchronous plug-in that can be added to the


RealTimeStylus Class object's synchronous plug-in collection.

ITextInputPanel Provides control of appearance and behavior of the Tablet PC


Input Panel.

ITextInputPanelEventSink Defines methods that handle the ITextInputPanel Interface


events.

ITextInputPanelRunInfo Provides a method to determine if the Text Input Panel is


currently running.

Structures
T IT L E DESC RIP T IO N

CHARACTER_RANGE Specifies a range of Unicode points (characters).

FLICK_DATA Contains information about a pen flick.

FLICK_POINT Provides information about a pen flick.

IEC_GESTUREINFO Contains information about a specific gesture.

IEC_RECOGNITIONRESULTINFO Contains information about an IInkRecognitionResult Interface


object.

IEC_STROKEINFO Contains information about a Stroke event.

INKMETRIC Specifies display properties for a text ink object (tInk).

InkRecoGuide Deprecated. Represents information about the recognition


guide. Use the WritingBox Property, DrawnBox Property, Rows
Property, Columns Property, and Midline Property
[InkRecognizerGuide Class] properties instead.

LATTICE_METRICS Describes the baseline and the midline height.

LINE_SEGMENT Describes the start and end points of a line recognition


segment, such as the baseline or midline.

PACKET_DESCRIPTION Describes the content of the packet for a particular tablet


recognizer context.Do not use this structure to access the
data contained in a packet. This structure describes the
content of the packet.

PACKET_PROPERTY Describes a packet property that is reported by the tablet


driver.

PROPERTY_METRICS Defines the range and resolution of a packet property.

RECO_ATTRS Retrieves the attributes of a recognizer or specifies which


attributes to use when you search for an installed recognizer.

RECO_GUIDE Defines the boundaries of the ink to the recognizer.

RECO_LATTICE Serves as the entry point into a lattice.

RECO_LATTICE_COLUMN Represents a column in the lattice.

RECO_LATTICE_ELEMENT Corresponds to one word or one East Asian character,


typically; however, an element may also correspond to a
gesture, a shape, or some other code.

RECO_LATTICE_PROPERTIES Contains an array of pointers to property structures.

RECO_LATTICE_PROPERTY Contains a property used in the lattice.


T IT L E DESC RIP T IO N

RECO_RANGE The structure is obsolete.

STROKE_RANGE Specifies a range of strokes in the InkDisp object.

StylusInfo Provides information about the stylus.

SYSTEM_EVENT_DATA Contains information about a tablet system event.


TAPI 2.2
2/7/2020 • 2 minutes to read • Edit Online

Overview of the TAPI 2.2 technology.


To develop TAPI 2.2, you need these headers:
tapi.h
tspi.h
For programming guidance for this technology, see:
Telephony Application Programming Interfaces
Task Scheduler
2/7/2020 • 33 minutes to read • Edit Online

Overview of the Task Scheduler technology.


To develop Task Scheduler, you need these headers:
mstask.h
taskschd.h
For programming guidance for this technology, see:
Task Scheduler

Enumerations
T IT L E DESC RIP T IO N

TASK_ACTION_TYPE Defines the type of actions that a task can perform.

TASK_COMPATIBILITY Defines what versions of Task Scheduler or the AT command


that the task is compatible with.

TASK_CREATION Defines how the Task Scheduler service creates, updates, or


disables the task.

TASK_ENUM_FLAGS Defines how the Task Scheduler enumerates through


registered tasks.

TASK_INSTANCES_POLICY Defines how the Task Scheduler handles existing instances of


the task when it starts a new instance of the task.

TASK_LOGON_TYPE Defines what logon technique is required to run a task.

TASK_PROCESSTOKENSID_TYPE Defines the types of process security identifier (SID) that can
be used by tasks.

TASK_RUN_FLAGS Defines how a task is run.

TASK_RUNLEVEL_TYPE Defines LUA elevation flags that specify with what privilege
level the task will be run.

TASK_SESSION_STATE_CHANGE_TYPE Defines what kind of Terminal Server session state change you
can use to trigger a task to start.

TASK_STATE Defines the different states that a registered task can be in.

TASK_TRIGGER_TYPE Defines the types of triggers associated with a task.

TASK_TRIGGER_TYPE2 Defines the type of triggers that can be used by tasks.


T IT L E DESC RIP T IO N

TASKPAGE Defines the type of task page to be retrieved.

Functions
T IT L E DESC RIP T IO N

Activate The Activate method returns an active interface for a specified


work item.

AddRequiredPrivilege Adds the required privilege to the task process token.

AddWorkItem The AddWorkItem method adds a task to the schedule of


tasks.

Clear Clears all the actions from the collection.

Clear Clears the entire collection of name-value pairs.

Clear Clears all triggers from the collection.

Clone Creates a new enumeration object that contains the same


enumeration state as the current enumeration.

Connect Connects to a remote computer and associates all subsequent


calls on this interface with a remote session.

Create Creates and adds a new action to the collection.

Create Creates a name-value pair in the collection.

Create Creates a new trigger for the task.

CreateFolder Creates a folder for related tasks.

CreateTrigger Creates a trigger for the work item.

Delete The Delete method deletes a task.

DeleteFolder Deletes a subfolder from the parent folder.

DeleteTask Deletes a task from the folder.

DeleteTrigger Deletes a trigger from a work item.

EditWorkItem Displays the Task, Schedule, and settings property pages for
the work item, allowing a user set the properties on those
pages.

Enum The Enum method retrieves a pointer to an OLE enumerator


object that enumerates the tasks in the current task folder.
T IT L E DESC RIP T IO N

get__NewEnum Gets the collection enumerator for the action collection.

get__NewEnum Gets the collection enumerator for the register task collection.

get__NewEnum Gets the collection enumerator for the running task collection.

get__NewEnum Gets the collection enumerator for the folder collection.

get__NewEnum Gets the collection enumerator for the name-value pair


collection.

get__NewEnum Gets the collection enumerator for the trigger collection.

get_Actions Gets or sets a collection of actions performed by the task.

get_AllowDemandStart Gets or sets a Boolean value that indicates that the task can
be started by using either the Run command or the Context
menu.

get_AllowHardTerminate Gets or sets a Boolean value that indicates that the task may
be terminated by the Task Scheduler service using
TerminateProcess.

get_Arguments Gets or sets the arguments associated with the command-line


operation.

get_Attachments Gets or sets the pointer to an array of attachments that is


sent with the email message.

get_Author Gets or sets the author of the task.

get_Bcc Gets or sets the email address or addresses that you want to
Bcc in the email message.

get_Body Gets or sets the body of the email that contains the email
message.

get_Cc Gets or sets the email address or addresses that you want to
Cc in the email message.

get_ClassId Gets or sets the identifier of the handler class.

get_Compatibility Gets or sets an integer value that indicates which version of


Task Scheduler a task is compatible with.

get_Connected Gets a Boolean value that indicates if you are connected to the
Task Scheduler service.

get_ConnectedDomain Gets the name of the domain to which the TargetServer


computer is connected.

get_ConnectedUser Gets the name of the user that is connected to the Task
Scheduler service.
T IT L E DESC RIP T IO N

get_Context Gets or sets the identifier of the principal for the task.

get_Count Gets the number of actions in the collection.

get_Count Gets the number of registered tasks in the collection.

get_Count Gets the number of running tasks in the collection.

get_Count Gets the number of folders in the collection.

get_Count Gets the number of name-value pairs in the collection.

get_Count Gets the number of triggers in the collection.

get_CurrentAction Gets the name of the current action that the running task is
performing.

get_Data Gets or sets additional data that is associated with the handler.

get_Data Gets or sets the data that is associated with the task.

get_Date Gets or sets the date and time when the task is registered.

get_DaysInterval Gets or sets the interval between the days in the schedule.

get_DaysOfMonth Gets or sets the days of the month during which the task
runs.

get_DaysOfWeek Gets or sets the days of the week during which the task runs.

get_DaysOfWeek Gets or sets the days of the week in which the task runs.

get_Deadline Gets or sets the amount of time after which the Task scheduler
attempts to run the task during emergency Automatic
maintenance, if the task failed to complete during regular
Automatic maintenance.

get_Definition Gets the definition of the task.

get_Delay Gets or sets a value that indicates the amount of time


between when the system is booted and when the task is
started.

get_Delay Gets or sets a value that indicates the amount of time


between when the event occurs and when the task is started.

get_Delay Gets or sets a value that indicates the amount of time


between when the user logs on and when the task is started.

get_Delay Gets or sets the amount of time between when the task is
registered and when the task is started.
T IT L E DESC RIP T IO N

get_Delay Gets or sets a value that indicates how long of a delay takes
place before a task is started after a Terminal Server session
state change is detected.

get_DeleteExpiredTaskAfter Gets or sets the amount of time that the Task Scheduler will
wait before deleting the task after it expires.

get_Description Gets or sets the description of the task.

get_DisallowStartIfOnBatteries Gets or sets a Boolean value that indicates that the task will
not be started if the computer is running on batteries.

get_DisallowStartOnRemoteAppSession Gets or sets a Boolean value that specifies that the task will
not be started if triggered to run in a Remote Applications
Integrated Locally (RAIL) session.

get_DisplayName Gets or sets the name of the principal.

get_Documentation Gets or sets any additional documentation for the task.

get_Duration Gets or sets how long the pattern is repeated.

get_Enabled Gets or sets a Boolean value that indicates if the registered


task is enabled.

get_Enabled Gets or sets a Boolean value that indicates that the task is
enabled. The task can be performed only when this setting is
True.

get_Enabled Gets or sets a Boolean value that indicates whether the trigger
is enabled.

get_EndBoundary Gets or sets the date and time when the trigger is deactivated.

get_EnginePID Gets the process ID for the engine (process) which is running
the task.

get_Exclusive Indicates whether the Task scheduler must start the task
during the Automatic maintenance in exclusive mode.

get_ExecutionTimeLimit Gets or sets the amount of time that is allowed to complete


the task.

get_ExecutionTimeLimit Gets or sets the maximum amount of time that the task
launched by this trigger is allowed to run.

get_From Gets or sets the email address that you want to send the
email from.

get_GroupId Gets or sets the identifier of the user group that is required to
run the tasks that are associated with the principal.
T IT L E DESC RIP T IO N

get_HeaderFields Gets or sets the header information in the email message to


send.

get_Hidden Gets or sets a Boolean value that indicates that the task will
not be visible in the UI.

get_HighestVersion Indicates the highest version of Task Scheduler that a


computer supports.

get_Id Gets or sets the identifier of the action.

get_Id Gets or sets a GUID value that identifies a network profile.

get_Id Gets or sets the identifier of the principal.

get_Id Gets or sets the identifier for the trigger.

get_IdleDuration Gets or sets a value that indicates the amount of time that the
computer must be in an idle state before the task is run.

get_IdleSettings Gets or sets the information that specifies how the Task
Scheduler performs tasks when the computer is in an idle
condition.

get_InstanceGuid Gets the GUID identifier for this instance of the task.

get_Interval Gets or sets the amount of time between each restart of the
task.

get_Item Gets a specified action from the collection.

get_Item Gets the specified registered task from the collection.

get_Item Gets the specified task from the collection.

get_Item Gets the specified folder from the collection.

get_Item Gets the specified name-value pair from the collection.

get_Item Gets the specified trigger from the collection.

get_LastRunTime Gets the time the registered task was last run.

get_LastTaskResult Gets the results that were returned the last time the
registered task was run.

get_LogonType Gets or sets the security logon method that is required to run
the tasks that are associated with the principal.

get_MaintenanceSettings Gets or sets a pointer to pointer to an


IMaintenanceSettingsobject that Task scheduler uses to
perform a task during Automatic maintenance.
T IT L E DESC RIP T IO N

get_MessageBody Gets or sets the message text that is displayed in the body of
the message box.

get_MonthsOfYear Gets or sets the months of the year during which the task
runs.

get_MonthsOfYear Gets or sets the months of the year during which the task
runs.

get_MultipleInstances Gets or sets the policy that defines how the Task Scheduler
deals with multiple instances of the task.

get_Name Gets or sets the name of a network profile.

get_Name Gets the name of the registered task.

get_Name Gets the name of the task.

get_Name Gets the name that is used to identify the folder that contains
a task.

get_Name Gets or sets the name that is associated with a value in a


name-value pair.

get_NetworkSettings Gets or sets the network settings object that contains a


network profile identifier and name.

get_NextRunTime Gets the time when the registered task is next scheduled to
run.

get_NumberOfMissedRuns Gets the number of times the registered task has missed a
scheduled run.

get_Path Gets or sets the path to an executable file.

get_Path Gets the path to where the registered task is stored.

get_Path Gets the path to where the task is stored.

get_Path Gets the path to where the folder is stored.

get_Period Gets or sets the amount of time the task needs to be once
executed during regular Automatic maintenance.

get_Principal Gets or sets the principal for the task that provides the
security credentials for the task.

get_Priority Gets or sets the priority level of the task.

get_ProcessTokenSidType Gets or sets the task process security identifier (SID) type.
T IT L E DESC RIP T IO N

get_RandomDelay Gets or sets a delay time that is randomly added to the start
time of the trigger.

get_RandomDelay Gets or sets a delay time that is randomly added to the start
time of the trigger.

get_RandomDelay Gets or sets a delay time that is randomly added to the start
time of the trigger.

get_RandomDelay Gets or sets a delay time that is randomly added to the start
time of the trigger.

get_RandomDelay Gets or sets a delay time that is randomly added to the start
time of the trigger.

get_RegistrationInfo Gets or sets the registration information used to describe a


task, such as the description of the task, the author of the
task, and the date the task is registered.

get_Repetition Gets or sets a value that indicates how often the task is run
and how long the repetition pattern is repeated after the task
is started.

get_ReplyTo Gets or sets the email address that you want to reply to.

get_RequiredPrivilege Gets the required privilege of the task by index.

get_RequiredPrivilegeCount Gets the number of privileges in the required privileges array.

get_RestartCount Gets or sets the number of times that the Task Scheduler will
attempt to restart the task.

get_RestartInterval Gets or sets a value that specifies how long the Task Scheduler
will attempt to restart the task.

get_RestartOnIdle Gets or sets a Boolean value that indicates whether the task is
restarted when the computer cycles into an idle condition
more than once.

get_RunLevel Gets or sets the identifier that is used to specify the privilege
level that is required to run the tasks that are associated with
the principal.

get_RunOnLastDayOfMonth Gets or sets a Boolean value that indicates that the task runs
on the last day of the month.

get_RunOnLastWeekOfMonth Gets or sets a Boolean value that indicates that the task runs
on the last week of the month.

get_RunOnlyIfIdle Gets or sets a Boolean value that indicates that the Task
Scheduler will run the task only if the computer is in an idle
condition.
T IT L E DESC RIP T IO N

get_RunOnlyIfNetworkAvailable Gets or sets a Boolean value that indicates that the Task
Scheduler will run the task only when a network is available.

get_SecurityDescriptor Gets or sets the security descriptor of the task.

get_Server Gets or sets the name of the SMTP server that you use to
send email from.

get_Settings Gets or sets the settings that define how the Task Scheduler
service performs the task.

get_Source Gets or sets where the task originated from. For example, a
task may originate from a component, service, application, or
user.

get_StartBoundary Gets or sets the date and time when the trigger is activated.

get_StartWhenAvailable Gets or sets a Boolean value that indicates that the Task
Scheduler can start the task at any time after its scheduled
time has passed.

get_State Gets the operational state of the registered task.

get_State Gets an identifier for the state of the running task.

get_StateChange Gets or sets the kind of Terminal Server session change that
would trigger a task launch.

get_StopAtDurationEnd Gets or sets a Boolean value that indicates if a running


instance of the task is stopped at the end of the repetition
pattern duration.

get_StopIfGoingOnBatteries Gets or sets a Boolean value that indicates that the task will be
stopped if the computer is going onto batteries.

get_StopOnIdleEnd Gets or sets a Boolean value that indicates that the Task
Scheduler will terminate the task if the idle condition ends
before the task is completed. The idle condition ends when the
computer is no longer idle.

get_Subject Gets or sets the subject of the email message.

get_Subscription Gets or sets a query string that identifies the event that fires
the trigger.

get_TargetServer Gets the name of the computer that is running the Task
Scheduler service that the user is connected to.

get_Title Gets or sets the title of the message box.

get_To Gets or sets the email address or addresses that you want to
send the email to.
T IT L E DESC RIP T IO N

get_Triggers Gets or sets a collection of triggers used to start a task.

get_Type Gets the type of action.

get_Type Gets the type of the trigger.

get_URI Gets or sets the URI of the task.

get_UserId Gets or sets the identifier of the user.

get_UserId Gets or sets the user identifier that is required to run the tasks
that are associated with the principal.

get_UserId Gets or sets the user for the Terminal Server session. When a
session state change is detected for this user, a task is started.

get_UseUnifiedSchedulingEngine Gets or sets a Boolean value that indicates that the Unified
Scheduling Engine will be utilized to run this task.

get_Value Gets or sets the value that is associated with a name in a


name-value pair.

get_ValueQueries Gets or sets a collection of named XPath queries. Each query


in the collection is applied to the last matching event XML
returned from the subscription query specified in the
Subscription property.

get_Version Gets or sets the version number of the task.

get_Volatile Gets or sets a boolean value that indicates whether the task is
automatically disabled every time Windows starts.

get_WaitTimeout Gets or sets a value that indicates the amount of time that the
Task Scheduler will wait for an idle condition to occur.

get_WakeToRun Gets or sets a Boolean value that indicates that the Task
Scheduler will wake the computer when it is time to run the
task, and keep the computer awake until the task is
completed.

get_WeeksInterval Gets or sets the interval between the weeks in the schedule.

get_WeeksOfMonth Gets or sets the weeks of the month during which the task
runs.

get_WorkingDirectory Gets or sets the directory that contains either the executable
file or the files that are used by the executable file.

get_Xml Gets the XML-formatted registration information for the


registered task.

get_XmlText Gets or sets an XML-formatted version of the collection.


T IT L E DESC RIP T IO N

get_XmlText Gets or sets an XML-formatted version of the registration


information for the task.

get_XmlText Gets or sets the XML-formatted definition of the task.

get_XmlText Gets or sets an XML-formatted definition of the task settings.

GetAccountInformation Retrieves the account name for the work item.

GetApplicationName This method retrieves the name of the application that the
task is associated with.

GetComment Retrieves the comment for the work item.

GetContext Used to share the context between different steps and tasks
that are in the same job instance.

GetCreator Retrieves the name of the creator of the work item.

GetErrorRetryCount Retrieves the number of times that the Task Scheduler will
retry an operation when an error occurs. This method is not
implemented.

GetErrorRetryInterval Retrieves the time interval, in minutes, between Task


Scheduler's attempts to run a work item if an error occurs. This
method is not implemented.

GetExitCode Retrieves the last exit code returned by the executable


associated with the work item on its last run. The method also
returns the exit code returned to Task Scheduler when it last
attempted to run the work item.

GetFlags Retrieves the flags that modify the behavior of any type of
work item.

GetFolder Gets a folder that contains tasks at a specified location.

GetFolder Gets a folder of registered tasks.

GetFolders Gets all the subfolders in the folder.

GetIdleWait Retrieves the idle wait time for the work item.

GetInput Gets the input variables for a task.

GetInstances Returns all instances of the currently running registered task.

GetMaxRunTime This method retrieves the maximum length of time, in


milliseconds, the task can run before terminating.

GetMostRecentRunTime Retrieves the most recent time the work item began running.
T IT L E DESC RIP T IO N

GetNextRunTime Retrieves the next time the work item will run.

GetPage This method retrieves one or more property sheet pages


associated with a task object.

GetParameters This method retrieves the task's command-line parameters.

GetPriority This method retrieves the priority for the task.

GetRunningTasks Gets a collection of running tasks.

GetRunTimes Retrieves the work item run times for a specified time period.

GetRunTimes Gets the times that the registered task is scheduled to run
during a specified time.

GetSecurityDescriptor Gets the security descriptor that is used as credentials for the
registered task.

GetSecurityDescriptor Gets the security descriptor for the folder.

GetStatus Retrieves the status of the work item.

GetTargetComputer The GetTargetComputer method returns the name of the


computer on which ITaskScheduler is currently targeted.

GetTask Gets a task at a specified location in a folder.

GetTaskFlags This method returns the flags that modify the behavior of a
task.

GetTasks Gets all the tasks in the folder.

GetTrigger Retrieves a task trigger.

GetTrigger The GetTrigger method retrieves the current task trigger.

GetTriggerCount Retrieves the number of triggers for the current work item.

GetTriggerString Retrieves a string that describes the work item trigger.

GetTriggerString The GetTriggerString method retrieves the current task trigger


in the form of a string. This string appears in the Task
Scheduler user interface in a form similar to "At 2PM every
day, starting 5/11/97.".

GetWorkingDirectory This method retrieves the task'sworking directory.

GetWorkItemData Retrieves application-defined data associated with the work


item.
T IT L E DESC RIP T IO N

IsOfType The IsOfType method checks the object's type to verify that it
supports a particular interface.

NewTask Returns an empty task definition object to be filled in with


settings and properties and then registered using the
ITaskFolder::RegisterTaskDefinition method.

NewWorkItem The NewWorkItem method creates a new work item, allocating


space for the work item and retrieving its address.

Next Retrieves the next specified number of tasks in the


enumeration sequence.

Pause Called to pause the COM handler.

put_Actions Gets or sets a collection of actions performed by the task.

put_AllowDemandStart Gets or sets a Boolean value that indicates that the task can
be started by using either the Run command or the Context
menu.

put_AllowHardTerminate Gets or sets a Boolean value that indicates that the task may
be terminated by the Task Scheduler service using
TerminateProcess.

put_Arguments Gets or sets the arguments associated with the command-line


operation.

put_Attachments Gets or sets the pointer to an array of attachments that is


sent with the email message.

put_Author Gets or sets the author of the task.

put_Bcc Gets or sets the email address or addresses that you want to
Bcc in the email message.

put_Body Gets or sets the body of the email that contains the email
message.

put_Cc Gets or sets the email address or addresses that you want to
Cc in the email message.

put_ClassId Gets or sets the identifier of the handler class.

put_Compatibility Gets or sets an integer value that indicates which version of


Task Scheduler a task is compatible with.

put_Context Gets or sets the identifier of the principal for the task.

put_Data Gets or sets additional data that is associated with the handler.

put_Data Gets or sets the data that is associated with the task.
T IT L E DESC RIP T IO N

put_Date Gets or sets the date and time when the task is registered.

put_DaysInterval Gets or sets the interval between the days in the schedule.

put_DaysOfMonth Gets or sets the days of the month during which the task
runs.

put_DaysOfWeek Gets or sets the days of the week during which the task runs.

put_DaysOfWeek Gets or sets the days of the week in which the task runs.

put_Deadline Gets or sets the amount of time after which the Task scheduler
attempts to run the task during emergency Automatic
maintenance, if the task failed to complete during regular
Automatic maintenance.

put_Delay Gets or sets a value that indicates the amount of time


between when the system is booted and when the task is
started.

put_Delay Gets or sets a value that indicates the amount of time


between when the event occurs and when the task is started.

put_Delay Gets or sets a value that indicates the amount of time


between when the user logs on and when the task is started.

put_Delay Gets or sets the amount of time between when the task is
registered and when the task is started.

put_Delay Gets or sets a value that indicates how long of a delay takes
place before a task is started after a Terminal Server session
state change is detected.

put_DeleteExpiredTaskAfter Gets or sets the amount of time that the Task Scheduler will
wait before deleting the task after it expires.

put_Description Gets or sets the description of the task.

put_DisallowStartIfOnBatteries Gets or sets a Boolean value that indicates that the task will
not be started if the computer is running on batteries.

put_DisallowStartOnRemoteAppSession Gets or sets a Boolean value that specifies that the task will
not be started if triggered to run in a Remote Applications
Integrated Locally (RAIL) session.

put_DisplayName Gets or sets the name of the principal.

put_Documentation Gets or sets any additional documentation for the task.

put_Duration Gets or sets how long the pattern is repeated.

put_Enabled Gets or sets a Boolean value that indicates if the registered


task is enabled.
T IT L E DESC RIP T IO N

put_Enabled Gets or sets a Boolean value that indicates whether the trigger
is enabled.

put_EndBoundary Gets or sets the date and time when the trigger is deactivated.

put_Exclusive Indicates whether the Task scheduler must start the task
during the Automatic maintenance in exclusive mode.

put_ExecutionTimeLimit Gets or sets the amount of time that is allowed to complete


the task.

put_ExecutionTimeLimit Gets or sets the maximum amount of time that the task
launched by this trigger is allowed to run.

put_From Gets or sets the email address that you want to send the
email from.

put_GroupId Gets or sets the identifier of the user group that is required to
run the tasks that are associated with the principal.

put_HeaderFields Gets or sets the header information in the email message to


send.

put_Hidden Gets or sets a Boolean value that indicates that the task will
not be visible in the UI.

put_Id Gets or sets the identifier of the action.

put_Id Gets or sets a GUID value that identifies a network profile.

put_Id Gets or sets the identifier of the principal.

put_Id Gets or sets the identifier for the trigger.

put_IdleDuration Gets or sets a value that indicates the amount of time that the
computer must be in an idle state before the task is run.

put_IdleSettings Gets or sets the information that specifies how the Task
Scheduler performs tasks when the computer is in an idle
condition.

put_Interval Gets or sets the amount of time between each restart of the
task.

put_LogonType Gets or sets the security logon method that is required to run
the tasks that are associated with the principal.

put_MaintenanceSettings Gets or sets a pointer to pointer to an


IMaintenanceSettingsobject that Task scheduler uses to
perform a task during Automatic maintenance.

put_MessageBody Gets or sets the message text that is displayed in the body of
the message box.
T IT L E DESC RIP T IO N

put_MonthsOfYear Gets or sets the months of the year during which the task
runs.

put_MonthsOfYear Gets or sets the months of the year during which the task
runs.

put_MultipleInstances Gets or sets the policy that defines how the Task Scheduler
deals with multiple instances of the task.

put_Name Gets or sets the name of a network profile.

put_Name Gets or sets the name that is associated with a value in a


name-value pair.

put_NetworkSettings Gets or sets the network settings object that contains a


network profile identifier and name.

put_Path Gets or sets the path to an executable file.

put_Period Gets or sets the amount of time the task needs to be once
executed during regular Automatic maintenance.

put_Principal Gets or sets the principal for the task that provides the
security credentials for the task.

put_Priority Gets or sets the priority level of the task.

put_ProcessTokenSidType Gets or sets the task process security identifier (SID) type.

put_RandomDelay Gets or sets a delay time that is randomly added to the start
time of the trigger.

put_RandomDelay Gets or sets a delay time that is randomly added to the start
time of the trigger.

put_RandomDelay Gets or sets a delay time that is randomly added to the start
time of the trigger.

put_RandomDelay Gets or sets a delay time that is randomly added to the start
time of the trigger.

put_RandomDelay Gets or sets a delay time that is randomly added to the start
time of the trigger.

put_RegistrationInfo Gets or sets the registration information used to describe a


task, such as the description of the task, the author of the
task, and the date the task is registered.

put_Repetition Gets or sets a value that indicates how often the task is run
and how long the repetition pattern is repeated after the task
is started.

put_ReplyTo Gets or sets the email address that you want to reply to.
T IT L E DESC RIP T IO N

put_RestartCount Gets or sets the number of times that the Task Scheduler will
attempt to restart the task.

put_RestartInterval Gets or sets a value that specifies how long the Task Scheduler
will attempt to restart the task.

put_RestartOnIdle Gets or sets a Boolean value that indicates whether the task is
restarted when the computer cycles into an idle condition
more than once.

put_RunLevel Gets or sets the identifier that is used to specify the privilege
level that is required to run the tasks that are associated with
the principal.

put_RunOnLastDayOfMonth Gets or sets a Boolean value that indicates that the task runs
on the last day of the month.

put_RunOnLastWeekOfMonth Gets or sets a Boolean value that indicates that the task runs
on the last week of the month.

put_RunOnlyIfIdle Gets or sets a Boolean value that indicates that the Task
Scheduler will run the task only if the computer is in an idle
condition.

put_RunOnlyIfNetworkAvailable Gets or sets a Boolean value that indicates that the Task
Scheduler will run the task only when a network is available.

put_SecurityDescriptor Gets or sets the security descriptor of the task.

put_Server Gets or sets the name of the SMTP server that you use to
send email from.

put_Settings Gets or sets the settings that define how the Task Scheduler
service performs the task.

put_Source Gets or sets where the task originated from. For example, a
task may originate from a component, service, application, or
user.

put_StartBoundary Gets or sets the date and time when the trigger is activated.

put_StartWhenAvailable Gets or sets a Boolean value that indicates that the Task
Scheduler can start the task at any time after its scheduled
time has passed.

put_StateChange Gets or sets the kind of Terminal Server session change that
would trigger a task launch.

put_StopAtDurationEnd Gets or sets a Boolean value that indicates if a running


instance of the task is stopped at the end of the repetition
pattern duration.

put_StopIfGoingOnBatteries Gets or sets a Boolean value that indicates that the task will be
stopped if the computer is going onto batteries.
T IT L E DESC RIP T IO N

put_StopOnIdleEnd Gets or sets a Boolean value that indicates that the Task
Scheduler will terminate the task if the idle condition ends
before the task is completed. The idle condition ends when the
computer is no longer idle.

put_Subject Gets or sets the subject of the email message.

put_Subscription Gets or sets a query string that identifies the event that fires
the trigger.

put_Title Gets or sets the title of the message box.

put_To Gets or sets the email address or addresses that you want to
send the email to.

put_Triggers Gets or sets a collection of triggers used to start a task.

put_URI Gets or sets the URI of the task.

put_UserId Gets or sets the identifier of the user.

put_UserId Gets or sets the user identifier that is required to run the tasks
that are associated with the principal.

put_UserId Gets or sets the user for the Terminal Server session. When a
session state change is detected for this user, a task is started.

put_UseUnifiedSchedulingEngine Gets or sets a Boolean value that indicates that the Unified
Scheduling Engine will be utilized to run this task.

put_Value Gets or sets the value that is associated with a name in a


name-value pair.

put_ValueQueries Gets or sets a collection of named XPath queries. Each query


in the collection is applied to the last matching event XML
returned from the subscription query specified in the
Subscription property.

put_Version Gets or sets the version number of the task.

put_Volatile Gets or sets a boolean value that indicates whether the task is
automatically disabled every time Windows starts.

put_WaitTimeout Gets or sets a value that indicates the amount of time that the
Task Scheduler will wait for an idle condition to occur.

put_WakeToRun Gets or sets a Boolean value that indicates that the Task
Scheduler will wake the computer when it is time to run the
task, and keep the computer awake until the task is
completed.

put_WeeksInterval Gets or sets the interval between the weeks in the schedule.
T IT L E DESC RIP T IO N

put_WeeksOfMonth Gets or sets the weeks of the month during which the task
runs.

put_WorkingDirectory Gets or sets the directory that contains either the executable
file or the files that are used by the executable file.

put_XmlText Gets or sets an XML-formatted version of the collection.

put_XmlText Gets or sets an XML-formatted version of the registration


information for the task.

put_XmlText Gets or sets the XML-formatted definition of the task.

put_XmlText Gets or sets an XML-formatted definition of the task settings.

Refresh Refreshes all of the local instance variables of the task.

RegisterTask Registers (creates) a new task in the folder using XML to define
the task.

RegisterTaskDefinition Registers (creates) a task in a specified location using the


ITaskDefinition interface to define a task.

Remove Removes the specified action from the collection.

Remove Removes a selected name-value pair from the collection.

Remove Removes the specified trigger from the collection of triggers


used by the task.

Reset Resets the enumeration sequence to the beginning.

Resume Called to resume the COM handler.

Run Sends a request to the Task Scheduler service to run the work
item.

Run Runs the registered task immediately.

RunEx Runs the registered task immediately using specified flags and
a session identifier.

SetAccountInformation Sets the account name and password used to run the work
item.

SetApplicationName This method assigns a specific application to the current task.

SetComment Sets the comment for the work item.

SetCreator Sets the name of the work item's creator.


T IT L E DESC RIP T IO N

SetErrorRetryCount Sets the number of times Task Scheduler will try to run the
work item again if an error occurs. This method is not
implemented.

SetErrorRetryInterval Sets the time interval, in minutes, between Task Scheduler's


attempts to run a work item after an error occurs. This
method is not implemented.

SetFlags Sets the flags that modify the behavior of any type of work
item.

SetIdleWait Sets the minutes that the system must be idle before the work
item can run.

SetMaxRunTime This method sets the maximum time the task can run, in
milliseconds, before terminating.

SetOutput Sets the output variables for a task.

SetParameters This method sets the command-line parameters for the task.

SetPriority This method sets the priority for the task.

SetSecurityDescriptor Sets the security descriptor that is used as credentials for the
registered task.

SetSecurityDescriptor Sets the security descriptor for the folder.

SetTargetComputer The SetTargetComputer method selects the computer that the


ITaskScheduler interface operates on, allowing remote task
management and enumeration.

SetTaskFlags This method sets the flags that modify the behavior of a
scheduled task.

SetTrigger The SetTrigger method sets the trigger criteria for a task
trigger.

SetWorkingDirectory This method sets the working directory for the task.

SetWorkItemData This method stores application-defined data associated with


the work item.

Skip Skips the next specified number of tasks in the enumeration


sequence.

Start Called to start the COM handler.

Stop Stops the registered task immediately.

Stop Stops this instance of the task.

Stop Called to stop the COM handler.


T IT L E DESC RIP T IO N

TaskCompleted Tells the Task Scheduler that the COM handler is completed.

Terminate This method ends the execution of the work item.

UpdateStatus Tells the Task Scheduler about the percentage of completion of


the COM handler.

Interfaces
T IT L E DESC RIP T IO N

IAction Provides the common properties inherited by all action


objects.

IActionCollection Contains the actions that are performed by the task.

IBootTrigger Represents a trigger that starts a task when the system is


started.

IComHandlerAction Represents an action that fires a handler.

IDailyTrigger Represents a trigger that starts a task based on a daily


schedule.

IEmailAction Represents an action that sends an email message.

IEnumWorkItems Provides the methods for enumerating the tasks in the


Scheduled Tasks folder.

IEventTrigger Represents a trigger that starts a task when a system event


occurs.

IExecAction Represents an action that executes a command-line operation.

IIdleSettings Specifies how the Task Scheduler performs tasks when the
computer is in an idle condition.

IIdleTrigger Represents a trigger that starts a task when the computer


goes into an idle state.

ILogonTrigger Represents a trigger that starts a task when a user logs on.

IMaintenanceSettings Provides the settings that the Task Scheduler uses to perform
task during Automatic maintenance.

IMonthlyDOWTrigger Represents a trigger that starts a task on a monthly day-of-


week schedule.

IMonthlyTrigger Represents a trigger that starts a job based on a monthly


schedule.
T IT L E DESC RIP T IO N

INetworkSettings Provides the settings that the Task Scheduler service uses to
obtain a network profile.

IPrincipal Provides the security credentials for a principal.

IPrincipal2 Provides the extended settings applied to security credentials


for a principal.

IProvideTaskPage Provides the methods to access the property sheet settings of


a task.

IRegisteredTask Provides the methods that are used to run the task
immediately, get any running instances of the task, get or set
the credentials that are used to register the task, and the
properties that describe the task.

IRegisteredTaskCollection Contains all the tasks that are registered.

IRegistrationInfo Provides the administrative information that can be used to


describe the task.

IRegistrationTrigger Represents a trigger that starts a task when the task is


registered or updated.

IRepetitionPattern Defines how often the task is run and how long the repetition
pattern is repeated after the task is started.

IRunningTask Provides the methods to get information from and control a


running task.

IRunningTaskCollection Provides a collection that is used to control running tasks.

IScheduledWorkItem Provides the methods for managing specific work items.

ISessionStateChangeTrigger Triggers tasks for console connect or disconnect, remote


connect or disconnect, or workstation lock or unlock
notifications.

IShowMessageAction Represents an action that shows a message box when a task is


activated.

ITask Provides the methods for running tasks, getting or setting


task information, and terminating tasks. It is derived from the
IScheduledWorkItem interface and inherits all the methods of
that interface.

ITaskDefinition Defines all the components of a task, such as the task settings,
triggers, actions, and registration information.

ITaskFolder Provides the methods that are used to register (create) tasks
in the folder, remove tasks from the folder, and create or
remove subfolders from the folder.
T IT L E DESC RIP T IO N

ITaskFolderCollection Provides information and control for a collection of folders


that contain tasks.

ITaskHandler Defines the methods that are called by the Task Scheduler
service to manage a COM handler.

ITaskHandlerStatus Provides the methods that are used by COM handlers to


notify the Task Scheduler about the status of the handler.

ITaskNamedValueCollection Contains a collection of ITaskNamedValuePair interface name-


value pairs.

ITaskNamedValuePair Creates a name-value pair in which the name is associated


with the value.

ITaskScheduler Provides the methods for scheduling tasks.

ITaskService Provides access to the Task Scheduler service for managing


registered tasks.

ITaskSettings Provides the settings that the Task Scheduler service uses to
perform the task.

ITaskSettings2 Provides the extended settings that the Task Scheduler uses to
run the task.

ITaskSettings3 Provides the extended settings that the Task Scheduler uses to
run the task.

ITaskTrigger Provides the methods for accessing and setting triggers for a
task. Triggers specify task start times, repetition criteria, and
other parameters that control when a task is run.

ITaskVariables Defines task variables that can be passed as parameters to


task handlers and external executables that are launched by
tasks.

ITimeTrigger Represents a trigger that starts a task at a specific date and


time.

ITrigger Provides the common properties that are inherited by all


trigger objects.

ITriggerCollection Provides the methods that are used to add to, remove from,
and get the triggers of a task.

IWeeklyTrigger Represents a trigger that starts a task based on a weekly


schedule.

Structures
T IT L E DESC RIP T IO N

DAILY Defines the interval, in days, at which a task is run.

MONTHLYDATE Defines the day of the month the task will run.

MONTHLYDOW Defines the date(s) that the task runs by month, week, and
day of the week.

TASK_TRIGGER Defines the times to run a scheduled work item.

TRIGGER_TYPE_UNION Defines the invocation schedule of the trigger within the Type
member of a TASK_TRIGGER structure.

WEEKLY Defines the interval, in weeks, between invocations of a task.


Telephony Application Programming Interfaces
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Telephony Application Programming Interfaces technology.


To develop Telephony Application Programming Interfaces, you need these headers:
mdhcp.h
msp.h
mspaddr.h
mspcall.h
mspstrm.h
rend.h
tapi3.h
tapi3cc.h
tapi3ds.h
tapi3if.h
termmgr.h
For programming guidance for this technology, see:
Telephony Application Programming Interfaces
Telephony Service Provider
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Telephony Service Provider technology.


The Telephony Service Provider technology is not associated with any headers.
For programming guidance for this technology, see:
Telephony Application Programming Interfaces
Text Services Framework
2/7/2020 • 44 minutes to read • Edit Online

Overview of the Text Services Framework technology.


To develop Text Services Framework, you need these headers:
ctffunc.h
ctfspui.h
ctfutb.h
inputscope.h
msaatext.h
msctf.h
msctfmonitorapi.h
textstor.h
For programming guidance for this technology, see:
Text Services Framework

Enumerations
T IT L E DESC RIP T IO N

InputScope The InputScope enumeration contains values that specify


which input scopes are applied to a given field.

TF_DA_ATTR_INFO Elements of the TF_DA_ATTR_INFO enumeration are used to


specify text conversion data in the TF_DISPLAYATTRIBUTE
structure.

TF_DA_COLORTYPE Elements of the TF_DA_COLORTYPE enumeration specify the


format of the color contained in the TF_DA_COLOR structure.

TF_DA_LINESTYLE Elements of the TF_DA_LINESTYLE enumeration specify the


underline style of a display attribute in the TF_DA_COLOR
structure.

TfActiveSelEnd Elements of the TfActiveSelEnd enumeration specify which end


of a selected range of text is active.

TfAnchor Elements of the TfAnchor enumeration specify the start


anchor or end anchor of an ITfRange object.

TfCandidateResult Elements of the TfCandidateResult enumeration are used with


the ITfCandidateList::SetResult method to specify the result of
a reconversion operation performed on a given candidate
string.

TfGravity Elements of the TfGravity enumeration specify the type of


gravity associated with the anchor of an ITfRange object.
T IT L E DESC RIP T IO N

TfIntegratableCandidateListSelectionStyle Elements of the TfIntegratableCandidateListSelectionStyle


enumeration specify the integratable candidate list selection
styles.

TfLayoutCode Elements of the TfLayoutCode enumeration specify the type of


layout change in an ITfTextLayoutSink::OnLayoutChange
notification.

TfLBBalloonStyle Elements of the TfLBBalloonStyle enumeration are used to


specify a language bar balloon style.

TfLBIClick Elements of the TfLBIClick enumeration specify which mouse


button was used to click a toolbar item.

TfSapiObject Elements of the TfSapiObject enumeration are used with the


ITfFnGetSAPIObject::Get method to specify a specific type of
Speech API (SAPI) object.

TfShiftDir Elements of the TfShiftDir enumeration specify which direction


a range anchor is moved.

TKBLayoutType Elements of the TKBLayoutType enumeration are passed by an


IME in a call to
ITfFnGetPreferredTouchKeyboardLayout::GetLayout to specify
the type of layout.

TsActiveSelEnd Elements of the TsActiveSelEnd enumeration specify which end


of a text store selection is active.

TsGravity Elements of the TsGravity enumeration specify the gravity


type associated with an IAnchor object.

TsLayoutCode Elements of the TsLayoutCode enumeration are used to


specify the type of layout change in an
ITextStoreACPSink::OnLayoutChange or
ITextStoreAnchorSink::OnLayoutChange notification.

TsRunType Elements of the TsRunType enumeration specify if a text run is


visible, hidden, or is a private data type embedded in the text
run.

TsShiftDir Elements of the TsShiftDir enumeration specify which direction


an anchor is moved.

Functions
T IT L E DESC RIP T IO N

Abort The ITfCandidateListUIElementBehavior::Abort method closes


the candidate list. There is no guarantee that the current
selection will be finalized.

Activate ITfTextInputProcessor::Activate method


T IT L E DESC RIP T IO N

Activate ITfThreadMgr::Activate method

Activate Activates TSF for the calling thread.

ActivateEx The ITfTextInputProcessorEx::ActivateEx method activates a


text service when a user session starts. If the text service
implements ITfTextInputProcessorEx and ActivateEx is called,
ITfTextInputProcessor::Activate will not be called.

ActivateEx Initializes and activates TSF for the calling thread with a flag
that specifies how TSF is activated.

ActivateEx The ITfThreadMgrEx::ActivateEx method is used by an


application to initialize and activate TSF for the calling thread.
Unlike ITfThreadMgr::Activate, ITfThreadMgrEx::ActivateEx can
take a flag to specify how TSF is activated.

ActivateLanguageProfile ITfInputProcessorProfiles::ActivateLanguageProfile method

ActivateProfile The ITfInputProcessorProfileMgr::ActivateProfile method


activates the specified text service's profile or keyboard layout.

AddItem ITfLangBarItemMgr::AddItem method

AddLanguageProfile ITfInputProcessorProfiles::AddLanguageProfile method

AddMenuItem ITfMenu::AddMenuItem method

AdjustForInsert The ITfRange::AdjustForInsert method expands or contracts a


range of text to adjust for text insertion.

AdviseEventSink The ITfLangBarMgr::AdviseEventSink method advises a sink


about a language bar event.

AdviseItemSink ITfLangBarItemMgr::AdviseItemSink method

AdviseItemsSink ITfLangBarItemMgr::AdviseItemsSink method

AdviseKeyEventSink ITfKeystrokeMgr::AdviseKeyEventSink method

AdviseMouseSink ITfMouseTracker::AdviseMouseSink method

AdviseMouseSink ITfMouseTrackerACP::AdviseMouseSink method

AdviseSingleSink ITfSourceSingle::AdviseSingleSink method

AdviseSink The ITextStoreACP::AdviseSink method installs a new advise


sink from the ITextStoreACPSink interface or modifies an
existing advise sink. The sink interface is specified by the punk
parameter.
T IT L E DESC RIP T IO N

AdviseSink Installs a new advise sink from the ITextStoreACPSink interface


or modifies an existing advise sink. The sink interface is
specified by the punk parameter.

AdviseSink The ITextStoreAnchor::AdviseSink method installs a new advise


sink from the ITextStoreAnchorSink interface or modifies an
existing advise sink.

AdviseSink ITfSource::AdviseSink method

AssociateFocus ITfThreadMgr::AssociateFocus method

BeginUIElement The ITfUIElementMgr::BeginUIElement method is called by a


text service before showing UI. The value returned determines
whether the UI for the text service should be shown or not.

BeginUIElement The ITfUIElementSink::BeginUIElement method is called when


the UIElement started. This sink can let the textservice to
draw or not to draw the UI element.

ChangeCurrentLanguage ITfInputProcessorProfiles::ChangeCurrentLanguage method

Clear ITfProperty::Clear method

ClearChangeHistory The IAnchor::ClearChangeHistory method clears the anchor


change history flags.

ClearCompartment ITfCompartmentMgr::ClearCompartment method

Clone The IAnchor::Clone method produces a new anchor object


positioned at the same location, and with the same gravity, as
the current anchor.

Clone IEnumITfCompositionView::Clone method

Clone IEnumTfContexts::Clone method

Clone IEnumTfDisplayAttributeInfo::Clone method

Clone IEnumTfDocumentMgrs::Clone method

Clone IEnumTfFunctionProviders::Clone method

Clone The IEnumTfInputProcessorProfiles::Clone method creates a


copy of the enumerator object.

Clone IEnumTfLanguageProfiles::Clone method

Clone IEnumTfProperties::Clone method

Clone IEnumTfPropertyValue::Clone method


T IT L E DESC RIP T IO N

Clone IEnumTfRanges::Clone method

Clone The IEnumTfUIElements::Clone method creates a copy of the


enumerator object.

Clone ITfPropertyStore::Clone method

Clone The ITfRange::Clone method duplicates this range of text.

Clone IEnumTfCandidates::Clone method

Clone IEnumTfLatticeElements::Clone method

Clone IEnumTfLangBarItems::Clone method

Collapse The ITfRange::Collapse method clears the range of text by


moving its start anchor and end anchor to the same position.

Compare The IAnchor::Compare method compares the relative position


of two anchors within a text stream.

CompareEnd The ITfRange::CompareEnd method compares the end anchor


position of this range of text to an anchor in another range.

CompareStart The ITfRange::CompareStart method compares the start


anchor position of this range of text to an anchor in another
range.

CreateContext ITfDocumentMgr::CreateContext method

CreateDocumentMgr ITfThreadMgr::CreateDocumentMgr method

CreateDocumentMgr Creates a document manager object.

CreatePropertyStore ITfCreatePropertyStore::CreatePropertyStore method

CreateRange ITextStoreACPServices::CreateRange method

CreateRange The ITfContextOwnerServices::CreateRange method creates a


new ranged based upon a specified character position.

CreateRangeBackup ITfContext::CreateRangeBackup method

Deactivate ITfTextInputProcessor::Deactivate method

Deactivate ITfThreadMgr::Deactivate method

Deactivate Deactivates TSF for the calling thread.

DeactivateProfile The ITfInputProcessorProfileMgr::DeactivateProfile method


deactivates the specified text service's profile or keyboard
layout.
T IT L E DESC RIP T IO N

DisableSystemKeystrokeFeed ITfConfigureSystemKeystrokeFeed::DisableSystemKeystrokeFe
ed method

Divide ITfPropertyStore::Divide method

DoEditSession ITfEditSession::DoEditSession method

DoReverseConversion Performs a reverse conversion of the specified string.

DrawBitmap ITfLangBarItemBitmap::DrawBitmap method

DrawBitmap ITfLangBarItemBitmapButton::DrawBitmap method

EnableLanguageProfile ITfInputProcessorProfiles::EnableLanguageProfile method

EnableLanguageProfileByDefault ITfInputProcessorProfiles::EnableLanguageProfileByDefault
method

EnableSystemKeystrokeFeed ITfConfigureSystemKeystrokeFeed::EnableSystemKeystrokeFee
d method

EndComposition ITfComposition::EndComposition method

EndUIElement The ITfUIElementMgr::EndUIElement method is called by a


text service when the element of UI is hidden.

EndUIElement The ITfUIElementSink::EndUIElement method is called when


the UIElement is finished.

EnumCandidates ITfCandidateList::EnumCandidates method

EnumCategoriesInItem ITfCategoryMgr::EnumCategoriesInItem method

EnumCompartments The ITfCompartmentMgr::EnumCompartments method


obtains an enumerator that contains the GUID of the
compartments within the compartment manager.

EnumCompositions ITfContextComposition::EnumCompositions method

EnumContexts ITfDocumentMgr::EnumContexts method

EnumDisplayAttributeInfo ITfDisplayAttributeMgr::EnumDisplayAttributeInfo method

EnumDisplayAttributeInfo ITfDisplayAttributeProvider::EnumDisplayAttributeInfo method

EnumDocumentMgrs ITfThreadMgr::EnumDocumentMgrs method

EnumDocumentMgrs Returns an enumerator for all the document managers within


the calling thread.

EnumFunctionProviders ITfThreadMgr::EnumFunctionProviders method


T IT L E DESC RIP T IO N

EnumFunctionProviders Obtains an enumerator for all of the function providers


registered for the calling thread.

EnumInputProcessorInfo ITfInputProcessorProfiles::EnumInputProcessorInfo method

EnumItems ITfLangBarItemMgr::EnumItems method

EnumItemsInCategory ITfCategoryMgr::EnumItemsInCategory method

EnumLanguageProfiles ITfInputProcessorProfiles::EnumLanguageProfiles method

EnumLatticeElements ITfLMLattice::EnumLatticeElements method

EnumProfiles The ITfInputProcessorProfileMgr::EnumProfiles method


returns profiles to be enumerated.

EnumProperties ITfContext::EnumProperties method

EnumRanges ITfReadOnlyProperty::EnumRanges method

EnumUIElements The ITfUIElementMgr::EnumUIElements method returns


IEnumTfUIElements interface pointer to enumerate the
ITfUIElement.

EnumWordList ITfInputScope2::EnumWordList method

Finalize The ITfCandidateListUIElementBehavior::Finalize method


finalizes the current selection and close the candidate list.

FinalizeExactCompositionString Finalizes the current composition with the value currently


shown to the user.

FindClosestCategory ITfCategoryMgr::FindClosestCategory method

FindComposition ITfContextComposition::FindComposition method

FindNextAttrTransition The ITextStoreACP::FindNextAttrTransition method determines


the character position where a transition occurs in an attribute
value. The specified attribute to check is application-
dependent.

FindNextAttrTransition Determines the character position where a transition occurs in


an attribute value. The specified attribute to check is
application-dependent.

FindNextAttrTransition The ITextStoreAnchor::FindNextAttrTransition method finds the


location in the text stream where a transition occurs in an
attribute value. The specified attribute to check is application-
dependent.

FindRange ITfProperty::FindRange method

ForceLoadProperty ITextStoreACPServices::ForceLoadProperty method


T IT L E DESC RIP T IO N

ForceLoadProperty ITfContextOwnerServices::ForceLoadProperty method

Get ITfFnGetSAPIObject::Get method

GetACPFromPoint The ITextStoreACP::GetACPFromPoint method converts a


point in screen coordinates to an application character
position.

GetACPFromPoint Converts a point in screen coordinates to an application


character position.

GetACPFromPoint The ITfContextOwner::GetACPFromPoint method converts a


point in screen coordinates to an application character
position.

GetActiveFlags Gets the active flags of the calling thread.

GetActiveFlags The ITfThreadMgrEx::GetActiveFlags method returns the flags


TSF is active with.

GetActiveLanguageProfile ITfInputProcessorProfiles::GetActiveLanguageProfile method

GetActiveProfile This method returns the current active profile.

GetActiveView The ITextStoreACP::GetActiveView method returns a


TsViewCookie data type that specifies the current active view.

GetActiveView Gets a TsViewCookie that represents the current active view.

GetActiveView The ITextStoreAnchor::GetActiveView method returns a


TsViewCookie data type that specifies the current active view.
TSF supports only a single active view, so a given text store
should always return the same TsViewCookie data type.

GetActiveView ITfContext::GetActiveView method

GetAlternates Returns a list of alternate strings for a given text range.

GetAnchorFromPoint The ITextStoreAnchor::GetAnchorFromPoint method converts


a point in screen coordinates to an anchor positioned at a
corresponding location.

GetAppProperty ITfContext::GetAppProperty method

GetAttribute The ITfContextOwner::GetAttribute method returns the value


of a supported attribute. If the attribute is unsupported, the
pvarValue parameter is set to VT_EMPTY.

GetAttributeInfo ITfDisplayAttributeInfo::GetAttributeInfo method

GetBalloonInfo ITfLangBarItemBalloon::GetBalloonInfo method

GetBase ITfDocumentMgr::GetBase method


T IT L E DESC RIP T IO N

GetCandidate ITfCandidateList::GetCandidate method

GetCandidateNum ITfCandidateList::GetCandidateNum method

GetChangeHistory The IAnchor::GetChangeHistory method gets the history of


deletions that have occurred immediately preceding or
following the anchor.

GetClientId ITfClientId::GetClientId method

GetCompartment ITfCompartmentMgr::GetCompartment method

GetContext ITfRange::GetContext method

GetContext This method returns the target ITfContext of this reading


information UI.

GetContext ITfReadOnlyProperty::GetContext method

GetCount The ITfCandidateListUIElement::GetCount method returns the


count of the candidate strings.

GetCurrentLanguage ITfInputProcessorProfiles::GetCurrentLanguage method

GetCurrentPage The ITfCandidateListUIElement::GetCurrentPage method


returns the current page.

GetData ITfPropertyStore::GetData method

GetDataType ITfPropertyStore::GetDataType method

GetDefaultLanguageProfile ITfInputProcessorProfiles::GetDefaultLanguageProfile method

GetDescription ITfDisplayAttributeInfo::GetDescription method

GetDescription ITfFunctionProvider::GetDescription method

GetDescription The ITfUIElement::GetDescription method returns the


description of the UI element.

GetDisplayAttributeInfo ITfDisplayAttributeMgr::GetDisplayAttributeInfo method

GetDisplayAttributeInfo ITfDisplayAttributeProvider::GetDisplayAttributeInfo method

GetDisplayName ITfFunction::GetDisplayName method

GetDocumentMgr The ITfCandidateListUIElement::GetDocumentMgr method


returns the target document manager of this UI.

GetDocumentMgr ITfContext::GetDocumentMgr method


T IT L E DESC RIP T IO N

GetDocumentMgr The ITfTransitoryExtensionUIElement::GetDocumentMgr


method returns the pointer of the transitory document
manager.

GetEmbedded Gets an embedded document.

GetEmbedded Gets an embedded document.

GetEmbedded The ITextStoreAnchor::GetEmbedded method obtains an


embedded object from a text stream.

GetEmbedded The ITfRange::GetEmbedded method obtains content that


corresponds to a TS_CHAR_EMBEDDED character in the text
stream. The start anchor of the range of text is positioned just
before the character of interest.

GetEnd The ITextStoreAnchor::GetEnd method returns an anchor


positioned at the end of the text stream.

GetEnd ITfContext::GetEnd method

GetEndACP The ITextStoreACP::GetEndACP method returns the number of


characters in a document.

GetEndACP Gets the number of characters in a document.

GetErrorIndex This method returns the char index where the typing error
occurs.

GetExtent ITfRangeACP::GetExtent method

GetFocus ITfThreadMgr::GetFocus method

GetFocus Returns the document manager that has the input focus.

GetForeground ITfKeystrokeMgr::GetForeground method

GetFormattedText The ITextStoreACP::GetFormattedText method returns


formatted text data about a specified text string. The caller
must have a read/write lock on the document before calling
this method.

GetFormattedText Gets formatted text data about a specified text string. The
caller must have a read/write lock on the document before
calling this method.

GetFormattedText The ITextStoreAnchor::GetFormattedText method returns


formatted text information from a text stream.

GetFormattedText The ITfRange::GetFormattedText method obtains formatted


content contained within a range of text. The content is
packaged in an object that supports the IDataObject interface.
T IT L E DESC RIP T IO N

GetFunction ITfFunctionProvider::GetFunction method

GetFunctionProvider ITfThreadMgr::GetFunctionProvider method

GetFunctionProvider Obtains the specified function provider object.

GetGlobalCompartment ITfThreadMgr::GetGlobalCompartment method

GetGlobalCompartment Obtains the global compartment manager object.

GetGravity The IAnchor::GetGravity method retrieves the gravity of the


anchor in an IAnchor object.

GetGravity ITfRange::GetGravity method

GetGUID ITfCategoryMgr::GetGUID method

GetGUID ITfDisplayAttributeInfo::GetGUID method

GetGUID The ITfUIElement::GetGUID method returns the unique id of


this UI element.

GetGUIDDescription ITfCategoryMgr::GetGUIDDescription method

GetGUIDDWORD ITfCategoryMgr::GetGUIDDWORD method

GetIcon ITfLangBarItemButton::GetIcon method

GetIconMode ITfSystemDeviceTypeLangBarItem::GetIconMode method

GetIndex ITfCandidateString::GetIndex method

GetInfo ITfLangBarItem::GetInfo method

GetInputProcessorProfiles ITfLangBarMgr::GetInputProcessorProfiles method

GetInputScopes ITfInputScope::GetInputScopes method

GetItem ITfLangBarItemMgr::GetItem method

GetItemFloatingRect ITfLangBarEventSink::GetItemFloatingRect method

GetItemFloatingRect ITfLangBarItemMgr::GetItemFloatingRect method

GetItemNum ITfLangBarItemMgr::GetItemNum method

GetItems ITfLangBarItemMgr::GetItems method

GetItemsStatus ITfLangBarItemMgr::GetItemsStatus method


T IT L E DESC RIP T IO N

GetItemText The ITfSystemLangBarItemText::GetItemText method obtains


the text displayed for the system language bar menu.

GetLanguageList ITfInputProcessorProfiles::GetLanguageList method

GetLanguageProfileDescription ITfInputProcessorProfiles::GetLanguageProfileDescription
method

GetLayout Obtains the touch keyboard layout identifier of the layout


that the IME directs the touch keyboard to show while the
IME is active.

GetLength Retrieves the number of keystroke sequences in the list.

GetMaxReadingStringLength The
ITfReadingInformationUIElement::GetMaxReadingStringLength
method returns the max string count of the reading
information UI.

GetMessageA ITfMessagePump::GetMessageA method

GetMessageW ITfMessagePump::GetMessageW method

GetOwnerClsid ITfCompositionView::GetOwnerClsid method

GetPageIndex The ITfCandidateListUIElement::GetPageIndex method returns


the page index of the list.

GetPhrase ITfInputScope::GetPhrase method

GetPreferredSize ITfLangBarItemBalloon::GetPreferredSize method

GetPreferredSize ITfLangBarItemBitmap::GetPreferredSize method

GetPreferredSize ITfLangBarItemBitmapButton::GetPreferredSize method

GetPreservedKey ITfKeystrokeMgr::GetPreservedKey method

GetPreservedKeyDescription ITfKeystrokeMgr::GetPreservedKeyDescription method

GetProfile The ITfInputProcessorProfileMgr::GetProfile method returns


the information of the specified text service's profile or
keyboard layout in TF_INPUTPROCESSORPROFILE structure.

GetProperty ITfContext::GetProperty method

GetPropertyRangeCreator ITfPropertyStore::GetPropertyRangeCreator method

GetRange ITfComposition::GetRange method

GetRange ITfCompositionView::GetRange method


T IT L E DESC RIP T IO N

GetRangeFromPoint The ITfContextView::GetRangeFromPoint method converts a


point, in screen coordinates, to an empty range of text
positioned at a corresponding location.

GetReconversion ITfFnLMProcessor::GetReconversion method

GetReconversion ITfFnReconversion::GetReconversion method

GetRegularExpression ITfInputScope::GetRegularExpression method

GetReverseConversion Retrieves an ITfReverseConversion object that can perform


reverse conversions.

GetScreenExt The ITextStoreACP::GetScreenExt method returns the


bounding box screen coordinates of the display surface where
the text stream is rendered.

GetScreenExt Gets the bounding box screen coordinates of the display


surface where the text stream is rendered.

GetScreenExt The ITextStoreAnchor::GetScreenExt method returns the


bounding box screen coordinates of the display surface where
the text stream is rendered.

GetScreenExt The ITfContextOwner::GetScreenExt method returns the


bounding box, in screen coordinates, of the display surface
where the text stream is rendered.

GetScreenExt The ITfContextView::GetScreenExt method returns the


bounding box, in screen coordinates, of the document display.

GetSearchCandidates Gets a list of conversion candidates for a given string without


generating any IME-related messages or events.

GetSelection The ITextStoreACP::GetSelection method returns the character


position of a text selection in a document. This method
supports multiple text selections. The caller must have a read-
only lock on the document before calling this method.

GetSelection Gets the character position of a text selection in a document.


This method supports multiple text selections. The caller must
have a read-only lock on the document before calling this
method.

GetSelection The ITextStoreAnchor::GetSelection method returns the offset


of a text selection in a text stream. This method supports
multiple text selections. The caller must have a read-only lock
on the document before calling this method.

GetSelection The ITfCandidateListUIElement::GetSelection method returns


the current selection of the candidate list.

GetSelection ITfContext::GetSelection method


T IT L E DESC RIP T IO N

GetSelectionStatus ITfEditRecord::GetSelectionStatus method

GetSelectionStyle Retrieves the selection style.

GetShowFloatingStatus ITfLangBarMgr::GetShowFloatingStatus method

GetSRGS ITfInputScope::GetSRGS method

GetStart The ITextStoreAnchor::GetStart method returns an anchor


positioned at the start of the text stream.

GetStart ITfContext::GetStart method

GetStatus The ITextStoreACP::GetStatus method obtains the document


status. The document status is returned through the
TS_STATUS structure.

GetStatus Gets the document status. The document status is returned


through the TS_STATUS structure.

GetStatus The ITextStoreAnchor::GetStatus method obtains the


document status. The document status is returned through
the TS_STATUS structure.

GetStatus ITfContext::GetStatus method

GetStatus The ITfContextOwner::GetStatus method obtains the status of


a document. The document status is returned through the
TS_STATUS structure.

GetStatus ITfFnPropertyUIStatus::GetStatus method

GetStatus ITfLangBarItem::GetStatus method

GetString The ITfCandidateListUIElement::GetString method returns the


string of the index.

GetString This method returns the string on the reading information UI.

GetString Retrieves the keystroke sequence at the specified index.

GetString Returns the string of the tooltip.

GetString ITfCandidateString::GetString method

GetSubstituteKeyboardLayout ITfInputProcessorProfileSubstituteLayout::GetSubstituteKeybo
ardLayout method

GetText The ITextStoreACP::GetText method returns information about


text at a specified character position. This method returns the
visible and hidden text and indicates if embedded data is
attached to the text.
T IT L E DESC RIP T IO N

GetText Gets info about text at a specified character position. This


method returns the visible and hidden text and indicates if
embedded data is attached to the text.

GetText The ITextStoreAnchor::GetText method returns information


about text at a specified anchor position. This method returns
the visible and hidden text and indicates if embedded data is
attached to the text.

GetText The ITfRange::GetText method obtains the content covered by


this range of text.

GetText ITfLangBarItemBitmapButton::GetText method

GetText ITfLangBarItemButton::GetText method

GetTextAndPropertyUpdates ITfEditRecord::GetTextAndPropertyUpdates method

GetTextExt The ITextStoreACP::GetTextExt method returns the bounding


box, in screen coordinates, of the text at a specified character
position. The caller must have a read-only lock on the
document before calling this method.

GetTextExt Gets the bounding box, in screen coordinates, of the text at a


specified character position. The caller must have a read-only
lock on the document before calling this method.

GetTextExt The ITextStoreAnchor::GetTextExt method returns the


bounding box, in screen coordinates, of a range of text. The
caller must have a read-only lock on the document before
calling this method.

GetTextExt The ITfContextOwner::GetTextExt method returns the


bounding box, in screen coordinates, of the text at a specified
character position. The caller must have a read-only lock on
the document before calling this method.

GetTextExt The ITfContextView::GetTextExt method returns the bounding


box, in screen coordinates, of a range of text.

GetThreadLangBarItemMgr ITfLangBarMgr::GetThreadLangBarItemMgr method

GetThreadMarshalInterface ITfLangBarMgr::GetThreadMarshalInterface method

GetTooltipString ITfLangBarItem::GetTooltipString method

GetTop ITfDocumentMgr::GetTop method

GetType ITfFunctionProvider::GetType method

GetType ITfPropertyStore::GetType method

GetType ITfReadOnlyProperty::GetType method


T IT L E DESC RIP T IO N

GetUIElement The ITfUIElementMgr::GetUIElement method gets the


ITfUIElement interface of the element id.

GetUpdatedFlags The ITfCandidateListUIElement::GetUpdatedFlags method


returns the flag that tells which part of this element was
updated.

GetUpdatedFlags This method returns the flag that tells which part of this
element was updated.

GetValue ITfCompartment::GetValue method

GetValue ITfReadOnlyProperty::GetValue method

GetWnd The ITextStoreACP::GetWnd method returns the handle to a


window that corresponds to the current document.

GetWnd The ITextStoreAnchor::GetWnd method returns the handle to


a window that corresponds to the current text stream.

GetWnd The ITfContextOwner::GetWnd method returns the handle to


a window that corresponds to the current document.

GetWnd The ITfContextView::GetWnd method returns the handle to a


window that corresponds to the current document.

GetXML ITfInputScope::GetXML method

Initialize ITfSpeechUIServer::Initialize method

InitLocalMsCtfMonitor The InitLocalMsCtfMonitor function initializes


TextServicesFramework on the current desktop and prepares
the floating language bar, if necessary. This function must be
called on the app's desktop.

InitMenu This method is not used if the button item does not have the
TF_LBI_STYLE_BTN_MENU style.

InitMenu This method is not used if the button item does not have the
TF_LBI_STYLE_BTN_MENU style.

InitMenu ITfSystemLangBarItemSink::InitMenu method

InsertEmbedded Inserts an embedded object at the specified character.

InsertEmbedded Inserts an embedded object at the specified character.

InsertEmbedded ITextStoreAnchor::InsertEmbedded method

InsertEmbedded The ITfRange::InsertEmbedded method inserts an object at


the location of the start anchor of the range of text.
T IT L E DESC RIP T IO N

InsertEmbeddedAtSelection The ITextStoreACP::InsertEmbeddedAtSelection method


inserts an IDataObject object at the insertion point or
selection. The client that calls this method must have a
read/write lock before inserting an IDataObject object into the
document.

InsertEmbeddedAtSelection Inserts an IDataObject at the insertion point or selection. The


client that calls this method must have a read/write lock
before inserting an IDataObject object into the document.

InsertEmbeddedAtSelection The ITextStoreAnchor::InsertEmbeddedAtSelection method


inserts an IDataObject object at the insertion point or
selection. The client that calls this method must have a
read/write lock before inserting an IDataObject into the text
stream.

InsertEmbeddedAtSelection The ITfInsertAtSelection::InsertEmbeddedAtSelection method


inserts an IDataObject object at the selection or insertion
point.

InsertTextAtSelection The ITextStoreACP::InsertTextAtSelection method inserts text


at the insertion point or selection. A caller must have a
read/write lock on the document before inserting text.

InsertTextAtSelection Inserts text at the insertion point or selection. A caller must


have a read/write lock on the document before inserting text.

InsertTextAtSelection ITextStoreAnchor::InsertTextAtSelection method

InsertTextAtSelection ITfInsertAtSelection::InsertTextAtSelection method

InvokeFunc ITfFnLMProcessor::InvokeFunc method

InvokeKey ITfFnLMProcessor::InvokeKey method

InWriteSession ITfContext::InWriteSession method

IsEmpty The ITfRange::IsEmpty method verifies that the range of text is


empty because the start and end anchors occupy the same
position.

IsEnabledLanguageProfile ITfInputProcessorProfiles::IsEnabledLanguageProfile method

IsEqual The IAnchor::IsEqual method evaluates two anchors within a


text stream and returns a Boolean value that specifies the
equality or inequality of the anchor positions.

IsEqualEnd The ITfRange::IsEqualStart method verifies that the end anchor


of this range of text matches an anchor of another specified
range.

IsEqualStart The ITfRange::IsEqualStart method verifies that the start


anchor of this range of text matches an anchor of another
specified range.
T IT L E DESC RIP T IO N

IsEqualTfGuidAtom ITfCategoryMgr::IsEqualTfGuidAtom method

IsPreservedKey ITfKeystrokeMgr::IsPreservedKey method

IsProfileAvailableForLang ITfFnLangProfileUtil::IsProfileAvailableForLang method

IsShown The ITfUIElement::IsShown method returns true if the UI is


currently shown by a text service; otherwise false.

IsStoreSerializable ITfCreatePropertyStore::IsStoreSerializable method

IsThreadFocus ITfThreadMgr::IsThreadFocus method

IsThreadFocus Determines if the calling thread has the TSF input focus.

IsVerticalOrderPreferred This method returns if the UI prefers to be shown in vertical


order.

KeyDown ITfKeystrokeMgr::KeyDown method

KeyUp ITfKeystrokeMgr::KeyUp method

LoadProperty ITfPersistentPropertyLoaderACP::LoadProperty method

Next IEnumITfCompositionView::Next method

Next IEnumTfContexts::Next method

Next IEnumTfDisplayAttributeInfo::Next method

Next IEnumTfDocumentMgrs::Next method

Next IEnumTfFunctionProviders::Next method

Next The IEnumTfInputProcessorProfiles::Next method obtains,


from the current position, the specified number of elements in
the enumeration sequence.

Next IEnumTfLanguageProfiles::Next method

Next IEnumTfProperties::Next method

Next IEnumTfPropertyValue::Next method

Next IEnumTfRanges::Next method

Next The IEnumTfUIElements::Next method obtains, from the


current position, the specified number of elements in the
enumeration sequence.

Next IEnumTfCandidates::Next method


T IT L E DESC RIP T IO N

Next IEnumTfLatticeElements::Next method

Next IEnumTfLangBarItems::Next method

OnActivated ITfActiveLanguageProfileNotifySink::OnActivated method

OnActivated The ITfInputProcessorProfileActivationSink::OnActivated


method is a callback that is called when an input processor
profile is activated or deactivated.

OnAttributeChange ITfContextOwnerServices::OnAttributeChange method

OnAttrsChange ITextStoreACPSink::OnAttrsChange method

OnAttrsChange The ITextStoreAnchorSink::OnAttrsChange method is called


when the value of one or more text attributes changes.

OnChange ITfCompartmentEventSink::OnChange method

OnCleanupContext ITfCleanupContextSink::OnCleanupContext method

OnClick ITfLangBarItemBalloon::OnClick method

OnClick ITfLangBarItemBitmap::OnClick method

OnClick This method is not used if the button item does not have the
TF_LBI_STYLE_BTN_BUTTON style.

OnClick This method is not used if the button item does not have the
TF_LBI_STYLE_BTN_BUTTON style.

OnCompositionTerminated ITfCompositionSink::OnCompositionTerminated method

OnEndCleanupContext ITfCleanupContextDurationSink::OnEndCleanupContext
method

OnEndComposition ITfContextOwnerCompositionSink::OnEndComposition
method

OnEndEdit ITfTextEditSink::OnEndEdit method

OnEndEditTransaction ITextStoreACPSink::OnEndEditTransaction method

OnEndEditTransaction ITextStoreAnchorSink::OnEndEditTransaction method

OnEndEditTransaction ITfEditTransactionSink::OnEndEditTransaction method

OnInitDocumentMgr ITfThreadMgrEventSink::OnInitDocumentMgr method

OnKeyDown ITfContextKeyEventSink::OnKeyDown method


T IT L E DESC RIP T IO N

OnKeyDown ITfKeyEventSink::OnKeyDown method

OnKeyDown Processes a key press.

OnKeyTraceDown ITfKeyTraceEventSink::OnKeyTraceDown method

OnKeyTraceUp ITfKeyTraceEventSink::OnKeyTraceUp method

OnKeyUp ITfContextKeyEventSink::OnKeyUp method

OnKeyUp ITfKeyEventSink::OnKeyUp method

OnKillThreadFocus ITfThreadFocusSink::OnKillThreadFocus method

OnLanguageChange ITfLanguageProfileNotifySink::OnLanguageChange method

OnLanguageChanged ITfLanguageProfileNotifySink::OnLanguageChanged method

OnLatticeUpdate ITfFnAdviseText::OnLatticeUpdate method

OnLayoutChange ITextStoreACPSink::OnLayoutChange method

OnLayoutChange The ITextStoreAnchorSink::OnLayoutChange method is called


when the layout (on-screen representation) of the document
changes.

OnLayoutChange The ITfContextOwnerServices::OnLayoutChange method is


called by the context owner when the on-screen
representation of the text stream is updated during a
composition.

OnLayoutChange ITfTextLayoutSink::OnLayoutChange method

OnLockGranted ITextStoreACPSink::OnLockGranted method

OnLockGranted ITextStoreAnchorSink::OnLockGranted method

OnMenuSelect This method is not used if the button item does not have the
TF_LBI_STYLE_BTN_MENU style.

OnMenuSelect This method is not used if the button item does not have the
TF_LBI_STYLE_BTN_MENU style.

OnMenuSelect ITfSystemLangBarItemSink::OnMenuSelect method

OnModalInput ITfLangBarEventSink::OnModalInput method

OnMouseEvent ITfMouseSink::OnMouseEvent method

OnPopContext ITfThreadMgrEventSink::OnPopContext method


T IT L E DESC RIP T IO N

OnPreservedKey ITfKeyEventSink::OnPreservedKey method

OnPushContext ITfThreadMgrEventSink::OnPushContext method

OnSelectionChange ITextStoreACPSink::OnSelectionChange method

OnSelectionChange The ITextStoreAnchorSink::OnSelectionChange method is


called when the selection within the text stream changes. This
method should be called whenever the return value of a
potential call to ITextStoreAnchor::GetSelection has changed.

OnSetFocus ITfKeyEventSink::OnSetFocus method

OnSetFocus ITfThreadMgrEventSink::OnSetFocus method

OnSetFocus ITfLangBarEventSink::OnSetFocus method

OnSetThreadFocus ITfThreadFocusSink::OnSetThreadFocus method

OnStartCleanupContext ITfCleanupContextDurationSink::OnStartCleanupContext
method

OnStartComposition ITfContextOwnerCompositionSink::OnStartComposition
method

OnStartEditTransaction ITextStoreACPSink::OnStartEditTransaction method

OnStartEditTransaction ITextStoreAnchorSink::OnStartEditTransaction method

OnStartEditTransaction ITfEditTransactionSink::OnStartEditTransaction method

OnStatusChange ITextStoreACPSink::OnStatusChange method

OnStatusChange ITextStoreAnchorSink::OnStatusChange method

OnStatusChange The ITfContextOwnerServices::OnStatusChange method is


called by the context owner when the dwDynamicFlags
member of the TS_STATUS structure returned by the
ITfContextOwner::GetStatus method changes.

OnStatusChange ITfStatusSink::OnStatusChange method

OnTestKeyDown ITfContextKeyEventSink::OnTestKeyDown method

OnTestKeyDown ITfKeyEventSink::OnTestKeyDown method

OnTestKeyUp ITfContextKeyEventSink::OnTestKeyUp method

OnTestKeyUp ITfKeyEventSink::OnTestKeyUp method

OnTextChange ITextStoreACPSink::OnTextChange method


T IT L E DESC RIP T IO N

OnTextChange ITextStoreAnchorSink::OnTextChange method

OnTextUpdate ITfFnAdviseText::OnTextUpdate method

OnTextUpdated ITfPropertyStore::OnTextUpdated method

OnThreadItemChange ITfLangBarEventSink::OnThreadItemChange method

OnThreadTerminate ITfLangBarEventSink::OnThreadTerminate method

OnTransitoryExtensionUpdated ITfTransitoryExtensionSink::OnTransitoryExtensionUpdated
method

OnUninitDocumentMgr ITfThreadMgrEventSink::OnUninitDocumentMgr method

OnUpdate ITfLangBarItemSink::OnUpdate method

OnUpdateComposition ITfContextOwnerCompositionSink::OnUpdateComposition
method

OnUpdated ITfPreservedKeyNotifySink::OnUpdated method

OnUpdateInfo ITfDisplayAttributeMgr::OnUpdateInfo method

OnUpdateInfo ITfDisplayAttributeNotifySink::OnUpdateInfo method

OnWindowClosed Called by the TSF after closing the IME UI.

OnWindowClosing Called by the TSF before closing the IME UI.

OnWindowOpened Called by the TSF after opening an IME UI.

OnWindowOpening Called by the TSF before opening an IME UI.

OnWindowUpdated Called by the TSF after resizing and/or relocating the opened
IME UI.

OnWindowUpdating Called by the TSF before resizing and/or relocating the opened
IME UI.

PeekMessageA ITfMessagePump::PeekMessageA method

PeekMessageW ITfMessagePump::PeekMessageW method

Play ITfFnPlayBack::Play method

Pop ITfDocumentMgr::Pop method

PreserveKey ITfKeystrokeMgr::PreserveKey method

ProcessLattice ITfFnLMInternal::ProcessLattice method


T IT L E DESC RIP T IO N

Push ITfDocumentMgr::Push method

QueryInsert The ITextStoreACP::QueryInsert method determines whether


the specified start and end character positions are valid.

QueryInsert Determines whether the specified start and end character


positions are valid. Use this method to adjust an edit to a
document before executing the edit. The method must not
return values outside the range of the document.

QueryInsert The ITextStoreAnchor::QueryInsert method determines


whether the specified start and end anchors are valid. Use this
method to adjust an edit to a document before you execute
the edit. The method must not return values outside the
range of the document.

QueryInsertEmbedded Gets a value indicating whether the specified object can be


inserted into the document.

QueryInsertEmbedded Gets a value indicating whether the specified object can be


inserted into the document.

QueryInsertEmbedded ITextStoreAnchor::QueryInsertEmbedded method

QueryInsertEmbedded ITfQueryEmbedded::QueryInsertEmbedded method

QueryKey ITfFnLMProcessor::QueryKey method

QueryLangID ITfFnLMProcessor::QueryLangID method

QueryRange ITfFnLMProcessor::QueryRange method

QueryRange ITfFnPlayBack::QueryRange method

QueryRange The ITfFnReconversion::QueryRange method obtains the


range of text that the reconversion applies to.

QueryType ITfLMLattice::QueryType method

Reconvert ITfFnLMProcessor::Reconvert method

Reconvert ITfFnReconversion::Reconvert method

Register ITfInputProcessorProfiles::Register method

RegisterActiveProfiles ITfFnLangProfileUtil::RegisterActiveProfiles method

RegisterCategory ITfCategoryMgr::RegisterCategory method

RegisterGUID ITfCategoryMgr::RegisterGUID method

RegisterGUIDDescription ITfCategoryMgr::RegisterGUIDDescription method


T IT L E DESC RIP T IO N

RegisterGUIDDWORD ITfCategoryMgr::RegisterGUIDDWORD method

RegisterProfile The ITfInputProcessorProfileMgr::RegisterProfile method


registers the text service and the profile.

ReleaseInputProcessor The ITfInputProcessorProfileMgr::ReleaseInputProcessor


method deactivates the profiles belonging to the text services
of the specified CLSID and releases the instance of
ITfTextInputProcessorEx interface.

RemoveItem ITfLangBarItemMgr::RemoveItem method

RemoveLanguageProfile ITfInputProcessorProfiles::RemoveLanguageProfile method

RequestAttrsAtPosition Gets text attributes at the specified character position.

RequestAttrsAtPosition Gets text attributes at the specified character position.

RequestAttrsAtPosition ITextStoreAnchor::RequestAttrsAtPosition method

RequestAttrsTransitioningAtPosition Gets text attributes transitioning at the specified character


position.

RequestAttrsTransitioningAtPosition Gets text attributes transitioning at the specified character


position.

RequestAttrsTransitioningAtPosition ITextStoreAnchor::RequestAttrsTransitioningAtPosition method

RequestEditSession ITfContext::RequestEditSession method

RequestLock The ITextStoreACP::RequestLock method is called by the TSF


manager to provide a document lock in order to modify the
document. This method calls the
ITextStoreACPSink::OnLockGranted method to create the
document lock.

RequestLock Called by the TSF manager to provide a document lock in


order to modify the document. This method calls the
OnLockGranted method to create the document lock.

RequestLock ITextStoreAnchor::RequestLock method

RequestSupportedAttrs Get the attributes that are supported in the document.

RequestSupportedAttrs Get the attributes that are supported in the document.

RequestSupportedAttrs ITextStoreAnchor::RequestSupportedAttrs method

Reset IEnumITfCompositionView::Reset method

Reset IEnumTfContexts::Reset method


T IT L E DESC RIP T IO N

Reset IEnumTfDisplayAttributeInfo::Reset method

Reset IEnumTfDocumentMgrs::Reset method

Reset IEnumTfFunctionProviders::Reset method

Reset The IEnumTfInputProcessorProfiles::Reset method resets the


enumerator object by moving the current position to the
beginning of the enumeration sequence.

Reset IEnumTfLanguageProfiles::Reset method

Reset IEnumTfProperties::Reset method

Reset IEnumTfPropertyValue::Reset method

Reset IEnumTfRanges::Reset method

Reset The IEnumTfUIElements::Reset method resets the enumerator


object by moving the current position to the beginning of the
enumeration sequence.

Reset ITfDisplayAttributeInfo::Reset method

Reset IEnumTfCandidates::Reset method

Reset IEnumTfLatticeElements::Reset method

Reset IEnumTfLangBarItems::Reset method

Restore ITfRangeBackup::Restore method

RestoreLastFocus ITfLangBarMgr::RestoreLastFocus method

ResumeKeystrokeHandling Resumes suspended keystroke handling.

RetrieveRequestedAttrs Gets the attributes returned by a call to an attribute request


method.

RetrieveRequestedAttrs Gets the attributes returned by a call to an attribute request


method.

RetrieveRequestedAttrs ITextStoreAnchor::RetrieveRequestedAttrs method

Serialize ITextStoreACPServices::Serialize method

Serialize The ITfContextOwnerServices::Serialize method obtains a


property from a range of text and writes the property data
into a stream object. This enables an application to store
property data, for example, when writing the data to a file.

Serialize ITfPropertyStore::Serialize method


T IT L E DESC RIP T IO N

SetAttributeInfo ITfDisplayAttributeInfo::SetAttributeInfo method

SetChangeHistoryMask This method has not been implemented.

SetDefaultLanguageProfile ITfInputProcessorProfiles::SetDefaultLanguageProfile method

SetExtent ITfRangeACP::SetExtent method

SetFocus ITfThreadMgr::SetFocus method

SetFocus Sets the input focus to the specified document manager.

SetGravity IAnchor::SetGravity method

SetGravity ITfRange::SetGravity method

SetIcon ITfSystemLangBarItem::SetIcon method

SetIconMode ITfSystemDeviceTypeLangBarItem::SetIconMode method

SetInputScope Sets an input scope for the specified window.

SetInputScopes Sets a combination of one input scope, multiple input scopes,


one phrase list, a regular expression, and/or Speech
Recognition Grammar Specification (SRGS) rules for the
specified window.

SetInputScopes2 The application must call SetInputScope with IS_DEFAULT


before a window is destroyed to clear the reference of the
interface.

SetInputScopeXML Do not use.

SetIntegrationStyle Sets the integration style.

SetItemText The ITfSystemLangBarItemText::SetItemText method modifies


the text displayed for the system language bar menu.

SetLanguageProfileDisplayName Redistributable:_Requires TSF 1.0 on Windows 2000.

SetModalInput ITfLangBarMgr::SetModalInput method

SetPageIndex The ITfCandidateListUIElement::SetPageIndex method sets the


page index.

SetPreservedKeyDescription ITfKeystrokeMgr::SetPreservedKeyDescription method

SetResult ITfCandidateList::SetResult method

SetResult Provides a text Service or IME with history data when a


candidate is chosen by the user.
T IT L E DESC RIP T IO N

SetSelection The ITextStoreACP::SetSelection method selects text within the


document. The application must have a read/write lock on the
document before calling this method.

SetSelection Selects text within the document. The application must have a
read/write lock on the document before calling this method.

SetSelection ITextStoreAnchor::SetSelection method

SetSelection The ITfCandidateListUIElementBehavior::SetSelection method


set the selection of the candidate list.

SetSelection ITfContext::SetSelection method

SetStatus ITfFnPropertyUIStatus::SetStatus method

SetText The ITextStoreACP::SetText method sets the text selection to


the supplied character positions.

SetText Sets the text selection to the supplied character positions.

SetText The ITextStoreAnchor::SetText method sets the text selection


between two supplied anchor locations.

SetText The ITfRange::SetText method replaces the content covered by


the range of text.

SetTooltipString ITfSystemLangBarItem::SetTooltipString method

SetValue ITfCompartment::SetValue method

SetValue ITfProperty::SetValue method

SetValueStore ITfProperty::SetValueStore method

Shift The IAnchor::Shift method shifts the anchor forward or


backward within a text stream.

ShiftEnd ITfComposition::ShiftEnd method

ShiftEnd ITfRange::ShiftEnd method

ShiftEndRegion ITfRange::ShiftEndRegion method

ShiftEndToRange ITfRange::ShiftEndToRange method

ShiftRegion IAnchor::ShiftRegion method

ShiftStart ITfComposition::ShiftStart method

ShiftStart ITfRange::ShiftStart method


T IT L E DESC RIP T IO N

ShiftStartRegion ITfRange::ShiftStartRegion method

ShiftStartToRange ITfRange::ShiftStartToRange method

ShiftTo The IAnchor::ShiftTo method shifts the current anchor to the


same position as another anchor.

Show The ITfUIElement::Show method shows the text service's UI of


this UI element.

Show ITfFnConfigure::Show method

Show The ITfFnConfigureRegisterEudc::Show method shows the


EUDC key sequence register UI.

Show ITfFnConfigureRegisterWord::Show method

Show ITfFnShowHelp::Show method

Show ITfLangBarItem::Show method

ShowCandidateNumbers Specifies whether candidate numbers should be shown.

ShowFloating ITfLangBarEventSink::ShowFloating method

ShowFloating ITfLangBarMgr::ShowFloating method

ShowUI ITfSpeechUIServer::ShowUI method

Shrink ITfPropertyStore::Shrink method

SimulatePreservedKey ITfKeystrokeMgr::SimulatePreservedKey method

Skip IEnumITfCompositionView::Skip method

Skip IEnumTfContexts::Skip method

Skip IEnumTfDisplayAttributeInfo::Skip method

Skip IEnumTfDocumentMgrs::Skip method

Skip IEnumTfFunctionProviders::Skip method

Skip The IEnumTfInputProcessorProfiles::Skip method moves the


current position forward in the enumeration sequence by the
specified number of elements.

Skip IEnumTfLanguageProfiles::Skip method

Skip IEnumTfProperties::Skip method


T IT L E DESC RIP T IO N

Skip IEnumTfPropertyValue::Skip method

Skip IEnumTfRanges::Skip method

Skip The IEnumTfUIElements::Skip method obtains, from the


current position, the specified number of elements in the
enumeration sequence.

Skip IEnumTfCandidates::Skip method

Skip IEnumTfLatticeElements::Skip method

Skip IEnumTfLangBarItems::Skip method

StartComposition ITfContextComposition::StartComposition method

SubstituteKeyboardLayout ITfInputProcessorProfiles::SubstituteKeyboardLayout method

SuspendKeystrokeHandling Suspends handling keystrokes.

SystemDisableMSAA ITfMSAAControl::SystemDisableMSAA method

SystemEnableMSAA ITfMSAAControl::SystemEnableMSAA method

TakeOwnership ITfContextComposition::TakeOwnership method

TerminateComposition ITfContextOwnerCompositionServices::TerminateComposition
method

TestKeyDown ITfKeystrokeMgr::TestKeyDown method

TestKeyUp ITfKeystrokeMgr::TestKeyUp method

TF_CreateCategoryMgr The TF_CreateCategoryMgr function creates a category


manager object without having to initialize COM. Usage must
be done carefully because the calling thread must maintain
the reference count on an object that is owned by MSCTF.DLL.

TF_CreateDisplayAttributeMgr The TF_CreateDisplayAttributeMgr function is used to create a


display attribute manager object without having to initialize
COM.

TF_CreateInputProcessorProfiles The TF_CreateInputProcessorProfiles function is used to create


a input processor profile object without having to initialize
COM.

TF_CreateLangBarItemMgr The TF_CreateLangBarItemMgr function is used to create a


language bar item manager object without having to initialize
COM.
T IT L E DESC RIP T IO N

TF_CreateLangBarMgr The TF_CreateLangBarMgr function creates a language bar


manager object without having to initialize COM. Usage of
this method is not recommended, because the calling process
must maintain a proper reference count on an object that is
owned by Msctf.dll.

TF_CreateThreadMgr The TF_CreateThreadMgr function creates a thread manager


object without having to initialize COM. Usage of this method
is not recommended, because the calling process must
maintain a proper reference count on an object that is owned
by Msctf.dll.

TF_GetThreadMgr The TF_GetThreadMgr function obtains a copy of a thread


manager object previously created within the calling thread.

TrackProperties ITfContext::TrackProperties method

UnadviseEventSink ITfLangBarMgr::UnadviseEventSink method

UnadviseItemSink ITfLangBarItemMgr::UnadviseItemSink method

UnadviseItemsSink ITfLangBarItemMgr::UnadviseItemsSink method

UnadviseKeyEventSink ITfKeystrokeMgr::UnadviseKeyEventSink method

UnadviseMouseSink ITfMouseTracker::UnadviseMouseSink method

UnadviseMouseSink ITfMouseTrackerACP::UnadviseMouseSink method

UnadviseSingleSink ITfSourceSingle::UnadviseSingleSink method

UnadviseSink The ITextStoreACP::UnadviseSink method is called by an


application to indicate that it no longer requires notifications
from the TSF manager. The TSF manager will release the sink
interface and stop notifications.

UnadviseSink Called by an application to indicate that it no longer requires


notifications from the TSF manager. The TSF manager will
release the sink interface and stop notifications.

UnadviseSink ITextStoreAnchor::UnadviseSink method

UnadviseSink ITfSource::UnadviseSink method

UninitLocalMsCtfMonitor The UninitLocalMsCtfMonitor function uninitializes


TextServicesFramework on the current desktop.

UnpreserveKey ITfKeystrokeMgr::UnpreserveKey method

Unregister ITfInputProcessorProfiles::Unregister method

UnregisterCategory ITfCategoryMgr::UnregisterCategory method


T IT L E DESC RIP T IO N

UnregisterGUIDDescription ITfCategoryMgr::UnregisterGUIDDescription method

UnregisterGUIDDWORD ITfCategoryMgr::UnregisterGUIDDWORD method

UnregisterProfile The ITfInputProcessorProfileMgr::UnregisterProfile method


unregisters the text service and the profile.

Unserialize ITextStoreACPServices::Unserialize method

Unserialize ITfContextOwnerServices::Unserialize method

UpdateBalloon ITfFnBalloon::UpdateBalloon method

UpdateBalloon ITfSpeechUIServer::UpdateBalloon method

UpdateUIElement The ITfUIElementMgr::UpdateUIElement method is called by a


text service when the UI element must be updated.

UpdateUIElement The ITfUIElementSink::UpdateUIElement method is called


when the contents of the UIElement is updated.

Interfaces
T IT L E DESC RIP T IO N

IAnchor The IAnchor interface is implemented by the TSF manager.


Clients of Microsoft Active Accessibility use IAnchor anchor
objects to delimit a range of text within a text stream.

IEnumITfCompositionView The IEnumITfCompositionView interface is implemented by


the TSF manager to provide an enumeration of composition
view objects.

IEnumTfCandidates The IEnumTfCandidates interface is implemented by a text


service and used by the TSF manager to provide an
enumeration of candidate string objects.

IEnumTfContexts The IEnumTfContexts interface is implemented by the TSF


manager to provide an enumeration of context objects.

IEnumTfContextViews Not implemented.

IEnumTfDisplayAttributeInfo The IEnumTfDisplayAttributeInfo interface is implemented by


the TSF manager to provide an enumeration of display
attribute information objects.

IEnumTfDocumentMgrs The IEnumTfDocumentMgrs interface is implemented by the


TSF manager to provide an enumeration of document
manager objects.
T IT L E DESC RIP T IO N

IEnumTfFunctionProviders The IEnumTfFunctionProviders interface is implemented by the


TSF manager to provide an enumeration of function provider
objects.

IEnumTfInputProcessorProfiles The IEnumTfInputProcessorProfiles interface is implemented


by TSF manager and used by applications or textservices. This
interface can be retrieved by
ITfInputProcessorProfileMgr::EnumProfiles and enumerates
the registered profiles.

IEnumTfLangBarItems The IEnumTfLangBarItems interface is implemented by the TSF


manager to provide an enumeration of langauge bar item
objects.

IEnumTfLanguageProfiles The IEnumTfLanguageProfiles interface is implemented by the


TSF manager to provide an enumeration of language profiles.

IEnumTfLatticeElements The IEnumTfLatticeElements interface is implemented by the


TSF manager to provide an enumeration of lattice elements.

IEnumTfProperties The IEnumTfProperties interface is implemented by the TSF


manager to provide an enumeration of property objects.

IEnumTfPropertyValue The IEnumTfPropertyValue interface is implemented by the


TSF manager to provide an enumeration of property values.

IEnumTfRanges The IEnumTfRanges interface is implemented by the TSF


manager to provide an enumeration of range objects.

IEnumTfUIElements The IEnumTfUIElements interface is implemented by TSF


manager and used by applications or textservices. This
interface can be retrieved by
ITfUIElementMgr::EnumUIElements and enumerates the
registered UI elements.

ITextStoreACP The ITextStoreACP interface is implemented by the application


and is used by the TSF manager to manipulate text streams or
text stores in TSF.

ITextStoreACP2 The ITextStoreACP2 interface is implemented by the


application and is used by the TSF manager to manipulate text
streams or text stores in TSF.

ITextStoreACPServices The ITextStoreACPServices interface is implemented by the TSF


manager to provide various services to an ACP-based
application.

ITextStoreACPSink The ITextStoreACPSink interface is implemented by the TSF


manager and is used by an ACP-based application to notify
the manager when certain events occur. The manager installs
this advise sink by calling ITextStoreACP::AdviseSink.

ITextStoreAnchor The ITextStoreAnchor interface is implemented by a Microsoft


Active Accessibility client and is used by the TSF manager to
manipulate text streams.
T IT L E DESC RIP T IO N

ITextStoreAnchorSink The ITextStoreAnchorSink interface is implemented by the TSF


manager and is used by an anchor-based application to notify
the manager when certain events occur. The manager installs
this advise sink by calling ITextStoreAnchor::AdviseSink.

ITfActiveLanguageProfileNotifySink The ITfActiveLanguageProfileNotifySink interface is


implemented by an application to receive a notification when
the active language or text service changes.

ITfCandidateList The ITfCandidateList interface is implemented by a text service


and is used by the TSF manager or a client (application or
other text service) to obtain and manipulate candidate string
objects.

ITfCandidateListUIElement The ITfCandidateListUIElement interface is implemented by a


text service that has the candidate list UI.

ITfCandidateListUIElementBehavior This interface is implemented by a text service that has a


candidate list UI and its UI can be controlled by the
application. The application QI this interface from ITfUIElement
and controls the candidate list behavior.

ITfCandidateString The ITfCandidateString interface is implemented by a text


service and is used by the TSF manager or a client to obtain
information about a candidate string object.

ITfCategoryMgr The ITfCategoryMgr interface manages categories of objects


for text services. The TSF manager implements this interface.

ITfCleanupContextDurationSink The ITfCleanupContextDurationSink interface is implemented


by a text service to receive notifications when a context
cleanup operation is performed.

ITfCleanupContextSink The ITfCleanupContextSink interface is implemented by a text


service to receive notifications when a context cleanup
operation occurs. This notification sink is installed by calling
ITfSourceSingle::AdviseSingleSink with
IID_ITfCleanupContextSink.

ITfClientId The ITfClientId interface is implemented by the TSF manager.


This interface is used to obtain a client identifier for TSF
objects. An instance of this interface is obtained by querying
the thread manager with IID_ITfClientId.

ITfCompartment The ITfCompartment interface is implemented by the TSF


manager and is used by clients (applications and text services)
to obtain and set data in a TSF compartment.

ITfCompartmentEventSink The ITfCompartmentEventSink interface is implemented by a


client (application or text service) and used by the TSF
manager to notify the client when compartment data
changes.

ITfCompartmentMgr The ITfCompartmentMgr interface is implemented by the TSF


manager and used by clients (applications and text services)
to obtain and manipulate TSF compartments.
T IT L E DESC RIP T IO N

ITfComposition The ITfComposition interface is implemented by the TSF


manager and is used by a text service to obtain data about
and terminate a composition. An instance of this interface is
provided by the ITfContextComposition::StartComposition
method.

ITfCompositionSink The ITfCompositionSink interface is implemented by a text


service to receive a notification when a composition is
terminated.

ITfCompositionView The ITfCompositionView interface is implemented by the TSF


manager and used by an application to obtain data about a
composition view. An instance of this interface is provided by
one of the ITfContextOwnerCompositionSink methods.

ITfConfigureSystemKeystrokeFeed The ITfConfigureSystemKeystrokeFeed interface is


implemented by the TSF manager to enable and disable the
processing of keystrokes.

ITfContext The ITfContext interface is implemented by the TSF manager


and used by applications and text services to access an edit
context.

ITfContextComposition The ITfContextComposition interface is implemented by the


TSF manager and is used by a text service to create and
manipulate compositions. An instance of this interface is
provided by ITfContext::QueryInterface with
IID_ITfContextComposition.

ITfContextKeyEventSink The ITfContextKeyEventSink interface is implemented by a text


service to receive keyboard event notifications that occur in
an input context.

ITfContextOwner The ITfContextOwner interface is implemented by an


application or a text service to receive text input without
having a text store. An instance of this interface is obtained
when the application calls the ITfSource::AdviseSink method.

ITfContextOwnerCompositionServices The ITfContextOwnerCompositionServices interface is


implemented by the TSF manager and used by a context
owner to manipulate compositions created by a text service.

ITfContextOwnerCompositionSink The ITfContextOwnerCompositionSink interface is


implemented by an application to receive composition-related
notifications.

ITfContextOwnerServices The ITfContextOwnerServices interface is implemented by the


manager and used by a text service or application acting as
context owners.

ITfContextView The ITfContextView interface is implemented by the TSF


manager and used by a client (application or text service) to
obtain information about a context view.

ITfCreatePropertyStore The ITfCreatePropertyStore interface is implemented by a text


service to support persistence of property store data.
T IT L E DESC RIP T IO N

ITfDisplayAttributeInfo The ITfDisplayAttributeInfo interface is implemented by a text


service to provide display attribute data. This interface is used
by any component, most often an application, that must
determine how text displays.

ITfDisplayAttributeMgr The ITfDisplayAttributeMgr interface is implemented by the


TSF manager and used by an application to obtain and
enumerate display attributes. Individual display attributes are
accessed through the ITfDisplayAttributeInfo interface.

ITfDisplayAttributeNotifySink The ITfDisplayAttributeNotifySink interface is implemented by


an application to receive a notification when display attribute
information is updated.

ITfDisplayAttributeProvider The ITfDisplayAttributeProvider interface is implemented by a


text service and is used by the TSF manager to enumerate
and obtain individual display attribute information objects.

ITfDocumentMgr The ITfDocumentMgr interface is implemented by the TSF


manager and used by an application or text service to create
and manage text contexts. To obtain an instance of this
interface call ITfThreadMgr::CreateDocumentMgr.

ITfEditRecord The ITfEditRecord interface is implemented by the TSF


manager and is used by a text edit sink to determine what
was changed during an edit session.

ITfEditSession The ITfEditSession interface is implemented by a text service


and used by the TSF manager to read and/or modify the text
and properties of a context.

ITfEditTransactionSink The ITfEditTransactionSink interface is implemented by a text


service and used by the TSF manager to support edit
transactions.

ITfFnAdviseText The ITfFnAdviseText interface is implemented by a text service


and used by the TSF manager to supply notifications when
the text or lattice element in a context changes.

ITfFnBalloon The ITfFnBalloon interface is implemented by a text service


and is used by an application or other text service to update
the balloon item that the text service adds to the language
bar.

ITfFnConfigure The ITfFnConfigure interface is implemented by a text service


to enable the Text Services control panel application to allow
the text service to display a configuration dialog box.

ITfFnConfigureRegisterEudc The ITfFnConfigureRegisterEudc interface is implemented by a


text service to provide the UI to register the key sequence for
the given EUDC.

ITfFnConfigureRegisterWord The ITfFnConfigureRegisterWord interface is implemented by a


text service to enable the Active Input Method Editor (IME) to
cause the text service to display a word registration dialog
box.
T IT L E DESC RIP T IO N

ITfFnGetLinguisticAlternates The ITfFnGetLinguisticAlternates interface is implemented by a


text service and/or by the TSF manager to provide linguistic
alternates for the text within a given range passed as a
parameter.

ITfFnGetPreferredTouchKeyboardLayout The ITfFnGetPreferredTouchKeyboardLayout interface is


implemented by a text service to specify the use of a
particular keyboard layout supported by the inbox Windows 8
touch keyboard.

ITfFnGetSAPIObject The ITfFnGetSAPIObject interface is implemented by the


Speech API (SAPI) text service. This interface is used by the
TSF manager or a client (application or other text service) to
obtain various SAPI objects.

ITfFnLangProfileUtil The ITfFnLangProfileUtil interface is implemented by the


speech text service and used to provide utility methods for
the speech text service.

ITfFnLMInternal The ITfFnLMInternal interface is not used.

ITfFnLMProcessor The ITfFnLMProcessor interface is implemented by the


language model text service and is used by an application or
text service to enable alternate language model processing.

ITfFnPlayBack The ITfFnPlayBack interface is implemented by the Speech API


(SAPI) text service. This interface is used by the TSF manager
or a client (application or other text service) to control the
audio data for speech input text.

ITfFnPropertyUIStatus The ITfFnPropertyUIStatus interface is implemented by a text


service and used by an application or text service to obtain
and set the status of the text service property UI.

ITfFnReconversion The ITfFnReconversion interface is implemented by a text


service and is used by the TSF manager or a client to support
reconversion of text provided by the text service.

ITfFnSearchCandidateProvider Enables an integrated search experience in an Input Method


Editor (IME).

ITfFnShowHelp The ITfFnShowHelp interface is implemented by a text service


to enable the language bar to place a help command for the
text service in the language bar help menu.

ITfFunction The ITfFunction interface is the base interface for the individual
function interfaces.

ITfFunctionProvider The ITfFunctionProvider interface is implemented by an


application or text service to provide various function objects.

ITfInputProcessorProfileActivationSink The ITfInputProcessorProfileActivationSink interface is


implemented by an application to receive notifications when
the profile changes.
T IT L E DESC RIP T IO N

ITfInputProcessorProfileMgr The ITfInputProcessorProfileMgr interface is implemented by


the TSF manager and used by an application or text service to
manipulate the language profile of one or more text services.

ITfInputProcessorProfiles The ITfInputProcessorProfiles interface is implemented by the


TSF manager and used by an application or text service to
manipulate the language profile of one or more text services.

ITfInputProcessorProfilesEx This interface is implemented by the TSF manager and used


by a text service or application to set the display description
of the language profile.

ITfInputProcessorProfileSubstituteLayout This interface is implemented by the TSF manager and is used


by an application or text service to manipulate the substitute
input locale identifier (keyboard layout) of a text service
profile.

ITfInputScope The ITfInputScope interface is used by the text input


processors to get the InputScope value that represents a
document context associated with a window.

ITfInputScope2 The ITfInputScope2 interface is used by the text input


processors to get the IEnumString interface pointer and this
IEnumString interface enumerates the word list that the
application specified for this context.

ITfInsertAtSelection The ITfInsertAtSelection interface is implemented by the


manager and is used by a text service to insert text or an
embedded object in a context. The text service obtains this
interface by calling ITfContext::QueryInterface.

ITfIntegratableCandidateListUIElement Enables text services and Input Method Editors (IMEs) to


adjust UI-less mode behavior.

ITfKeyEventSink The ITfKeyEventSink interface is implemented by a text service


to receive keyboard and focus event notifications. To install
this event sink, call ITfKeystrokeMgr::AdviseKeyEventSink.

ITfKeystrokeMgr The ITfKeystrokeMgr interface is implemented by the TSF


manager and used by applications and text services to
interact with the keyboard manager.

ITfKeyTraceEventSink The ITfKeyTraceEventSink interface is implemented by an


application or text service to receive key stroke event
notifications before the event is processed by the target.

ITfLangBarEventSink The ITfLangBarEventSink interface is implemented by an


application or text service and used by the language bar to
supply notifications of certain events that occur in the
language bar.

ITfLangBarItem The ITfLangBarItem interface is implemented by a language


bar item provider and used by the language bar manager to
obtain detailed information about the language bar item.
T IT L E DESC RIP T IO N

ITfLangBarItemBalloon The ITfLangBarItemBalloon interface is implemented by an


application or text service and is used by the language bar
manager to obtain information specific to a balloon item on
the language bar.

ITfLangBarItemBitmap The ITfLangBarItemBitmap interface is implemented by an


application or text service and used by the language bar
manager to obtain information specific to a bitmap item on
the language bar.

ITfLangBarItemBitmapButton The ITfLangBarItemBitmapButton interface is implemented by


a language bar bitmap button provider and is used by the
language bar manager to obtain information specific to a
bitmap button item on the language bar.

ITfLangBarItemButton The ITfLangBarItemButton interface is implemented by a


language bar button provider and used by the language bar
manager to obtain information about a button item on the
language bar.

ITfLangBarItemMgr The ITfLangBarItemMgr interface is implemented by the


language bar and used by a text service to manage items in
the language bar.

ITfLangBarItemSink The ITfLangBarItemSink interface is implemented by the


language bar and used by a language bar item provider to
notify the language bar of changes to a language bar item.

ITfLangBarMgr The ITfLangBarMgr interface is implemented by the TSF


manager and used by text services to manage event sink
notification and configure floating language bar display
settings. The interface ID is IID_ITfLangBarMgr.

ITfLanguageProfileNotifySink The ITfLanguageProfileNotifySink interface is implemented by


an application to receive notifications when the language
profile changes.

ITfLMLattice The ITfLMLattice interface is implemented by the speech text


service to provide information about lattice element
properties and is used by a client (application or other text
service).

ITfMenu The ITfMenu interface is implemented by the language bar


and used by a language bar button provider to add items to
the menu that the language bar will display for the button.

ITfMessagePump The ITfMessagePump interface is implemented by the TSF


manager and is used by an application to obtain messages
from the application message queue.

ITfMouseSink The ITfMouseSink interface is implemented by a text service to


receive mouse event notifications. A mouse event sink is
installed with the ITfMouseTracker::AdviseMouseSink method
of one of the ITfMouseTracker interfaces.
T IT L E DESC RIP T IO N

ITfMouseTracker The ITfMouseTracker interface is implemented by the TSF


manager and is used by a text service to manage mouse
event notification sinks. An instance of this interface is
obtained by querying an ITfContext object for
IID_ITfMouseTracker.

ITfMouseTrackerACP The ITfMouseTrackerACP interface is implemented by an


application to support mouse event sinks.

ITfMSAAControl The ITfMSAAControl interface is used by Microsoft Active


Accessibility to add or remove a document from TSF control,
to avoid unnecessary overhead in TSF. This interface is not
recommended for use by other applications.

ITfPersistentPropertyLoaderACP The ITfPersistentPropertyLoaderACP interface is implemented


by an application and used by the TSF manager to load
properties asynchronously.

ITfPreservedKeyNotifySink The ITfPreservedKeyNotifySink interface is implemented by an


application or TSF text service to receive notifications when
keys are preserved, unpreserved, or when a preserved key
description changes.

ITfProperty The ITfProperty interface is implemented by the TSF manager


and used by a client (application or text service) to modify a
property value.

ITfPropertyStore The ITfPropertyStore interface is implemented by a text service


and used by the TSF manager to provide non-static property
values. An instance of this interface is passed to
ITfProperty::SetValueStore.

ITfQueryEmbedded The ITfQueryEmbedded interface is implemented by the TSF


manager and used by a text service to determine if a context
can accept an embedded object.

ITfRange The ITfRange interface is used by text services and applications


to reference and manipulate text within a given context. The
interface ID is IID_ITfRange.

ITfRangeACP The ITfRangeACP interface is implemented by the TSF


manager and is used by an application character position
(ACP)-based application to access and manipulate range
objects.

ITfRangeBackup The ITfRangeBackup interface is implemented by the TSF


manager and is used by a text service to create a backup copy
of the data contained in a range object.

ITfReadingInformationUIElement The ITfCandidateListUIElement interface is implemented by a


text service that has a UI for reading information UI at the
near caret.

ITfReadOnlyProperty The ITfReadOnlyProperty interface is implemented by the TSF


manager and used by an application or text service to obtain
property data.
T IT L E DESC RIP T IO N

ITfReverseConversion Performs a reverse conversion of a specified string.

ITfReverseConversionList Represents a list of the keystroke sequences required to create


a specified string.

ITfReverseConversionMgr Provides access to ITfReverseConversion objects, which are


used to perform reverse conversions.

ITfSource The ITfSource interface is implemented by the TSF manager. It


is used by applications and text services to install and uninstall
advise sinks.

ITfSourceSingle The ITfSourceSingle interface is implemented by the TSF


manager.

ITfSpeechUIServer The ITfSpeechUIServer interface manages the speech-related


user interface on the TSF language bar.

ITfStatusSink The ITfStatusSink interface supports changes to the global


document status. This advise sink is installed by calling
ITfSource::AdviseSink with IID_ITfStatusSink. A text service can
optionally implement this interface.

ITfSystemDeviceTypeLangBarItem The ITfSystemDeviceTypeLangBarItem interface is


implemented by a system language bar item and used by an
application or text service to control how the system item
displays its icon.

ITfSystemLangBarItem The ITfSystemLangBarItem interface is implemented by a


system language bar menu and is used by a system language
bar extension to modify the icon and/or tooltip string
displayed for the menu.

ITfSystemLangBarItemSink The ITfSystemLangBarItemSink interface is implemented by a


system language bar menu extension and used by a system
language bar menu (host) to allow menu items to be added to
an existing system language bar menu.

ITfSystemLangBarItemText The ITfSystemLangBarItemText interface is implemented by a


system language bar and is used by a system language bar
extension to modify the description displayed for the menu.

ITfTextEditSink The ITfTextEditSink interface supports completion of an edit


session that involves read/write access.

ITfTextInputProcessor The ITfTextInputProcessor interface is implemented by a text


service and used by the TSF manager to activate and
deactivate the text service.

ITfTextInputProcessorEx The ITfTextInputProcessorEx interface is implemented by a text


service and used by the TSF manager to activate and
deactivate the text service.
T IT L E DESC RIP T IO N

ITfTextLayoutSink The ITfTextLayoutSink interface supports the context layout


change by an application. Install this advise sink by calling
ITfSource::AdviseSink with IID_ITfTextLayoutSink. A text service
can optionally implement this interface.

ITfThreadFocusSink The ITfThreadFocusSink interface is implemented by an


application or TSF text service to receive notifications when
the thread receives or loses the UI focus.

ITfThreadMgr The ITfThreadMgr defines the primary object implemented by


the TSF manager. ITfThreadMgr is used by applications and
text services to activate and deactivate text services, create
document managers, and maintain the document context
focus.

ITfThreadMgr2 The ITfThreadMgr2 defines the primary object implemented


by the TSF manager. ITfThreadMgr2 is used by applications
and text services to activate and deactivate text services,
create document managers, and maintain the document
context focus.

ITfThreadMgrEventSink The ITfThreadMgrEventSink interface is implemented by an


application or TSF text service to receive notifications of
certain thread manager events. Call the TSF manager
ITfSource::AdviseSink with IID_ITfThreadMgrEventSink to install
this advise sink.

ITfThreadMgrEx The ITfThreadMgrEx interface is used by the application to


activate the textservices with some flags. ITfThreadMgrEx can
be obtained by QI from ITfThreadMgr.

ITfToolTipUIElement The ITfToolTipUIElement interface is implemented by a text


service that wants to show a tooltip on its UI.

ITfTransitoryExtensionSink The ITfTransitoryExtensionSink interface is implemented by the


application that uses Transitory Extension dim. The application
can track the changes that happened in the transitory
extension by using this sink interface.

ITfTransitoryExtensionUIElement The ITfTransitoryExtensionUIElement interface is implemented


by TSF manager which provides the UI of transitory extension.

ITfUIElement The ITfUIElement interface is a base interface of the UIElement


object and is implemented by a text service.

ITfUIElementMgr The ITfUIElementMgr interface is implemented by TSF


manager and used by an application or a text service. An
application and a text service can obtain this interface by
ITfThreadMgr::QueryInterface with IID_ITfUIElementMgr.

ITfUIElementSink The ITfUIElementSink interface is implemented by an


application to receive notifications when the UI element is
changed.
T IT L E DESC RIP T IO N

IUIManagerEventSink The IUIManagerEventSink interface is implemented by an app


supporting IME UI integration to receive notifications of IME
UI appearance.

Structures
T IT L E DESC RIP T IO N

TF_DA_COLOR The TF_DA_COLOR structure contains color data used in the


display attributes for a range of text.

TF_DISPLAYATTRIBUTE The TF_DISPLAYATTRIBUTE structure contains display attribute


data for rendering text.

TF_HALTCOND The TF_HALTCOND structure is used to contain conditions of


a range shift.

TF_INPUTPROCESSORPROFILE This structure contains data for the input processor profile.

TF_LANGBARITEMINFO The TF_LANGBARITEMINFO structure is used to hold


information about a language bar item.

TF_LANGUAGEPROFILE The TF_LANGUAGEPROFILE structure contains information


about a language profile.

TF_LBBALLOONINFO The TF_LBBALLOONINFO structure contains information


about a language bar balloon item.

TF_LMLATTELEMENT The TF_LMLATTELEMENT structure contains information


about a lattice element. A lattice element is used in speech
recognition. This structure is used with the
IEnumTfLatticeElements::Next method.

TF_PERSISTENT_PROPERTY_HEADER_ACP The TF_PERSISTENT_PROPERTY_HEADER_ACP structure is


used to provide property header data.

TF_PRESERVEDKEY The TF_PRESERVEDKEY structure represents a preserved key.

TF_PROPERTYVAL The TF_PROPERTYVAL structure contains property value data.


This structure is used with the IEnumTfPropertyValue::Next
method.

TF_SELECTION The TF_SELECTION structure contains text selection data.

TF_SELECTIONSTYLE The TF_SELECTIONSTYLE structure represents the style of a


selection.

TS_ATTRVAL The TS_ATTRVAL structure contains document attribute


values.

TS_RUNINFO The TS_RUNINFO structure specifies the properties of text run


data.
T IT L E DESC RIP T IO N

TS_SELECTION_ACP The TS_SELECTION_ACP structure contains ACP-based text


selection data.

TS_SELECTION_ANCHOR The TS_SELECTION_ANCHOR structure contains anchor-based


text selection data.

TS_SELECTIONSTYLE The TS_SELECTIONSTYLE structure represents the style of a


selection.

TS_STATUS The TS_STATUS structure contains document status data.

TS_TEXTCHANGE The TS_TEXTCHANGE structure contains text change data.


The Windows Shell
3/25/2020 • 216 minutes to read • Edit Online

Overview of the The Windows Shell technology.


To develop The Windows Shell, you need these headers:
appmgmt.h
appnotify.h
cpl.h
credentialprovider.h
dimm.h
imagetranscode.h
inputpanelconfiguration.h
intsafe.h
intshcut.h
mobsync.h
objectarray.h
pathcch.h
profinfo.h
propkeydef.h
scrnsave.h
shappmgr.h
shdeprecated.h
shidfact.h
shimgdata.h
shlwapi.h
shtypes.h
storageprovider.h
syncmgr.h
thumbcache.h
thumbnailstreamcache.h
tlogstg.h
userenv.h
For programming guidance for this technology, see:
The Windows Shell

Class
T IT L E DESC RIP T IO N

CItemIDFactory Exposes methods for interacting with Shell data sources.

Enumerations
T IT L E DESC RIP T IO N

_BROWSERFRAMEOPTIONS Used with method IBrowserFrameOptions::GetFrameOptions.

_EXPCMDSTATE EXPCMDSTATE values represent the command state of a Shell


item.

_EXPLORERPANESTATE Indicate flags used by IExplorerPaneVisibility::GetPaneState to


get the current state of the given Windows Explorer pane.

_FILEOPENDIALOGOPTIONS Defines the set of options available to an Open or Save


dialog.

_KF_DEFINITION_FLAGS Flags that specify certain known folder behaviors. Used with
the KNOWNFOLDER_DEFINITION structure.

_KF_REDIRECT_FLAGS Flags used by IKnownFolderManager::Redirect to specify


details of a known folder redirection such as permissions and
ownership for the redirected folder.

_KF_REDIRECTION_CAPABILITIES Flags that specify the current redirection capabilities of a


known folder. Used by
IKnownFolder::GetRedirectionCapabilities.

_NSTCITEMSTATE Specifies the state of a tree item. These values are used by
methods of the INameSpaceTreeControl interface.

_NSTCSTYLE Describes the characteristics of a given namespace tree


control.

_SHCONTF Determines the types of items included in an enumeration.


These values are used with the IShellFolder::EnumObjects
method.

_SHGDNF Defines the values used with the


IShellFolder::GetDisplayNameOf and IShellFolder::SetNameOf
methods to specify the type of file or folder names used by
those methods.

_SICHINTF Used to determine how to compare two Shell items.


IShellItem::Compare uses this enumerated type.

_SPBEGINF Used by IActionProgress::Begin, these constants specify


certain UI operations that are to be enabled or disabled.

_SVGIO Used with the IFolderView::Items, IFolderView::ItemCount,


and IShellView::GetItemObject methods to restrict or control
the items in their collections.

_SVSIF Indicates flags used by IFolderView, IFolderView2, IShellView


and IShellView2 to specify a type of selection to apply.

_TRANSFER_SOURCE_FLAGS Used by methods of the ITransferSource and


ITransferDestination interfaces to control their file operations.
T IT L E DESC RIP T IO N

APPACTIONFLAGS Specifies application management actions supported by an


application publisher. These flags are bitmasks passed to
IShellApp::GetPossibleActions.

APPINFODATAFLAGS Specifies application information to return from


IShellApp::GetAppInfo. These flags are bitmasks used in the
dwMask member of the APPINFODATA structure.

APPLICATION_VIEW_ORIENTATION Defines the set of display orientation modes for a window


(app view). Used by
IApplicationDesignModeSettings2::GetApplicationViewOrient
ation and
IApplicationDesignModeSettings2::SetApplicationViewOrienta
tion.

APPLICATION_VIEW_SIZE_PREFERENCE Defines the set of possible general window (app view) size
preferences. Used by
ILaunchSourceViewSizePreference::GetSourceViewSizePreferen
ce and
ILaunchTargetViewSizePreference::GetTargetViewSizePreferenc
e.

APPLICATION_VIEW_STATE Indicates the current view state of a Windows Store app.


Used by
IApplicationDesignModeSettings::SetApplicationViewState
and
IApplicationDesignModeSettings::IsApplicationViewStateSupp
orted.

ASSOCDATA Used by IQueryAssociations::GetData to define the type of


data that is to be returned.

ASSOCIATIONLEVEL Specifies the source of the default association for a file name
extension. Used by methods of the
IApplicationAssociationRegistration interface.

ASSOCIATIONTYPE Specifies the type of association for an application. Used by


methods of the IApplicationAssociationRegistration interface.

ASSOCKEY Specifies the type of key to be returned by


IQueryAssociations::GetKey.

ASSOCSTR Used by IQueryAssociations::GetString to define the type of


string that is to be returned.

ATTACHMENT_ACTION Provides a set of flags to be used with


IAttachmentExecute::Prompt to indicate the action to be
performed upon user confirmation.

ATTACHMENT_PROMPT Provides a set of flags to be used with


IAttachmentExecute::Prompt to indicate the type of prompt
UI to display.

AUTOCOMPLETELISTOPTIONS Specifies which objects are enumerated for autocompletion


lists.
T IT L E DESC RIP T IO N

AUTOCOMPLETEOPTIONS Specifies values used by IAutoComplete2::GetOptions and


IAutoComplete2::SetOptions for options surrounding
autocomplete.

BNSTATE Deprecated. Used by IBrowserService::SetNavigateState and


IBrowserService::GetNavigateState to specify navigation
states.

CATEGORYINFO_FLAGS Provides a set of flags for use with the CATEGORY_INFO


structure.

CATSORT_FLAGS Specifies methods for sorting category data.

CM_ENUM_FLAGS Used by members of the IColumnManager interface to


specify which set of columns are being requested, either all or
only those currently visible.

CM_MASK Indicates which values in the CM_COLUMNINFO structure


should be set during calls to
IColumnManager::SetColumnInfo.

CM_SET_WIDTH_VALUE Specifies width values in pixels and includes special support


for default and autosize. Used by members of the
IColumnManager interface through the CM_COLUMNINFO
structure.

CM_STATE Specifies column state values. Used by members of the


IColumnManager interface through the CM_COLUMNINFO
structure.

CREDENTIAL_PROVIDER_ACCOUNT_OPTIONS Indicates the type of credential that a credential provider


should return to associate with the "Other user" tile. Used by
ICredentialProviderUserArray_GetAccountOptions.

CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS Provides customization options for a single field in a logon or


credential UI.

CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE Describes the state of a field and how it a user can interact
with it. Fields can be displayed by a credential provider in a
variety of different interactive states.

CREDENTIAL_PROVIDER_FIELD_STATE Specifies the state of a single field in the Credential UI.

CREDENTIAL_PROVIDER_FIELD_TYPE Specifies a type of credential field. Used by


CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR.

CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE Describes the response when a credential provider attempts


to serialize credentials.

CREDENTIAL_PROVIDER_STATUS_ICON Indicates which status icon should be displayed.

CREDENTIAL_PROVIDER_USAGE_SCENARIO Declares the scenarios in which a credential provider is


supported. A credential provider usage scenario (CPUS)
enables the credential provider to provide distinct
enumeration behavior and UI field setup across scenarios.
T IT L E DESC RIP T IO N

DATAOBJ_GET_ITEM_FLAGS Values used by the SHGetItemFromDataObject function to


specify options concerning the processing of the source
object.

DEF_SHARE_ID Values that specify the folder being acted on by methods of


the ISharingConfigurationManager interface.

DEFAULT_FOLDER_MENU_RESTRICTIONS .

DEFAULTSAVEFOLDERTYPE Specifies the default save location.

DESKTOP_WALLPAPER_POSITION Specifies how the desktop wallpaper should be displayed.

DEVICE_SCALE_FACTOR Indicates a spoofed device scale factor, as a percent. Used by


IApplicationDesignModeSettings::SetApplicationViewState
and
IApplicationDesignModeSettings::IsApplicationViewStateSupp
orted.

DISPLAY_DEVICE_TYPE Indicates whether the device is a primary or immersive type


of display.

DROPIMAGETYPE Values used with the DROPDESCRIPTION structure to specify


the drop image.

EXPLORER_BROWSER_FILL_FLAGS These flags are used with IExplorerBrowser::FillFromObject.

EXPLORER_BROWSER_OPTIONS These flags are used with IExplorerBrowser::GetOptions and


IExplorerBrowser::SetOptions.

FDAP Specifies list placement.

FDE_OVERWRITE_RESPONSE Specifies the values used by the


IFileDialogEvents::OnOverwrite method to indicate an
application's response to an overwrite request during a save
operation using the common file dialog.

FDE_SHAREVIOLATION_RESPONSE Specifies the values used by the


IFileDialogEvents::OnShareViolation method to indicate an
application's response to a sharing violation that occurs when
a file is opened or saved.

FFFP_MODE Describes match criteria. Used by methods of the


IKnownFolderManager interface.

FILE_USAGE_TYPE Constants used by IFileIsInUse::GetUsage to indicate how a


file in use is being used.
T IT L E DESC RIP T IO N

FILETYPEATTRIBUTEFLAGS Indicates FILETYPEATTRIBUTEFLAGS constants that are used


in the EditFlags value of a file association PROGID registry
key.

FOLDER_ENUM_MODE Used by IObjectWithFolderEnumMode::GetMode and


IObjectWithFolderEnumMode::SetMode methods to get and
set the display modes for the folders.

FOLDERFLAGS A set of flags that specify folder view options. The flags are
independent of each other and can be used in any
combination.

FOLDERLOGICALVIEWMODE Used by IFolderViewSettings::GetViewMode and


ISearchFolderItemFactory::SetFolderLogicalViewMode to
describe the view mode.

FOLDERVIEWMODE Specifies the folder view type.

FOLDERVIEWOPTIONS Used by methods of the IFolderViewOptions interface to


activate Windows Vista options not supported by default in
Windows 7 and later systems as well as deactivating new
Windows 7 options.

IESHORTCUTFLAGS Specifies how a shortcut should be handled by the browser.

KF_CATEGORY Value that represent a category by which a folder registered


with the Known Folder system can be classified.

KNOWN_FOLDER_FLAG Specify special retrieval options for known folders. These


values supersede CSIDL values, which have parallel meanings.

LIBRARYFOLDERFILTER Defines options for filtering folder items.

LIBRARYMANAGEDIALOGOPTIONS Used by SHShowManageLibraryUI to define options for


handling a name collision when saving a library.

LIBRARYOPTIONFLAGS Specifies the library options.

LIBRARYSAVEFLAGS Specifies the options for handling a name collision when


saving a library.

MIMEASSOCIATIONDIALOG_IN_FLAGS Used with the MIMEAssociationDialog function to determine


how it executes.

MONITOR_APP_VISIBILITY Specifies whether a display is showing desktop windows


instead of Windows Store apps.

NSTCFOLDERCAPABILITIES Specifies the state of a tree item. These values are used by
methods of the INameSpaceTreeControlFolderCapabilities
interface.

NSTCSTYLE2 Used by methods of the INameSpaceTreeControl2 to specify


extended display styles in a Shell namespace treeview.
T IT L E DESC RIP T IO N

NWMF Flags used by INewWindowManager::EvaluateNewWindow.


These values are factors in the decision of whether to display
a pop-up window.

PACKAGE_EXECUTION_STATE .

PERCEIVED Specifies a file's perceived type. This set of constants is used in


the AssocGetPerceivedType function.

PUBAPPINFOFLAGS Specifies which members in the PUBAPPINFO structure are


valid. These flags are bitmasks set in the dwMask member
and passed to IPublishedApp::GetPublishedAppInfo.

QUERY_USER_NOTIFICATION_STATE Specifies the state of the machine for the current user in
relation to the propriety of sending a notification. Used by
SHQueryUserNotificationState.

RESTRICTIONS These flags are used with the SHRestricted function.

SCALE_CHANGE_FLAGS Flags that are used to indicate the scaling change that
occured.

SCNRT_STATUS Indicates whether to enable or disable Async Register and


Deregister for SHChangeNotifyRegisterThread.

SECURELOCKCODE Deprecated. This enumeration is used by the


BASEBROWSERDATA structure to indicate the base browser's
lock icon status.

SHARD Indicates the interpretation of the data passed by


SHAddToRecentDocs in its pv parameter to identify the item
whose usage statistics are being tracked.

SHARE_ROLE Specifies the access permissions assigned to the Users or


Public folder. Used in CreateShare and GetSharePermissions.

SHCOLSTATE Describes how a property should be treated. These values are


defined in Shtypes.h.

SHELL_LINK_DATA_FLAGS Specifies option settings. Used with


IShellLinkDataList::GetFlags and IShellLinkDataList::SetFlags.

SHELL_UI_COMPONENT Identifies the type of UI component that is needed in the


shell.

ShellFolderViewOptions Specifies the view options returned by the ViewOptions


property.

ShellSpecialFolderConstants Specifies unique, system-independent values that identify


special folders.

ShellWindowFindWindowOptions Specifies options for finding window in the Shell windows


collection.
T IT L E DESC RIP T IO N

ShellWindowTypeConstants Specifies types of Shell windows.

SHGLOBALCOUNTER Identifiers for various global counters, or shared variables.


Each global counter can be incremented or decremented
using SHGlobalCounterIncrement and
SHGlobalCounterDecrement.

SHREGDEL_FLAGS Provides a set of values that indicate from which base key an
item will be deleted.

SHREGENUM_FLAGS Provides a set of values that indicate the base key that will be
used for an enumeration.

SHSTOCKICONID Used by SHGetStockIconInfo to identify which stock system


icon to retrieve.

SIGDN Requests the form of an item's display name to retrieve


through IShellItem::GetDisplayName and
SHGetNameFromIDList.

SPACTION Describes an action being performed that requires progress


to be shown to the user using an IActionProgress interface.

SPTEXT Specifies the type of descriptive text being provided to an


IActionProgress interface.

STPFLAG Used by the ITaskbarList4::SetTabProperties method to


specify tab properties.

SVUIA_STATUS Used with the IBrowserService2::_UIActivateView method to


set the state of a browser view.

SYNCMGR_CANCEL_REQUEST Describes a request by the user to cancel a synchronization.

SYNCMGR_CONFLICT_ITEM_TYPE Describes conflict item type.

SYNCMGR_CONTROL_FLAGS Specifies how an operation requested on certain methods of


ISyncMgrControl should be performed.

SYNCMGR_EVENT_FLAGS Specifies flags for a synchronization event.

SYNCMGR_EVENT_LEVEL Specifies the type of event being reported to Sync Center.

SYNCMGR_HANDLER_CAPABILITIES Specifies the capabilities of a handler regarding the actions


that can be performed against it.

SYNCMGR_HANDLER_POLICIES Enumerates policies specified by a sync handler that deviate


from the default policy.

SYNCMGR_HANDLER_TYPE Specifies the type of a handler. Used by


ISyncMgrHandlerInfo::GetType.

SYNCMGR_ITEM_CAPABILITIES Specifies the actions that can be performed against an item.


T IT L E DESC RIP T IO N

SYNCMGR_ITEM_POLICIES Specifies an item's policies to control how they can be


enabled or disabled by group policy.

SYNCMGR_PRESENTER_CHOICE Describes what choice a user makes about a sync manager


conflict resolution. Used by ISyncMgrConflictPresenter.

SYNCMGR_PRESENTER_NEXT_STEP Describes the next step that is to occur in sync manager


conflict resolution. Used by ISyncMgrConflictPresenter.

SYNCMGR_PROGRESS_STATUS Specifies the current progress status of a synchronization


process. Used by ISyncMgrSyncCallback::ReportProgress.

SYNCMGR_RESOLUTION_ABILITIES Indicates abilities and the conflict resolution activity to follow.


Used with ISyncMgrResolutionHandler::QueryAbilities.

SYNCMGR_RESOLUTION_FEEDBACK Describes Sync Manager resolution feedback. Used by


ISyncMgrResolutionHandler.

SYNCMGR_SYNC_CONTROL_FLAGS Indicates flags used by ISyncMgrControl::StartHandlerSync


and ISyncMgrControl::StartItemSync.

SYNCMGRFLAG The SYNCMGRFLAG enumeration values are used in the


ISyncMgrSynchronize::Initialize method to indicate how the
synchronization event was initiated.

SYNCMGRHANDLERFLAGS Used in the SYNCMGRHANDLERINFO structure as flags that


apply to the current handler.

SYNCMGRINVOKEFLAGS The SYNCMGRINVOKEFLAGS enumeration value specifies


how the Sync Manager is to be invoked in the
ISyncMgrSynchronizeInvoke::UpdateItems method.

SYNCMGRITEMFLAGS Specifies information for the current item in the


SYNCMGRITEM structure.

SYNCMGRLOGLEVEL The SYNCMGRLOGLEVEL enumeration values specify an error


level for use in the ISyncMgrSynchronizeCallback::LogError
method.

SYNCMGRREGISTERFLAGS The SYNCMGRREGISTERFLAGS enumeration values are used


in methods of the ISyncMgrRegister interface to identify
events for which the handler is registered to be notified.

SYNCMGRSTATUS Used in the ISyncMgrSynchronize::SetItemStatus method to


specify the updated status for the item.

tagDESKBANDCID These command IDs can be sent to the band object's


container with IOleCommandTarget::Exec.

tagSFBS_FLAGS Specifies how the StrFormatByteSizeEx function should handle


rounding of undisplayed digits.

THUMBBUTTONFLAGS Used by THUMBBUTTON to control specific states and


behaviors of the button.
T IT L E DESC RIP T IO N

THUMBBUTTONMASK Used by the THUMBBUTTON structure to specify which


members of that structure contain valid data.

ThumbnailStreamCacheOptions Defines the cache options used by the


IThumbnailStreamCache interface.

TRANSLATEURL_IN_FLAGS The TRANSLATEURL_IN_FLAGS enumerated values are used


with the TranslateURL function to determine how it will
execute.

UNDOCK_REASON Values that indicate the reason that a docked accessibility app
window has been undocked. Used by
IAccessibilityDockingServiceCallback::Undocked.

URL_SCHEME Used to specify URL schemes.

URLASSOCIATIONDIALOG_IN_FLAGS The URLASSOCIATIONDIALOG_IN_FLAGS enumerated values


are used with URLAssociationDialog to determine how it
executes.

VPCOLORFLAGS Specifies the use of a color. Used by IVisualProperties


methods.

VPWATERMARKFLAGS Specifies watermark flags. Used by


IVisualProperties::SetWatermark.

WTS_CONTEXTFLAGS Specifies the context of a thumbnail extraction. Used by


IThumbnailSettings::SetContext.

WTS_FLAGS Values used by IThumbnailCache::GetThumbnail to specify


options for the extraction and display of the thumbnail
image.

Functions
T IT L E DESC RIP T IO N

_CancelPendingNavigationAsync Deprecated. Enables a derived class to request that the base


class cancel any pending navigation.

_CancelPendingView Deprecated. Enables a derived class to request that the base


class cancel any pending views.

_CloseAndReleaseToolbars Deprecated. Requests the closing of the browser toolbars


hosted by the derived class.

_DisableModeless Deprecated. Enables a derived class to ask the base class


whether a modal UI is visible. A modal UI blocks minimize
and close behavior in the browser window.

_ExecChildren Deprecated. Enables the derived class to issue a command


through the IOleCommandTarget::Exec method directly,
instead of relying on the base class.
T IT L E DESC RIP T IO N

_FindTBar Deprecated. Returns the index of a browser toolbar item


based on Component Object Model (COM) identity rules.

_get_itbLastFocus Deprecated. Gets the ID of the last toolbar or view that had
focus.

_GetBorderDWHelper Deprecated. A helper method for the implementation of


GetBorderDW.

_GetEffectiveClientArea Deprecated. Used with IBrowserService2::_GetViewBorderRect


to negotiate the dimensions of the browser view.

_GetToolbarCount Deprecated. Returns the number of toolbars in the browser


window.

_GetToolbarItem Deprecated. Gets a specific item from a toolbar.

_GetViewBorderRect Deprecated. Used with


IBrowserService2::_GetEffectiveClientArea to negotiate the
size and position of the browser view.

_Initialize Deprecated. Coordinates the initializing of state between the


base and the derived classes.

_LoadToolbars Deprecated. Loads the saved state of the browser's toolbars.

_MaySaveChanges Deprecated. Enables the base class to check whether the


browser view needs to save changes before closing.

_NavigateToPidl Deprecated. Navigates the base class to a new location


synchronously.

_NewEnum Retrieves an enumerator for the collection of Shell windows.

_OnFocusChange Deprecated. Coordinates focus between the base and the


derived class when the focus shifts between the derived
class's browser toolbars and its view.

_PauseOrResumeView Deprecated. Enables a derived class to request the base class


to either pause (such as before a minimize operation) or
resume the browser view.

_PositionViewWindow Deprecated. Used in view size negotiations. This method is


called by _UpdateViewRectSize after determining the available
dimensions.

_put_itbLastFocus Deprecated. Sets the last toolbar or the last view with focus.

_ResizeAllBorders Deprecated.

_ResizeNextBorder Deprecated. Resizes the border of the browser view in


response to the addition or removal of toolbars.
T IT L E DESC RIP T IO N

_ResizeNextBorderHelper Deprecated. A helper method used by the implementation of


IBrowserService2::_ResizeNextBorder.

_ResizeView Deprecated. Calls IBrowserService2::_UpdateViewRectSize,


then updates the browser view by using
IOleInPlaceActiveObject::ResizeBorder.

_SaveToolbars Deprecated. Saves the state of browser toolbars.

_SendChildren Deprecated. Allows the derived class to send a message


through the SendMessage function directly instead of relying
on the base class.

_SetFocus Deprecated. Sets the focus on a toolbar or on the browser's


view window. Called when translating accelerators through
TranslateAcceleratorSB or when
IBrowserService2::v_MayGetNextToolbarFocus fails.

_SwitchActivationNow Deprecated. Coordinates state updates while switching


between current and pending browser views.

_TryShell2Rename Deprecated. Coordinates the renaming of the current


browser view when the browser is redirected.

_UIActivateView Deprecated. Allows a derived class to request that the base


class update the browser view.

_UpdateViewRectSize Deprecated. Called to inform other functions involved in the


browser view size negotiations that the allowable browser
view dimensions have changed.

AbortList Discontinues a Jump List building session initiated by


ICustomDestinationList::BeginList without committing any
changes.

Activate Requests that the handler is activated or deactivated. An


active handler can be synchronized; an inactive handler
cannot.

ActivateApplication Activates the specified Windows Store app for the generic
launch contract (Windows.Launch) in the current session.

ActivateBackgroundTask Activates the specified background task.

ActivateForFile Activates the specified Windows Store app for the file contract
(Windows.File).

ActivateForProtocol Activates the specified Windows Store app for the protocol
contract (Windows.Protocol).

ActivateHandler Activates or deactivates a handler.

ActivatePendingView Deprecated. Coordinates state updating while the browser is


switching between a current and a pending view.
T IT L E DESC RIP T IO N

ActivateTab Activates an item on the taskbar. The window is not actually


activated; the window's item on the taskbar is merely
displayed as active.

ActivateView Deprecated.

AddBand Adds a band to a band site object.

AddCheckButton Adds a check button (check box) to the dialog.

AddComboBox Adds a combo box to the dialog.

AddControlItem Adds an item to a container control in the dialog.

AddCreateFlags Set additional flags that will be included in the call to


CreateProcess.

AddDataBlock Adds a data block to a link.

AddEditBox Adds an edit box control to the dialog.

AddEntry Deprecated. Adds a new entry for a pending navigation to


the travel log.

AddFolder Adds a folder to the library.

AddFromArray Adds the objects contained in an IObjectArray to the


collection.

AddIDList Inserts a pointer to an item identifier list (PIDL) into a results


folder.

AddItem Adds an item to a results folder.

AddItemToSession Adds a specified item to the set of items currently being


synchronized.

AddMenu Adds a menu to the dialog.

AddObject AddObject may be altered or unavailable.

AddObject Adds a single object to the collection.

AddPages Adds extension pages to the wizard by filling an array with


handles to PROPSHEETPAGE structures representing those
pages.

AddPages Adds one or more pages to a property sheet that the Shell
displays for a file object. The Shell calls this method for each
property sheet handler registered to the file type.
T IT L E DESC RIP T IO N

AddPlace Adds a folder to the list of places available for the user to
open or save items.

AddPropertySheetPages Allows the view to add pages to the Options property sheet
from the View menu.

AddPushButton Adds a button to the dialog.

AddRadioButtonList Adds an option button (also known as radio button) group to


the dialog.

AddSeparator Adds a separator to the dialog, allowing a visual separation of


controls.

AddStartupFlags Additional flags that will be included in the STARTUPINFO


structure passed to CreateProcess.

AddTab Adds an item to the taskbar.

AddTask Adds a task to the scheduler's background queue.

AddText Adds text content to the dialog.

AddToolbar Adds the specified IDockingWindow object to the frame.

AddUserTasks Specifies items to include in the Tasks category of a custom


Jump List.

AdvanceSlideshow Switches the wallpaper on a specified monitor to the next


image in the slideshow.

Advise Registers an advise sink object to receive notification of


changes to the display.

Advise Initiates a connection with IExplorerBrowser for event


callbacks.

Advise Assigns an event handler that listens for events coming from
the dialog.

Advise Enables a handler to provide status and error information for


all operations.

Advise Registers the app's input pane handler object to receive


notifications on behalf of a window when an event triggers
the input pane. This method differs from AdviseWithHWND
in that it references its window through an object that
implements ICoreWindow.

Advise Sets up an advisory connection for notifications on the status


of file operations.
T IT L E DESC RIP T IO N

Advise Sets up an advisory connection for notifications on the status


of file operations.

Advise Allows a credential provider to initiate events in the Logon UI


or Credential UI through a callback interface.

Advise Enables a credential to initiate events in the Logon UI or


Credential UI through a callback interface. This method
should be called before other methods in
ICredentialProviderCredential interface.

AdviseWithHWND Registers the app's input pane handler object to receive


notifications on behalf of a window when an event triggers
the input pane. This method differs from Advise in that it
references its window through an HWND.

AllowAutoPlay Determines whether to play media inserted by a user and if


so using what restrictions.

AllowViewResize Deprecated. Informs the base class whether to allow view


resizing.

Append Appends an object to the collection of managed objects.

AppendCategory Defines a custom category and the destinations that it


contains, for inclusion in a custom Jump List.

AppendFieldComboBoxItem Communicates to the Logon UI or Credential UI that a


combo box needs an item appended and that the UI should
be updated.

AppendKnownCategory Specifies that the Frequent or Recent category should be


included in a custom Jump List.

AppendRoot Appends a Shell item to the list of roots in a tree.

APPLET_PROC Serves as the entry point for a Control Panel application. This
is a library-defined callback function.

ApplyProperties Applies a set of properties to an item using the Shell's copy


engine.

ApplyPropertiesToItem Declares a single item whose property values are to be set.

ApplyPropertiesToItem Apply a set of property changes to an item.

ApplyPropertiesToItems Declares a set of items for which to apply a common set of


property values.

AppVisibilityOnMonitorChanged Notifies a client that the mode of a display has changed.

ArePrintersShared Determines whether any printers connected to this computer


are shared.
T IT L E DESC RIP T IO N

AreSnapshotsAvailable Queries for the availablilty of a Windows Server 2003 volume


image recorded by the system at an earlier time.

ArrangeGrid Arranges moved icons so that they align to an invisible grid.

AssocCreate Returns a pointer to an IQueryAssociations object.

AssocCreateForClasses Retrieves an object that implements an IQueryAssociations


interface.

AssocGetDetailsOfPropKey Retrieves the value for a given property key using the file
association information provided by the Namespace
Extensions.

AssocGetPerceivedType Retrieves a file's perceived type based on its extension.

AssocIsDangerous Determines whether a file type is considered a potential


security risk.

AssocQueryKeyA Searches for and retrieves a key related to a file or protocol


association from the registry.

AssocQueryKeyW Searches for and retrieves a key related to a file or protocol


association from the registry.

AssocQueryStringA Searches for and retrieves a file or protocol association-


related string from the registry.

AssocQueryStringByKeyA Searches for and retrieves a file association-related string


from the registry starting from a specified key.

AssocQueryStringByKeyW Searches for and retrieves a file association-related string


from the registry starting from a specified key.

AssocQueryStringW Searches for and retrieves a file or protocol association-


related string from the registry.

AutoArrange AutoArrange may be altered or unavailable.

BeforeCoCreateInstance .

BeforeCreateProcess .

Begin Called when an action has begun that requires its progress
be displayed to the user.

BeginFieldUpdates Starts a batch update to fields in the logon or credential UI.

BeginList Initiates a building session for a custom Jump List.

BindToConflict Binds to a particular conflict specified by IID.


T IT L E DESC RIP T IO N

BindToHandler Binds to a handler for an item as specified by the handler ID


value (BHID).

BindToHandler Binds to an object by means of the specified handler.

BindToHandler Instantiates a specified sync handler when called by Sync


Center.

BindToObject Retrieves a handler, typically the Shell folder object that


implements IShellFolder for a particular item. Optional
parameters that control the construction of the handler are
passed in the bind context.

BindToStorage Requests a pointer to an object's storage interface.

BrowseObject Informs Windows Explorer to browse to another folder.

BrowseToIDList Browses to a pointer to an item identifier list (PIDL)

BrowseToObject Browses to an object.

Burn Instructs data to be copied from the staging area to a


writable CD.

ByteToChar Converts a value of type BYTE to a value of type CHAR.

ByteToInt8 Converts a value of type BYTE to a value of type INT8.

CacheOLEServer Deprecated. Caches a reference to an external object to avoid


reloading the server on reuse.

CallBack Enables the callback function for a context menu.

CallbackSM Receives messages from a menu band object.

CanCategorizeOnSCID Determines whether a column can be used as a category.

CancelIo Marks all pending input/output (I/O) operations as canceled.

CanContinue Determines whether the synchronization has been canceled.

CanNavigateNow Deprecated. Returns a value that indicates whether


navigation is currently allowed.

CanRenderComposited Indicates the deskband's ability to be displayed as


translucent.

CaptureThumbnail Retrieves a thumbnail representation of an IHTMLDocument2


document.

CDefFolderMenu_Create2 Creates a context menu for a selected group of file folder


objects.
T IT L E DESC RIP T IO N

CheckPolicy Provides a Boolean test that can be used to make decisions


based on the attachment's execution policy.

ChrCmpIA Performs a comparison between two characters. The


comparison is not case-sensitive.

ChrCmpIW Performs a comparison between two characters. The


comparison is not case-sensitive.

CIDLData_CreateFromIDArray CIDLData_CreateFromIDArray may be altered or unavailable.

Clear Removes all objects from the collection.

ClearClientData Instructs the dialog to clear all persisted state information.

ClearClientState Removes any stored state that is based on the client's GUID.
An example might be a setting based on a checked box that
indicates a prompt should not be displayed again for a
particular file type.

ClearUserAssociations Removes all per-user associations for the current user. This
results in a reversion to machine defaults, if they exist. Not
intended for use in Windows 8.

Clone Not currently implemented.

Clone Used to request a duplicate of the enumerator object to


preserve its current state.

Clone Creates a new item enumeration object with the same


contents and state as the current one.

Clone Creates a new item enumeration object with the same


contents and state as the current one.

Clone Not implemented.Not implemented.

Clone Clones a resource enumerator.

Clone Gets a copy of the current enumeration.

Clone Not used. Clones an IEnumSyncMgrConflict object.

Clone Clones an IEnumSyncMgrEvents object.

Clone Not used. Clones an IEnumSyncMgrSyncItems object.

Clone Creates another items enumerator with the same state as the
current enumerator to iterate over the same list. This method
makes it possible to record a point in the enumeration
sequence in order to return to that point at a later time.

Clone Deprecated. Duplicates the contents of the current travel log.


T IT L E DESC RIP T IO N

CloneFrame Retrieves a clone of the current image or frame.

Close Closes the image cache.

Close Closes the dialog.

CloseDW Notifies the docking window object that it is about to be


removed from the frame. The docking window object should
save any persistent information at this time.

CloseFile Closes the file currently in use.

CollapseAll Collapses all of the items in the given tree.

ColorAdjustLuma Changes the luminance of a RGB value. Hue and saturation


are not affected.

ColorHLSToRGB Converts colors from hue-luminance-saturation (HLS) to RGB


format.

ColorRGBToHLS Converts colors from RGB to hue-luminance-saturation (HLS)


format.

ColumnClick Rearranges a column.

CommandLineToArgvW Parses a Unicode command line string and returns an array of


pointers to the command line arguments, along with a count
of such arguments, in a way that is similar to the standard C
run-time argv and argc values.

CommandLinkClicked Enables the Logon UI and Credential UI to indicate that a link


was clicked.

Commit Writes the contents specified by pdwLoc to storage.

Commit Commits library updates to an existing Library Description


file.

CommitItem Confirms a specified item as a member of the handler's sync


set and confirms that it should be shown in the UI.

CommitList Declares that the Jump List initiated by a call to


ICustomDestinationList::BeginList is complete and ready for
display.

Compare Compares two IShellItem objects.

CompareCategory Determines the relative order of two items in their item


identifier lists, and hence in the UI.

CompareIDs Determines the relative order of two file objects or folders,


given their item identifier lists.
T IT L E DESC RIP T IO N

ComputeApplicationSize Gets the size of the Windows Store app, based on the current
set of spoofed settings.

ComputerInfoChanged Not supported. This interface may be absent in later versions


of Windows.

ConfirmEncryptionLoss Displays a message to the user confirming that loss of


encryption is acceptable for this operation.

ConfirmOverwrite Displays a message to the user confirming that overwriting


existing items is acceptable.

Connect Connects an IConnectableCredentialProviderCredential


object. This method is called after the user clicks the Submit
button within the Pre-Logon-Access Provider screen and
before ICredentialProviderCredential::GetSerialization is called.

ConnectToConnectionPoint Establishes or terminates a connection between a client's sink


and a connection point container.

CopyCallback Determines whether the Shell will be allowed to move, copy,


delete, or rename a folder or printer object.

CopyCallback Determines whether the Shell will be allowed to move, copy,


delete, or rename a folder or printer object.

CopyDataBlock Retrieves a copy of a link's data block.

CopyItem Declares a single item that is to be copied to a specified


destination.

CopyItems Declares a set of items that are to be copied to a specified


destination.

CountEntries Deprecated. Generates the number of entries in the travel


log.

CountTasks Counts tasks with the same owner ID in the scheduler's


queue.

CreateAppContainerProfile Creates a per-user, per-app profile for Windows Store apps.

CreateBand Creates a specified band.

CreateBrowserPropSheetExt Deprecated. Allows the derived class to add Folder Options


property sheets to the base class.

CreateCategory Creates a category object.

CreateEnumIDListFromContents Creates an enumerator of ID lists from the contents of the


view.
T IT L E DESC RIP T IO N

CreateEnvironmentBlock Retrieves the environment variables for the specified user. This
block can then be passed to the CreateProcessAsUser
function.

CreateImageFromFile Creates an instance of the IShellImageData interface based


on a given file.

CreateImageFromStream Creates an instance of the IShellImageData interface based


on a given file stream.

CreateInvoker Retrieves an object that enables the invocation of the


associated handler on the current selection. The invoker
includes the ability to verify whether the current selection is
supported.

CreateIShellImageData Creates an instance of the IShellImageData interface.

CreateItem Creates the specified file.

CreateItemID Creates an ItemID from the supplied data.

CreateObject Creates a local object of a specified class and returns a


pointer to a specified interface on the object.

CreateProfile Creates a new user profile.

CreateResource Creates a specified resource.

CreateSession Notifies Sync Center that synchronization of the specified


items has begun.

CreateShare Shares the Users or Public folder. If the folder is already


shared, this method updates its sharing status.

CreateViewObject Requests an object that can be used to obtain information


from or interact with a folder object.

CreateViewWindow Creates a view window. This can be either the right pane of
Windows Explorer or the client window of a folder window.

CreateViewWindow Deprecated. Coordinates the updating of state when creating


a new browser view window.

CreateViewWindow2 Used to request the creation of a new Shell view window. It


can be either the right pane of Windows Explorer or the client
window of a folder window.

CreateViewWindow3 Requests the creation of a new Shell view window. The view
can be either the right pane of Windows Explorer or the client
window of a folder window. This method replaces
CreateViewWindow2.

CredentialsChanged Signals the Logon UI or Credential UI that the enumerated


list of credentials has changed.
T IT L E DESC RIP T IO N

DAD_AutoScroll Scrolls the window while an image is being dragged.

DAD_DragEnterEx Locks updates to the specified window during a drag


operation and displays the drag image at the specified
position within the window.

DAD_DragEnterEx2 Locks updates to the specified window during a drag-and-


drop operation and displays the drag image at the specified
position within the window.

DAD_DragLeave Unlocks the window locked by the DAD_DragEnterEx


function.

DAD_DragMove Moves the image that is being dragged during a drag-and-


drop operation.

DAD_SetDragImage Sets the drag image.

DAD_ShowDragImage Shows or hides the image being dragged.

Decode Decodes the image file, setting state.

DEFINE_PROPERTYKEY Used to pack a format identifier (FMTID) and property


identifier (PID) into a PROPERTYKEY structure that represents
a property key.

DefScreenSaverProc Provides default processing for any messages that a screen


saver application does not process.

DefSubclassProc Calls the next handler in a window's subclass chain. The last
handler in the subclass chain calls the original window
procedure for the window.

Delete Deletes a sync item.

DeleteAppContainerProfile Deletes the specified per-user, per-app profile.

DeleteFieldComboBoxItem Communicates to the Logon UI or Credential UI that an item


should be deleted from a combo box and that the UI should
be updated.

DeleteItem Declares a single item that is to be deleted.

DeleteItems Declares a set of items that are to be deleted.

DeleteList Deletes a custom Jump List for a specified application.

DeleteLogError Called by the registered application's handler to delete a


previously logged ErrorInformation, warning, or error
message in the error tab on the synchronization manager
status dialog box.
T IT L E DESC RIP T IO N

DeleteProfileA Deletes the user profile and all user-related settings from the
specified computer. The caller must have administrative
privileges to delete a user's profile.

DeleteProfileW Deletes the user profile and all user-related settings from the
specified computer. The caller must have administrative
privileges to delete a user's profile.

DeleteShare Removes sharing from either the Users or Public folder.

DeleteTab Deletes an item from the taskbar.

DeriveAppContainerSidFromAppContainerName Gets the SID of the specified profile.

DeriveRestrictedAppContainerSidFromAppContainerSidAndRe DeriveRestrictedAppContainerSidFromAppContainerSidAndRe
strictedName strictedName is reserved for future use.

DeskBandRegistrationChanged Refreshes the deskband registration cache.

Destroy Destroys the browser.

DestroyBand Destroys a specified band.

DestroyEnvironmentBlock Frees environment variables created by the


CreateEnvironmentBlock function.

DestroyViewWindow Destroys the view window.

Detach Retrieves the bitmap contained in an ISharedBitmap object,


and returns a copy if the contained bitmap resides in shared
memory.

DisableDebugging Disables debug mode for the processes of the specified


package.

DiscardEdit Discards edits made to an image.

Disconnect Disconnects an IConnectableCredentialProviderCredential


object.

DisplayName Gets the name of the file if IShellImageData was initialized on


a file path. Otherwise, gets the name of the data stream.

DisplayParseError Deprecated. Displays a URL that failed to be successfully


parsed by IBrowserService::IEParseDisplayName.

DLLGETVERSIONPROC Implemented by many of the Windows Shell DLLs to allow


applications to obtain DLL-specific version information.

DllInstall Handles installation and setup for a DLL.

DoContextMenuPopup DoContextMenuPopup is no longer available for use as of


Windows Server 2003.
T IT L E DESC RIP T IO N

DoEnvironmentSubstA Parses an input string that contains references to one or


more environment variables and replaces them with their
fully expanded values.

DoEnvironmentSubstW Parses an input string that contains references to one or


more environment variables and replaces them with their
fully expanded values.

DoPreview Directs the preview handler to load data from the source
specified in an earlier Initialize method call, and to begin
rendering to the previewer window.

DoRename Starts a rename operation on the current selection.

DragAcceptFiles Registers whether a window accepts dropped files.

DragEnter Notifies the drag-image manager that the drop target's


IDropTarget::DragEnter method has been called.

DragFinish Releases memory that the system allocated for use in


transferring file names to the application.

DragLeave Notifies the drag-image manager that the drop target's


IDropTarget::DragLeave method has been called.

DragOver Notifies the drag-image manager that the drop target's


IDropTarget::DragOver method has been called.

DragQueryFileA Retrieves the names of dropped files that result from a


successful drag-and-drop operation.

DragQueryFileW Retrieves the names of dropped files that result from a


successful drag-and-drop operation.

DragQueryPoint Retrieves the position of the mouse pointer at the time a file
was dropped during a drag-and-drop operation.

Draw Draws a decoded image.

DriveType DriveType may be altered or unavailable.

DriveType DriveType may be altered or unavailable.

Drop Notifies the drag-image manager that the drop target's


IDropTarget::Drop method has been called.

DuplicateIcon Creates a duplicate of a specified icon.

DWordPtrAdd Adds two values of type DWORD_PTR.

DWordPtrMult Multiplies one value of type DWORD_PTR by another.

DWordPtrSub Subtracts one value of type DWORD_PTR from another.


T IT L E DESC RIP T IO N

Enable Enables or disables autocompletion.

Enable Enables or disables the desktop background.

Enable Requests that an active handler be enabled or disabled. An


enabled handler can be synchronized and a disabled handler
cannot.

Enable Enables or disables the sync item.

EnableDebugging Enables debug mode for the processes of the specified


package.

EnableFocusTracking Enables a client process to opt-in to the focus tracking


mechanism for Windows Store apps that controls the
invoking and dismissing semantics of the touch keyboard.

EnableHandler Enables or disables a handler.

EnableItem Enables or disables a sync item managed by a specified


handler.

EnableModeless Enables or disables modeless dialog boxes. This method is not


currently implemented.

EnableModeless Called by the registered application before and after any


dialog boxes are displayed from within the PrepareForSync
and Synchronize methods.

EnableModelessSB Tells Windows Explorer to enable or disable its modeless


dialog boxes.

EnableOpenDropDown Enables a drop-down list on the Open or Save button in the


dialog.

End Indicates that the action associated with this progress


implementation has ended.

EndFieldUpdates Finishes and commits the batch updates started by


BeginFieldUpdates.

EndOperation Notifies the data object that the asynchronous data


extraction has ended.

EndVisualGroup Stops the addition of elements to a visual group in the dialog.

EnsureItemVisible Ensures that the given item is visible.

EnterFolder Called when a folder is about to be entered during a


namespace walk. Use this method for any initialization of the
retrieved item.

EnterFolder Notifies that a folder is the destination of a file operation.


T IT L E DESC RIP T IO N

EnumApps Creates an enumerator for enumerating all applications


published by an application publisher for a given category.

EnumBands Enumerates the bands in a band site.

EnumCategories Gets the enumerator for the list of GUIDs that represent
categories.

EnumConflicts Enumerates conflicts scoped to the provided sync handler


and sync item.

EnumerateBackgroundTasks Gets the background tasks that are provided by the specified
package.

EnumItems Gets an enumerator of the items in the array.

EnumObjects Enables a client to determine the contents of a folder by


creating an item identifier enumeration object and returning
its IEnumIDList interface. The methods supported by that
interface can then be used to enumerate the folder's
contents.

EnumReady Notifies the implementer that the view's item enumeration


has completed.

EnumResources Gets a resource enumerator object.

EnumSearches Requests a pointer to an interface that allows a client to


enumerate the available search objects.

EnumSubCommands Retrieves an enemerator for a command's subcommands.

EnumSyncMgrItems Obtains the ISyncMgrEnumItems interface for the items that


are handled by a registered application.

EstablishConnection Called by the registered application's handler when a network


connection is required.

EvaluateNewWindow Accepts data about a new window that is attempting to


display and determines whether that window should be
allowed to open based on the user's preferences.

Execute Executes an action on an attachment.

Execute Invoke the verb on the selected items. Call this method after
you have called the other methods of this interface.

Expand Requests that the autocompletion client generate candidate


strings associated with a specified item in its namespace.

ExpandEnvironmentStringsForUserA Expands the source string by using the environment block


established for the specified user.
T IT L E DESC RIP T IO N

ExpandEnvironmentStringsForUserW Expands the source string by using the environment block


established for the specified user.

Extract Extracts an icon image from the specified location.

Extract Extracts an icon image from the specified location.

Extract Requests an image from an object, such as an item in a Shell


folder.

ExtractAssociatedIconA Gets a handle to an icon stored as a resource in a file or an


icon stored in a file's associated executable file.

ExtractAssociatedIconExA ExtractAssociatedIconEx may be altered or unavailable.

ExtractAssociatedIconExW ExtractAssociatedIconEx may be altered or unavailable.

ExtractAssociatedIconW Gets a handle to an icon stored as a resource in a file or an


icon stored in a file's associated executable file.

ExtractIconA Gets a handle to an icon from the specified executable file,


DLL, or icon file. To retrieve an array of handles to large or
small icons, use the ExtractIconEx function.

ExtractIconExA The ExtractIconEx function creates an array of handles to


large or small icons extracted from the specified executable
file, DLL, or icon file.

ExtractIconExW The ExtractIconEx function creates an array of handles to


large or small icons extracted from the specified executable
file, DLL, or icon file.

ExtractIconW Gets a handle to an icon from the specified executable file,


DLL, or icon file. To retrieve an array of handles to large or
small icons, use the ExtractIconEx function.

FileFailure Called when there is a failure and user interaction is needed.

FillFromObject Creates a results folder and fills it with items.

Filter Evaluates whether a list of credential providers should be


allowed to provide credential tiles.

FilterView Sets the filter on the contents of the current view.

FindCIE4ConnectionPoint Deprecated. Gets a connection point for browser events.

FindConnectionPoint Deprecated. Gets connection points for browser events.

FindExecutableA Retrieves the name of and handle to the executable (.exe) file
associated with a specific document file.
T IT L E DESC RIP T IO N

FindExecutableW Retrieves the name of and handle to the executable (.exe) file
associated with a specific document file.

FindFolderFromIDList Gets an object that represents a known folder based on an


IDList. The object allows you to query certain folder
properties, get the current path of the folder, redirect the
folder to another location, and get the path of the folder as
an ITEMIDLIST.

FindFolderFromPath Gets an object that represents a known folder based on a file


system path.

FindToolbar Finds the specified IDockingWindow object in the toolbar


frame and returns an interface pointer to it.

FindTravelEntry Deprecated. Determines whether a specific travel entry is


present in the travel log.

FindWindowSW Finds a window in the Shell windows collection and returns


the window's handle and IDispatch interface.

FinishOperations Performs caller-implemented actions after the last operation


performed by the call to IFileOperation is complete.

FolderIdFromCsidl Gets the KNOWNFOLDERID that is the equivalent of a legacy


CSIDL value.

FolderIdToCsidl Gets the legacy CSIDL value that is the equivalent of a given
KNOWNFOLDERID.

ForwardViewMsg Deprecated. Calls the SendMessage function with a message


received by the view, using the _hwndView member of the
BASEBROWSERDATA structure as the SendMessage hWnd
parameter.

FoundItem Called when an object is found in the namespace during a


namespace walk. Use this method as the main action
function for the class implementing it. Perform your actions
as needed inside this method.

FreeConfirmConflictItem Frees the resources that have been allocated for a


CONFIRM_CONFLICT_ITEM structure.

FreeIDListArray Frees the memory used by an pointer to an item identifier list


(PIDL) list array.

FreeIDListArrayChild Releases the memory space for the array of pointers to child
item IDs. This releases both the PITEMID_CHILDs within the
array and the array itself.

FreeIDListArrayFull Releases the memory space for the pointer to an item


identifier list (PIDL) array. This releases both the
PIDLIST_ABSOLUTEs within the array and the array itself.
T IT L E DESC RIP T IO N

FreeKnownFolderDefinitionFields Frees the allocated fields in the result from


IKnownFolder::GetFolderDefinition.

get_Application Gets the application object.

get_Count Gets the number of windows in the Shell windows collection.

get_CurrentViewMode Gets the current view mode of the current folder.

get_FocusedItem Gets the FolderItem object that represents the item that has
input focus.

get_Folder Gets the Folder object that represents the view.

get_FolderFlags Gets the settings for the current folder.

get_GroupBy Gets the column used for grouping the folder view.

get_IconSize Gets the icon size setting for the current folder.

get_Parent Not implemented.

get_Script Gets the scripting object for the view.

get_SortColumns Gets the names of the columns used to sort the current
folder.

get_ViewOptions Gets a set of flags that indicate the current options of the
view.

GetAcceptLanguagesA Retrieves a string used with websites when specifying


language preferences.

GetAcceptLanguagesW Retrieves a string used with websites when specifying


language preferences.

GetAccountOptions Retrieves a value that indicates whether the "Other user" tile
for local or Microsoft accounts is shown in the logon or
credential UI.

GetAllUsersProfileDirectoryA Retrieves the path to the root of the directory that contains
program data shared by all users.

GetAllUsersProfileDirectoryW Retrieves the path to the root of the directory that contains
program data shared by all users.

GetAnyOperationsAborted Gets a value that states whether any file operations initiated
by a call to IFileOperation::PerformOperations were stopped
before they were complete. The operations could be stopped
either by user action or silently by the system.

GetAppContainerFolderPath Gets the path of the local app data folder for the specified
app container.
T IT L E DESC RIP T IO N

GetAppContainerRegistryLocation Gets the location of the registry storage associated with an


app container.

GetAppID Retrieves a file type handler's explicit Application User Model


ID (AppUserModelID), if one has been declared.

GetAppInfo Gets general information about an application.

GetApplicationDisplayName Retrieves the display name of the application that


implemented the handler.

GetApplicationIconReference Retrieves the icon of the application that implemented the


handler.

GetApplicationPublisher Retrieves the name of the publisher of the application that


implemented the handler.

GetApplicationSizeBounds This methods retrieves the size bounds supported by the


application.

GetApplicationViewOrientation Gets the orientation of the application design mode window.

GetAppName Retrieves the name of the application that is using the file.

GetAppUserModelId Retrieves an AppUserModelId from the source application.

GetAppVisibilityOnMonitor Queries the current mode of the specified monitor.

GetArguments Gets the command-line arguments associated with a Shell


link object.

GetArguments Gets the command-line arguments associated with a Shell


link object.

GetArrangeParam Gets the arrangement parameter of the view, which is how


the view has been sorted.

GetAsyncMode Called by a drop target to determine whether the data object


supports asynchronous data extraction.

GetAt Retrieves a specified user from the array.

GetAt Provides a pointer to a specified object's interface. The object


and interface are specified by index and interface ID.

GetAttributes Gets a requested set of attributes of the IShellItem object.

GetAttributes Gets the attributes of the set of items contained in an


IShellItemArray.

GetAttributes Gets resource attributes.


T IT L E DESC RIP T IO N

GetAttributesOf Gets the attributes of one or more file or folder objects


contained in the object represented by IShellFolder.

GetAutoArrange GetAutoArrange may be altered or unavailable.

GetAutoArrange Gets the current state of the folder's Auto Arrange mode.

GetAvailableSize Retrieves the dimensions available on a specific screen for


displaying an accessibility window.

GetBackgroundColor Retrieves the color that is visible on the desktop when no


image is displayed or when the desktop background has
been disabled. This color is also used as a border when the
desktop wallpaper does not fill the entire screen.

GetBandInfo Gets state information for a band object.

GetBandInfoSFB Gets information concerning an IShellFolderBand object and


places it in a BANDINFOSFB structure.

GetBandObject Gets a specified band object from a band site.

GetBandSiteInfo Gets information about a band in the band site.

GetBaseBrowserData Deprecated. Gets a read-only structure containing the


protected elements owned by the base class, for the purpose
of determining state.

GetBitmapValue Enables retrieval of bitmap data from a credential with a


bitmap field.

GetBool Gets the boolean value of a specified property key.

GetBorderDW Gets the border space allocated for the specified


IDockingWindow object.

GetBrowserByIndex Deprecated. Retrieves the browser with the given index.

GetBrowserIndex Deprecated. Retrieves the index of the browser in the window


hierarchy.

GetCachedSlowAppInfo Returns information to the application that originates from a


slow source. Unlike IShellApp::GetSlowAppInfo, this method
can return information that has been cached. This method is
not applicable to published applications.

GetCancelEvent Retrieves an event that will be sent when an operation is


canceled.

GetCancelInformation Returns information that is posted when a user selects Cancel


from the progress UI.
T IT L E DESC RIP T IO N

GetCancelledPage Called when the user cancels navigation through the wizard
extension. Gets the handle of the PROPSHEETPAGE that
represents the wizard page to display when the user cancels
navigation while in the wizard extension.

GetCanonicalName Gets the GUID of an Windows Explorer command.

GetCapabilities Determines whether the file can be closed and whether the
UI is capable of switching to the window of the application
that is using the file.

GetCapabilities Gets a set of flags describing the handler's defined


capabilities.

GetCapabilities Gets a set of flags describing the item's defined capabilities.

GetCategories Retrieves a structure listing the categories provided by an


application publisher.

GetCategory Gets a list of categories associated with a list of identifiers.

GetCategory Retrieves the category—virtual, fixed, common, or per-user—


of the selected folder.

GetCategoryForSCID Gets a GUID that represents the categorizer to use for the
specified Shell column.

GetCategoryInfo Gets information about a category, such as the default


display and the text to display in the UI.

GetCategoryName Gets the name of the specified category.

GetCheckboxValue Retrieves the checkbox value.

GetCheckButtonState Gets the current state of a check button (check box) in the
dialog.

GetCheckState Gets the state of a check box item in a tree-view control.

GetClient Gets the client object.

GetCLSID Gets the class identifier (CLSID) value of specified property


key.

GetCodePage Retrieves the numeric value (Code Page identifier) of the ANSI
code page.

GetColor Gets the color, as specified.

GetColumnCount Gets the column count for either the visible columns or the
complete set of columns.

GetColumnInfo Requests information about a column.


T IT L E DESC RIP T IO N

GetColumnInfo Gets information about each column:_width, visibility, display


name, and state.

GetColumnPropertyList Gets an ordered list of columns that corresponds to the


column enumerated.

GetColumns Gets an array of PROPERTYKEY structures that represent the


columns that the view supports. Includes either all columns
or only those currently visible.

GetComboBoxValueAt Gets the string label for a combo box entry at the given
index.

GetComboBoxValueCount Gets a count of the items in the specified combo box and
designates which item should have initial selection.

GetCommand Gets a specified Explorer command instance.

GetCommands Gets a specified Explorer command enumerator instance.

GetCommandString Gets information about a shortcut menu command, including


the help string and the language-independent, or canonical,
name for the command.

GetComment Gets a string that contains commentary regarding the


handler.

GetComment Gets a string that contains commentary regarding the item.

GetCompositionState Gets the composition state.

GetCondition Retrieves the contents of the search box as an ICondition


object.

GetConflictIdInfo Gets information that identifies a conflict within a conflict


store.

GetConflictIDList Maps a conflict to its IShellItem.

GetContext Gets a context object that can be used by a handler to


display properties or execute a context menu action.

GetControlItemState Gets the current state of an item in a container control found


in the dialog.

GetControlState Gets the current visibility and enabled states of a given


control.

GetControlStyle Gets the display styles set for the namespace object's
treeview controls.

GetControlStyle2 Gets the extended display styles set for the namespace
object's treeview controls.
T IT L E DESC RIP T IO N

GetControlWindow Gets the window handle to a browser control.

GetCount Gets the number of items in the given IShellItem array.

GetCount Retrieves the number of ICredentialProviderUser objects in


the user array.

GetCount Gets the conflict item count.

GetCount Gets item count.

GetCount Gets the number of conflicts in the store.

GetCount Provides a count of the objects in the collection.

GetCreateFlags Gets the additional flags that will be passed to CreateProcess.

GetCredentialAt Gets a specific credential.

GetCredentialCount Gets the number of available credentials under this credential


provider.

GetCurFolder Gets the ITEMIDLIST for the folder object.

GetCurrentFilter Gets the current filter as a Unicode string.

GetCurrentFolderFlags Gets the currently applied folder flags.

GetCurrentInfo Gets the current folder settings.

GetCurrentPage Gets the current page of a multipage image.

GetCurrentProcessExplicitAppUserModelID Retrieves the application-defined, explicit Application User


Model ID (AppUserModelID) for the current process.

GetCurrentSelection Gets the user's current selection in the dialog.

GetCurrentView Gets an interface for the current view of the browser.

GetCurrentView Gets the most recent Control Panel view:_Classic view or


Category view.

GetCurrentViewMode Gets an address containing a value representing the folder's


current view mode.

GetData Searches for and retrieves file or protocol association-related


binary data from the registry.

GetDataFormatFromPath Determines a file's format based on its extension.


T IT L E DESC RIP T IO N

GetDataFromIDList Gets a read only pointer to the client provided structure in


the first ItemID in the IDList.

GetDataFromIDList Gets a read only pointer to the client provided structure in


the first ItemID in the IDList.

GetDataObject Gets an IDataObject representation of the current


DataPackage object.

GetDateStamp Requests the date the image was last modified. This method
allows the Shell to determine whether cached images are out-
of-date.

GetDefaultBandWidth Gets the band width that the bandsite initially uses to set the
default width when the band is added.

GetDefaultCategory Enables the folder to override the default grouping.

GetDefaultColumn Gets the default sorting and display columns.

GetDefaultColumnState Gets the default state for a specified column.

GetDefaultDestinationName Gets the default name for a Shell item.

GetDefaultMenuText Called by the Shell view to get the default shortcut menu
text.

GetDefaultSaveFolder Retrieves the default target folder that the library uses for
save operations.

GetDefaultSearchGUID Returns the globally unique identifier (GUID) of the default


search object for the folder.

GetDefaultSpacing Gets a pointer to a POINT structure containing the default


width (x) and height (y) measurements of an item, including
the surrounding white space.

GetDefaultUserProfileDirectoryA Retrieves the path to the root of the default user's profile.

GetDefaultUserProfileDirectoryW Retrieves the path to the root of the default user's profile.

GetDelay Gets the delay value for the current frame of an animation.

GetDelayedPropertyStore Gets an IPropertyStore interface object, as specified.

GetDescription Gets the name of a categorizer, such as Group By Device


Type, that can be displayed in the UI.

GetDescription Gets the description string for a Shell link object.

GetDescription Gets the description string for a Shell link object.


T IT L E DESC RIP T IO N

GetDescription Gets the event description.

GetDestinationStream Gets an empty stream that receives the new version of the
file being copied.

GetDetailsEx Gets detailed information, identified by a property set


identifier (FMTID) and a property identifier (PID), on an item
in a Shell folder.

GetDetailsOf Gets detailed information on an item in a Shell folder.

GetDetailsOf Gets detailed information, identified by a column index, on an


item in a Shell folder.

GetDirectory Gets the current working directory.

GetDisplayName Gets the display name of the IShellItem object.

GetDisplayNameOf Retrieves the display name for the specified file object or
subfolder.

GetDpiForShellUIComponent Retrieves the dots per inch (dpi) occupied by a


SHELL_UI_COMPONENT based on the current scale factor
and PROCESS_DPI_AWARENESS.

GetDragPoint Gets the point at which the current drag-and-drop operation


was initiated.

GetDropDownStatus Gets the current display status of the autocomplete drop-


down list.

GetDropPoint Gets the point at which the current drag-and-drop operation


was terminated.

GetDynamicInfo Called by the system to determine whether a particular


handler will be shown before the AutoPlay dialog is displayed.

GetEditBoxText Gets the current text in an edit box control.

GetEncoderParams Gets the current set of encoder parameters.

GetEntry Gets a handle to an image in the cache.

GetEnum This method is not implemented.

GetEnumFlags Allows a client to specify which classes of objects in a Shell


folder should be enumerated. When used with
SHBrowseForFolder, specifies the class or classes of items that
should be shown in the dialog box tree view and which class
or classes should not.

GetEnumFlagsForItem Allows a client to specify which classes of objects in a Shell


item should be enumerated for inclusion in the view.
T IT L E DESC RIP T IO N

GetEvent Gets a specified event object.

GetEventCount Gets the event count.

GetEventEnumerator Gets an enumerator for a handler's events.

GetEventID Gets the event ID.

GetExtension Gets the file name extension for the shortcut object.

GetExtension Gets the file name extension for the shortcut object.

GetFieldDescriptorAt Gets metadata that describes a specified field.

GetFieldDescriptorCount Retrieves the count of fields in the needed to display this


provider's credentials.

GetFieldOptions Retrieves the current option set for a specified field in a logon
or credential UI. Called by the credential provider framework.

GetFieldState Retrieves the field state. The Logon UI and Credential UI use
this to gain information about a field of a credential to display
this information in the user tile.

GetFileID Gets the unique file identifier for the current file.

GetFileName Retrieves the text currently entered in the dialog's File name
edit box.

GetFileNameFromBrowse Creates an Open dialog box so that the user can specify the
drive, directory, and name of a file to open.

GetFileNameFromBrowse Creates an Open dialog box so that the user can specify the
drive, directory, and name of a file to open.

GetFileOverlayInfo Gets the index of the icon overlay or the icon image for the
specified file with the specified attributes.

GetFileTime Gets the date and time value of a specified property key.

GetFileTypeIndex Gets the currently selected file type.

GetFindData Gets the file system information stored in the


WIN32_FIND_DATA structure.

GetFirstPage Gets a handle to the first page of the wizard extension.

GetFlags Gets the flags associated with a Windows Explorer command.

GetFlags Gets the current option settings.

GetFlags Gets event flags.


T IT L E DESC RIP T IO N

GetFlags Deprecated. Retrieves the current set of browser flags.

GetFocusedItem Gets the index of the item that currently has focus in the
folder's view.

GetFolder Gets the folder name for the shortcut object.

GetFolder Gets the folder name for the shortcut object.

GetFolder Gets either the folder currently selected in the dialog, or, if
the dialog is not currently displayed, the folder that is to be
selected when the dialog is opened.

GetFolder Gets the folder object.

GetFolder Gets an object that represents a known folder identified by its


KNOWNFOLDERID.

GetFolderByName Gets an object that represents a known folder identified by its


canonical name.

GetFolderCapabilities Gets a folder's capability to be filtered through the


System.IsPinnedToNameSpaceTree property key value and
change notification registration status.

GetFolderDefinition Retrieves a structure that contains the defining elements of a


known folder, which includes the folder's category, name,
path, description, tooltip, icon, and other properties.

GetFolderFlags Gets folder view options flags.

GetFolderIds Gets an array of all registered known folder IDs. This can be
used in enumerating all known folders.

GetFolders Gets the set of child folders that are contained in the library.

GetFolderSetData Deprecated. Gets a structure containing folder information.

GetFolderTargetInfo Provides the location and attributes of a folder shortcut's


target folder.

GetFolderType Retrieves the folder type.

GetFolderType Gets the library's folder type.

GetFolderViewOptions Retrieves the current set of options for the view.

GetFont Gets the current attributes set on the font.

GetFormat Retrieves the alpha type of the bitmap image.


T IT L E DESC RIP T IO N

GetForWindow Gets the DataTransferManager instance for the specified


window.

GetFrameOptions Retrieves the available browser frame view options.

GetGroupBy Retrieves the property and sort order used for grouping
items in the folder display.

GetGroupByProperty Gets a grouping property.

GetGroupSubsetCount Gets the count of visible rows displayed for a group's subset.

GetGroupSubsetCount Gets group count for visible rows.

GetHandlerEnumerator Gets an enumerator that provides access to the IDs of sync


handlers exposed to and managed by the user.

GetHandlerID Gets the ID of the handler for which the event was logged.

GetHandlerInfo Gets properties that describe the handler.

GetHandlerInfo Obtains handler information.

GetHandlerRegistrationInfo Called by the registered application's handler to get current


registration information.

GetHistoryObject Deprecated. Retrieves an IOleObject that represents the


browser's history object.

GetHotkey Gets the keyboard shortcut (hot key) for a Shell link object.

GetHotkey Gets the keyboard shortcut (hot key) for a Shell link object.

GetIcon Gets an icon resource string of the icon associated with the
specified Windows Explorer command item.

GetIcon Gets the default icon for the library.

GetIconLocation Gets the location and index of an icon.

GetIconLocation Gets the location and index of an icon.

GetIconLocation Retrieves the location of the icon associated with the


application.

GetIconLocation Gets the location (path and index) of the icon for a Shell link
object.

GetIconLocation Gets the location (path and index) of the icon for a Shell link
object.

GetIconOf Gets an icon for an object inside a specific folder.


T IT L E DESC RIP T IO N

GetIconSize Gets the folder icon size.

GetId Gets the ID of the selected folder.

GetIDArrayResult Gets a list of objects found during a namespace walk initiated


by INamespaceWalk::Walk.

GetIDList Gets the location of the Shell namespace folder in the IDList
(ITEMIDLIST) form.

GetIDList Gets an item identifier list.

GetIDList Gets the search folder as an ITEMIDLIST.

GetIDList Gets the list of item identifiers for the target of a Shell link
object.

GetIDList Gets the list of item identifiers for the target of a Shell link
object.

GetImage Gets an HBITMAP that represents an IShellItem.

GetInfoFlags Gets the information flags for an item. This method is not
currently used.

GetInfoTip Gets the info tip text for an item.

GetInt32 Gets the Int32 value of specified property key.

GetItem Retrieves an object that represents a specified item.

GetItem IParseAndCreateItem::GetItem method

GetItem Gets the IShellItem that is related to this item.

GetItem Gets a specified conflict data item.

GetItem Gets result information for a specified item, when successful.

GetItemAt Gets the item at the given index in the IShellItemArray.

GetItemChoice Gets the index of an item that the user wants to keep.

GetItemChoiceCount Gets the number of items that the user wants to keep.

GetItemCustomState Gets the state of the checkbox associated with a given Shell
item.

GetItemData Requests column data for a specified file.

GetItemHeight Gets the item height.


T IT L E DESC RIP T IO N

GetItemID Gets the ID of the item for which the event was logged.

GetItemID Gets the unique ID of a sync item.

GetItemIDList Gets the pointer to an item identifier list (PIDL) for the item
that is related.

GetItemInfo Gets the properties of a sync item.

GetItemObject Gets an interface that refers to data presented in the view.

GetItemObject Obtains an interface on a specified item that a registered


application handles.

GetItemPosition Gets the position of an item in the folder's view.

GetItemRect Gets the RECT structure that describes the size and position
of a given item.

GetItemsArray Retrieves a conflict items array.

GetItemSpacing Gets the spacing for small and large view modes only.

GetItemState Gets state information about a Shell item.

GetIterationInfo Gets information about which conflict in a set of conflicts is


being resolved.

GetJunctionCLSID Gets the class identifier (CLSID) of the object that implements
IShellFolder for the item, if the item is a junction point.

GetKey Searches for and retrieves a file or protocol association-


related key from the registry.

GetLastPage Gets a handle to the final page of the wizard extension pages.

GetLastSyncTime Gets the date and time when the handler was last
synchronized.

GetLastSyncTime Gets the date and time when the item was last synchronized.

GetLevel Gets the log level of the event.

GetLinkReference Gets the reference for the hot link for the event. The hot link
is a displayed property that the user can click to execute an
action. This allows the handler to show an available action
that the user can see at a glance in the folder.

GetLinkText Gets the text for the hot link for the event.
T IT L E DESC RIP T IO N

GetList Retrieves an object that represents the collection of


destinations listed in the Recent or Frequent category in a
Jump List.

GetLocation Gets a path to the image that is to be extracted.

GetMaxLength Returns the maximum number of characters allowed for a


particular name in the namespace under which it is called.

GetMenu Gets the menu information set by calling


IShellMenu::SetMenu.

GetMenuContextHelpId Retrieves the Help context identifier associated with the


specified menu.

GetMenuInfo Gets information from the IShellMenu::Initialize method.

GetMenuPosFromID GetMenuPosFromID may be altered or unavailable.

GetMenuRestrictions .

GetMilliseconds Gets elapsed and remaining time for progress dialog.

GetMode Retrieves the enumeration mode of the parsed item.

GetMonitor Retrieves the target monitor for the application being


launched.

GetMonitorDevicePathAt Retrieves the unique ID of one of the system's monitors.

GetMonitorDevicePathCount Retrieves the number of monitors that are associated with


the system.

GetMonitorRECT Retrieves the display rectangle of the specified monitor.

GetName Gets the file name of the shortcut object, without the
extension.

GetName Gets the file name of the shortcut object, without the
extension.

GetName Retrieves the full path and file name of the executable file
associated with the file type.

GetName Gets the name of the event. This string can be a simple name
for the event or a short summary. It is displayed in the folder
and in the property sheet for the event.

GetName Gets the display name of the handler.

GetName Gets the UI display name of the sync item.


T IT L E DESC RIP T IO N

GetNameAt Gets the name of a property at a specified index in the


property store.

GetNameCount Gets the number of property names in the property store.

GetNamedValue Gets the value of a named property from the named


property store.

GetNavigateState Deprecated. Retrieves the browser's current navigation state.

GetNextItem Retrieves the next item in the tree according to which method
is requested.

GetNextPage Called when the user navigates forward past the wizard
extension pages. Gets the handle of the PROPSHEETPAGE
that represents the wizard page immediately following the
wizard extension page.

GetNumberOfApps Obsolete. Clients of Add/Remove Programs Control Panel


Application can return E_NOTIMPL.

GetNumberOfCategories Obsolete. Clients of the Add/Remove Programs Control Panel


Application may return E_NOTIMPL.

GetObject Gets an item from the view.

GetObject Creates a specific type of object related to the handler.

GetObject Creates a specific type of object related to the item.

GetObjectCount Gets the number of items in the folder view.

GetOleObject Deprecated. Retrieves an IOleObject for the browser.

GetOperationStatus Gets operation status for progress dialog.

GetOptions Gets the current autocomplete options.

GetOptions Gets the current autocomplete options.

GetOptions Gets the current browser options.

GetOptions Gets the current flags that are set to control dialog behavior.

GetOptions Gets the library's options.

GetOverlayIconIndex Gets the index of the icon overlay in the system image list.

GetOverlayIndex Gets the overlay index in the system image list.

GetOverlayInfo Provides the location of the icon overlay's bitmap.


T IT L E DESC RIP T IO N

GetPackageExecutionState Returns the current execution state of the specified package.

GetPageCount Gets the number of pages in a multipage image.

GetPalette Deprecated. Retrieves the browser's palette.

GetPaneState Gets the visibility state of the given Windows Explorer pane.

GetParent Gets the parent of an IShellItem object.

GetParentAndItem Gets the parent of an item and the parent's child ID.

GetParentSite Deprecated. Retrieves the browser parent's in-place client site.

GetPath Retrieves the path of a known folder as a string.

GetPath Gets the path of a specified Control Panel item.

GetPath Gets the path and file name of the target of a Shell link
object.

GetPath Gets the path and file name of the target of a Shell link
object.

GetPidl Deprecated. Retrieves a copy of the current pointer to an


item identifier list (PIDL).

GetPidl Deprecated. Gets the pointer to an item identifier list (PIDL)


associated with the travel entry.

GetPinnedWindow Gets the handle to the current pinned window, if one exists.

GetPixelFormat Gets the pixel format of the image.

GetPolicies Gets a set of flags describing the policies set by the handler.

GetPolicies Gets a set of flags describing the policies set by the item.

GetPosition Retrieves the current display value for the desktop


background image.

GetPossibleActions Gets a bitmask of management actions allowed for an


application.

GetPresenterChoice Gets what kind of choice was made and whether to apply the
choice to all subsequent conflicts in the set.

GetPresenterNextStep Gets what the presenter wants to do as the next step in the
sync manager conflict resolution.
T IT L E DESC RIP T IO N

GetPreviousPage Called when the user navigates backward out of the wizard
extension. Gets the handle of the PROPSHEETPAGE that
represents the wizard page that is before the wizard
extension page.

GetPriority Specifies the priority of an icon overlay.

GetProcessReference Retrieves the process-specific object supplied by


SetProcessReference, incrementing the reference count to
keep the process alive.

GetProfilesDirectoryA Retrieves the path to the root directory where user profiles
are stored.

GetProfilesDirectoryW Retrieves the path to the root directory where user profiles
are stored.

GetProfileType Retrieves the type of profile loaded for the current user.

GetProgID Retrieves the ProgID associated with an object.

GetProperties Retrieves the set of property values for a saved item or an


item in the process of being saved.

GetProperties Gets an IPropertySetStorage through which the properties of


the image can be accessed.

GetProperty Gets a PROPVARIANT structure from a specified property key.

GetProperty Gets a conflict property, given a property key.

GetPropertyDescriptionList Gets a property description list object given a reference to a


property key.

GetPropertyDescriptionList Gets a property description list for the items in the shell item
array.

GetPropertyFromIDList Gets a property from the IPropertyStore within the IDList as


a variant, using the key.

GetPropertyFromIDList Gets a property from the IPropertyStore within the IDList as


a variant, using the key.

GetPropertyFromIDList Gets a property from the IPropertyStore within the IDList as


a variant, using the key.

GetPropertyFromIDList Gets a property from the IPropertyStore within the IDList as


a variant, using the key.

GetPropertyHandlerFromFileId Gets an instance of IStorageProviderPropertyHandler


associated with the provided file identifier.
T IT L E DESC RIP T IO N

GetPropertyHandlerFromPath Gets an instance of IStorageProviderPropertyHandler


associated with the provided path.

GetPropertyHandlerFromUri Gets an instance of IStorageProviderPropertyHandler


associated with the provided URI.

GetPropertyKey Gets the property key.

GetPropertyStorage Gets the serialized property storage data from the property
store instance.

GetPropertyStorage Gets a read only pointer to the serialized property storage


that is used for storing metadata.

GetPropertyStorageBuffer Gets the serialized property storage buffer from the property
store instance.

GetPropertyStorageFromIDList Create an instance of the IPropertyStore based on the


serialized property storage associated with the first ItemID.

GetPropertyStorageSize Gets the size of serialized property storage data from the
property store instance.

GetPropertyStore Gets a property store object for specified property store


flags.

GetPropertyStore Gets a property store.

GetPropertyStoreForKeys Gets property store object for specified property keys.

GetPropertyStoreWithCreateObject Uses the specified ICreateObject instead of CoCreateInstance


to create an instance of the property handler associated with
the Shell item on which this method is called.

GetProviderID Retrieves the ID of the account provider for this user.

GetPublishedAppInfo Gets publishing-related information about an application


published by an application publisher.

GetRawDataFormat Retrieves a GUID that identifies the format of the image.

GetRecorderDriveLetter Gets the drive letter of a CD drive that has been marked as
write-enabled.

GetRedirectionCapabilities Gets a value that states whether the known folder can have
its path set to a new value or what specific restrictions or
prohibitions are placed on that redirection.

GetReferent Gets the referent of the shortcut object.

GetReferent Gets the referent of the shortcut object.


T IT L E DESC RIP T IO N

GetRemovedDestinations Retrieves the current list of destinations that have been


removed by the user from the existing Jump List that this
custom Jump List is meant to replace.

GetReservedOverlayInfo Gets the index of the icon overlay or the icon image for the
specified file with the specified attributes from one of the
reserved overlays.

GetResolution Gets the resolution, in dots per inch (dpi), of the image.

GetResolutionHandler Gets the resolution handler for the conflict.

GetResourceDescription Gets a resource description.

GetResult Gets the choice that the user made in the dialog.

GetResults Gets the user's choices in a dialog that allows multiple


selection.

GetResults Returns search results, from an OpenSearch data source,


formatted in RSS or Atom format.

GetRootItems Gets an array of the root items.

GetScaleFactorForDevice Gets the preferred scale factor for a display device.

GetScaleFactorForMonitor Gets the scale factor of a specific monitor. This function


replaces GetScaleFactorForDevice.

GetSearchStyle Overrides the registry settings that determine how an


autosearch is performed.

GetSearchText Retrieves the text that is in the browser's Address bar.

GetSearchUrl Retrieves the URL that is being searched for.

GetSectorSize Retrieves the number of bytes per sector on the disk


currently being used. When using unbuffered input/output
(I/O), it is important to know the size of the sectors on the
disk being read in order to ensure proper byte alignment.

GetSelectedControlItem Gets a particular item from specified container controls in the


dialog.

GetSelectedCount Gets the number of items in the view that are selected.

GetSelectedItem Locates the currently selected item at or after a given index.

GetSelectedItems Gets the currently selected items in the dialog. These items
may be items selected in the view, or text selected in the file
name edit box.

GetSelectedItems Gets an array of selected Shell items.


T IT L E DESC RIP T IO N

GetSelectedObjects Gets an array of the objects in the view that are selected and
the number of those objects.

GetSelection Gets the current selection as an IShellItemArray.

GetSelection Gets the Shell item array that contains the selected items.

GetSelectionMarkedItem Gets the index of an item in the folder's view which has been
marked by using the SVSI_SELECTIONMARK in
IFolderView::SelectItem.

GetSelectionState Gets the selection state including check state.

GetSerialization Called in response to an attempt to submit this credential to


the underlying authentication engine.

GetSetCodePage Deprecated. Sets a new character code page and retrieves a


pointer to the previous code page.

GetSharedBitmap Retrieves the bitmap contained in an ISharedBitmap object.

GetSharePermissions Gets the access permissions currently associated with the


User or Public folder for the Everyone access control entry
(ACE).

GetShellFolder Gets the folder that the menu band is set to browse.

GetShellItem Retrieves the location of a known folder in the Shell


namespace in the form of a Shell item (IShellItem or derived
interface).

GetShellItem Gets the search folder as a IShellItem.

GetShowCmd Gets the show command for a Shell link object.

GetShowCmd Gets the show command for a Shell link object.

GetSid Retrieves the user's security identifier (SID).

GetSize Gets the source size.

GetSize Retrieves the size of the bitmap contained in an


ISharedBitmap object.

GetSize Gets the dimensions of the image file.

GetSlideshow Gets the images that are being displayed in the desktop
wallpaper slideshow.

GetSlideshowOptions Gets the current desktop wallpaper slideshow settings for


shuffle and timing.
T IT L E DESC RIP T IO N

GetSlowAppInfo Returns information to the application that originates from a


slow source. This method is not applicable to published
applications.

GetSortColumnCount Gets the count of sort columns currently applied to the view.

GetSortColumns Gets the sort columns currently applied to the view.

GetSortColumns Gets sort column information.

GetSourceViewSizePreference Retrieves the view size preference of the application after the
application has launched.

GetSourceViewToPosition Retrieves the position of the source application window.

GetSpacing Gets a POINT structure containing the width (x) and height
(y) dimensions, including the surrounding white space, of an
item.

GetState Gets state information associated with a specified Windows


Explorer command item.

GetState Gets the command state associated with a specified Shell


item.

GetState Gets a filled SMDATA structure.

GetStatus Gets the current status of the slideshow.

GetString Gets the string value of a specified property key.

GetString Searches for and retrieves a file or protocol association-


related string from the registry.

GetStringValue Enables retrieval of text from a credential with a text field.

GetStringValue Retrieves string properties from the ICredentialProviderUser


object based on the input value.

GetSubmitButtonValue Retrieves the identifier of a field that the submit button


should be placed next to in the Logon UI.

GetSupportedActionTypes Determines the supported data type for a CD writing


extension.

GetSwitchToHWND Retrieves the handle of the top-level window of the


application that is using the file.

GetSyncItem Gets a specified sync item.

GetSyncItemCount Gets a count of the sync items in the container.


T IT L E DESC RIP T IO N

GetSyncItemEnumerator Gets an interface that enumerates the handler's sync items.

GetTargetViewSizePreference Retrieves the preferred view size of the application being


launched.

GetText Retrieves the contents of the search box as plain text.

GetThumbnail Gets a cached thumbnail for a given Shell item.

GetThumbnail Gets a thumbnail image and alpha type.

GetThumbnailByID Gets a thumbnail from the thumbnail cache, given its ID.

GetThumbnailHandler Gets the requested thumbnail handler for the thumbnail of a


given item.

GetThumbnailStream Gets the thumbnail stream. This method is for internal use
only and can only be called by the photos application.

GetTime Gets the creation time.

GetTimes Gets file times.

GetTitle Gets the title text of the button or menu item that launches a
specified Windows Explorer command item.

GetTitle Deprecated. Retrieves the title of a browser window.

GetToolTip Gets the tooltip string associated with a specified Windows


Explorer command item.

GetToolTipText Deprecated. Gets tooltip text for a travel entry, which is used
as a Unicode display string in the UI.

GetTransferManifest Gets a transfer manifest for a file transfer operation


performed by a publishing wizard, such as the Online Print
Wizard or the Add Network Place Wizard.

GetTravelEntry Deprecated. Gets a travel entry in the travel log relative to


the position of the current entry.

GetTravelLog Deprecated. Retrieves the browser's ITravelLog.

GetType Gets the handler type for Sync Center.

GetTypeLabel Gets a label for the handler type. This typically provides the
model of the device or an equivalent handler-specific identity
string.

GetTypeLabel Gets a label for the item type. This typically provides the
model of the device or an equivalent item-specific identity
string.
T IT L E DESC RIP T IO N

GetUIMode Enables an IExplorerCommand-based Shell verb handler to


query the UI mode of the host component from which the
application was invoked..

GetUIName Retrieves the display name of an application.

GetUInt32 Gets the UInt32 value of a specified property key.

GetUInt64 Gets the UInt64 value of a specified property key.

GetUIObjectOf Gets an object that can be used to carry out actions on the
specified file objects or folders.

GetUsage Gets a value that indicates how the file in use is being used.

GetUserProfileDirectoryA Retrieves the path to the root directory of the specified user's
profile.

GetUserProfileDirectoryW Retrieves the path to the root directory of the specified user's
profile.

GetUserSid Retrieves the security identifier (SID) of the user that is


associated with this credential.

GetValidCharacters Loads a string that contains each of the characters that are
valid or invalid in the namespace under which it is called.

GetValue Determines whether the current application host


environment is in the desktop or immersive mode.

GetValue Retrieves a specified property value set for the user.

GetView Requests the current or default Shell view, together with all
other valid view identifiers (VIDs) supported by this
implementation of IShellView2.

GetViewFlags Called when the view must determine if special customization


needs to be made for the common dialog browser.

GetViewMode Gets a folder's logical view mode.

GetViewModeAndIconSize Gets the current view mode and icon size applied to the view.

GetViewProperty Gets a property value for a given property key from the
view's cache.

GetViewRect Deprecated. Retrieves a value that is used to negotiate the


allowed size of the window.

GetViewStateStream Gets an IStream interface that can be used for storage of


view-specific state information.
T IT L E DESC RIP T IO N

GetViewWindow Deprecated. Provides direct access to the browser view


window created by IBrowserService2::CreateViewWindow.

GetVisibleItem Gets the next visible item in relation to a given index in the
view.

GetWallpaper Gets the current desktop wallpaper.

GetWindowContext Gets a list of the keyboard shortcuts for the preview host.

GetWindowContextHelpId Retrieves the Help context identifier, if any, associated with


the specified window.

GetWindowDesktopId Gets the identifier for the virtual desktop hosting the
provided top-level window.

GetWindowSubclass Retrieves the reference data for the specified window subclass
callback.

GetWorkingDirectory Gets the name of the working directory for a Shell link object.

GetWorkingDirectory Gets the name of the working directory for a Shell link object.

GroupChildWithParent ISuspensionDependencyManager::GroupChildWithParent
method

HandleEvent Handles AutoPlay device events for which there is no content


of the type the application is registered to handle.

HandleEventWithContent Not implemented.

HandleEventWithHWND Handles AutoPlay device events that contain content types


that the application is not registered to handle. This method
provides a handle to the owner window so that UI can be
displayed if the process requires elevated privileges.

HandleMenuMsg Enables client objects of the IContextMenu interface to


handle messages associated with owner-drawn menu items.

HandleMenuMsg2 Allows client objects of the IContextMenu3 interface to


handle messages associated with owner-drawn menu items.

HandleRename Used to change an item's identifier.

HasFocusIO Determines if one of the object's windows has the keyboard


focus.

HashData Hashes an array of data.

HasRecordableDrive Scans the system for a CD drive with write-capability,


returning TRUE if one is found.

HasUserCancelled Checks whether the user has canceled the operation.


T IT L E DESC RIP T IO N

HideDeskBand Hides a specified deskband.

Hiding Called when the input pane is about to leave the display.

HitTest Retrieves the item that a given point is in, if any.

HrInit Initializes the taskbar list object. This method must be called
before any other ITaskbarList methods can be called.

IDListContainerIsConsistent Verifies that the container structure of an IDList is valid.

IEGetDisplayName Deprecated. Retrieves the URL that corresponds to a pointer


to an item identifier list (PIDL).

IEParseDisplayName Deprecated. Parses a URL into a pointer to an item identifier


list (PIDL).

IEParseDisplayNameEx Deprecated. Parses a URL into a pointer to an item identifier


list (PIDL).

IID_PPV_ARGS Used to retrieve an interface pointer, supplying the IID value


of the requested interface automatically based on the type of
the interface pointer used. This avoids a common coding
error by checking the type of the value passed at compile
time.

ILAppendID Appends or prepends an SHITEMID structure to an


ITEMIDLIST structure.

ILClone Clones an ITEMIDLIST structure.

ILCloneChild Clones a child ITEMIDLIST structure.

ILCloneFirst Clones the first SHITEMID structure in an ITEMIDLIST


structure.

ILCloneFull Clones a full, or absolute, ITEMIDLIST structure.

ILCombine Combines two ITEMIDLIST structures.

ILCreateFromPath Returns the ITEMIDLIST structure associated with a specified


file path.

ILCreateFromPathA Returns the ITEMIDLIST structure associated with a specified


file path.

ILCreateFromPathW Returns the ITEMIDLIST structure associated with a specified


file path.

ILFindChild Determines whether a specified ITEMIDLIST structure is the


child of another ITEMIDLIST structure.
T IT L E DESC RIP T IO N

ILFindLastID Returns a pointer to the last SHITEMID structure in an


ITEMIDLIST structure.

ILFree Frees an ITEMIDLIST structure allocated by the Shell.

ILGetNext Retrieves the next SHITEMID structure in an ITEMIDLIST


structure.

ILGetSize Returns the size, in bytes, of an ITEMIDLIST structure.

ILIsAligned Verifies whether a constant ITEMIDLIST is aligned on a


pointer boundary, which is a DWORD on 32-bit architectures
and a QWORD on 64-bit architectures.

ILIsChild Verifies whether a pointer to an item identifier list (PIDL) is a


child PIDL, which is a PIDL with exactly one SHITEMID.

ILIsEmpty Verifies whether an ITEMIDLIST structure is empty.

ILIsEqual Tests whether two ITEMIDLIST structures are equal in a


binary comparison.

ILIsParent Tests whether an ITEMIDLIST structure is the parent of


another ITEMIDLIST structure.

ILLoadFromStream Deprecated. Loads an ITEMIDLIST structure from a stream.

ILLoadFromStreamEx This function may be altered or unavailable.

ILNext Retrieves the next SHITEMID structure in an ITEMIDLIST


structure.

ILRemoveLastID Removes the last SHITEMID structure from an ITEMIDLIST


structure.

ILSaveToStream Saves an ITEMIDLIST structure to a stream.

ILSkip Skips a given number of bytes in a constant, unaligned,


relative ITEMIDLIST structure.

IncludeItem Sets a given Shell item status to inclusion in the view.

IncludeItems Allows the view to filter the items shown in the menu.

IncludeObject Allows the common dialog box to filter objects that the view
displays.

InetIsOffline Determines whether the system is connected to the Internet.

Init Initializes the autocomplete object.


T IT L E DESC RIP T IO N

Init Enables Sync Center to provide the event to link to so


ISyncMgrUIOperation::Run knows which event to operate
upon.

Init Initializes the IQueryAssociations interface and sets the root


key to the appropriate ProgID.

Initialize Initializes the object that hosts an IFolderView object.

Initialize Initializes an object that contains an implementation of the


IHWEventHandler interface.

Initialize Initializes the Publishing Wizard object with the files to


transfer, the settings to use, and the type of wizard to create.

Initialize Initializes an IColumnProvider interface.

Initialize Initializes a handler with a file path.

Initialize Initializes a handler with a stream.

Initialize Provides details about the action progress dialog.

Initialize .

Initialize Prepares the browser to be navigated.

Initialize Initialize objects that share an implementation of


IExplorerCommandState, IExecuteCommand or IDropTarget
with the application-specified command name and its
registered properties.

Initialize Initializes a handler with a bind context.

Initialize Initializes a handler with an IShellItem.

Initialize Initializes a handler with an IPropertyStore.

Initialize Specifies an owner window to be used by a Windows Runtime


object that is used in a desktop app.

Initialize Initializes an INameSpaceTreeControl object.

Initialize Instructs a Shell folder object to initialize itself based on the


information passed.

Initialize Used by Windows Explorer or Windows Internet Explorer


when it is initializing or enumerating a namespace extension
invoked on a remote computer.

Initialize Initializes a property sheet extension, shortcut menu


extension, or drag-and-drop handler.
T IT L E DESC RIP T IO N

Initialize Initializes a menu band.

Initialize Called by the synchronization manager in a registered


application handler to determine whether the handler
processes the synchronization event.

InitializeBitmap Initializes a new ISharedBitmap object with a given bitmap.

InitializeDownloadManager Deprecated. Enables the download manager in the base class.

InitializeEx Initializes a folder and specifies its location in the namespace.


If the folder is a shortcut, this method also specifies the
location of the target folder.

InitializeFromBitmap Initializes the drag-image manager for a windowless control.

InitializeFromWindow Initializes the drag-image manager for a control with a


window.

InitializeProgressDialog Initializes the window title and cancel button text of the
progress dialog box displayed during the namespace walk.

InitializeSFB Initializes an IShellFolderBand object.

InitializeTransitionSite Deprecated. Enables transitions in the browser view window.

InitializeTravelLog Deprecated. Allows the derived class to specify a navigation


record to be used in a new window.

InitNetworkAddressControl Initializes the network address control window class.

InitWizard Initializes the sync schedule wizard.

InOperation Called by the drop source to determine whether the target is


extracting data asynchronously.

InsertItem Adds an ITEMIDLIST structure to a list of such structures.

InsertMenuEntries Deprecated. Inserts entries into the specified menu.

InsertMenusSB Allows the container to insert its menu groups into the
composite menu that is displayed when an extended
namespace is being viewed or used.

InsertRoot Inserts a Shell item on a root item in a tree.

Install Installs an application published by an application publisher.


This method is invoked when the user selects Add or Add
Later in Add/Remove Programs in Control Panel.

Install2 Installs an application published by an application publisher,


while preventing multiple windows from being active on the
same thread.
T IT L E DESC RIP T IO N

Int8Add Adds two values of type INT8.

Int8Mult Multiplies two values of type INT8.

Int8Sub Subtracts one value of type INT8 from another.

Int8ToUChar Converts a value of type INT8 to a value of type UCHAR.

Int8ToUInt Converts a value of type INT8 to a value of type UINT.

Int8ToUInt8 Converts a value of type INT8 to a value of type UINT8.

Int8ToUIntPtr Converts a value of type INT8 to a value of type UINT_PTR.

Int8ToULong Converts a value of type INT8 to a value of type ULONG.

Int8ToULongLong Converts a value of type INT8 to a value of type


ULONGLONG.

Int8ToULongPtr Converts a value of type INT8 to a value of type ULONG_PTR.

Int8ToUShort Converts a value of type INT8 to a value of type USHORT.

IntAdd Adds two values of type INT.

IntlStrEqNA Performs a case-sensitive comparison of a specified number


of characters from the beginning of two localized strings.

IntlStrEqNIA Performs a case-insensitive comparison of a specified number


of characters from the beginning of two localized strings.

IntlStrEqNIW Performs a case-insensitive comparison of a specified number


of characters from the beginning of two localized strings.

IntlStrEqNW Performs a case-sensitive comparison of a specified number


of characters from the beginning of two localized strings.

IntlStrEqWorkerA Compares a specified number of characters from the


beginning of two localized strings.

IntlStrEqWorkerW Compares a specified number of characters from the


beginning of two localized strings.

IntMult Multiplies two values of type INT.

IntPtrAdd Adds two values of type INT_PTR.

IntPtrMult Multiplies two values of type INT_PTR.

IntPtrSub Subtracts one value of type INT_PTR from another.


T IT L E DESC RIP T IO N

IntPtrToChar Converts a value of type INT_PTR to a value of type CHAR.

IntPtrToInt Converts a value of type INT_PTR to a value of type INT.

IntPtrToInt8 Converts a value of type INT_PTR to a value of type INT8.

IntPtrToLong Converts a value of type INT_PTR to a value of type LONG.

IntPtrToLongPtr Converts a value of type INT_PTR to a value of type


LONG_PTR.

IntPtrToShort Converts a value of type INT_PTR to a value of type SHORT.

IntPtrToUChar Converts a value of type INT_PTR to a value of type UCHAR.

IntPtrToUInt Converts a value of type INT_PTR to a value of type UINT.

IntPtrToUInt8 Converts a value of type INT_PTR to a value of type UINT8.

IntPtrToUIntPtr Converts a value of type INT_PTR to a value of type


UINT_PTR.

IntPtrToULong Converts a value of type INT_PTR to a value of type ULONG.

IntPtrToULongLong Converts a value of type INT_PTR to a value of type


ULONGLONG.

IntPtrToULongPtr Converts a value of type INT_PTR to a value of type


ULONG_PTR.

IntPtrToUShort Converts a value of type INT_PTR to a value of type USHORT.

IntSub Subtracts one value of type INT from another.

IntToChar Converts a value of type INT to a value of type CHAR.

IntToInt8 Converts a value of type INT to a value of type INT8.

IntToShort Converts a value of type INT to a value of type SHORT.

IntToUChar Converts a value of type INT to a value of type UCHAR.

IntToUInt Converts a value of type INT to a value of type UINT.

IntToUInt8 Converts a value of type INT to a value of type UINT8.

IntToULong Converts a value of type INT to a value of type ULONG.

IntToULongLong Converts a value of type INT to a value of type UINT_PTR.

IntToUShort Converts a value of type INT to a value of type USHORT.


T IT L E DESC RIP T IO N

InvalidateItem Redraws an item in a menu band.

Invoke Directly invokes the associated handler.

Invoke Invokes an associated application handler.

Invoke Invokes a Windows Explorer command.

Invoke Deprecated. Invokes the travel entry, navigating to that page.

InvokeCommand Carries out the command associated with a shortcut menu


item.

InvokeVerbOnSelection Invokes the given verb on the current selection.

IsActive Gets a value that indicates whether the handler can be


synchronized.

IsAnimated Determines whether the image is animated.

IsApplicationViewStateSupported Determines whether a particular application view state is


supported for specific spoofed display size and scale factor
settings.

IsBkDropTarget IsBkDropTarget may be altered or unavailable.

IsCharSpaceA Determines whether a character represents a space.

IsCharSpaceW Determines whether a character represents a space.

IsConnected Gets a value that indicates whether the handler—typically


some type of external device—is connected.

IsConnected Generates a value that indicates whether the item—typically


some type of external device—is connected.

IsControlWindowShown Deprecated. Retrieves a value that indicates whether a


specified frame control is currently visible.

IsDecoded Determines whether the image has been decoded by calling


IShellImageData::Decode. Many operations return a failure
code if the image is not first decoded.

IsDelegateFolder Gets a Boolean value specifying whether the factory is a


delegate folder.

IsDeskBandShown Indicates whether a deskband is shown.

IsDropOnSource Checks whether the destination of the current drag-and-drop


or cut-and-paste operation is the same as the source.

IsEditable Determines whether the image can be edited.


T IT L E DESC RIP T IO N

IsEnabled Gets a value that indicates whether the handler is enabled.

IsEnabled Generates a value that indicates whether the item is enabled.

IsEntryInStore Checks to see if the image is in the store.

IsEqualPropertyKey Compares the members of two PROPERTYKEY structures and


returns whether they are equal.

IsInstalled Gets a value indicating whether a specified application is


currently installed.

IsInternetESCEnabled Determines whether Windows Internet Explorer is in the


Enhanced Security Configuration.

IsLauncherVisible Gets a value that indicates whether the Start screen is


displayed.

IsMember Determines whether the local computer is a member of a


HomeGroup.

IsMemberOf Specifies whether an icon overlay should be added to a Shell


object's icon.

IsMenuMessage A message pump calls this method to see if any messages


should be redirected to the Component Object Model (COM)
object.

IsMoveInSameFolder Checks to see if this view sourced the current drag-and-drop


or cut-and-paste operation (used by drop target objects).

IsMultipage Determines whether the image is a multipage Tagged Image


File Format (TIFF) image.

IsNetDrive Tests whether a drive is a network drive.

IsOS Checks for specified operating systems and operating system


features.

IsPrintable Determines whether the image can be printed.

IsRecommended Indicates whether the application is registered as a


recommended handler for the queried file type.

IsRunning Requests information on the state of a task, such as


thumbnail extraction.

IsTransparent Determines whether the image is transparent.

IStream_Copy Copies a stream to another stream.

IStream_Read Reads bytes from a specified stream and returns a value that
indicates whether all bytes were successfully read.
T IT L E DESC RIP T IO N

IStream_ReadPidl Reads a pointer to an item identifier list (PIDL) from an


IStream object into a PIDLIST_RELATIVE object.

IStream_ReadStr Reads from a stream and writes into a string.

IStream_Reset Moves the seek position in a specified stream to the


beginning of the stream.

IStream_Size Retrieves the size, in bytes, of a specified stream.

IStream_Write Writes data of unknown format from a buffer to a specified


stream.

IStream_WritePidl Writes a pointer to an item identifier list (PIDL) from a


PCUIDLIST_RELATIVE object into an IStream object.

IStream_WriteStr Reads from a string and writes into a stream.

IsUserAnAdmin IsUserAnAdmin may be altered or unavailable.

IsVector Determines whether the image is a vector image.

IsWindowOnCurrentVirtualDesktop Indicates whether the provided window is on the currently


active virtual desktop.

Item Returns the registered Shell window for a specified index.

Item Gets the identifier of a specific item in the folder view, by


index.

ItemCount Gets the number of items in the folder. This can be the
number of all items, or a subset such as the number of
selected items.

ItemPostPaint Called after an item in the namespace tree control is drawn.

ItemPrePaint Called before an item in the namespace tree control is drawn.

Items Gets the address of an enumeration object based on the


collection of items in the folder view.

IUnknown_AtomicRelease Releases a Component Object Model (COM) pointer and sets


it to NULL.

IUnknown_GetSite Calls the specified object's IObjectWithSite::GetSite method.

IUnknown_GetWindow Attempts to retrieve a window handle from a Component


Object Model (COM) object by querying for various
interfaces that have a GetWindow method.

IUnknown_QueryService Retrieves an interface for a service from a specified object.


T IT L E DESC RIP T IO N

IUnknown_Set Changes the value of a Component Object Model (COM)


interface pointer and releases the previous interface.

IUnknown_SetSite Sets the specified object's site by calling its


IObjectWithSite::SetSite method.

KeepItems Keeps the Shell items that are passed in.

KeepOther Replaces the versions in conflict with a different Shell item


that is usually a merged version of the originals.

KeepRecent Keeps the more recent copy.

Kill Requests that a task be stopped.

LaunchAdvancedAssociationUI Launches an advanced association dialog box through which


the user can customize the associations for the application
specified in pszAppRegName.

LauncherVisibilityChange Notifies a client that visibility of the Start screen has changed.

LeaveFolder Called after a namespace walk through a folder. Use this


method to perform any necessary cleanup following the
actions performed by INamespaceWalkCB::EnterFolder or
INamespaceWalkCB::FoundItem.

LeaveFolder Sends notification that a folder is no longer the destination of


a file operation.

LinkItem Not implemented.

LoadLibraryFromItem Loads the library from a specified library definition file.

LoadLibraryFromKnownFolder Loads the library that is referenced by a KNOWNFOLDERID.

LoadNonloadedOverlayIdentifiers Loads any registered overlay identifiers, or handlers, that are


not currently loaded.

LoadUserProfileA Loads the specified user's profile. The profile can be a local
user profile or a roaming user profile.

LoadUserProfileW Loads the specified user's profile. The profile can be a local
user profile or a roaming user profile.

Location Gets the current location of the input pane.

LogError Called by a registered application to log information, warning,


or an error message into the error tab on the synchronization
manager status dialog box.

LongAdd Adds two values of type LONG.

LongLongAdd Adds two values of type LONGLONG.


T IT L E DESC RIP T IO N

LongLongMult Multiplies two values of type LONGLONG.

LongLongSub Subtracts one value of type LONGLONG from another.

LongLongToChar Converts a value of type LONGLONG to a value of type


CHAR.

LongLongToInt Converts a value of type LONGLONG to a value of type INT.

LongLongToInt8 Converts a value of type LONGLONG to a value of type INT8.

LongLongToIntPtr Converts a value of type LONGLONG to a value of type


INT_PTR.

LongLongToLong Converts a value of type LONGLONG to a value of type


LONG.

LongLongToLongPtr Converts a value of type LONGLONG to a value of type


LONG_PTR.

LongLongToShort Converts a value of type LONGLONG to a value of type


SHORT.

LongLongToUChar Converts a value of type LONGLONG to a value of type


UCHAR.

LongLongToUInt Converts a value of type LONGLONG to a value of type UINT.

LongLongToUInt8 Converts a value of type LONGLONG to a value of type


UINT8.

LongLongToULong Converts a value of type LONGLONG to a value of type


ULONG.

LongLongToULongLong Converts a value of type LONGLONG to a value of type


ULONGLONG.

LongLongToUShort Converts a value of type LONGLONG to a value of type


USHORT.

LongMult Multiplies two values of type LONG.

LongPtrAdd Adds two values of type LONG_PTR.

LongPtrMult Multiplies two values of type LONG_PTR.

LongPtrSub Subtracts one value of type LONG_PTR from another.

LongPtrToChar Converts a value of type LONG_PTR to a value of type CHAR.

LongPtrToInt Converts a value of type LONG_PTR to a value of type INT.


T IT L E DESC RIP T IO N

LongPtrToInt8 Converts a value of type LONG_PTR to a value of type INT8.

LongPtrToIntPtr Converts a value of type LONG_PTR to a value of type


INT_PTR.

LongPtrToLong Converts a value of type LONG_PTR to a value of type LONG.

LongPtrToShort Converts a value of type LONG_PTR to a value of type


SHORT.

LongPtrToUChar Converts a value of type LONG_PTR to a value of type


UCHAR.

LongPtrToUInt Converts a value of type LONG_PTR to a value of type UINT.

LongPtrToUInt8 Converts a value of type LONG_PTR to a value of type UINT8.

LongPtrToUIntPtr Converts a value of type LONG_PTR to a value of type


UINT_PTR.

LongPtrToULong Converts a value of type LONG_PTR to a value of type


ULONG.

LongPtrToULongLong Converts a value of type LONG_PTR to a value of type


ULONGLONG.

LongPtrToULongPtr Converts a value of type LONG_PTR to a value of type


ULONG_PTR.

LongPtrToUShort Converts a value of type LONG_PTR to a value of type


USHORT.

LongSub Subtracts one value of type LONG from another.

LongToChar Converts a value of type LONG to a value of type CHAR.

LongToInt Converts a value of type LONG to a value of type INT.

LongToInt8 Converts a value of type LONG to a value of type INT8.

LongToIntPtr Converts a value of type LONG to a value of type INT_PTR.

LongToShort Converts a value of type LONG to a value of type SHORT.

LongToUChar Converts a value of type LONG to a value of type UCHAR.

LongToUInt Converts a value of type LONG to a value of type UINT.

LongToUInt8 Converts a value of type LONG to a value of type UINT8.

LongToUIntPtr Converts a value of type LONG to a value of type UINT_PTR.


T IT L E DESC RIP T IO N

LongToULong Converts a value of type LONG to a value of type ULONG.

LongToULongLong Converts a value of type LONG to a value of type


ULONGLONG.

LongToULongPtr Converts a value of type LONG to a value of type


ULONG_PTR.

LongToUShort Converts a value of type LONG to a value of type USHORT.

LPFNDFMCALLBACK LPFNDFMCALLBACK may be altered or unavailable.

LPFNVIEWCALLBACK Defines the prototype for the callback function used by the
system folder view object. This function essentially duplicates
the functionality of IShellFolderViewCB.

MakeDefault Sets an application as the default application for this file type.

MAKEDLLVERULL Used to pack DLL version information into a ULONGLONG


value.

MakeProminent Places a control in the dialog so that it stands out compared


to other added controls.

MapColumnToSCID Converts a column to the appropriate property set ID


(FMTID) and property ID (PID).

MarkForDelete Marks for delete.

MarkFullscreenWindow Marks a window as full-screen.

Merge IFileSyncMergeHandler::Merge method

MessageSFVCB Allows communication between the system folder view object


and a system folder view callback object.

MIMEAssociationDialogA Runs the unregistered MIME content type dialog


box.Note Windows XP Service Pack 2 (SP2) or later:_This
function is no longer supported.

MIMEAssociationDialogW Runs the unregistered MIME content type dialog


box.Note Windows XP Service Pack 2 (SP2) or later:_This
function is no longer supported.

MoveIcons This method is not implemented.

MoveItem Declares a single item that is to be moved to a specified


destination.

MoveItem Moves the item within the volume/namespace, returning the


IShellItem in its new location.
T IT L E DESC RIP T IO N

MoveItems Declares a set of items that are to be moved to a specified


destination.

MoveWindowToDesktop Moves a window to the specified virtual desktop.

NavigateToPidl Deprecated. Navigates the browser to the location indicated


by a pointer to an item identifier list (PIDL).

NetAddr_DisplayErrorTip Displays an error message in the balloon tip associated with


the network address control.

NetAddr_GetAddress Indicates whether a network address conforms to a specified


type and format.

NetAddr_GetAllowType Retrieves the network address types that a specified network


address control accepts.

NetAddr_SetAllowType Sets the network address types that a specified network


address control accepts.

NewItem Declares a new item that is to be created in a specified


location.

Next Retrieves a specified number of elements.

Next Retrieves a specified number of elements that directly follow


the current element.

Next Used to request information on one or more search objects.

Next Retrieves a specified number of IDLIST_ABSOLUTE items.

Next Retrieves the specified number of item identifiers in the


enumeration sequence and advances the current position by
the number of items retrieved.

Next Gets the next specified number and type of objects.

Next Gets the next SHELL_ITEM_RESOURCE structure.

Next Gets an array of one or more IShellItem interfaces from the


enumeration.

Next Gets the next IPublishedApp object in the enumeration.

Next Gets the next batch of conflicts from the conflicts store.

Next Gets the next batch of events from the event store.

Next Gets the next batch of sync items from the handler.
T IT L E DESC RIP T IO N

Next Enumerates the next celt elements in the enumerator's list,


returning them in rgelt along with the actual number of
enumerated elements in pceltFetched.

NextFrame Switches to the next frame of an animated image.

NextPage Switches to the next page of a multipage image. Any


associated animations are reset.

Notify Called by a Shell view to notify the common dialog box


hosting it that an event has occurred.

NotifyRedirect Deprecated. Updates the browser to the specified pointer to


an item identifier list (PIDL), navigating if necessary. This
method is called when a page is redirected.

Offline Deprecated. Checks for and updates the browser's offline


status, synchronzing the state between the base class and
any derived classes.

OnActivated Occurs when a Shell window's activation state changes.

OnAfterContextMenu Called after a context menu is displayed.

OnAfterExpand Called after an IShellItem is expanded.

OnBalloonUserClick Called when the user clicks the balloon. The application may
respond with an action that is suitable for the balloon being
clicked.

OnBeforeContextMenu Called before a context menu is displayed; allows client to add


additional menu entries.

OnBeforeExpand Called before an IShellItem is expanded.

OnBeforeItemDelete Called before an IShellItem and all of its children are deleted.

OnBeforeStateImageChange Called before the state icon of the given IShellItem is


changed.

OnBeginLabelEdit Called before the IShellItem goes into edit mode.

OnButtonClicked Called when the user clicks a command button.

OnChange Informs a namespace extension that an event has taken place


that affects its items.

OnCheckButtonToggled Called when the user changes the state of a check button
(check box).

OnColumnClicked Called after a specified column is clicked in the IShellView


interface.
T IT L E DESC RIP T IO N

OnCommand Deprecated. Calls the derived class from the base class on
receipt of a WM_COMMAND message. The derived class
handles the message.

OnContextMenu Called when the user right-clicks (or presses SHIFT+F10) the
icon in the notification area. The application should show its
context menu in response.

OnControlActivating Called when an Open button drop-down list customized


through EnableOpenDropDown or a Tools menu is about to
display its contents.

OnCreate Deprecated. Calls the derived class from the base class on
receipt of a WM_CREATE message. The derived class handles
the message.

OnCreated Occurs when a new Shell window is created for a frame.

OnCreating Allows you to modify the parameters of the process being


created.

OnCreatingWindow Called when the window is created. Enables credentials to


retrieve the HWND of the parent window after Advise is
called.

OnDefaultCommand Called when a user double-clicks in the view or presses the


ENTER key.

OnDestroy Deprecated. Calls the derived class from the base class on
receipt of a WM_DESTROY message. The derived class
handles the message.

OnDoDefaultAccessibilityAction Invokes the default accessibility action on a Shell item.

OnDragEnter Called on drag enter to set drag effect, as specified.

OnDragLeave Called on drag leave for a specified item.

OnDragOver Called on drag over to set drag effect, as specified.

OnDragPosition Called when the item is being dragged within the same level
(within the same parent folder) in the tree.

OnDrop Called on drop to set drop effect, as specified.

OnDropPosition Called when the item is being dropped within the same level
(within the same parent folder) in the tree.

OnEndLabelEdit Called after the IShellItem leaves edit mode.

OnFileOk Called just before the dialog is about to return with a result.

OnFocusChangeIS Informs the browser that the focus has changed.


T IT L E DESC RIP T IO N

OnFolderChange Called when the user navigates to a new folder.

OnFolderChanging Called before IFileDialogEvents::OnFolderChange. This allows


the implementer to stop navigation to a particular location.

OnFrameWindowActivateBS Deprecated. Calls the derived class from the base class in
response to a subframe window being activated or
deactivated. The derived class determines what to do in
response to the action.

OnGetAccessibilityRole Gets the accessibility role for a Shell item.

OnGetDefaultAccessibilityAction Gets the default accessibility action for a Shell item.

OnGetToolTip Enables you to provide a tooltip.

OnHttpEquiv Deprecated. Called when the document object responds to


an HTTP-EQUIV metatag by issuing either the
OLECMDID_HTTPEQUIV or OLECMDID_HTTPEQUIV_DONE
command through IOleCommandTarget::Exec.

OnInvoke Deprecated. Gets ambient properties.

OnInvoke Not implemented.

OnItemAdded Called after an IShellItem has been added.

OnItemClick Called when the user clicks a button on the mouse.

OnItemDeleted Called after an IShellItem has been deleted.

OnItemSelected Called when an item is selected in a combo box, when a user


clicks an option button (also known as a radio button), or an
item is chosen from the Tools menu.

OnItemStateChanged Not implemented.

OnItemStateChanging Called before the state of an item changes.

OnKeyboardInput Called when the user presses a key on the keyboard.

OnLeftClick Called when the user clicks the icon in the notification area.
The applications may launch some customary UI in response.

OnNavigate Occurs when a Shell window is navigated to a new location.

OnNavigationComplete Notifies clients that the Explorer browser has successfully


navigated to a Shell folder.

OnNavigationFailed Notifies clients that the Explorer browser has failed to


navigate to a Shell folder.
T IT L E DESC RIP T IO N

OnNavigationPending Notifies clients of a pending Explorer browser navigation to a


Shell folder.

OnNotify Deprecated. Calls the derived class from the base class on
receipt of a WM_NOTIFY message. The derived class handles
the message.

OnOverwrite Called from the save dialog when the user chooses to
overwrite a file.

OnPictureChange Called to send notifications when the picture that represents


a user account is changed.

OnPosRectChangeDB Notifies the object that the rectangle has changed.

OnPreViewCreated Called after a specified preview is created in the IShellView


interface.

OnPropertyItemCommit Not implemented.

OnSelect Handles selection notifications.

OnSelectionChange Called when the user changes the selection in the dialog's
view.

OnSelectionChanged Called when the selection changes.

OnSetFocus Deprecated. Calls the derived class from the base class on
receipt of a WM_SETFOCUS message. The derived class
handles the message.

OnSetTitle Sets or retrieves the title of the site object.

OnShareViolation Enables an application to respond to sharing violations that


arise from Open or Save operations.

OnSize Deprecated. Calls the derived class from the base class on
receipt of a WM_SIZE message. The derived class handles the
message.

OnStateChange Called after a state, identified by the uChange parameter, has


changed in the IShellView interface.

OnStateChanged Called when package state changes during Windows Store


app debugging.

OnTranslateAccelerator Deprecated. Instructs the control site to process the


keystroke described in pMsg and modified by the flags in
grfModifiers.

OnTranslateAccelerator Not implemented.


T IT L E DESC RIP T IO N

OnTypeChange Called when the dialog is opened to notify the application of


the initial chosen filetype.

OnViewCreated Notifies clients that the view of the Explorer browser has been
created and can be modified.

OnViewWindowActive Called by the Shell view when the view window or one of its
child windows gets the focus or becomes active.

Open Opens the store and returns a lock.

Open Opens the specified Control Panel item, optionally to a


specific page.

OpenItem Opens the item for copying. Returns an object that can be
enumerated for resources (IShellItemResources).

OpenRegStream OpenRegStream may be altered or unavailable. Instead, use


SHOpenRegStream2 or SHOpenRegStream.

OpenResource Opens a specified resource.

OverlappedResult Retrieves the results of an overlapped operation.

OverlayIndexFromImageIndex Finds the index of an overlay image for the specified icon
image. It can add an overlay if one is not found for the icon.

PageInThumbnail .

PAPPSTATE_CHANGE_ROUTINE Specifies an app-defined callback function that notifies the


app when the app is entering or leaving a suspended state.

ParseDisplayName Translates the display name of a file object or a folder into an


item identifier list.

ParseURLA Performs rudimentary parsing of a URL.

ParseURLW Performs rudimentary parsing of a URL.

PathAddBackslashA Adds a backslash to the end of a string to create the correct


syntax for a path.

PathAddBackslashW Adds a backslash to the end of a string to create the correct


syntax for a path.

PathAddExtensionA Adds a file name extension to a path string.

PathAddExtensionW Adds a file name extension to a path string.

PathAllocCanonicalize Converts a path string into a canonical form.This function


differs from PathCchCanonicalize and PathCchCanonicalizeEx
in that it returns the result on the heap.
T IT L E DESC RIP T IO N

PathAllocCombine Concatenates two path fragments into a single path.

PathAppendA Appends one path to the end of another.

PathAppendW Appends one path to the end of another.

PathBuildRootA Creates a root path from a given drive number.

PathBuildRootW Creates a root path from a given drive number.

PathCanonicalizeA Simplifies a path by removing navigation elements such as "."


and ".." to produce a direct, well-formed path.

PathCanonicalizeW Simplifies a path by removing navigation elements such as "."


and ".." to produce a direct, well-formed path.

PathCchAddBackslash Adds a backslash to the end of a string to create the correct


syntax for a path.

PathCchAddBackslashEx Adds a backslash to the end of a string to create the correct


syntax for a path.

PathCchAddExtension Adds a file name extension to a path string.This function


differs from PathAddExtension in that it accepts paths with
"\", "\?&#0034; and "\?\UNC&#0034; prefixes.

PathCchAppend Appends one path to the end of another.This function differs


from PathCchAppendEx in that you are restricted to a final
path of length MAX_PATH.This function differs from
PathAppend in that it accepts paths with "\", "\?&#0034; and
"\?\UNC&#0034; prefixes.

PathCchAppendEx Appends one path to the end of another.This function differs


from PathCchAppend in that it allows for a longer final path
to be constructed.This function differs from PathAppend in
that it accepts paths with "\", "\?&#0034; and "\?
\UNC&#0034; prefixes.

PathCchCanonicalize Converts a path string into a canonical form.This function


differs from PathCchCanonicalizeEx in that you are restricted
to a final path of length MAX_PATH.This function differs from
PathAllocCanonicalize in that the caller must declare the size
of the returned string, which is stored on the stack.This
function differs from PathCanonicalize in that it accepts paths
with "\", "\?&#0034; and "\?\UNC&#0034; prefixes.

PathCchCanonicalizeEx Simplifies a path by removing navigation elements such as "."


and ".." to produce a direct, well-formed path.This function
differs from PathCchCanonicalize in that it allows for a longer
final path to be constructed.This function differs from
PathAllocCanonicalize in that the caller must declare the size
of the returned string, which is stored on the stack.This
function differs from PathCanonicalize in that it accepts paths
with "\", "\?&#0034; and "\?\UNC&#0034; prefixes.
T IT L E DESC RIP T IO N

PathCchCombine Combines two path fragments into a single path.

PathCchCombineEx Combines two path fragments into a single path.

PathCchFindExtension Searches a path to find its file name extension, such as ".exe"
or ".ini".

PathCchIsRoot Determines whether a path string refers to the root of a


volume.This function differs from PathIsRoot in that it accepts
paths with "\", "\?&#0034; and "\?\UNC&#0034; prefixes.

PathCchRemoveBackslash Removes the trailing backslash from the end of a path


string.This function differs from PathRemoveBackslash in that
it accepts paths with "\", "\?&#0034; and "\?\UNC&#0034;
prefixes.

PathCchRemoveBackslashEx Removes the trailing backslash from the end of a path


string.This function differs from PathCchRemoveBackslash in
that it can return a pointer to the new end of the string and
report the number of unused characters remaining in the
buffer.This function differs from PathRemoveBackslash in that
it accepts paths with "\", "\?&#0034; and "\?\UNC&#0034;
prefixes.

PathCchRemoveExtension Removes the file name extension from a path, if one is


present.This function differs from PathRemoveExtension in
that it accepts paths with "\", "\?&#0034; and "\?
\UNC&#0034; prefixes.

PathCchRemoveFileSpec Removes the last element in a path string, whether that


element is a file name or a directory name.

PathCchRenameExtension Replaces a file name's extension at the end of a path string


with a new extension.

PathCchSkipRoot Retrieves a pointer to the first character in a path following


the drive letter or Universal Naming Convention (UNC)
server/share path elements.This function differs from
PathSkipRoot in that it accepts paths with "\", "\?&#0034; and
"\?\UNC&#0034; prefixes.

PathCchStripPrefix Removes the "\?&#0034; prefix, if present, from a file path.

PathCchStripToRoot Removes all file and directory elements in a path except for
the root information.This function differs from
PathStripToRoot in that it accepts paths with "\", "\?&#0034;
and "\?\UNC&#0034; prefixes.

PathCleanupSpec PathCleanupSpec may be altered or unavailable.

PathCombineA Concatenates two strings that represent properly formed


paths into one path; also concatenates any relative path
elements.
T IT L E DESC RIP T IO N

PathCombineW Concatenates two strings that represent properly formed


paths into one path; also concatenates any relative path
elements.

PathCommonPrefixA Compares two paths to determine if they share a common


prefix. A prefix is one of these types:_"C:\", ".", "..", "..\".

PathCommonPrefixW Compares two paths to determine if they share a common


prefix. A prefix is one of these types:_"C:\", ".", "..", "..\".

PathCompactPathA Truncates a file path to fit within a given pixel width by


replacing path components with ellipses.

PathCompactPathExA Truncates a path to fit within a certain number of characters


by replacing path components with ellipses.

PathCompactPathExW Truncates a path to fit within a certain number of characters


by replacing path components with ellipses.

PathCompactPathW Truncates a file path to fit within a given pixel width by


replacing path components with ellipses.

PathCreateFromUrlA Converts a file URL to a Microsoft MS-DOS path.

PathCreateFromUrlAlloc Creates a path from a file URL.

PathCreateFromUrlW Converts a file URL to a Microsoft MS-DOS path.

PathFileExistsA Determines whether a path to a file system object such as a


file or folder is valid.

PathFileExistsW Determines whether a path to a file system object such as a


file or folder is valid.

PathFindExtensionA Searches a path for an extension.

PathFindExtensionW Searches a path for an extension.

PathFindFileNameA Searches a path for a file name.

PathFindFileNameW Searches a path for a file name.

PathFindNextComponentA Parses a path and returns the portion of that path that
follows the first backslash.

PathFindNextComponentW Parses a path and returns the portion of that path that
follows the first backslash.

PathFindOnPathA Searches for a file.

PathFindOnPathW Searches for a file.


T IT L E DESC RIP T IO N

PathFindSuffixArrayA Determines whether a given file name has one of a list of


suffixes.

PathFindSuffixArrayW Determines whether a given file name has one of a list of


suffixes.

PathGetArgsA Finds the command line arguments within a given path.

PathGetArgsW Finds the command line arguments within a given path.

PathGetCharTypeA Determines the type of character in relation to a path.

PathGetCharTypeW Determines the type of character in relation to a path.

PathGetDriveNumberA Searches a path for a drive letter within the range of 'A' to 'Z'
and returns the corresponding drive number.

PathGetDriveNumberW Searches a path for a drive letter within the range of 'A' to 'Z'
and returns the corresponding drive number.

PathGetShortPath PathGetShortPath may be altered or unavailable.

PathIsContentTypeA Determines if a file's registered content type matches the


specified content type. This function obtains the content type
for the specified file type and compares that string with the
pszContentType. The comparison is not case-sensitive.

PathIsContentTypeW Determines if a file's registered content type matches the


specified content type. This function obtains the content type
for the specified file type and compares that string with the
pszContentType. The comparison is not case-sensitive.

PathIsDirectoryA Verifies that a path is a valid directory.

PathIsDirectoryEmptyA Determines whether a specified path is an empty directory.

PathIsDirectoryEmptyW Determines whether a specified path is an empty directory.

PathIsDirectoryW Verifies that a path is a valid directory.

PathIsExe PathIsExe may be altered or unavailable.

PathIsFileSpecA Searches a path for any path-delimiting characters (for


example, ':' or '' ). If there are no path-delimiting characters
present, the path is considered to be a File Spec path.

PathIsFileSpecW Searches a path for any path-delimiting characters (for


example, ':' or '' ). If there are no path-delimiting characters
present, the path is considered to be a File Spec path.

PathIsHTMLFileA Determines if a file is an HTML file. The determination is made


based on the content type that is registered for the file's
extension.
T IT L E DESC RIP T IO N

PathIsHTMLFileW Determines if a file is an HTML file. The determination is made


based on the content type that is registered for the file's
extension.

PathIsLFNFileSpecA Determines whether a file name is in long format.

PathIsLFNFileSpecW Determines whether a file name is in long format.

PathIsNetworkPathA Determines whether a path string represents a network


resource.

PathIsNetworkPathW Determines whether a path string represents a network


resource.

PathIsPrefixA Searches a path to determine if it contains a valid prefix of the


type passed by pszPrefix. A prefix is one of these types:_"C:\",
".", "..", "..\".

PathIsPrefixW Searches a path to determine if it contains a valid prefix of the


type passed by pszPrefix. A prefix is one of these types:_"C:\",
".", "..", "..\".

PathIsRelativeA Searches a path and determines if it is relative.

PathIsRelativeW Searches a path and determines if it is relative.

PathIsRootA Determines whether a path string refers to the root of a


volume.

PathIsRootW Determines whether a path string refers to the root of a


volume.

PathIsSameRootA Compares two paths to determine if they have a common


root component.

PathIsSameRootW Compares two paths to determine if they have a common


root component.

PathIsSlowA PathIsSlow may be altered or unavailable.

PathIsSlowW PathIsSlow may be altered or unavailable.

PathIsSystemFolderA Determines if an existing folder contains the attributes that


make it a system folder. Alternately, this function indicates if
certain attributes qualify a folder to be a system folder.

PathIsSystemFolderW Determines if an existing folder contains the attributes that


make it a system folder. Alternately, this function indicates if
certain attributes qualify a folder to be a system folder.

PathIsUNCA Determines if a path string is a valid Universal Naming


Convention (UNC) path, as opposed to a path based on a
drive letter.
T IT L E DESC RIP T IO N

PathIsUNCEx Determines if a path string is a valid Universal Naming


Convention (UNC) path, as opposed to a path based on a
drive letter.This function differs from PathIsUNC in that it also
allows you to extract the name of the server from the path.

PathIsUNCServerA Determines if a string is a valid Universal Naming Convention


(UNC) for a server path only.

PathIsUNCServerShareA Determines if a string is a valid Universal Naming Convention


(UNC) share path, \server\share.

PathIsUNCServerShareW Determines if a string is a valid Universal Naming Convention


(UNC) share path, \server\share.

PathIsUNCServerW Determines if a string is a valid Universal Naming Convention


(UNC) for a server path only.

PathIsUNCW Determines if a path string is a valid Universal Naming


Convention (UNC) path, as opposed to a path based on a
drive letter.

PathIsURLA Tests a given string to determine if it conforms to a valid URL


format.

PathIsURLW Tests a given string to determine if it conforms to a valid URL


format.

PathMakePrettyA Converts an all-uppercase path to all lowercase characters to


give the path a consistent appearance.

PathMakePrettyW Converts an all-uppercase path to all lowercase characters to


give the path a consistent appearance.

PathMakeSystemFolderA Gives an existing folder the proper attributes to become a


system folder.

PathMakeSystemFolderW Gives an existing folder the proper attributes to become a


system folder.

PathMakeUniqueName Creates a unique path name from a template.

PathMatchSpecA Searches a string using a Microsoft MS-DOS wildcard match


type.

PathMatchSpecExA Matches a file name from a path against one or more file
name patterns.

PathMatchSpecExW Matches a file name from a path against one or more file
name patterns.

PathMatchSpecW Searches a string using a Microsoft MS-DOS wildcard match


type.
T IT L E DESC RIP T IO N

PathParseIconLocationA Parses a file location string that contains a file location and
icon index, and returns separate values.

PathParseIconLocationW Parses a file location string that contains a file location and
icon index, and returns separate values.

PathProcessCommand Deprecated. Processes a string that contains a command line


and generates a suitably quoted string, with arguments
attached if required.

PathQuoteSpacesA Searches a path for spaces. If spaces are found, the entire
path is enclosed in quotation marks.

PathQuoteSpacesW Searches a path for spaces. If spaces are found, the entire
path is enclosed in quotation marks.

PathRelativePathToA Creates a relative path from one file or folder to another.

PathRelativePathToW Creates a relative path from one file or folder to another.

PathRemoveArgsA Removes any arguments from a given path.

PathRemoveArgsW Removes any arguments from a given path.

PathRemoveBackslashA Removes the trailing backslash from a given path.

PathRemoveBackslashW Removes the trailing backslash from a given path.

PathRemoveBlanksA Removes all leading and trailing spaces from a string.

PathRemoveBlanksW Removes all leading and trailing spaces from a string.

PathRemoveExtensionA Removes the file name extension from a path, if one is


present.

PathRemoveExtensionW Removes the file name extension from a path, if one is


present.

PathRemoveFileSpecA Removes the trailing file name and backslash from a path, if
they are present.

PathRemoveFileSpecW Removes the trailing file name and backslash from a path, if
they are present.

PathRenameExtensionA Replaces the extension of a file name with a new extension. If


the file name does not contain an extension, the extension
will be attached to the end of the string.

PathRenameExtensionW Replaces the extension of a file name with a new extension. If


the file name does not contain an extension, the extension
will be attached to the end of the string.

PathResolve PathResolve may be altered or unavailable.


T IT L E DESC RIP T IO N

PathSearchAndQualifyA Determines if a given path is correctly formatted and fully


qualified.

PathSearchAndQualifyW Determines if a given path is correctly formatted and fully


qualified.

PathSetDlgItemPathA Sets the text of a child control in a window or dialog box,


using PathCompactPath to ensure the path fits in the control.

PathSetDlgItemPathW Sets the text of a child control in a window or dialog box,


using PathCompactPath to ensure the path fits in the control.

PathSkipRootA Retrieves a pointer to the first character in a path following


the drive letter or Universal Naming Convention (UNC)
server/share path elements.

PathSkipRootW Retrieves a pointer to the first character in a path following


the drive letter or Universal Naming Convention (UNC)
server/share path elements.

PathStripPathA Removes the path portion of a fully qualified path and file.

PathStripPathW Removes the path portion of a fully qualified path and file.

PathStripToRootA Removes all file and directory elements in a path except for
the root information.

PathStripToRootW Removes all file and directory elements in a path except for
the root information.

PathUndecorateA Removes the decoration from a path string.

PathUndecorateW Removes the decoration from a path string.

PathUnExpandEnvStringsA Replaces certain folder names in a fully qualified path with


their associated environment string.

PathUnExpandEnvStringsW Replaces certain folder names in a fully qualified path with


their associated environment string.

PathUnmakeSystemFolderA Removes the attributes from a folder that make it a system


folder. This folder must actually exist in the file system.

PathUnmakeSystemFolderW Removes the attributes from a folder that make it a system


folder. This folder must actually exist in the file system.

PathUnquoteSpacesA Removes quotes from the beginning and end of a path.

PathUnquoteSpacesW Removes quotes from the beginning and end of a path.

PathYetAnotherMakeUniqueName Creates a unique filename based on an existing filename.

PauseTimer Not supported.


T IT L E DESC RIP T IO N

PauseTimer Pauses progress dialog timer.

PerformOperations Executes all selected operations.

PerUserInit Creates My Documents and other special folders, initializes


them as needed, and creates the Send To shortcut menu item
for My Documents.

PickIconDlg PickIconDlg may be altered or unavailable.

PlaySound Plays a sound in conjunction with the notification.

PlaySound Plays a sound in conjunction with the notification.

Popup Invokes the shortcut menu at a specified onscreen location.

Popup Displays a modal pop-up menu at a specific location.

PopupItemMenu Creates a shortcut menu for the specified item and returns
the selected command string.

PostCopyItem Performs caller-implemented actions after the copy process


for each item is complete.

PostDeleteItem Performs caller-implemented actions after the delete process


for each item is complete.

PostMoveItem Performs caller-implemented actions after the move process


for each item is complete.

PostNewItem Performs caller-implemented actions after the new item is


created.

PostPaint Called after the namespace tree control is drawn.

PostRenameItem Performs caller-implemented actions after the rename process


for each item is complete.

PreCopyItem Performs caller-implemented actions before the copy process


for each item begins.

PreDeleteItem Performs caller-implemented actions before the delete


process for each item begins.

PreMoveItem Performs caller-implemented actions before the move process


for each item begins.

PreNewItem Performs caller-implemented actions before the process to


create a new item begins.

PrePaint Called before the namespace tree control is drawn.


T IT L E DESC RIP T IO N

PrepareForSync Allows a registered application to display any user interface,


and perform any necessary initialization before the
ISyncMgrSynchronize::Synchronize method is called.

PrepareForSyncCompleted Called by a registered handler of an application after the


PrepareForSync method is complete.

PreRenameItem Performs caller-implemented actions before the rename


process for each item begins.

PresentConflict Presents the conflict to the user.

PrevPage Switches to the previous page of a multipage image. Any


associated animations are reset.

PrintTo Prints a file.

PrintTo Prints a file.

ProcessAttachDetach Deprecated. Always returns S_OK.

ProfferService Makes a service available to other objects on the same host.

Progress Called by a registered application to update the progress


information and determine whether an operation should
continue.

Prompt Presents a prompt UI to the user.

PropertyFailure Called when there is a failure that involves file properties and
user interaction is needed.

ProposeItem Proposes the addition of a new item to the set of items


previously enumerated.

PtrdiffTAdd Adds two values of type ptrdiff_t.

PtrdiffTMult Multiplies two values of type ptrdiff_t.

PtrdiffTSub Subtracts one value of type ptrdiff_t from another.

put_CurrentViewMode Sets the current view mode of the current folder.

put_FolderFlags Sets the current folders settings.

put_GroupBy Sets the column used in grouping the folder view.

put_IconSize Sets the icon size setting for the current folder.

put_SortColumns Sets the names of the columns to be sorted.


T IT L E DESC RIP T IO N

PutBaseBrowserData Deprecated. Gets a structure that allows read/write access to


protected members of the base class. Note, however, that
state should only be updated by the base browser.

QISearch A table-driven implementation of the


IUnknown::QueryInterface method.

QueryAbilities Determines what options the conflict presenter will display.

QueryAbort Aborts an IShellImageData process such as Decode, Draw, or


Scale. This is a callback method.

QueryActiveShellView Retrieves the currently active (displayed) Shell view object.

QueryAppIsDefault Determines whether an application owns the registered


default association for a given application level and type. Not
intended for use in Windows 8.

QueryAppIsDefaultAll Determines whether an application owns all of the registered


default associations for a given application level. Not intended
for use in Windows 8.

QueryBand Gets information about a band in a band site.

QueryCancel Provides information about whether the action is being


canceled.

QueryContextMenu Adds commands to a shortcut menu.

QueryContinue Returns S_OK if the operation associated with the current


instance of this interface should continue.

QueryCurrentDefault Determines the default application for a given association


type. This is the default application launched by ShellExecute
for that type. Not intended for use in Windows 8.

QueryFocus Directs the preview handler to return the HWND from calling
the GetFocus Function.

QueryForAdditionalItems Retrieves an enumerator of the set of items that have a


pending request to be synchronized. This is the set of items
that will be synchronized after the current synchronization is
finished.

QueryObject Queries for a specified object.

QuerySupport QuerySupport may be altered or unavailable.

ReadAsync Reads information from a stream asynchronously. For


example, the Shell implements this interface on file items
when transferring them asynchronously.

ReadCabinetState ReadCabinetState may be altered or unavailable.


T IT L E DESC RIP T IO N

ReadPropertyNPB Causes a property to be read from the named property bag.

RealDriveType RealDriveType may be altered or unavailable.

Rearrange Rearrange may be altered or unavailable.

RecompressImage Recompresses an image. Implemented in an


ImageRecompress object, this method accepts x and y
dimensions with a designation of quality. The method creates
a stream containing the new image that has been
recompressed to the specified size.

RecycleItem Recycle the item into the provided recycle location and return
the item in its new location.

Redirect Redirects folder requests for common and per-user folders.

Refresh Refreshes the view's contents in response to user input.

RefreshObject RefreshObject may be altered or unavailable.

RefreshOverlayImages Refreshes the overlay cache, the image list, or both.

Register Registers an open window as a Shell window; the window is


specified by handle.

RegisterAbort Sets a callback abort object, optionally returning a pointer to


the previous object.

RegisterAppStateChangeNotification Enables an app to register a callback function through which


it can be notified that its library is going into or coming out
of a suspended state.

RegisterAsChild ISuspensionDependencyManager::RegisterAsChild method

RegisterDialogClasses Registers any nonstandard window classes required by a


screen saver's configuration dialog box.

RegisterFolder Adds a new known folder to the registry. Used particularly by


independent software vendors (ISVs) that are adding one of
their own folders to the known folder system.

RegisterForPackageStateChanges Register for package state-change notifications.

RegisterPending Registers a pending window as a Shell window; the window is


specified by an absolute PIDL.

RegisterScaleChangeEvent Registers for an event that is triggered when the scale has
possibly changed. This function replaces
RegisterScaleChangeNotifications.

RegisterScaleChangeNotifications Registers a window to receive callbacks when scaling


information changes.
T IT L E DESC RIP T IO N

RegisterSyncMgrHandler Registers a handler with the synchronization manager when


the handler has items to synchronize.

RegisterTab Informs the taskbar that a new tab or document thumbnail


has been provided for display in an application's taskbar
group flyout.

RegisterWindow Deprecated. Registers the browser in the list of browser


windows.

ReleaseShellView Deprecated. Coordinates the view lifetime between the base


class and its derived class.

Remove Removes an object from the collection of managed objects.

RemoveAll Removes all items from a results folder.

RemoveAll Removes all items from the results folder.

RemoveAllControlItems Not implemented.

RemoveAllDestinations Clears all destination entries from the Recent and Frequent
categories in an application's Jump List.

RemoveAllRoots Removes all roots and their children from a tree.

RemoveBackReferences Removes all back references held by an object.

RemoveBand Removes a band from the band site.

RemoveConflicts Deletes a set of conflicts, specified by conflict ID, from the


store.

RemoveControlItem Removes an item from a container control in the dialog.

RemoveDataBlock Removes a data block from a link.

RemoveDestination Removes a single destination from the Recent and Frequent


categories in a Jump List.

RemoveEvent Removes events, as specified.

RemoveFolder Removes a folder from the library.

RemoveFromList Windows Vista:_Removes an item from the Start menu


pinned list, which is the list in the upper left position of the
Start menu.

RemoveFromSyncSet Deletes the conflict and removes the IShellItem from


synchronization.
T IT L E DESC RIP T IO N

RemoveIDList Removes a pointer to an item identifier list (PIDL) from a


results folder.

RemoveItem Removes an item from a results folder.

RemoveItem Removes the item without moving the item to the Recycle
Bin.

RemoveMenusSB Permits the container to remove any of its menu elements


from the in-place composite menu and to free all associated
resources.

RemoveObject RemoveObject may be altered or unavailable.

RemoveObjectAt Removes a single, specified object from the collection.

RemovePropertyNPB Removes a property from a named property bag.

RemoveRoot Removes a root and its children from a tree.

RemoveTasks Removes tasks from the scheduler's background queue.

RemoveToolbar Removes the specified IDockingWindow from the toolbar


frame.

RemoveWindowSubclass Removes a subclass callback from a window.

RenameItem Declares a single item that is to be given a new display name.

RenameItem Changes the name of an item, returning the IShellItem with


the new name.

RenameItems Declares a set of items that are to be given a new display


name. All items are given the same name.

ReplaceFrame Replaces the current frame with a new image.

ReplacePage Replaces a page in a property sheet for a Control Panel


object.

ReportEvent Provides an event to add to the Sync Results folder for an


item being synchronized.

ReportManualSync Reports that a synchronization operation is being performed


that was requested manually from outside the Sync Center
UI.

ReportProgress Reports the progress of the synchronization of a single sync


item to Sync Center.

ReportResult Translates a received error status code into the appropriate


user-readable message.
T IT L E DESC RIP T IO N

RequestBorderSpaceDW Approves, modifies, or refuses a request for an


IDockingWindow object's border space. The border space is
not allocated until the SetBorderSpaceDW method is called.

RequireTouchInEditControl Requires an explicit user tap in an edit field before the touch
keyboard invokes.

Reset Resets the enumeration to 0.

Reset Used to reset the enumeration index to zero.

Reset Returns the enumerator to the beginning of the enumeration


sequence.

Reset Returns to the beginning of the enumeration sequence.

Reset Resets the enumeration index to 0.

Reset Resets the enumeration index to 0.

Reset Resets the internal count of retrieved IShellItem interfaces in


the enumeration.

Reset Resets the enumeration of IPublishedApp objects to the first


item.

Reset Resets the current position in the enumeration to zero.

Reset Resets the current location in the enumeration to zero.

Reset Resets the current position in the enumeration to 0.

Reset Instructs the enumerator to position itself at the beginning of


the list of elements.

ResetCancel Resets progress dialog after a cancellation has been


completed.

ResetEnumerator Forces the autocomplete object to refresh its list of


suggestions when the list is visible.

ResetTimer Not supported.

ResetTimer Resets progress dialog timer to 0.

ResizeBorderDW Notifies the docking window object that the frame's border
space has changed. In response to this method, the
IDockingWindow implementation must call
SetBorderSpaceDW, even if no border space is required or a
change is not necessary.

Resolve Attempts to find the target of a Shell link, even if it has been
moved or renamed.
T IT L E DESC RIP T IO N

Resolve Attempts to find the target of a Shell link, even if it has been
moved or renamed.

Resolve Resolves the conflict using its own sync handler, controls UI.

ResolveFolder Resolves the target location of a library folder, even if the


folder has been moved or renamed.

ResolveShellLink Requests that a folder object resolve a Shell link.

RestartDialog Displays a dialog box that prompts the user to restart


Windows. When the user clicks the button, the function calls
ExitWindowsEx to attempt to restart Windows.

RestartDialogEx Displays a dialog box that asks the user to restart Windows.
When the user clicks the button, the function calls
ExitWindowsEx to attempt to restart Windows.

Result Gets the result of a StartHandlerSync or StartItemSync call.

Resume Resumes the processes of the package if they are currently


suspended.

Resume Requests that a task resume.

ResumeTimer Not supported.

ResumeTimer Resumes progress dialog timer.

RetrieveProperties Gets the properties managed by the sync engine.

Revert Deprecated. Reverts to the current entry, dropping the result


of ITravelLog::AddEntry in the case of a failed navigation.

Revoke Revokes a Shell window's registration and removes the


window from the Shell windows collection.

RevokeScaleChangeNotifications Revokes the registration of a window, preventing it from


receiving callbacks when scaling information changes.

RevokeService Makes a service unavailable that had previously been


available to other objects through
IProfferService::ProfferService.

Rotate Rotates an image in increments of 90 degrees.

Run Not supported.

Run Requests that a task begin.

Run Performs the actual display of UI for a handler or sync item


when requested to do so by Sync Center.
T IT L E DESC RIP T IO N

RunGadget Adds an installed gadget to the desktop.

Save Saves the attachment.

Save Saves the library to a new Library Description (*.library-ms)


file.

SaveInKnownFolder Saves the library to a new file in a specified known folder.

SaveProperties Saves properties associated with a file or folder.

SaveViewState Saves the Shell's view settings so the current state can be
restored during a subsequent browsing session.

SaveViewState Deprecated.

SaveWithUI Presents the user with explanatory error UI if the save action
fails.

Scale Adjusts the size of an image.

ScreenSaverConfigureDialog Receives messages sent to a screen saver's configuration


dialog box. A screen saver that allows user configuration
must define this function.

ScreenSaverProc Receives messages sent to the specified screen saver window.

Select IShellFolderView::Select may be altered or unavailable.

SelectAndEditItem INewMenuClient::SelectAndEditItem method

SelectAndPositionItem Selects and positions an item in a Shell View.

SelectAndPositionItems Allows the selection and positioning of items visible in the


folder's view.

SelectedItems Gets a FolderItems object that represents all of the selected


items in the view.

SelectItem Sets the selection state of an item in the view.

SelectItem Selects an item in the folder's view.

SelectItem Changes the selection state of one or more items within the
Shell view window.

SelectItemRelative Selects an item relative to the current item.

SelectPage Selects a specified page in a multipage image.

SendControlMsg Sends control messages to either the toolbar or the status


bar in a Windows Explorer window.
T IT L E DESC RIP T IO N

SetAcceleratorMenu Deprecated. Implemented by a derived class to define menu


accelerators that can be used in a call to
TranslateAcceleratorSB.

SetAccelerators Sets accelerators.

SetAccessibleName Sets text that is retrieved by IAccessible::get_accName which


accessibility tools use to obtain the Name Property of an
object.

SetActivateState Deprecated. Updates the value of the _uActivateState


member of the BASEBROWSERDATA structure, which tracks
whether the browser view window is in an activated state.
The derived class makes this call to the base class.

SetActiveAlt Marks a taskbar item as active but does not visually activate
it.

SetAdjacentDisplayEdges Sets whether the application window will be adjacent to the


edge of the emulated display.

SetAnimation Specifies an Audio-Video Interleaved (AVI) clip that runs in


the dialog box.

SetAppAsDefault Sets an application as the default for a given extension or


protocol, provided that the application's publisher matches
the current default's. For more information, see Default
Programs. Not intended for use in Windows 8.

SetAppAsDefaultAll Sets an application as the default for all of the registered


associations of any type for that application. Not intended for
use in Windows 8.

SetAppID Specifies a unique Application User Model ID


(AppUserModelID) for the application from whose taskbar
button's Jump List the methods of this interface will remove
destinations. This method is optional.

SetAppID Specifies a unique Application User Model ID


(AppUserModelID) for the application whose destination lists
are being retrieved. This method is optional.

SetAppID Specifies a unique Application User Model ID


(AppUserModelID) for the application whose taskbar button
will hold the custom Jump List built through the methods of
this interface. This method is optional.

SetAppID Specifies a unique application-defined Application User Model


ID (AppUserModelID) that identifies the object as a handler
for a specific file type. This method is used by applications
that require dynamic AppUserModelIDs.

SetApplicationViewMinWidth Sets the desired minimum width of the application design


mode window.
T IT L E DESC RIP T IO N

SetApplicationViewOrientation Sets the window orientation used for the design mode
window.

SetApplicationViewState Sets a spoofed application view state (full-screen landscape,


full-screen portrait, filled, or snapped) to be used for a
Windows Store app running in design mode.

SetArguments Sets the command-line arguments for a Shell link object.

SetArguments Sets the command-line arguments for a Shell link object.

SetAsDefFolderSettings Deprecated. Sets the folder's current view mode as the


default view mode for all folders. Used by the Folder Options
dialog.

SetAsyncMode Called by a drop source to specify whether the data object


supports asynchronous data extraction.

SetAutomationObject Replaces the internal automation object of the IShellView.

SetBackgroundColor Sets the color that is visible on the desktop when no image is
displayed or when the desktop background has been
disabled. This color is also used as a border when the desktop
wallpaper does not fill the entire screen.

SetBackgroundColor Sets the background color of the preview handler.

SetBalloonInfo Sets the information to be displayed in a balloon notification.

SetBalloonInfo Sets the information to be displayed in a balloon notification.

SetBalloonRetry Specifies the conditions for trying to display user information


when the first attempt fails.

SetBalloonRetry Specifies the conditions for trying to display user information


when the first attempt fails.

SetBandAvailability Sets the availability of a specified band.

SetBandInfoSFB Uses the information in a BANDINFOSFB structure to set the


band information for a IShellFolderBand object.

SetBandSiteInfo Sets information about the band site.

SetBandState Set the state of a band in the band site.

SetBorderSpaceDW Allocates and reserves border space for an IDockingWindow


object.

SetCallback IShellFolderView::SetCallback may be altered or unavailable.

SetCancelButtonLabel Replaces the default text "Cancel" on the common file dialog's
Cancel button.
T IT L E DESC RIP T IO N

SetCancelInformation Sets information that is posted when a user selects Cancel


from the progress UI.

SetCancelMsg Sets a message to be displayed if the user cancels the


operation.

SetCascade Sets a cascade folder.

SetCheckboxValue Enables a Logon UI and Credential UI to indicate that a


checkbox value has changed.

SetCheckButtonState Sets the state of a check button (check box) in the dialog.

SetCheckState Sets the state of a check box item in a tree-view control.

SetClient Sets the client specified by punkClient.

SetClientGuid Specifies and stores the GUID for the client.

SetClientGuid Enables a calling application to associate a GUID with a


dialog's persisted state.

SetClientTitle Specifies and stores the title of the prompt window.

SetClipboard SetClipboard may be altered or unavailable.

SetCodePage Sets the numeric value of the ANSI code page to a specified
code page identifier.

SetCollectedProperties Specifies which properties will be collected in the save dialog.

SetColor Sets the color, as specified.

SetColumnInfo Sets the state for a specified column.

SetColumns Sets the collection of columns for the view to display.

SetComboBoxSelectedValue Enables a Logon UI and Credential UI to indicate that a


combo box value has been selected.

SetCompositionState Sets the composition state.

SetCondition Sets the ICondition of the search. When this method is not
called, the resulting search will have no filters applied.

SetContext Enables a thumbnail provider to return a thumbnail specific


to the user's context.

SetContractDelegateWindow Associates an app window other than the primary


foreground window with an app's contracts. Use this function
if you are a developer writing a Windows Store app in native
C++.
T IT L E DESC RIP T IO N

SetControlItemState Sets the current state of an item in a container control found


in the dialog.

SetControlItemText Sets the text of a control item. For example, the text that
accompanies a radio button or an item in a menu.

SetControlLabel Sets the text associated with a control, such as button text or
an edit box label.

SetControlState Sets the current visibility and enabled states of a given


control.

SetControlStyle Sets the display styles for the namespace object's treeview
controls.

SetControlStyle2 Sets the extended display styles for the namespace object's
treeview controls.

SetCreateFlags Set the flags that will be included in the call to CreateProcess.

SetCurrentFolderFlags Sets and applies specified folder flags.

SetCurrentProcessExplicitAppUserModelID Specifies a unique application-defined Application User Model


ID (AppUserModelID) that identifies the current process to
the taskbar. This identifier allows an application to group its
associated processes and windows under a single taskbar
button.

SetCurrentViewMode Sets the selected folder's view mode.

SetDataObject Wraps an IDataObject instance as a Windows Runtime


DataPackage.

SetDefaultExtension Sets the default extension to be added to file names.

SetDefaultFolder Sets the folder used as a default if there is not a recently used
folder value available.

SetDefaultIcon Sets the default icon.

SetDefaultSaveFolder Sets the default target folder that the library will use for save
operations.

SetDescription Sets the description for a Shell link object. The description can
be any application-defined string.

SetDescription Sets the description for a Shell link object. The description can
be any application-defined string.

SetDeselected Called when a credential loses selection.

SetDirectory Sets the current working directory.


T IT L E DESC RIP T IO N

SetDirectory Sets a new working directory.

SetDisplayName Sets the search folder display name, as specified.

SetEditBoxText Sets the text in an edit box control found in the dialog.

SetEmptyText Sets the default empty text.

SetEncoderParams Sets encoder parameters.

SetEnumReadyCallback Sets a callback on the view that is notified when the initial
view enumeration is complete.

SetEnvironmentVariable Sets a variable in the environment of the created process.

SetErrorURL Specifies the URL of a page that displays when a user


experiences an error while navigating through the wizard
extension pages.

SetExtendedTileViewProperties Sets the list of extended tile properties for an item.

SetFieldBitmap Communicates to the Logon UI or Credential UI that a tile


image field has changed and that the UI should be updated.

SetFieldCheckbox Communicates to the Logon UI or Credential UI that a


checkbox field has changed and that the UI should be
updated.

SetFieldComboBoxSelectedItem Communicates to the Logon UI or Credential UI that the


selected item in a combo box has changed and that the UI
should be updated.

SetFieldInteractiveState Communicates to the Logon UI or Credential UI that the


interactivity state of a field has changed and that the UI
should be updated.

SetFieldOptions Specifies whether a specified field in the logon or credential UI


should display a "password reveal" glyph or is expected to
receive an e-mail address.

SetFieldState Communicates to the Logon UI or Credential UI that a field


state has changed and that the UI should be updated.

SetFieldString Communicates to the Logon UI or Credential UI that the


string associated with a field has changed and that the UI
should be updated.

SetFieldSubmitButton Enables credentials to set the field that the submit button
appears adjacent to.

SetFileID Sets the unique file identifier for the current file.

SetFileName Specifies and stores the proposed name of the file.


T IT L E DESC RIP T IO N

SetFileName Sets the file name that appears in the File name edit box
when that dialog box is opened.

SetFileNameLabel Sets the text of the label next to the file name edit box.

SetFileTypeIndex Sets the file type that appears as selected in the dialog.

SetFileTypes Sets the file types that the dialog can open or save.

SetFilter SetFilter is no longer available for use as of Windows 7.

SetFilter Exposed by a host to allow clients to pass the host their


IUnknown interface pointers.

SetFindData Stores file system information in a WIN32_FIND_DATA


structure. This information is used by ParseDisplayName.

SetFlags Sets the characteristics of a drag-and-drop operation over an


IDragSourceHelper object.

SetFlags Toggles the property store object between the read-only and
read/write state.

SetFlags Sets GIL_XXX flags.

SetFlags Sets the current option settings.

SetFlags Deprecated. Sets flags that indicate browser status.

SetFocus Directs the preview handler to set focus to itself.

SetFolder Sets the folder name for the shortcut object.

SetFolder Sets the folder name for the shortcut object.

SetFolder Sets a folder that is always selected when the dialog is


opened, regardless of previous user action.

SetFolderLogicalViewMode Sets folder logical view mode. The default settings are based
on the FolderTypeID which is set by the
ISearchFolderItemFactory::SetFolderTypeID method.

SetFolderSettings Sets the folder settings for the current view.

SetFolderType Sets the library's folder type.

SetFolderTypeID Sets a search folder type ID, as specified.

SetFolderViewOptions Sets specified options for the view.

SetFont Sets attributes of the font.


T IT L E DESC RIP T IO N

SetFont Sets the font attributes to be used for text within the preview
handler.

SetGroupBy Groups the view by the given property key and direction.

SetGroupColumn Sets a group column, as specified. If no group column is


specified, no grouping occurs.

SetGroupSubsetCount Turns on group subsetting and sets the number of visible


rows of items in each group.

SetHandlerClsid .

SetHandlerProgressText Sets the content of an information field for the handler while
that handler is performing a synchronization.

SetHistoryObject Deprecated. Sets the browser's history object.

SetHotkey Sets a keyboard shortcut (hot key) for a Shell link object.

SetHotkey Sets a keyboard shortcut (hot key) for a Shell link object.

SetHotKey Sets the hot key for the application.

SetIcon Sets the default icon for the library.

SetIconInfo Sets the notification area icon associated with specific user
information.

SetIconInfo Sets the notification area icon associated with specific user
information.

SetIconLocation Sets the location (path and index) of the icon for a Shell link
object.

SetIconLocation Sets the location (path and index) of the icon for a Shell link
object.

SetIconSize Sets the search folder icon size, as specified. The default
settings are based on the FolderTypeID which is set by the
ISearchFolderItemFactory::SetFolderTypeID method.

SetIDList Sets a persisted item identifier list.

SetIDList Sets the pointer to an item identifier list (PIDL) for a Shell link
object.

SetIDList Sets the pointer to an item identifier list (PIDL) for a Shell link
object.

SetInitialURL Sets the URL of the initial server-provided HTML page in a


hosted wizard.
T IT L E DESC RIP T IO N

SetIsOnLockScreen This method determines whether or not the application, in


design mode, can display information on the Windows 8 lock
screen.

SetItem IParseAndCreateItem::SetItem method

SetItemAlloc Provides the delegate folder an IMalloc interface used to


allocate and free item IDs.

SetItemAlloc Provides the CItemIDFactory an IMalloc interface used to


allocate and free item IDs.

SetItemChoices Sets the array of indexes that represents which items the user
wants to keep. This method is used when the user chooses to
apply the same operation to all selected conflicts of the same
type from the same handler.

SetItemCustomState Sets the state of the checkbox associated with the Shell item.

SetItemHeight Sets the specified item height.

SetItemPos Sets the position of the given item.

SetItemState Sets state information for a Shell item.

SetItemStatus Called by the synchronization manager in a registered


application's handler to change the status of an item in the
following two cases:_between the time the handler has
returned from the ISyncMgrSynchronize::PrepareForSync
method and called the PrepareForSyncCompleted callback
method, or after the handler has returned from the
ISyncMgrSynchronize::Synchronize method but has not yet
called the SynchronizeCompleted callback method.

SetJunctionCLSID Sets the class identifier (CLSID) of the object that implements
IShellFolder, if the current item is a junction point.

SetKey Sets the registry key from which to load the "DefaultIcon"
value.

SetKeyState Sets a value based on the current state of the keys CTRL and
SHIFT.

SetLine Displays a message in the progress dialog.

SetLocalPath Sets and stores the path to the file.

SetMenu Appends a static menu to the menu band.

SetMenuContextHelpId Associates a Help context identifier with a menu.

SetMenuRestrictions .
T IT L E DESC RIP T IO N

SetMenuSB Installs the composite menu in the view window.

SetMenuToolbar Adds a menu to the menuband.

SetMode Sets the enumeration mode of the parsed item.

SetMode Sets progress dialog operations mode.

SetNamedValue Sets the value of a named property.

SetNameOf Sets the display name of a file object or subfolder, changing


the item identifier in the process.

SetNativeDisplayOrientation Sets the orientation of the emulated display for the design
mode window.

SetNativeDisplaySize Sets a spoofed native display size to be used for a Windows


Store app running in design mode.

SetNavigateState Deprecated. Sets the current navigation state. This method


affects the cursor and animation.

SetNavigationRoot Specifies a top-level location from which to begin browsing a


namespace, for instance in the Save dialog's Browse folder
option. Users cannot navigate above this location.

SetNoIcons Sets whether icons are displayed in a folder band.

SetNormalIcon Sets the normal icon.

SetNoShowUI Indicates whether any UI associated with the selected Shell


item should be displayed.

SetNoText Sets whether text is displayed in a folder band.

SetObjectCount SetObjectCount is no longer available.

SetObscured Coordinates obscured items on a toolbar with items in a


menu.

SetOkButtonLabel Sets the text of the Open or Save button.

SetOpenIcon Sets the icon that allows containers to specify an "open" look.

SetOperation Sets which progress dialog operation is occurring, and


whether we are in pre-flight or undo mode.

SetOperationFlags Sets parameters for the current operation.

SetOptions Sets the current autocomplete options.

SetOptions Sets the current autocomplete options.


T IT L E DESC RIP T IO N

SetOptions Sets the current browser options.

SetOptions Sets flags to control the behavior of the dialog.

SetOptions Sets the library options.

SetOverlayIcon Applies an overlay to a taskbar button to indicate application


status or a notification to the user.

SetOwner Deprecated. Declares an owner reference to the service


object.

SetOwnerWindow Sets the parent or owner window for progress and dialog
windows.

SetParameters Provides parameter values for the verb.

SetParentAndItem Sets the parent of an item and the parent's child ID.

SetPath Assigns a new path to a known folder.

SetPath Sets the path and file name for the target of a Shell link
object.

SetPath Sets the path and file name for the target of a Shell link
object.

SetPinnedWindow Sets the pinned window. When the user selects a new file to
view, the Shell directs the file viewer to display the new file in
the pinned window instead of creating a new window.

SetPoints SetPoints may be altered or unavailable.

SetPosition Sets the display option for the desktop wallpaper image,
determining whether the image should be centered, tiled, or
stretched.

SetPosition Sets the coordinates of a point used for display.

SetPresenterChoice Sets what kind of choice was made about a sync manager
conflict resolution and whether to apply the choice to all
subsequent conflicts in the set.

SetPresenterNextStep Sets what the presenter wants to do as the next step in the
sync manager conflict resolution.

SetProcessReference Provides a Component Object Model (COM) object that


allows hosted Shell extensions and other components to
prevent their host process from closing prematurely.

SetProgID Sets the ProgID of an object.


T IT L E DESC RIP T IO N

SetProgress Updates the progress dialog box with the current state of the
operation.

SetProgress64 Updates the progress dialog box with the current state of the
operation.

SetProgressCallback Sets the ISyncMgrSynchronizeCallback interface. Registered


applications use this callback interface to give status
information from within the
ISyncMgrSynchronize::PrepareForSync and
ISyncMgrSynchronize::Synchronize methods.

SetProgressDialog Specifies a dialog box used to display the progress of the


operation.

SetProgressMessage Not implemented.

SetProgressState Sets the type and state of the progress indicator displayed on
a taskbar button.

SetProgressValue Displays or updates a progress bar hosted in a taskbar


button to show the specific percentage completed of the full
operation.

SetProperties Declares a set of properties and values to be set on an item


or items.

SetProperties Provides a property store that defines the default values to


be used for the item being saved.

SetProperties Sets properties that should be applied to an item.

SetPropertyBag Sets the name of the property bag.

SetPropertyKey Sets the property key.

SetPropertyStorage Initializes the property store instance from the specified


serialized property storage data.

SetProviderFilter Limits the set of users in the array to either local accounts or
Microsoft accounts.

SetRect Sets the size and position of the view windows created by the
browser.

SetRect Directs the preview handler to change the area within the
parent hwnd that it draws into.

SetRedraw Allows a view to be redrawn or prevents it from being


redrawn.

SetRedraw Sets redraw on and off.


T IT L E DESC RIP T IO N

SetReferent Sets the referent of the shortcut object.

SetReferent Sets the referent of the shortcut object.

SetReferrer Sets the security zone associated with the attachment file
based on the referring file.

SetReferrer Deprecated. Sets the pointer to an item identifier list (PIDL)


used for zone checking when creating a new window.

SetRelativePath Sets the relative path to the Shell link object.

SetRelativePath Sets the relative path to the Shell link object.

SetSaveAsItem Sets an item to be used as the initial entry in a Save As


dialog.

SetScaleFactor Sets a spoofed device scale factor to be used for a Windows


Store app running in design mode.

SetScope Sets search scope, as specified.

SetSelected Called when a credential is selected. Enables the implementer


to set logon characteristics.

SetSelectedControlItem Sets the selected state of a particular item in an option


button group or a combo box found in the dialog.

SetSelection Provides the Shell item array that specifies the items included
in the selection.

SetSerialization Sets the serialization characteristics of the credential provider.

SetShellFolder Specifies the folder for the menu band to browse.

SetShortcutIcon Sets the icon for a shortcut to the object.

SetShowCmd Sets the show command for a Shell link object. The show
command sets the initial show state of the window.

SetShowCmd Sets the show command for a Shell link object. The show
command sets the initial show state of the window.

SetShowWindow Sets the specified window's visual state.

SetSlideshow Specifies the images to use for the desktop wallpaper


slideshow.

SetSlideshowOptions Sets the desktop wallpaper slideshow settings for shuffle and
timing.

SetSortColumns Sets and sorts the view by the given sort columns.
T IT L E DESC RIP T IO N

SetSortColumns Creates a list of sort column directions, as specified.

SetSource Sets an alternate path or URL for the source of a file transfer.

SetStacks Creates a list of stack keys, as specified. If this method is not


called, by default the folder will not be stacked.

SetStatusMessage Enables the credential provider to set status messages as it


attempts to complete
IConnectableCredentialProviderCredential::Connect.

SetStatusTextSB Sets and displays status text about the in-place object in the
container's frame-window status bar.

SetStringValue Enables a Logon UI or Credential UI to update the text for a


CPFT_EDIT_TEXT fields as the user types in them.

SetSubMenu Sets the given menu bar interface to be the submenu of the
calling application object's interface.

SetTabActive Informs the taskbar that a tab or document window has been
made the active window.

SetTabOrder Inserts a new thumbnail into a tabbed-document interface


(TDI) or multiple-document interface (MDI) application's
group flyout or moves an existing thumbnail to a new
position in the application's group.

SetTabProperties Allows a tab to specify whether the main application frame


window or the tab window should be used as a thumbnail or
in the peek feature under certain circumstances.

SetTargetSessionId Sets the session identifier.

SetText Sets the default text to be used when there are no items in
the view.

SetTextColor Sets the color of the text within the preview handler.

SetTheme Sets the specified theme.

SetTheme Sets the desktop theme for the current window only.

SetThumbnailClip Selects a portion of a window's client area to display as that


window's thumbnail in the taskbar.

SetThumbnailStream Sets the thumbnail stream. This method is for internal use
only and can only be called by the photos application.

SetThumbnailTooltip Specifies or updates the text of the tooltip that is displayed


when the mouse pointer rests on an individual preview
thumbnail in a taskbar button flyout.
T IT L E DESC RIP T IO N

SetTileViewProperties Set the list of tile properties for an item.

SetTimes Sets file times.

SetTitle Sets the title of the progress dialog box.

SetTitle Sets the title that will be passed CreateProcess.

SetTitle Sets the title of the dialog.

SetTitle Deprecated. Sets the title of a browser window.

SetToolbarItems Adds toolbar items to Windows Explorer's toolbar.

SetTopBrowser Deprecated. Informs the base class when it becomes the


topmost browser instance.

SetUsageScenario Defines the scenarios for which the credential provider is


valid. Called whenever the credential provider is initialized.

SetUserArray Called by the system during the initialization of a logon or


credential UI to retrieve the set of users to show in that UI.

SetViewModeAndIconSize Sets and applies the view mode and image size.

SetViewProperty Caches a property for an item in the view's property cache.

SetVisibleColumns Creates a new column list whose columns are all visible, given
an array of PROPERTYKEY structures. The default is based on
FolderTypeID.

SetWallpaper Sets the desktop wallpaper.

SetWatermark Provides a bitmap to use as a watermark.

SetWindow Sets the parent window of the previewer window, as well as


the area within the parent to be used for the previewer
window.

SetWindowContextHelpId Associates a Help context identifier with the specified window.

SetWindowSubclass Installs or updates a window subclass callback.

SetWorkingDirectory Sets the name of the working directory for a Shell link object.

SetWorkingDirectory Sets the name of the working directory for a Shell link object.

SHAddFolderPathToLibrary Adds a folder to a library.

SHAddFromPropSheetExtArray Adds pages to a property sheet extension array created by


SHCreatePropSheetExtArray.
T IT L E DESC RIP T IO N

SHAddToRecentDocs Notifies the system that an item has been accessed, for the
purposes of tracking those items used most recently and
most frequently. This function can also be used to clear all
usage data.

SHAlloc Allocates memory from the Shell's heap.

SHAllocShared SHAllocShared may be altered or unavailable.

SHAnsiToAnsi Copies an ANSI string.

SHAnsiToUnicode Converts a string from the ANSI code page to the Unicode
code page.

SHAppBarMessage Sends an appbar message to the system.

ShareExists Queries whether the Users or Public folder is shared.

SharePrinters Shares all local printers connected to a computer, enabling


them to be discovered by other computers on the network.

SHAssocEnumHandlers Returns an enumeration object for a specified set of file name


extension handlers.

SHAssocEnumHandlersForProtocolByApplication Gets an enumeration interface that provides access to


handlers associated with a given protocol.

SHAutoComplete Instructs system edit controls to use AutoComplete to help


complete URLs or file system paths.

SHBindToFolderIDListParent Given a Shell namespace item specified in the form of a folder,


and an item identifier list relative to that folder, this function
binds to the parent of the namespace item and optionally
returns a pointer to the final component of the item identifier
list.

SHBindToFolderIDListParentEx Extends the SHBindToFolderIDListParent function by allowing


the caller to specify a bind context.

SHBindToObject Retrieves and binds to a specified object by using the Shell


namespace IShellFolder::BindToObject method.

SHBindToParent Takes a pointer to a fully qualified item identifier list (PIDL),


and returns a specified interface pointer on the parent object.

SHBrowseForFolderA Displays a dialog box that enables the user to select a Shell
folder.

SHBrowseForFolderW Displays a dialog box that enables the user to select a Shell
folder.

SHChangeNotification_Lock Locks the shared memory associated with a Shell change


notification event.
T IT L E DESC RIP T IO N

SHChangeNotification_Unlock Unlocks shared memory for a change notification.

SHChangeNotify Notifies the system of an event that an application has


performed. An application should use this function if it
performs an action that may affect the Shell.

SHChangeNotifyDeregister Unregisters the client's window process from receiving


SHChangeNotify messages.

SHChangeNotifyRegister Registers a window to receive notifications from the file


system or Shell, if the file system supports notifications.

SHChangeNotifyRegisterThread Enables asynchronous register and deregister of a thread.

SHCloneSpecialIDList SHCloneSpecialIDList may be altered or unavailable. Instead,


use SHGetSpecialFolderLocation.

SHCLSIDFromString Takes the string form of a class identifier (CLSID) and creates
the corresponding CLSID.

SHCoCreateInstance SHCoCreateInstance may be altered or unavailable. Instead,


use CoCreateInstance.

SHCopyKeyA Recursively copies the subkeys and values of the source


subkey to the destination key. SHCopyKey does not copy the
security attributes of the keys.

SHCopyKeyW Recursively copies the subkeys and values of the source


subkey to the destination key. SHCopyKey does not copy the
security attributes of the keys.

SHCreateAssociationRegistration Creates an IApplicationAssociationRegistration object based


on the stock implementation of the interface provided by
Windows.

SHCreateDataObject Creates a data object in a parent folder.

SHCreateDefaultContextMenu Creates an object that represents the Shell's default context


menu implementation.

SHCreateDefaultExtractIcon Creates a standard icon extractor, whose defaults can be


further configured via the IDefaultExtractIconInit interface.

SHCreateDefaultPropertiesOp Creates a file operation that sets the default properties on


the Shell item that have not already been set.

SHCreateDirectory Creates a new file system folder.

SHCreateDirectoryExA Creates a new file system folder, with optional security


attributes.

SHCreateDirectoryExW Creates a new file system folder, with optional security


attributes.
T IT L E DESC RIP T IO N

SHCreateFileExtractIconW SHCreateFileExtractIcon may be altered or unavailable.

SHCreateItemFromIDList Creates and initializes a Shell item object from a pointer to an


item identifier list (PIDL). The resulting shell item object
supports the IShellItem interface.

SHCreateItemFromParsingName Creates and initializes a Shell item object from a parsing


name.

SHCreateItemFromRelativeName Creates and initializes a Shell item object from a relative


parsing name.

SHCreateItemInKnownFolder Creates a Shell item object for a single file that exists inside a
known folder.

SHCreateItemWithParent Create a Shell item, given a parent folder and a child item ID.

SHCreateLibrary Creates an IShellLibrary object.

SHCreateMemStream Creates a memory stream using a similar process to


CreateStreamOnHGlobal.

SHCreateProcessAsUserW Creates a new user-mode process and its primary thread to


run a specified executable file.

SHCreatePropSheetExtArray SHCreatePropSheetExtArray may be altered or unavailable.

SHCreateQueryCancelAutoPlayMoniker Deprecated. Creates a QueryCancelAutoPlay class moniker,


which can then be used to register the IQueryCancelAutoPlay
handler in the running object table (ROT).

SHCreateShellFolderView Creates a new instance of the default Shell folder view object
(DefView).

SHCreateShellFolderViewEx Creates a new instance of the default Shell folder view object.
It is recommended that you use SHCreateShellFolderView
rather than this function.

SHCreateShellItem Creates an IShellItem object.

SHCreateShellItemArray Creates a Shell item array object.

SHCreateShellItemArrayFromDataObject Creates a Shell item array object from a data object.

SHCreateShellItemArrayFromIDLists Creates a Shell item array object from a list of ITEMIDLIST


structures.

SHCreateShellItemArrayFromShellItem Creates an array of one element from a single Shell item.

SHCreateShellPalette Creates a halftone palette for the specified device context.

SHCreateStdEnumFmtEtc SHCreateStdEnumFmtEtc may be altered or unavailable.


T IT L E DESC RIP T IO N

SHCreateStreamOnFileA SHCreateStreamOnFile may be altered or unavailable. Instead,


use SHCreateStreamOnFileEx.

SHCreateStreamOnFileEx Opens or creates a file and retrieves a stream to read or write


to that file.

SHCreateStreamOnFileW SHCreateStreamOnFile may be altered or unavailable. Instead,


use SHCreateStreamOnFileEx.

SHCreateThread Creates a thread.

SHCreateThreadRef Creates a per-thread reference to a Component Object


Model (COM) object.

SHCreateThreadWithHandle Creates a new thread and retrieves its handle.

SHDefExtractIconA Provides a default handler to extract an icon from a file.

SHDefExtractIconW Provides a default handler to extract an icon from a file.

SHDeleteEmptyKeyA Deletes an empty key.

SHDeleteEmptyKeyW Deletes an empty key.

SHDeleteKeyA Deletes a subkey and all its descendants. This function


removes the key and all the key's values from the registry.

SHDeleteKeyW Deletes a subkey and all its descendants. This function


removes the key and all the key's values from the registry.

SHDeleteValueA Deletes a named value from the specified registry key.

SHDeleteValueW Deletes a named value from the specified registry key.

SHDestroyPropSheetExtArray Frees property sheet handlers that are pointed to an array


created by SHCreatePropSheetExtArray.

SHDoDragDrop Executes a drag-and-drop operation. Supports drag source


creation on demand, as well as drag images.

Shell_GetCachedImageIndex Shell_GetCachedImageIndex may be altered or unavailable.

Shell_GetCachedImageIndexA Shell_GetCachedImageIndex may be altered or unavailable.

Shell_GetCachedImageIndexW Shell_GetCachedImageIndex may be altered or unavailable.

Shell_GetImageLists Retrieves system image lists for large and small icons.

Shell_MergeMenus Shell_MergeMenus may be altered or unavailable.

Shell_NotifyIconA Sends a message to the taskbar's status area.


T IT L E DESC RIP T IO N

Shell_NotifyIconGetRect Gets the screen coordinates of the bounding rectangle of a


notification icon.

Shell_NotifyIconW Sends a message to the taskbar's status area.

ShellAboutA Displays a ShellAbout dialog box.

ShellAboutW Displays a ShellAbout dialog box.

ShellExecuteA Performs an operation on a specified file.

ShellExecuteExA Performs an operation on a specified file.

ShellExecuteExW Performs an operation on a specified file.

ShellExecuteW Performs an operation on a specified file.

ShellMessageBoxA ShellMessageBox may be altered or unavailable.

ShellMessageBoxW ShellMessageBox may be altered or unavailable.

SHEmptyRecycleBinA Empties the Recycle Bin on the specified drive.

SHEmptyRecycleBinW Empties the Recycle Bin on the specified drive.

SHEnumerateUnreadMailAccountsA Enumerates the user accounts that have unread email.

SHEnumerateUnreadMailAccountsW Enumerates the user accounts that have unread email.

SHEnumKeyExA Enumerates the subkeys of the specified open registry key.

SHEnumKeyExW Enumerates the subkeys of the specified open registry key.

SHEnumValueA Enumerates the values of the specified open registry key.

SHEnumValueW Enumerates the values of the specified open registry key.

SHEvaluateSystemCommandTemplate Enforces strict validation of parameters used in a call to


CreateProcess or ShellExecute.

SHFileOperationA Copies, moves, renames, or deletes a file system object. This


function has been replaced in Windows Vista by
IFileOperation.

SHFileOperationW Copies, moves, renames, or deletes a file system object. This


function has been replaced in Windows Vista by
IFileOperation.

SHFind_InitMenuPopup SHFind_InitMenuPopup may be altered or unavailable.

SHFindFiles SHFindFiles may be altered or unavailable.


T IT L E DESC RIP T IO N

SHFlushSFCache SHFlushSFCache may be altered or unavailable.

SHFormatDateTimeA SHFormatDateTime may be altered or unavailable.

SHFormatDateTimeW SHFormatDateTime may be altered or unavailable.

SHFormatDrive SHFormatDrive may be altered or unavailable.

SHFree Frees the memory allocated by SHAlloc.

SHFreeNameMappings Frees a file name mapping object that was retrieved by the
SHFileOperation function.

SHFreeShared SHFreeShared may be altered or unavailable.

SHGetAssocKeys Retrieves an array of class subkeys associated with an


IQueryAssociations object.

SHGetAttributesFromDataObject SHGetAttributesFromDataObject may be altered or


unavailable.

SHGetDataFromIDListA Retrieves extended property data from a relative identifier list.

SHGetDataFromIDListW Retrieves extended property data from a relative identifier list.

SHGetDesktopFolder Retrieves the IShellFolder interface for the desktop folder,


which is the root of the Shell's namespace.

SHGetDiskFreeSpaceExA Retrieves disk space information for a disk volume.

SHGetDiskFreeSpaceExW Retrieves disk space information for a disk volume.

SHGetDriveMedia Returns the type of media that is in the given drive.

SHGetFileInfoA Retrieves information about an object in the file system, such


as a file, folder, directory, or drive root.

SHGetFileInfoW Retrieves information about an object in the file system, such


as a file, folder, directory, or drive root.

SHGetFolderLocation Deprecated. Retrieves the path of a folder as an ITEMIDLIST


structure.

SHGetFolderPathA Deprecated.

SHGetFolderPathAndSubDirA Gets the path of a folder and appends a user-provided


subfolder path.

SHGetFolderPathAndSubDirW Gets the path of a folder and appends a user-provided


subfolder path.

SHGetFolderPathW Deprecated.
T IT L E DESC RIP T IO N

SHGetIconOverlayIndexA Returns the index of the overlay icon in the system image list.

SHGetIconOverlayIndexW Returns the index of the overlay icon in the system image list.

SHGetIDListFromObject Retrieves the pointer to an item identifier list (PIDL) of an


object.

SHGetImageList Retrieves an image list.

SHGetInstanceExplorer Retrieves an interface that allows hosted Shell extensions and


other components to prevent their host process from closing
prematurely.

SHGetInverseCMAP Retrieves the inverse color table mapping for the halftone
palette.

SHGetItemFromDataObject Creates an IShellItem or related object based on an item


specified by an IDataObject.

SHGetItemFromObject Retrieves an IShellItem for an object.

SHGetKnownFolderIDList Retrieves the path of a known folder as an ITEMIDLIST


structure.

SHGetKnownFolderItem Retrieves an IShellItem object that represents a known folder.

SHGetKnownFolderPath Retrieves the full path of a known folder identified by the


folder's KNOWNFOLDERID.

SHGetLocalizedName Retrieves the localized name of a file in a Shell folder.

SHGetMalloc Retrieves a pointer to the Shell's IMalloc interface.

SHGetNameFromIDList Retrieves the display name of an item identified by its IDList.

SHGetNewLinkInfoA Creates a name for a new shortcut based on the shortcut's


proposed target. This function does not create the shortcut,
just the name.

SHGetNewLinkInfoW Creates a name for a new shortcut based on the shortcut's


proposed target. This function does not create the shortcut,
just the name.

SHGetPathFromIDListA Converts an item identifier list to a file system path.

SHGetPathFromIDListEx Converts an item identifier list to a file system path. This


function extends SHGetPathFromIDList by allowing you to set
the initial size of the string buffer and declare the options
below.

SHGetPathFromIDListW Converts an item identifier list to a file system path.

SHGetRealIDL SHGetRealIDL may be altered or unavailable.


T IT L E DESC RIP T IO N

SHGetSetFolderCustomSettings SHGetSetFolderCustomSettings may be altered or


unavailable.

SHGetSetSettings SHGetSetSettings may be altered or unavailable.

SHGetSettings Retrieves the current Shell option settings.

SHGetSpecialFolderLocation SHGetSpecialFolderLocation is not supported and may be


altered or unavailable in the future. Instead, use
SHGetFolderLocation.

SHGetSpecialFolderPathA SHGetSpecialFolderPath is not supported. Instead, use


ShGetFolderPath.

SHGetSpecialFolderPathW SHGetSpecialFolderPath is not supported. Instead, use


ShGetFolderPath.

SHGetStockIconInfo Retrieves information about system-defined Shell icons.

SHGetTemporaryPropertyForItem Retrieves the temporary property for the given item. A


temporary property is a read/write store that holds
properties only for the lifetime of the IShellItem object, rather
than being persisted back into the item.

SHGetThreadRef Retrieves the per-thread object reference set by


SHSetThreadRef.

SHGetUnreadMailCountW Retrieves a specified user's unread message count for any or


all email accounts.

SHGetValueA Retrieves a registry value.

SHGetValueW Retrieves a registry value.

SHGetViewStatePropertyBag SHGetViewStatePropertyBag may be altered or unavailable.

SHGlobalCounterDecrement Decrements a global counter.

SHGlobalCounterGetValue Gets the current value of a global counter.

SHGlobalCounterIncrement Increments a global counter.

SHHandleUpdateImage SHHandleUpdateImage may be altered or unavailable.

SHILCreateFromPath SHILCreateFromPath may be altered or unavailable.

SHInvokePrinterCommandA Executes a command on a printer object.

SHInvokePrinterCommandW Executes a command on a printer object.


T IT L E DESC RIP T IO N

SHIsFileAvailableOffline Determines whether a file or folder is available for offline use.


This function also determines whether the file would be
opened from the network, from the local Offline Files cache,
or from both locations.

SHIsLowMemoryMachine Not supported.

SHLimitInputEdit Sets limits on valid characters for an edit control.

SHLoadIndirectString Extracts a specified text resource when given that resource in


the form of an indirect string (a string that begins with the
'@' symbol).

SHLoadInProc Creates an instance of the specified object class from within


the context of the Shell's process. Windows Vista and
later:_This function has been disabled and returns
E_NOTIMPL.

SHLoadLibraryFromItem Creates and loads an IShellLibrary object from a specified


library definition file.

SHLoadLibraryFromKnownFolder Creates and loads an IShellLibrary object for a specified


known folder ID.

SHLoadLibraryFromParsingName Creates and loads an IShellLibrary object for a specified path.

SHLoadNonloadedIconOverlayIdentifiers Signals the Shell that during the next operation requiring
overlay information, it should load icon overlay identifiers
that either failed creation or were not present for creation at
startup. Identifiers that have already been loaded are not
affected.

SHLoadOLE Deprecated. Provided for backward compatibility.

SHLocalStrDupA Makes a copy of a string in newly allocated memory.

SHLocalStrDupW Makes a copy of a string in newly allocated memory.

SHLockShared SHLockShared may be altered or unavailable.

SHMapPIDLToSystemImageListIndex SHMapPIDLToSystemImageListIndex may be altered or


unavailable.

SHMessageBoxCheckA SHMessageBoxCheck may be altered or unavailable.

SHMessageBoxCheckW SHMessageBoxCheck may be altered or unavailable.

SHMultiFileProperties Displays a merged property sheet for a set of files. Property


values common to all the files are shown while those that
differ display the string (multiple values).

SHObjectProperties SHObjectProperties may be altered or unavailable.


T IT L E DESC RIP T IO N

SHOpenFolderAndSelectItems Opens a Windows Explorer window with specified items in a


particular folder selected.

SHOpenPropSheetA SHOpenPropSheet may be altered or unavailable.

SHOpenPropSheetW SHOpenPropSheet may be altered or unavailable.

SHOpenRegStream2A Opens a registry value and supplies a stream that can be


used to read from or write to the value. This function
supersedes SHOpenRegStream.

SHOpenRegStream2W Opens a registry value and supplies a stream that can be


used to read from or write to the value. This function
supersedes SHOpenRegStream.

SHOpenRegStreamA Deprecated.

SHOpenRegStreamW Deprecated.

SHOpenWithDialog Displays the Open With dialog box.

ShortAdd Adds two values of type SHORT.

ShortMult Multiplies two values of type SHORT.

ShortSub Subtracts one value of type SHORT from another.

ShortToChar Converts a value of type SHORT to a value of CHAR.

ShortToDWordPtr Converts a value of type SHORT to a value of type


DWORD_PTR.

ShortToInt8 Converts a value of type SHORT to a value of type INT8.

ShortToUChar Converts a value of type SHORT to a value of UCHAR.

ShortToUInt Converts a value of type SHORT to a value of type UINT.

ShortToUInt8 Converts a value of type SHORT to a value of type UINT8.

ShortToUIntPtr Converts a value of type SHORT to a value of type UINT_PTR.

ShortToULong Converts a value of type SHORT to a value of type ULONG.

ShortToULongLong Converts a value of type SHORT to a value of type


ULONGLONG.

ShortToULongPtr Converts a value of type SHORT to a value of type


ULONG_PTR.

ShortToUShort Converts a value of type SHORT to a value of type USHORT.


T IT L E DESC RIP T IO N

ShouldShow Specifies whether an individual item should be allowed


through the filter and which should be blocked.

Show Displays the user information in a balloon-style tooltip.

Show Displays a file.

Show Displays a file.

Show Notifies the drag-image manager to show or hide the drag


image.

Show Launches the modal window.

Show Displays the notification.

ShowContactCardForWindow Displays the UI for a contact on the specified window.

ShowControlWindow Deprecated. Shows or hides various frame controls.

ShowDeskBand Shows a specified deskband.

ShowDW Instructs the docking window object to show or hide itself.

ShowError Called by the synchronization manager in a registered


application handler when a user double-clicks an associated
message in the error tab.

ShowErrorCompleted Called by the registered application's handler before or after


its PrepareForSync operation has been completed.

Showing Called before the input pane is shown, to allow the app
window to make any necessary adjustments to its UI in
response to the reduced screen space available to it.

ShowInitialize Allows a file viewer to determine whether it can display a file.

ShowInitialize Allows a file viewer to determine whether it can display a file.

ShowProperties Called by the synchronization manager when a user selects


an item in the choice dialog box, and then clicks the
Properties button.

ShowPropertiesCompleted Called by the registered application's handler before or after


its ShowProperties operation is completed.

ShowResolveConflictUIAsync IFileSyncMergeHandler::ShowResolveConflictUIAsync method

ShowShareUIForWindow Displays the UI for sharing content for the specified window.
T IT L E DESC RIP T IO N

ShowSharingWizard Displays a wizard that allows a user to create a Home Group,


and then retrieves the sharing options that the user selected
through the wizard.

SHParseDisplayName Translates a Shell namespace object's display name into an


item identifier list and returns the attributes of the object.
This function is the preferred method to convert a string to a
pointer to an item identifier list (PIDL).

SHPathPrepareForWriteA Checks to see if the path exists.

SHPathPrepareForWriteW Checks to see if the path exists.

SHQueryInfoKeyA Retrieves information about a specified registry key.

SHQueryInfoKeyW Retrieves information about a specified registry key.

SHQueryRecycleBinA Retrieves the size of the Recycle Bin and the number of items
in it, for a specified drive.

SHQueryRecycleBinW Retrieves the size of the Recycle Bin and the number of items
in it, for a specified drive.

SHQueryUserNotificationState Checks the state of the computer for the current user to
determine whether sending a notification is appropriate.

SHQueryValueExA Opens a registry key and queries it for a specific value.

SHQueryValueExW Opens a registry key and queries it for a specific value.

SHRegCloseUSKey Closes a handle to a user-specific registry subkey in a user-


specific subtree (HKEY_CURRENT_USER or
HKEY_LOCAL_MACHINE).

SHRegCreateUSKeyA Creates or opens a registry subkey in a user-specific subtree


(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).

SHRegCreateUSKeyW Creates or opens a registry subkey in a user-specific subtree


(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).

SHRegDeleteEmptyUSKeyA Deletes an empty registry subkey in a user-specific subtree


(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).

SHRegDeleteEmptyUSKeyW Deletes an empty registry subkey in a user-specific subtree


(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).

SHRegDeleteUSValueA Deletes a registry subkey value in a user-specific subtree


(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).

SHRegDeleteUSValueW Deletes a registry subkey value in a user-specific subtree


(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).

SHRegDuplicateHKey Duplicates a registry key's HKEY handle.


T IT L E DESC RIP T IO N

SHRegEnumUSKeyA Enumerates the subkeys of a registry subkey in a user-


specific subtree (HKEY_CURRENT_USER or
HKEY_LOCAL_MACHINE).

SHRegEnumUSKeyW Enumerates the subkeys of a registry subkey in a user-


specific subtree (HKEY_CURRENT_USER or
HKEY_LOCAL_MACHINE).

SHRegEnumUSValueA Enumerates the values of the specified registry subkey in a


user-specific subtree (HKEY_CURRENT_USER or
HKEY_LOCAL_MACHINE).

SHRegEnumUSValueW Enumerates the values of the specified registry subkey in a


user-specific subtree (HKEY_CURRENT_USER or
HKEY_LOCAL_MACHINE).

SHRegGetBoolUSValueA Retrieves a Boolean value from a registry subkey in a user-


specific subtree (HKEY_CURRENT_USER or
HKEY_LOCAL_MACHINE).

SHRegGetBoolUSValueW Retrieves a Boolean value from a registry subkey in a user-


specific subtree (HKEY_CURRENT_USER or
HKEY_LOCAL_MACHINE).

SHRegGetBoolValueFromHKCUHKLM Evaluates a registry key value and returns a boolean value


that reflects whether the value exists and the expected state
matches the actual state.

SHRegGetIntW Reads a numeric string value from the registry and converts
it to an integer.

SHRegGetPathA Retrieves a file path from the registry, expanding environment


variables as needed.

SHRegGetPathW Retrieves a file path from the registry, expanding environment


variables as needed.

SHRegGetUSValueA Retrieves a value from a registry subkey in a user-specific


subtree (HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).

SHRegGetUSValueW Retrieves a value from a registry subkey in a user-specific


subtree (HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).

SHRegGetValueA Retrieves a registry value.

SHRegGetValueFromHKCUHKLM Obtains specified information from the registry.

SHRegGetValueW Retrieves a registry value.

SHRegOpenUSKeyA Opens a registry subkey in a user-specific subtree


(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).

SHRegOpenUSKeyW Opens a registry subkey in a user-specific subtree


(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).
T IT L E DESC RIP T IO N

SHRegQueryInfoUSKeyA Retrieves information about a specified registry subkey in a


user-specific subtree (HKEY_CURRENT_USER or
HKEY_LOCAL_MACHINE).

SHRegQueryInfoUSKeyW Retrieves information about a specified registry subkey in a


user-specific subtree (HKEY_CURRENT_USER or
HKEY_LOCAL_MACHINE).

SHRegQueryUSValueA Retrieves the type and data for a specified name associated
with an open registry subkey in a user-specific subtree
(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).

SHRegQueryUSValueW Retrieves the type and data for a specified name associated
with an open registry subkey in a user-specific subtree
(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).

SHRegSetPathA Takes a file path, replaces folder names with environment


strings, and places the resulting string in the registry.

SHRegSetPathW Takes a file path, replaces folder names with environment


strings, and places the resulting string in the registry.

SHRegSetUSValueA Sets a registry subkey value in a user-specific subtree


(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).

SHRegSetUSValueW Sets a registry subkey value in a user-specific subtree


(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).

SHRegSetValue Not supported.

SHRegWriteUSValueA Writes a value to a registry subkey in a user-specific subtree


(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).

SHRegWriteUSValueW Writes a value to a registry subkey in a user-specific subtree


(HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE).

SHReleaseThreadRef Releases a thread reference before the thread procedure


returns.

SHRemoveFolderPathFromLibrary Removes a folder from a library.

SHRemoveLocalizedName Removes the localized name of a file in a Shell folder.

SHReplaceFromPropSheetExtArray Requests each property sheet in a property sheet extension


array to replace pages. Each page is allowed up to one
replacement.

SHResolveFolderPathInLibrary Attempts to resolve the target location of a library folder that


has been moved or renamed.

SHResolveLibrary Resolves all locations in a library, even those locations that


have been moved or renamed.

SHRestricted SHRestricted may be altered or unavailable.


T IT L E DESC RIP T IO N

SHRunControlPanel Opens a Control Panel item.

SHSaveLibraryInFolderPath Saves an IShellLibrary object to disk.

SHSendMessageBroadcastA Sends a message to all top-level windows in the system.

SHSendMessageBroadcastW Sends a message to all top-level windows in the system.

SHSetDefaultProperties Applies the default set of properties on a Shell item.

SHSetFolderPathA Deprecated. Assigns a new path to a system folder identified


by its CSIDL.

SHSetFolderPathW Deprecated. Assigns a new path to a system folder identified


by its CSIDL.

SHSetInstanceExplorer Provides an interface that allows hosted Shell extensions and


other components to prevent their host process from closing
prematurely.

SHSetKnownFolderPath Redirects a known folder to a new location.

SHSetLocalizedName Sets the localized name of a file in a Shell folder.

SHSetTemporaryPropertyForItem Sets a temporary property for the specified item. A


temporary property is kept in a read/write store that holds
properties only for the lifetime of the IShellItem object,
instead of writing them back into the item.

SHSetThreadRef Stores a per-thread reference to a Component Object Model


(COM) object. This allows the caller to control the thread's
lifetime so that it can ensure that Windows won't shut down
the thread before the caller is ready.

SHSetUnreadMailCountW Stores the current user's unread message count for a


specified email account in the registry.

SHSetValueA Sets the value of a registry key.

SHSetValueW Sets the value of a registry key.

SHShellFolderView_Message SHShellFolderView_Message may be altered or unavailable.

SHShowManageLibraryUI Shows the library management dialog box, which enables


users to manage the library folders and default save location.

SHSimpleIDListFromPath Deprecated. Returns a pointer to an ITEMIDLIST structure


when passed a path.

SHSkipJunction Checks a bind context to see if it is safe to bind to a particular


component object.

SHStartNetConnectionDialogA SHStartNetConnectionDialog may be altered or unavailable.


T IT L E DESC RIP T IO N

SHStartNetConnectionDialogW SHStartNetConnectionDialog may be altered or unavailable.

SHStrDupA Makes a copy of a string in newly allocated memory.

SHStrDupW Makes a copy of a string in newly allocated memory.

SHStripMneumonicA Removes the mnemonic marker from a string.

SHStripMneumonicW Removes the mnemonic marker from a string.

SHTestTokenMembership Uses CheckTokenMembership to test whether the given


token is a member of the local group with the specified RID.

SHUnicodeToAnsi Converts a string from the Unicode code page to the ANSI
code page.

SHUnicodeToUnicode Copies a Unicode string.

SHUnlockShared SHUnlockShared may be altered or unavailable.

SHUpdateImageA Notifies the Shell that an image in the system image list has
changed.

SHUpdateImageW Notifies the Shell that an image in the system image list has
changed.

SHValidateUNC SHValidateUNC may be altered or unavailable.

SignalFileOpen SignalFileOpen may be altered or unavailable.

SizeTAdd Adds two values of type size_t.

SizeTMult Multiplies one value of type size_t by another.

SizeTSub Subtracts one value of type size_t from another.

Skip Not currently implemented.

Skip Skip a specified number of objects.

Skip Skips a specified number of IDLIST_ABSOLUTE items.

Skip Skips the specified number of elements in the enumeration


sequence.

Skip Skips a specified number of objects.

Skip Skips a specified number of resources.

Skip Skips a given number of IShellItem interfaces in the


enumeration. Used when retrieving interfaces.
T IT L E DESC RIP T IO N

Skip Skips forward the specified number of conflicts in the


enumeration.

Skip Skips forward the specified number of events in the


enumeration.

Skip Skips forward in the enumeration the specified number of


items.

Skip Instructs the enumerator to skip the next celt elements in the
enumeration so that the next call to
ISyncMgrEnumItems::Next does not return those elements.

SoftwareUpdateMessageBox Displays a standard message box that can be used to notify a


user that an application has been updated.

SSIZETAdd Adds two SSIZE_T values together.

SSIZETMult Multiplies one SSIZE_T value by another.

SSIZETSub Subtracts one SSIZE_T value from another.

StartHandlerSync Initiates the synchronization of all items managed by a


particular handler.

StartItemSync Initiates the synchronization of specified items managed by a


particular handler.

StartOperation Called by a drop target to indicate that asynchronous data


extraction is starting.

StartOperations Performs caller-implemented actions before any specific file


operations are performed.

StartProgressDialog Starts the progress dialog box.

StartProgressDialog Starts the specified progress dialog.

StartServicing Suspends and terminates the non-background portion of the


apps associated with the specified package and cancels the
background tasks associated with the package.

StartSessionRedirection Causes background tasks for the specified package to


activate in the specified user session.

StartSyncAll Synchronizes all items managed by all handlers.

StartVisualGroup Declares a visual group in the dialog. Subsequent calls to any


"add" method add those elements to this group.

Status Sets the release status and background thread timeout for
the current task.
T IT L E DESC RIP T IO N

StgMakeUniqueName Creates a unique name for a stream or storage object from a


template.

Stop Stops a progress dialog.

StopHandlerSync Stops the synchronization of a specified handler.

StopItemSync Stops the synchronization of specified items managed by a


particular handler.

StopProgressDialog Stops the progress dialog box and removes it from the
screen.

StopProgressDialog Stops current progress dialog.

StopServicing Completes the previous servicing operation that was started


by a call to the StartServicing method.

StopSessionRedirection Stops redirection of background tasks for the specified


package.

StopSharingPrinters Stops sharing all local, shared printers connected to a


computer.

StopSyncAll Stops the synchronization of all items managed by all


handlers.

StopWatchFlush StopWatchFlush may be altered or unavailable.

StopWatchMode StopWatchMode may be altered or unavailable.

StrCatBuffA Copies and appends characters from one string to the end of
another.

StrCatBuffW Copies and appends characters from one string to the end of
another.

StrCatChainW Concatenates two Unicode strings. Used when repeated


concatenations to the same buffer are required.

StrCatW Appends one string to another.

StrChrA Searches a string for the first occurrence of a character that


matches the specified character. The comparison is case-
sensitive.

StrChrIA Searches a string for the first occurrence of a character that


matches the specified character. The comparison is not case-
sensitive.

StrChrIW Searches a string for the first occurrence of a character that


matches the specified character. The comparison is not case-
sensitive.
T IT L E DESC RIP T IO N

StrChrNIW Searches a string for the first occurrence of a specified


character. The comparison is not case-sensitive.

StrChrNW Searches a string for the first occurrence of a specified


character. The comparison is case-sensitive.

StrChrW Searches a string for the first occurrence of a character that


matches the specified character. The comparison is case-
sensitive.

StrCmpCA Compares strings using C run-time (ASCII) collation rules. The


comparison is case-sensitive.

StrCmpCW Compares strings using C run-time (ASCII) collation rules. The


comparison is case-sensitive.

StrCmpICA Compares two strings using C run-time (ASCII) collation


rules. The comparison is not case-sensitive.

StrCmpICW Compares two strings using C run-time (ASCII) collation


rules. The comparison is not case-sensitive.

StrCmpIW Compares two strings to determine if they are the same. The
comparison is not case-sensitive.

StrCmpLogicalW Compares two Unicode strings. Digits in the strings are


considered as numerical content rather than text. This test is
not case-sensitive.

StrCmpNA Compares a specified number of characters from the


beginning of two strings to determine if they are the same.
The comparison is case-sensitive. The StrNCmp macro differs
from this function in name only.

StrCmpNCA Compares a specified number of characters from the


beginning of two strings using C run-time (ASCII) collation
rules. The comparison is case-sensitive.

StrCmpNCW Compares a specified number of characters from the


beginning of two strings using C run-time (ASCII) collation
rules. The comparison is case-sensitive.

StrCmpNIA Compares a specified number of characters from the


beginning of two strings to determine if they are the same.
The comparison is not case-sensitive. The StrNCmpI macro
differs from this function in name only.

StrCmpNICA Compares a specified number of characters from the


beginning of two strings using C run-time (ASCII) collation
rules. The comparison is not case-sensitive.

StrCmpNICW Compares a specified number of characters from the


beginning of two strings using C run-time (ASCII) collation
rules. The comparison is not case-sensitive.
T IT L E DESC RIP T IO N

StrCmpNIW Compares a specified number of characters from the


beginning of two strings to determine if they are the same.
The comparison is not case-sensitive. The StrNCmpI macro
differs from this function in name only.

StrCmpNW Compares a specified number of characters from the


beginning of two strings to determine if they are the same.
The comparison is case-sensitive. The StrNCmp macro differs
from this function in name only.

StrCmpW Compares two strings to determine if they are the same. The
comparison is case-sensitive.

StrCpyNW Copies a specified number of characters from the beginning


of one string to another.Note Do not use this function or the
StrNCpy macro.

StrCpyW Copies one string to another.

StrCSpnA Searches a string for the first occurrence of any of a group of


characters. The search method is case-sensitive, and the
terminating NULL character is included within the search
pattern match.

StrCSpnIA Searches a string for the first occurrence of any of a group of


characters. The search method is not case-sensitive, and the
terminating NULL character is included within the search
pattern match.

StrCSpnIW Searches a string for the first occurrence of any of a group of


characters. The search method is not case-sensitive, and the
terminating NULL character is included within the search
pattern match.

StrCSpnW Searches a string for the first occurrence of any of a group of


characters. The search method is case-sensitive, and the
terminating NULL character is included within the search
pattern match.

StrDupA Duplicates a string.

StrDupW Duplicates a string.

StrFormatByteSize64A Converts a numeric value into a string that represents the


number expressed as a size value in bytes, kilobytes,
megabytes, or gigabytes, depending on the size.

StrFormatByteSizeA Converts a numeric value into a string that represents the


number expressed as a size value in bytes, kilobytes,
megabytes, or gigabytes, depending on the size. Differs from
StrFormatByteSizeW in one parameter type.

StrFormatByteSizeEx Converts a numeric value into a string that represents the


number in bytes, kilobytes, megabytes, or gigabytes,
depending on the size.
T IT L E DESC RIP T IO N

StrFormatByteSizeW Converts a numeric value into a string that represents the


number expressed as a size value in bytes, kilobytes,
megabytes, or gigabytes, depending on the size. Differs from
StrFormatByteSizeA in one parameter type.

StrFormatKBSizeA Converts a numeric value into a string that represents the


number expressed as a size value in kilobytes.

StrFormatKBSizeW Converts a numeric value into a string that represents the


number expressed as a size value in kilobytes.

StrFromTimeIntervalA Converts a time interval, specified in milliseconds, to a string.

StrFromTimeIntervalW Converts a time interval, specified in milliseconds, to a string.

StrIsIntlEqualA Compares a specified number of characters from the


beginning of two strings to determine if they are equal.

StrIsIntlEqualW Compares a specified number of characters from the


beginning of two strings to determine if they are equal.

StrNCatA Appends a specified number of characters from the beginning


of one string to the end of another.

StrNCatW Appends a specified number of characters from the beginning


of one string to the end of another.

StrPBrkA Searches a string for the first occurrence of a character


contained in a specified buffer. This search does not include
the terminating null character.

StrPBrkW Searches a string for the first occurrence of a character


contained in a specified buffer. This search does not include
the terminating null character.

StrRChrA Searches a string for the last occurrence of a specified


character. The comparison is case-sensitive.

StrRChrIA Searches a string for the last occurrence of a specified


character. The comparison is not case-sensitive.

StrRChrIW Searches a string for the last occurrence of a specified


character. The comparison is not case-sensitive.

StrRChrW Searches a string for the last occurrence of a specified


character. The comparison is case-sensitive.

StrRetToBSTR Accepts a STRRET structure returned by


IShellFolder::GetDisplayNameOf that contains or points to a
string, and returns that string as a BSTR.

StrRetToBufA Converts an STRRET structure returned by


IShellFolder::GetDisplayNameOf to a string, and places the
result in a buffer.
T IT L E DESC RIP T IO N

StrRetToBufW Converts an STRRET structure returned by


IShellFolder::GetDisplayNameOf to a string, and places the
result in a buffer.

StrRetToStrA Takes an STRRET structure returned by


IShellFolder::GetDisplayNameOf and returns a pointer to an
allocated string containing the display name.

StrRetToStrW Takes an STRRET structure returned by


IShellFolder::GetDisplayNameOf and returns a pointer to an
allocated string containing the display name.

StrRStrIA Searches for the last occurrence of a specified substring


within a string. The comparison is not case-sensitive.

StrRStrIW Searches for the last occurrence of a specified substring


within a string. The comparison is not case-sensitive.

StrSpnA Obtains the length of a substring within a string that consists


entirely of characters contained in a specified buffer.

StrSpnW Obtains the length of a substring within a string that consists


entirely of characters contained in a specified buffer.

StrStrA Finds the first occurrence of a substring within a string. The


comparison is case-sensitive.

StrStrIA Finds the first occurrence of a substring within a string. The


comparison is not case-sensitive.

StrStrIW Finds the first occurrence of a substring within a string. The


comparison is not case-sensitive.

StrStrNIW Finds the first occurrence of a substring within a string. The


comparison is case-insensitive.

StrStrNW Finds the first occurrence of a substring within a string. The


comparison is case-sensitive.

StrStrW Finds the first occurrence of a substring within a string. The


comparison is case-sensitive.

StrToInt64ExA Converts a string representing a decimal or hexadecimal


value to a 64-bit integer.

StrToInt64ExW Converts a string representing a decimal or hexadecimal


value to a 64-bit integer.

StrToIntA Converts a string that represents a decimal value to an


integer. The StrToLong macro is identical to this function.

StrToIntExA Converts a string representing a decimal or hexadecimal


number to an integer.
T IT L E DESC RIP T IO N

StrToIntExW Converts a string representing a decimal or hexadecimal


number to an integer.

StrToIntW Converts a string that represents a decimal value to an


integer. The StrToLong macro is identical to this function.

StrTrimA Removes specified leading and trailing characters from a


string.

StrTrimW Removes specified leading and trailing characters from a


string.

SUBCLASSPROC Defines the prototype for the callback function used by


RemoveWindowSubclass and SetWindowSubclass.

SubStreamFailure Called when there is a failure that involves secondary streams


and user interaction is needed.

SupportsResource Retrieves whether an item supports a specified resource.

SupportsSelection Determines whether an invoker supports its selection.

Suspend Suspends the processes of the package if they are currently


running.

Suspend Requests that a task be suspended.

Synchronize Initiates a synchronization of a selection of the handler's sync


items.

Synchronize Called by the synchronization manager once for each selected


group after the user has chosen the registered applications to
be synchronized.

SynchronizeCompleted Called by an application when its Synchronize method is


complete.

TerminateAllProcesses Terminates all processes for the specified package.

ThumbBarAddButtons Adds a thumbnail toolbar with a specified set of buttons to


the thumbnail image of a window in a taskbar button flyout.

ThumbBarSetImageList Specifies an image list that contains button images for a


toolbar embedded in a thumbnail image of a window in a
taskbar button flyout.

ThumbBarUpdateButtons Shows, enables, disables, or hides buttons in a thumbnail


toolbar as required by the window's current state. A
thumbnail toolbar is a toolbar embedded in a thumbnail
image of a window in a taskbar button flyout.

Timer Resets the progress dialog box timer to zero.


T IT L E DESC RIP T IO N

TranscodeImage Converts an image to JPEG or bitmap (BMP) image format.

Translate Called by the browser when the browser cannot determine


the protocol of a URL address.

TranslateAccelerator Directs the preview handler to handle a keystroke passed up


from the message pump of the process in which the preview
handler is running.

TranslateAccelerator Directs the host to handle an keyboard shortcut passed from


the preview handler.

TranslateAccelerator Translates keyboard shortcut (accelerator) key strokes when a


namespace extension's view has the focus.

TranslateAcceleratorGlobal Handles global accelerators so that input objects can respond


to the keyboard even when they are not active in the UI.

TranslateAcceleratorIO Enables the object to process keyboard accelerators.

TranslateAcceleratorSB Translates accelerator keystrokes intended for the browser's


frame while the view is active.

TranslateMenuMessage Translates a message for a Component Object Model (COM)


object.

TranslateURLA Applies common translations to a given URL string, creating a


new URL string.

TranslateURLW Applies common translations to a given URL string, creating a


new URL string.

TranslateWithSearchContext Called by the browser when the browser cannot determine


the protocol of a URL address. This method uses a search
context to determine the protocol.

Travel Deprecated. Navigates to a travel entry in the travel log


relative to the position of the current entry.

TreeAdvise Enables a client to register with the control.

TreeUnadvise Enables a client to unregister with the control.

TriggerEdgeGesture Sends a spoofed edge gesture event to the proxy core


window on the caller's thread. This gesture toggles the app's
app bar, if the app supports one. The caller can specify the
type of input that triggered the edge gesture.

UIActivate Called when the activation state of the view window is


changed by an event that is not caused by the Shell view
itself. For example, if the TAB key is pressed when the tree has
the focus, the view should be given the focus.

UIActivateIO UI-activates or deactivates the object.


T IT L E DESC RIP T IO N

UInt8Add Adds two values of type UINT8.

UInt8Mult Multiplies two values of type UINT8.

UInt8Sub Subtracts one value of type UINT8 from another.

UInt8ToChar Converts a value of type UINT8 to a value of type CHAR.

UInt8ToInt8 Converts a value of type UINT8 to a value of type INT8.

UIntAdd Adds two values of type UINT.

UIntMult Multiplies one value of type UINT by another.

UIntPtrAdd Adds two values of type UINT_PTR.

UIntPtrMult Multiplies one value of type UINT_PTR by another.

UIntPtrSub Subtracts one value of type UINT_PTR from another.

UIntPtrToChar Converts a value of type UINT_PTR to a value of type CHAR.

UIntPtrToInt Converts a value of type SIZE_T to a value of type INT.

UIntPtrToInt16 Converts a value of type UINT_PTR to a value of type INT16.

UIntPtrToInt8 Converts a value of type UINT_PTR to a value of type INT8.

UIntPtrToIntPtr Converts a value of type UINT_PTR to a value of type


INT_PTR.

UIntPtrToLong Converts a value of type size_t to a value of type LONG.

UIntPtrToLongLong Converts a value of type UINT_PTR to a value of type


LONGLONG.

UIntPtrToLongPtr Converts a value of type UINT_PTR to a value of type


LONG_PTR.

UIntPtrToShort Converts a value of type UINT_PTR to a value of type SHORT.

UIntPtrToUChar Converts a value of type UINT_PTR to a value of type


UCHAR.

UIntPtrToUInt Converts a value of type UINT_PTR to a value of type UINT.

UIntPtrToUInt16 Converts a value of type UINT_PTR to a value of type


UINT16.

UIntPtrToUInt8 Converts a value of type UINT_PTR to a value of type UINT8.


T IT L E DESC RIP T IO N

UIntPtrToULong Converts a value of type UINT_PTR to a value of type


ULONG.

UIntPtrToUShort Converts a value of type UINT_PTR to a value of type


USHORT.

UIntSub Subtracts one value of type UINT from another.

UIntToChar Converts a value of type UINT to a value of type CHAR.

UIntToInt Converts a value of type UINT to a value of type INT.

UIntToInt8 Converts a value of type UINT to a value of type INT8.

UIntToIntPtr Converts a value of type UINT to a value of type INT_PTR.

UIntToLong Converts a value of type UINT to a value of type LONG.

UIntToLongPtr Converts a value of type UINT to a value of type LONG_PTR.

UIntToShort Converts a value of type UINT to a value of type SHORT.

UIntToUChar Converts a value of type UINT to a value of type UCHAR.

UIntToUInt8 Converts a value of type UINT to a value of type UINT8.

UIntToUShort Converts a value of type UINT to a value of type USHORT.

ULongAdd Adds two values of type ULONG.

ULongLongAdd Adds two values of type SIZE_T.

ULongLongMult Multiplies one value of type size_t by another.

ULongLongSub Subtracts one value of type SIZE_T from another.

ULongLongToChar Converts a value of type ULONGLONG to a value of type


CHAR.

ULongLongToInt Converts a value of type ULONGLONG to a value of type INT.

ULongLongToInt8 Converts a value of type ULONGLONG to a value of type


INT8.

ULongLongToLong Converts a value of type ULONGLONG to a value of type


LONG.

ULongLongToLongLong Converts a value of type ULONGLONG to a value of type


INT_PTR.
T IT L E DESC RIP T IO N

ULongLongToLongPtr Converts a value of type ULONGLONG to a value of type


LONG_PTR.

ULongLongToShort Converts a value of type ULONGLONG to a value of type


SHORT.

ULongLongToUChar Converts a value of type ULONGLONG to a value of type


UCHAR.

ULongLongToUInt Converts a value of type ULONGLONG to a value of type


UINT.

ULongLongToUInt8 Converts a value of type ULONGLONG to a value of type


UINT8.

ULongLongToUIntPtr Converts a value of type ULONGLONG to a value of type


UINT_PTR.

ULongLongToULong Converts a value of type ULONGLONG to a value of type


ULONG.

ULongLongToULongPtr Converts a value of type ULONGLONG to a value of type


ULONG_PTR.

ULongLongToUShort Converts a value of type ULONGLONG to a value of type


USHORT.

ULongMult Multiplies one value of type ULONG by another.

ULongPtrAdd Adds two values of type ULONG_PTR.

ULongPtrMult Multiplies one value of type ULONG_PTR by another.

ULongPtrSub Subtracts one value of type ULONG_PTR from another.

ULongPtrToChar Converts a value of type ULONG_PTR to a value of type


CHAR.

ULongPtrToInt Converts a value of type size_t to a value of type INT.

ULongPtrToInt8 Converts a value of type ULONG_PTR to a value of type INT8.

ULongPtrToIntPtr Converts a value of type ULONG_PTR to a value of type


INT_PTR.

ULongPtrToLong Converts a value of type ULONG_PTR to a value of type


LONG.

ULongPtrToLongLong Converts a value of type SIZE_T to a value of type INT64.

ULongPtrToLongPtr Converts a value of type ULONG_PTR to a value of type


LONG_PTR.
T IT L E DESC RIP T IO N

ULongPtrToShort Converts a value of type ULONG_PTR to a value of type


SHORT.

ULongPtrToUChar Converts a value of type ULONG_PTR to a value of type


UCHAR.

ULongPtrToUInt Converts a value of type ULONG_PTR to a value of type UINT.

ULongPtrToUInt8 Converts a value of type ULONG_PTR to a value of type


UINT8.

ULongPtrToUIntPtr Converts a value of type ULONG_PTR to a value of type


UINT_PTR.

ULongPtrToULong Converts a value of type ULONG_PTR to a value of type


ULONG.

ULongPtrToUShort Converts a value of type ULONG_PTR to a value of type


USHORT.

ULongSub Subtracts one value of type ULONG from another.

ULongToChar Converts a value of type ULONG to a value of type CHAR.

ULongToInt Converts a value of type ULONG to a value of type INT.

ULongToInt8 Converts a value of type ULONG to a value of type INT8.

ULongToIntPtr Converts a value of type ULONG to a value of type INT_PTR.

ULongToLong Converts a value of type ULONG to a value of type LONG.

ULongToLongPtr Converts a value of type ULONG to a value of type


LONG_PTR.

ULongToShort Converts a value of type ULONG to a value of type SHORT.

ULongToUChar Converts a value of type ULONG to a value of type UCHAR.

ULongToUInt Converts a value of type ULONG to a value of type UINT.

ULongToUInt8 Converts a value of type ULONG to a value of type UINT8.

ULongToUIntPtr Converts a value of type ULONG to a value of type


UINT_PTR.

ULongToUShort Converts a value of type ULONG to a value of type USHORT.

Unadvise Cancels a connection that was previously established by


using Advise.

Unadvise Terminates an advisory connection.


T IT L E DESC RIP T IO N

Unadvise Removes an event handler that was attached through the


IFileDialog::Advise method.

Unadvise Terminates an advisory connection previously established


through IFileOperation::Advise.

Unadvise Unregisters an app's input pane handler object so that it no


longer receives notifications.

Unadvise Terminates an advisory connection.

Unadvise Terminates an advisory connection.

UnAdvise Used by the Logon UI or Credential UI to advise the


credential provider that event callbacks are no longer
accepted.

UnAdvise Used by the Logon UI or Credential UI to advise the


credential that event callbacks are no longer accepted.

UngroupChildFromParent ISuspensionDependencyManager::UngroupChildFromParent
method

Unload Directs the preview handler to cease rendering a preview and


to release all resources that have been allocated based on the
item passed in during the initialization.

UnloadUserProfile Unloads a user's profile that was loaded by the


LoadUserProfile function. The caller must have administrative
privileges on the computer. For more information, see the
Remarks section of the LoadUserProfile function.

UnregisterAppStateChangeNotification Cancels a change notification registered through


RegisterAppStateChangeNotification.

UnregisterFolder Remove a known folder from the registry, which makes it


unknown to the known folder system. This method does not
remove the folder itself.

UnregisterForPackageStateChanges Stops receiving package state-change notifications associated


with a previous call to RegisterForPackageStateChanges.

UnregisterScaleChangeEvent Unregisters for the scale change event registered through


RegisterScaleChangeEvent. This function replaces
RevokeScaleChangeNotifications.

UnregisterSyncMgrHandler Removes a handler's class identifier (CLSID) from the


registration. A handler should call this when it no longer has
any items to synchronize.

UnregisterTab Removes a thumbnail from an application's preview group


when that tab or document is closed in the application.
T IT L E DESC RIP T IO N

Unschedule Cancels the installation of an application published by an


application publisher.

Update Ensures that any cached information in this item is updated.

Update Updates the provided child ITEMIDLIST based on the


parameters specified by the provided IBindCtx.

Update Deprecated. Updates the travel entry.

UpdateAll Programmatically starts an update for all items.

UpdateBackForwardState Deprecated. Updates the state of the browser's Back and


Forward buttons.

UpdateConflicts Informs Sync Center that conflicts have been added for a
specific handler or item.

UpdateEntry Deprecated. Saves the browser state of the current entry in


preparation for a pending navigation.

UpdateEvents Informs Sync Center that events have been added for a
specific handler or item.

UpdateExternal Deprecated. Updates an entry that originated out of the


current procedure through IHlinkFrame.

UpdateHandler Instructs Sync Center to reenumerate the items managed by


a handler or informs it that properties of the handler have
changed.

UpdateHandlerCollection Instructs Sync Center to reenumerate the handler collection,


or informs it that properties of a handler in the handler
collection have changed.

UpdateItem Informs Sync Center that properties of a sync item have


changed.

UpdateItems Programmatically starts an update for specified items.

UpdateLocations Called to specify the text elements stating the source and
target in the current progress dialog.

UpdateObject UpdateObject may be altered or unavailable.

UpdateProgress Updates the progress of an action to the UI.

UpdateProgress Provides an estimate of the total amount of work currently


done in relation to the total amount of work.

UpdateProgress Updates the current progress dialog, as specified.

UpdateProgress Updates the transfer progress status in the UI.


T IT L E DESC RIP T IO N

UpdateRemoteCredential Updates a credential from a remote session.

UpdateSecureLockIcon Deprecated. Updates the value of the _eSecureLockIcon


member of the BASEBROWSERDATA structure, which tracks
the icon indicating a secure site, as well as updating the icon
itself in the UI.

UpdateText Called if descriptive text associated with the action will be


changed.

UpdateTransferState Updates the transfer state.

UpdateWindowList Deprecated. Instructs the browser to update the pointer to


an item identifier list (PIDL) in the window list. This method is
called after navigation.

UrlApplySchemeA Determines a scheme for a specified URL string, and returns a


string with an appropriate prefix.

UrlApplySchemeW Determines a scheme for a specified URL string, and returns a


string with an appropriate prefix.

URLAssociationDialogA Invokes the unregistered URL protocol dialog box.

URLAssociationDialogW Invokes the unregistered URL protocol dialog box.

UrlCanonicalizeA Converts a URL string into canonical form.

UrlCanonicalizeW Converts a URL string into canonical form.

UrlCombineA When provided with a relative URL and its base, returns a
URL in canonical form.

UrlCombineW When provided with a relative URL and its base, returns a
URL in canonical form.

UrlCompareA Makes a case-sensitive comparison of two URL strings.

UrlCompareW Makes a case-sensitive comparison of two URL strings.

UrlCreateFromPathA Converts a Microsoft MS-DOS path to a canonicalized URL.

UrlCreateFromPathW Converts a Microsoft MS-DOS path to a canonicalized URL.

UrlEscapeA Converts characters or surrogate pairs in a URL that might


be altered during transport across the Internet ("unsafe"
characters) into their corresponding escape sequences.

UrlEscapeSpaces A macro that converts space characters into their


corresponding escape sequence.
T IT L E DESC RIP T IO N

UrlEscapeW Converts characters or surrogate pairs in a URL that might


be altered during transport across the Internet ("unsafe"
characters) into their corresponding escape sequences.

UrlFixupW UrlFixupW may be altered or unavailable.

UrlGetLocationA Retrieves the location from a URL.

UrlGetLocationW Retrieves the location from a URL.

UrlGetPartA Accepts a URL string and returns a specified part of that URL.

UrlGetPartW Accepts a URL string and returns a specified part of that URL.

UrlHashA Hashes a URL string.

UrlHashW Hashes a URL string.

UrlIsA Tests whether a URL is a specified type.

UrlIsFileUrlA Tests a URL to determine if it is a file URL.

UrlIsFileUrlW Tests a URL to determine if it is a file URL.

UrlIsNoHistoryA Returns whether a URL is a URL that browsers typically do


not include in navigation history.

UrlIsNoHistoryW Returns whether a URL is a URL that browsers typically do


not include in navigation history.

UrlIsOpaqueA Returns whether a URL is opaque.

UrlIsOpaqueW Returns whether a URL is opaque.

UrlIsW Tests whether a URL is a specified type.

UrlUnescapeA Converts escape sequences back into ordinary characters.

UrlUnescapeInPlace Converts escape sequences back into ordinary characters and


overwrites the original string.

UrlUnescapeW Converts escape sequences back into ordinary characters.

UShortAdd Adds two values of type USHORT.

UShortMult Multiplies one value of type USHORT by another.

UShortSub Subtracts one value of type USHORT from another.

UShortToChar Converts a value of type USHORT to a value of type CHAR.


T IT L E DESC RIP T IO N

UShortToInt8 Converts a value of type USHORT to a value of type INT8.

UShortToShort Converts a value of type USHORT to a value of type SHORT.

UShortToUChar Converts a value of type USHORT to a value of type UCHAR.

UShortToUInt8 Converts a value of type USHORT to a value of type UINT8.

v_CheckZoneCrossing Deprecated. Called by the base class to validate a zone


crossing when navigating from one page to another.

v_GetViewStream Deprecated. Returns a stream used to load or save the view


state.

v_MayGetNextToolbarFocus Deprecated. Used when translating accelerators through


TranslateAcceleratorSB and in checking the cycle of focus
between the view and the browser's toolbars.

v_MayTranslateAccelerator Deprecated. Called by a derived class to instruct the base


class to proceed with the translation of keyboard mnemonics.

v_ShowHideChildWindows Deprecated. Allows a derived class to update its child


windows after a sizing event.

Walk Initiates a recursive walk of the namespace from the specified


root to the given depth.

WalkComplete Removes data collected during a namespace walk.

WhichPlatform WhichPlatform may be altered or unavailable.

Win32DeleteFile Win32DeleteFile may be altered or unavailable.

WinHelpA Launches Windows Help (Winhelp.exe) and passes additional


data that indicates the nature of the help requested by the
application.

WinHelpW Launches Windows Help (Winhelp.exe) and passes additional


data that indicates the nature of the help requested by the
application.

WndProcBS Deprecated. Allows a derived class to call the WinProc


function of the base class.

wnsprintfA Takes a variable-length argument list and returns the values


of the arguments as a printf-style formatted string.

wnsprintfW Takes a variable-length argument list and returns the values


of the arguments as a printf-style formatted string.

WriteAsync Writes information to a stream asynchronously. For example,


the Shell implements this method on file items when
transferring them asynchronously.
T IT L E DESC RIP T IO N

WriteCabinetState WriteCabinetState may be altered or unavailable.

WritePropertyNPB Saves a property to the named property bag.

wvnsprintfA Takes a list of arguments and returns the values of the


arguments as a printf-style formatted string.

wvnsprintfW Takes a list of arguments and returns the values of the


arguments as a printf-style formatted string.

YouAreAReplica Notifies an object that it may be subject to subsequent


reconciliation through the Reconcile method.

Interfaces
T IT L E DESC RIP T IO N

IAccessibleObject Exposes a method that can be used by an accessibility


application.

IACList Exposes a method that improves the efficiency of


autocompletion when the candidate strings are organized in
a hierarchy.

IACList2 Extends the IACList interface to enable clients of an


autocomplete object to retrieve and set option flags.

IActionProgress Represents the abstract base class from which progress-


driven operations can inherit.

IActionProgressDialog Exposes methods that initialize and stop a progress dialog.

IApplicationActivationManager Provides methods which activate Windows Store apps for the
Launch, File, and Protocol extensions. You will normally use
this interface in debuggers and design tools.

IApplicationAssociationRegistration Exposes methods that query and set default applications for
specific file Association Type, and protocols at a specific
Association Level.

IApplicationAssociationRegistrationUI Exposes a method that launches an advanced association


dialog box through which the user can customize their
associations.

IApplicationDesignModeSettings Enables development tool applications to dynamically spoof


system and user states, such as native display resolution,
device scale factor, and application view state, for the purpose
of testing Windows Store apps running in design mode for a
wide range of form factors without the need for the actual
hardware. Also enables testing of changes in normally user-
controlled state to test Windows Store apps under a variety
of scenarios.
T IT L E DESC RIP T IO N

IApplicationDesignModeSettings2 Enables development tool applications to dynamically control


system and user states, such as native display resolution,
device scale factor, and application view layout, reported to
Windows Store apps for the purpose of testing Windows
Store apps running in design mode for a wide range of form
factors without the need for the actual hardware. Also
enables testing of changes in normally user-controlled state
to test Windows Store apps under a variety of scenarios.

IApplicationDestinations Exposes methods that allow an application to remove one or


all destinations from the Recent or Frequent categories in a
Jump List.

IApplicationDocumentLists Exposes methods that allow an application to retrieve the


contents of the Recent or Frequent categories in a Jump List.

IAppPublisher Exposes methods for publishing applications through


Add/Remove Programs in Control Panel. This is the principal
interface implemented for this purpose.

IAppVisibility Provides functionality to determine whether the display is


showing Windows Store apps.

IAppVisibilityEvents Enables applications to receive notifications of state changes


in a display and of changes in Start screen visibility.

IAssocHandler Exposes methods for operations with a file association dialog


box or menu.

IAssocHandlerInvoker Exposes methods that invoke an associated application


handler.

IAttachmentExecute Exposes methods that work with client applications to


present a user environment that provides safe download and
exchange of files through email and messaging attachments.

IAutoComplete Exposed by the autocomplete object (CLSID_AutoComplete).


This interface allows applications to initialize, enable, and
disable the object.

IAutoComplete2 Extends IAutoComplete. This interface enables clients of the


autocomplete object to retrieve and set a number of options
that control how autocompletion operates.

IAutoCompleteDropDown Exposes methods that allow clients to reset or query the


display state of the autocomplete drop-down list, which
contains possible completions to a string entered by the user
in an edit control.

IBandHost Exposes methods that create and destroy bands and specifiy
their availability.

IBandSite Exposes methods that control band objects.


T IT L E DESC RIP T IO N

IBrowserFrameOptions Allows a browser or host to ask IShellView what kind of view


behavior is supported.

IBrowserService Deprecated.

IBrowserService2 Deprecated.

IBrowserService3 Deprecated.

IBrowserService4 Deprecated.

ICategorizer Exposes methods that are used to obtain information about


item identifier lists.

ICategoryProvider Exposes a list of categorizers registered on an IShellFolder.

ICDBurn Exposes methods that determine whether a system has


hardware for writing to CD, the drive letter of a CD writer
device, and programmatically initiate a CD writing session.

ICDBurnExt ICDBurnExt may be altered or unavailable.

IColumnManager Exposes methods that enable inspection and manipulation of


columns in the Windows Explorer Details view. Each column is
referenced by a PROPERTYKEY structure, which names a
property.

IColumnProvider Exposes methods that enable the addition of custom columns


in the Windows Explorer Details view.

ICommDlgBrowser Exposed by the common file dialog boxes to be used when


they host a Shell browser.

ICommDlgBrowser2 Extends the capabilities of ICommDlgBrowser. This interface is


exposed by the common file dialog boxes when they host a
Shell browser. A pointer to ICommDlgBrowser2 can be
obtained by calling QueryInterface on the IShellBrowser
object.

ICommDlgBrowser3 Extends the capabilities of ICommDlgBrowser2, and used by


the common file dialog boxes when they host a Shell browser.

IComputerInfoChangeNotify Not supported. This interface may be absent in later versions


of Windows.

IConnectableCredentialProviderCredential Exposes methods for connecting and disconnecting


IConnectableCredentialProviderCredential objects.

IContactManagerInterop Enables access to ContactManager methods in an app that


manages multiple windows.

IContextMenu Exposes methods that either create or merge a shortcut


menu associated with a Shell object.
T IT L E DESC RIP T IO N

IContextMenu2 Exposes methods that either create or merge a shortcut


(context) menu associated with a Shell object. Extends
IContextMenu by adding a method that allows client objects
to handle messages associated with owner-drawn menu
items.

IContextMenu3 Exposes methods that either create or merge a shortcut


menu associated with a Shell object. Allows client objects to
handle messages associated with owner-drawn menu items
and extends IContextMenu2 by accepting a return value from
that message handling.

IContextMenuCB Exposes a method that enables the callback of a context


menu. For example, to add a shield icon to a menuItem that
requires elevation.

IContextMenuSite Implemented by the default folder view created using


SHCreateShellFolderView.

ICopyHookA Exposes a method that creates a copy hook handler.

ICopyHookW Exposes a method that creates a copy hook handler.

ICreateObject Exposes a method that creates an object of a specified class.

ICreateProcessInputs Used by the ICreatingProcess interface to alter some


parameters of the process that is being created.

ICreatingProcess Used by ShellExecuteEx and IContextMenu to allow the caller


to alter some parameters of the process being created.

ICredentialProvider Exposes methods used in the setup and manipulation of a


credential provider. All credential providers must implement
this interface.

ICredentialProviderCredential Exposes methods that enable the handling of a credential.

ICredentialProviderCredential2 Extends the ICredentialProviderCredential interface by adding


a method that retrieves the security identifier (SID) of a user.
The credential is associated with that user and can be
grouped under the user's tile.

ICredentialProviderCredentialEvents Provides an asynchronous callback mechanism used by a


credential to notify it of state or text change events in the
Logon UI or Credential UI.

ICredentialProviderCredentialEvents2 Extends the ICredentialProviderCredentialEvents interface by


adding methods that enable batch updating of fields in
theLogon UI or Credential UI.

ICredentialProviderCredentialWithFieldOptions Provides a method that enables the credential provider


framework to determine whether you've made a
customization to a field's option in a logon or credential UI.
T IT L E DESC RIP T IO N

ICredentialProviderEvents Provides an asynchronous callback mechanism used by a


credential provider to notify it of changes in the list of
credentials or their fields.

ICredentialProviderFilter Used to dynamically filter credential providers based on


information available at runtime.

ICredentialProviderSetUserArray Provides a method that enables a credential provider to


receive the set of users that will be shown in the logon or
credential UI.

ICredentialProviderUser Provides methods used to retrieve certain properties of an


individual user included in a logon or credential UI.

ICredentialProviderUserArray Represents the set of users that will appear in the logon or
credential UI. This information enables the credential provider
to enumerate the set to retrieve property information about
each user to populate fields or filter the set.

ICurrentItem Obtained by calling IShellFolder::BindToObject for an item. If


the item represents a snapshot of an item at a previous time,
this interface will obtain the current version of the item.

ICurrentWorkingDirectory Exposes methods that enable a client to retrieve or set an


object's current working directory.

ICustomDestinationList Exposes methods that allow an application to provide a


custom Jump List, including destinations and tasks, for
display in the taskbar.

IDataObjectAsyncCapability Enables interfaces that are usually synchronous to function


asynchronously.

IDataObjectProvider Provides methods that enable you to set or retrieve a


DataPackage object's IDataObject interface, which the
DataPackage uses to support interoperability. The
DataPackage object is used by an app to provide data to
another app.

IDataTransferManagerInterop Enables access to DataTransferManager methods in a


Windows Store app that manages multiple windows.

IDefaultExtractIconInit Exposes methods to set default icons associated with an


object.

IDefaultFolderMenuInitialize Provides methods used to get and set shortcut menu


information. This information is the same as that provided to
SHCreateDefaultContextMenu through the
DEFCONTEXTMENU structure.

IDefViewFrame Used only for its IUnknown functionality. It has no methods


of its own.

IDelayedPropertyStoreFactory Exposes a method to create a specified IPropertyStore object


in circumstances where property access is potentially slow.
T IT L E DESC RIP T IO N

IDelegateFolder Exposes a method through which a delegate folder is given


the IMalloc interface required to allocate and free item IDs.

IDelegateItem Used to obtain the immediately underlying representation of


an item's path.

IDeskBand Used to obtain information about a band object.

IDeskBand2 Exposes methods to enable and query translucency effects in


a deskband object.

IDeskBandInfo Exposes a method for getting the default Desk Band


bandwidth.

IDeskBar Exposes methods that enable desk bar manipulation.

IDesktopGadget Exposes a method that allows the programmatic addition of


an installed gadget to the user's desktop.

IDesktopWallpaper .

IDestinationStreamFactory Exposes a method for manually copying a stream or file


before applying changes to properties.

IDisplayItem Exposes methods that find a version of the current item to be


used to get display properties, such as the item name, that
will be displayed in the UI.

IDockingWindow Exposes methods that notify the docking window object of


changes, including showing, hiding, and impending removal.
This interface is implemented by window objects that can be
docked within the border space of a Windows Explorer
window.

IDockingWindowFrame Exposes methods that support the addition of


IDockingWindow objects to a frame. Implemented by the
browser.

IDockingWindowSite Exposes methods that manage the border space for one or
more IDockingWindow objects. This interface is implemented
by the browser and is similar to the IOleInPlaceUIWindow
interface.

IDocViewSite Used as a site object by the IShellView interface.

IDragSourceHelper Exposed by the Shell to allow an application to specify the


image that will be displayed during a Shell drag-and-drop
operation.

IDragSourceHelper2 Exposes a method that adds functionality to


IDragSourceHelper. This method sets the characteristics of a
drag-and-drop operation over an IDragSourceHelper object.
T IT L E DESC RIP T IO N

IDropTargetHelper Exposes methods that allow drop targets to display a drag


image while the image is over the target window.

IDynamicHWHandler Called by AutoPlay. Exposes methods that get dynamic


information regarding a registered handler prior to displaying
it to the user.

IEnumAssocHandlers Exposes a method that allows enumeration of a collection of


handlers associated with particular file name extensions.

IEnumerableView Exposes methods that enumerate the contents of a view and


receive notification from callback upon enumeration
completion. This interface enables clients of a view to attempt
to share the view's list of folder contents.

IEnumExplorerCommand Provided by an IExplorerCommandProvider. This interface


contains the enumeration of commands to be put into the
command bar.

IEnumExtraSearch A standard OLE enumerator used by a client to determine


the available search objects for a folder.

IEnumFullIDList Exposes a standard set of methods that enumerate the


pointers to item identifier lists (PIDLs) of the items in a Shell
folder.

IEnumIDList Exposes a standard set of methods used to enumerate the


pointers to item identifier lists (PIDLs) of the items in a Shell
folder.

IEnumObjects Exposes methods to enumerate unknown objects.

IEnumPublishedApps Exposes methods that enumerate published applications to


Add/Remove Programs in the Control Panel. The object
exposing this interface is requested through
IAppPublisher::EnumApps.

IEnumReadyCallback Exposes methods that enable the view to notify the


implementer when the enumeration has completed.

IEnumResources Exposes resource enumeration methods.

IEnumShellItems Exposes enumeration of IShellItem interfaces. This interface is


typically obtained by calling the IEnumShellItems method.

IEnumSyncMgrConflict Exposes conflict enumeration methods.

IEnumSyncMgrEvents Exposes sync event enumeration methods.

IEnumSyncMgrSyncItems Exposes methods that enumerate the sync item objects


managed by the handler.
T IT L E DESC RIP T IO N

IExecuteCommand Exposes methods that set a given state or parameter related


to the command verb, as well as a method to invoke that
verb.

IExecuteCommandApplicationHostEnvironment Provides a single method that enables an application to


determine whether its host is in desktop or immersive mode.

IExecuteCommandHost Provides a method that enables an IExplorerCommand-based


Shell verb handler to query the UI mode of the host
component from which the application was invoked.

IExpDispSupport Deprecated. Exposes methods that allow the retrieval of


properties, translation of keyboard accelerators, and
determination of a connection point for certain events.

IExpDispSupportXP Deprecated. Exposes methods that allow the retrieval of


properties, translation of keyboard accelerators, and
determination of a connection point for certain events.

IExplorerBrowser IExplorerBrowser is a browser object that can be either


navigated or that can host a view of a data object. As a full-
featured browser object, it also supports an automatic travel
log.

IExplorerBrowserEvents Exposes methods for notification of Explorer browser


navigation and view creation events.

IExplorerCommand Exposes methods that get the command appearance,


enumerate subcommands, or invoke the command.

IExplorerCommandProvider Exposes methods to create Explorer commands and


command enumerators.

IExplorerCommandState Exposes a single method that allows retrieval of the


command state.

IExplorerPaneVisibility Used in Windows Explorer by an IShellFolder implementation


to give suggestions to the view about what panes are visible.

IExtractIconA Exposes methods that allow a client to retrieve the icon that
is associated with one of the objects in a folder.

IExtractIconW Exposes methods that allow a client to retrieve the icon that
is associated with one of the objects in a folder.

IExtractImage Exposes methods that request a thumbnail image from a


Shell folder.

IExtractImage2 Extends the capabilities of IExtractImage.

IFileDialog Exposes methods that initialize, show, and get results from
the common file dialog.
T IT L E DESC RIP T IO N

IFileDialog2 Extends the IFileDialog interface by providing methods that


allow the caller to name a specific, restricted location that can
be browsed in the common file dialog as well as to specify
alternate text to display as a label on the Cancel button.

IFileDialogControlEvents Exposes methods that allow an application to be notified of


events that are related to controls that the application has
added to a common file dialog.

IFileDialogCustomize Exposes methods that allow an application to add controls to


a common file dialog.

IFileDialogEvents Exposes methods that allow notification of events within a


common file dialog.

IFileIsInUse Exposes methods that can be called to get information on or


close a file that is in use by another application.

IFileOpenDialog Extends the IFileDialog interface by adding methods specific


to the open dialog.

IFileOperation Exposes methods to copy, move, rename, create, and delete


Shell items as well as methods to provide progress and error
dialogs. This interface replaces the SHFileOperation function.

IFileOperationProgressSink Exposes methods that provide a rich notification system used


by callers of IFileOperation to monitor the details of the
operations they are performing through that interface.

IFileSaveDialog Extends the IFileDialog interface by adding methods specific


to the save dialog, which include those that provide support
for the collection of metadata to be persisted with the file.

IFileSyncMergeHandler .

IFileSystemBindData Exposes methods that store file system information for


optimizing calls to IShellFolder::ParseDisplayName.

IFileSystemBindData2 Extends IFileSystemBindData, which stores file system


information for optimizing calls to
IShellFolder::ParseDisplayName. This interface adds the ability
set or get file ID or junction class identifier (CLSID).

IFileViewerA Exposes methods that designate an interface that allows a


registered file viewer to be notified when it must show or
print a file.

IFileViewerSite Exposes methods that designate an interface that allows a file


viewer to retrieve the handle to the current pinned window,
or to set a new pinned window.

IFileViewerW Exposes methods that designate an interface that allows a


registered file viewer to be notified when it must show or
print a file.
T IT L E DESC RIP T IO N

IFolderBandPriv IFolderBandPriv is available for use in the operating systems


specified in the Requirements section. It may be altered or
unavailable in subsequent versions.

IFolderFilter Exposed by a client to specify how to filter the enumeration


of a Shell folder by a server application.

IFolderFilterSite Exported by a host to allow clients to specify how to filter a


Shell folder enumeration.

IFolderView Exposes methods that retrieve information about a folder's


display options, select specified items in that folder, and set
the folder's view mode.

IFolderView2 Exposes methods that retrieve information about a folder's


display options, select specified items in that folder, and set
the folder's view mode.

IFolderViewHost Exposes a method that hosts an IFolderView object in a


window.

IFolderViewOptions Exposes methods that allow control of folder view options


specific to the Windows 7 and later views.

IFolderViewSettings Exposes methods to obtain folder view settings.

IFrameworkInputPane Provides methods that enable apps to be informed of state


changes and location for the input pane.

IFrameworkInputPaneHandler Enables an app to be notified when the input pane (the on-
screen keyboard or handwriting panel) is being shown or
hidden. This allows the app window to adjust its display so
that no input areas (such as a text box) are obscured by the
input pane.

IHandlerActivationHost .

IHandlerInfo Supplies methods that provide information about the handler


to methods of the IHandlerActivationHost interface.

IHomeGroup Exposes methods that determine a computer's HomeGroup


membership status and display the sharing wizard.

IHWEventHandler Called by AutoPlay to implement the handling of registered


media types.

IHWEventHandler2 Extends the IHWEventHandler interface to address User


Account Control (UAC) elevation for device handlers.

IIdentityName Exposes methods to compare two items to see if they are the
same.

IImageRecompress Exposes a method that recompress images.


T IT L E DESC RIP T IO N

IInitializeCommand Exposes a single method used to initialize objects that


implement IExplorerCommandState, IExecuteCommand or
IDropTarget with the application-specified command name
and its registered properties.

IInitializeWithBindCtx Exposes a method that initializes a handler, such as a


property handler, thumbnail handler, or preview handler, with
a bind context.

IInitializeWithFile Exposes a method to initialize a handler, such as a property


handler, thumbnail handler, or preview handler, with a file
path.

IInitializeWithItem Exposes a method used to initialize a handler, such as a


property handler, thumbnail handler, or preview handler, with
an IShellItem.

IInitializeWithPropertyStore Exposes a method that initializes a handler, such as a


property handler, thumbnail handler, or preview handler, with
a property store.

IInitializeWithStream Exposes a method that initializes a handler, such as a


property handler, thumbnail handler, or preview handler, with
a stream.

IInitializeWithWindow Exposes a method through which a client can provide an


owner window to a Windows Runtime object used in a
desktop application.

IInputObject Exposes methods that change UI activation and process


accelerators for a user input object contained in the Shell.

IInputObject2 Exposes a method that extends IInputObject by handling


global accelerators.

IInputObjectSite Exposes a method that is used to communicate focus


changes for a user input object contained in the Shell.

IInputPanelConfiguration Provides functionality for desktop apps to opt in to the focus


tracking mechanism used in Windows Store apps.

IInputPanelInvocationConfiguration Enables Windows Store apps to opt out of the automatic


invocation behavior.

IInsertItem IInsertItem may be altered or unavailable.

IIOCancelInformation Exposes methods for posting a cancel window message to


the process thread from the Progress Dialog.

IItemNameLimits Retrieves a list of valid and invalid characters or the maximum


length of a name in the namespace. Use this interface for
validation parsing and translation.
T IT L E DESC RIP T IO N

IKnownFolder Exposes methods that allow an application to retrieve


information about a known folder's category, type, GUID,
pointer to an item identifier list (PIDL) value, redirection
capabilities, and definition.

IKnownFolderManager Exposes methods that create, enumerate or manage existing


known folders.

ILaunchSourceAppUserModelId Provides a method for retrieving an AppUserModelId.

ILaunchSourceViewSizePreference Provides methods for retrieving information about the source


application.

ILaunchTargetMonitor .

ILaunchTargetViewSizePreference Provides a method for retrieving the preferred view size for a
new application window.

IMenuBand Exposes methods that allow a Component Object Model


(COM) object to receive and translate appropriate messages.

IMenuPopup IMenuPopup may be altered or unavailable.

IModalWindow Exposes a method that represents a modal window. This


interface is used in the Windows XP Passport Wizard.

INamedPropertyBag Exposes methods that provide an object with a specified


property bag in which the object can save its properties.

INamedPropertyStore Exposes methods that get and set named properties.

INameSpaceTreeAccessible Exposes methods that perform accessibility actions on a Shell


item from a namespace tree control.

INameSpaceTreeControl Exposes methods used to view and manipulate nodes in a


tree of Shell items.

INameSpaceTreeControl2 Extends the INameSpaceTreeControl interface by providing


methods that get and set the display styles of treeview
controls for use with Shell namespace items.

INameSpaceTreeControlCustomDraw Exposes methods that enable the user to draw a custom


namespace tree control and its items.

INameSpaceTreeControlDropHandler Exposes handler methods for drag-and-drop.

INameSpaceTreeControlEvents Exposes methods for handling INameSpaceTreeControl


events.

INameSpaceTreeControlFolderCapabilities Exposes a single method that retrieves the status of a folder's


System.IsPinnedToNameSpaceTree filtering support.
T IT L E DESC RIP T IO N

INamespaceWalk Exposes methods that walk a namespace from a given root


node. The depth of the walk is specified and an optional array
is returned containing the IDs of all nodes walked.

INamespaceWalkCB A callback interface exposing methods used with


INamespaceWalk.

INamespaceWalkCB2 Extends INamespaceWalkCB with a method that is required in


order to complete a namespace walk. This method removes
data collected during the walk.

INewMenuClient Exposes methods that allow manipulation of items in a


Windows 7 menu.

INewShortcutHookA Exposes methods to create a new Internet shortcut.

INewShortcutHookW Exposes methods to create a new Internet shortcut.

INewWindowManager Exposes a method that determines whether a window that is


launched by another window should be displayed or blocked,
allowing control of pop-up windows.

INotifyReplica Exposes a method that provides an object's creator with the


means to notify the object that it may be subject to
subsequent reconciliation. The briefcase reconciler is
responsible for implementing this interface.

IObjectArray Exposes methods that enable clients to access items in a


collection of objects that support IUnknown.

IObjectCollection Extends the IObjectArray interface by providing methods that


enable clients to add and remove objects that support
IUnknown in a collection.

IObjectProvider Exposes a method to discover objects that are named with a


GUID from another object. Unlike QueryService this interface
will not delegate its functionality on to other objects.

IObjectWithAppUserModelID Exposes methods that allow implementers of a custom


IAssocHandler object to provide access to its explicit
Application User Model ID (AppUserModelID).

IObjectWithBackReferences Provides a method for interacting with back references held


by an object.

IObjectWithCancelEvent Not supported.Supplies a caller with an event that will be


signaled by the called object to denote cancellation of a task.

IObjectWithFolderEnumMode Exposes methods that get and set enumeration modes of a


parsed item.

IObjectWithProgID Exposes methods that provide access to the ProgID


associated with an object.
T IT L E DESC RIP T IO N

IObjectWithPropertyKey Exposes methods for getting and setting the property key.

IObjectWithSelection Exposes methods that get or set selected items represented


by a Shell item array.

IObjMgr Exposes methods that allow a client to append or remove an


object from a collection of objects managed by a server
object.

IOpenControlPanel Exposes methods that retrieve the view state of the Control
Panel, the path of individual Control Panel items, and that
open either the Control Panel itself or an individual Control
Panel item.

IOpenSearchSource Exposes a method to get search results from a custom client-


side OpenSearch data source.

IOperationsProgressDialog Exposes methods to get, set, and query a progress dialog.

IPackageDebugSettings Enables debugger developers to control the life cycle of a


Windows Store app, such as suspending or resuming.

IPackageExecutionStateChangeNotification Enables receiving package state-change notifications during


Windows Store app debugging.

IParentAndItem Exposes methods that get and set the parent and the
parent's child ID. While IParentAndItem is typically
implemented on IShellItems, it is not specific to IShellItem.

IParseAndCreateItem IParseAndCreateItem interface

IPersistFolder Exposes a method that initializes Shell folder objects.

IPersistFolder2 Exposes methods that obtain information from Shell folder


objects.

IPersistFolder3 Extends the IPersistFolder and IPersistFolder2 interfaces by


allowing a folder object to implement nondefault handling of
folder shortcuts.

IPersistIDList Exposes methods that are used to persist item identifier lists.

IPersistSerializedPropStorage Exposes methods to persist serialized property storage data


for later use and to restore persisted data to a new property
store instance.

IPersistSerializedPropStorage2 Exposes methods to persist serialized property storage data


for later use and to restore persisted data to a new property
store instance.

IPreviewHandler Exposes methods for the display of rich previews.


T IT L E DESC RIP T IO N

IPreviewHandlerFrame Enables preview handlers to pass keyboard shortcuts to the


host. This interface retrieves a list of keyboard shortcuts and
directs the host to handle a keyboard shortcut.

IPreviewHandlerVisuals Exposes methods for applying color and font information to


preview handlers.

IPreviewItem Identifies an item that will be shown in the preview pane.

IPreviousVersionsInfo Exposes a method that checks for previous versions of server


files or folders, stored for the purpose of reversion by the
shadow copies technology provided with Windows
Server 2003.

IProfferService Exposes a general mechanism for objects to offer services to


other objects on the same host.

IProgressDialog Exposes methods that provide options for an application to


display a progress dialog box.

IPublishedApp Exposes methods that represent applications to Add/Remove


Programs in Control Panel.

IPublishedApp2 Extends the IPublishedApp interface by providing an


additional installation method.

IPublishingWizard Exposes methods for working with the Online Print Wizard,
the Web Publishing Wizard, and the Add Network Place
Wizard. In Windows Vista, IPublishingWizard no longer
supports the Web Publishing Wizard or Online Print Wizard.

IQueryAssociations Exposes methods that simplify the process of retrieving


information stored in the registry in association with defining
a file type or protocol and associating it with an application.

IQueryCancelAutoPlay Exposes a method that programmatically overrides AutoPlay


or AutoRun. This allows you to customize the location and
type of content that is launched when media is inserted.

IQueryCodePage Gets and sets the numeric value (Code Page identifier) of the
ANSI code page.

IQueryContinue Exposes a method that provides a simple, standard


mechanism for objects to query a client for permission to
continue an operation.

IQueryContinueWithStatus Exposes methods that provide a standard mechanism for


credential providers to call QueryContinue while attempting
to connect to the network to determine if they should
continue these attempts.

IQueryInfo Exposes methods that the Shell uses to retrieve flags and info
tip information for an item that resides in an IShellFolder
implementation. Info tips are usually displayed inside a tooltip
control.
T IT L E DESC RIP T IO N

IRegTreeItem Exposes methods that retrieve and set the state of items in a
tree-view control that have the Tree-View Control Window
Styles flag set.

IRelatedItem Exposes methods that derive related items with specific


relationships.

IRemoteComputer Exposes a method that enumerates or initializes a namespace


extension when it is invoked on a remote object. This
interface is used, for example, to initialize the remote printers
virtual folder.

IResolveShellLink Exposes a method that enables an application to request that


a Shell folder object resolve a link for one of its items.

IResultsFolder Exposes methods that hold items from a data object.

IRunnableTask A free-threaded interface that can be exposed by an object to


allow operations to be performed on a background thread.

ISearchBoxInfo Exposes methods that allow the caller to retrieve information


entered into a search box.

ISearchContext Exposes methods that channel customization information to


the search hooks.

ISearchFolderItemFactory Exposes methods that create and modify search folders.

ISharedBitmap Exposes memory-efficient methods for accessing bitmaps.


This interface is used as a thin wrapper around HBITMAP
objects, allowing those objects to be reference counted and
protected from having their underlying data changed.

ISharingConfigurationManager Exposes methods that set and retrieve information about a


computer's default sharing settings for the Users (C:\Users) or
Public (C:\Users\Public) folder. Also exposes a set of methods
that allow control of printer sharing.

IShellApp Exposes methods that provide general information about an


application to the Add/Remove Programs Application.

IShellBrowser Implemented by hosts of Shell views (objects that implement


IShellView). Exposes methods that provide services for the
view it is hosting and other objects that run in the context of
the Explorer window.

IShellChangeNotify Exposes a method that notifies a Shell namespace extension


when the ID of an item has changed.

IShellDetails Exposed by Shell folders to provide detailed information


about the items in a folder.
T IT L E DESC RIP T IO N

IShellExtInit Exposes a method that initializes Shell extensions for property


sheets, shortcut menus, and drag-and-drop handlers
(extensions that add items to shortcut menus during
nondefault drag-and-drop operations).

IShellFolder Exposed by all Shell namespace folder objects, its methods


are used to manage folders.

IShellFolder2 Extends the capabilities of IShellFolder. Its methods provide a


variety of information about the contents of a Shell folder.

IShellFolderBand IShellFolderBand may be altered or unavailable.

IShellFolderView Exposes methods that manipulate Shell folder views.

IShellFolderViewCB Exposes a method that allows communication between


Windows Explorer and a folder view implemented using the
system folder view object (the IShellView object returned
through SHCreateShellFolderView) so that the folder view can
be notified of events and modify its view accordingly.

IShellFolderViewDual Exposes methods that modify the view and select items in the
current folder.

IShellFolderViewDual2 Exposes methods that modify the view and select items in the
current folder.

IShellFolderViewDual3 Exposes methods that modify the current folder view.

IShellIcon Exposes a method that obtains an icon index for an


IShellFolder object.

IShellIconOverlay Exposes methods that are used by a namespace extension to


specify icon overlays for the objects it contains.

IShellIconOverlayIdentifier Exposes methods that handle all communication between


icon overlay handlers and the Shell.

IShellIconOverlayManager IShellIconOverlayManager may be altered or unavailable.

IShellImageData Exposes methods and properties that display, manipulate,


and describe image data.

IShellImageDataAbort Exposes a single method used to abort IShellImageData


processes.

IShellImageDataFactory Exposes methods that create IShellImageData instances


based on various image sources.

IShellImageStore Deprecated. Exposes methods that manipulate the image


cache.
T IT L E DESC RIP T IO N

IShellItem Exposes methods that retrieve information about a Shell item.


IShellItem and IShellItem2 are the preferred representations
of items in any new code.

IShellItem2 Extends IShellItem with methods that retrieve various


property values of the item. IShellItem and IShellItem2 are
the preferred representations of items in any new code.

IShellItemArray Exposes methods that create and manipulate Shell item


arrays.

IShellItemFilter Exposed by a client to specify how to filter the enumeration


of a Shell item by a server application.

IShellItemImageFactory Exposes a method to return either icons or thumbnails for


Shell items. If no thumbnail or icon is available for the
requested item, a per-class icon may be provided from the
Shell.

IShellItemResources Exposes methods to manipulate and query Shell item


resources.

IShellLibrary Exposes methods for creating and managing libraries.

IShellLinkA Exposes methods that create, modify, and resolve Shell links.

IShellLinkDataList Exposes methods that allow an application to attach extra


data blocks to a Shell link. These methods add, copy, or
remove data blocks.

IShellLinkW Exposes methods that create, modify, and resolve Shell links.

IShellMenu Exposes methods that interact with Shell menus such as the
Start menu, and the Favorites menu.

IShellMenuCallback A callback interface that exposes a method that receives


messages from a menu band.

IShellPropSheetExt Exposes methods that allow a property sheet handler to add


or replace pages in the property sheet displayed for a file
object.

IShellRunDll Not supported.

IShellService Deprecated. IShellService Exposes one method that declares


ownership when a service component implementing a certain
interface is shared among multiple clients, such as Windows
Internet Explorer and Windows Explorer.

IShellTaskScheduler IShellTaskScheduler may be altered or unavailable.

IShellView Exposes methods that present a view in the Windows


Explorer or folder windows.
T IT L E DESC RIP T IO N

IShellView2 Extends the capabilities of IShellView.

IShellView3 Extends the capabilities of IShellView2 by providing a method


to replace IShellView2::CreateViewWindow2.

IShellWindows Provides access to the collection of open Shell windows.

IStartMenuPinnedList Exposes a method that unpins an application shortcut from


the Start menu or the taskbar.

IStorageProviderHandler Retrieves the IStorageProviderPropertyHandler associated


with a specific file or folder.

IStorageProviderPropertyHandler Provides a collection of properties associated with a file or


folder.

IStreamAsync Exposes methods to manage input/outpout (I/O) to an


asynchronous stream.

IStreamUnbufferedInfo Exposes a method that determines the sector size as an aid


to byte alignment.

ISuspensionDependencyManager .

ISyncMgrConflict Exposes methods that provide information about a conflict


retrieved from a conflict store, and allows the conflict to be
resolved.

ISyncMgrConflictFolder Exposes a method that gets the conflict ID list for a conflict
object.

ISyncMgrConflictItems Exposes methods that get conflict item data and item count.

ISyncMgrConflictPresenter Exposes a method that presents a conflict to the user.

ISyncMgrConflictResolutionItems Exposes methods that get item info and item count.

ISyncMgrConflictResolveInfo Exposes methods that get and set information about sync
manager conflict resolution.

ISyncMgrConflictStore Exposes methods that allow a handler to provide conflicts


that appear in the Conflicts folder.

ISyncMgrControl Exposes methods that allow an application or handler to start


or stop a synchronization, notify Sync Center of changes to
the set of handlers or items, or notify of changes to property
values.

ISyncMgrEnumItems Exposes methods that enumerate through an array of


SYNCMGRITEM structures.
T IT L E DESC RIP T IO N

ISyncMgrEvent Exposes methods that retrieve data from an event store. An


event store allows Sync Center to get an enumerator of all
events in the store, as well as to retrieve individual events.

ISyncMgrEventLinkUIOperation Provides a method that is called when event links are clicked
in the sync results folder.

ISyncMgrEventStore Exposes methods that allow a handler to provide its own


event store and manage its own sync events, instead of using
the default Sync Center event store. These events are
displayed in the Sync Results folder.

ISyncMgrHandler Exposes methods that make up the primary interface


implemented by a sync handler.

ISyncMgrHandlerCollection Exposes methods that provide an enumerator of sync handler


IDs and instantiate those sync handlers.

ISyncMgrHandlerInfo Exposes methods that allow a handler to provide property


and state information to Sync Center.

ISyncMgrRegister Exposes methods so that an application can register with the


synchronization manager. This can be achieved either through
the ISyncMgrRegister interface or by registering directly in
the registry.

ISyncMgrResolutionHandler Exposes methods that manage synchronizing conflicts.


Implement this interface to construct a sync conflict handler.
The conflict resolution user interface (UI) will call this interface
to resolve the conflict presented to the user.

ISyncMgrScheduleWizardUIOperation Exposes a method that allows a handler to display the sync


schedule wizard for the handler.

ISyncMgrSessionCreator Exposes a single method through which a handler or external


application can notify Sync Center that synchronization has
begun, as well as report progress and events.

ISyncMgrSyncCallback Exposes methods that allow a synchronization process to


report progress and events to Sync Center, or to query
whether the process has been canceled.

ISyncMgrSynchronize Exposes methods that enable the registered application or


service to receive notifications from the synchronization
manager.

ISyncMgrSynchronizeCallback Exposes methods that manage the synchronization process.

ISyncMgrSynchronizeInvoke Exposes methods that enable a registered application to


invoke the synchronization manager to update items.

ISyncMgrSyncItem Exposes methods that act on and retrieve information from a


single sync item, allowing handlers to manage sync items as
independent objects.
T IT L E DESC RIP T IO N

ISyncMgrSyncItemContainer Exposes methods that provide information to handlers about


the items they contain.

ISyncMgrSyncItemInfo Exposes methods that provide property and state


information for a single sync item.

ISyncMgrSyncResult Exposes a method that applications calling ISyncMgrControl


can use to get the result of a
ISyncMgrControl::StartHandlerSync or
ISyncMgrControl::StartItemSync call.

ISyncMgrUIOperation Exposes a method through which a sync handler or sync item


can display a UI object when requested to do so by Sync
Center.

ITaskbarList Exposes methods that control the taskbar. It allows you to


dynamically add, remove, and activate items on the taskbar.

ITaskbarList2 Extends the ITaskbarList interface by exposing a method to


mark a window as a full-screen display.

ITaskbarList3 Extends ITaskbarList2 by exposing methods that support the


unified launching and switching taskbar button functionality
added in Windows 7.

ITaskbarList4 Extends ITaskbarList3 by providing a method that allows the


caller to control two property values for the tab thumbnail
and peek feature.

IThumbnailCache Exposes methods for a system thumbnail cache that is shared


across applications.

IThumbnailCachePrimer .

IThumbnailCapture Exposes a method that obtains a thumbnail representation of


an HTML wallpaper.

IThumbnailHandlerFactory Exposes a method for retrieving the thumbnail handler of an


item. Implement this interface if you want to specify what
extractor is used for a child IDList.

IThumbnailProvider Exposes a method for getting a thumbnail image and is


intended to be implemented for thumbnail handlers. The
object that implements this interface must also implement
IInitializeWithStream.

IThumbnailSettings Provides a method that enables a thumbnail provider to


determine the user context of a thumbnail request.

IThumbnailStreamCache Gets or sets the thumbnail stream. This interface is for


internal use only and can only be called by the photos
application.
T IT L E DESC RIP T IO N

ITrackShellMenu Exposes methods that extend the IShellMenu interface by


providing the ability to coordinate toolbar buttons with a
menu as well as display a pop-up menu.

ITranscodeImage Exposes a method that allows conversion to JPEG or bitmap


(BMP) image formats from any image type supported by
Windows.

ITransferAdviseSink Exposes methods supporting status collection and failure


information.

ITransferDestination Exposes methods that create a destination Shell item for a


copy or move operation. This interface is provided to allow
more control over file operations by providing an
ITransferDestination::Advise method.

ITransferMediumItem Used by a copy engine to get the item on which to call


QueryInterface to return a pointer to interface
ITransferDestination or interface ITransferSource. These
interfaces can be queried and enumerated for copy, move, or
delete operations.

ITransferSource Exposes methods to manipulate IShellItem, including copy,


move, recycle, and others. This interface is offered to provide
more control over file operations by providing an
ITransferSource::Advise method.

ITravelEntry Deprecated. Exposes methods to identify, invoke, and update


an individual item in the browser's travel history.

ITravelLog Deprecated. Exposes methods that maintain and manipulate


a record of travel in the browser.

ITrayDeskBand Exposes methods that show, hide, and query deskbands.

IUpdateIDList Provides a method to update the ITEMIDLIST of the child of


an folder object.

IURLSearchHook Exposes a method that is used by the browser to translate


the address of an unknown URL protocol.

IURLSearchHook2 Exposes a method that is used by the browser to translate


the address of an unknown URL protocol by using a search
context object.

IUserAccountChangeCallback Exposes a method which is called when the picture that


represents a user account is changed.

IUserNotification Exposes methods that set notification information and then


display that notification to the user in a balloon that appears
in conjunction with the notification area of the taskbar.

IUserNotification2 Exposes methods that set notification information and then


display that notification to the user in a balloon that appears
in conjunction with the notification area of the taskbar.
T IT L E DESC RIP T IO N

IUserNotificationCallback Exposes a method for the handling of a mouse click or


shortcut menu access in a notification balloon. Used with
IUserNotification2::Show.

IUseToBrowseItem This interface is not supported. Do not use.

IViewStateIdentityItem Provides a canonical persistence item, an item for which view


customizations will be remembered.

IVirtualDesktopManager Exposes methods that enable an application to interact with


groups of windows that form virtual workspaces.

IVisualProperties Exposes methods that set and get visual properties.

IWebWizardExtension Extends the IWizardExtension interface by exposing methods


to set the wizard extension's initial URL, and a specific URL in
case of an error.

IWizardExtension Used by wizards such as the Web Publishing Wizard and


Online Print Ordering Wizard which host server-side content
pages. This interface exposes methods to specify supported
extension pages and to navigate into and out of those pages.

IWizardSite Exposes methods used by a wizard extension to navigate the


borders between itself and the rest of the wizard.

Structures
T IT L E DESC RIP T IO N

AASHELLMENUFILENAME A variable-size structure that contains information about a


menu file name.

AASHELLMENUITEM Contains information about a menu item.

APPBARDATA Contains information about a system appbar message.

APPCATEGORYINFO Provides application category information to Add/Remove


Programs in Control Panel. The APPCATEGORYINFOLIST
structure is used create a complete list of categories for an
application publisher.

APPCATEGORYINFOLIST Provides a list of supported application categories from an


application publisher to Add/Remove Programs in Control
Panel.

APPINFODATA Provides information about a published application to the


Add/Remove Programs Control Panel utility.

ASSOCIATIONELEMENT Defines information used by AssocCreateForClasses to


retrieve an IQueryAssociations interface for a given file
association.
T IT L E DESC RIP T IO N

AUTO_SCROLL_DATA AUTO_SCROLL_DATA may be altered or unavailable.

BANDINFOSFB Contains information about a folder band. This structure is


used with the IShellFolderBand::GetBandInfoSFB and
IShellFolderBand::SetBandInfoSFB methods.

BANDSITEINFO Contains information about a band site. This structure is used


with the IBandSite::GetBandSiteInfo and
IBandSite::SetBandSiteInfo methods.

BASEBROWSERDATALH Contains protected members of the base class.


BASEBROWSERDATA defines the browser state and is used
with IBrowserService2::GetBaseBrowserData and
IBrowserService2::PutBaseBrowserData.

BASEBROWSERDATAXP Contains protected members of the base class.


BASEBROWSERDATA defines the browser state and is used
with IBrowserService2::GetBaseBrowserData and
IBrowserService2::PutBaseBrowserData.

BROWSEINFOA Contains parameters for the SHBrowseForFolder function and


receives information about the folder selected by the user.

BROWSEINFOW Contains parameters for the SHBrowseForFolder function and


receives information about the folder selected by the user.

CABINETSTATE CABINETSTATE may be altered or unavailable.

CATEGORY_INFO Contains category information. A component category is a


group of logically-related Component Object Model (COM)
classes that share a common category identifier (CATID).

CIDA Used with the CFSTR_SHELLIDLIST clipboard format to


transfer the pointer to an item identifier list (PIDL) of one or
more Shell namespace objects.

CM_COLUMNINFO Defines column information. Used by members of the


IColumnManager interface.

CMINVOKECOMMANDINFO Contains information needed by


IContextMenu::InvokeCommand to invoke a shortcut menu
command.

CMINVOKECOMMANDINFOEX Contains extended information about a shortcut menu


command. This structure is an extended version of
CMINVOKECOMMANDINFO that allows the use of Unicode
values.

COMDLG_FILTERSPEC Used generically to filter elements.

COMPONENT Used by Windows 2000 to hold information about a


component. This structure replaces the IE4COMPONENT
structure.

COMPONENTSOPT Contains the desktop item options.


T IT L E DESC RIP T IO N

COMPPOS Holds information about a component's position and size.

COMPSTATEINFO Used by Windows 2000 to hold information about a


component's state.

CONFIRM_CONFLICT_ITEM Defines conflict item structure.

CONFIRM_CONFLICT_RESULT_INFO Defines conflict result information structure.

CPLINFO Contains resource information and an application-defined


value for a dialog box supported by a Control Panel
application.

CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION Contains details about a credential.

CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR Describes a single field in a credential. For example, a string or


a user image.

CSFV Used with the SHCreateShellFolderViewEx function.

DATABLOCK_HEADER Serves as the header for some of the extra data structures
used by IShellLinkDataList.

DEFCONTEXTMENU Contains context menu information used by


SHCreateDefaultContextMenu.

DELEGATEITEMID Used by delegate folders in place of a standard ITEMIDLIST


structure.

DESKBANDINFO Receives information about a band object. This structure is


used with the deprecated IDeskBand::GetBandInfo method.

DETAILSINFO Contains detail information for a Shell folder item. Used with
the SFVM_GETDETAILSOF notification.

DFMICS Contains additional arguments used by


DFM_INVOKECOMMANDEX.

DLLVERSIONINFO Receives DLL-specific version information.

DLLVERSIONINFO2 Receives DLL-specific version information. It is used with the


DllGetVersion function.

DROPDESCRIPTION Describes the image and accompanying text for a drop


object.

DROPFILES Defines the CF_HDROP clipboard format. The data that


follows is a double null-terminated list of file names.

EXP_DARWIN_LINK Holds an extra data block used by IShellLinkDataList. It holds


the link's Windows Installer ID.
T IT L E DESC RIP T IO N

EXP_PROPERTYSTORAGE Stores information about the Shell link state. This structure is
used for extra data sections that are tagged with
EXP_PROPERTYSTORAGE_SIG.

EXP_SPECIAL_FOLDER Holds an extra data block used by IShellLinkDataList. It holds


special folder information.

EXP_SZ_LINK Holds an extra data block used by IShellLinkDataList. It holds


expandable environment strings for the icon or target.

EXTRASEARCH Used by an IEnumExtraSearch enumerator object to return


information on the search objects supported by a Shell Folder
object.

FILE_ATTRIBUTES_ARRAY Contains the clipboard format definition for


CFSTR_FILE_ATTRIBUTES_ARRAY.

FILEDESCRIPTORA Describes the properties of a file that is being copied by


means of the clipboard during a Microsoft ActiveX drag-and-
drop operation.

FILEDESCRIPTORW Describes the properties of a file that is being copied by


means of the clipboard during a Microsoft ActiveX drag-and-
drop operation.

FILEGROUPDESCRIPTORA Defines the CF_FILEGROUPDESCRIPTOR clipboard format.

FILEGROUPDESCRIPTORW Defines the CF_FILEGROUPDESCRIPTOR clipboard format.

FOLDERSETDATA Deprecated. Data used in


IBrowserService2::GetFolderSetData.

FOLDERSETTINGS Contains folder view information.

FVSHOWINFO Contains information that the file viewer uses to display a file.

HELPINFO Contains information about an item for which context-


sensitive Help has been requested.

HELPWININFOA Contains the size and position of either a primary or


secondary Help window. An application can set this
information by calling the WinHelp function with the
HELP_SETWINPOS value.

HELPWININFOW Contains the size and position of either a primary or


secondary Help window. An application can set this
information by calling the WinHelp function with the
HELP_SETWINPOS value.

IE4COMPONENT Used by Microsoft Internet Explorer 4.0 and Microsoft


Internet Explorer 4.01 to hold information about a
component. With Windows 2000, it is replaced by the
COMPONENT structure.
T IT L E DESC RIP T IO N

ITEMIDLIST Contains a list of item identifiers.

ITEMSPACING Stores the dimensions of the two possible sizes of icon


spacing that are available for display:_small and large. Used
by IShellFolderView::GetItemSpacing.

KNOWNFOLDER_DEFINITION Defines the specifics of a known folder.

LOGFONTA Defines the attributes of a font.

LOGFONTA Defines the attributes of a font.

LOGFONTW Defines the attributes of a font.

LOGFONTW Defines the attributes of a font.

MULTIKEYHELPA Specifies a keyword to search for and the keyword table to be


searched by Windows Help.

MULTIKEYHELPW Specifies a keyword to search for and the keyword table to be


searched by Windows Help.

NC_ADDRESS Contains information that describes a network address.

NEWCPLINFOA Contains resource information and an application-defined


value for a dialog box supported by a Control Panel
application.

NEWCPLINFOW Contains resource information and an application-defined


value for a dialog box supported by a Control Panel
application.

NOTIFYICONDATAA Contains information that the system needs to display


notifications in the notification area. Used by Shell_NotifyIcon.

NOTIFYICONDATAW Contains information that the system needs to display


notifications in the notification area. Used by Shell_NotifyIcon.

NOTIFYICONIDENTIFIER Contains information used by Shell_NotifyIconGetRect to


identify the icon for which to retrieve the bounding rectangle.

NRESARRAY Defines the CF_NETRESOURCE clipboard format.

NSTCCUSTOMDRAW Custom draw structure used by


INameSpaceTreeControlCustomDraw methods.

NT_CONSOLE_PROPS Holds an extra data block used by IShellLinkDataList. It holds


console properties.

NT_FE_CONSOLE_PROPS Holds an extra data block used by IShellLinkDataList. It holds


the console's code page.
T IT L E DESC RIP T IO N

OPEN_PRINTER_PROPS_INFOA Identifies a particular property sheet in a printer's property


pages and whether that property sheet should be modal.
Optionally used with the SHInvokePrinterCommand function.

OPEN_PRINTER_PROPS_INFOW Identifies a particular property sheet in a printer's property


pages and whether that property sheet should be modal.
Optionally used with the SHInvokePrinterCommand function.

OPENASINFO Stores information for the SHOpenWithDialog function.

OVERLAPPED Contains information used in asynchronous (overlapped)


input/output (I/O).

PARSEDURLA Used by the ParseURL function to return the parsed URL.

PARSEDURLW Used by the ParseURL function to return the parsed URL.

PERSIST_FOLDER_TARGET_INFO Specifies a folder shortcut's target folder and its attributes.


This structure is used by IPersistFolder3::GetFolderTargetInfo
and IPersistFolder3::InitializeEx.

PREVIEWHANDLERFRAMEINFO Accelerator table structure. Used by


IPreviewHandlerFrame::GetWindowContext.

PROFILEINFOA Contains information used when loading or unloading a user


profile.

PROFILEINFOW Contains information used when loading or unloading a user


profile.

PUBAPPINFO Provides information about a published application from an


application publisher to Add/Remove Programs in Control
Panel.

QCMINFO Contains information for merging menu items into Windows


Explorer menus.

QITAB Used by the QISearch function to describe a single interface.

SERIALIZEDPROPERTYVALUE A range of memory of arbitrary type that represents a


serialized PROPVARIANT structure.

SFV_CREATE This structure is used with the SHCreateShellFolderView


function.

SFV_SETITEMPOS Stores position information for an item. Used with message


SFVM_SETITEMPOS.

SFVM_HELPTOPIC_DATA Contains the name of an HTML Help file and a topic in that
file. Used with the SFVM_GETHELPTOPIC notification. This
structure requires Unicode strings.

SFVM_PROPPAGE_DATA Contains the details of a page to be added to an object's


Properties sheet.
T IT L E DESC RIP T IO N

SHARDAPPIDINFO Contains data used by SHAddToRecentDocs to identify both


an item—in this case as an IShellItem—and the process that
it is associated with.

SHARDAPPIDINFOIDLIST Contains data used by SHAddToRecentDocs to identify both


an item—in this case by an absolute pointer to an item
identifier list (PIDL)—and the process that it is associated
with.

SHARDAPPIDINFOLINK Contains data used by SHAddToRecentDocs to identify both


an item, in this case through an IShellLink, and the process
that it is associated with.

SHChangeDWORDAsIDList SHChangeDWORDAsIDList may be altered or unavailable.

SHChangeNotifyEntry Contains and receives information for change notifications.


This structure is used with the SHChangeNotifyRegister
function and the SFVM_QUERYFSNOTIFY notification.

SHChangeProductKeyAsIDList SHChangeProductKeyAsIDList structure

SHChangeUpdateImageIDList SHChangeUpdateImageIDList may be altered or unavailable.

SHCOLUMNDATA Contains information that identifies a particular file. It is used


by IColumnProvider::GetItemData when requesting data for a
particular file.

SHCOLUMNINFO Contains information about the properties of a column. It is


used by IColumnProvider::GetColumnInfo.

SHCOLUMNINIT Passes initialization information to IColumnProvider::Initialize.

SHCREATEPROCESSINFOW Contains the information needed by


SHCreateProcessAsUserW to create a process.

SHDESCRIPTIONID Receives item data in response to a call to


SHGetDataFromIDList.

SHDRAGIMAGE Contains the information needed to create a drag image.

SHELL_ITEM_RESOURCE Defines Shell item resource.

SHELLDETAILS Reports detailed information on an item in a Shell folder.

SHELLEXECUTEINFOA Contains information used by ShellExecuteEx.

SHELLEXECUTEINFOW Contains information used by ShellExecuteEx.

SHELLFLAGSTATE Contains a set of flags that indicate the current Shell settings.
This structure is used with the SHGetSettings function.

SHELLSTATEA Contains settings for the Shell's state. This structure is used
with the SHGetSetSettings function.
T IT L E DESC RIP T IO N

SHELLSTATEW Contains settings for the Shell's state. This structure is used
with the SHGetSetSettings function.

SHFILEINFOA Contains information about a file object.

SHFILEINFOW Contains information about a file object.

SHFILEOPSTRUCTA Contains information that the SHFileOperation function uses


to perform file operations.

SHFILEOPSTRUCTW Contains information that the SHFileOperation function uses


to perform file operations.

SHFOLDERCUSTOMSETTINGS Holds custom folder settings. This structure is used with the
SHGetSetFolderCustomSettings function.

SHITEMID Defines an item identifier.

SHNAMEMAPPINGA Contains the old and new path names for each file that was
moved, copied, or renamed by the SHFileOperation function.

SHNAMEMAPPINGW Contains the old and new path names for each file that was
moved, copied, or renamed by the SHFileOperation function.

SHQUERYRBINFO Contains the size and item count information retrieved by the
SHQueryRecycleBin function.

SHSTOCKICONINFO Receives information used to retrieve a stock Shell icon. This


structure is used in a call SHGetStockIconInfo.

SLOWAPPINFO Provides specialized application information to Add/Remove


Programs in Control Panel. This structure is not applicable to
published applications.

SMCSHCHANGENOTIFYSTRUCT Contains information about change notification. It is used by


IShellMenuCallback::CallbackSM.

SMDATA Contains information from a menu band.

SMINFO Contains information about an item from a menu band.

SOFTDISTINFO Contains information about a software update.

SORTCOLUMN Stores information about how to sort a column that is


displayed in the folder view.

STRRET Contains strings returned from the IShellFolder interface


methods.

SV2CVW2_PARAMS Holds the parameters for the


IShellView2::CreateViewWindow2 method.

SYNCMGR_CONFLICT_ID_INFO Describes conflict ID information structure.


T IT L E DESC RIP T IO N

SYNCMGRHANDLERINFO Provides information about the handler for use in the


ISyncMgrSynchronize::GetHandlerInfo method.

SYNCMGRITEM Provides information about items being enumerated by the


ISyncMgrEnumItems interface.

SYNCMGRLOGERRORINFO Provides error information for use in the


ISyncMgrSynchronizeCallback::LogError method.

SYNCMGRPROGRESSITEM Provides status information while a synchronization is in


progress. This structure is used with the
ISyncMgrSynchronizeCallback::Progress method and
corresponds to a single synchronization item.

TBINFO Used with the SFVM_GETBUTTONINFO notification to specify


the number of buttons to add to the toolbar, as well as how
they're added.

THUMBBUTTON Used by methods of the ITaskbarList3 interface to define


buttons used in a toolbar embedded in a window's thumbnail
representation.

TOOLBARITEM Deprecated. Data used in IBrowserService2::_GetToolbarItem,


IBrowserService2::v_MayGetNextToolbarFocus, and
IBrowserService2::_SetFocus to define a toolbar item.

WALLPAPEROPT Contains the wallpaper display options. Used with members


of the IActiveDesktop interface.

WINDOWDATA Stores window data.

WTS_THUMBNAILID Contains a unique identifier for a thumbnail in the system


thumbnail cache.
Tiles, badges, and notifications for Classic desktop
applications
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Tiles, badges, and notifications for Classic desktop applications technology.
To develop Tiles, badges, and notifications for Classic desktop applications, you need these headers:
notificationactivationcallback.h
For programming guidance for this technology, see:
Tiles, badges, and notifications for Classic desktop applications

Functions
T IT L E DESC RIP T IO N

Activate Called when a user interacts with a toast in the action center.

Interfaces
T IT L E DESC RIP T IO N

INotificationActivationCallback Receives notification messages when an app is triggered


through a toast from the action center.

Structures
T IT L E DESC RIP T IO N

NOTIFICATION_USER_INPUT_DATA Contains information about how a user interacted with a


notification toast in the action center. This structure is used by
Activate.
Title Callable UI
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Title Callable UI technology.


To develop Title Callable UI, you need these headers:
gamingtcui.h
For programming guidance for this technology, see:
Title Callable UI

Enumerations
T IT L E DESC RIP T IO N

KnownGamingPrivileges Do not use. This API is only supported for Xbox developers.

Functions
T IT L E DESC RIP T IO N

CheckGamingPrivilegeSilently Do not use. This API is only supported for Xbox developers.

CheckGamingPrivilegeWithUI Do not use. This API is only supported for Xbox developers.

GameUICompletionRoutine Do not use. This API is only supported for Xbox developers.

PlayerPickerUICompletionRoutine Do not use. This API is only supported for Xbox developers.

ProcessPendingGameUI Do not use. This API is only supported for Xbox developers.

ShowChangeFriendRelationshipUI Do not use. This API is only supported for Xbox developers.

ShowGameInviteUI Do not use. This API is only supported for Xbox developers.

ShowPlayerPickerUI Do not use. This API is only supported for Xbox developers.

ShowProfileCardUI Do not use. This API is only supported for Xbox developers.

ShowTitleAchievementsUI Do not use. This API is only supported for Xbox developers.

TryCancelPendingGameUI Do not use. This API is only supported for Xbox developers.
Tool Help Library
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Tool Help Library technology.


To develop Tool Help Library, you need these headers:
tlhelp32.h
For programming guidance for this technology, see:
Tool Help Library

Functions
T IT L E DESC RIP T IO N

CreateToolhelp32Snapshot Takes a snapshot of the specified processes, as well as the


heaps, modules, and threads used by these processes.

Heap32First Retrieves information about the first block of a heap that has
been allocated by a process.

Heap32ListFirst Retrieves information about the first heap that has been
allocated by a specified process.

Heap32ListNext Retrieves information about the next heap that has been
allocated by a process.

Heap32Next Retrieves information about the next block of a heap that has
been allocated by a process.

Module32First Retrieves information about the first module associated with a


process.

Module32FirstW Retrieves information about the first module associated with a


process.

Module32Next Retrieves information about the next module associated with a


process or thread.

Module32NextW Retrieves information about the next module associated with a


process or thread.

Process32First Retrieves information about the first process encountered in a


system snapshot.

Process32FirstW Retrieves information about the first process encountered in a


system snapshot.

Process32Next Retrieves information about the next process recorded in a


system snapshot.
T IT L E DESC RIP T IO N

Process32NextW Retrieves information about the next process recorded in a


system snapshot.

Thread32First Retrieves information about the first thread of any process


encountered in a system snapshot.

Thread32Next Retrieves information about the next thread of any process


encountered in the system memory snapshot.

Toolhelp32ReadProcessMemory Copies memory allocated to another process into an


application-supplied buffer.

Structures
T IT L E DESC RIP T IO N

HEAPENTRY32 Describes one entry (block) of a heap that is being examined.

HEAPLIST32 Describes an entry from a list that enumerates the heaps used
by a specified process.

MODULEENTRY32 Describes an entry from a list of the modules belonging to the


specified process.

MODULEENTRY32W Describes an entry from a list of the modules belonging to the


specified process.

PROCESSENTRY32 Describes an entry from a list of the processes residing in the


system address space when a snapshot was taken.

PROCESSENTRY32W Describes an entry from a list of the processes residing in the


system address space when a snapshot was taken.

THREADENTRY32 Describes an entry from a list of the threads executing in the


system when a snapshot was taken.
Touch Hit Testing
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Touch Hit Testing technology.


The Touch Hit Testing technology is not associated with any headers.
For programming guidance for this technology, see:
Touch Hit Testing

Functions
T IT L E DESC RIP T IO N

EvaluateProximityToPolygon Returns the score of a polygon as the probable touch target


(compared to all other polygons that intersect the touch
contact area) and an adjusted touch point within the polygon.

EvaluateProximityToRect Returns the score of a rectangle as the probable touch target,


compared to all other rectangles that intersect the touch
contact area, and an adjusted touch point within the rectangle.

PackTouchHitTestingProximityEvaluation Returns the proximity evaluation score and the adjusted


touch-point coordinates as a packed value for the
WM_TOUCHHITTESTING callback.

RegisterTouchHitTestingWindow Registers a window to process the WM_TOUCHHITTESTING


notification.

Structures
T IT L E DESC RIP T IO N

TOUCH_HIT_TESTING_INPUT Contains information about the touch contact area reported


by the touch digitizer.

TOUCH_HIT_TESTING_PROXIMITY_EVALUATION Contains the hit test score that indicates whether the object is
the likely target of the touch contact area, relative to other
objects that intersect the touch contact area.
Touch Injection
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Touch Injection technology.


The Touch Injection technology is not associated with any headers.
For programming guidance for this technology, see:
Touch Injection

Functions
T IT L E DESC RIP T IO N

InitializeTouchInjection Configures the touch injection context for the calling


application and initializes the maximum number of
simultaneous contacts that the app can inject.

InjectTouchInput Simulates touch input.


Touch Input
2/7/2020 • 7 minutes to read • Edit Online

Overview of the Touch Input technology.


To develop Touch Input, you need these headers:
manipulations.h
For programming guidance for this technology, see:
Touch Input

Enumerations
T IT L E DESC RIP T IO N

MANIPULATION_PROCESSOR_MANIPULATIONS The MANIPULATION_PROCESSOR_MANIPULATIONS


enumeration different kinds of manipulation which can be
applied on a target object.

Functions
T IT L E DESC RIP T IO N

CloseGestureInfoHandle Closes resources associated with a gesture information handle.

CloseTouchInputHandle Closes a touch input handle, frees process memory associated


with it, and invalidates the handle.

Complete The Complete method finishes the current manipulation and


stops inertia on the inertia processor.

CompleteManipulation The CompleteManipulation method is called when the


developer chooses to end the manipulation.

CompleteTime Finishes the current manipulation at the given tick, stops


inertia on the inertia processor, and raises the
ManipulationCompleted event.

get_BoundaryBottom The BoundaryBottom property limits how far towards the


bottom of the screen the target object can move.

get_BoundaryLeft The BoundaryLeft property limits how far towards the left of
the screen the target object can move.

get_BoundaryRight The BoundaryRight property limits how far towards the right
of the screen the target object can move.

get_BoundaryTop The BoundaryTop property limits how far towards the top of
the screen the target object can move.
T IT L E DESC RIP T IO N

get_DesiredAngularDeceleration The DesiredAngularDeceleration property specifies the desired


rate that the target object will stop spinning in radians per
msec squared.

get_DesiredDeceleration The DesiredDeceleration property specifies the desired rate at


which translation operations will decelerate.

get_DesiredDisplacement The DesiredDisplacement property specifies the desired


distance that the object will travel.

get_DesiredExpansion The DesiredExpansion property specifies the desired change in


the object's average radius.

get_DesiredExpansionDeceleration The DesiredExpansionDeceleration property specifies the rate


at which the object will stop expanding.

get_DesiredRotation The DesiredRotation property specifies how far the current


inertia processor object should manipulate the target object in
radians.

get_ElasticMarginBottom The ElasticMarginBottom property specifies the bottom region


for bouncing the target object.

get_ElasticMarginLeft The ElasticMarginLeft property specifies the leftmost region


for bouncing the target object.

get_ElasticMarginRight The ElasticMarginRight property specifies the rightmost region


for bouncing the target object.

get_ElasticMarginTop The ElasticMarginTop property specifies the topmost region


for bouncing the target object.

get_InitialAngularVelocity The InitialAngularVelocity property specifies the rotational


(angular) velocity of the target when movement begins.

get_InitialExpansionVelocity The InitialExpansionVelocity property specifies the rate of


radius expansion for a target when the target was affected by
inertia.

get_InitialOriginX The InitialOriginX property specifies the starting horizontal


location for a target with inertia.

get_InitialOriginY The InitialOriginY property specifies the starting vertical


location for a target with inertia.

get_InitialRadius The InitialRadius property specifies the distance from the edge
of the target to its center before the object was changed.

get_InitialTimestamp The InitialTimestamp property specifies the starting time


stamp for a target object with inertia.

get_InitialVelocityX The InitialVelocityX property specifies the initial movement of


the target object on the horizontal axis.
T IT L E DESC RIP T IO N

get_InitialVelocityY The InitialVelocityY property specifies the initial movement of


the target object on the vertical axis.

get_MinimumScaleRotateRadius Specifies how large the distance contacts on a scale or rotate


gesture need to be to trigger manipulation.

get_PivotPointX The PivotPointX property is the horizontal center of the object.

get_PivotPointY The PivotPointY property is the vertical center of the object.

get_PivotRadius The PivotRadius property is used to determine how much


rotation is used in single finger manipulation.

get_SupportedManipulations The SupportedManipulations property is used to indicate


which manipulations are supported by an object.

GetAngularVelocity The GetAngularVelocity method calculates the rotational


velocity that the target object is moving at.

GetExpansionVelocity The GetExpansionVelocity method calculates the rate that the


target object is expanding at.

GetGestureConfig Retrieves the configuration for which Windows Touch gesture


messages are sent from a window.

GetGestureExtraArgs Retrieves additional information about a gesture from its


GESTUREINFO handle.

GetGestureInfo Retrieves a GESTUREINFO structure given a handle to the


gesture information.

GetTouchInputInfo Retrieves detailed information about touch inputs associated


with a particular touch input handle.

GetVelocityX Calculates and returns the horizontal velocity for the target
object.

GetVelocityY Calculates and returns the vertical velocity.

GID_ROTATE_ANGLE_FROM_ARGUMENT The GID_ROTATE_ANGLE_FROM_ARGUMENT macro is used to


interpret the GID_ROTATE ullArgument value when receiving
the value in the WM_GESTURE structure.

GID_ROTATE_ANGLE_TO_ARGUMENT Converts a radian value to an argument for rotation gesture


messages.

IsTouchWindow Checks whether a specified window is touch-capable and,


optionally, retrieves the modifier flags set for the window's
touch capability.

ManipulationCompleted Handles the event when manipulation or inertia finishes.


T IT L E DESC RIP T IO N

ManipulationDelta Handles events that happen when a manipulated object


changes.

ManipulationStarted Handles the event for when manipulation or inertia begins.

Process The Process method performs calculations and can raise the
Started, Delta, or Completed event depending on whether
extrapolation is completed or not. If extrapolation finished at
the previous tick, the method is no-op.

ProcessDown The ProcessDown method feeds touch down data to the


manipulation processor associated with a target.

ProcessDownWithTime Feeds touch down data, including a timestamp, to the


manipulation processor associated with a target.

ProcessMove The ProcessMove method feeds movement data for the target
object to its manipulation processor.

ProcessMoveWithTime Feeds movement data, including a time stamp, for the target
object to its manipulation processor.

ProcessTime The ProcessTime method performs calculations for the given


tick and can raise the Started, Delta, or Completed event
depending on whether extrapolation is completed or not. If
extrapolation finished at the previous tick, the method is no-
op.

ProcessUp The ProcessUp method feeds data to a target's manipulation


processor for touch up sequences.

ProcessUpWithTime Feeds data, including a timestamp, to a target's manipulation


processor for touch-up sequences.

put_BoundaryBottom The BoundaryBottom property limits how far towards the


bottom of the screen the target object can move.

put_BoundaryLeft The BoundaryLeft property limits how far towards the left of
the screen the target object can move.

put_BoundaryRight The BoundaryRight property limits how far towards the right
of the screen the target object can move.

put_BoundaryTop The BoundaryTop property limits how far towards the top of
the screen the target object can move.

put_DesiredAngularDeceleration The DesiredAngularDeceleration property specifies the desired


rate that the target object will stop spinning in radians per
msec squared.

put_DesiredDeceleration The DesiredDeceleration property specifies the desired rate at


which translation operations will decelerate.
T IT L E DESC RIP T IO N

put_DesiredDisplacement The DesiredDisplacement property specifies the desired


distance that the object will travel.

put_DesiredExpansion The DesiredExpansion property specifies the desired change in


the object's average radius.

put_DesiredExpansionDeceleration The DesiredExpansionDeceleration property specifies the rate


at which the object will stop expanding.

put_DesiredRotation The DesiredRotation property specifies how far the current


inertia processor object should manipulate the target object in
radians.

put_ElasticMarginBottom The ElasticMarginBottom property specifies the bottom region


for bouncing the target object.

put_ElasticMarginLeft The ElasticMarginLeft property specifies the leftmost region


for bouncing the target object.

put_ElasticMarginRight The ElasticMarginRight property specifies the rightmost region


for bouncing the target object.

put_ElasticMarginTop The ElasticMarginTop property specifies the topmost region


for bouncing the target object.

put_InitialAngularVelocity The InitialAngularVelocity property specifies the rotational


(angular) velocity of the target when movement begins.

put_InitialExpansionVelocity The InitialExpansionVelocity property specifies the rate of


radius expansion for a target when the target was affected by
inertia.

put_InitialOriginX The InitialOriginX property specifies the starting horizontal


location for a target with inertia.

put_InitialOriginY The InitialOriginY property specifies the starting vertical


location for a target with inertia.

put_InitialRadius The InitialRadius property specifies the distance from the edge
of the target to its center before the object was changed.

put_InitialTimestamp The InitialTimestamp property specifies the starting time


stamp for a target object with inertia.

put_InitialVelocityX The InitialVelocityX property specifies the initial movement of


the target object on the horizontal axis.

put_InitialVelocityY The InitialVelocityY property specifies the initial movement of


the target object on the vertical axis.

put_MinimumScaleRotateRadius Specifies how large the distance contacts on a scale or rotate


gesture need to be to trigger manipulation.

put_PivotPointX The PivotPointX property is the horizontal center of the object.


T IT L E DESC RIP T IO N

put_PivotPointY The PivotPointY property is the vertical center of the object.

put_PivotRadius The PivotRadius property is used to determine how much


rotation is used in single finger manipulation.

put_SupportedManipulations The SupportedManipulations property is used to indicate


which manipulations are supported by an object.

RegisterTouchWindow Registers a window as being touch-capable.

Reset The Reset method initializes the processor with initial


timestamp and restarts inertia.

SetGestureConfig Configures the messages that are sent from a window for
Windows Touch gestures.

TOUCH_COORD_TO_PIXEL Converts touch coordinates to pixels.

UnregisterTouchWindow Registers a window as no longer being touch-capable.

Interfaces
T IT L E DESC RIP T IO N

_IManipulationEvents Handles manipulation and inertia events.

IInertiaProcessor The IInertiaProcessor interface handles calculations regarding


object motion for Windows Touch.

IManipulationProcessor The IManipulationProcessor provides functionality for


monitoring and responding to multitouch input.

Structures
T IT L E DESC RIP T IO N

GESTURECONFIG Gets and sets the configuration for enabling gesture messages
and the type of this configuration.

GESTUREINFO Stores information about a gesture.

GESTURENOTIFYSTRUCT When transmitted with WM_GESTURENOTIFY messages,


passes information about a gesture.

TOUCHINPUT Encapsulates data for touch input.


TPM Base Services
2/7/2020 • 2 minutes to read • Edit Online

Overview of the TPM Base Services technology.


To develop TPM Base Services, you need these headers:
tbs.h
For programming guidance for this technology, see:
TPM Base Services

Functions
T IT L E DESC RIP T IO N

Tbsi_Context_Create Creates a context handle that can be used to pass commands


to TBS.

Tbsi_Get_OwnerAuth Retrieves the owner authorization of the TPM if the


information is available in the local registry.

Tbsi_Get_TCG_Log Retrieves the most recent Windows Boot Configuration Log


(WBCL), also referred to as a TCG log.

Tbsi_Get_TCG_Log_Ex Gets the Windows Boot Configuration Log (WBCL), also


referred to as the TCG log, of the specified type.

Tbsi_GetDeviceInfo Obtains the version of the TPM on the computer.

Tbsi_Physical_Presence_Command Passes a physical presence ACPI command through TBS to the


driver.

Tbsi_Revoke_Attestation Invalidates the PCRs if the ELAM driver detects a policy-


violation (a rootkit, for example).

Tbsip_Cancel_Commands Cancels all outstanding commands for the specified context.

Tbsip_Context_Close Closes a context handle, which releases resources associated


with the context in TBS and closes the binding handle used to
communicate with TBS.

Tbsip_Submit_Command Submits a Trusted Platform Module (TPM) command to TPM


Base Services (TBS) for processing.

Structures
T IT L E DESC RIP T IO N

TBS_CONTEXT_PARAMS Specifies the version of the TBS context implementation.


T IT L E DESC RIP T IO N

TBS_CONTEXT_PARAMS2 Specifies the version of the TBS context implementation. You


must use this structure if your application works with both
versions of TPM.

TPM_DEVICE_INFO Provides information about the version of the TPM.


TraceLogging
2/7/2020 • 2 minutes to read • Edit Online

Overview of the TraceLogging technology.


To develop TraceLogging, you need these headers:
traceloggingactivity.h
traceloggingprovider.h
For programming guidance for this technology, see:
TraceLogging

Class
T IT L E DESC RIP T IO N

TraceLoggingActivity Provides support for logging ETW events during an activity. All
events must be manually tagged or nested.

TraceLoggingThreadActivity Provides support for logging ETW events during an activity.


Events will be automatically tagged with or nested in this
activity.

TraceLoggingThreadActivityIdSetter Tags a thread with an activity id so ETW marks all events in


that thread with the activity id.

Functions
T IT L E DESC RIP T IO N

~TraceLoggingThreadActivityIdSetter Restores the original activity ID to the thread.

Provider Returns the handle to the TraceLogging provider associated


with this activity.

Provider Returns the handle to the TraceLogging provider associated


with this activity.

SetRelatedActivity Sets the related activity for this TraceLoggingActivity object.

SetRelatedActivityId Uses the unique identifier of an activity to set the related


activity for this TraceLoggingActivity object.

SetRelatedActivityId Uses the unique identifier of an activity to set the related


activity for this TraceLoggingActivity object.

TRACELOGGING_DECLARE_PROVIDER Forward declares a global TraceLogging provider handle.


T IT L E DESC RIP T IO N

TRACELOGGING_DEFINE_PROVIDER Allocates storage for a TraceLogging provider and creates a


handle to the provider.

TRACELOGGING_DEFINE_PROVIDER_STORAGE Allocates storage for a TraceLogging provider. This macro


should only be used for advanced scenarios.

TraceLoggingActivity Creates a new TraceLoggingActivity object.

TraceLoggingActivity Creates a new TraceLoggingActivity object.

TraceLoggingBinary Wrapper macro for raw binary data.

TraceLoggingChannel Wrapper macro for setting the event's channel.

TraceLoggingCustom Wrapper macro for an event field packed using a custom


serializer.

TraceLoggingCustomAttribute Wrapper macro for adding custom information about an


event to the PDB.

TraceLoggingDescription Wrapper macro for setting a description for an event.

TraceLoggingEventTag Wrapper macro for setting the event's tag(s).

TraceLoggingFunction Creates a TraceLoggingThreadActivity named after the current


function and writes a Start event for the activity. A Stop
activity will be written at the end of the current scope.

TraceLoggingKeyword Wrapper macro for setting the event's keyword(s).

TraceLoggingLevel Wrapper macro for setting the event's level.

TraceLoggingOpcode Wrapper macro for setting the event's opcode.

TraceLoggingOptionGroup Wrapper macro for use in


TRACELOGGING_DEFINE_PROVIDER to declare the GUID of
the provider group that the provider is a member of.

TraceLoggingRegisterEx Registers a TraceLogging provider with callback so that it can


be used for to log events.

TraceLoggingSocketAddress A wrapper macro that provides trace logging for socket


addresses.

TraceLoggingStruct Wrapper macro for defining a group of related fields in an


event.

TraceLoggingThreadActivity Initializes a new instance of the TraceLoggingThreadActivity


class.

TraceLoggingThreadActivity Initializes a new instance of the TraceLoggingThreadActivity


class.
T IT L E DESC RIP T IO N

TraceLoggingThreadActivityIdSetter Creates a new TraceLoggingThreadActivityIdSetter object.

TraceLoggingThreadActivityIdSetter Creates a new TraceLoggingThreadActivityIdSetter object.

TraceLoggingThreadActivityIdSetter Creates a new TraceLoggingThreadActivityIdSetter object.

TraceLoggingValue Wrapper macro for event fields. Automatically deduces value


type.

TraceLoggingWrite Emits an event.

TraceLoggingWriteActivity Emits an event with specific activity IDs.

TraceLoggingWriteStart Starts an activity and logs the start event.

TraceLoggingWriteStop Stops an activity and logs the stop event.

TraceLoggingWriteTagged Logs an event with an associated ETW activity id.


UPnP APIs
2/7/2020 • 9 minutes to read • Edit Online

Overview of the UPnP APIs technology.


To develop UPnP APIs, you need these headers:
upnp.h
upnphost.h
For programming guidance for this technology, see:
UPnP APIs

Functions
T IT L E DESC RIP T IO N

Abort The Abort method stops an asynchronous load operation


started by IUPnPDescriptionDocument::LoadAsync.

AddCallback The AddCallback method registers an application's callback


with the UPnP framework.

AddRequestHeaders Adds the supplied HTTP header to an HTTP request.

Advise The Advise method is invoked by the device host to begin


receiving events from the hosted service.

AsyncOperationComplete AsyncOperationComplete callback method provides


notification of the completion of an asynchronous I/O
operation.

BeginInvokeAction BeginInvokeAction method invokes an action on a device in


asynchronous mode. Additionally, if a delayed SCPD download
and event subscription is opted-in, and it has not taken place
already, this method will initiate SCPD download.

BeginQueryStateVariable BeginQueryStateVariable method initiates an asynchronous


request for the state variable value from a specific service.

BeginSCPDDownload BeginSCPDDownload method initiates the asynchronous


download of an Service Control Protocol Description (SCPD)
document.

BeginSubscribeToEvents BeginSubscribeToEvents initiates event subscription in


asynchronous mode and registers the application callback with
the UPnP framework.

CancelAsyncFind The CancelAsyncFind method cancels an asynchronous search.


T IT L E DESC RIP T IO N

CancelAsyncOperation CancelAsyncOperation method cancels a pending


asynchronous operation initiated by the BeginInvokeAction,
BeginQueryStateVariable, BeginSubscribeToEvents, or
BeginSCPDDownload methods.

CreateAsyncFind The CreateAsyncFind method creates an asynchronous search


operation.

DeviceAdded The DeviceAdded method is invoked by the UPnP framework


to notify the application that a device has been added to the
network.

DeviceAddedWithInterface The DeviceAddedWithInterface method is invoked by the


UPnP framework to notify the application that a device has
been added to the network.

DeviceByUDN The DeviceByUDN method returns the device with the


specified unique device name (UDN) contained within the
loaded description document.

DeviceRemoved The DeviceRemoved method is invoked by the UPnP


framework to notify the application that a device has been
removed from the network.

EndInvokeAction EndInvokeAction method retrieves the results of a previous


BeginInvokeAction operation and retrieves the resultant
output arguments.

EndQueryStateVariable EndQueryStateVariable method retrieves the results of a


previous BeginQueryStateVariable operation and retrieves the
resultant service-specific state variable value.

EndSCPDDownload EndSCPDDownload method retrieves the results of a previous


asynchronous download of an Service Control Protocol
Description (SCPD) document.

EndSubscribeToEvents EndSubscribeToEvents method retrieves the results of a


previous BeginSubscribeToEvents operation.

FindByType The FindByType method searches synchronously for devices


by device type or service type.

FindByUDN The FindByUDN method searches synchronously for a device


by its unique device name (UDN).

get__NewEnum The _NewEnum property specifies either the IEnumVARIANT


or IEnumUnknown enumerator interface for the collection.

get__NewEnum The _NewEnum property specifies either the IEnumVARIANT


or IEnumUnknown enumerator interface for the collection.

get_Children The Children property specifies all the child devices of the
device. The devices are stored in an IUPnPDevices collection.
T IT L E DESC RIP T IO N

get_Count The Count property specifies the number of devices in the


collection.

get_Count The Count property specifies the number of services in the


collection.

get_Description The Description property specifies a human-readable


summary of the device's functionality.

get_FriendlyName The FriendlyName property specifies the device display name


for the device.

get_HasChildren The HasChildren property specifies whether the device has


any child devices.

get_Id The Id property specifies the service ID for the service.

get_IsRootDevice The IsRootDevice property specifies whether the device is the


topmost device in the device tree.

get_Item The Item property specifies the IUPnPDevice interface for a


device, identified by the UDN, in the collection.

get_Item The Item property specifies the IUPnPService interface for a


service, identified by the service ID, in the collection.

get_LastTransportStatus For queries related to evented variables, the


LastTransportStatus property specifies the HTTP status of the
last IUPnPService::InvokeAction operation.

get_LoadResult The LoadResult property specifies the success or failure code


of a completed load operation.

get_ManufacturerName The ManufacturerName property specifies a human-readable


form of the manufacturer name of the device.

get_ManufacturerURL The ManufacturerURL property specifies the URL for the


manufacturer's Web site.

get_ModelName The ModelName property specifies a human-readable form of


the model name of the device.

get_ModelNumber The ModelNumber property specifies a human-readable form


of the model number of the device.

get_ModelURL The ModelURL property specifies the URL for a Web page that
contains model-specific information for the device.

get_ParentDevice The ParentDevice property specifies the parent of the device.

get_PresentationURL The PresentationURL property specifies the presentation URL


for a Web page that controls the device.
T IT L E DESC RIP T IO N

get_ReadyState The ReadyState property specifies the status of the document


load operation.

get_RootDevice The RootDevice property specifies the topmost device in the


device tree. The root device represents a physical object.

get_SerialNumber The SerialNumber property specifies a human-readable form


of the serial number of the device.

get_Services The Services property specifies the list of services provided by


the device.

get_ServiceTypeIdentifier The ServiceTypeIdentifier property specifies the service type


identifier for the device.

get_Type The Type method specifies the device type uniform resource
identifier (URI) for the device.

get_UniqueDeviceName The UniqueDeviceName property specifies the unique device


name (UDN) of the device. A UDN is unique; no two devices
can have the same UDN.

get_UPC The UPC property specifies a human-readable form of the


product code.

GetAddressFamily The GetAddressFamily method retrieves the current value of


the address family flag of the Device Finder object.

GetDocument Retrieves the XML device description document for a UPnP


device.

GetDocument GetDocument method retrieves the Service Control Protocol


Description (SCPD) document for a service object.

GetDocumentURL The GetDocumentURL method returns the URL from which


the device description document can be loaded.

GetDocumentURL GetDocumentURL method retrieves the Service Control


Protocol Description (SCPD) URL for a service object. Using
this URL, the UPnP control point can download the complete
SCPD document.

GetDwordValue The GetDwordValue method gets a 4-byte value that provides


information about either a request or requester.

GetGuidValue The GetGuidValue method currently is not supported.

GetServiceObject The GetServiceObject method is used to obtain the IDispatch


pointer to a specific service object. The device host invokes
this method once per service, the first time it receives a
request for a service.

GetStringValue The GetStringValue method gets a string that provides


information about either a request or requester.
T IT L E DESC RIP T IO N

GetUniqueDeviceName The GetUniqueDeviceName method retrieves the UDN for the


specified device.

IconURL The IconURL method returns a URL from which an icon of the
specified format can be loaded.

Initialize The Initialize method is used to initialize the device. The device
host invokes this method.

InvokeAction Invokes a method on the device.

Load The Load method loads a document synchronously. This


method does not return control to the caller until the load
operation is complete.

LoadAsync The LoadAsync method loads a document asynchronously.


This method returns control to the caller immediately, and
uses the specified callback to notify the caller when the
operation is complete.

LoadComplete The LoadComplete method is invoked when the UPnP


framework has finished loading a device description.

OnStateChanged The OnStateChanged method sends an event to the device


host with the list of DISPIDs of the state variables that have
changed. The device host must query the service object to
obtain the new value for each state variable that has changed.

OnStateChangedSafe The OnStateChangedSafe method sends an event to the


device host with the list of DISPIDs that have changed. The
device host must query the service object to obtain the new
value for each state variable that has changed.

QueryStateVariable The QueryStateVariable method returns the value of the


specified service's state variable.

RegisterDevice The RegisterDevice method registers a device with the device


host. The device information is stored by the device host.
Then, the device host returns a device identifier and publishes
and announces the device on the network.

RegisterDeviceProvider The RegisterDeviceProvider method registers a device provider


with the device host. The device provider is not published on
the network. Instead, it creates devices dynamically and
registers them using RegisterRunningDevice.

RegisterRunningDevice The RegisterRunningDevice method registers a running device


with the device host.

ReregisterDevice The ReregisterDevice method re-registers a device with the


device host. The device information is stored by the device
host. Then, the device host returns a device identifier and
publishes and announces the device on the network.
T IT L E DESC RIP T IO N

ReregisterRunningDevice The ReregisterRunningDevice method re-registers a running


device with the device host.

RootDevice The RootDevice method returns the root device of the


currently loaded document's device tree.

SearchComplete The SearchComplete method is invoked by the UPnP


framework to notify the application that the initial search for
network devices has been completed.

ServiceInstanceDied The ServiceInstanceDied method is invoked when a service is


no longer sending events.

SetAddressFamily The SetAddressFamily method sets the address family flag of


the Device Finder object, which uses this flag to filter the
devices found.

SetServiceEnumProperty The SetServiceEnumProperty method is used to indicate opt-


in to the delayed Service Control Protocol Description (SCPD)
download and event subscription for the IUPnPService objects
enumerated from the IUPnPServices object.

Start The Start method starts the device provider. The device host
invokes this method after it loads the device provider This
method performs any initialization required by the device
provider.

StartAsyncFind The StartAsyncFind method starts an asynchronous search


operation.

StateVariableChanged The StateVariableChanged method is invoked when a state


variable has changed.

Stop The Stop method stops the device provider.

Unadvise The Unadvise method is invoked by the device host to stop


receiving events. The device host passes in the same pointer
that it did when it invoked the IUPnPEventSource::Advise
method.

UnregisterDevice The UnregisterDevice method unregisters the device from the


device host. A device is either temporarily or permanently
unregistered.

UnregisterDeviceProvider The UnregisterDeviceProvider method permanently


unregisters and unloads the device provider from the device
host. The IUPnPDeviceProvider::Stop method is invoked.

Interfaces
T IT L E DESC RIP T IO N

IUPnPAddressFamilyControl The IUPnPAddressFamilyControl interface accesses the address


family flag of the Device Finder object.
T IT L E DESC RIP T IO N

IUPnPAsyncResult The IUPnPAsyncResult interface is used to notify the UPnP


control point of a completed asynchronous I/O operation.

IUPnPDescriptionDocument The IUPnPDescriptionDocument interface enables an


application to load a device description.

IUPnPDescriptionDocumentCallback The IUPnPDescriptionDocumentCallback interface allows the


UPnP framework to communicate the results of an
asynchronous load operation to an application.

IUPnPDevice The IUPnPDevice interface enables an application to retrieve


information about a specific device.

IUPnPDeviceControl The IUPnPDeviceControl interface is the central point of


management for a device and its service objects.

IUPnPDeviceDocumentAccess The IUPnPDeviceDocumentAccess interface enables an


application to obtain the URL of the device description
document.

IUPnPDeviceDocumentAccessEx Provides a method to obtain the entire XML device


description document for a specific device.

IUPnPDeviceFinder The IUPnPDeviceFinder interface enables an application to find


a device.

IUPnPDeviceFinderAddCallbackWithInterface The IUPnPDeviceFinderAddCallbackWithInterface interface


allows the UPnP framework to communicate to an application

IUPnPDeviceFinderCallback The IUPnPDeviceFinderCallback interface allows the UPnP


framework to communicate the results of an asynchronous
search to an application.

IUPnPDeviceProvider The IUPnPDeviceProvider interface allows a device provider to


start and stop its processing.

IUPnPDevices The IUPnPDevices interface enumerates a collection of devices.

IUPnPEventSink The IUPnPEventSink interface allows a hosted service to send


event notifications to the device host.

IUPnPEventSource The IUPnPEventSource interface allows the device host to


manage event subscriptions for the hosted service.

IUPnPHttpHeaderControl Enables the caller to specify additional HTTP headers sent in


HTTP requests to a device.

IUPnPRegistrar The IUPnPRegistrar interface registers the devices that run in


the context of the device host.

IUPnPRemoteEndpointInfo The IUPnPRemoteEndpointInfo interface allows a hosted


device to obtain information about a requester (that is, a
control point) and the request.
T IT L E DESC RIP T IO N

IUPnPReregistrar The IUPnPReregistrar interface allows the application to re-


register a UPnP-based device with the device host.

IUPnPService The IUPnPService interface enables an application to query


state variables and invoke actions on an instance of a service.

IUPnPServiceAsync Use this interface to asynchronously query state variables and


invoke actions on an instance of a service .

IUPnPServiceCallback The IUPnPServiceCallback interface is used to send event


notifications to clients of Service objects.

IUPnPServiceDocumentAccess Use this interface to retrieve and provide the Service Control
Protocol Description (SCPD) document to a UPnP control
point application to expose actions supported by the service
and provide information about state variables.

IUPnPServiceEnumProperty Use this interface to delay Service Control Protocol


Description (SCPD) download and event subscription on the
IUPnPService objects enumerated from the IUPnPServices
object.

IUPnPServices The IUPnPServices interface enumerates a collection of


services.
USB driver reference
3/13/2020 • 2 minutes to read • Edit Online

Overview of the USB driver reference technology.


To develop USB driver reference, you need these headers:
genericusbfnioctl.h
usbuser.h
winusb.h
winusbio.h
For programming guidance for this technology, see:
USB driver reference
User Access Logging
2/7/2020 • 2 minutes to read • Edit Online

Overview of the User Access Logging technology.


To develop User Access Logging, you need these headers:
ual.h
For programming guidance for this technology, see:
User Access Logging

Functions
T IT L E DESC RIP T IO N

UalInstrument Records the specified data to the User Access Logging (UAL)
framework by using information from a UAL_DATA_BLOB
structure.

UalRegisterProduct Registers a product with User Access Logging (UAL).

UalStart Starts a User Access Logging (UAL) session.

UalStop Stops a User Access Logging (UAL) session.

Structures
T IT L E DESC RIP T IO N

UAL_DATA_BLOB Specifies information about a User Access Logging (UAL)


session.
Virtual Hard Disk
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Virtual Hard Disk technology.


To develop Virtual Hard Disk, you need these headers:
virtdisk.h
For programming guidance for this technology, see:
Virtual Storage
Virtual Storage
2/7/2020 • 5 minutes to read • Edit Online

Overview of the Virtual Storage technology.


The Virtual Storage technology is not associated with any headers.
For programming guidance for this technology, see:
Virtual Storage

Enumerations
T IT L E DESC RIP T IO N

APPLY_SNAPSHOT_VHDSET_FLAG Contains flags affecting the behavior of the


ApplySnapshotVhdSet function.

APPLY_SNAPSHOT_VHDSET_VERSION Enumerates the possible versions for parameters for the


ApplySnapshotVhdSet function.

ATTACH_VIRTUAL_DISK_FLAG Contains virtual disk attach request flags.

ATTACH_VIRTUAL_DISK_VERSION Contains the version of the virtual hard disk (VHD)


ATTACH_VIRTUAL_DISK_PARAMETERS structure to use in calls
to VHD functions.

COMPACT_VIRTUAL_DISK_FLAG Contains virtual disk compact request flags.

COMPACT_VIRTUAL_DISK_VERSION Contains the version of the virtual hard disk (VHD)


COMPACT_VIRTUAL_DISK_PARAMETERS structure to use in
calls to VHD functions.

CREATE_VIRTUAL_DISK_FLAG Contains virtual hard disk (VHD) creation flags.

CREATE_VIRTUAL_DISK_VERSION Contains the version of the virtual disk


CREATE_VIRTUAL_DISK_PARAMETERS structure to use in calls
to virtual disk functions.

DELETE_SNAPSHOT_VHDSET_FLAG Contains flags affecting the behavior of the


DeleteSnapshotVhdSet function.

DELETE_SNAPSHOT_VHDSET_VERSION Contains the version of the


DELETE_SNAPHSOT_VHDSET_PARAMETERS structure to use in
calls to virtual disk functions.

DEPENDENT_DISK_FLAG Contains virtual hard disk (VHD) dependency information


flags.

DETACH_VIRTUAL_DISK_FLAG Contains virtual disk detach request flags.

EXPAND_VIRTUAL_DISK_FLAG Contains virtual hard disk (VHD) expand request flags.


T IT L E DESC RIP T IO N

EXPAND_VIRTUAL_DISK_VERSION Contains the version of the virtual disk


EXPAND_VIRTUAL_DISK_PARAMETERS structure to use in calls
to virtual disk functions.

GET_STORAGE_DEPENDENCY_FLAG Contains virtual hard disk (VHD) storage dependency request


flags.

GET_VIRTUAL_DISK_INFO_VERSION Contains the kinds of virtual hard disk (VHD) information that
you can retrieve.

MERGE_VIRTUAL_DISK_FLAG Contains virtual hard disk (VHD) merge request flags.

MERGE_VIRTUAL_DISK_VERSION Contains the version of the virtual hard disk (VHD)


MERGE_VIRTUAL_DISK_PARAMETERS structure to use in calls
to VHD functions.

MIRROR_VIRTUAL_DISK_FLAG Contains virtual hard disk (VHD) mirror request flags.

MIRROR_VIRTUAL_DISK_VERSION Contains the version of the virtual disk


MIRROR_VIRTUAL_DISK_PARAMETERS structure used by the
MirrorVirtualDisk function.

MODIFY_VHDSET_FLAG Contains flags affecting the behavior of the ModifyVhdSet


function.

MODIFY_VHDSET_VERSION Contains the version of the MODIFY_VHDSET_PARAMETERS


structure to use in calls to virtual disk functions.

OPEN_VIRTUAL_DISK_FLAG Contains virtual hard disk (VHD) or CD or DVD image file


(ISO) open request flags.

OPEN_VIRTUAL_DISK_VERSION Contains the version of the virtual disk


OPEN_VIRTUAL_DISK_PARAMETERS structure to use in calls to
virtual disk functions.

RAW_SCSI_VIRTUAL_DISK_FLAG Contains flags affecting the behavior of the


RawSCSIVirtualDisk function.

RAW_SCSI_VIRTUAL_DISK_VERSION Contains the version of the


RAW_SCSI_VIRTUAL_DISK_PARAMETERS structure to use in
calls to virtual disk functions.

RESIZE_VIRTUAL_DISK_FLAG Enumerates the available flags for the ResizeVirtualDisk


function.

RESIZE_VIRTUAL_DISK_VERSION Enumerates the possible versions for parameters for the


ResizeVirtualDisk function.

SET_VIRTUAL_DISK_INFO_VERSION Contains the version of the virtual disk


SET_VIRTUAL_DISK_INFO structure to use in calls to VHD
functions.
T IT L E DESC RIP T IO N

STORAGE_DEPENDENCY_INFO_VERSION Contains the version of the virtual hard disk (VHD)


STORAGE_DEPENDENCY_INFO structure to use in calls to VHD
functions.

TAKE_SNAPSHOT_VHDSET_FLAG Contains flags affecting the behavior of the


TakeSnapshotVhdSet function.

TAKE_SNAPSHOT_VHDSET_VERSION Enumerates the possible versions for parameters for the


TakeSnapshotVhdSet function.

Functions
T IT L E DESC RIP T IO N

AddVirtualDiskParent Attaches a parent to a virtual disk opened with the


OPEN_VIRTUAL_DISK_FLAG_CUSTOM_DIFF_CHAIN flag.

ApplySnapshotVhdSet Applies a snapshot of the current virtual disk for VHD Set files.

AttachVirtualDisk Attaches a virtual hard disk (VHD) or CD or DVD image file


(ISO) by locating an appropriate VHD provider to accomplish
the attachment.

BreakMirrorVirtualDisk Breaks a previously initiated mirror operation and sets the


mirror to be the active virtual disk.

CompactVirtualDisk Reduces the size of a virtual hard disk (VHD) backing store file.

CreateVirtualDisk Creates a virtual hard disk (VHD) image file, either using
default parameters or using an existing virtual disk or physical
disk.

DeleteSnapshotVhdSet Deletes a snapshot from a VHD Set file.

DeleteVirtualDiskMetadata Deletes metadata from a virtual disk.

DetachVirtualDisk Detaches a virtual hard disk (VHD) or CD or DVD image file


(ISO) by locating an appropriate virtual disk provider to
accomplish the operation.

EnumerateVirtualDiskMetadata Enumerates the metadata associated with a virtual disk.

ExpandVirtualDisk Increases the size of a fixed or dynamically expandable virtual


hard disk (VHD).

GetStorageDependencyInformation Returns the relationships between virtual hard disks (VHDs) or


CD or DVD image file (ISO) or the volumes contained within
those disks and their parent disk or volume.

GetVirtualDiskInformation Retrieves information about a VHD.

GetVirtualDiskMetadata Retrieves the specified metadata from the virtual disk.


T IT L E DESC RIP T IO N

GetVirtualDiskOperationProgress Checks the progress of an asynchronous virtual hard disk


(VHD) operation.

GetVirtualDiskPhysicalPath Retrieves the path to the physical device object that contains a
virtual hard disk (VHD) or CD or DVD image file (ISO).

MergeVirtualDisk Merges a child virtual hard disk (VHD) in a differencing chain


with one or more parent virtual disks in the chain.

MirrorVirtualDisk Initiates a mirror operation for a virtual disk.

ModifyVhdSet Modifies the internal contents of a virtual disk file. Can be


used to set the active leaf, or to fix up snapshot entries.

OpenVirtualDisk Opens a virtual hard disk (VHD) or CD or DVD image file (ISO)
for use.

QueryChangesVirtualDisk Retrieves information about changes to the specified areas of a


virtual hard disk (VHD) that are tracked by resilient change
tracking (RCT).

RawSCSIVirtualDisk Issues an embedded SCSI request directly to a virtual hard


disk.

ResizeVirtualDisk Resizes a virtual disk.

SetVirtualDiskInformation Sets information about a virtual hard disk (VHD).

SetVirtualDiskMetadata Sets a metadata item for a virtual disk.

TakeSnapshotVhdSet Creates a snapshot of the current virtual disk for VHD Set files.

Structures
T IT L E DESC RIP T IO N

APPLY_SNAPSHOT_VHDSET_PARAMETERS Contains snapshot parameters, indicating information about


the new snapshot to be applied.

ATTACH_VIRTUAL_DISK_PARAMETERS Contains virtual hard disk (VHD) attach request parameters.

COMPACT_VIRTUAL_DISK_PARAMETERS Contains virtual hard disk (VHD) compacting parameters.

CREATE_VIRTUAL_DISK_PARAMETERS Contains virtual hard disk (VHD) creation parameters,


providing control over, and information about, the newly
created virtual disk.

DELETE_SNAPSHOT_VHDSET_PARAMETERS Contains snapshot deletion parameters, designating which


snapshot to delete from the VHD Set.

EXPAND_VIRTUAL_DISK_PARAMETERS Contains virtual disk expansion request parameters.


T IT L E DESC RIP T IO N

GET_VIRTUAL_DISK_INFO Contains virtual hard disk (VHD) information.

MERGE_VIRTUAL_DISK_PARAMETERS Contains virtual hard disk (VHD) merge request parameters.

MIRROR_VIRTUAL_DISK_PARAMETERS Contains virtual hard disk (VHD) mirror request parameters.

MODIFY_VHDSET_PARAMETERS Contains VHD Set modification parameters, indicating how the


VHD Set should be altered.

OPEN_VIRTUAL_DISK_PARAMETERS Contains virtual disk open request parameters.

QUERY_CHANGES_VIRTUAL_DISK_RANGE Identifies an area on a virtual hard disk (VHD) that has


changed as tracked by resilient change tracking (RCT).

RAW_SCSI_VIRTUAL_DISK_PARAMETERS Contains raw SCSI virtual disk request parameters.

RAW_SCSI_VIRTUAL_DISK_RESPONSE Contains raw SCSI virtual disk response parameters.

RESIZE_VIRTUAL_DISK_PARAMETERS Contains the parameters for a ResizeVirtualDisk function.

SET_VIRTUAL_DISK_INFO Contains virtual hard disk (VHD) information to use when you
call the SetVirtualDiskInformation function to set VHD
properties.

STORAGE_DEPENDENCY_INFO Contains virtual hard disk (VHD) storage dependency


information.

STORAGE_DEPENDENCY_INFO_TYPE_1 Contains virtual hard disk (VHD) storage dependency


information for type 1.

STORAGE_DEPENDENCY_INFO_TYPE_2 Contains VHD or ISO storage dependency information for


type 2.

TAKE_SNAPSHOT_VHDSET_PARAMETERS Contains snapshot parameters, indicating information about


the new snapshot to be created.

VIRTUAL_DISK_PROGRESS Contains the progress and result data for the current virtual
hard disk (VHD) operation, used by the
GetVirtualDiskOperationProgress function.

VIRTUAL_STORAGE_TYPE Contains the type and provider (vendor) of the virtual storage
device.
w_graph_fx
2/7/2020 • 2 minutes to read • Edit Online

Overview of the W_Graph_Fx technology.


The W_Graph_Fx technology is not associated with any headers.

Enumerations
T IT L E DESC RIP T IO N

GRAPHICS_EFFECT_PROPERTY_MAPPING Indicates how a strongly-typed effect property maps to an


underlying Direct2D effect property.

Functions
T IT L E DESC RIP T IO N

GetEffectId Retrieves the ID of the effect.

GetNamedPropertyMapping Retrieves the mapping for an effect property.

GetProperty Retrieves the effect property at the specified index.

GetPropertyCount Retrieve the property count for the effect.

GetSource Retrieves the effect source at the specified index.

GetSourceCount Retrieves the source count for the effect.

Interfaces
T IT L E DESC RIP T IO N

IGraphicsEffectD2D1Interop Native interoperation interface that provides a counterpart to


IGraphicsEffect and allows for metadata queries. This interface
is available in C++ only.
w_ui_comp
2/7/2020 • 2 minutes to read • Edit Online

Overview of the W_Ui_Comp technology.


The W_Ui_Comp technology is not associated with any headers.

Functions
T IT L E DESC RIP T IO N

BeginDraw Initiates drawing on the surface.

CreateCompositionSurfaceForHandle Creates an instance of CompositionSurface for use with the


handle of a swapchain. In order to host media swapchain on a
CompositionSurface, use the
IMFMediaEngineEx::GetVideoSwapchainHandle method.

CreateCompositionSurfaceForSwapChain Creates an instance of CompositionSurface for use with a swap


chain.

CreateGraphicsDevice Creates a CompositionGraphicsDevice backed by the specified


rendering device.

EndDraw Marks the end of drawing on the surface object.

GetRenderingDevice Gets the rendering device.

Resize Changes the size of the surface.

ResumeDraw Resumes drawing on the surface object.

Scroll Scrolls a rectangular area of the logical surface.

SetRenderingDevice Sets the rendering device.

SuspendDraw Suspends drawing on the surface object.

Interfaces
T IT L E DESC RIP T IO N

ICompositionDrawingSurfaceInterop Native interoperation interface that allows drawing on a


surface object using a RECT to define the area to draw into.
This interface is available in C++ only.

ICompositionGraphicsDeviceInterop A native interoperation interface that allows getting and


setting the graphics device. This is interface is available in C++
only.
T IT L E DESC RIP T IO N

ICompositorInterop Native interoperation interface that allows creating swapchain


surfaces and graphics devices. This is interface is available in
C++ only.
WebDAV
2/7/2020 • 2 minutes to read • Edit Online

Overview of the WebDAV technology.


To develop WebDAV, you need these headers:
davclnt.h
For programming guidance for this technology, see:
WebDAV

Enumerations
T IT L E DESC RIP T IO N

AUTHNEXTSTEP Specifies the next action that the WebDAV client should take
after a successful call to the DavAuthCallback callback function.

Functions
T IT L E DESC RIP T IO N

DavAddConnection Creates a secure connection to a WebDAV server or to a


remote file or directory on a WebDAV server.

DavCancelConnectionsToServer Closes all connections to a WebDAV server or a remote file or


directory on a WebDAV server.

DavDeleteConnection Closes a connection that was created by using the


DavAddConnection function.

DavFlushFile Flushes the data from the local version of a remote file to the
WebDAV server.

DavGetExtendedError Retrieves the extended error code information that the


WebDAV server returned for the previous failed I/O operation.

DavGetHTTPFromUNCPath Converts the specified UNC path to an equivalent HTTP path.

DavGetTheLockOwnerOfTheFile Returns the file lock owner for a file that is locked on a
WebDAV server.

DavGetUNCFromHTTPPath Converts the specified HTTP path to an equivalent UNC path.

DavInvalidateCache Invalidates the contents of the local cache for a remote file on
a WebDAV server.

DavRegisterAuthCallback Registers an application-defined callback function that the


WebDAV client can use to prompt the user for credentials.
T IT L E DESC RIP T IO N

DavUnregisterAuthCallback Unregisters a registered callback function that the WebDAV


client uses to prompt the user for credentials.

PFNDAVAUTHCALLBACK The WebDAV client calls the application-defined


DavAuthCallback callback function to prompt the user for
credentials.

PFNDAVAUTHCALLBACK_FREECRED The WebDAV client calls the application-defined


DavFreeCredCallback callback function to free the credential
information that was retrieved by the DavAuthCallback
callback function.

Structures
T IT L E DESC RIP T IO N

DAV_CALLBACK_AUTH_BLOB Stores an authentication BLOB that was retrieved by the


DavAuthCallback callback function.

DAV_CALLBACK_AUTH_UNP Stores user name and password information that was retrieved
by the DavAuthCallback callback function.

DAV_CALLBACK_CRED Stores user credential information that was retrieved by the


DavAuthCallback callback function.
WebSocket Protocol Component API
2/7/2020 • 2 minutes to read • Edit Online

Overview of the WebSocket Protocol Component API technology.


To develop WebSocket Protocol Component API, you need these headers:
websocket.h
For programming guidance for this technology, see:
WebSocket Protocol Component API

Enumerations
T IT L E DESC RIP T IO N

WEB_SOCKET_ACTION Specifies actions to be taken by WebSocket applications.

WEB_SOCKET_ACTION_QUEUE Specifies the action types returned by WebSocketGetAction.

WEB_SOCKET_BUFFER_TYPE Specifies the bit values used to construct the WebSocket frame
header.

WEB_SOCKET_CLOSE_STATUS Specifies the WebSocket close status.

WEB_SOCKET_PROPERTY_TYPE Specifies a WebSocket property type.

Functions
T IT L E DESC RIP T IO N

WebSocketAbortHandle Aborts a WebSocket session handle created by


WebSocketCreateClientHandle or
WebSocketCreateServerHandle.

WebSocketBeginClientHandshake Begins the client-side handshake.

WebSocketBeginServerHandshake Begins the server-side handshake.

WebSocketCompleteAction Completes an action started by WebSocketGetAction.

WebSocketCreateClientHandle Creates a client-side WebSocket session handle.

WebSocketCreateServerHandle Creates a server-side WebSocket session handle.

WebSocketDeleteHandle Deletes a WebSocket session handle created by


WebSocketCreateClientHandle or
WebSocketCreateServerHandle.
T IT L E DESC RIP T IO N

WebSocketEndClientHandshake Completes the client-side handshake.

WebSocketEndServerHandshake Completes the server-side handshake.

WebSocketGetAction Returns an action from a call to WebSocketSend,


WebSocketReceive or WebSocketCompleteAction.

WebSocketGetGlobalProperty Gets a single WebSocket property.

WebSocketReceive Adds a receive operation to the protocol component


operation queue.

WebSocketSend Adds a send operation to the protocol component operation


queue.

Structures
T IT L E DESC RIP T IO N

WEB_SOCKET_BUFFER Contains data for a specific WebSocket action.

WEB_SOCKET_HTTP_HEADER Contains an HTTP header.

WEB_SOCKET_PROPERTY Contains a single WebSocket property.


WhqlProvider Provider
2/7/2020 • 2 minutes to read • Edit Online

Overview of the WhqlProvider Provider technology.


The WhqlProvider Provider technology is not associated with any headers.
For programming guidance for this technology, see:
WhqlProvider Provider
WIA
2/7/2020 • 8 minutes to read • Edit Online

Overview of the WIA technology.


To develop WIA, you need these headers:
wiavideo.h
For programming guidance for this technology, see:
WIA

Enumerations
T IT L E DESC RIP T IO N

WIAVIDEO_STATE The WIAVIDEO_STATE enumeration is used to specify the


current state of a video stream.

Functions
T IT L E DESC RIP T IO N

AddDeviceDlg This method is not implemented.

AnalyzeItem The IWiaItem::AnalyzeItem method causes the Windows


Image Acquisition (WIA) hardware device to acquire and try to
detect what data types are present.

BandedDataCallback Provides data transfer status notifications. Windows Image


Acquisition (WIA) data transfer methods of the
IWiaDataTransfer interface periodically call this method.

CancelPendingIO The IWiaItemExtras::CancelPendingIO method cancels all


pending input/output operations on the driver.

Clone The IEnumWIA_DEV_CAPS::Clone method creates an


additional instance of the IEnumWIA_DEV_CAPS interface and
sends back a pointer to it.

Clone The IEnumWIA_DEV_INFO::Clone method creates an


additional instance of the IEnumWIA_DEV_INFO interface and
sends back a pointer to it.

Clone The IEnumWIA_FORMAT_INFO::Clone method creates an


additional instance of the IEnumWIA_FORMAT_INFO interface
and returns an interface pointer to the new interface.

Clone The IEnumWiaItem::Clone method creates an additional


instance of the IEnumWiaItem interface and sends back a
pointer to it.
T IT L E DESC RIP T IO N

CreateChildItem The IWiaItem::CreateChildItem method is used by applications


to add IWiaItem objects to the IWiaItem tree of a device.

CreateDevice The IWiaDevMgr::CreateDevice creates a hierarchical tree of


IWiaItem objects for a Windows Image Acquisition (WIA)
device.

CreateVideoByDevNum The IWiaVideo::CreateVideoByDevNum method creates a


connection to a streaming video device with the device
number obtained from a Directshow enumeration.

CreateVideoByName The IWiaVideo::CreateVideoByName method creates a


connection to a streaming video device with the friendly
device name obtained from a Directshow enumeration.

CreateVideoByWiaDevID The IWiaVideo::CreateVideoByWiaDevID method creates a


connection to a streaming video device from its
WIA_DIP_DEV_ID property.

DeleteItem The IWiaItem::DeleteItem method removes the current


IWiaItem object from the object tree of the device.

DestroyVideo The IWiaVideo::DestroyVideo method shuts down the


streaming video. To restart video playback, the application
must call one of the IWiaVideo CreateVideo methods again.

DeviceCommand The IWiaItem::DeviceCommand issues a command to a


Windows Image Acquisition (WIA) hardware device.

DeviceDlg The IWiaItem::DeviceDlg method is used by applications to


display a dialog box to the user to prepare for image
acquisition.

Diagnostic This method is not supported.

DumpDrvItemData This method is not supported.

DumpItemData This method is not supported.

DumpTreeItemData This method is not supported.

EnumChildItems The IWiaItem::EnumChildItems method creates an enumerator


object and passes back a pointer to its IEnumWiaItem
interface for non-empty folders in a IWiaItem tree of a
Windows Image Acquisition (WIA) device.

EnumDeviceCapabilities The IWiaItem::EnumDeviceCapabilities method creates an


enumerator that is used to ascertain the commands and
events a Windows Image Acquisition (WIA) device supports.

EnumDeviceInfo Applications use the IWiaDevMgr::EnumDeviceInfo method to


enumerate property information for each available Windows
Image Acquisition (WIA) device.
T IT L E DESC RIP T IO N

EnumRegisterEventInfo The IWiaItem::EnumRegisterEventInfo method creates an


enumerator used to obtain information about events for
which an application is registered.

Escape The IWiaItemExtras::Escape method sends a request for a


vendor-specific I/O operation to a still image device.

FindItemByName The IWiaItem::FindItemByName method searches an item's


tree of sub-items using the name as the search key. Each
IWiaItem object has a name as one of its standard properties.

get_ImagesDirectory The IWiaVideo::ImagesDirectory property specifies the full


path and directory where images are stored when calling the
IWiaVideo::TakePicture method.

get_PreviewVisible The IWiaVideo::PreviewVisible property specifies whether the


video playback is visible in its parent window. This does not
affect the WIAVIDEO_STATE of the video.

GetCount The IEnumWIA_DEV_CAPS::GetCount method returns the


number of elements stored by this enumerator.

GetCount The IEnumWIA_DEV_INFO::GetCount method returns the


number of elements stored by this enumerator.

GetCount The IEnumWIA_FORMAT_INFO::GetCount method returns the


number of elements stored by this enumerator.

GetCount The IEnumWiaItem::GetCount method returns the number of


elements stored by this enumerator.

GetCount The IWiaPropertyStorage::GetCount method returns the


number of properties stored in the property storage.

GetCurrentState The IWiaVideo::GetCurrentState method specifies the state of


the video stream as a member of the WIAVIDEO_STATE
enumeration.

GetExtendedErrorInfo The IWiaItemExtras::GetExtendedErrorInfo method gets a


string from the device driver that contains information about
the most recent error.

GetImageDlg The IWiaDevMgr::GetImageDlg method displays one or more


dialog boxes that enable a user to acquire an image from a
Windows Image Acquisition (WIA) device and write the image
to a specified file.

GetItemType The IWiaItem::GetItemType method is called by applications to


obtain the type information of an item.

GetPropertyAttributes The IWiaPropertyStorage::GetPropertyAttributes method


retrieves access rights and legal value information for a
specified set of properties.
T IT L E DESC RIP T IO N

GetPropertyStream The IWiaPropertyStorage::GetPropertyStream method


retrieves the property stream of an item.

GetRootItem The IWiaItem::GetRootItem method retrieves the root item of


a tree of item objects used to represent a Windows Image
Acquisition (WIA) hardware device.

hResult This method is not supported.

hResult This method is not supported.

hResultEx This method is not supported.

idtEnumWIA_FORMAT_INFO The IWiaDataTransfer::idtEnumWIA_FORMAT_INFO method


creates a banded transfer implementation of the
IEnumWIA_FORMAT_INFO interface.

idtGetBandedData The IWiaDataTransfer::idtGetBandedData method transfers a


band of data from a hardware device to an application. For
efficiency, applications retrieve data from Windows Image
Acquisition (WIA) hardware devices in successive bands.

idtGetData The IWiaDataTransfer::idtGetData method retrieves complete


files from a Windows Image Acquisition (WIA) device.

idtGetExtendedTransferInfo The IWiaDataTransfer::idtGetExtendedTransferInfo retrieves


extended information relating to data transfer buffers in the
case of banded data transfers.

idtQueryGetData The IWiaDataTransfer::idtQueryGetData method is used by


applications to query a Windows Image Acquisition (WIA)
device to determine what types of data formats it supports.

ImageEventCallback The IWiaEventCallback::ImageEventCallback method is invoked


by the Windows Image Acquisition (WIA) run-time system
when a hardware device event occurs.

InitializeLog This method is not supported.

InitializeLogEx This method is not supported.

Log This method is not supported.

Log This method is not supported.

LogEx This method is not supported.

NewDeviceArrival This method is not implemented.

Next The IEnumWIA_DEV_CAPS::Next method fills an array of


pointers to WIA_DEV_CAP structures.
T IT L E DESC RIP T IO N

Next The IEnumWIA_DEV_INFO::Next method fills an array of


pointers to IWiaPropertyStorage interfaces.

Next The IEnumWIA_FORMAT_INFO::Next method returns an array


of WIA_FORMAT_INFO structures.

Next The IEnumWiaItem::Next method fills an array of pointers to


IWiaItem interfaces.

Pause The IWiaVideo::Pause method pauses video playback.

Play Begins playback of streaming video.

put_ImagesDirectory The IWiaVideo::ImagesDirectory property specifies the full


path and directory where images are stored when calling the
IWiaVideo::TakePicture method.

put_PreviewVisible The IWiaVideo::PreviewVisible property specifies whether the


video playback is visible in its parent window. This does not
affect the WIAVIDEO_STATE of the video.

RegisterEventCallbackCLSID The IWiaDevMgr::RegisterEventCallbackCLSID method


registers an application to receive events even if the
application may not be running.

RegisterEventCallbackInterface The IWiaDevMgr::RegisterEventCallbackInterface method


registers a running application Windows Image Acquisition
(WIA) event notification.

RegisterEventCallbackProgram The IWiaDevMgr::RegisterEventCallbackProgram method


registers an application to receive device events. It is primarily
provided for backward compatibility with applications that
were not written for WIA.

Reset The IEnumWIA_DEV_CAPS::Reset method is used by


applications to restart the enumeration of device capabilities.

Reset The IEnumWIA_DEV_INFO::Reset method is used by


applications to restart the enumeration of device information.

Reset The IEnumWIA_FORMAT_INFO::Reset method sets the


enumeration back to the first WIA_FORMAT_INFO structure.

Reset The IEnumWiaItem::Reset method is used by applications to


restart the enumeration of item information.

ResizeVideo The IWiaVideo::ResizeVideo method resizes the video playback


to the largest supported resolution that fits inside the parent
window. Call this method whenever the parent window is
moved or resized.

SelectDeviceDlg The IWiaDevMgr::SelectDeviceDlg displays a dialog box that


enables the user to select a hardware device for image
acquisition.
T IT L E DESC RIP T IO N

SelectDeviceDlgID The IWiaDevMgr::SelectDeviceDlgID method displays a dialog


box that enables the user to select a hardware device for
image acquisition.

SetPropertyStream The IWiaPropertyStorage::SetPropertyStream sets the


property stream of an item in the tree of IWiaItem objects of a
Windows Image Acquisition (WIA) hardware device.

Skip The IEnumWIA_DEV_CAPS::Skip method skips the specified


number of hardware device capabilities during an enumeration
of available device capabilities.

Skip The IEnumWIA_DEV_INFO::Skip method skips the specified


number of hardware devices during an enumeration of
available devices.

Skip The IEnumWIA_FORMAT_INFO::Skip method skips the


specified number of structures in the enumeration.

Skip The IEnumWiaItem::Skip method skips the specified number of


items during an enumeration of available IWiaItem objects.

TakePicture The IWiaVideo::TakePicture method extracts a still image from


the video stream, and saves the image as a JPEG file.

Interfaces
T IT L E DESC RIP T IO N

IEnumWIA_DEV_CAPS The IEnumWIA_DEV_CAPS interface enumerates the currently


available Windows Image Acquisition (WIA) hardware device
capabilities. Device capabilities include commands and events
that the device supports.

IEnumWIA_DEV_INFO The IEnumWIA_DEV_INFO interface enumerates the currently


available Windows Image Acquisition (WIA) hardware devices
and their properties. Device information properties describe
the installation and configuration of WIA hardware devices.

IEnumWIA_FORMAT_INFO Use the IEnumWIA_FORMAT_INFO interface to enumerate the


format and media type information for a device.

IEnumWiaItem The IEnumWiaItem interface is used by applications to


enumerate IWiaItem objects in the tree's current folder.

IWiaDataCallback Provides an application callback mechanism during data


transfers from Windows Image Acquisition (WIA) hardware
devices to applications.Note For Windows Vista applications,
use IWiaTransferCallback instead of IWiaDataCallback.

IWiaDataTransfer The IWiaDataTransfer interface is a high performance data


transfer interface.
T IT L E DESC RIP T IO N

IWiaDevMgr Applications use the IWiaDevMgr interface to create and


manage image acquisition devices.

IWiaEventCallback The IWiaEventCallback interface is used by applications to


receive notification of Windows Image Acquisition (WIA)
hardware device events.

IWiaItem Each Windows Image Acquisition (WIA) hardware device is


represented to an application as a hierarchical tree of IWiaItem
objects.

IWiaItemExtras The IWiaItemExtras interface provides several methods that


enable applications to communicate with hardware drivers.

IWiaLog This interface is not supported.

IWiaLogEx This interface is not supported.

IWiaNotifyDevMgr This interface is not implemented.

IWiaPropertyStorage The IWiaPropertyStorage interface is used to access


information about the IWiaItem object's properties.
Applications must query an item to obtain its
IWiaPropertyStorage interface.

IWiaVideo The IWiaVideo interface provides methods that allow an


application that uses Windows Image Acquisition (WIA)
services to acquire still images from a streaming video
device.Note WIA does not support video devices in Windows
Server 2003, Windows Vista, and later. For those versions of
the Windows, use DirectShow to acquire images from video.

Structures
T IT L E DESC RIP T IO N

WIA_DATA_CALLBACK_HEADER The WIA_DATA_CALLBACK_HEADER is transmitted to an


application during a series of calls by the Windows Image
Acquisition (WIA) run-time system to the
IWiaDataCallback::BandedDataCallback method.

WIA_DATA_TRANSFER_INFO The WIA_DATA_TRANSFER_INFO structure is used by


applications to describe the buffer used to retrieve bands of
data from Windows Image Acquisition (WIA) devices. It is
primarily used in conjunction with the methods of the
IWiaDataTransfer interface.

WIA_DEV_CAP Applications use the WIA_DEV_CAP structure to enumerate


device capabilities. A device capability is defined by an event or
command that the device supports. For more information, see
IEnumWIA_DEV_CAPS.
T IT L E DESC RIP T IO N

WIA_DITHER_PATTERN_DATA The WIA_DITHER_PATTERN_DATA structure specifies a dither


pattern for scanners. It is used in conjunction with the scanner
device property constant WIA_DPS_DITHER_PATTERN_DATA.

WIA_EXTENDED_TRANSFER_INFO The WIA_EXTENDED_TRANSFER_INFO structure specifies


extended transfer information for the
IWiaDataTransfer::idtGetExtendedTransferInfo method.

WIA_FORMAT_INFO The WIA_FORMAT_INFO structure specifies valid format and


media type pairs for a device.

WIA_PROPID_TO_NAME Provides a quick means by which applications can look up the


standard Windows Image Acquisition (WIA) property name
from the WIA property ID (or vice versa).
Window Stations and Desktops
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Window Stations and Desktops technology.


The Window Stations and Desktops technology is not associated with any headers.
For programming guidance for this technology, see:
Window Stations and Desktops

Functions
T IT L E DESC RIP T IO N

CloseDesktop Closes an open handle to a desktop object.

CloseWindowStation Closes an open window station handle.

CreateDesktopA Creates a new desktop, associates it with the current window


station of the calling process, and assigns it to the calling
thread.

CreateDesktopExA Creates a new desktop with the specified heap, associates it


with the current window station of the calling process, and
assigns it to the calling thread.

CreateDesktopExW Creates a new desktop with the specified heap, associates it


with the current window station of the calling process, and
assigns it to the calling thread.

CreateDesktopW Creates a new desktop, associates it with the current window


station of the calling process, and assigns it to the calling
thread.

CreateWindowStationA Creates a window station object, associates it with the calling


process, and assigns it to the current session.

CreateWindowStationW Creates a window station object, associates it with the calling


process, and assigns it to the current session.

EnumDesktopsA Enumerates all desktops associated with the specified window


station of the calling process. The function passes the name of
each desktop, in turn, to an application-defined callback
function.

EnumDesktopsW Enumerates all desktops associated with the specified window


station of the calling process. The function passes the name of
each desktop, in turn, to an application-defined callback
function.
T IT L E DESC RIP T IO N

EnumDesktopWindows Enumerates all top-level windows associated with the specified


desktop. It passes the handle to each window, in turn, to an
application-defined callback function.

EnumWindowStationsA Enumerates all window stations in the current session. The


function passes the name of each window station, in turn, to
an application-defined callback function.

EnumWindowStationsW Enumerates all window stations in the current session. The


function passes the name of each window station, in turn, to
an application-defined callback function.

GetProcessWindowStation Retrieves a handle to the current window station for the calling
process.

GetThreadDesktop Retrieves a handle to the desktop assigned to the specified


thread.

GetUserObjectInformationA Retrieves information about the specified window station or


desktop object.

GetUserObjectInformationW Retrieves information about the specified window station or


desktop object.

OpenDesktopA Opens the specified desktop object.

OpenDesktopW Opens the specified desktop object.

OpenInputDesktop Opens the desktop that receives user input.

OpenWindowStationA Opens the specified window station.

OpenWindowStationW Opens the specified window station.

SetProcessWindowStation Assigns the specified window station to the calling process.

SetThreadDesktop Assigns the specified desktop to the calling thread. All


subsequent operations on the desktop use the access rights
granted to the desktop.

SetUserObjectInformationA Sets information about the specified window station or


desktop object.

SetUserObjectInformationW Sets information about the specified window station or


desktop object.

SwitchDesktop Makes the specified desktop visible and activates it. This
enables the desktop to receive input from the user.

Structures
T IT L E DESC RIP T IO N

USEROBJECTFLAGS Contains information about a window station or desktop


handle.
Windows Accessibility Features
4/3/2020 • 79 minutes to read • Edit Online

Overview of the Windows Accessibility Features technology.


To develop Windows Accessibility Features, you need these headers:
oleacc.h
uiautomationclient.h
uiautomationcore.h
uiautomationcoreapi.h
For programming guidance for this technology, see:
Windows Accessibility Features

Enumerations
T IT L E DESC RIP T IO N

ActiveEnd Contains possible values for the SelectionActiveEnd text


attribute, which indicates the location of the caret relative to a
text range that represents the currently selected text.

AnimationStyle Contains values for the AnimationStyle text attribute.

AsyncContentLoadedState Contains values that describe the progress of asynchronous


loading of content.

AutomationElementMode Contains values that specify the type of reference to use when
returning UI Automation elements.

AutomationElementMode Contains values that specify the type of reference to use when
returning UI Automation elements.

AutomationIdentifierType Contains values used in the UiaLookupId function.

BulletStyle Contains values for the BulletStyle text attribute.

CapStyle Contains values that specify the value of the CapStyle text
attribute.

CaretBidiMode Contains possible values for the CaretBidiMode text attribute,


which indicates whether the caret is in text that flows from left
to right, or from right to left.

CaretPosition Contains possible values for the CaretPosition text attribute,


which indicates the location of the caret relative to a line of
text in a text range.
T IT L E DESC RIP T IO N

CoalesceEventsOptions Contains possible values for the CoalesceEvents property,


which indicates whether an accessible technology client
receives all events, or a subset where duplicate events are
detected and filtered.

ConditionType Contains values that specify a type of UiaCondition.

ConnectionRecoveryBehaviorOptions Contains possible values for the ConnectionRecoveryBehavior


property, which indicates whether an accessible technology
client adjusts provider request timeouts when the provider is
non-responsive.

DockPosition Contains values that specify the location of a docking window


represented by the Dock control pattern.

EventArgsType Contains values that specify the event type described by a


UiaEventArgs structure.

ExpandCollapseState Contains values that specify the state of a UI element that can
be expanded and collapsed.

FillType Contains values for the FillType attribute.

FlowDirections Contains values for the TextFlowDirections text attribute.

LiveSetting Contains possible values for the LiveSetting property. This


property is implemented by provider elements that are part
of a live region.

NavigateDirection Contains values used to specify the direction of navigation


within the Microsoft UI Automation tree.

NormalizeState Contains values that specify the behavior of


UiaGetUpdatedCache.

NotificationKind Defines values that indicate the type of a notification event,


and a hint to the listener about the processing of the event.

NotificationProcessing Defines values that indicate how a notification should be


processed.

OrientationType Contains values that specify the orientation of a control.

OutlineStyles Contains values for the OutlineStyle text attribute.

PropertyConditionFlags Contains values used in creating property conditions.

PropertyConditionFlags Contains values used in creating property conditions.

ProviderOptions Contains values that specify the type of UI Automation


provider. The IRawElementProviderSimple::ProviderOptions
property uses this enumeration.
T IT L E DESC RIP T IO N

ProviderType Contains values that specify the type of a client-side (proxy) UI


Automation provider.

RowOrColumnMajor Contains values that specify whether data in a table should be


read primarily by row or by column.

SayAsInterpretAs Defines the values that indicate how a text-to-speech engine


should interpret specific data.

ScrollAmount Contains values that specify the direction and distance to


scroll.

StructureChangeType Contains values that specify the type of change in the


Microsoft UI Automation tree structure.

SupportedTextSelection Contains values that specify the supported text selection


attribute.

SynchronizedInputType Contains values that specify the type of synchronized input.

TextDecorationLineStyle Contains values that specify the OverlineStyle,


StrikethroughStyle, and UnderlineStyle text attributes.

TextEditChangeType Describes the text editing change being performed by controls


when text-edit events are raised or handled.

TextPatternRangeEndpoint Contains values that specify the endpoints of a text range.

TextUnit Contains values that specify units of text for the purposes of
navigation.

ToggleState Contains values that specify the toggle state of a Microsoft UI


Automation element that implements the Toggle control
pattern.

TreeScope Contains values that specify the scope of various operations in


the Microsoft UI Automation tree.

TreeScope Contains values that specify the scope of various operations in


the Microsoft UI Automation tree.

TreeTraversalOptions Defines values that can be used to customize tree navigation


order.

TreeTraversalOptions Defines values that can be used to customize tree navigation


order.

UIAutomationType Contains values used to indicate Microsoft UI Automation


data types.

VisualEffects Contains values for the VisualEffects attribute.


T IT L E DESC RIP T IO N

WindowInteractionState Contains values that specify the current state of the window
for purposes of user interaction.

WindowVisualState Contains values that specify the visual state of a window.

ZoomUnit Contains possible values for the


IUIAutomationTransformPattern2::ZoomByUnit method, which
zooms the viewport of a control by the specified unit.

Functions
T IT L E DESC RIP T IO N

accDoDefaultAction The IAccessible::accDoDefaultAction method performs the


specified object's default action. Not all objects have a default
action.

AccessibleChildren Retrieves the child ID or IDispatch of each child within an


accessible container object.

AccessibleObjectFromEvent Retrieves the address of the IAccessible interface for the object
that generated the event that is currently being processed by
the client's event hook function.

AccessibleObjectFromID The AccessibleObjectFromID method retrieves an


IAccessibleinterface pointer for the interface associated with
the given object ID. Oleacc.dll uses this method to obtain an
IAccessible interface pointer for proxies that are supplied by
other code.

AccessibleObjectFromPoint Retrieves the address of the IAccessible interface pointer for


the object displayed at a specified point on the screen.

AccessibleObjectFromWindow Retrieves the address of the specified interface for the object
associated with the specified window.

accHitTest The IAccessible::accHitTest method retrieves the child element


or child object that is displayed at a specific point on the
screen.

accLocation The IAccessible::accLocation method retrieves the specified


object's current screen location. All visual objects must
support this method. Sound objects do not support this
method.

accNavigate The IAccessible::accNavigate method traverses to another UI


element within a container and retrieves the object. This
method is optional.

AccNotifyTouchInteraction Allows an assistive technology (AT) application to notify the


system that it is interacting with UI through a Windows
Automation API (such as Microsoft UI Automation) as a result
of a touch gesture from the user.
T IT L E DESC RIP T IO N

accSelect The IAccessible::accSelect method modifies the selection or


moves the keyboard focus of the specified object. All objects
that support selection or receive the keyboard focus must
support this method.

AccSetRunningUtilityState Sets system values that indicate whether an assistive


technology (AT) application's current state affects functionality
that is typically provided by the system.

AcquireObjectIdRange Acquires a range of object IDs from the control host and
marks them as reserved by a specific windowless control.

AddActiveTextPositionChangedEventHandler Registers a method that handles when the active text position
changes.

AddActiveTextPositionChangedEventHandler Registers a method (in an event handler group) that handles


when the active text position changes.

AddAutomationEvent Raises a Microsoft UI Automation event.

AddAutomationEventHandler Registers a method that handles Microsoft UI Automation


events.Note Before implementing an event handler, you
should be familiar with the threading issues described in
Understanding Threading Issues.

AddAutomationEventHandler Registers a method that handles Microsoft UI Automation


events.

AddAutomationPropertyChangedEvent Raises a property-changed event.

AddChangesEventHandler Registers a method that handles change events.Note Before


implementing an event handler, you should be familiar with
the threading issues described in Understanding Threading
Issues.

AddChangesEventHandler Registers a method that handles change events.

AddEventHandlerGroup Registers a collection of event handler methods specified with


the CreateEventHandlerGroup.

AddFocusChangedEventHandler Registers a method that handles focus-changed


events.Note Before implementing an event handler, you
should be familiar with the threading issues described in
Understanding Threading Issues.

AddNotificationEventHandler Registers a method that handles notification


events.Note Before implementing an event handler, you
should be familiar with the threading issues described in
Understanding Threading Issues.

AddNotificationEventHandler Registers a method that handles notification events.

AddPattern Adds a control pattern to the cache request.


T IT L E DESC RIP T IO N

AddProperty Adds a property to the cache request.

AddPropertyChangedEventHandler Registers a method that handles and array of property-


changed events.

AddPropertyChangedEventHandler Registers a method that handles a property-changed event.

AddPropertyChangedEventHandlerNativeArray Registers a method that handles a native array of property-


changed events.

AddStructureChangedEvent Raises an event to notify clients that the structure of the UI


Automation tree has changed.

AddStructureChangedEventHandler Registers a method that handles structure-changed


events.Note Before implementing an event handler, you
should be familiar with the threading issues described in
Understanding Threading Issues.

AddStructureChangedEventHandler Registers a method that handles structure-changed events.

AddTextEditTextChangedEventHandler Registers a method that handles programmatic text-edit


events.Note Before implementing an event handler, you
should be familiar with the threading issues described in
Understanding Threading Issues.

AddTextEditTextChangedEventHandler Registers a method that handles programmatic text-edit


events.

AddToSelection Adds the current element to the collection of selected items.

AddToSelection Adds the text range to the collection of selected text ranges in
a control that supports multiple, disjoint spans of selected
text.

AddToSelection Adds the current element to the collection of selected items.

AddToSelection Adds the text range to the collection of selected text ranges in
a control that supports multiple, disjoint spans of selected
text.

AdviseEventAdded Notifies the Microsoft UI Automation provider when a UI


Automation client begins listening for a specific event,
including a property-changed event.

AdviseEventRemoved Notifies the Microsoft UI Automation provider when a UI


Automation client stops listening for a specific event, including
a property-changed event.

BuildUpdatedCache Retrieves a new UI Automation element with an updated


cache.

CallMethod Client wrapper implements methods by calling this


CallMethod function, specifying the parameters as an array of
pointers.
T IT L E DESC RIP T IO N

Cancel Cancels listening for input.

Cancel Causes the Microsoft UI Automation provider to stop


listening for mouse or keyboard input.

CheckNotSupported Checks a provided VARIANT to see if it contains the Not


Supported identifier.

ClearHmenuProps This method wraps ClearProps, and provides a convenient


entry point for callers who are annotating HMENU-based
accessible elements.

ClearHwndProps This method wraps SetPropValue, SetPropServer, and


ClearProps, and provides a convenient entry point for callers
who are annotating HWND-based accessible elements.

ClearProps Servers use ClearProps to restore default values to properties


of accessible elements that they had previously annotated.

ClearTable Removes all entries from the proxy factory table.

Clone Returns a new ITextRangeProvider identical to the original


ITextRangeProvider and inheriting all properties of the original.

Clone Creates a copy of the cache request.

Clone Retrieves a new IUIAutomationTextRange identical to the


original and inheriting all properties of the original.

Close Attempts to close the window.

Close Closes the window.

CoCreateLocally Clients call ICoCreateLocally::CoCreateLocally to create a


helper object in the same context as the server object.

Collapse Hides all child nodes, controls, or content of this element.

Collapse Hides all child nodes, controls, or content of the element.

Compare Retrieves a value that specifies whether this text range has the
same endpoints as another text range.

Compare Retrieves a value that specifies whether this text range has the
same endpoints as another text range.

CompareElements Compares two UI Automation elements to determine whether


they represent the same underlying UI element.

CompareEndpoints Returns a value that specifies whether two text ranges have
identical endpoints.
T IT L E DESC RIP T IO N

CompareEndpoints Retrieves a value that specifies whether the start or end


endpoint of this text range is the same as the start or end
endpoint of another text range.

CompareRuntimeIds Compares two integer arrays containing run-time identifiers


(IDs) to determine whether their content is the same and they
belong to the same UI element.

ComposeHmenuIdentityString Callers use ComposeHmenuIdentityString to retrieve an


identity string for an HMENU-based accessible element.

ComposeHwndIdentityString Callers use ComposeHwndIdentityString to retrieve an identity


string.

ConvertReturnedElement Retrieves the IAccessibleEx interface of an element returned as


a property value.

ConvertValueToString Clients call the IAccDictionary::ConvertValueToString method


to convert a value to a localized string.

CreateAndCondition Creates a condition that selects elements that match both of


two conditions.

CreateAndConditionFromArray Creates a condition that selects elements based on multiple


conditions, all of which must be true.

CreateAndConditionFromNativeArray Creates a condition that selects elements from a native array,


based on multiple conditions that must all be true.

CreateCacheRequest Creates a cache request.

CreateClientWrapper Creates an object that enables a client application to interact


with a custom control pattern.

CreateEventHandlerGroup Registers one or more event listeners in a single method call.

CreateFalseCondition Creates a condition that is always false.

CreateNotCondition Creates a condition that is the negative of a specified


condition.

CreateOrCondition Creates a combination of two conditions where a match exists


if either of the conditions is true.

CreateOrConditionFromArray Creates a combination of two or more conditions where a


match exists if any of the conditions is true.

CreateOrConditionFromNativeArray Creates a combination of two or more conditions where a


match exists if any one of the conditions is true.

CreatePropertyCondition Creates a condition that selects elements that have a property


with the specified value.
T IT L E DESC RIP T IO N

CreatePropertyConditionEx Creates a condition that selects elements that have a property


with the specified value, using optional flags.

CreateProvider Creates a proxy object that provides Microsoft UI Automation


support for a UI element.

CreateProxyFactoryEntry Creates a new instance of a proxy factory object.

CreateStdAccessibleObject Creates an accessible object with the methods and properties


of the specified type of system-provided user interface
element.

CreateStdAccessibleProxyA Creates an accessible object that has the properties and


methods of the specified class of system-provided user
interface element.

CreateStdAccessibleProxyW Creates an accessible object that has the properties and


methods of the specified class of system-provided user
interface element.

CreateTreeWalker Retrieves a tree walker object that can be used to traverse the
Microsoft UI Automation tree.

CreateTrueCondition Retrieves a predefined condition that selects all elements.

DecomposeHmenuIdentityString Use this method to determine the HMENU, object ID, and
child ID for the accessible element identified by the identity
string.

DecomposeHwndIdentityString Use this method to determine the HWND, object ID, and child
ID for the accessible element identified by the identity string.

Dispatch Dispatches a method or property getter to a custom control


pattern provider.

DockPattern_SetDockPosition Docks the UI Automation element at the requested


dockPosition within a docking container.

DoDefaultAction Performs the default action on the control.

DoDefaultAction Performs the Microsoft Active Accessibility default action for


the element.

ElementFromHandle Retrieves a UI Automation element for the specified window.

ElementFromHandleBuildCache Retrieves a UI Automation element for the specified window,


prefetches the requested properties and control patterns, and
stores the prefetched items in the cache.

ElementFromIAccessible Retrieves a UI Automation element for the specified accessible


object from a Microsoft Active Accessibility server.
T IT L E DESC RIP T IO N

ElementFromIAccessibleBuildCache Retrieves a UI Automation element for the specified accessible


object from a Microsoft Active Accessibility server, prefetches
the requested properties and control patterns, and stores the
prefetched items in the cache.

ElementFromPoint Retrieves the UI Automation element at the specified point on


the desktop.

ElementFromPointBuildCache Retrieves the UI Automation element at the specified point on


the desktop, prefetches the requested properties and control
patterns, and stores the prefetched items in the cache.

ElementProviderFromPoint Retrieves the provider of the element that is at the specified


point in this fragment.

Expand Displays all child nodes, controls, or content of the control.

Expand Displays all child nodes, controls, or content of the element.

ExpandCollapsePattern_Collapse Hides all descendant nodes, controls, or content of the UI


Automation element.

ExpandCollapsePattern_Expand Expands a control on the screen so that it shows more


information.

ExpandToEnclosingUnit Normalizes the text range by the specified text unit. The range
is expanded if it is smaller than the specified unit, or
shortened if it is longer than the specified unit.

ExpandToEnclosingUnit Normalizes the text range by the specified text unit. The range
is expanded if it is smaller than the specified unit, or
shortened if it is longer than the specified unit.

FindAll Returns all UI Automation elements that satisfy the specified


condition.

FindAllBuildCache Returns all UI Automation elements that satisfy the specified


condition, prefetches the requested properties and control
patterns, and stores the prefetched items in the cache.

FindAllWithOptions Find all matching elements in the specified order.

FindAllWithOptionsBuildCache Finds all matching elements in the specified order, but also
caches their properties and patterns.

FindAttribute Returns a text range subset that has the specified text
attribute value.

FindAttribute Retrieves a text range subset that has the specified text
attribute value.

FindFirst Retrieves the first child or descendant element that matches


the specified condition.
T IT L E DESC RIP T IO N

FindFirstBuildCache Retrieves the first child or descendant element that matches


the specified condition, prefetches the requested properties
and control patterns, and stores the prefetched items in the
cache.

FindFirstWithOptions Finds the first matching element in the specified order.

FindFirstWithOptionsBuildCache Finds the first matching element in the specified order, but
also caches its properties and pattern.

FindItemByProperty Retrieves an element within a containing element, based on a


specified property value.

FindItemByProperty Retrieves an element within a containing element, based on a


specified property value.

FindText Returns a text range subset that contains the specified text.

FindText Retrieves a text range subset that contains the specified text.

get_accChild The IAccessible::get_accChild method retrieves an IDispatch


for the specified child, if one exists. All objects must support
this property.

get_accChildCount The IAccessible::get_accChildCount method retrieves the


number of children that belong to this object. All objects must
support this property.

get_accDefaultAction The IAccessible::get_accDefaultAction method retrieves a


string that indicates the object's default action. Not all objects
have a default action.

get_accDescription The IAccessible::get_accDescription method retrieves a string


that describes the visual appearance of the specified object.
Not all objects have a description.

get_accFocus The IAccessible::get_accFocus method retrieves the object that


has the keyboard focus. All objects that may receive the
keyboard focus must support this property.

get_accHelp The IAccessible::get_accHelp method retrieves the Help


property string of an object. Not all objects support this
property.

get_accHelpTopic The IAccessible::get_accHelpTopic method retrieves the full


path of the WinHelp file that is associated with the specified
object; it also retrieves the identifier of the appropriate topic
within that file.

get_accKeyboardShortcut The IAccessible::get_accKeyboardShortcut method retrieves


the specified object's shortcut key or access key, also known
as the mnemonic. All objects that have a shortcut key or an
access key support this property.
T IT L E DESC RIP T IO N

get_accName The IAccessible::get_accName method retrieves the name of


the specified object. All objects support this property.

get_accParent The IAccessible::get_accParent method retrieves the IDispatch


of the object's parent. All objects support this property.

get_accRole The IAccessible::get_accRole method retrieves information that


describes the role of the specified object. All objects support
this property.

get_accSelection The IAccessible::get_accSelection method retrieves the selected


children of this object. All objects that support selection must
support this property.

get_accState The IAccessible::get_accState method retrieves the current


state of the specified object. All objects support this property.

get_accValue The IAccessible::get_accValue method retrieves the value of


the specified object. Not all objects have a value.

get_AllowSubstringMatch Sets or retrieves a value that specifies whether the proxy


allows substring matching.

get_AnnotationTypeId The annotation type identifier of this annotation.

get_AnnotationTypeName The name of this annotation type.

get_Author The name of the annotation author.

get_AutomationElementMode Indicates whether returned elements contain full references to


the underlying UI, or only cached information.

get_AutoSetFocus Specifies whether calls to UI Automation control pattern


methods automatically set focus to the target element.

get_BooleanValue Retrieves the value of the condition:_either TRUE or FALSE.

get_BoundingRectangle Specifies the bounding rectangle of this element.

get_CachedAcceleratorKey Retrieves the cached accelerator key for the element.

get_CachedAccessKey Retrieves the cached access key character for the element.

get_CachedAnnotationObjects Returns the cached list of annotation objects associated with


this element, such as comment, header, footer, and so on.

get_CachedAnnotationTypeId Retrieves a cached value that identifies this annotation's type.

get_CachedAnnotationTypeName Retrieves the cached localized name of this annotation's type.

get_CachedAnnotationTypes Returns the cached list of annotation types associated with


this element, such as comment, header, footer, and so on.
T IT L E DESC RIP T IO N

get_CachedAriaProperties Retrieves the cached Accessible Rich Internet Applications


(ARIA) properties of the element.

get_CachedAriaRole Retrieves the cached Accessible Rich Internet Applications


(ARIA) role of the element.

get_CachedAuthor Retrieves the cached name of the annotation author.

get_CachedAutomationId Retrieves the cached Microsoft UI Automation identifier of the


element.

get_CachedBoundingRectangle Retrieves the cached coordinates of the rectangle that


completely encloses the element.

get_CachedCanMaximize Retrieves a cached value that indicates whether the window


can be maximized.

get_CachedCanMinimize Retrieves a cached value that indicates whether the window


can be minimized.

get_CachedCanMove Retrieves a cached value that indicates whether the element


can be moved.

get_CachedCanResize Retrieves a cached value that indicates whether the element


can be resized.

get_CachedCanRotate Retrieves a cached value that indicates whether the element


can be rotated.

get_CachedCanSelectMultiple Retrieves a cached value that indicates whether more than


one item in the container can be selected at one time.

get_CachedCanZoom Retrieves a cached value that indicates whether the control


supports zooming of its viewport.

get_CachedChildId Retrieves the cached Microsoft Active Accessibility child


identifier for the element.

get_CachedClassName Retrieves the cached class name of the element.

get_CachedColumn Retrieves the cached zero-based index of the column that


contains the grid item.

get_CachedColumnCount Retrieves the cached number of columns in the grid.

get_CachedColumnSpan Retrieves the cached number of columns spanned by the grid


item.

get_CachedContainingGrid Retrieves the cached element that contains the grid item.

get_CachedControllerFor Retrieves a cached array of UI Automation elements for which


this element serves as the controller.
T IT L E DESC RIP T IO N

get_CachedControlType Retrieves a cached value that indicates the control type of the
element.

get_CachedCulture Retrieves a cached value that indicates the culture associated


with the element.

get_CachedCurrentSelectedItem Gets a cached IUIAutomationElement object representing the


currently selected item.

get_CachedCurrentView Retrieves the cached control-specific identifier of the current


view of the control.

get_CachedDateTime Retrieves the cached date and time that this annotation was
created.

get_CachedDefaultAction Retrieves the Microsoft Active Accessibility cached default


action for the element.

get_CachedDescribedBy Retrieves a cached array of elements that describe this


element.

get_CachedDescription Retrieves the cached Microsoft Active Accessibility description


of the element.

get_CachedDockPosition Retrieves the cached dock position of this element within its
docking container.

get_CachedDropEffect Retrieves a cached localized string that indicates what happens


when the user drops this element as part of a drag-and-drop
operation.

get_CachedDropEffects Retrieves a cached array of localized strings that enumerate


the full set of effects that can happen when the user drops
this element as part of a drag-and-drop operation.

get_CachedDropTargetEffect Retrieves a cached localized string that describes what


happens when the user drops the grabbed element on this
drop target.

get_CachedDropTargetEffects Retrieves a cached array of localized strings that enumerate


the full set of effects that can happen when the user drops a
grabbed element on this drop target as part of a drag-and-
drop operation.

get_CachedExpandCollapseState Retrieves a cached value that indicates the state, expanded or


collapsed, of the element.

get_CachedExtendedProperties Retrieves a cached localized string that contains the list of


extended properties for an element in a document.

get_CachedFillColor Retrieves the cached fill color of an element in a document.

get_CachedFillPatternColor Retrieves the cached color of the pattern used to fill an


element in a document.
T IT L E DESC RIP T IO N

get_CachedFirstSelectedItem Gets a cached IUIAutomationElement object representing the


first item in a group of selected items.

get_CachedFlowsFrom Retrieves a cached array of elements that indicate the reading


order before the current element.

get_CachedFlowsTo Retrieves a cached array of elements that indicate the reading


order after the current element.

get_CachedFormula Retrieves the cached formula for this cell.

get_CachedFrameworkId Retrieves the cached name of the underlying UI framework


associated with the element.

get_CachedFullDescription Gets the cached full description of the automation element.

get_CachedHasKeyboardFocus A cached value that indicates whether the element has


keyboard focus.

get_CachedHeadingLevel Gets the cached heading level of the automation element.

get_CachedHelp Retrieves the cached Microsoft Active Accessibility help string


for the element.

get_CachedHelpText Retrieves the cached help text for the element.

get_CachedHorizontallyScrollable Retrieves a cached value that indicates whether the element


can scroll horizontally.

get_CachedHorizontalScrollPercent Retrieves the cached horizontal scroll position.

get_CachedHorizontalViewSize Retrieves the cached horizontal size of the viewable region of a


scrollable element.

get_CachedIsContentElement A cached value that indicates whether the element is a


content element.

get_CachedIsControlElement Retrieves a cached value that indicates whether the element is


a control element.

get_CachedIsDataValidForForm Retrieves a cached value that indicates whether the element


contains valid data for the form.

get_CachedIsDialog Retrieves the cached is dialog window indicator for the


element.

get_CachedIsEnabled Retrieves a cached value that indicates whether the element is


enabled.

get_CachedIsGrabbed Retrieves a cached value that indicates whether this element


has been grabbed as part of a drag-and-drop operation.
T IT L E DESC RIP T IO N

get_CachedIsKeyboardFocusable Retrieves a cached value that indicates whether the element


can accept keyboard focus.

get_CachedIsModal Retrieves a cached value that indicates whether the window is


modal.

get_CachedIsOffscreen Retrieves a cached value that indicates whether the element is


off-screen.

get_CachedIsPassword Retrieves a cached value that indicates whether the element


contains a disguised password.

get_CachedIsPeripheral Retrieves the cached peripheral UI indicator for the element.

get_CachedIsReadOnly Retrieves a cached value that indicates whether the value of


the element can be changed.

get_CachedIsReadOnly Retrieves a cached value that indicates whether the value of


the element is read-only.

get_CachedIsRequiredForForm Retrieves a cached value that indicates whether the element is


required to be filled out on a form.

get_CachedIsSelected A cached value that indicates whether this item is selected.

get_CachedIsSelectionRequired Retrieves a cached value that indicates whether at least one


item must be selected at all times.

get_CachedIsTopmost Retrieves a cached value that indicates whether the window is


the topmost element in the z-order.

get_CachedItemCount Gets a cached integer value indicating the number of selected


items.

get_CachedItemStatus Retrieves a cached description of the status of an item within


an element.

get_CachedItemType Retrieves a cached string that describes the type of item


represented by the element.

get_CachedKeyboardShortcut Retrieves the cached Microsoft Active Accessibility keyboard


shortcut property for the element.

get_CachedLabeledBy Retrieves the cached element that contains the text label for
this element.

get_CachedLandmarkType Gets the cached landmark type ID for the automation


element.

get_CachedLargeChange Retrieves, from the cache, the value that is added to or


subtracted from the value of the control when a large change
is made, such as when the PAGE DOWN key is pressed.
T IT L E DESC RIP T IO N

get_CachedLastSelectedItem Gets a cached IUIAutomationElement object representing the


last item in a group of selected items.

get_CachedLevel Returns the cached 1-based integer for the level (hierarchy)
for the element.

get_CachedLiveSetting Retrieves a cached value that indicates the type of


notifications, if any, that the element sends when the content
of the element changes.

get_CachedLocalizedControlType Retrieves the cached localized description of the control type


of the element.

get_CachedLocalizedLandmarkType Gets a string containing the cached localized landmark type


for the automation element.

get_CachedMaximum Retrieves the cached maximum value of the control.

get_CachedMinimum Retrieves the cached minimum value of the control.

get_CachedName Retrieves the cached name of the element.

get_CachedName Retrieves the cached Microsoft Active Accessibility name


property of the element.

get_CachedNativeWindowHandle Retrieves the cached window handle of the element.

get_CachedOptimizeForVisualContent Retrieves a cached value that indicates whether the provider


exposes only elements that are visible.

get_CachedOrientation Retrieves a cached value that indicates the orientation of the


element.

get_CachedPositionInSet Returns the cached 1-based integer for the ordinal position in
the set for the element.

get_CachedProcessId Retrieves the cached ID of the process that hosts the element.

get_CachedProviderDescription Retrieves a cached description of the provider for this element.

get_CachedRole Retrieves the cached Microsoft Active Accessibility role of the


element.

get_CachedRow Retrieves the cached zero-based index of the row that


contains the item.

get_CachedRowCount Retrieves the cached number of rows in the grid.

get_CachedRowOrColumnMajor Retrieves the cached primary direction of traversal for the


table.

get_CachedRowSpan Retrieves the cached number of rows spanned by a grid item.


T IT L E DESC RIP T IO N

get_CachedSelectionContainer Retrieves the cached element that supports


IUIAutomationSelectionPattern and acts as the container for
this item.

get_CachedShape Retrieves the cached shape of an element in a document.

get_CachedSizeOfSet Returns the cached 1-based integer for the size of the set
where the element is located.

get_CachedSmallChange Retrieves, from the cache, the value that is added to or


subtracted from the value of the control when a small change
is made, such as when an arrow key is pressed.

get_CachedState Retrieves the cached Microsoft Active Accessibility state


identifier for the element.

get_CachedStyleId Retrieves the cached identifier of the visual style associated


with an element in a document.

get_CachedStyleName Retrieves the cached name of the visual style associated with
an element in a document.

get_CachedTarget Retrieves the cached element that is being annotated.

get_CachedToggleState Retrieves the cached state of the control.

get_CachedValue Retrieves the cached Microsoft Active Accessibility value


property.

get_CachedValue Retrieves the cached value of the control.

get_CachedValue Retrieves the cached value of the element.

get_CachedVerticallyScrollable Retrieves a cached value that indicates whether the element


can scroll vertically.

get_CachedVerticalScrollPercent Retrieves the cached vertical scroll position.

get_CachedVerticalViewSize Retrieves the cached vertical size of the viewable region of a


scrollable element.

get_CachedWindowInteractionState Retrieves a cached value that indicates the current state of the
window for the purposes of user interaction.

get_CachedWindowVisualState Retrieves a cached value that indicates the visual state of the
window; that is, whether it is in the normal, maximized, or
minimized state.

get_CachedZoomLevel Retrieves the cached zoom level of the control's viewport.

get_CachedZoomMaximum Retrieves the cached maximum zoom level of the control's


viewport.
T IT L E DESC RIP T IO N

get_CachedZoomMinimum Retrieves the cached minimum zoom level of the control's


viewport.

get_CanCheckBaseClass Sets or retrieves a value that specifies whether the base class
can be checked when searching for a proxy factory.

get_CanMaximize Indicates whether the window can be maximized.

get_CanMinimize Indicates whether the window can be minimized.

get_CanMove Indicates whether the control can be moved.

get_CanResize Indicates whether the control can be resized.

get_CanRotate Indicates whether the control can be rotated.

get_CanSelectMultiple Indicates whether the Microsoft UI Automation provider


allows more than one child element to be selected
concurrently.

get_CanZoom Indicates whether the control supports zooming of its


viewport.

get_ChildCount Retrieves the number of conditions that make up this "and"


condition.

get_ChildCount Retrieves the number of conditions that make up this "or"


condition.

get_ChildId Specifies the child identifier of this element.

get_ClassName Sets or retrieves the name of the window class served by the
proxy factory.

get_CoalesceEvents Gets or sets whether an accessible technology client receives


all events, or a subset where duplicate events are detected
and filtered.

get_Column Specifies the ordinal number of the column that contains this
cell or item.

get_ColumnCount Specifies the total number of columns in the grid.

get_ColumnSpan Specifies the number of columns spanned by this cell or item.

get_Condition Retrieves the condition that defines the view of the UI


Automation tree.

get_ConnectionRecoveryBehavior Indicates whether an accessible technology client adjusts


provider request timeouts when the provider is non-
responsive.
T IT L E DESC RIP T IO N

get_ConnectionTimeout Specifies the length of time that UI Automation will wait for a
provider to respond to a client request for an automation
element.

get_ContainingGrid Specifies the UI Automation provider that implements


IGridProvider and represents the container of this cell or item.

get_ContentViewCondition Retrieves a predefined IUIAutomationCondition interface that


selects content elements.

get_ContentViewWalker Retrieves an IUIAutomationTreeWalker interface used to


discover content elements.

get_ControlViewCondition Retrieves a predefined IUIAutomationCondition interface that


selects control elements.

get_ControlViewWalker Retrieves an IUIAutomationTreeWalker interface used to


discover control elements.

get_Count Retrieves the number of entries in the proxy factory table.

get_CurrentAcceleratorKey Retrieves the accelerator key for the element.

get_CurrentAccessKey Retrieves the access key character for the element.

get_CurrentAnnotationObjects Returns the current list of annotation objects associated with


this element, such as comment, header, footer, and so on.

get_CurrentAnnotationTypeId Retrieves a value that identifies the annotation's type.

get_CurrentAnnotationTypeName Retrieves the localized name of this annotation's type.

get_CurrentAnnotationTypes Returns the current list of annotation types associated with


this element, such as comment, header, footer, and so on.

get_CurrentAriaProperties Retrieves the Accessible Rich Internet Applications (ARIA)


properties of the element.

get_CurrentAriaRole Retrieves the Accessible Rich Internet Applications (ARIA) role


of the element.

get_CurrentAuthor Retrieves the name of the annotation author.

get_CurrentAutomationId Retrieves the Microsoft UI Automation identifier of the


element.

get_CurrentBoundingRectangle Retrieves the coordinates of the rectangle that completely


encloses the element.

get_CurrentCanMaximize Indicates whether the window can be maximized.

get_CurrentCanMinimize Indicates whether the window can be minimized.


T IT L E DESC RIP T IO N

get_CurrentCanMove Indicates whether the element can be moved.

get_CurrentCanResize Indicates whether the element can be resized.

get_CurrentCanRotate Indicates whether the element can be rotated.

get_CurrentCanSelectMultiple Indicates whether more than one item in the container can be
selected at one time.

get_CurrentCanZoom Indicates whether the control supports zooming of its


viewport.

get_CurrentChildId Retrieves the Microsoft Active Accessibility child identifier for


the element.

get_CurrentClassName Retrieves the class name of the element.

get_CurrentColumn Retrieves the zero-based index of the column that contains


the item.

get_CurrentColumnCount The number of columns in the grid.

get_CurrentColumnSpan Retrieves the number of columns spanned by the grid item.

get_CurrentContainingGrid Retrieves the element that contains the grid item.

get_CurrentControllerFor Retrieves an array of elements for which this element serves


as the controller.

get_CurrentControlType Retrieves the control type of the element.

get_CurrentCulture Retrieves the culture identifier for the element.

get_CurrentCurrentSelectedItem Gets an IUIAutomationElement object representing the


currently selected item.

get_CurrentCurrentView Retrieves the control-specific identifier of the current view of


the control.

get_CurrentDateTime Retrieves the date and time that this annotation was created.

get_CurrentDefaultAction Retrieves the Microsoft Active Accessibility current default


action for the element.

get_CurrentDescribedBy Retrieves an array of elements that describe this element.

get_CurrentDescription Retrieves the Microsoft Active Accessibility description of the


element.

get_CurrentDockPosition Retrieves the dock position of this element within its docking
container.
T IT L E DESC RIP T IO N

get_CurrentDropEffect Retrieves a localized string that indicates what happens when


the user drops this element as part of a drag-drop operation.

get_CurrentDropEffects Retrieves an array of localized strings that enumerate the full


set of effects that can happen when this element as part of a
drag-and-drop operation.

get_CurrentDropTargetEffect Retrieves a localized string that describes what happens when


the user drops the grabbed element on this drop target.

get_CurrentDropTargetEffects Retrieves an array of localized strings that enumerate the full


set of effects that can happen when the user drops a grabbed
element on this drop target as part of a drag-and-drop
operation.

get_CurrentExpandCollapseState Retrieves a value that indicates the state, expanded or


collapsed, of the element.

get_CurrentExtendedProperties Retrieves a localized string that contains the list of extended


properties for an element in a document.

get_CurrentFillColor Retrieves the fill color of an element in a document.

get_CurrentFillPatternColor Retrieves the color of the pattern used to fill an element in a


document.

get_CurrentFirstSelectedItem Gets an IUIAutomationElement object representing the first


item in a group of selected items.

get_CurrentFlowsFrom Retrieves an array of elements that indicates the reading order


before the current element.

get_CurrentFlowsTo Retrieves an array of elements that indicates the reading order


after the current element.

get_CurrentFormula Retrieves the formula for this cell.

get_CurrentFrameworkId Retrieves the name of the underlying UI framework.

get_CurrentFullDescription Gets the current full description of the automation element.

get_CurrentHasKeyboardFocus Indicates whether the element has keyboard focus.

get_CurrentHeadingLevel Gets the current heading level of the automation element.

get_CurrentHelp Retrieves the Microsoft Active Accessibility help string for the
element.

get_CurrentHelpText Retrieves the help text for the element.

get_CurrentHorizontallyScrollable Indicates whether the element can scroll horizontally.

get_CurrentHorizontalScrollPercent Retrieves the horizontal scroll position.


T IT L E DESC RIP T IO N

get_CurrentHorizontalViewSize Retrieves the horizontal size of the viewable region of a


scrollable element.

get_CurrentIsContentElement Indicates whether the element is a content element.

get_CurrentIsControlElement Indicates whether the element is a control element.

get_CurrentIsDataValidForForm Indicates whether the element contains valid data for a form.

get_CurrentIsDialog Retrieves the current is dialog window indicator for the


element.

get_CurrentIsEnabled Indicates whether the element is enabled.

get_CurrentIsGrabbed Indicates whether the user has grabbed this element as part
of a drag-and-drop operation.

get_CurrentIsKeyboardFocusable Indicates whether the element can accept keyboard focus.

get_CurrentIsModal Indicates whether the window is modal.

get_CurrentIsOffscreen Indicates whether the element is off-screen.

get_CurrentIsPassword Indicates whether the element contains a disguised password.

get_CurrentIsPeripheral Retrieves the current peripheral UI indicator for the element.

get_CurrentIsReadOnly Indicates whether the value of the element can be changed.

get_CurrentIsReadOnly Indicates whether the value of the element is read-only.

get_CurrentIsRequiredForForm Indicates whether the element is required to be filled out on a


form.

get_CurrentIsSelected Indicates whether this item is selected.

get_CurrentIsSelectionRequired Indicates whether at least one item must be selected at all


times.

get_CurrentIsTopmost Indicates whether the window is the topmost element in the


z-order.

get_CurrentItemCount Gets an integer value indicating the number of selected items.

get_CurrentItemStatus Retrieves the description of the status of an item in an


element.

get_CurrentItemType Retrieves a description of the type of UI item represented by


the element.

get_CurrentKeyboardShortcut Retrieves the Microsoft Active Accessibility keyboard shortcut


property for the element.
T IT L E DESC RIP T IO N

get_CurrentLabeledBy Retrieves the element that contains the text label for this
element.

get_CurrentLandmarkType Gets the current landmark type ID for the automation


element.

get_CurrentLargeChange Retrieves the value that is added to or subtracted from the


value of the control when a large change is made, such as
when the PAGE DOWN key is pressed.

get_CurrentLastSelectedItem Gets an IUIAutomationElement object representing the last


item in a group of selected items.

get_CurrentLevel Returns the current 1-based integer for the level (hierarchy)
for the element.

get_CurrentLiveSetting Indicates the type of notifications, if any, that the element


sends when the content of the element changes.

get_CurrentLocalizedControlType Retrieves a localized description of the control type of the


element.

get_CurrentLocalizedLandmarkType Gets a string containing the current localized landmark type


for the automation element.

get_CurrentMaximum Retrieves the maximum value of the control.

get_CurrentMinimum Retrieves the minimum value of the control.

get_CurrentName Retrieves the name of the element.

get_CurrentName Retrieves the Microsoft Active Accessibility name property of


the element.

get_CurrentNativeWindowHandle Retrieves the window handle of the element.

get_CurrentOptimizeForVisualContent Indicates whether the provider exposes only elements that are
visible.

get_CurrentOrientation Retrieves a value that indicates the orientation of the element.

get_CurrentPositionInSet Returns the current 1-based integer for the ordinal position in
the set for the element.

get_CurrentProcessId Retrieves the identifier of the process that hosts the element.

get_CurrentProviderDescription Retrieves a description of the provider for this element.

get_CurrentRole Retrieves the Microsoft Active Accessibility role identifier of the


element.

get_CurrentRow Retrieves the zero-based index of the row that contains the
grid item.
T IT L E DESC RIP T IO N

get_CurrentRowCount Retrieves the number of rows in the grid.

get_CurrentRowOrColumnMajor Retrieves the primary direction of traversal for the table.

get_CurrentRowSpan Retrieves the number of rows spanned by the grid item.

get_CurrentSelectedItem Gets the currently selected item.

get_CurrentSelectionContainer Retrieves the element that supports


IUIAutomationSelectionPattern and acts as the container for
this item.

get_CurrentShape Retrieves the shape of an element in a document.

get_CurrentSizeOfSet Returns the current 1-based integer for the size of the set
where the element is located.

get_CurrentSmallChange Retrieves the value that is added to or subtracted from the


value of the control when a small change is made, such as
when an arrow key is pressed.

get_CurrentState Retrieves the Microsoft Active Accessibility state identifier for


the element.

get_CurrentStyleId Retrieves the identifier of the visual style associated with an


element in a document.

get_CurrentStyleName Retrieves the name of the visual style associated with an


element in a document.

get_CurrentTarget Retrieves the element that is being annotated.

get_CurrentToggleState Retrieves the state of the control.

get_CurrentValue Retrieves the Microsoft Active Accessibility value property.

get_CurrentValue Retrieves the value of the control.

get_CurrentValue Retrieves the value of the element.

get_CurrentVerticallyScrollable Indicates whether the element can scroll vertically.

get_CurrentVerticalScrollPercent Retrieves the vertical scroll position.

get_CurrentVerticalViewSize Retrieves the vertical size of the viewable region of a scrollable


element.

get_CurrentView Identifies the current view that the control is using to display
information or child controls.

get_CurrentWindowInteractionState Retrieves the current state of the window for the purposes of
user interaction.
T IT L E DESC RIP T IO N

get_CurrentWindowVisualState Retrieves the visual state of the window; that is, whether it is
in the normal, maximized, or minimized state.

get_CurrentZoomLevel Retrieves the zoom level of the control's viewport.

get_CurrentZoomMaximum Retrieves the maximum zoom level of the control's viewport.

get_CurrentZoomMinimum Retrieves the minimum zoom level of the control's viewport.

get_DateTime The date and time when this annotation was created.

get_DefaultAction Contains a description of the default action for this element.

get_Description Contains the description of this element.

get_DockPosition Indicates the current docking position of this element.

get_DocumentRange Retrieves a text range that encloses the main text of a


document.

get_DocumentRange Retrieves a text range that encloses the main text of a


document.

get_DropEffect Retrieves a localized string that indicates what happens when


this element is dropped as part of a drag-drop operation.

get_DropEffects Retrieves an array of localized strings that enumerate the full


set of effects that can happen when this element is dropped
as part of a drag-and-drop operation.

get_DropTargetEffect Retrieves a localized string that describes the effect that


happens when the user drops the grabbed element on this
drop target.

get_DropTargetEffects Retrieves an array of localized strings that enumerate the full


set of effects that can happen when the user drops a grabbed
element on this drop target as part of a drag-and-drop
operation.

get_ExpandCollapseState Indicates the state, expanded or collapsed, of the control.

get_ExtendedProperties Contains additional properties that are not included in this


control pattern, but that provide information about the
document content that might be useful to the user.

get_FillColor Specifies the fill color of an element in a document.

get_FillPatternColor Specifies the color of the pattern used to fill an element in a


document.

get_FillPatternStyle Specifies the fill pattern style of an element in a document.

get_FirstSelectedItem Gets the first item in a group of selected items.


T IT L E DESC RIP T IO N

get_Formula Specifies the formula for this spreadsheet cell.

get_FragmentRoot Specifies the root node of the fragment.

get_Help Specifies a string that contains help information for this


element.

get_HorizontallyScrollable Indicates whether the control can scroll horizontally.

get_HorizontalScrollPercent Specifies the horizontal scroll position.

get_HorizontalViewSize Specifies the horizontal size of the viewable region.

get_HostRawElementProvider Specifies the host provider for this element.

get_ImageName Sets or retrieves the name of the image of the proxy factory.

get_IsGrabbed Indicates whether the element has been grabbed as part of a


drag-and-drop operation.

get_IsModal Indicates whether the window is modal.

get_IsReadOnly Indicates whether the value of a control is read-only.

get_IsReadOnly Indicates whether the value of a control is read-only.

get_IsSelected Indicates whether an item is selected.

get_IsSelectionRequired Indicates whether the Microsoft UI Automation provider


requires at least one child element to be selected.

get_IsTopmost Indicates whether the window is the topmost element in the


z-order.

get_ItemCount Gets the number of selected items.

get_KeyboardShortcut Specifies the keyboard shortcut for this element.

get_LargeChange Specifies the value that is added to or subtracted from the


IRangeValueProvider::Value property when a large change is
made, such as when the PAGE DOWN key is pressed.

get_LastSelectedItem Gets the last item in a group of selected items.

get_Length Retrieves the number of elements in the collection.

get_Length Retrieves the number of text ranges in the collection.

get_Maximum Specifies the maximum range value supported by the control.

get_Minimum Specifies the minimum range value supported by the control.


T IT L E DESC RIP T IO N

get_Name Specifies the name of this element.

get_NeedsAdviseEvents Sets or retrieves a value that specifies whether the proxy must
be notified when an application has registered for events.

get_PropertyConditionFlags Retrieves a set of flags that specify how the condition is


applied.

get_PropertyId Retrieves the identifier of the property on which this condition


is based.

get_PropertyValue Retrieves the property value that must be matched for the
condition to be true.

get_ProviderOptions Specifies the type of Microsoft UI Automation provider; for


example, whether it is a client-side (proxy) or server-side
provider.

get_ProxyFactory Retrieves the proxy factory associated with this entry.

get_ProxyFactoryId Retrieves the identifier of the proxy factory.

get_ProxyFactoryMapping Retrieves an object that represents the mapping of Window


classnames and associated data to individual proxy factories.

get_RawViewCondition Retrieves a predefined IUIAutomationCondition interface that


selects all UI elements in an unfiltered view.

get_RawViewWalker Retrieves a tree walker object used to traverse an unfiltered


view of the Microsoft UI Automation tree.

get_ReservedMixedAttributeValue Retrieves a static token object representing a text attribute


that is a mixed attribute.

get_ReservedNotSupportedValue Retrieves a static token object representing a property or text


attribute that is not supported.

get_Role Specifies the role identifier of this element.

get_Row Specifies the ordinal number of the row that contains this cell
or item.

get_RowCount Specifies the total number of rows in the grid.

get_RowOrColumnMajor Specifies the primary direction of traversal for the table.

get_RowSpan Specifies the number of rows spanned by this cell or item.

get_SelectionContainer Specifies the provider that implements ISelectionProvider and


acts as the container for the calling object.

get_Shape Specifies the shape of an element in a document.


T IT L E DESC RIP T IO N

get_SmallChange Specifies the value that is added to or subtracted from the


IRangeValueProvider::Value property when a small change is
made, such as when an arrow key is pressed.

get_State Specifies the state of this element.

get_StyleId Identifies the visual style of an element in a document.

get_StyleName Specifies the name of the visual style of an element in a


document.

get_SupportedTextSelection Retrieves a value that specifies the type of text selection that is
supported by the control.

get_SupportedTextSelection Retrieves a value that specifies the type of text selection that is
supported by the control.

get_Target The UI Automation element that is being annotated.

get_TextContainer Retrieves this element's nearest ancestor provider that


supports the Text control pattern.

get_TextContainer Retrieves this element's nearest ancestor element that


supports the Text control pattern.

get_TextRange Retrieves a text range that encloses this child element.

get_TextRange Retrieves a text range that encloses this child element.

get_ToggleState Specifies the toggle state of the control.

get_TransactionTimeout Specifies the length of time that UI Automation will wait for a
provider to respond to a client request for information about
an automation element.

get_TreeFilter Specifies the view of the UI Automation element tree that is


used when caching.

get_TreeScope Specifies the scope of caching.

get_Value Specifies the value of this element.

get_Value Specifies the value of the control.

get_Value The value of the control.

get_VerticallyScrollable Indicates whether the control can scroll vertically.

get_VerticalScrollPercent Specifies the vertical scroll position.

get_VerticalViewSize Specifies the vertical size of the viewable region.


T IT L E DESC RIP T IO N

get_WindowInteractionState Specifies the current state of the window for the purposes of
user interaction.

get_WindowVisualState Specifies the visual state of the window; that is, whether the
window is normal (restored), minimized, or maximized.

get_ZoomLevel Retrieves the current zoom level of the element.

get_ZoomMaximum Retrieves the maximum zoom level of the element.

get_ZoomMinimum Retrieves the minimum zoom level of the element.

GetActiveComposition Returns the active composition.

GetActiveComposition Returns the active composition.

GetAdjacentFragment Retrieves a fragment pointer for a fragment that is adjacent to


the windowless Microsoft ActiveX control owned by this
control site.

GetAnnotationObjects Retrieves an array of objects that represent the annotations


associated with this spreadsheet cell.

GetAnnotationTypes Retrieves an array of annotation type identifiers indicating the


types of annotations that are associated with this spreadsheet
cell.

GetAttributeValue Retrieves the value of the specified text attribute across the
text range.

GetAttributeValue Retrieves the value of the specified text attribute across the
entire text range.

GetAttributeValues Returns all of the requested text attribute values for a text
range in a single cross-process call. This is equivalent to calling
GetAttributeValue, except it can retrieve multiple values
instead of just one.

GetBoundingRectangles Retrieves a collection of bounding rectangles for each fully or


partially visible line of text in a text range.

GetBoundingRectangles Retrieves a collection of bounding rectangles for each fully or


partially visible line of text in a text range.

GetBuildVersion Clients call IVersionInfo::GetBuildVersion to retrieve build


information for a specified component.

GetCachedAnnotationObjects Retrieves a cached array of elements representing the


annotations associated with this spreadsheet cell.

GetCachedAnnotationTypes Retrieves a cached array of annotation type identifiers


indicating the types of annotations that are associated with
this spreadsheet cell.
T IT L E DESC RIP T IO N

GetCachedChildren Retrieves the cached child elements of this UI Automation


element.

GetCachedColumnHeaderItems Retrieves the cached column headers associated with a table


item or cell.

GetCachedColumnHeaders Retrieves a cached collection of UI Automation elements


representing all the column headers in a table.

GetCachedGrabbedItems Retrieves a cached collection of elements that represent the


full set of items that the user is dragging as part of a drag
operation.

GetCachedParent Retrieves from the cache the parent of this UI Automation


element.

GetCachedPattern Retrieves from the cache the IUnknown interface of the


specified control pattern of this UI Automation element.

GetCachedPatternAs Retrieves the control pattern interface of the specified pattern


from the cache of this UI Automation element.

GetCachedPropertyValue Retrieves a property value from the cache for this UI


Automation element.

GetCachedPropertyValueEx Retrieves a property value from the cache for this UI


Automation element, optionally ignoring any default value.

GetCachedRowHeaderItems Retrieves the cached row headers associated with a table item
or cell.

GetCachedRowHeaders Retrieves a cached collection of UI Automation elements


representing all the row headers in a table.

GetCachedSelection Retrieves the cached Microsoft Active Accessibility property


that identifies the selected children of this element.

GetCachedSelection Retrieves the cached selected elements in the container.

GetCachedSupportedViews Retrieves a collection of control-specific view identifiers from


the cache.

GetCaretRange Provides a zero-length text range at the location of the caret


that belongs to the text-based control.

GetCaretRange Retrieves a zero-length text range at the location of the caret


that belongs to the text-based control.

GetChild Retrieves the condition of which this condition is the negative.

GetChildren Retrieves a collection of all embedded objects that fall within


the text range.
T IT L E DESC RIP T IO N

GetChildren Retrieves the conditions that make up this "and" condition.

GetChildren Retrieves the conditions that make up this "or" condition.

GetChildren Retrieves a collection of all embedded objects that fall within


the text range.

GetChildrenAsNativeArray Retrieves the conditions that make up this "and" condition, as


an ordinary array.

GetChildrenAsNativeArray Retrieves the conditions that make up this "or" condition, as


an ordinary array.

GetChildrenBuildCache Returns the children and supplied properties and patterns for
elements in a text range in a single cross-process call. This is
equivalent to calling GetChildren, but adds the standard build
cache pattern.

GetClickablePoint Retrieves a point on the element that can be clicked.

GetColumnHeaderItems Retrieves a collection of Microsoft UI Automation provider


representing all the column headers associated with a table
item or cell.

GetColumnHeaders Gets a collection of Microsoft UI Automation providers that


represents all the column headers in a table.

GetComponentDescription Clients call this method to retrieve a description of the


component.

GetConversionTarget Returns the current conversion target range.

GetConversionTarget Returns the current conversion target range.

GetCurrentAnnotationObjects Retrieves an array of elements representing the annotations


associated with this spreadsheet cell.

GetCurrentAnnotationTypes Retrieves an array of annotation type identifiers indicating the


types of annotations that are associated with this spreadsheet
cell.

GetCurrentColumnHeaderItems Retrieves the column headers associated with a table item or


cell.

GetCurrentColumnHeaders Retrieves a collection of UI Automation elements representing


all the column headers in a table.

GetCurrentGrabbedItems Retrieves a collection of elements that represent the full set of


items that the user is dragging as part of a drag operation.

GetCurrentMetadataValue Gets metadata from the UI Automation element that indicates


how the information should be interpreted.
T IT L E DESC RIP T IO N

GetCurrentPattern Retrieves the IUnknown interface of the specified control


pattern on this UI Automation element.

GetCurrentPatternAs Retrieves the control pattern interface of the specified pattern


on this UI Automation element.

GetCurrentPropertyValue Retrieves the current value of a property for this UI


Automation element.

GetCurrentPropertyValueEx Retrieves a property value for this UI Automation element,


optionally ignoring any default value.

GetCurrentRowHeaderItems Retrieves the row headers associated with a table item or cell.

GetCurrentRowHeaders Retrieves a collection of UI Automation elements representing


all the row headers in a table.

GetCurrentSelection Retrieves the Microsoft Active Accessibility property that


identifies the selected children of this element.

GetCurrentSelection Retrieves the selected elements in the container.

GetCurrentSupportedViews Retrieves a collection of control-specific view identifiers.

GetDocuments Clients call IAccClientDocMgr::GetDocuments to get a list of


all documents that have been registered with the Microsoft
Active Accessibility run time.

GetElement Retrieves a Microsoft UI Automation element from the


collection.

GetElement Retrieves a text range from the collection.

GetEmbeddedAccessibles Retrieves the IAccessible interface pointers of the windowless


Microsoft ActiveX controls that are hosted by this provider.

GetEmbeddedFragmentRoots Retrieves the Microsoft Active Accessibility providers of all


windowless Microsoft ActiveX controls that have a Microsoft
UI Automation provider implementation, and are hosted in a
Microsoft Active Accessibility object that implements the
IAccessibleHostingElementProviders interface.

GetEmbeddedFragmentRoots Retrieves an array of root fragments that are embedded in the


Microsoft UI Automation tree rooted at the current element.

GetEnclosingElement Returns the innermost element that encloses the text range.

GetEnclosingElement Returns the innermost UI Automation element that encloses


the text range.

GetEnclosingElementBuildCache Gets the enclosing element and supplied properties and


patterns for an element in a text range in a single cross-
process call. This is equivalent to calling GetEnclosingElement,
but adds the standard build cache pattern.
T IT L E DESC RIP T IO N

GetEntry Retrieves an entry from the proxy factory table.

GetFirstChildElement Retrieves the first child element of the specified UI Automation


element.

GetFirstChildElementBuildCache Retrieves the first child element of the specified UI Automation


element, and caches properties and control patterns.

GetFocus Retrieves the element in this fragment that has the input
focus.

GetFocused Clients call the IAccClientDocMgr::GetFocused method to


access a pointer for the document that has focus.

GetFocusedElement Retrieves the UI Automation element that has the input focus.

GetFocusedElementBuildCache Retrieves the UI Automation element that has the input focus,
prefetches the requested properties and control patterns, and
stores the prefetched items in the cache.

GetGrabbedItems Retrieves the collection of elements that are being dragged as


part of a drag operation.

GetIAccessible Retrieves an accessible object that corresponds to a UI


Automation element that supports the LegacyIAccessible
control pattern.

GetIAccessible Retrieves an IAccessible object that corresponds to the


Microsoft UI Automation element.

GetIAccessiblePair Retrieves the IAccessible interface and child ID for this item.

GetIdentityString Retrieves a string of bytes (an identity string) that uniquely


identifies an accessible element.

GetImplementationID Clients call IVersionInfo::GetImplementationID to retrieve a


unique identifier for the component.

GetInstanceDescription Clients call this method to retrieve a description of the


instance.Note Active Accessibility Text Services is deprecated.

GetItem Retrieves the Microsoft UI Automation provider for the


specified cell.

GetItem Retrieves a UI Automation element representing an item in


the grid.

GetItemByName Exposes a UI Automation element that represents the


spreadsheet cell that has the specified name.

GetItemByName Retrieves a UI Automation element that represents the


spreadsheet cell that has the specified name.
T IT L E DESC RIP T IO N

GetLastChildElement Retrieves the last child element of the specified UI Automation


element.

GetLastChildElementBuildCache Retrieves the last child element of the specified UI Automation


element, and caches properties and control patterns.

GetLocalizedString Clients call the IAccDictionary::GetLocalizedString method to


get localized strings for all system properties and their values.

GetMetadataValue Gets metadata from the UI Automation element that indicates


how the information should be interpreted.

GetMnemonicString Retrieves a mnemonic string.Note Active Accessibility Text


Services is deprecated.

GetNextSiblingElement Retrieves the next sibling element of the specified UI


Automation element.

GetNextSiblingElementBuildCache Retrieves the next sibling element of the specified UI


Automation element, and caches properties and control
patterns.

GetObjectForChild Retrieves an IAccessibleEx interface representing the specified


child of this element.

GetObjectIdForProvider Retrieves the object ID associated with a contained


windowless Microsoft ActiveX control that implements
Microsoft UI Automation.

GetOleaccVersionInfo Retrieves the version number and build number of the


Microsoft Active Accessibility file Oleacc.dll.

GetOverrideProviderForHwnd Gets a UI Automation provider for the specified element.

GetParentAccessible Retrieves an IAccessible pointer for the parent of a windowless


Microsoft ActiveX control in the accessibility tree.

GetParentElement Retrieves the parent element of the specified UI Automation


element.

GetParentElementBuildCache Retrieves the parent element of the specified UI Automation


element, and caches properties and control patterns.

GetParentTerm Clients call the IAccDictionary::GetParentTerm method to


navigate through the object hierarchy tree. This method
returns the parent object of a specified property.

GetPatternProgrammaticName Retrieves the registered programmatic name of a control


pattern.

GetPatternProvider Retrieves a pointer to an object that provides support for a


control pattern on a Microsoft UI Automation element.
T IT L E DESC RIP T IO N

GetPreviousSiblingElement Retrieves the previous sibling element of the specified UI


Automation element.

GetPreviousSiblingElementBuildCache Retrieves the previous sibling element of the specified UI


Automation element, and caches properties and control
patterns.

GetProperty The client wrapper object implements the


IUIAutomation::get_CurrentX and
IUIAutomationElement::get_CachedX methods by calling this
function, specifying the property by index.

GetPropertyProgrammaticName Retrieves the registered programmatic name of a property.

GetPropertyValue Retrieves the value of a property supported by the Microsoft


UI Automation provider.

GetPropValue Retrieves a property value for an accessible element.

GetRoleTextA Retrieves the localized string that describes the object's role
for the specified role value.

GetRoleTextW Retrieves the localized string that describes the object's role
for the specified role value.

GetRootElement Retrieves the UI Automation element that represents the


desktop.

GetRootElementBuildCache Retrieves the UI Automation element that represents the


desktop, prefetches the requested properties and control
patterns, and stores the prefetched items in the cache.

GetRowHeaderItems Retrieves a collection of Microsoft UI Automation provider


representing all the row headers associated with a table item
or cell.

GetRowHeaders Gets a collection of Microsoft UI Automation providers that


represents all the row headers in a table.

GetRuntimeId Retrieves the runtime identifier of this element.

GetRuntimeId Retrieves the runtime identifier of an element.

GetRuntimeId Retrieves the unique identifier assigned to the UI element.

GetRuntimeIdPrefix Retrieves a Microsoft UI Automation runtime ID that is unique


to the windowless Microsoft ActiveX control site.

GetSelection Retrieves the selected item or items in the control.

GetSelection Retrieves a Microsoft UI Automation provider for each child


element that is selected.
T IT L E DESC RIP T IO N

GetSelection Retrieves a collection of text ranges that represents the


currently selected text in a text-based control.

GetSelection Retrieves a collection of text ranges that represents the


currently selected text in a text-based control.

GetStateTextA Retrieves a localized string that describes an object's state for


a single predefined state bit flag. Because state values are a
combination of one or more bit flags, clients call this function
more than once to retrieve all state strings.

GetStateTextW Retrieves a localized string that describes an object's state for


a single predefined state bit flag. Because state values are a
combination of one or more bit flags, clients call this function
more than once to retrieve all state strings.

GetSubcomponentCount Clients call IVersionInfo::GetSubcomponentCount to


determine the number of subcomponents for which version
information is returned.

GetSupportedViews Retrieves a collection of control-specific view identifiers.

GetTable Retrieves all entries in the proxy factory table.

GetText Retrieves the plain text of the range.

GetText Returns the plain text of the text range.

GetUnderlyingObjectModel Retrieves an interface used to access the underlying object


model of the provider.

GetUnderlyingObjectModel Retrieves an interface used to access the underlying object


model of the provider.

GetViewName Retrieves the name of a control-specific view.

GetViewName Retrieves the name of a control-specific view.

GetVisibleRanges Retrieves an array of disjoint text ranges from a text-based


control where each text range represents a contiguous span
of visible text.

GetVisibleRanges Retrieves an array of disjoint text ranges from a text-based


control where each text range represents a contiguous span
of visible text.

GetWinEventsForAutomationEvent Retrieves the list of WinEvents that are mapped to a specific


Microsoft UI Automation event. If an element represented by
this proxy raises one the listed WinEvents, the proxy handles
it.

GridPattern_GetItem Gets the node for an item in a grid.


T IT L E DESC RIP T IO N

HandleActiveTextPositionChangedEvent Handles a Microsoft UI Automation active text position


change event.

HandleAutomationEvent Handles a Microsoft UI Automation event.

HandleChangesEvent Handles one or more Microsoft UI Automation change events.

HandleFocusChangedEvent Handles the event raised when the keyboard focus moves to a
different UI Automation element.

HandleNotificationEvent Handles a Microsoft UI Automation notification event.

HandlePropertyChangedEvent Handles a Microsoft UI Automation property-changed event.

HandleStructureChangedEvent Handles an event that is raised when the Microsoft UI


Automation tree structure has changed.

HandleTextEditTextChangedEvent Handles an event that is raised when a Microsoft UI


Automation provider for a text-edit control reports a
programmatic text change.

InsertEntries Inserts entries into the table of proxy factories.

InsertEntry Insert an entry into the table of proxy factories.

IntNativeArrayToSafeArray Converts an array of integers to a SAFEARRAY.

IntSafeArrayToNativeArray Converts a SAFEARRAY of integers to an array.

Invoke Sends a request to activate a control and initiate its single,


unambiguous action.

Invoke Invokes the action of a control, such as a button click.

InvokePattern_Invoke Sends a request to activate a control and initiate its single,


unambiguous action.

IsWinEventHookInstalled Determines whether there is an installed WinEvent hook that


might be notified of a specified event.

ItemContainerPattern_FindItemByProperty Retrieves a node within a containing node, based on a


specified property value.

LegacyIAccessiblePattern_DoDefaultAction Performs the Microsoft Active Accessibility default action for


the element.

LegacyIAccessiblePattern_GetIAccessible Retrieves an IAccessible object that corresponds to the UI


Automation element.

LegacyIAccessiblePattern_Select Performs a Microsoft Active Accessibility selection.


T IT L E DESC RIP T IO N

LegacyIAccessiblePattern_SetValue Sets the Microsoft Active Accessibility value property for the
node.

LocalInit Implemented by clients to return information about the local


object.Note Active Accessibility Text Services is deprecated.

LookupByHWND Clients call IAccClientDocMgr::LookupByHWND to get a


document by providing the HWND for the document.

LookupByPoint Clients call IAccClientDocMgr::LookupByPoint to get a


document object from a point within the document.

LookupMnemonicTerm Clients call the IAccDictionary::LookupMnemonicTerm method


to find the property for a given mnemonic string.

LresultFromObject Returns a reference, similar to a handle, to the specified object.


Servers return this reference when handling WM_GETOBJECT.

Move Moves the text range forward or backward by the specified


number of text units.

Move Moves the control.

Move Moves the text range forward or backward by the specified


number of text units .

Move Moves the UI Automation element.

MoveEndpointByRange Moves one endpoint of the current text range to the specified
endpoint of a second text range.

MoveEndpointByRange Moves one endpoint of the current text range to the specified
endpoint of a second text range.

MoveEndpointByUnit Moves one endpoint of the text range the specified number of
TextUnit units within the document range.

MoveEndpointByUnit Moves one endpoint of the text range the specified number of
text units within the document range.

MultipleViewPattern_GetViewName Retrieves the name of a control-specific view.

MultipleViewPattern_SetCurrentView Sets a control to a different layout.

Navigate Retrieves the Microsoft UI Automation element in a specified


direction within the UI Automation tree.

Navigate Gets the next element in the specified direction within the
logical UI tree.
T IT L E DESC RIP T IO N

NewDocument Server applications call the IAccServerDocMgr::NewDocument


method when it is available. The adapter creates a wrapped
document and registers it with the store, so clients can access
information about the text in the document.

NormalizeElement Retrieves the ancestor element nearest to the specified


Microsoft UI Automation element in the tree view.

NormalizeElementBuildCache Retrieves the ancestor element nearest to the specified


Microsoft UI Automation element in the tree view, prefetches
the requested properties and control patterns, and stores the
prefetched items in the cache.

NotifyWinEvent Signals the system that a predefined event occurred. If any


client applications have registered a hook function for the
event, the system calls the client's hook function.

ObjectFromLresult Retrieves a requested interface pointer for an accessible object


based on a previously generated object reference.

OnDocumentFocus Applications that use Text Services Framework call


IAccServerDocMgr::OnDocumentFocus to notify the Microsoft
Active Accessibility run time when a document gets or loses
focus.

PollForPotentialSupportedPatterns Retrieves the control patterns that might be supported on a


UI Automation element.

PollForPotentialSupportedProperties Retrieves the properties that might be supported on a UI


Automation element.

put_accName The IAccessible::put_accName method is no longer supported.


Client applications should use a control-specific workaround,
such as the SetWindowText function. Servers should return
E_NOTIMPL.

put_accValue The IAccessible::put_accValue method sets the value of the


specified object. Not all objects have a value.

put_AllowSubstringMatch Sets or retrieves a value that specifies whether the proxy


allows substring matching.

put_AutomationElementMode Indicates whether returned elements contain full references to


the underlying UI, or only cached information.

put_AutoSetFocus Specifies whether calls to UI Automation control pattern


methods automatically set focus to the target element.

put_CanCheckBaseClass Sets or retrieves a value that specifies whether the base class
can be checked when searching for a proxy factory.

put_ClassName Sets or retrieves the name of the window class served by the
proxy factory.
T IT L E DESC RIP T IO N

put_CoalesceEvents Gets or sets whether an accessible technology client receives


all events, or a subset where duplicate events are detected
and filtered.

put_ConnectionRecoveryBehavior Indicates whether an accessible technology client adjusts


provider request timeouts when the provider is non-
responsive.

put_ConnectionTimeout Specifies the length of time that UI Automation will wait for a
provider to respond to a client request for an automation
element.

put_ImageName Sets or retrieves the name of the image of the proxy factory.

put_NeedsAdviseEvents Sets or retrieves a value that specifies whether the proxy must
be notified when an application has registered for events.

put_TransactionTimeout Specifies the length of time that UI Automation will wait for a
provider to respond to a client request for information about
an automation element.

put_TreeFilter Specifies the view of the UI Automation element tree that is


used when caching.

put_TreeScope Specifies the scope of caching.

QueryObjectIdRanges Retrieves the object ID ranges that a particular windowless


Microsoft ActiveX control has reserved.

RangeFromAnnotation Exposes a text range that contains the text that is the target
of the annotation associated with the specified annotation
element.

RangeFromAnnotation Retrieves a text range containing the text that is the target of
the annotation associated with the specified annotation
element.

RangeFromChild Retrieves a text range enclosing a child element such as an


image, hyperlink, or other embedded object.

RangeFromChild Retrieves a text range enclosing a child element such as an


image, hyperlink, Microsoft Excel spreadsheet, or other
embedded object.

RangeFromPoint Returns the degenerate (empty) text range nearest to the


specified screen coordinates.

RangeFromPoint Retrieves the degenerate (empty) text range nearest to the


specified screen coordinates.

RangeValuePattern_SetValue Sets the value of a control that has a numerical range.

Realize Makes the virtual item fully accessible as a UI Automation


element.
T IT L E DESC RIP T IO N

Realize Creates a full UI Automation element for a virtualized item.

RectToVariant Creates a VARIANT that contains the coordinates of a


rectangle.

RegisterEvent Registers a third-party Microsoft UI Automation event.

RegisterPattern Registers a third-party control pattern.

RegisterPointerInputTarget Allows the caller to register a target window to which all


pointer input of the specified type is redirected.

RegisterPointerInputTargetEx RegisterPointerInputTargetEx may be altered or unavailable.


Instead, use RegisterPointerInputTarget.

RegisterProperty Registers a third-party property.

ReleaseObjectIdRange Releases an object ID range that was acquired by a previous


call to the IAccessibleWindowlessSite::AcquireObjectIdRange
method.

RemoveActiveTextPositionChangedEventHandler Removes an active text position changed event handler.

RemoveAllEventHandlers Removes all registered Microsoft UI Automation event


handlers.

RemoveAutomationEventHandler Removes the specified UI Automation event handler.

RemoveChangesEventHandler Removes a changes event handler.

RemoveEntry Removes an entry from the table of proxy factories.

RemoveEventHandlerGroup Asynchronously removes the specified UI Automation event


handler group.

RemoveFocusChangedEventHandler Removes a focus-changed event handler.

RemoveFromSelection Removes the current element from the collection of selected


items.

RemoveFromSelection Removes the text range from the collection of selected text
ranges in a control that supports multiple, disjoint spans of
selected text.

RemoveFromSelection Removes this element from the selection.

RemoveFromSelection Removes the text range from an existing collection of selected


text in a text container that supports multiple, disjoint
selections.

RemoveNotificationEventHandler Removes a notification event handler.


T IT L E DESC RIP T IO N

RemovePropertyChangedEventHandler Removes a property-changed event handler.

RemoveStructureChangedEventHandler Removes a structure-changed event handler.

RemoveTextEditTextChangedEventHandler Removes a programmatic text-edit event handler.

Resize Resizes the control.

Resize Resizes the UI Automation element.

RespondToWinEvent Handles a WinEvent.

RestoreDefaultTable Restores the default table of proxy factories.

RevokeDocument Server applications call the


IAccServerDocMgr::RevokeDocument method to notify the
Microsoft Active Accessibility run time that a document is no
longer available. Calling RevokeDocument removes it from the
store so that clients cannot see the document.

Rotate Rotates the control.

Rotate Rotates the UI Automation element.

SafeArrayToRectNativeArray Converts a SAFEARRAY containing rectangle coordinates to an


array of type RECT.

Scroll Scrolls the visible region of the content area horizontally and
vertically.

Scroll Scrolls the visible region of the content area horizontally and
vertically.

ScrollIntoView Scrolls the content area of a container object in order to


display the control within the visible region (viewport) of the
container.

ScrollIntoView Causes the text control to scroll vertically until the text range
is visible in the viewport.

ScrollIntoView Scrolls the content area of a container object to display the UI


Automation element within the visible region (viewport) of the
container.

ScrollIntoView Causes the text control to scroll until the text range is visible
in the viewport.

ScrollItemPattern_ScrollIntoView Scrolls the content area of a container object in order to


display the UI Automation element within the visible region
(viewport) of the container.

ScrollPattern_Scroll Scrolls the currently visible region of the content area the
specified ScrollAmount, horizontally, vertically, or both.
T IT L E DESC RIP T IO N

ScrollPattern_SetScrollPercent Scrolls a container to a specific position horizontally, vertically,


or both.

Select Selects the element.

Select Deselects any selected items and then selects the current
element.

Select Selects the span of text that corresponds to this text range,
and removes any previous selection.

Select Performs a Microsoft Active Accessibility selection.

Select Clears any selected items and then selects the current
element.

Select Selects the span of text that corresponds to this text range,
and removes any previous selection.

SelectionItemPattern_AddToSelection Adds an unselected element to a selection in a control.

SelectionItemPattern_RemoveFromSelection Removes an element from the selection in a selection


container.

SelectionItemPattern_Select Selects an element in a selection container.

SetCurrentView Sets the current control-specific view.

SetCurrentView Sets the view of the control.

SetDockPosition Sets the docking position of this element.

SetDockPosition Sets the dock position of this element.

SetFocus Sets the focus to this element.

SetFocus Sets the keyboard focus to this UI Automation element.

SetHmenuProp This method wraps SetPropValue, providing a convenient


entry point for callers who are annotating HMENU-based
accessible elements. If the new value is a string, you can use
IAccPropServices::SetHmenuPropStr instead.

SetHmenuPropServer This method wraps SetPropServer, providing a convenient


entry point for callers who are annotating HMENU-based
accessible elements.

SetHmenuPropStr This method wraps SetPropValue, providing a more


convenient entry point for callers who are annotating
HMENU-based accessible elements.
T IT L E DESC RIP T IO N

SetHwndProp This method wraps SetPropValue, providing a convenient


entry point for callers who are annotating HWND-based
accessible elements. If the new value is a string, you can use
IAccPropServices::SetHwndPropStr instead.

SetHwndPropServer This method wraps SetPropServer, providing a convenient


entry point for callers who are annotating HWND-based
accessible elements.

SetHwndPropStr This method wraps SetPropValue, providing a more


convenient entry point for callers who are annotating HWND-
based accessible elements.

SetPropServer Servers use SetPropServer to specify a callback object to be


used to annotate an array of properties for the accessible
element.

SetPropValue Use SetPropValue to identify the accessible element to be


annotated, specify the property to be annotated, and provide
a new value for that property.

SetScrollPercent Sets the horizontal and vertical scroll position as a percentage


of the total content area within the control.

SetScrollPercent Sets the horizontal and vertical scroll positions as a


percentage of the total content area within the UI Automation
element.

SetTable Sets the table of proxy factories.

SetValue Sets the string value of the control.

SetValue Sets the value of the control.

SetValue Sets the value of control.

SetValue Sets the Microsoft Active Accessibility value property for the
element.

SetValue Sets the value of the control.

SetValue Sets the value of the element.

SetVisualState Changes the visual state of the window. For example,


minimizes or maximizes it.

SetWindowVisualState Minimizes, maximizes, or restores the window.

SetWinEventHook Sets an event hook function for a range of events.

SetWinEventsForAutomationEvent Maps Microsoft UI Automation events to WinEvents.


T IT L E DESC RIP T IO N

ShowContextMenu Programmatically invokes a context menu on the target


element.

ShowContextMenu Programmatically invokes a context menu on the target


element.

ShowContextMenu Programmatically invokes a context menu on the target


element.

ShowContextMenu Programmatically invokes a context menu on the target text


range.

StartListening Starts listening for input of the specified type.

StartListening Causes the Microsoft UI Automation provider to start


listening for mouse or keyboard input.

SynchronizedInputPattern_Cancel Causes the UI Automation provider to stop listening for


mouse or keyboard input.

SynchronizedInputPattern_StartListening Causes the UI Automation provider to start listening for


mouse or keyboard input.

TextPattern_get_DocumentRange Gets the text range for the entire document.

TextPattern_get_SupportedTextSelection Ascertains whether the text container's contents can be


selected and deselected.

TextPattern_GetSelection Gets the current range of selected text from a text container
supporting the text pattern.

TextPattern_GetVisibleRanges Retrieves an array of disjoint text ranges from a text container


where each text range begins with the first partially visible line
through to the end of the last partially visible line.

TextPattern_RangeFromChild Gets the text range that a given node spans.

TextPattern_RangeFromPoint Retrieves the degenerate (empty) text range nearest to the


specified screen coordinates.

TextRange_AddToSelection Adds to the existing collection of highlighted text in a text


container that supports multiple, disjoint selections by
highlighting supplementary text corresponding to the calling
text range Start and End endpoints.

TextRange_Clone Copies a text range.

TextRange_Compare Compares two text ranges.

TextRange_CompareEndpoints Returns a value indicating whether two text ranges have


identical endpoints.
T IT L E DESC RIP T IO N

TextRange_ExpandToEnclosingUnit Expands the text range to a larger or smaller unit such as


Character, Word, Line, or Page.

TextRange_FindAttribute Searches in a specified direction for the first piece of text


supporting a specified text attribute.

TextRange_FindText Returns the first text range in the specified direction that
contains the text the client is searching for.

TextRange_GetAttributeValue Gets the value of an text attribute for a text range.

TextRange_GetBoundingRectangles Retrieves the minimum number of bounding rectangles that


can enclose the range, one rectangle per line.

TextRange_GetChildren Returns all UI Automation elements contained within the


specified text range.

TextRange_GetEnclosingElement Returns the node for the next smallest provider that covers
the range.

TextRange_GetText Returns the text in a text range, up to a specified number of


characters.

TextRange_Move Moves the text range the specified number of units requested
by the client.

TextRange_MoveEndpointByRange Moves an endpoint of one range to the endpoint of another


range.

TextRange_MoveEndpointByUnit Moves an endpoint of the range the specified number of


units.

TextRange_RemoveFromSelection Removes the selected text, corresponding to the calling text


range TextPatternRangeEndpoint_Start and
TextPatternRangeEndpoint_End endpoints, from an existing
collection of selected text in a text container that supports
multiple, disjoint selections.

TextRange_ScrollIntoView Scrolls the text so the specified range is visible in the viewport.

TextRange_Select Selects a text range.

Toggle Cycles through the toggle states of a control.

Toggle Cycles through the toggle states of the control.

TogglePattern_Toggle Toggles a control to its next supported state.

TransformPattern_Move Moves an element to a specified location on the screen.

TransformPattern_Resize Resizes an element on the screen.

TransformPattern_Rotate Rotates an element on the screen.


T IT L E DESC RIP T IO N

UiaAddEvent Adds a listener for events on a node in the UI Automation


tree.

UiaClientsAreListening Gets a value that indicates whether any client application is


subscribed to Microsoft UI Automation events.

UiaDisconnectAllProviders Releases all Microsoft UI Automation resources that are held


by all providers associated with the calling process.

UiaDisconnectProvider Releases all references that a particular provider holds to


Microsoft UI Automation objects.

UiaEventAddWindow Adds a window to the event listener.

UiaEventCallback A client-implemented function that is called by UI Automation


when an event is raised that the client has subscribed to.

UiaEventRemoveWindow Removes a window from the event listener.

UiaFind Retrieves one or more UI Automation nodes that match the


search criteria.

UiaGetErrorDescription Gets an error string so that it can be passed to the client. This
method is not used directly by clients.

UiaGetPatternProvider Retrieves a control pattern.

UiaGetPropertyValue Retrieves the value of a UI Automation property.

UiaGetReservedMixedAttributeValue Retrieves a reserved value indicating that the value of a


Microsoft UI Automation text attribute varies within a text
range.

UiaGetReservedNotSupportedValue Retrieves a reserved value indicating that a Microsoft UI


Automation property or a text attribute is not supported.

UiaGetRootNode Retrieves the root UI Automation node.

UiaGetRuntimeId Retrieves the runtime identifier of a UI Automation node.

UiaGetUpdatedCache Updates the cache of property values and control patterns.

UiaHasServerSideProvider Ascertains whether a window has a Microsoft UI Automation


provider implementation.

UiaHostProviderFromHwnd Gets the host provider for a window.

UiaHPatternObjectFromVariant Gets a control pattern object from a VARIANT type.

UiaHTextRangeFromVariant Gets a text range from a VARIANT type.

UiaHUiaNodeFromVariant Gets an HUIANODE from a VARIANT type.


T IT L E DESC RIP T IO N

UiaIAccessibleFromProvider Retrieves an IAccessible implementation that provides


Microsoft Active Accessibility data on behalf of a Microsoft UI
Automation provider.

UiaLookupId Gets the integer identifier that can be used in methods that
require a PROPERTYID, PATTERNID, CONTROLTYPEID,
TEXTATTRIBUTEID, or EVENTID.

UiaNavigate Navigates in the UI Automation tree, optionally retrieving


cached information.

UiaNodeFromFocus Retrieves the UI Automation node for the UI element that


currently has input focus.

UiaNodeFromHandle Retrieves the UI Automation node associated with a window.

UiaNodeFromPoint Retrieves the UI Automation node for the element at the


specified point.

UiaNodeFromProvider Retrieves the UI Automation node for a raw element provider.

UiaNodeRelease Deletes a node from memory.

UiaPatternRelease Deletes an allocated pattern object from memory.

UiaProviderCallback An application-defined function that is called by UI


Automation to obtain a client-side provider for an element.

UiaProviderForNonClient Gets the provider for the entire non-client area of a window,
or for a control in the non-client area of a window.

UiaProviderFromIAccessible Creates a Microsoft UI Automation provider based on the


specified Microsoft Active Accessibility object.

UiaRaiseAsyncContentLoadedEvent Called by a provider to notify the Microsoft UI Automation


core that content is being loaded asynchronously.

UiaRaiseAutomationEvent Notifies listeners of an event.

UiaRaiseAutomationPropertyChangedEvent Called by providers to notify the Microsoft UI Automation


core that an element property has changed.

UiaRaiseChangesEvent Called by providers to notify the Microsoft UI Automation


core that a change has occurred.

UiaRaiseNotificationEvent Called by providers to initiate a notification event.

UiaRaiseStructureChangedEvent Called by a provider to notify the Microsoft UI Automation


core that the tree structure has changed.

UiaRaiseTextEditTextChangedEvent Called by a provider to notify the Microsoft UI Automation


core that a text control has programmatically changed text.
T IT L E DESC RIP T IO N

UiaRectIsEmpty Gets a Boolean value that specifies whether a rectangle has all
its coordinates set to 0.

UiaRectSetEmpty Sets the elements of a UiaRect structure to 0.

UiaRegisterProviderCallback Registers the application-defined method that is called by UI


Automation to obtain a provider for an element.

UiaRemoveEvent Removes a listener for events on a node in the UI Automation


tree.

UiaReturnRawElementProvider Gets an interface to the UI Automation provider for a window.

UiaSetFocus Sets the input focus to the specified element in the UI.

UiaTextRangeRelease Deletes an allocated text range object from memory.

UnhookWinEvent Removes an event hook function created by a previous call to


SetWinEventHook.

UnregisterPointerInputTarget Allows the caller to unregister a target window to which all


pointer input of the specified type is redirected.

UnregisterPointerInputTargetEx UnregisterPointerInputTargetEx may be altered or unavailable.


Instead, use UnregisterPointerInputTarget.

ValuePattern_SetValue Sets the text value of an element.

VariantToRect Converts a VARIANT containing rectangle coordinates to a


RECT.

VirtualizedItemPattern_Realize Makes the virtual item fully accessible as a UI Automation


element.

WaitForInputIdle Causes the calling code to block for the specified time or until
the associated process enters an idle state, whichever
completes first.

WaitForInputIdle Causes the calling code to block for the specified time or until
the associated process enters an idle state, whichever
completes first.

WindowFromAccessibleObject Retrieves the window handle that corresponds to a particular


instance of an IAccessible interface.

WindowPattern_Close Closes an open window.

WindowPattern_SetWindowVisualState Sets the visual state of a window; for example, to maximize a


window.

WindowPattern_WaitForInputIdle Causes the calling code to block for the specified time or until
the associated process enters an idle state, whichever
completes first.
T IT L E DESC RIP T IO N

WINEVENTPROC An application-defined callback (or hook) function that the


system calls in response to events generated by an accessible
object.

Zoom Zooms the viewport of the control.

Zoom Zooms the viewport of the control.

ZoomByUnit Zooms the viewport of the control by the specified logical


unit.

ZoomByUnit Zooms the viewport of the control by the specified unit.

Interfaces
T IT L E DESC RIP T IO N

IAccClientDocMgr Exposes methods for client applications to retrieve documents.

IAccDictionary Exposes methods for string manipulation.

IAccessible Exposes methods and properties that make a user interface


element and its children accessible to client applications.

IAccessibleEx Exposes methods that are called by Microsoft UI Automation


to retrieve extra information about a control that supports
Microsoft Active Accessibility.

IAccessibleHandler Exposes a method that retrieves an accessible element from


an object ID.

IAccessibleHostingElementProviders A Microsoft Active Accessibility object implements this


interface when the object is the root of an accessibility tree
that includes windowless Microsoft ActiveX controls that
implement Microsoft UI Automation.

IAccessibleWindowlessSite A Microsoft ActiveX control site implements this interface to


enable a windowless ActiveX control that has a Microsoft
Active Accessibility implementation to express its accessibility.

IAccIdentity Exposes a method that provides a unique identifier for an


accessible element.

IAccPropServer Exposes a method that retrieves a property value for an


accessible element.

IAccPropServices Exposes methods for annotating accessible elements and for


manipulating identity strings.

IAccServerDocMgr Exposes methods that make documents accessible to client


applications.
T IT L E DESC RIP T IO N

IAnnotationProvider Exposes the properties of an annotation in a document.

ICoCreatedLocally Exposes a method to return information about a local object.

ICoCreateLocally Exposes a method that enables a client application to create a


helper object in the server context.

IDockProvider Provides access to an element in a docking container.

IDragProvider Enables a Microsoft UI Automation element to describe itself


as an element that can be dragged as part of a drag-and-
drop operation.

IDropTargetProvider Enables a Microsoft UI Automation element to describe itself


as an element that can receive a drop of a dragged element as
part of a UI Automation drag-and-drop operation.

IExpandCollapseProvider Provides access to a control that visually expands to display


content, and collapses to hide content.

IGridItemProvider Provides access to individual child controls of containers that


implement IGridProvider.

IGridProvider Provides access to controls that act as containers for a


collection of child elements organized in a two-dimensional
logical coordinate system that can be traversed (that is, a
Microsoft UI Automation client can move to adjacent controls)
by using the keyboard.

IInvokeProvider Provides access to controls that initiate or perform a single,


unambiguous action and do not maintain state when
activated.

IItemContainerProvider Provides access to controls that act as containers of other


controls, such as a virtual list-view.

ILegacyIAccessibleProvider Enables Microsoft UI Automation clients to access the


underlying IAccessible implementation of Microsoft Active
Accessibility elements.

IMultipleViewProvider Provides access to controls that provide, and are able to


switch between, multiple representations of the same set of
information or child controls.

IObjectModelProvider Provides access to the underlying object model implemented


by a control or application.

IProxyProviderWinEventHandler Exposes a method that is implemented by proxy providers to


handle WinEvents.

IProxyProviderWinEventSink Exposes methods used by proxy providers to raise events.

IRangeValueProvider Provides access to controls that can be set to a value within a


range.
T IT L E DESC RIP T IO N

IRawElementProviderAdviseEvents Exposes methods that are called to notify the root element of
a fragment when a Microsoft UI Automation client application
begins or ends listening for events on that fragment.

IRawElementProviderFragment Exposes methods and properties on UI elements that are part


of a structure more than one level deep, such as a list box or
list item. Implemented by Microsoft UI Automation provider.

IRawElementProviderFragmentRoot Exposes methods and properties on the root element in a


fragment.

IRawElementProviderHostingAccessibles This interface is implemented by a Microsoft UI Automation


provider when the provider is the root of an accessibility tree
that includes windowless controls that support Microsoft
Active Accessibility.

IRawElementProviderHwndOverride Exposes a method that enables repositioning of window-


based elements within the fragment's UI Automation tree.

IRawElementProviderSimple Defines methods and properties that expose simple UI


elements.

IRawElementProviderSimple2 Extends the IRawElementProviderSimple interface to enable


programmatically invoking context menus.

IRawElementProviderSimple3 Extends the IRawElementProviderSimple2 interface to enable


retrieving metadata about how accessible technology should
say the preferred content type.

IRawElementProviderWindowlessSite A Microsoft ActiveX control site implements this interface to


enable a Microsoft UI Automation-enabled ActiveX control to
express its accessibility.

IScrollItemProvider Provides access to individual child controls of containers that


implement IScrollProvider.

IScrollProvider Provides access to controls that act as scrollable containers for


a collection of child objects.

ISelectionItemProvider Provides access to individual, selectable child controls of


containers that implement ISelectionProvider.

ISelectionProvider Provides access to controls that act as containers for a


collection of individual, selectable child items.

ISelectionProvider2 Extends the ISelectionItemProvider interface to provide


information about selected items.

ISpreadsheetItemProvider Provides access to information about an item (cell) in a


spreadsheet.

ISpreadsheetProvider Provides access to items (cells) in a spreadsheet.


T IT L E DESC RIP T IO N

IStylesProvider Provides access to the visual styles associated with the


content of a document.

ISynchronizedInputProvider Enables Microsoft UI Automation client applications to direct


the mouse or keyboard input to a specific UI element.

ITableItemProvider Provides access to child controls of containers that implement


ITableProvider.

ITableProvider Provides access to controls that act as containers for a


collection of child elements.

ITextChildProvider Provides access to a text-based control (or an object


embedded in text) that is a child or descendant of another
text-based control.

ITextEditProvider Extends the ITextProvider interface to enable Microsoft UI


Automation providers to expose programmatic text-edit
actions.

ITextProvider Provides access to controls that contain text.

ITextProvider2 Extends the ITextProvider interface to enable Microsoft UI


Automation providers to expose textual content that is the
target of an annotation, and information about a caret that
belongs to the provider.

ITextRangeProvider Provides access to a span of continuous text in a text


container that implements ITextProvider or ITextProvider2.

ITextRangeProvider2 Extends the ITextRangeProvider interface to enable Microsoft


UI Automation providers to invoke context menus.

IToggleProvider Provides access to controls that can cycle through a set of


states and maintain a state after it is set.

ITransformProvider Provides access to controls that can be moved, resized, and/or


rotated within a two-dimensional space.

ITransformProvider2 Extends the ITransformProvider interface to enable Microsoft


UI Automation providers to expose properties to support the
viewport zooming functionality of a control.

IUIAutomation Exposes methods that enable Microsoft UI Automation client


applications to discover, access, and filter UI Automation
elements.

IUIAutomation2 Extends the IUIAutomation interface to expose additional


methods for controlling Microsoft UI Automation
functionality.

IUIAutomation3 Extends the IUIAutomation2 interface to expose additional


methods for controlling Microsoft UI Automation
functionality.
T IT L E DESC RIP T IO N

IUIAutomation4 Extends the IUIAutomation3 interface to expose additional


methods for controlling Microsoft UI Automation
functionality.

IUIAutomation5 Extends the IUIAutomation4 interface to expose additional


methods for controlling Microsoft UI Automation
functionality.

IUIAutomation6 Extends the IUIAutomation5 interface to expose additional


methods for controlling Microsoft UI Automation
functionality.

IUIAutomationActiveTextPositionChangedEventHandler Exposes a method to handle Microsoft UI Automation events


that occur when the active text position changes.

IUIAutomationAndCondition Exposes properties and methods that Microsoft UI


Automation client applications can use to retrieve information
about an AND-based property condition.

IUIAutomationAnnotationPattern Provides access to the properties of an annotation in a


document.

IUIAutomationBoolCondition Represents a condition that can be either TRUE (selects all


elements) or FALSE (selects no elements).

IUIAutomationCacheRequest Exposes properties and methods of a cache request. Client


applications use this interface to specify the properties and
control patterns to be cached when a Microsoft UI
Automation element is obtained.

IUIAutomationChangesEventHandler Exposes a method to handle one or more Microsoft UI


Automation change events.

IUIAutomationCondition This is the primary interface for conditions used in filtering


when searching for elements in the UI Automation tree.

IUIAutomationCustomNavigationPattern Exposes a method to support access by a Microsoft UI


Automation client to controls that support a custom
navigation order.

IUIAutomationDockPattern Provides access to a control that enables child elements to be


arranged horizontally and vertically, relative to each other.

IUIAutomationDragPattern Provides access to information exposed by a UI Automation


provider for an element that can be dragged as part of a
drag-and-drop operation.

IUIAutomationDropTargetPattern Provides access to drag-and-drop information exposed by a


Microsoft UI Automation provider for an element that can be
the drop target of a drag-and-drop operation.

IUIAutomationElement Exposes methods and properties for a UI Automation


element, which represents a UI item.

IUIAutomationElement2 Extends the IUIAutomationElement interface.


T IT L E DESC RIP T IO N

IUIAutomationElement3 Extends the IUIAutomationElement2 interface.

IUIAutomationElement4 Extends the IUIAutomationElement3 interface.

IUIAutomationElement5 Extends the IUIAutomationElement4 interface to provide


access to current and cached landmark data.

IUIAutomationElement6 Extends the IUIAutomationElement5 interface to provide


access to current and cached full descriptions.

IUIAutomationElement7 Extends the IUIAutomationElement6 interface.

IUIAutomationElement8 Extends the IUIAutomationElement7 interface.

IUIAutomationElement9 Extends the IUIAutomationElement8 interface.

IUIAutomationElementArray Represents a collection of UI Automation elements.

IUIAutomationEventHandler Exposes a method to handle Microsoft UI Automation events.

IUIAutomationEventHandlerGroup Exposes methods for adding one or more events to a


collection for bulk registration through the
CreateEventHandlerGroup and AddEventHandlerGroup
methods defined in IUIAutomation6.

IUIAutomationExpandCollapsePattern Provides access to a control that can visually expand to


display content, and collapse to hide content.

IUIAutomationFocusChangedEventHandler Exposes a method to handle events that are raised when the
keyboard focus moves to another UI Automation element.

IUIAutomationGridItemPattern Provides access to a child control in a grid-style container that


supports the IUIAutomationGridPattern interface.

IUIAutomationGridPattern Provides access to a control that acts as a container for a


collection of child controls that are organized in a two-
dimensional logical coordinate system that can be traversed
by row and column.

IUIAutomationInvokePattern Exposes a method that enables a client application to invoke


the action of a control (typically a button).

IUIAutomationItemContainerPattern Exposes a method that retrieves an item from a container,


such as a virtual list.

IUIAutomationLegacyIAccessiblePattern Exposes methods and properties that enable Microsoft UI


Automation clients to retrieve UI information from Microsoft
Active Accessibility (MSAA) servers.
T IT L E DESC RIP T IO N

IUIAutomationMultipleViewPattern Provides access to a control that can switch between multiple


representations of the same information or set of child
controls.

IUIAutomationNotCondition Represents a condition that is the negative of another


condition.

IUIAutomationNotificationEventHandler Exposes a method to handle Microsoft UI Automation


notification events.

IUIAutomationObjectModelPattern Provides access to the underlying object model implemented


by a control or application.

IUIAutomationOrCondition Represents a condition made up of multiple conditions, at


least one of which must be true.

IUIAutomationPatternHandler Returns a client API wrapper object and to unmarshal


property and method requests to an actual provider instance.

IUIAutomationPatternInstance Represents a control pattern object. The client API wrapper


uses this interface to implement all property and method calls
in terms of the GetProperty and CallMethod methods.

IUIAutomationPropertyChangedEventHandler Exposes a method to handle Microsoft UI Automation events


that occur when a property is changed.

IUIAutomationPropertyCondition Represents a condition based on a property value that is used


to find UI Automation elements.

IUIAutomationProxyFactory Exposes properties and methods of an object that creates a


Microsoft UI Automation provider for UI elements that do not
have native support for UI Automation. This interface is
implemented by proxies.

IUIAutomationProxyFactoryEntry Represents a proxy factory in the table maintained by


Microsoft UI Automation, and exposes properties and
methods that can be used by client applications to interact
with IUIAutomationProxyFactory objects.

IUIAutomationProxyFactoryMapping Exposes properties and methods for a table of proxy factories.


Each table entry is represented by an
IUIAutomationProxyFactoryEntry interface. The entries are in
the order in which the system will attempt to use the proxies.

IUIAutomationRangeValuePattern Provides access to a control that presents a range of values.

IUIAutomationRegistrar Exposes methods for registering new control patterns,


properties, and events.

IUIAutomationScrollItemPattern Exposes a method that enables an item in a scrollable view to


be placed in a visible portion of the view.

IUIAutomationScrollPattern Provides access to a control that acts as a scrollable container


for a collection of child elements.
T IT L E DESC RIP T IO N

IUIAutomationSelectionItemPattern Provides access to the selectable child items of a container


control that supports IUIAutomationSelectionPattern.

IUIAutomationSelectionPattern Provides access to a control that contains selectable child


items. The children of this element support
IUIAutomationSelectionItemPattern.

IUIAutomationSelectionPattern2 Extends the IUIAutomationSelectionPattern interface to


provide information about selected items.

IUIAutomationSpreadsheetItemPattern Enables a client application to retrieve information about an


item (cell) in a spreadsheet.

IUIAutomationSpreadsheetPattern Enables a client application to access the items (cells) in a


spreadsheet.

IUIAutomationStructureChangedEventHandler Exposes a method to handle events that occur when the


Microsoft UI Automation tree structure is changed.

IUIAutomationStylesPattern Enables Microsoft UI Automation clients to retrieve the visual


styles associated with an element in a document.

IUIAutomationSynchronizedInputPattern Provides access to the keyboard or mouse input of a control.

IUIAutomationTableItemPattern Provides access to a child element in a container that


supports IUIAutomationTablePattern.

IUIAutomationTablePattern Provides access to a control that acts as a container for a


collection of child elements.

IUIAutomationTextChildPattern Provides access a text-based control (or an object embedded


in text) that is a child or descendant of another text-based
control.

IUIAutomationTextEditPattern Provides access to a control that modifies text, for example a


control that performs auto-correction or enables input
composition through an Input Method Editor (IME).

IUIAutomationTextEditTextChangedEventHandler Exposes a method to handle events that occur when


Microsoft UI Automation reports a text-changed event from
text edit controls.

IUIAutomationTextPattern Provides access to a control that contains text.

IUIAutomationTextPattern2 Extends the IUIAutomationTextPattern interface.

IUIAutomationTextRange Provides access to a span of continuous text in a container


that supports the IUIAutomationTextPattern interface. Client
applications can use the IUIAutomationTextRange interface to
select, compare, and retrieve embedded objects from the text
span.
T IT L E DESC RIP T IO N

IUIAutomationTextRange2 Extends the IUIAutomationTextRange interface to enable


Microsoft UI Automation clients to programmatically invoke
context menus.

IUIAutomationTextRange3 Extends the IUIAutomationTextRange2 interface to support


faster access to the underlying rich text data on a text range.

IUIAutomationTextRangeArray Represents a collection of IUIAutomationTextRange objects.

IUIAutomationTogglePattern Provides access to a control that can cycle through a set of


states, and maintain a state after it is set.

IUIAutomationTransformPattern Provides access to a control that can be moved, resized, or


rotated.

IUIAutomationTransformPattern2 Extends the IUIAutomationTransformPattern interface to


enable Microsoft UI Automation clients to programmatically
access the viewport zooming functionality of a control.

IUIAutomationTreeWalker Exposes properties and methods that UI Automation client


applications use to view and navigate the UI Automation
elements on the desktop.

IUIAutomationValuePattern Provides access to a control that contains a value that does


not span a range and that can be represented as a string.

IUIAutomationVirtualizedItemPattern Represents an virtualized item, which is an item that is


represented by a placeholder automation element in the
Microsoft UI Automation tree.

IUIAutomationWindowPattern Provides access to the fundamental functionality of a window.

IValueProvider Provides access to controls that have an intrinsic value that


does not span a range, and that can be represented as a
string.

IVersionInfo Exposes methods that supply version information for


accessible elements.

IVirtualizedItemProvider Provides access to virtualized items, which are items that are
represented by placeholder automation elements in the
Microsoft UI Automation tree.

IWindowProvider Provides access to the fundamental window-based


functionality of a control.

Structures
T IT L E DESC RIP T IO N

ACCESSTIMEOUT Contains information about the time-out period associated


with the accessibility features.
T IT L E DESC RIP T IO N

ExtendedProperty Contains information about an extended property.

FILTERKEYS Contains information about the FilterKeys accessibility feature,


which enables a user with disabilities to set the keyboard
repeat rate (RepeatKeys), acceptance delay (SlowKeys), and
bounce rate (BounceKeys).

HIGHCONTRASTA Contains information about the high contrast accessibility


feature.

HIGHCONTRASTW Contains information about the high contrast accessibility


feature.

MOUSEKEYS Contains information about the MouseKeys accessibility


feature.

MSAAMENUINFO Used by server developers to expose the names of owner-


drawn menu items.

SERIALKEYSA Contains information about the SerialKeys accessibility feature,


which interprets data from a communication aid attached to a
serial port as commands causing the system to simulate
keyboard and mouse input.

SERIALKEYSW Contains information about the SerialKeys accessibility feature,


which interprets data from a communication aid attached to a
serial port as commands causing the system to simulate
keyboard and mouse input.

SOUNDSENTRYA Contains information about the SoundSentry accessibility


feature. When the SoundSentry feature is on, the computer
displays a visual indication only when a sound is generated.

SOUNDSENTRYW Contains information about the SoundSentry accessibility


feature. When the SoundSentry feature is on, the computer
displays a visual indication only when a sound is generated.

STICKYKEYS Contains information about the StickyKeys accessibility


feature.

TOGGLEKEYS Contains information about the ToggleKeys accessibility


feature.

UiaAndOrCondition Note This structure is deprecated. Contains information


about a complex condition.

UiaAsyncContentLoadedEventArgs Note This structure is deprecated. Contains information


about an event raised when content is being asynchronously
loaded by a UI element.

UiaCacheRequest Note This structure is deprecated. Contains information


about a request to cache data about UI Automation elements.

UiaChangeInfo Contains data about a UI Automation change that occurred.


T IT L E DESC RIP T IO N

UiaCondition Note This structure is deprecated. Contains information


about a condition.

UiaEventArgs Note This structure is deprecated. Contains information


about a Microsoft UI Automation event.

UiaFindParams Note This structure is deprecated. Contains parameters used


in the UiaFind function.

UiaNotCondition Note This structure is deprecated. Contains information


about a negative condition.

UiaPoint Contains the coordinates of a point.

UiaPropertyChangedEventArgs Note This structure is deprecated. Contains information


about an event that is raised when a Microsoft UI Automation
element property change occurs.

UiaPropertyCondition Note This structure is deprecated. Contains information


about a condition used to find UI Automation elements that
have a matching property.

UiaRect Contains the position and size of a rectangle, in screen


coordinates.

UiaStructureChangedEventArgs Note This structure is deprecated. Contains information


about an event that is raised when the structure of the
Microsoft UI Automation tree changes.

UIAutomationEventInfo Contains information about a custom event.

UIAutomationMethodInfo Contains information about a method that is supported by a


custom control pattern.

UIAutomationParameter Contains information about a parameter of a custom control


pattern.

UIAutomationPatternInfo Contains information about a custom control pattern.

UIAutomationPropertyInfo Contains information about a custom property.

UiaWindowClosedEventArgs Note This structure is deprecated. Contains information


about an event that is raised when one or more windows
closes.
Windows Address Book
2/7/2020 • 3 minutes to read • Edit Online

Overview of the Windows Address Book technology.


To develop Windows Address Book, you need these headers:
wabapi.h
wabdefs.h
wabiab.h
wabtags.h
For programming guidance for this technology, see:
Windows Address Book

Enumerations
T IT L E DESC RIP T IO N

Gender Do not use. The Gender enumeration specifies the possible


values for the PR_GENDER property.

Functions
T IT L E DESC RIP T IO N

AllocateBuffer Allocates memory for buffers that are passed to Windows


Address Book (WAB) methods. The buffer must be freed with
IWABObject::FreeBuffer, and may be reallocated with
IWABObject::AllocateMore.

AllocateMore Allocates a memory buffer that is linked to another buffer


previously allocated with the IWABObject::AllocateBuffer
method.

Backup This method is not implemented.

Find Launches the Windows Address Book (WAB) Find dialog box.

FreeBuffer Frees memory allocated with IWABObject::AllocateBuffer or


any of the other Windows Address Book (WAB) methods.

GetLastError This method is not implemented.

GetMe Retrieves the entry identifier of the object that has been
designated as "ME."

Import Imports a .wab file into the user's Address Book.


T IT L E DESC RIP T IO N

LDAPUrl Processes an Lightweight Directory Access Protocol


(LDAP) URL and displays the results obtained from the URL.

SetMe Designates a particular contact as the ME object.

VCardCreate Translates the properties of a given MailUser object into a


vCard file.

VCardDisplay Displays properties on a vCard file.

VCardRetrieve Reads a vCard file and creates a MailUser object containing


the vCard properties.

WABOpen Do not use. Provides access to the address book through a


number of object interfaces. The root interface is IAddrBook,
which is a subset of the MAPI implementation of IAddrBook.

WABOpenEx WABOpenEx is no longer available for use as of


Windows Vista.

Interfaces
T IT L E DESC RIP T IO N

IABContainer Do not use. This interface provides access to address book


containers. Applications call the methods of the interface to
perform name resolution and to create, copy, and delete
recipients.

IAddrBook Do not use.

IDistList Do not use. This interface is used to provide access to


distribution lists in modifiable address book containers. The
interface provides methods to create, copy, and delete
distribution lists, in addition to performing name resolution.

IMailUser Do not use. This interface provides access to a mail user


object.

IMAPITable Do not use. This interface is used for content tables of


Windows Address Book (WAB) containers and distribution
lists.

IWABExtInit Do not use. This interface ndicates which Windows Address


Book (WAB) object is being displayed (for example, a property
sheet or context menu).

IWABObject Do not use. This interface provides access to the Windows


Address Book (WAB) object which contains function pointers
to memory allocation functions and database maintenance
functions.

Structures
T IT L E DESC RIP T IO N

SRestriction Do not use. Describes a filter for limiting the view of a table to
particular rows.

ADRENTRY Do not use. Describes zero or more properties belonging to


one or more recipients.

ADRLIST Do not use. Describes zero or more properties belonging to


one or more recipients.

ADRPARM Do not use. Describes the display and behavior of the


common address dialog box.

ENTRYID Do not use. Contains the entry identifier information for a


MAPI object.

SBinaryArray Do not use. An array of entry identifiers representing MAPI


objects. Uses the same implementation as SBinaryArray.

SPropProblem Do not use. Describes an error relating to an operation


involving a property.

SPropProblemArray Do not use. Contains an array of one or more SPropProblem


structures.

SPropTagArray Do not use. Contains an array of property tags.

SPropValue Do not use. Contains the property tag values.

SRow Do not use. Describes a row from a table containing selected


properties for a specific object.

SRowSet Do not use. Contains an array of SRow structures. Each SRow


structure describes a row from a table.

SSortOrder Do not use. Defines how to sort rows of a table, describing


both the column to use as the sort key and the direction of
the sort.

SSortOrderSet Do not use. Defines a collection of keys for a table to be used


for standard or categorized sorting.

WAB_PARAM Do not use. Contains the input information to pass to


WABOpen.

WABEXTDISPLAY Do not use. Used by the Windows Address Book (WAB) to


initialize user's IContextMenu Interface and IShellPropSheetExt
Interface implementations.

WABIMPORTPARAM Do not use. Structure passed to Import that gives information


about importing .wab files.
Windows and Messages
2/7/2020 • 22 minutes to read • Edit Online

Overview of the Windows and Messages technology.


The Windows and Messages technology is not associated with any headers.
For programming guidance for this technology, see:
Windows and Messages

Functions
T IT L E DESC RIP T IO N

AdjustWindowRect Calculates the required size of the window rectangle, based on


the desired client-rectangle size. The window rectangle can
then be passed to the CreateWindow function to create a
window whose client area is the desired size.

AdjustWindowRectEx Calculates the required size of the window rectangle, based on


the desired size of the client rectangle. The window rectangle
can then be passed to the CreateWindowEx function to create
a window whose client area is the desired size.

AllowSetForegroundWindow Enables the specified process to set the foreground window


using the SetForegroundWindow function. The calling process
must already be able to set the foreground window. For more
information, see Remarks later in this topic.

AnimateWindow Enables you to produce special effects when showing or hiding


windows. There are four types of animation:_roll, slide, collapse
or expand, and alpha-blended fade.

AnyPopup Indicates whether an owned, visible, top-level pop-up, or


overlapped window exists on the screen. The function searches
the entire screen, not just the calling application's client area.

ArrangeIconicWindows Arranges all the minimized (iconic) child windows of the


specified parent window.

BeginDeferWindowPos Allocates memory for a multiple-window- position structure


and returns the handle to the structure.

BringWindowToTop Brings the specified window to the top of the Z order. If the
window is a top-level window, it is activated. If the window is a
child window, the top-level parent window associated with the
child window is activated.

BroadcastSystemMessage Sends a message to the specified recipients.

BroadcastSystemMessageExA Sends a message to the specified recipients.


T IT L E DESC RIP T IO N

BroadcastSystemMessageExW Sends a message to the specified recipients.

BroadcastSystemMessageW Sends a message to the specified recipients.

CalculatePopupWindowPosition Calculates an appropriate pop-up window position using the


specified anchor point, pop-up window size, flags, and the
optional exclude rectangle.

CallMsgFilterA Passes the specified message and hook code to the hook
procedures associated with the WH_SYSMSGFILTER and
WH_MSGFILTER hooks.

CallMsgFilterW Passes the specified message and hook code to the hook
procedures associated with the WH_SYSMSGFILTER and
WH_MSGFILTER hooks.

CallNextHookEx Passes the hook information to the next hook procedure in


the current hook chain. A hook procedure can call this
function either before or after processing the hook
information.

CallWindowProcA Passes message information to the specified window


procedure.

CallWindowProcW Passes message information to the specified window


procedure.

CascadeWindows Cascades the specified child windows of the specified parent


window.

ChangeWindowMessageFilter Adds or removes a message from the User Interface Privilege


Isolation (UIPI) message filter.

ChangeWindowMessageFilterEx Modifies the User Interface Privilege Isolation (UIPI) message


filter for a specified window.

ChildWindowFromPoint Determines which, if any, of the child windows belonging to a


parent window contains the specified point. The search is
restricted to immediate child windows. Grandchildren, and
deeper descendant windows are not searched.

ChildWindowFromPointEx Determines which, if any, of the child windows belonging to


the specified parent window contains the specified point.

CloseWindow Minimizes (but does not destroy) the specified window.

CreateMDIWindowA Creates a multiple-document interface (MDI) child window.

CreateMDIWindowW Creates a multiple-document interface (MDI) child window.

CreateWindowA Creates an overlapped, pop-up, or child window.


T IT L E DESC RIP T IO N

CreateWindowExA Creates an overlapped, pop-up, or child window with an


extended window style; otherwise, this function is identical to
the CreateWindow function.

CreateWindowExW Creates an overlapped, pop-up, or child window with an


extended window style; otherwise, this function is identical to
the CreateWindow function.

CreateWindowW Creates an overlapped, pop-up, or child window.

DeferWindowPos Updates the specified multiple-window – position structure for


the specified window.

DefFrameProcA Provides default processing for any window messages that the
window procedure of a multiple-document interface (MDI)
frame window does not process.

DefFrameProcW Provides default processing for any window messages that the
window procedure of a multiple-document interface (MDI)
frame window does not process.

DefMDIChildProcA Provides default processing for any window message that the
window procedure of a multiple-document interface (MDI)
child window does not process.

DefMDIChildProcW Provides default processing for any window message that the
window procedure of a multiple-document interface (MDI)
child window does not process.

DefWindowProcA Calls the default window procedure to provide default


processing for any window messages that an application does
not process.

DefWindowProcW Calls the default window procedure to provide default


processing for any window messages that an application does
not process.

DeregisterShellHookWindow Unregisters a specified Shell window that is registered to


receive Shell hook messages.

DestroyWindow Destroys the specified window.

DispatchMessage Dispatches a message to a window procedure. It is typically


used to dispatch a message retrieved by the GetMessage
function.

DispatchMessageA Dispatches a message to a window procedure. It is typically


used to dispatch a message retrieved by the GetMessage
function.

DispatchMessageW Dispatches a message to a window procedure. It is typically


used to dispatch a message retrieved by the GetMessage
function.
T IT L E DESC RIP T IO N

EndDeferWindowPos Simultaneously updates the position and size of one or more


windows in a single screen-refreshing cycle.

EndTask Forcibly closes the specified window.

EnumChildWindows Enumerates the child windows that belong to the specified


parent window by passing the handle to each child window, in
turn, to an application-defined callback function.

EnumPropsA Enumerates all entries in the property list of a window by


passing them, one by one, to the specified callback function.
EnumProps continues until the last entry is enumerated or the
callback function returns FALSE.

EnumPropsExA Enumerates all entries in the property list of a window by


passing them, one by one, to the specified callback function.
EnumPropsEx continues until the last entry is enumerated or
the callback function returns FALSE.

EnumPropsExW Enumerates all entries in the property list of a window by


passing them, one by one, to the specified callback function.
EnumPropsEx continues until the last entry is enumerated or
the callback function returns FALSE.

EnumPropsW Enumerates all entries in the property list of a window by


passing them, one by one, to the specified callback function.
EnumProps continues until the last entry is enumerated or the
callback function returns FALSE.

EnumThreadWindows Enumerates all nonchild windows associated with a thread by


passing the handle to each window, in turn, to an application-
defined callback function.

EnumWindows Enumerates all top-level windows on the screen by passing


the handle to each window, in turn, to an application-defined
callback function. EnumWindows continues until the last top-
level window is enumerated or the callback function returns
FALSE.

FindWindowA Retrieves a handle to the top-level window whose class name


and window name match the specified strings. This function
does not search child windows. This function does not perform
a case-sensitive search.

FindWindowExA Retrieves a handle to a window whose class name and window


name match the specified strings. The function searches child
windows, beginning with the one following the specified child
window. This function does not perform a case-sensitive
search.

FindWindowExW Retrieves a handle to a window whose class name and window


name match the specified strings. The function searches child
windows, beginning with the one following the specified child
window. This function does not perform a case-sensitive
search.
T IT L E DESC RIP T IO N

FindWindowW Retrieves a handle to the top-level window whose class name


and window name match the specified strings. This function
does not search child windows. This function does not perform
a case-sensitive search.

GET_X_LPARAM Retrieves the signed x-coordinate from the specified LPARAM


value.

GET_Y_LPARAM Retrieves the signed y-coordinate from the given LPARAM


value.

GetAltTabInfoA Retrieves status information for the specified window if it is the


application-switching (ALT+TAB) window.

GetAltTabInfoW Retrieves status information for the specified window if it is the


application-switching (ALT+TAB) window.

GetAncestor Retrieves the handle to the ancestor of the specified window.

GetClassInfoA Retrieves information about a window class.

GetClassInfoExA Retrieves information about a window class, including a handle


to the small icon associated with the window class. The
GetClassInfo function does not retrieve a handle to the small
icon.

GetClassInfoExW Retrieves information about a window class, including a handle


to the small icon associated with the window class. The
GetClassInfo function does not retrieve a handle to the small
icon.

GetClassInfoW Retrieves information about a window class.

GetClassLongA Retrieves the specified 32-bit (DWORD) value from the


WNDCLASSEX structure associated with the specified window.

GetClassLongPtrA Retrieves the specified value from the WNDCLASSEX structure


associated with the specified window.

GetClassLongPtrW Retrieves the specified value from the WNDCLASSEX structure


associated with the specified window.

GetClassLongW Retrieves the specified 32-bit (DWORD) value from the


WNDCLASSEX structure associated with the specified window.

GetClassName Retrieves the name of the class to which the specified window
belongs.

GetClassNameA Retrieves the name of the class to which the specified window
belongs.

GetClassNameW Retrieves the name of the class to which the specified window
belongs.
T IT L E DESC RIP T IO N

GetClassWord Retrieves the 16-bit (WORD) value at the specified offset into
the extra class memory for the window class to which the
specified window belongs.

GetClientRect Retrieves the coordinates of a window's client area.

GetDesktopWindow Retrieves a handle to the desktop window. The desktop


window covers the entire screen. The desktop window is the
area on top of which other windows are painted.

GetForegroundWindow Retrieves a handle to the foreground window (the window


with which the user is currently working). The system assigns a
slightly higher priority to the thread that creates the
foreground window than it does to other threads.

GetGUIThreadInfo Retrieves information about the active window or a specified


GUI thread.

GetInputState Determines whether there are mouse-button or keyboard


messages in the calling thread's message queue.

GetLastActivePopup Determines which pop-up window owned by the specified


window was most recently active.

GetLayeredWindowAttributes Retrieves the opacity and transparency color key of a layered


window.

GetMessage Retrieves a message from the calling thread's message queue.


The function dispatches incoming sent messages until a
posted message is available for retrieval.

GetMessageA Retrieves a message from the calling thread's message queue.


The function dispatches incoming sent messages until a
posted message is available for retrieval.

GetMessageExtraInfo Retrieves the extra message information for the current


thread. Extra message information is an application- or driver-
defined value associated with the current thread's message
queue.

GetMessagePos Retrieves the cursor position for the last message retrieved by
the GetMessage function.

GetMessageTime Retrieves the message time for the last message retrieved by
the GetMessage function.

GetMessageW Retrieves a message from the calling thread's message queue.


The function dispatches incoming sent messages until a
posted message is available for retrieval.

GetNextWindow Retrieves a handle to the next or previous window in the Z-


Order. The next window is below the specified window; the
previous window is above.

GetParent Retrieves a handle to the specified window's parent or owner.


T IT L E DESC RIP T IO N

GetProcessDefaultLayout Retrieves the default layout that is used when windows are
created with no parent or owner.

GetPropA Retrieves a data handle from the property list of the specified
window. The character string identifies the handle to be
retrieved. The string and handle must have been added to the
property list by a previous call to the SetProp function.

GetPropW Retrieves a data handle from the property list of the specified
window. The character string identifies the handle to be
retrieved. The string and handle must have been added to the
property list by a previous call to the SetProp function.

GetQueueStatus Retrieves the type of messages found in the calling thread's


message queue.

GetShellWindow Retrieves a handle to the Shell's desktop window.

GetSysColor Retrieves the current color of the specified display element.

GetSystemMetrics Retrieves the specified system metric or system configuration


setting.

GetTitleBarInfo Retrieves information about the specified title bar.

GetTopWindow Examines the Z order of the child windows associated with the
specified parent window and retrieves a handle to the child
window at the top of the Z order.

GetWindow Retrieves a handle to a window that has the specified


relationship (Z-Order or owner) to the specified window.

GetWindowDisplayAffinity Retrieves the current display affinity setting, from any process,
for a given window.

GetWindowInfo Retrieves information about the specified window.

GetWindowLongA Retrieves information about the specified window.

GetWindowLongPtrA Retrieves information about the specified window. The function


also retrieves the value at a specified offset into the extra
window memory.

GetWindowLongPtrW Retrieves information about the specified window. The function


also retrieves the value at a specified offset into the extra
window memory.

GetWindowLongW Retrieves information about the specified window.

GetWindowModuleFileNameA Retrieves the full path and file name of the module associated
with the specified window handle.
T IT L E DESC RIP T IO N

GetWindowModuleFileNameW Retrieves the full path and file name of the module associated
with the specified window handle.

GetWindowPlacement Retrieves the show state and the restored, minimized, and
maximized positions of the specified window.

GetWindowRect Retrieves the dimensions of the bounding rectangle of the


specified window. The dimensions are given in screen
coordinates that are relative to the upper-left corner of the
screen.

GetWindowTextA Copies the text of the specified window's title bar (if it has one)
into a buffer. If the specified window is a control, the text of
the control is copied. However, GetWindowText cannot retrieve
the text of a control in another application.

GetWindowTextLengthA Retrieves the length, in characters, of the specified window's


title bar text (if the window has a title bar).

GetWindowTextLengthW Retrieves the length, in characters, of the specified window's


title bar text (if the window has a title bar).

GetWindowTextW Copies the text of the specified window's title bar (if it has one)
into a buffer. If the specified window is a control, the text of
the control is copied. However, GetWindowText cannot retrieve
the text of a control in another application.

GetWindowThreadProcessId Retrieves the identifier of the thread that created the specified
window and, optionally, the identifier of the process that
created the window.

HOOKPROC An application-defined or library-defined callback function


used with the SetWindowsHookEx function. The system calls
this function after the SendMessage function is called. The
hook procedure can examine the message; it cannot modify it.

InSendMessage Determines whether the current window procedure is


processing a message that was sent from another thread (in
the same process or a different process) by a call to the
SendMessage function.

InSendMessageEx Determines whether the current window procedure is


processing a message that was sent from another thread (in
the same process or a different process).

InternalGetWindowText Copies the text of the specified window's title bar (if it has one)
into a buffer.

IsChild Determines whether a window is a child window or


descendant window of a specified parent window.

IsGUIThread Determines whether the calling thread is already a GUI thread.


It can also optionally convert the thread to a GUI thread.
T IT L E DESC RIP T IO N

IsHungAppWindow Determines whether the system considers that a specified


application is not responding.

IsIconic Determines whether the specified window is minimized (iconic).

IsProcessDPIAware IsProcessDPIAware may be altered or unavailable. Instead, use


GetProcessDPIAwareness.

IsWindow Determines whether the specified window handle identifies an


existing window.

IsWindowUnicode Determines whether the specified window is a native Unicode


window.

IsWindowVisible Determines the visibility state of the specified window.

IsZoomed Determines whether a window is maximized.

KillTimer Destroys the specified timer.

LockSetForegroundWindow The foreground process can call the


LockSetForegroundWindow function to disable calls to the
SetForegroundWindow function.

LogicalToPhysicalPoint Converts the logical coordinates of a point in a window to


physical coordinates.

MAKELPARAM Creates a value for use as an lParam parameter in a message.


The macro concatenates the specified values.

MAKELRESULT Creates a value for use as a return value from a window


procedure. The macro concatenates the specified values.

MAKEWPARAM Creates a value for use as a wParam parameter in a message.


The macro concatenates the specified values.

MoveWindow Changes the position and dimensions of the specified window.

OpenIcon Restores a minimized (iconic) window to its previous size and


position; it then activates the window.

PeekMessageA Dispatches incoming sent messages, checks the thread


message queue for a posted message, and retrieves the
message (if any exist).

PeekMessageW Dispatches incoming sent messages, checks the thread


message queue for a posted message, and retrieves the
message (if any exist).

PhysicalToLogicalPoint Converts the physical coordinates of a point in a window to


logical coordinates.
T IT L E DESC RIP T IO N

PostMessageA Places (posts) a message in the message queue associated


with the thread that created the specified window and returns
without waiting for the thread to process the message.

PostMessageW Places (posts) a message in the message queue associated


with the thread that created the specified window and returns
without waiting for the thread to process the message.

PostQuitMessage Indicates to the system that a thread has made a request to


terminate (quit). It is typically used in response to a
WM_DESTROY message.

PostThreadMessageA Posts a message to the message queue of the specified thread.


It returns without waiting for the thread to process the
message.

PostThreadMessageW Posts a message to the message queue of the specified thread.


It returns without waiting for the thread to process the
message.

PROPENUMPROCA An application-defined callback function used with the


EnumProps function.

PROPENUMPROCEXA Application-defined callback function used with the


EnumPropsEx function.

PROPENUMPROCEXW Application-defined callback function used with the


EnumPropsEx function.

PROPENUMPROCW An application-defined callback function used with the


EnumProps function.

RealChildWindowFromPoint Retrieves a handle to the child window at the specified point.


The search is restricted to immediate child windows;
grandchildren and deeper descendant windows are not
searched.

RealGetWindowClassW Retrieves a string that specifies the window type.

RegisterClassA Registers a window class for subsequent use in calls to the


CreateWindow or CreateWindowEx function.

RegisterClassExA Registers a window class for subsequent use in calls to the


CreateWindow or CreateWindowEx function.

RegisterClassExW Registers a window class for subsequent use in calls to the


CreateWindow or CreateWindowEx function.

RegisterClassW Registers a window class for subsequent use in calls to the


CreateWindow or CreateWindowEx function.

RegisterShellHookWindow Registers a specified Shell window to receive certain messages


for events or notifications that are useful to Shell applications.
T IT L E DESC RIP T IO N

RegisterWindowMessageA Defines a new window message that is guaranteed to be


unique throughout the system. The message value can be
used when sending or posting messages.

RegisterWindowMessageW Defines a new window message that is guaranteed to be


unique throughout the system. The message value can be
used when sending or posting messages.

RemovePropA Removes an entry from the property list of the specified


window. The specified character string identifies the entry to
be removed.

RemovePropW Removes an entry from the property list of the specified


window. The specified character string identifies the entry to
be removed.

ReplyMessage Replies to a message sent from another thread by the


SendMessage function.

SENDASYNCPROC An application-defined callback function used with the


SendMessageCallback function.

SendMessage Sends the specified message to a window or windows. The


SendMessage function calls the window procedure for the
specified window and does not return until the window
procedure has processed the message.

SendMessageA Sends the specified message to a window or windows. The


SendMessage function calls the window procedure for the
specified window and does not return until the window
procedure has processed the message.

SendMessageCallbackA Sends the specified message to a window or windows.

SendMessageCallbackW Sends the specified message to a window or windows.

SendMessageTimeoutA Sends the specified message to one or more windows.

SendMessageTimeoutW Sends the specified message to one or more windows.

SendMessageW Sends the specified message to a window or windows. The


SendMessage function calls the window procedure for the
specified window and does not return until the window
procedure has processed the message.

SendNotifyMessageA Sends the specified message to a window or windows.

SendNotifyMessageW Sends the specified message to a window or windows.

SetClassLongA Replaces the specified 32-bit (long) value at the specified offset
into the extra class memory or the WNDCLASSEX structure for
the class to which the specified window belongs.
T IT L E DESC RIP T IO N

SetClassLongPtrA Replaces the specified value at the specified offset in the extra
class memory or the WNDCLASSEX structure for the class to
which the specified window belongs.

SetClassLongPtrW Replaces the specified value at the specified offset in the extra
class memory or the WNDCLASSEX structure for the class to
which the specified window belongs.

SetClassLongW Replaces the specified 32-bit (long) value at the specified offset
into the extra class memory or the WNDCLASSEX structure for
the class to which the specified window belongs.

SetClassWord Replaces the 16-bit (WORD) value at the specified offset into
the extra class memory for the window class to which the
specified window belongs.

SetCoalescableTimer Creates a timer with the specified time-out value and


coalescing tolerance delay.

SetForegroundWindow Brings the thread that created the specified window into the
foreground and activates the window.

SetLayeredWindowAttributes Sets the opacity and transparency color key of a layered


window.

SetMessageExtraInfo Sets the extra message information for the current thread.

SetParent Changes the parent window of the specified child window.

SetProcessDefaultLayout Changes the default layout when windows are created with no
parent or owner only for the currently running process.

SetProcessDPIAware SetProcessDPIAware may be altered or unavailable. Instead,


use SetProcessDPIAwareness.

SetPropA Adds a new entry or changes an existing entry in the property


list of the specified window.

SetPropW Adds a new entry or changes an existing entry in the property


list of the specified window.

SetSysColors Sets the colors for the specified display elements.

SetTimer Creates a timer with the specified time-out value.

SetWindowDisplayAffinity Stores the display affinity setting in kernel mode on the hWnd
associated with the window.

SetWindowLongA Changes an attribute of the specified window. The function


also sets the 32-bit (long) value at the specified offset into the
extra window memory.

SetWindowLongPtrA Changes an attribute of the specified window.


T IT L E DESC RIP T IO N

SetWindowLongPtrW Changes an attribute of the specified window.

SetWindowLongW Changes an attribute of the specified window. The function


also sets the 32-bit (long) value at the specified offset into the
extra window memory.

SetWindowPlacement Sets the show state and the restored, minimized, and
maximized positions of the specified window.

SetWindowPos Changes the size, position, and Z order of a child, pop-up, or


top-level window. These windows are ordered according to
their appearance on the screen. The topmost window receives
the highest rank and is the first window in the Z order.

SetWindowsHookExA Installs an application-defined hook procedure into a hook


chain.

SetWindowsHookExW Installs an application-defined hook procedure into a hook


chain.

SetWindowTextA Changes the text of the specified window's title bar (if it has
one). If the specified window is a control, the text of the
control is changed. However, SetWindowText cannot change
the text of a control in another application.

SetWindowTextW Changes the text of the specified window's title bar (if it has
one). If the specified window is a control, the text of the
control is changed. However, SetWindowText cannot change
the text of a control in another application.

ShowOwnedPopups Shows or hides all pop-up windows owned by the specified


window.

ShowWindow Sets the specified window's show state.

ShowWindowAsync Sets the show state of a window without waiting for the
operation to complete.

SoundSentry Triggers a visual signal to indicate that a sound is playing.

SwitchToThisWindow Switches focus to the specified window and brings it to the


foreground.

SystemParametersInfoA Retrieves or sets the value of one of the system-wide


parameters.

SystemParametersInfoW Retrieves or sets the value of one of the system-wide


parameters.

TileWindows Tiles the specified child windows of the specified parent


window.
T IT L E DESC RIP T IO N

TIMERPROC An application-defined callback function that processes


WM_TIMER messages. The TIMERPROC type defines a pointer
to this callback function. TimerProc is a placeholder for the
application-defined function name.

TranslateMDISysAccel Processes accelerator keystrokes for window menu commands


of the multiple-document interface (MDI) child windows
associated with the specified MDI client window.

TranslateMessage Translates virtual-key messages into character messages. The


character messages are posted to the calling thread's message
queue, to be read the next time the thread calls the
GetMessage or PeekMessage function.

UnhookWindowsHookEx Removes a hook procedure installed in a hook chain by the


SetWindowsHookEx function.

UnregisterClassA Unregisters a window class, freeing the memory required for


the class.

UnregisterClassW Unregisters a window class, freeing the memory required for


the class.

UpdateLayeredWindow Updates the position, size, shape, content, and translucency of


a layered window.

WaitMessage Yields control to other threads when a thread has no other


messages in its message queue. The WaitMessage function
suspends the thread and does not return until a new message
is placed in the thread's message queue.

WindowFromPhysicalPoint Retrieves a handle to the window that contains the specified


physical point.

WindowFromPoint Retrieves a handle to the window that contains the specified


point.

WinMain The user-provided entry point for a graphical Windows-based


application.

Structures
T IT L E DESC RIP T IO N

ALTTABINFO Contains status information for the application-switching


(ALT+TAB) window.

ANIMATIONINFO Describes the animation effects associated with user actions.

AUDIODESCRIPTION Contains information associated with audio descriptions. This


structure is used with the SystemParametersInfo function
when the SPI_GETAUDIODESCRIPTION or
SPI_SETAUDIODESCRIPTION action value is specified.
T IT L E DESC RIP T IO N

BSMINFO Contains information about a window that denied a request


from BroadcastSystemMessageEx.

CBT_CREATEWNDA Contains information passed to a WH_CBT hook procedure,


CBTProc, before a window is created.

CBT_CREATEWNDW Contains information passed to a WH_CBT hook procedure,


CBTProc, before a window is created.

CBTACTIVATESTRUCT Contains information passed to a WH_CBT hook procedure,


CBTProc, before a window is activated.

CHANGEFILTERSTRUCT Contains extended result information obtained by calling the


ChangeWindowMessageFilterEx function.

CLIENTCREATESTRUCT Contains information about the menu and first multiple-


document interface (MDI) child window of an MDI client
window.

CREATESTRUCTA Defines the initialization parameters passed to the window


procedure of an application. These members are identical to
the parameters of the CreateWindowEx function.

CREATESTRUCTW Defines the initialization parameters passed to the window


procedure of an application. These members are identical to
the parameters of the CreateWindowEx function.

CWPRETSTRUCT Defines the message parameters passed to a


WH_CALLWNDPROCRET hook procedure, CallWndRetProc.

CWPSTRUCT Defines the message parameters passed to a


WH_CALLWNDPROC hook procedure, CallWndProc.

DEBUGHOOKINFO Contains debugging information passed to a WH_DEBUG


hook procedure, DebugProc.

EVENTMSG Contains information about a hardware message sent to the


system message queue. This structure is used to store
message information for the JournalPlaybackProc callback
function.

GUITHREADINFO Contains information about a GUI thread.

KBDLLHOOKSTRUCT Contains information about a low-level keyboard input event.

MDICREATESTRUCTA Contains information about the class, title, owner, location,


and size of a multiple-document interface (MDI) child window.

MDICREATESTRUCTW Contains information about the class, title, owner, location,


and size of a multiple-document interface (MDI) child window.

MINIMIZEDMETRICS Contains the scalable metrics associated with minimized


windows.
T IT L E DESC RIP T IO N

MINMAXINFO Contains information about a window's maximized size and


position and its minimum and maximum tracking size.

MOUSEHOOKSTRUCT Contains information about a mouse event passed to a


WH_MOUSE hook procedure, MouseProc.

MOUSEHOOKSTRUCTEX Contains information about a mouse event passed to a


WH_MOUSE hook procedure, MouseProc. This is an extension
of the MOUSEHOOKSTRUCT structure that includes
information about wheel movement or the use of the X
button.

MSG Contains message information from a thread's message


queue.

MSLLHOOKSTRUCT Contains information about a low-level mouse input event.

NCCALCSIZE_PARAMS Contains information that an application can use while


processing the WM_NCCALCSIZE message to calculate the
size, position, and valid contents of the client area of a window.

NONCLIENTMETRICSA Contains the scalable metrics associated with the nonclient


area of a nonminimized window.

NONCLIENTMETRICSW Contains the scalable metrics associated with the nonclient


area of a nonminimized window.

STYLESTRUCT Contains the styles for a window.

TITLEBARINFO Contains title bar information.

TITLEBARINFOEX Expands on the information described in the TITLEBARINFO


structure by including the coordinates of each element of the
title bar.

UPDATELAYEREDWINDOWINFO Used by UpdateLayeredWindowIndirect to provide position,


size, shape, content, and translucency information for a
layered window.

WINDOWINFO Contains window information.

WINDOWPLACEMENT Contains information about the placement of a window on the


screen.

WINDOWPOS Contains information about the size and position of a window.

WNDCLASSA Contains the window class attributes that are registered by


the RegisterClass function.

WNDCLASSEXA Contains window class information.

WNDCLASSEXW Contains window class information.


T IT L E DESC RIP T IO N

WNDCLASSW Contains the window class attributes that are registered by


the RegisterClass function.
Windows Animation Manager
2/7/2020 • 15 minutes to read • Edit Online

Overview of the Windows Animation Manager technology.


To develop Windows Animation Manager, you need these headers:
uianimation.h
For programming guidance for this technology, see:
Windows Animation Manager

Enumerations
T IT L E DESC RIP T IO N

UI_ANIMATION_DEPENDENCIES Defines which aspects of an interpolator depend on a given


input.

UI_ANIMATION_IDLE_BEHAVIOR Defines the behavior of a timer when the animation manager


is idle.

UI_ANIMATION_MANAGER_STATUS Defines the activity status of an animation manager.

UI_ANIMATION_MODE Defines animation modes.

UI_ANIMATION_PRIORITY_EFFECT Defines potential effects on a storyboard if a priority


comparison returns false.

UI_ANIMATION_REPEAT_MODE Defines the pattern for a loop iteration.

UI_ANIMATION_ROUNDING_MODE Defines the rounding modes to be used when the value of an


animation variable is converted from a floating-point type to
an integer type.

UI_ANIMATION_SCHEDULING_RESULT Defines results for storyboard scheduling.

UI_ANIMATION_SLOPE Defines animation slope characteristics.

UI_ANIMATION_STORYBOARD_STATUS Defines the status for a storyboard.

UI_ANIMATION_TIMER_CLIENT_STATUS Defines activity status for a timer's client.

UI_ANIMATION_UPDATE_RESULT Defines results for animation updates.

Functions
T IT L E DESC RIP T IO N

Abandon Terminates the storyboard, releases all related animation


variables, and removes the storyboard from the schedule.

Abandon Terminates the storyboard, releases all related animation


variables, and removes the storyboard from the schedule.

AbandonAllStoryboards Abandons all active storyboards.

AbandonAllStoryboards Abandons all active storyboards.

AddCubic Adds a cubic polynomial segment that describes the shape of


a transition curve to the animation function.

AddKeyframeAfterTransition Adds a keyframe at the end of the specified transition.

AddKeyframeAfterTransition Adds a keyframe at the end of the specified transition.

AddKeyframeAtOffset Adds a keyframe at the specified offset from an existing


keyframe.

AddKeyframeAtOffset Adds a keyframe at the specified offset from an existing


keyframe.

AddSinusoidal Adds a sinusoidal segment that describes the shape of a


transition curve to the animation function.

AddTransition Adds a transition to the storyboard.

AddTransition Adds a transition to the storyboard.

AddTransitionAtKeyframe Adds a transition that starts at the specified keyframe.

AddTransitionAtKeyframe Adds a transition that starts at the specified keyframe.

AddTransitionBetweenKeyframes Adds a transition between two keyframes.

AddTransitionBetweenKeyframes Adds a transition between two keyframes.

ClearTimerClientEventHandler Clears the handler for timer client status change events.

Conclude Completes the current iteration of a keyframe loop that is in


progress (where the loop is set to
UI_ANIMATION_REPEAT_INDEFINITELY), terminates the loop,
and continues with the storyboard.

Conclude Completes the current iteration of a keyframe loop that is in


progress (where the loop is set to
UI_ANIMATION_REPEAT_INDEFINITELY), terminates the loop,
and continues with the storyboard.

CreateAccelerateDecelerateTransition Creates an accelerate-decelerate transition.


T IT L E DESC RIP T IO N

CreateAccelerateDecelerateTransition Creates an accelerate-decelerate scalar transition.

CreateAnimationVariable Creates a new animation variable.

CreateAnimationVariable Creates a new animation variable.

CreateAnimationVectorVariable Creates a new animation variable for each specified dimension.

CreateConstantTransition Creates a constant transition.

CreateConstantTransition Creates a constant scalar transition.

CreateCubicBezierLinearTransition Creates a cubic Bézier linear scalar transition.

CreateCubicBezierLinearVectorTransition Creates a cubic Bézier linear vector transition for each specified
dimension.

CreateCubicTransition Creates a cubic transition.

CreateCubicTransition Creates a cubic scalar transition.

CreateCubicVectorTransition Creates a cubic vector transition for each specified dimension.

CreateDiscreteTransition Creates a discrete transition.

CreateDiscreteTransition Creates a discrete scalar transition.

CreateDiscreteVectorTransition Creates a discrete vector transition for each specified


dimension.

CreateInstantaneousTransition Creates an instantaneous transition.

CreateInstantaneousTransition Creates an instantaneous scalar transition.

CreateInstantaneousVectorTransition Creates an instantaneous vector transition for each specified


dimension.

CreateLinearTransition Creates a linear transition.

CreateLinearTransition Creates a linear scalar transition.

CreateLinearTransitionFromSpeed Creates a linear-speed transition.

CreateLinearTransitionFromSpeed Creates a linear-speed scalar transition.

CreateLinearVectorTransition Creates a linear vector transition in the specified dimension.

CreateLinearVectorTransitionFromSpeed Creates a linear-speed vector transition in the specified


dimension.

CreateParabolicTransitionFromAcceleration Creates a parabolic-acceleration transition.


T IT L E DESC RIP T IO N

CreateParabolicTransitionFromAcceleration Creates a parabolic-acceleration scalar transition.

CreateReversalTransition Creates a reversal transition.

CreateReversalTransition Creates a reversal scalar transition.

CreateSinusoidalTransitionFromRange Creates a sinusoidal-range transition, with a specified range of


oscillation.

CreateSinusoidalTransitionFromRange Creates a sinusoidal-range scalar transition with a specified


range of oscillation.

CreateSinusoidalTransitionFromVelocity Creates a sinusoidal-velocity transition, with an amplitude


determined by the initial velocity.

CreateSinusoidalTransitionFromVelocity Creates a sinusoidal scalar transition where amplitude is


determined by initial velocity.

CreateSmoothStopTransition Creates a smooth-stop transition.

CreateSmoothStopTransition Creates a smooth-stop scalar transition.

CreateStoryboard Creates a new storyboard.

CreateStoryboard Creates a new storyboard.

CreateTransition Creates a transition from a custom interpolator.

CreateTransition Creates a transition from a custom interpolator for a given


dimension.

Disable Disables the animation timer.

Enable Enables the animation timer.

EstimateNextEventTime Retrieves an estimate of the time interval before the next


animation event.

Finish Finishes the storyboard within the specified time, compressing


the storyboard if necessary.

Finish Finishes the storyboard within the specified time, compressing


the storyboard if necessary.

FinishAllStoryboards Finishes all active storyboards within the specified time


interval.

FinishAllStoryboards Finishes all active storyboards within the specified time


interval.

GetCurrentStoryboard Gets the storyboard that is currently animating the animation


variable.
T IT L E DESC RIP T IO N

GetCurrentStoryboard Gets the active storyboard for the animation variable.

GetCurve Gets the animation curve of the animation variable.

GetDependencies Gets the aspects of the interpolator that depend on the initial
value or velocity passed to SetInitialValueAndVelocity, or that
depend on the duration passed to SetDuration.

GetDependencies For the given dimension, GetDependencies retrieves the


aspects of the interpolator that depend on the initial value or
velocity that is passed to the
IUIAnimationInterpolator2::SetInitialValueAndVelocity method
or the duration that is passed to the
IUIAnimationInterpolator2::SetDuration method.

GetDimension Gets the number of dimensions that require interpolation.

GetDimension Gets the number of dimensions in which the animation


variable has a transition specified.

GetDimension Gets the number of dimensions that the animation variable is


to be animated in.

GetDuration Gets the duration of a transition.

GetDuration Gets the duration of a transition for the given dimension.

GetDuration Gets the duration of the transition.

GetDuration Gets the duration of the transition.

GetElapsedTime Gets the time that has elapsed since the storyboard started
playing.

GetElapsedTime Gets the time that has elapsed since the storyboard started
playing.

GetFinalIntegerValue Gets the final value of the animation variable as an integer.


This is the value after all currently scheduled animations have
completed.

GetFinalIntegerValue Gets the final integer value of the animation variable. This is
the value after all currently scheduled animations have
completed.

GetFinalIntegerVectorValue Gets the final integer value of the animation variable for the
specified dimension. This is the value after all currently
scheduled animations have completed.

GetFinalValue Gets the final value at the end of the transition.

GetFinalValue Gets the final value at the end of the transition for the given
dimension.
T IT L E DESC RIP T IO N

GetFinalValue Gets the final value of the animation variable. This is the value
after all currently scheduled animations have completed.

GetFinalValue Gets the final value of the animation variable. This is the value
after all currently scheduled animations have completed.

GetFinalVectorValue Gets the final value of the animation variable for the specified
dimension. This is the value after all currently scheduled
animations have completed.

GetIntegerValue Gets the current value of the animation variable as an integer.

GetIntegerValue Gets the integer value of the animation variable.

GetIntegerVectorValue Gets the integer value of the animation variable for the
specified dimension.

GetPreviousIntegerValue Gets the previous value of the animation variable as an


integer. This is the value of the animation variable before the
most recent update.

GetPreviousIntegerValue Gets the previous integer value of the animation variable in


the specified dimension. This is the value of the animation
variable before the most recent update.

GetPreviousIntegerVectorValue Gets the previous integer value of the animation variable for
the specified dimension. This is the value of the animation
variable before the most recent update.

GetPreviousValue Gets the previous value of the animation variable. This is the
value of the animation variable before the most recent update.

GetPreviousValue Gets the previous value of the animation variable. This is the
value of the animation variable before the most recent update.

GetPreviousVectorValue Gets the previous value of the animation variable for the
specified dimension. This is the value of the animation variable
before the most recent update.

GetPrimitiveInterpolation Generates a primitive interpolation of the specified animation


curve.

GetStatus Gets the status of the animation manager.

GetStatus Gets the status of the animation manager.

GetStatus Gets the status of the storyboard.

GetStatus Gets the status of the storyboard.

GetStoryboardFromTag Gets the storyboard with the specified tag.

GetStoryboardFromTag Gets the storyboard with the specified tag.


T IT L E DESC RIP T IO N

GetTag Gets the tag for a storyboard.

GetTag Gets the tag for a storyboard.

GetTag Gets the tag for an animation variable.

GetTag Gets the tag of the animation variable.

GetTime Gets the current time.

GetValue Gets the current value of the animation variable.

GetValue Gets the value of the animation variable.

GetVariableFromTag Gets the animation variable with the specified tag.

GetVariableFromTag Gets the animation variable with the specified tag.

GetVectorCurve Gets the animation curve of the animation variable for the
specified dimension.

GetVectorValue Gets the value of the animation variable in the specified


dimension.

HasPriority Determines whether a new storyboard has priority over a


scheduled storyboard.

HasPriority Determines the relative priority between a scheduled


storyboard and a new storyboard.

HoldVariable Directs the storyboard to hold the specified animation variable


at its final value until the storyboard ends.

HoldVariable Directs the storyboard to hold the specified animation variable


at its final value until the storyboard ends.

InterpolateValue Interpolates the value of an animation variable at the specified


offset.

InterpolateValue Interpolates the value of an animation variable at the specified


offset and for the given dimension.

InterpolateVelocity Interpolates the velocity, or rate of change, at the specified


offset.

InterpolateVelocity Interpolates the velocity, or rate of change, at the specified


offset for the given dimension.

IsDurationKnown Determines whether a transition's duration is currently known.

IsDurationKnown Determines whether the duration of a transition is known.


T IT L E DESC RIP T IO N

IsEnabled Determines whether the timer is currently enabled.

OnCurveChanged Handles events that occur when the animation curve of an


animation variable changes.

OnIntegerValueChanged Handles events that occur when the value of an animation


variable changes.

OnIntegerValueChanged Handles events that occur when the integer value of an


animation variable changes in the specified dimension.

OnLoopIterationChanged Handles loop iteration change events, which occur when a


loop within a storyboard begins a new iteration.

OnManagerStatusChanged Handles status changes to an animation manager.

OnManagerStatusChanged Handles status changes to an animation manager.

OnPostUpdate Handles events that occur after an animation update is


finished.

OnPreUpdate Handles events that occur before an animation update begins.

OnRenderingTooSlow Handles events that occur when the rendering frame rate for
an animation falls below a minimum desirable frame rate.

OnStoryboardStatusChanged Handles events that occur when a storyboard's status


changes.

OnStoryboardStatusChanged Handles storyboard status change events.

OnStoryboardUpdated Handles events that occur when a storyboard is updated.

OnStoryboardUpdated Handles storyboard update events.

OnTimerClientStatusChanged Handles events that occur when the status of the timer's client
changes.

OnUpdate Handles update events from the timer.

OnValueChanged Handles events that occur when the value of an animation


variable changes.

OnValueChanged Handles events that occur when the value of an animation


variable changes in the specified dimension.

Pause Pauses all animations.

Pause Pauses all animations.

RepeatBetweenKeyframes Creates a loop between two specified keyframes.


T IT L E DESC RIP T IO N

RepeatBetweenKeyframes Creates a loop between two keyframes.

Resume Resumes all animations.

Resume Resumes all animations.

Schedule Directs the storyboard to schedule itself for play.

Schedule Directs the storyboard to schedule itself for play.

ScheduleTransition Creates and schedules a single-transition storyboard.

ScheduleTransition Creates and schedules a single-transition storyboard.

SetAnimationMode Sets the animation mode.

SetAnimationMode Sets the animation mode.

SetCancelPriorityComparison Sets the priority comparison handler to be called to determine


whether a scheduled storyboard can be canceled.

SetCancelPriorityComparison Sets the priority comparison handler that determines whether


a scheduled storyboard can be canceled.

SetCompressPriorityComparison Sets the priority comparison handler to be called to determine


whether a scheduled storyboard can be compressed.

SetCompressPriorityComparison Sets the priority comparison handler that determines whether


a scheduled storyboard can be compressed.

SetConcludePriorityComparison Sets the priority comparison handler to be called to determine


whether a scheduled storyboard can be concluded.

SetConcludePriorityComparison Sets the priority comparison handler that determines whether


a scheduled storyboard can be concluded.

SetDefaultLongestAcceptableDelay Sets the default acceptable animation delay. This is the length
of time that may pass before storyboards begin.

SetDefaultLongestAcceptableDelay Sets the default acceptable animation delay. This is the length
of time that may pass before storyboards begin.

SetDuration Sets the duration of the transition.

SetDuration Sets the duration of the transition in the given dimension.

SetFrameRateThreshold Sets the frame rate below which the timer notifies the
application that rendering is too slow.

SetInitialValue Sets the initial value for the transition.

SetInitialValue Sets the initial value of the transition.


T IT L E DESC RIP T IO N

SetInitialValueAndVelocity Sets the initial value and velocity at the start of the transition.

SetInitialValueAndVelocity Sets the initial value and velocity of the transition for the given
dimension.

SetInitialVectorValue Sets the initial value of the transition for each specified
dimension in the animation variable.

SetInitialVectorVelocity Sets the initial velocity of the transition for each specified
dimension in the animation variable.

SetInitialVelocity Sets the initial velocity for the transition.

SetInitialVelocity Sets the initial velocity of the transition.

SetLongestAcceptableDelay Sets the longest acceptable delay before the scheduled


storyboard begins.

SetLongestAcceptableDelay Sets the longest acceptable delay before the scheduled


storyboard begins.

SetLowerBound Sets the lower bound (floor) for the animation variable. The
value of the animation variable should not fall below the
specified value.

SetLowerBound Sets the lower bound (floor) for the value of the animation
variable. The value of the animation variable should not fall
below the specified value.

SetLowerBoundVector Sets the lower bound (floor) value of each specified dimension
for the animation variable. The value of each animation
variable should not fall below its lower bound.

SetManagerEventHandler Specifies a handler for animation manager status updates.

SetManagerEventHandler Specifies a handler for animation manager status updates.

SetRoundingMode Specifies the rounding mode for the animation variable.

SetRoundingMode Sets the rounding mode of the animation variable.

SetSkipDuration Specifies an offset from the beginning of a storyboard at


which to start animating.

SetStoryboardEventHandler Specifies a handler for storyboard events.

SetStoryboardEventHandler Specifies a handler for storyboard events.

SetTag Sets the tag for the storyboard.

SetTag Sets the tag for the storyboard.


T IT L E DESC RIP T IO N

SetTag Sets the tag for an animation variable.

SetTag Sets the tag of the animation variable.

SetTimerClientEventHandler Specifies a handler for timer client status change events.

SetTimerEventHandler Specifies a timer event handler.

SetTimerUpdateHandler Specifies a timer update handler.

SetTrimPriorityComparison Sets the priority comparison handler to be called to determine


whether a scheduled storyboard can be trimmed.

SetTrimPriorityComparison Sets the priority comparison handler that determines whether


a scheduled storyboard can be trimmed.

SetUpperBound Sets an upper bound (ceiling) for the animation variable. The
value of the animation variable should not rise above the
specified value.

SetUpperBound Sets the upper bound (ceiling) for the value of the animation
variable. The value of the animation variable should not rise
above the specified value.

SetUpperBoundVector Sets the upper bound (ceiling) value of each specified


dimension for the animation variable. The value of each
animation variable should not rise above its upper bound.

SetVariableChangeHandler Specifies a variable change handler. This handler is notified of


changes to the value of the animation variable.

SetVariableChangeHandler Specifies a handler for changes to the value of the animation


variable.

SetVariableCurveChangeHandler Specifies a handler for changes to the animation curve of the


animation variable.

SetVariableIntegerChangeHandler Specifies an integer variable change handler. This handler is


notified of changes to the integer value of the animation
variable.

SetVariableIntegerChangeHandler Specifies a handler for changes to the integer value of the


animation variable.

Shutdown Shuts down the animation manager and all its associated
objects.

Shutdown Shuts down the animation manager and all its associated
objects.

Update Updates the values of all animation variables.

Update Updates the values of all animation variables.


Interfaces
T IT L E DESC RIP T IO N

IUIAnimationInterpolator Defines methods for creating a custom interpolator.

IUIAnimationInterpolator2 Extends the IUIAnimationInterpolator interface that defines


methods for creating a custom interpolator.
IUIAnimationInterpolator2 supports interpolation in a given
dimension.

IUIAnimationLoopIterationChangeHandler2 Defines a method for handling storyboard loop iteration


events.

IUIAnimationManager Defines the animation manager, which provides a central


interface for creating and managing animations.

IUIAnimationManager2 Defines an animation manager, which provides a central


interface for creating and managing animations in multiple
dimensions.

IUIAnimationManagerEventHandler Defines a method for handling status updates to an animation


manager.

IUIAnimationManagerEventHandler2 Defines a method for handling updates to an animation


manager.

IUIAnimationPrimitiveInterpolation Defines a method that allows a custom interpolator to provide


transition information, in the form of a cubic polynomial curve,
to the animation manager.

IUIAnimationPriorityComparison Defines a method for priority comparison that the animation


manager uses to resolve scheduling conflicts.

IUIAnimationPriorityComparison2 Defines a method that resolves scheduling conflicts through


priority comparison.

IUIAnimationStoryboard Defines a storyboard, which contains a group of transitions


that are synchronized relative to one another.
T IT L E DESC RIP T IO N

IUIAnimationStoryboard2 Defines a storyboard, which contains a group of transitions


that are synchronized relative to one another.In this
sectionTopicDescriptionAbandon MethodTerminates the
storyboard, releases all related animation variables, and
removes the storyboard from the
schedule.AddKeyframeAfterTransition MethodAdds a keyframe
at the end of the specified transition.AddKeyframeAtOffset
MethodAdds a keyframe at the specified offset from an
existing keyframe.AddTransition MethodAdds a transition to
the storyboard.AddTransitionAtKeyframe MethodAdds a
transition that starts at the specified
keyframe.AddTransitionBetweenKeyframes MethodAdds a
transition between two keyframes.Conclude
MethodCompletes the current iteration of a keyframe loop
that is in progress (where the loop is set to
UI_ANIMATION_REPEAT_INDEFINITELY), terminates the loop,
and continues with the storyboard. Finish MethodFinishes the
storyboard within the specified time, compressing the
storyboard if necessary.GetElapsedTime MethodGets the time
that has elapsed since the storyboard started
playing.GetStatus MethodGets the status of the
storyboard.GetTag MethodGets the tag for a
storyboard.HoldVariable MethodDirects the storyboard to
hold the specified animation variable at its final value until the
storyboard ends.RepeatBetweenKeyframes MethodCreates a
loop between two keyframes.Schedule MethodDirects the
storyboard to schedule itself for play.SetSkipDuration
MethodSpecifies an offset from the beginning of a storyboard
at which to start animating.SetLongestAcceptableDelay
MethodSets the longest acceptable delay before the scheduled
storyboard begins.SetStoryboardEventHandler
MethodSpecifies a handler for storyboard events.SetTag
MethodSets the tag for the storyboard. .

IUIAnimationStoryboardEventHandler Defines methods for handling status and update events for a
storyboard.

IUIAnimationStoryboardEventHandler2 Defines methods for handling storyboard events.

IUIAnimationTimer Defines an animation timer, which provides services for


managing animation timing.

IUIAnimationTimerClientEventHandler Defines a method for handling events related to changes in


timer client status.

IUIAnimationTimerEventHandler Defines methods for handling timing events.

IUIAnimationTimerUpdateHandler Defines methods for handling timing update events.

IUIAnimationTransition Defines a transition, which determines how an animation


variable changes over time.

IUIAnimationTransition2 Extends the IUIAnimationTransition interface that defines a


transition. An IUIAnimationTransition2 transition determines
how an animation variable changes over time in a given
dimension.
T IT L E DESC RIP T IO N

IUIAnimationTransitionFactory Defines a method for creating transitions from custom


interpolators.

IUIAnimationTransitionFactory2 Defines a method for creating transitions from custom


interpolators. supports the creation of transitions in a specified
dimension.

IUIAnimationTransitionLibrary Defines a library of standard transitions.

IUIAnimationTransitionLibrary2 Defines a library of standard transitions for a specified


dimension.

IUIAnimationVariable Defines an animation variable, which represents a visual


element that can be animated.

IUIAnimationVariable2 Defines an animation variable, which represents a visual


element that can be animated in multiple dimensions.

IUIAnimationVariableChangeHandler Defines a method for handling events related to animation


variable updates.

IUIAnimationVariableChangeHandler2 Defines a method for handling animation variable update


events. IUIAnimationVariableChangeHandler2 handles events
that occur in a specified dimension.

IUIAnimationVariableCurveChangeHandler2 Defines a method for handling animation curve update events.

IUIAnimationVariableIntegerChangeHandler Defines a method for handling animation variable update


events.

IUIAnimationVariableIntegerChangeHandler2 Defines a method for handling animation variable update


events. IUIAnimationVariableIntegerChangeHandler2 handles
events that occur in a specified dimension.

Structures
T IT L E DESC RIP T IO N

__MIDL___MIDL_itf_UIAnimation_0000_0002_0003 Defines a keyframe, which represents a time offset within a


storyboard.
Windows Biometric Framework
2/7/2020 • 12 minutes to read • Edit Online

Overview of the Windows Biometric Framework technology.


To develop Windows Biometric Framework, you need these headers:
winbio.h
winbio_adapter.h
For programming guidance for this technology, see:
Windows Biometric Framework

Enumerations
T IT L E DESC RIP T IO N

WINBIO_ASYNC_NOTIFICATION_METHOD Defines constants that specify how completion notifications


for asynchronous operations are to be delivered to the client
application.

Functions
T IT L E DESC RIP T IO N

PIBIO_ENGINE_ACCEPT_SAMPLE_DATA_FN Accepts a raw biometric sample and extracts a feature set.

PIBIO_ENGINE_ACTIVATE_FN Gives the Engine Adapter the chance to perform any work
needed to bring the sensor component out of an idle state.

PIBIO_ENGINE_ATTACH_FN Adds an engine adapter to the processing pipeline of the


biometric unit.

PIBIO_ENGINE_CHECK_FOR_DUPLICATE_FN Determines whether a new template in the pipeline duplicates


any template already saved in the database regardless of the
identity associated with the templates.

PIBIO_ENGINE_CLEAR_CONTEXT_FN Prepares the processing pipeline of the biometric unit for a


new operation.

PIBIO_ENGINE_COMMIT_ENROLLMENT_FN Finalizes the enrollment object, converts it to a template, and


saves the template in the database.

PIBIO_ENGINE_CONTROL_UNIT_FN Performs a vendor-defined control operation that does not


require elevated privilege.

PIBIO_ENGINE_CONTROL_UNIT_PRIVILEGED_FN Performs a vendor-defined control operation that requires


elevated privilege.

PIBIO_ENGINE_CREATE_ENROLLMENT_FN Initializes the enrollment object in the biometric unit pipeline.


T IT L E DESC RIP T IO N

PIBIO_ENGINE_CREATE_KEY_FN Called by the Windows Biometric Framework to push an


HMAC key to the sensor. The returned key identifier will be
passed back to the biometric unit when the framework calls
EngineAdapterIdentifyFeatureSetSecure.

PIBIO_ENGINE_DEACTIVATE_FN Gives the Engine Adapter the chance to perform any work
needed to put the sensor component into an idle state.

PIBIO_ENGINE_DETACH_FN Releases adapter-specific resources attached to the pipeline.

PIBIO_ENGINE_DISCARD_ENROLLMENT_FN Deletes intermediate enrollment state information from the


pipeline.

PIBIO_ENGINE_EXPORT_ENGINE_DATA_FN Retrieves a copy of the most recently processed feature set or


template from the engine in a standard biometric information
record.

PIBIO_ENGINE_GET_ENROLLMENT_HASH_FN Retrieves the hash of the completed enrollment template in


the pipeline.

PIBIO_ENGINE_GET_ENROLLMENT_STATUS_FN Determines whether the enrollment object is ready to be


committed to the pipeline.

PIBIO_ENGINE_IDENTIFY_ALL_FN Determines the identities of any people who are currently in


camera frame.

PIBIO_ENGINE_IDENTIFY_FEATURE_SET_FN Builds a template from the current feature set and locates a
matching template in the database.

PIBIO_ENGINE_IDENTIFY_FEATURE_SET_SECURE_FN Called by the Windows Biometric Framework to build a


template from the current feature set and locate a matching
template in the database.

PIBIO_ENGINE_NOTIFY_POWER_CHANGE_FN Receives notification about a change in the computer power


state and prepares the engine adapter accordingly.

PIBIO_ENGINE_PIPELINE_CLEANUP_FN Gives the Engine Adapter the chance to perform any cleanup
that requires help from the Storage Adapter.

PIBIO_ENGINE_PIPELINE_INIT_FN Gives the Engine Adapter the chance to perform any


initialization that remains incomplete.

PIBIO_ENGINE_QUERY_CALIBRATION_DATA_FN Gets a set of post-capture calibration data from the engine


adapter.

PIBIO_ENGINE_QUERY_EXTENDED_ENROLLMENT_STATUS_FN Queries the


WINBIO_PROPERTY_EXTENDED_ENROLLMENT_STATUS
property.

PIBIO_ENGINE_QUERY_EXTENDED_INFO_FN Determines the capabilities and limitations of the biometric


engine component.

PIBIO_ENGINE_QUERY_HASH_ALGORITHMS_FN Retrieves an array of object identifiers that represent the hash


algorithms supported by the engine adapter.
T IT L E DESC RIP T IO N

PIBIO_ENGINE_QUERY_INDEX_VECTOR_SIZE_FN Retrieves the size of the index vector used by the engine
adapter.

PIBIO_ENGINE_QUERY_PREFERRED_FORMAT_FN Determines the input data format preferred by the engine


adapter.

PIBIO_ENGINE_QUERY_SAMPLE_HINT_FN Retrieves the number of correct samples required by the


engine adapter to construct an enrollment template.

PIBIO_ENGINE_REFRESH_CACHE_FN Notifies the Engine Adapter that it should discard any cached
templates that it may be keeping in memory.

PIBIO_ENGINE_SELECT_CALIBRATION_FORMAT_FN Called by the Windows Biometric Framework to determine


which of the Sensor Adapter’s calibration formats the Engine
Adapter wants to use.

PIBIO_ENGINE_SET_ACCOUNT_POLICY_FN Sets the extended default and per-user antispoofing policies


used by the engine adapter.

PIBIO_ENGINE_SET_ENROLLMENT_PARAMETERS_FN Gives the engine adapter additional information about an


enrollment operation.

PIBIO_ENGINE_SET_ENROLLMENT_SELECTOR_FN Tells the Engine Adapter which person to track for the current
enrollment operation.

PIBIO_ENGINE_SET_HASH_ALGORITHM_FN Selects a hash algorithm for use in subsequent operations.

PIBIO_ENGINE_UPDATE_ENROLLMENT_FN Adds the current feature set to the enrollment object.

PIBIO_ENGINE_VERIFY_FEATURE_SET_FN Compares the template in the current feature set with a


specific template in the database.

PIBIO_SENSOR_ACCEPT_CALIBRATION_DATA_FN Passes calibration data from the engine adapter to the sensor
adapter.

PIBIO_SENSOR_ACTIVATE_FN Gives the Sensor Adapter the chance to perform any work
needed to bring the sensor component out of an idle state.

PIBIO_SENSOR_ATTACH_FN Adds a sensor adapter to the processing pipeline of the


biometric unit.

PIBIO_SENSOR_CANCEL_FN Cancels all pending sensor operations.

PIBIO_SENSOR_CLEAR_CONTEXT_FN Prepares the processing pipeline of the biometric unit for a


new operation.

PIBIO_SENSOR_CONTROL_UNIT_FN Performs a vendor-defined control operation that does not


require elevated privilege.

PIBIO_SENSOR_CONTROL_UNIT_PRIVILEGED_FN Performs a vendor-defined control operation that requires


elevated privilege.
T IT L E DESC RIP T IO N

PIBIO_SENSOR_DEACTIVATE_FN Gives the Sensor Adapter the chance to perform any work
needed to put the sensor component into an idle state.

PIBIO_SENSOR_DETACH_FN Releases adapter specific resources attached to the pipeline.

PIBIO_SENSOR_EXPORT_SENSOR_DATA_FN Retrieves the most recently captured biometric sample


formatted as a standard WINBIO_BIR structure.

PIBIO_SENSOR_FINISH_CAPTURE_FN Retrieves a value that indicates whether the sensor indicator is


on or off.

PIBIO_SENSOR_GET_INDICATOR_STATUS_FN Retrieves a value that indicates whether the sensor indicator is


on or off.

PIBIO_SENSOR_NOTIFY_POWER_CHANGE_FN Receives notification about a change in the computer power


state and prepares the sensor adapter accordingly.

PIBIO_SENSOR_PIPELINE_CLEANUP_FN Gives the Sensor Adapter the chance to perform any cleanup
in that requires help from the Engine or Storage adapter
components.

PIBIO_SENSOR_PIPELINE_INIT_FN Gives the Sensor Adapter the chance to perform any


initialization that remains incomplete, and which requires help
from the Engine or Storage adapter components.

PIBIO_SENSOR_PUSH_DATA_TO_ENGINE_FN Makes the current contents of the sample buffer available to


the engine adapter.

PIBIO_SENSOR_QUERY_CALIBRATION_FORMATS_FN Determines the set of calibration formats supported by the


Sensor Adapter.

PIBIO_SENSOR_QUERY_EXTENDED_INFO_FN Determines the capabilities and limitations of the biometric


sensor component.

PIBIO_SENSOR_QUERY_STATUS_FN Retrieves information about the current status of the sensor


device.

PIBIO_SENSOR_RESET_FN Reinitializes the sensor.

PIBIO_SENSOR_SET_CALIBRATION_FORMAT_FN Notifies the sensor adapter that a particular calibration data


format has been selected by the engine adapter.

PIBIO_SENSOR_SET_INDICATOR_STATUS_FN Toggles the sensor indicator on or off.

PIBIO_SENSOR_SET_MODE_FN Sets the sensor adapter mode.

PIBIO_SENSOR_START_CAPTURE_FN Begins an asynchronous biometric capture.

PIBIO_STORAGE_ACTIVATE_FN Gives the Storage Adapter the chance to perform any work
needed to bring the storage component out of an idle state.

PIBIO_STORAGE_ADD_RECORD_FN Adds a template to the database.


T IT L E DESC RIP T IO N

PIBIO_STORAGE_ATTACH_FN Adds a storage adapter to the processing pipeline of the


biometric unit.

PIBIO_STORAGE_CLEAR_CONTEXT_FN Prepares the processing pipeline of the biometric unit for a


new operation.

PIBIO_STORAGE_CLOSE_DATABASE_FN Closes the database associated with the pipeline and frees all
related resources.

PIBIO_STORAGE_CONTROL_UNIT_FN Performs a vendor-defined control operation that does not


require elevated privilege.

PIBIO_STORAGE_CONTROL_UNIT_PRIVILEGED_FN Performs a vendor-defined control operation that requires


elevated privilege.

PIBIO_STORAGE_CREATE_DATABASE_FN Creates and configures a new database.

PIBIO_STORAGE_DEACTIVATE_FN Gives the Storage Adapter the chance to perform any work
needed to put the storage component into an idle state.

PIBIO_STORAGE_DELETE_RECORD_FN Deletes one or more templates from the database.

PIBIO_STORAGE_DETACH_FN Releases adapter-specific resources attached to the pipeline.

PIBIO_STORAGE_ERASE_DATABASE_FN Erases the database and marks it for deletion.

PIBIO_STORAGE_FIRST_RECORD_FN Positions the result set cursor on the first record in the set.

PIBIO_STORAGE_GET_CURRENT_RECORD_FN Retrieves the contents of the current record in the pipeline


result set.

PIBIO_STORAGE_GET_DATA_FORMAT_FN Retrieves format and version information used by the current


database associated with the pipeline.

PIBIO_STORAGE_GET_DATABASE_SIZE_FN Retrieves the database size and available space.

PIBIO_STORAGE_GET_RECORD_COUNT_FN Retrieves the number of template records in the pipeline result


set.

PIBIO_STORAGE_NEXT_RECORD_FN Advances the result set cursor by one record.

PIBIO_STORAGE_NOTIFY_POWER_CHANGE_FN Receives notification about a change in the computer power


state and prepares the storage adapter accordingly.

PIBIO_STORAGE_OPEN_DATABASE_FN Opens a database for use by the storage adapter.

PIBIO_STORAGE_PIPELINE_CLEANUP_FN Gives the Storage Adapter the chance to perform any cleanup
in preparation for closing the template database.

PIBIO_STORAGE_PIPELINE_INIT_FN Gives the Storage Adapter the chance to perform any


initialization that remains incomplete.
T IT L E DESC RIP T IO N

PIBIO_STORAGE_QUERY_BY_CONTENT_FN Queries the database that is currently open for templates


associated with a specified index vector.

PIBIO_STORAGE_QUERY_BY_SUBJECT_FN Queries the database that is currently open for templates


associated with a specified identity and sub-factor.

PIBIO_STORAGE_QUERY_EXTENDED_INFO_FN Determines the capabilities and limitations of the biometric


storage component.

PWINBIO_ASYNC_COMPLETION_CALLBACK Notifies the client application that an asynchronous operation


started by using WinBioAsyncOpenSession or
WinBioAsyncOpenFramework has completed.

PWINBIO_CAPTURE_CALLBACK Returns results from the asynchronous


WinBioCaptureSampleWithCallback function.

PWINBIO_ENROLL_CAPTURE_CALLBACK Called by the Windows Biometric Framework to return results


from the asynchronous WinBioEnrollCaptureWithCallback
function.

PWINBIO_EVENT_CALLBACK Returns results from the asynchronous


WinBioRegisterEventMonitor function.

PWINBIO_IDENTIFY_CALLBACK Returns results from the asynchronous


WinBioIdentifyWithCallback function.

PWINBIO_LOCATE_SENSOR_CALLBACK Returns results from the asynchronous


WinBioLocateSensorWithCallback function.

PWINBIO_VERIFY_CALLBACK Returns results from the asynchronous


WinBioVerifyWithCallback function.

WbioQueryEngineInterface Retrieves a pointer to the WINBIO_ENGINE_INTERFACE


structure for the engine adapter.

WbioQuerySensorInterface Retrieves a pointer to the WINBIO_SENSOR_INTERFACE


structure for the sensor adapter.

WbioQueryStorageInterface Retrieves a pointer to the WINBIO_STORAGE_INTERFACE


structure for the storage adapter.

WinBioAcquireFocus Acquires window focus.

WinBioAsyncEnumBiometricUnits Asynchronously enumerates all attached biometric units that


match the input factor type.

WinBioAsyncEnumDatabases Asynchronously enumerates all registered databases that


match a specified type.

WinBioAsyncEnumServiceProviders Asynchronously returns information about installed biometric


service providers. Starting with Windows 10, build 1607, this
function is available to use with a mobile image.
T IT L E DESC RIP T IO N

WinBioAsyncMonitorFrameworkChanges Starts an asynchronous monitor of changes to the biometric


framework.

WinBioAsyncOpenFramework Opens a handle to the biometric framework. Starting with


Windows 10, build 1607, this function is available to use with
a mobile image.

WinBioAsyncOpenSession Asynchronously connects to a biometric service provider and


one or more biometric units. Starting with Windows 10, build
1607, this function is available to use with a mobile image.

WinBioCancel Cancels all pending biometric operations for a specified


session. Starting with Windows 10, build 1607, this function is
available to use with a mobile image.

WinBioCaptureSample Captures a biometric sample and fills a biometric information


record (BIR) with the raw or processed data.

WinBioCaptureSampleWithCallback Captures a biometric sample asynchronously and returns the


raw or processed data in a biometric information record (BIR).

WinBioCloseFramework Closes a framework handle previously opened with


WinBioAsyncOpenFramework. Starting with Windows 10,
build 1607, this function is available to use with a mobile
image.

WinBioCloseSession Closes a biometric session and releases associated resources.


Starting with Windows 10, build 1607, this function is
available to use with a mobile image.

WinBioControlUnit Allows the caller to perform vendor-defined control operations


on a biometric unit. Starting with Windows 10, build 1607,
this function is available to use with a mobile image.

WinBioControlUnitPrivileged Allows the caller to perform privileged vendor-defined control


operations on a biometric unit. Starting with Windows 10,
build 1607, this function is available to use with a mobile
image.

WinBioDeleteTemplate Deletes a biometric template from the template store. Starting


with Windows 10, build 1607, this function is available to use
with a mobile image.

WinBioEnrollBegin Initiates a biometric enrollment sequence and creates an


empty biometric template. Starting with Windows 10, build
1607, this function is available to use with a mobile image.

WinBioEnrollCapture Captures a biometric sample and adds it to a template.


Starting with Windows 10, build 1607, this function is
available to use with a mobile image.

WinBioEnrollCaptureWithCallback Asynchronously captures a biometric sample and adds it to a


template.
T IT L E DESC RIP T IO N

WinBioEnrollCommit Finalizes a pending biometric template and saves it to the


database associated with the biometric unit used for
enrollment. Starting with Windows 10, build 1607, this
function is available to use with a mobile image.

WinBioEnrollDiscard Ends the enrollment sequence and discards a pending


biometric template. Starting with Windows 10, build 1607, this
function is available to use with a mobile image.

WinBioEnrollSelect Specifies the individual that you want to enroll when data that
represents multiple individuals is present in the sample buffer.
Starting with Windows 10, build 1607, this function is
available to use with a mobile image.

WinBioEnumBiometricUnits Enumerates all attached biometric units that match the input
type.

WinBioEnumDatabases Enumerates all registered databases that match a specified


type.

WinBioEnumEnrollments Retrieves the biometric sub-factors enrolled for a specified


identity and biometric unit. Starting with Windows 10, build
1607, this function is available to use with a mobile image.

WinBioEnumServiceProviders Retrieves information about installed biometric service


providers. Starting with Windows 10, build 1607, this function
is available to use with a mobile image.

WinBioFree Releases memory allocated for the client application by an


earlier call to a Windows Biometric Framework API function.
Starting with Windows 10, build 1607, this function is
available to use with a mobile image.

WinBioGetCredentialState Retrieves a value that specifies whether credentials have been


set for the specified user. Starting with Windows 10, build
1607, this function is available to use with a mobile image.

WinBioGetDomainLogonSetting Retrieves a value that specifies whether users can log on to a


domain by using biometric information.

WinBioGetEnabledSetting Retrieves a value that specifies whether the Windows


Biometric Framework is currently enabled.

WinBioGetEnrolledFactors Gets information about the biometric enrollments that the


specified user has on the computer.

WinBioGetLogonSetting Retrieves a value that indicates whether users can log on by


using biometric information.

WinBioGetProperty Retrieves a session, unit, or template property. Starting with


Windows 10, build 1607, this function is available to use with
a mobile image.
T IT L E DESC RIP T IO N

WinBioIdentify Captures a biometric sample and determines whether it


matches an existing biometric template. Starting with
Windows 10, build 1607, this function is available to use with
a mobile image.

WinBioIdentifyWithCallback Asynchronously captures a biometric sample and determines


whether it matches an existing biometric template.

WinBioLocateSensor Retrieves the ID number of a biometric unit selected


interactively by a user.

WinBioLocateSensorWithCallback Asynchronously retrieves the ID number of the biometric unit


selected interactively by a user.

WinBioLockUnit Locks a biometric unit for exclusive use by a single session.


Starting with Windows 10, build 1607, this function is
available to use with a mobile image.

WinBioLogonIdentifiedUser Causes a fast user switch to the account associated with the
last successful identification operation performed by the
biometric session.

WinBioMonitorPresence Turns on the face-recognition or iris-monitoring mechanism


for the specified biometric unit. Starting with Windows 10,
build 1607, this function is available to use with a mobile
image.

WinBioOpenSession Connects to a biometric service provider and one or more


biometric units.

WinBioRegisterEventMonitor Registers a callback function to receive event notifications from


the service provider associated with an open session.

WinBioReleaseFocus Releases window focus.

WinBioRemoveAllCredentials Removes all credentials from the store. Starting with Windows
10, build 1607, this function is available to use with a mobile
image.

WinBioRemoveAllDomainCredentials Removes all user credentials for the current domain from the
store. Starting with Windows 10, build 1607, this function is
available to use with a mobile image.

WinBioRemoveCredential Deletes a biometric logon credential for a specified user.


Starting with Windows 10, build 1607, this function is
available to use with a mobile image.

WinBioSetCredential Saves a biometric logon credential for the current user.


Starting with Windows 10, build 1607, this function is
available to use with a mobile image.

WinBioSetProperty Sets the value of a standard property associated with a


biometric session, unit, template, or account. Starting with
Windows 10, build 1607, this function is available to use with
a mobile image.
T IT L E DESC RIP T IO N

WinBioUnlockUnit Releases the session lock on the specified biometric unit.

WinBioUnregisterEventMonitor Cancels event notifications from the service provider


associated with an open biometric session.

WinBioVerify Captures a biometric sample and determines whether the


sample corresponds to the specified user identity. Starting
with Windows 10, build 1607, this function is available to use
with a mobile image.

WinBioVerifyWithCallback Asynchronously captures a biometric sample and determines


whether the sample corresponds to the specified user identity.

WinBioWait Blocks caller execution until all pending biometric operations


for a session have been completed or canceled. Starting with
Windows 10, build 1607, this function is available to use with
a mobile image.

Structures
T IT L E DESC RIP T IO N

WINBIO_ENGINE_INTERFACE Contains pointers to your custom engine adapter functions.

WINBIO_SENSOR_INTERFACE Contains pointers to your custom sensor adapter functions.

WINBIO_STORAGE_INTERFACE Contains pointers to your custom storage adapter functions.

WINBIO_ADAPTER_INTERFACE_VERSION Contains a major and minor version number used in the


engine, sensor, and storage adapter interface tables.

WINBIO_ASYNC_RESULT Contains the results of an asynchronous operation.

WINBIO_PIPELINE Contains shared context information used by the sensor,


engine, and storage adapter components in a single biometric
unit.

WINBIO_STORAGE_RECORD Contains a biometric template and associated data in a


standard format.
Windows Clustering
2/7/2020 • 41 minutes to read • Edit Online

Overview of the Windows Clustering technology.


To develop Windows Clustering, you need these headers:
cluadmex.h
clusapi.h
msclus.h
resapi.h
smbclnt.h
For programming guidance for this technology, see:
Windows Clustering

Enumerations
T IT L E DESC RIP T IO N

CLCTL_CODES Enumerates the possible operations that a control code will


perform.

CLUS_CHARACTERISTICS Enumerates characteristics of resource types and resources.

CLUS_FLAGS Identifies the resource or group as a core resource.

CLUS_GROUP_START_SETTING Enumerates the start settings for a cluster group.

CLUS_RESSUBCLASS Identifies a resource subclass that manages a shared resource.

CLUS_RESSUBCLASS_NETWORK Identifies a resource subclass that manages an IP address


provider.

CLUS_RESSUBCLASS_STORAGE Identifies a resource subclass that manages a shared bus.

CLUSCTL_CLUSTER_CODES Enumerates cluster control codes used by the ClusterControl


function.

CLUSCTL_GROUP_CODES Enumerates groupcontrol codes.

CLUSCTL_GROUPSET_CODES Enumerates groupset control codes used by the


ClusterGroupSetControl function.

CLUSCTL_NETINTERFACE_CODES Enumerates Network Interface control codes.

CLUSCTL_NETWORK_CODES Enumerates network control codes.

CLUSCTL_NODE_CODES Enumerates node control codes.


T IT L E DESC RIP T IO N

CLUSCTL_RESOURCE_CODES Enumerates resource control codes.

CLUSCTL_RESOURCE_TYPE_CODES Enumerates resource type control codes.

CLUSGROUP_TYPE Specifies the type of cluster group to create.

CLUSPROP_IPADDR_ENABLENETBIOS When used with the CLUSPROP_DWORD structure, enables or


disables the functionality of the EnableNetBIOS property of IP
Address resources.

CLUSPROP_PIFLAGS Represents disk partition information. The enumeration flags


identify certain properties of a disk partition, which is a
storage class resource.

CLUSTER_CHANGE Describes the type of notification returned.

CLUSTER_CHANGE_CLUSTER_V2 Defines the list of notifications that are generated for a cluster.

CLUSTER_CHANGE_GROUP_V2 Defines the list of notifications that are generated for a group.

CLUSTER_CHANGE_GROUPSET_V2 Defines the list of notifications that are generated for a


groupset.

CLUSTER_CHANGE_NETINTERFACE_V2 Defines the set of notifications that are generated for a cluster
network interface.

CLUSTER_CHANGE_NETWORK_V2 Defines the notifications that are generated for a cluster


network.

CLUSTER_CHANGE_NODE_UPGRADE_PHASE_V2 Defines the notifications that are generated for the upgrade of
a cluster node.

CLUSTER_CHANGE_NODE_V2 Defines the notifications that are generated for a cluster node.

CLUSTER_CHANGE_QUORUM_V2 Defines the notifications that are generated for quorum-


specific information.

CLUSTER_CHANGE_REGISTRY_V2 Defines the notifications that are generated for a registry key.

CLUSTER_CHANGE_RESOURCE_TYPE_V2 Defines the set of notifications that are generated for a


resource type.

CLUSTER_CHANGE_RESOURCE_V2 Defines the list of notifications that are generated for a


resource.

CLUSTER_CHANGE_SHARED_VOLUME_V2 Defines the notifications that are generated for a cluster


shared volume.

CLUSTER_CHANGE_SPACEPORT_V2 TBD.

CLUSTER_CONTROL_OBJECT The 8-bit object component of a control code that indicates


the type of cluster object to which the control code applies.
For more information, see Control Code Architecture.
T IT L E DESC RIP T IO N

CLUSTER_CSV_VOLUME_FAULT_STATE Defines the various fault states for a cluster shared volume
(CSV).

CLUSTER_ENUM Describes the type of cluster objects being enumerated.

CLUSTER_GROUP_AUTOFAILBACK_TYPE Used by the AutoFailbackType group common property to


specify whether the group should be failed back to the node
identified as its preferred owner when that node comes back
online following a failover.

CLUSTER_GROUP_ENUM Describes the type of cluster object being enumerated by the


ClusterGroupEnum and ClusterGroupOpenEnum functions.

CLUSTER_GROUP_PRIORITY Specifies the priority level of a group.

CLUSTER_GROUP_STATE Enumerates the possible states of a group.

CLUSTER_MGMT_POINT_TYPE Specifies the type of the management point for the cluster.

CLUSTER_NETINTERFACE_STATE Enumerates the possible values of the state of a network


interface.

CLUSTER_NETWORK_ENUM Describes the type of cluster object being enumerated by the


ClusterNetworkEnum and ClusterNetworkOpenEnum
functions.

CLUSTER_NETWORK_ROLE Describes the role a network plays in the cluster.

CLUSTER_NETWORK_STATE Enumerates the possible values of the state of a network.

CLUSTER_NODE_DRAIN_STATUS Enumerates the possible values of the status of a node drain.

CLUSTER_NODE_ENUM Describes the types of cluster objects that are enumerated by


the ClusterNodeEnum and ClusterNodeOpenEnum functions.

CLUSTER_NODE_RESUME_FAILBACK_TYPE Specifies the failback type to use when a cluster node in a


paused state is resumed by the ResumeClusterNodeEx
function.

CLUSTER_NODE_STATE Describes the state of a cluster node.

CLUSTER_NODE_STATUS Describes the status of a cluster node.

CLUSTER_NOTIFICATIONS_VERSION Defines the various versions of cluster notification


enumerations.

CLUSTER_OBJECT_TYPE Defines the type of object for which a notification is requested


or generated.

CLUSTER_PROPERTY_FORMAT Specifies the data type of a property value in a property list.

CLUSTER_PROPERTY_SYNTAX Provides the possible values for the syntax structures in a


property list.
T IT L E DESC RIP T IO N

CLUSTER_PROPERTY_TYPE Defines the property types that are supported by a cluster


property list.

CLUSTER_QUORUM_TYPE The type of quorum resource to be created.

CLUSTER_QUORUM_VALUE Enumerates values returned by the ClusterControl function


with the CLUSCTL_CLUSTER_CHECK_VOTER_DOWN or the
CLUSCTL_CLUSTER_CHECK_VOTER_EVICT control codes.

CLUSTER_REG_COMMAND Enumerates the possible cluster registry commands that a


local node will perform when attempting to join a cluster.

CLUSTER_RESOURCE_APPLICATION_STATE Enumerates resource application states.

CLUSTER_RESOURCE_CLASS Defines the class of a resource.

CLUSTER_RESOURCE_CREATE_FLAGS Determines which resource monitor a given resource will be


assigned to.

CLUSTER_RESOURCE_EMBEDDED_FAILURE_ACTION Specifies the various actions that can be performed when a


resource has an embedded failure.

CLUSTER_RESOURCE_ENUM Describes the type of cluster object being enumerated by the


ClusterResourceEnum or ClusterResourceOpenEnum functions.

CLUSTER_RESOURCE_RESTART_ACTION Used by the RestartAction resource common property to


specify the action to be taken by the cluster service if the
resource fails.

CLUSTER_RESOURCE_STATE Describes the operational condition of a resource.

CLUSTER_RESOURCE_STATE_CHANGE_REASON Used by the


CLUSCTL_RESOURCE_STATE_CHANGE_REASON_STRUCT and
CLUSCTL_RESOURCE_STATE_CHANGE_REASON control codes
to describe the reason for a resource state change.

CLUSTER_RESOURCE_TYPE_ENUM Describes the type of cluster object being enumerated by the


ClusterResourceTypeEnum and
ClusterResourceTypeOpenEnum functions.

CLUSTER_ROLE Contains the names of the standard cluster roles.

CLUSTER_ROLE_STATE Defines the potential return values for the


ResUtilGetClusterRoleState function.

CLUSTER_SETUP_PHASE Used by the ClusterSetupProgressCallback function to identify


the current phase of the cluster setup process.

CLUSTER_SETUP_PHASE_SEVERITY Describes the severity of the current phase of the cluster setup
process.

CLUSTER_SETUP_PHASE_TYPE Describes the progress of the cluster setup process.


T IT L E DESC RIP T IO N

CLUSTER_SHARED_VOLUME_BACKUP_STATE Describes the CSV backup state.

CLUSTER_SHARED_VOLUME_SNAPSHOT_STATE Specifies the various snapshot states for a shared volume.

CLUSTER_SHARED_VOLUME_STATE Defines the states of a cluster shared volume.

CLUSTER_UPGRADE_PHASE Describes the state of a rolling upgrade of the operating


system on a cluster. This enumeration is used by the
ClusterUpgradeProgressCallback callback function.

FAILURE_TYPE Defines the failure types for cluster resources.

FILESHARE_CHANGE_ENUM Contains the possible change events that are used by the
FILESHARE_CHANGE structure to describe an entry in a file
share event notification list.

LOG_LEVEL Represents the severity of the log event passed to the


LogEvent callback function.

MAINTENANCE_MODE_TYPE_ENUM Defines the possible states that a storage class resource can
be placed in when marked for maintenance.

NODE_CLUSTER_STATE Indicates the state of the cluster.

PLACEMENT_OPTIONS Defines options for placing the cluster.

RESDLL_CONTEXT_OPERATION_TYPE Specifies the various types of context operations for the


GET_OPERATION_CONTEXT_PARAMS structure.

RESOURCE_EXIT_STATE Enumerates the possible exit states of a resource.

RESOURCE_MONITOR_STATE TBD.

SR_DISK_REPLICATION_ELIGIBLE Specifies the various reasons a disk on a cluster node can be


eligible or ineligible for replication.

SR_REPLICATED_DISK_TYPE Specifies the replicated disk types for the


SR_RESOURCE_TYPE_REPLICATED_DISK structure.

VM_RESDLL_CONTEXT Contains actions for a virtual machine to perform.

Functions
T IT L E DESC RIP T IO N

AddClusterGroupDependency Adds a dependency between two cluster groups.

AddClusterGroupSetDependency Adds a dependency between two cluster groupsets.

AddClusterGroupToGroupSetDependency Adds a dependency between a cluster group and a cluster


groupset.
T IT L E DESC RIP T IO N

AddClusterNode Adds a node to an existing cluster.

AddClusterResourceDependency Creates a dependency relationship between two resources.

AddClusterResourceNode Adds a node to the list of possible nodes that a resource can
run on.

AddContextMenuItems Allows you to create context menu items for a cluster object
and add the items to a Failover Cluster Administrator context
menu.

AddExtensionMenuItem Adds a menu item to a Failover Cluster Administrator context


menu.

AddPropertySheetPage Adds a property page to a Failover Cluster Administrator


property sheet.

AddResourceToClusterSharedVolumes Adds storage to Cluster Shared Volumes.

AddWizard97Page Adds a Wizard97 property page to a Wizard97 wizard, such as


the Failover Cluster Application Wizard.

AddWizardPage Adds a property page to a Failover Cluster Administrator


Wizard.

ALIGN_CLUSPROP Aligns structures properly within value lists.

BackupClusterDatabase Creates a backup of the cluster database and all registry


checkpoints.

CancelClusterGroupOperation Enables a client to cancel a MoveClusterGroup or


MoveClusterGroupEx operation that is pending for a group.
The group is then returned to its persistent state.

CanResourceBeDependent Determines if one resource can be dependent upon another


resource.

ChangeClusterResourceGroup Moves a resource from one group to another.

CloseCluster Closes a cluster handle.

CloseClusterCryptProvider Closes a handle to a Cryptographic Service Provider (CSP). The


PCLOSE_CLUSTER_CRYPT_PROVIDER type defines a pointer to
this function.

CloseClusterGroup Closes a group handle.

CloseClusterGroupSet Closes a groupset handle returned from


OpenClusterGroupSet.

CloseClusterNetInterface Closes a network interface handle.

CloseClusterNetwork Closes a network handle.


T IT L E DESC RIP T IO N

CloseClusterNode Closes a node handle.

CloseClusterNotifyPort Closes a notification port established through


CreateClusterNotifyPort.

CloseClusterResource Closes a resource handle.

CLRES_V1_FUNCTION_TABLE Initializes a function table for version 1.0 of the Resource API.

CLRES_V2_FUNCTION_TABLE_SET Initializes a function table for version 2.0 of the Resource API.

CLRES_V3_FUNCTION_TABLE_SET Initializes a function table for version 3.0 of the Resource API.

CLRES_V4_FUNCTION_TABLE_SET Initializes a function table for version 4.0 of the Resource API.

ClusAddClusterHealthFault TBD.

CLUSCTL_GET_ACCESS_MODE Extracts the access code from a control code. For more
information on the various codes that comprise a control
code, see Control Code Architecture.

CLUSCTL_GET_CONTROL_FUNCTION Extracts the operation code from a control code. For more
information on the various codes that comprise a control
code, see Control Code Architecture.

CLUSCTL_GET_CONTROL_OBJECT Extracts the object code from a control code. For more
information on the various codes that comprise a control
code, see Control Code Architecture.

CLUSCTL_GET_USER Retrieves the user bit from a control code. For more
information, see Control Code Architecture.

CLUSCTL_USER_CODE Generates a correctly formatted user-defined control code. For


more information on the bit layout of control codes, see
Control Code Architecture.

ClusGetClusterHealthFaults TBD.

CLUSPROP_BINARY_DECLARE Creates a CLUSPROP_BINARY structure with the rgb member


set to a size determined by the caller.

CLUSPROP_PROPERTY_NAME_DECLARE Creates a CLUSPROP_PROPERTY_NAME structure with the sz


member set to a size determined by the caller.

CLUSPROP_SZ_DECLARE Creates a CLUSPROP_SZ structure with the sz member set to


a size determined by the caller.

ClusRemoveClusterHealthFault TBD.

CLUSTER_GET_MAJOR_VERSION Extracts the major version portion of a Cluster service version


number.
T IT L E DESC RIP T IO N

CLUSTER_GET_MINOR_VERSION Extracts the minor version portion of a Cluster service version


number.

CLUSTER_GET_UPGRADE_VERSION Extracts the upgrade version portion of a Cluster service


version number.

CLUSTER_MAKE_VERSION Creates a Cluster service version number.

ClusterAddGroupToGroupSet Adds the specified group to a groupset in the cluster.

ClusterClearBackupStateForSharedVolume Clears the backup state for the cluster shared volume.

ClusterCloseEnum Closes a cluster enumeration handle originally opened by


ClusterOpenEnum.

ClusterCloseEnumEx Closes a handle to an enumeration that was opened by the


ClusterOpenEnumEx function.

ClusterControl Initiates an operation that affects a cluster.

ClusterDecrypt Decrypts Checkpointing data for a Cryptographic Service


Provider (CSP).

ClusterEncrypt Encrypts Checkpointing data for a Cryptographic Service


Provider (CSP).

ClusterEnum Enumerates the cluster objects in a cluster, returning the name


of one object with each call.

ClusterEnumEx Enumerates the objects in a cluster, and then gets the name
and properties of the cluster object.

ClusterGetEnumCount Returns the number of cluster objects associated with a cluster


enumeration handle.

ClusterGetEnumCountEx Returns the number of cluster objects that are associated with
a cluster enumeration handle.

ClusterGetVolumeNameForVolumeMountPoint ClusterGetVolumeNameForVolumeMountPoint may be altered


or unavailable. Instead, use
GetVolumeNameForVolumeMountPoint.

ClusterGetVolumePathName ClusterGetVolumePathName may be altered or unavailable.


Instead, use GetVolumePathName.

ClusterGroupCloseEnum Closes a group enumeration handle.

ClusterGroupCloseEnumEx Closes the enumeration and frees any memory held by the
hGroupEnumEx handle.

ClusterGroupControl Initiates an operation that affects a group. The operation


performed depends on the control code passed to the
dwControlCode parameter.
T IT L E DESC RIP T IO N

ClusterGroupEnum Enumerates the resources in a group or the nodes that are the
preferred owners of a group, returning the name of the
resource or node with each call.

ClusterGroupEnumEx Retrieves an item in the enumeration.

ClusterGroupGetEnumCount Returns the number of cluster objects associated with a group


enumeration handle.

ClusterGroupGetEnumCountEx Returns the number of elements in the enumeration.

ClusterGroupOpenEnum Opens an enumerator for iterating through a group's


resources and/or the nodes that are included in its list of
preferred owners.

ClusterGroupOpenEnumEx Opens a handle to the group enumeration.

ClusterGroupSetCloseEnum Closes an open enumeration for a groupset.

ClusterGroupSetControl Initiates an operation affecting a groupset.

ClusterGroupSetEnum Returns the next enumerable object.

ClusterGroupSetGetEnumCount Gets the number of items contained the enumerator's


collection.

ClusterGroupSetOpenEnum Starts the enumeration of groupset for a cluster.

ClusterIsPathOnSharedVolume Determines whether a path is on a cluster shared volume.

ClusterNetInterfaceCloseEnum Closes a network interface enumeration handle.

ClusterNetInterfaceControl Initiates an operation that affects a network interface. The


operation performed depends on the control code passed to
the dwControlCode parameter.

ClusterNetInterfaceEnum Enumerates the network interfaces installed on a cluster,


returning one name with each call.

ClusterNetInterfaceOpenEnum Opens an enumerator for iterating through the installed


network interfaces.

ClusterNetworkCloseEnum Closes a network enumeration handle.

ClusterNetworkControl Initiates an operation on a network. The operation performed


depends on the control code passed to the dwControlCode
parameter.

ClusterNetworkEnum Enumerates cluster objects on a network, returning the name


of one object with each call.

ClusterNetworkGetEnumCount Returns the number of cluster objects associated with a


network enumeration handle.
T IT L E DESC RIP T IO N

ClusterNetworkOpenEnum Opens an enumerator for iterating through objects on a


network.

ClusterNodeCloseEnum Closes a node enumeration handle.

ClusterNodeCloseEnumEx Closes a node enumeration handle.

ClusterNodeControl Initiates an operation that affects a node. The operation


performed depends on the control code passed to the
dwControlCode parameter.

ClusterNodeEnum Enumerates the network interfaces or groups installed on a


node, returning the name of each with each call.

ClusterNodeEnumEx Retrieves the specified cluster node from a


CLUSTER_ENUM_ITEM enumeration.

ClusterNodeGetEnumCount Returns the number of cluster objects associated with a node


enumeration handle.

ClusterNodeGetEnumCountEx Returns the number of cluster objects that are associated with
a node enumeration handle.

ClusterNodeOpenEnum Opens an enumerator for iterating through the network


interfaces or groups installed on a node.

ClusterNodeOpenEnumEx Opens an enumerator that can iterate through the network


interfaces or groups that are installed on a node.

ClusterOpenEnum Opens an enumerator for iterating through cluster objects in a


cluster.

ClusterOpenEnumEx Opens a handle to a cluster in order to iterate through its


objects.

ClusterPrepareSharedVolumeForBackup ClusterPrepareSharedVolumeForBackup may be altered or


unavailable.

ClusterRegBatchAddCommand Adds a command to a batch that will be executed on a cluster


registry key.

ClusterRegBatchCloseNotification Frees the memory associated with the batch notification.

ClusterRegBatchReadCommand Reads a command from a batch notification.

ClusterRegCloseBatch Executes or ignores the batch created by the


ClusterRegCreateBatch function.

ClusterRegCloseBatchEx Executes or ignores the batch created by the


ClusterRegCreateBatch function.

ClusterRegCloseBatchNotifyPort Closes a subscription to a batch notification port created by


the ClusterRegCreateBatchNotifyPort function.
T IT L E DESC RIP T IO N

ClusterRegCloseKey Releases the handle of a cluster database key.

ClusterRegCloseReadBatch Executes a read batch and returns results from the read batch
executions.

ClusterRegCloseReadBatchEx Executes a read batch and returns results from the read batch
executions.

ClusterRegCloseReadBatchReply Closes a read batch result handle and frees the memory
associated with it.

ClusterRegCreateBatch Creates a batch that will execute commands on a cluster


registry key.

ClusterRegCreateBatchNotifyPort Creates a subscription to a batch notification port.

ClusterRegCreateKey Creates a specified cluster database key. If the key already


exists in the database, ClusterRegCreateKey opens it without
making changes.

ClusterRegCreateReadBatch Creates a handle to the read batch that executes read


commands on the cluster registry key.

ClusterRegDeleteKey Deletes a cluster database key.

ClusterRegDeleteValue Removes a named value from a cluster database key.

ClusterRegEnumKey Enumerates the subkeys of an open cluster database key.

ClusterRegEnumValue Enumerates the values of an open cluster database key.

ClusterRegGetBatchNotification Fetches the batch notification.

ClusterRegGetKeySecurity Returns a copy of the security descriptor protecting the


specified cluster database key.

ClusterRegOpenKey Opens an existing cluster database key.

ClusterRegQueryInfoKey Returns information about a cluster database key.

ClusterRegQueryValue Returns the name, type, and data components associated with
a value for an open cluster database key.

ClusterRegReadBatchAddCommand Adds a read command to a batch that executes on a cluster


registry key.

ClusterRegReadBatchReplyNextCommand Reads the next command from a read batch result.

ClusterRegSetKeySecurity Sets the security attributes for a cluster database key.

ClusterRegSetValue Sets a value for a cluster database key.


T IT L E DESC RIP T IO N

ClusterRegSyncDatabase Synchronizes the Cluster Database with a cluster.

ClusterRemoveGroupFromGroupSet Removes the specified group from the groupset to which it is


currently a member.

ClusterResourceCloseEnum Closes a resource enumeration handle.

ClusterResourceCloseEnumEx Closes a handle to a resource enumeration.

ClusterResourceControl Initiates an operation affecting a resource. The operation


performed depends on the control code passed to the
dwControlCode parameter.

ClusterResourceControlAsUser Initiates an operation affecting a resource.

ClusterResourceEnum Enumerates a resource's dependent resources, nodes, or both.

ClusterResourceEnumEx Enumerates a resource and then returns a pointer to the


current dependent resource or node.

ClusterResourceGetEnumCount Returns the number of cluster objects associated with a


resource enumeration handle.

ClusterResourceGetEnumCountEx Returns the number of cluster objects that are associated with
a resource enumeration handle.

ClusterResourceOpenEnum Opens an enumerator for iterating through a resource's


dependencies and nodes.

ClusterResourceOpenEnumEx Opens a handle to a resource enumeration that enables


iteration through a resource's dependencies and nodes.

ClusterResourceTypeCloseEnum Closes a resource type enumeration handle.

ClusterResourceTypeControl Initiates an operation affecting a resource type. The operation


performed depends on the control code passed to the
dwControlCode parameter.

ClusterResourceTypeControlAsUser Initiates an operation affecting a resource type.

ClusterResourceTypeEnum Enumerates a resource type's possible owner nodes or


resources.

ClusterResourceTypeGetEnumCount Returns the number of cluster objects associated with a


resource_type enumeration handle.

ClusterResourceTypeOpenEnum Opens an enumerator for iterating through a resource type's


possible owner nodes or resources.

ClusterSetAccountAccess Updates an account access list (ACL) for a cluster.

ClusterSharedVolumeSetSnapshotState Updates the state of a snapshot of a cluster shared volume.


T IT L E DESC RIP T IO N

ClusterUpgradeFunctionalLevel Initiates a rolling upgrade of the operating system on a cluster.


PCLUSAPI_CLUSTER_UPGRADE defines a pointer to this
function.

ClusWorkerCheckTerminate Determines whether a worker thread should exit as soon as


possible. The PCLUSAPIClusWorkerCheckTerminate type
defines a pointer to this function.

ClusWorkerCreate Creates a worker thread. The


PCLUSAPI_CLUS_WORKER_CREATE type defines a pointer to
this function.

ClusWorkersTerminate Waits for multiple worker threads to terminate up to the


specified timeout.

ClusWorkerTerminate Waits for a worker thread to terminate up to the specified


timeout.

ClusWorkerTerminateEx Waits for a worker thread to terminate up to the specified


timeout.

CreateCluster Creates and starts a cluster.

CreateClusterCNOless Creates a cluster without cluster name and IP Address


resources.

CreateClusterGroup Adds a group to a cluster and returns a handle to the newly


added group.

CreateClusterGroupEx Creates a new cluster group with the options specified in the
CLUSTER_CREATE_GROUP_INFO structure in a single
operation.

CreateClusterGroupSet Adds a groupset to a cluster and returns a handle to the


newly added groupset.

CreateClusterNameAccount Creates a cluster name resource and then uses it add a cluster
to a domain, even if the machines that host the cluster aren't
members of the domain.

CreateClusterNotifyPort Creates or modifies a notification port. For information on


notification ports, see Receiving Cluster Events.

CreateClusterNotifyPortV2 Creates or modifies a notification port. For information about


notification ports, see Receiving Cluster Events.

CreateClusterResource Creates a resource in a cluster.

CreateClusterResourceType Creates a resource type in a cluster.

CreatePropertySheetPages Creates property pages for a cluster object and adds them to
a Failover Cluster Administrator property sheet.
T IT L E DESC RIP T IO N

CreateWizard97Pages Allows you to create Wizard97 property pages and add them
to a Failover Cluster Administrator Wizard.

CreateWizardPages Allows you to create wizard pages and add them to Failover
Cluster Administrator's New Resource Wizard or Cluster
Application Wizard.

DeleteClusterGroup Removes an offline and empty group from a cluster.

DeleteClusterGroupSet Deletes the specified groupset from the cluster.

DeleteClusterResource Removes an offline resource from a cluster.

DeleteClusterResourceType Removes a resource type from a cluster.

DestroyCluster Removes a cluster.

DestroyClusterGroup Deletes the specified group from a cluster.

EnableNext Enables or disables the Next or Finish button on a Wizard97


wizard page, depending on whether the current page is last.

EnableNext Enables or disables the Next or Finish button on a Failover


Cluster Administrator Wizard page, depending on whether the
current page is last.

EvictClusterNode Deletes a node from the cluster database.

EvictClusterNodeEx Evicts a node from the cluster and initiates cleanup operations
on the node.

FailClusterResource Initiates a resource failure.

FreeClusterCrypt TBD.

FreeClusterHealthFault TBD.

FreeClusterHealthFaultArray TBD.

GetClusterFromGroup Returns a handle to the cluster associated with a group.

GetClusterFromGroupSet TBD.

GetClusterFromNetInterface Returns a handle to the cluster associated with a network


interface.

GetClusterFromNetwork Returns a handle to the cluster associated with a network.

GetClusterFromNode Returns a handle to the cluster associated with a node.

GetClusterFromResource Returns a handle to the cluster associated with a resource.


T IT L E DESC RIP T IO N

GetClusterGroupKey Opens the root of the cluster database subtree for a group.

GetClusterGroupState Returns the current state of a group.

GetClusterHandle Returns a handle to the cluster.

GetClusterInformation Retrieves a cluster's name and version.

GetClusterKey Opens the root of the cluster database subtree for a cluster.

GetClusterName Returns the name of the cluster.

GetClusterName Returns the name of the cluster.

GetClusterNetInterface Returns the name of a node's interface to a network in a


cluster.

GetClusterNetInterfaceKey Opens the root of the cluster database subtree for a network
interface object.

GetClusterNetInterfaceState Returns the current state of a network interface.

GetClusterNetworkId Returns the identifier of a network.

GetClusterNetworkKey Opens the root of the cluster database subtree for a network.

GetClusterNetworkState Current state of a network.

GetClusterNodeId Returns the unique identifier of a cluster node.

GetClusterNodeKey Opens the root of the cluster database subtree for a node.

GetClusterNodeState Returns the current state of a node.

GetClusterNotify Information relating to the next notification event that is


stored for a notification port.

GetClusterNotifyV2 Retrieves information about the next notification event for a


notification port.

GetClusterQuorumResource Returns the name of a cluster's quorum resource.

GetClusterResourceDependencyExpression Retrieves the dependency expression associated with the


specified resource.

GetClusterResourceKey Opens the root of the cluster database subtree for a resource.

GetClusterResourceNetworkName Retrieves the Name private property of the Network Name


resource on which a resource is dependent.

GetClusterResourceState Returns the current state of a resource.


T IT L E DESC RIP T IO N

GetClusterResourceTypeKey Opens the root of the cluster database subtree for a resource
type.

GetCurrentClusterNodeId Returns the unique identifier of the current cluster node.

GetFont Returns a handle to the font to be displayed on property and


wizard pages.

GetGroupHandle Returns a handle to a group.

GetIcon Returns a handle to the icon to use in the upper-left corner of


property and wizard pages.

GetLocale Returns the locale identifier to be used with property and


wizard pages.

GetNetInterfaceHandle Retrieves a handle to a node.

GetNetworkHandle Retrieves a handle to a network.

GetNodeClusterState Determines whether the Cluster service is installed and


running on a node.

GetNodeHandle Returns a handle to a node.

GetNotifyEventHandle Retrieves a handle to a notification event.

GetObjectCount Returns a count of the number of selected cluster objects.

GetObjectName Returns the name of a cluster object.

GetObjectType Returns the type of a cluster object.

GetResourceHandle Returns a handle to a resource.

GetResourceNetworkName Returns the name of the network managed by the Network


Name resource on which a resource depends.

GetResourceTypeName Returns the type of a resource.

InitializeClusterHealthFault TBD.

InitializeClusterHealthFaultArray TBD.

InvokeCommand Allows you to implement procedures that execute when users


select your context menu items.

IsFileOnClusterSharedVolume Specifies whether the file is on the cluster shared volume.

LPRESOURCE_CALLBACK TBD.
T IT L E DESC RIP T IO N

LPRESOURCE_CALLBACK_EX TBD.

MoveClusterGroup Moves a group and all of its resources from one node to
another.

MoveClusterGroupEx Extends the existing MoveClusterGroup method with the


addition of flags and a buffer.

OfflineClusterGroup Takes a group offline.

OfflineClusterGroupEx Extends the OfflineClusterGroup method.

OfflineClusterResource Takes a resource offline.

OfflineClusterResourceEx Extends the OfflineClusterResource method.

OnlineClusterGroup Brings a group online.

OnlineClusterGroupEx Brings a group online.

OnlineClusterResource Brings an offline or failed resource online.

OnlineClusterResourceEx Brings an offline or failed resource online.

OpenCluster Opens a connection to a cluster and returns a handle to it.

OpenClusterCryptProvider Opens a handle to a Cryptographic Service Provider (CSP) in


order to manage the encryption of Checkpointing data for a
cluster resource. The POPEN_CLUSTER_CRYPT_PROVIDER type
defines a pointer to this function.

OpenClusterEx Opens a connection to a cluster and returns a handle to it.

OpenClusterGroup Opens a failover cluster group and returns a handle to it.

OpenClusterGroupEx Opens a failover cluster group and returns a handle to it.

OpenClusterGroupSet Opens a handle to the specified groupset.

OpenClusterNetInterface Opens a handle to a network interface.

OpenClusterNetInterfaceEx Opens a handle to a network interface.

OpenClusterNetwork Opens a connection to a network and returns a handle to it.

OpenClusterNetworkEx Opens a connection to a network and returns a handle to it.

OpenClusterNode Opens a node and returns a handle to it.

OpenClusterNodeEx Opens a node and returns a handle to it.


T IT L E DESC RIP T IO N

OpenClusterResource Opens a resource and returns a handle to it.

OpenClusterResourceEx Opens a resource and returns a handle to it.

PARBITRATE_ROUTINE Allows a node to attempt to regain ownership of a quorum


resource.

PauseClusterNode Requests that a node temporarily suspend its cluster activity.


The PCLUSAPI_PAUSE_CLUSTER_NODE type defines a pointer
to this function.

PauseClusterNodeEx Requests that a node temporarily suspends its cluster activity.

PBEGIN_RESCALL_AS_USER_ROUTINE The PBEGIN_RESCALL_AS_USER_ROUTINE type defines a


pointer to this callback function.

PBEGIN_RESCALL_ROUTINE Starts a call to a resource control code. The


PBEGIN_RESCALL_ROUTINE type defines a pointer to this
callback function.

PBEGIN_RESTYPECALL_AS_USER_ROUTINE The PBEGIN_RESTYPECALL_AS_USER_ROUTINE type defines a


pointer to this callback function.

PBEGIN_RESTYPECALL_ROUTINE Starts a call to a resource control code. The


PBEGIN_RESTYPECALL_ROUTINE type defines a pointer to this
callback function.

PCANCEL_ROUTINE Cancels an operation on a resource.

PCHANGE_RES_TYPE_PROCESS_FOR_DUMPS The PCHANGE_RES_TYPE_PROCESS_FOR_DUMPS type defines


a pointer to this function.

PCHANGE_RESOURCE_PROCESS_FOR_DUMPS The PCHANGE_RESOURCE_PROCESS_FOR_DUMPS type


defines a pointer to this function.

PCLOSE_ROUTINE Closes a resource.

PCLUSAPI_CLUS_WORKER_TERMINATE Terminates a worker thread. The


PCLUSAPI_CLUS_WORKER_TERMINATE type defines a pointer
to this function.

PCLUSTER_SETUP_PROGRESS_CALLBACK Callback function that receives regular updates on the


progression of the setup of the cluster.

PCLUSTER_UPGRADE_PROGRESS_CALLBACK Retrieves status information for a rolling upgrade of the


operating system on a cluster.
PCLUSTER_UPGRADE_PROGRESS_CALLBACK type defines a
pointer to this function.

PEND_CONTROL_CALL Called when a resource control code operation completes. The


PEND_CONTROL_CALL type defines a pointer to this function.
T IT L E DESC RIP T IO N

PEND_TYPE_CONTROL_CALL Called when a resource type control code operation


completes. The PEND_TYPE_CONTROL_CALL type defines a
pointer to this function.

PEXTEND_RES_CONTROL_CALL Extends the timeout for a call to a resource control code. The
PEXTEND_RES_CONTROL_CALL type defines a pointer to this
function.

PEXTEND_RES_TYPE_CONTROL_CALL Extends the timeout for a call to a resource type control code.
The PEXTEND_RES_TYPE_CONTROL_CALL type defines a
pointer to this function.

PIS_ALIVE_ROUTINE Determines whether a resource is available for use.

PLOG_EVENT_ROUTINE Records an event in the cluster log.

PLOOKS_ALIVE_ROUTINE Determines whether a resource appears to be available for


use.

POFFLINE_ROUTINE Marks a resource as unavailable for use after cleanup


processing is complete.

POFFLINE_V2_ROUTINE Marks a resource as unavailable for use after cleanup


processing is complete.

PONLINE_ROUTINE Marks a resource as available for use.

PONLINE_V2_ROUTINE Marks a resource as available for use.

POPEN_ROUTINE Opens a resource.

POPEN_V2_ROUTINE Opens a resource.

PQUORUM_RESOURCE_LOST Called when control of the quorum resource has been lost.

PRAISE_RES_TYPE_NOTIFICATION TBD. The PRAISE_RES_TYPE_NOTIFICATION type is a pointer to


this function.

PRELEASE_ROUTINE Releases the quorum resource from arbitration.

PRESOURCE_CONTROL_ROUTINE Performs an operation that applies to a resource.

PRESOURCE_TYPE_CONTROL_ROUTINE Performs an operation that applies to a resource type.

PSET_INTERNAL_STATE Sets the internal state of a resource.

PSET_RESOURCE_INMEMORY_NODELOCAL_PROPERTIES_RO TBD.
UTINE

PSET_RESOURCE_LOCKED_MODE_ROUTINE Reports that locked mode was configured for a resource.

PSET_RESOURCE_STATUS_ROUTINE Called to update the status of a resource.


T IT L E DESC RIP T IO N

PSET_RESOURCE_STATUS_ROUTINE_EX Called to update the status of a resource.

PSIGNAL_FAILURE_ROUTINE Reports that there was a failure in a resource instance. The


PSIGNAL_FAILURE_ROUTINE type defines a pointer to this
function.

PSTARTUP_EX_ROUTINE Loads a resource DLL, returning a structure that contains a


function table and a version number.

PSTARTUP_ROUTINE Loads a resource DLL, returning a structure containing a


function table and a version number.

PTERMINATE_ROUTINE Immediately marks a resource as unavailable for use without


waiting for cleanup processing to be completed.

PWORKER_START_ROUTINE Initializes a worker thread with the specified callback routine.


The PWORKER_START_ROUTINE type defines a pointer to this
function.

RegisterAppInstance Registers the AppInstance ID for a process.

RegisterClusterNotify Adds an event type to the list of events stored for a


notification port.

RegisterClusterNotifyV2 Registers an event type with a notification port by adding the


notification key to the event type.

RegisterClusterResourceTypeNotifyV2 Adds a notification type to a cluster notification port.

RemoveClusterGroupDependency Removes a dependency between two cluster groups.

RemoveClusterGroupSetDependency Removes a groupset from a groupset's dependency


expression.

RemoveClusterGroupToGroupSetDependency Removes a groupset from a group's dependency expression.

RemoveClusterResourceDependency Removes a dependency relationship between two resources.

RemoveClusterResourceNode Removes a node from the list of nodes that can host a
resource.

RemoveResourceFromClusterSharedVolumes Removes storage from Cluster Shared Volumes.

RestartClusterResource Restarts a cluster resource.

RestoreClusterDatabase Restores the cluster database and restarts the Cluster service
on the node from which the function is called. This node is
called the restoring node.

ResumeClusterNode Requests that a paused node resume its cluster activity. The
PCLUSAPI_RESUME_CLUSTER_NODE type defines a pointer to
this function.
T IT L E DESC RIP T IO N

ResumeClusterNodeEx Initiates the specified failback operation, and then requests


that a paused node resumes cluster activity.

ResUtilAddUnknownProperties Retrieves a set of unknown properties from the cluster


database and appends them to the end of a property list.

ResUtilCreateDirectoryTree Creates every directory specified in a path, skipping directories


that already exist. The PRESUTIL_CREATE_DIRECTORY_TREE
type defines a pointer to this function.

ResUtilDupParameterBlock Performs a member-wise copy of the data from one parameter


block to another.

ResUtilDupString Duplicates a null-terminated Unicode string.

ResUtilEnumPrivateProperties Retrieves the names of a cluster object's private properties.


The PRESUTIL_ENUM_PRIVATE_PROPERTIES type defines a
pointer to this function.

ResUtilEnumProperties Enumerates the property names of a cluster object. The


PRESUTIL_ENUM_PROPERTIES type defines a pointer to this
function.

ResUtilEnumResources Enumerates all of the resources in the local cluster and initiates
a user-defined operation for each resource. The
PRESUTIL_ENUM_RESOURCES type defines a pointer to this
function.

ResUtilEnumResourcesEx Enumerates all of the resources in a specified cluster and


initiates a user-defined operation for each resource. The
PRESUTIL_ENUM_RESOURCES_EX type defines a pointer to
this function.

ResUtilEnumResourcesEx2 Enumerates all of the resources in a specified cluster and


initiates a user-defined operation for each resource. The
PRESUTIL_ENUM_RESOURCES_EX2 type defines a pointer to
this function.

ResUtilExpandEnvironmentStrings Expands strings containing unexpanded references to


environment variables. The
PRESUTIL_EXPAND_ENVIRONMENT_STRINGS type defines a
pointer to this function.

ResUtilFindBinaryProperty Locates a specified binary property in a property list and can


also return the value of the property. The
PRESUTIL_FIND_BINARY_PROPERTY type defines a pointer to
this function.

ResUtilFindDependentDiskResourceDriveLetter Retrieves the drive letter associated with a Physical Disk


dependency of a resource. The
PRESUTIL_FIND_DEPENDENT_DISK_RESOURCE_DRIVE_LETTER
type defines a pointer to this function.
T IT L E DESC RIP T IO N

ResUtilFindDwordProperty Locates an unsigned long property value in a property list.


The PRESUTIL_FIND_DWORD_PROPERTY type defines a
pointer to this function.

ResUtilFindExpandedSzProperty Locates an expanded string property value in a property list.


The PRESUTIL_FIND_EXPANDED_SZ_PROPERTY type defines a
pointer to this function.

ResUtilFindExpandSzProperty Locates an expandable string property in a property list. The


PRESUTIL_FIND_EXPAND_SZ_PROPERTY type defines a pointer
to this function.

ResUtilFindFileTimeProperty TBD. The PRESUTIL_FIND_FILETIME_PROPERTY type defines a


pointer to this function.

ResUtilFindLongProperty Locates a signed long property value in a property list. The


PRESUTIL_FIND_LONG_PROPERTY type defines a pointer to
this function.

ResUtilFindMultiSzProperty Locates a multiple string property in a property list. The


PRESUTIL_FIND_MULTI_SZ_PROPERTY type defines a pointer
to this function.

ResUtilFindSzProperty Locates a string property in a property list. The


PRESUTIL_FIND_SZ_PROPERTY type defines a pointer to this
function.

ResUtilFindULargeIntegerProperty Gets a large integer property value from a property list. The
PRESUTIL_FIND_ULARGEINTEGER_PROPERTY type defines a
pointer to this function.

ResUtilFreeEnvironment Destroys the environment variable block created with


ResUtilGetEnvironmentWithNetName. The
PRESUTIL_FREE_ENVIRONMENT type defines a pointer to this
function.

ResUtilFreeParameterBlock Deallocates memory that has been allocated for a parameter


block by ResUtilDupParameterBlock.

ResUtilGetAllProperties Returns a property list that includes all of the default and
unknown properties for a cluster object. The
PRESUTIL_GET_ALL_PROPERTIES type defines a pointer to this
function.

ResUtilGetBinaryProperty Retrieves a binary property from a property list and advances


a pointer to the next property in the list. The
PRESUTIL_GET_BINARY_PROPERTY type defines a pointer to
this function.

ResUtilGetBinaryValue Returns a binary value from the cluster database.

ResUtilGetClusterRoleState Determines whether or not a specific role has been assigned


to a cluster.
T IT L E DESC RIP T IO N

ResUtilGetCoreClusterResources Returns handles to the core Network Name, IP Address and


quorum resources. The
PRESUTIL_GET_CORE_CLUSTER_RESOURCES type defines a
pointer to this function.

ResUtilGetCoreClusterResourcesEx Returns handles to the core, Network Name, IP Address, and


quorum resources. The
PRESUTIL_GET_CORE_CLUSTER_RESOURCES_EX type defines a
pointer to this function.

ResUtilGetDwordProperty Retrieves a DWORD property from a property list and


advances a pointer to the next property in the list. The
PRESUTIL_GET_DWORD_PROPERTY type defines a pointer to
this function.

ResUtilGetDwordValue Returns a numeric value from the cluster database.

ResUtilGetEnvironmentWithNetName Adjusts environment data for a resource so that the resource


uses a cluster network name to identify its location.

ResUtilGetExpandSzValue Returns a expandable string value from the cluster database.

ResUtilGetFileTimeProperty TBD. The PRESUTIL_GET_FILETIME_PROPERTY type defines a


pointer to this function.

ResUtilGetLongProperty TBD. The PRESUTIL_GET_LONG_PROPERTY type defines a


pointer to this function.

ResUtilGetMultiSzProperty Retrieves a multiple string property from a property list and


advances a pointer to the next property in the list. The
PRESUTIL_GET_MULTI_SZ_PROPERTY type defines a pointer to
this function.

ResUtilGetMultiSzValue Returns a multiple string value from the cluster database.

ResUtilGetPrivateProperties Returns private properties for a cluster object. The


PRESUTIL_GET_PRIVATE_PROPERTIES type defines a pointer to
this function.

ResUtilGetProperties Retrieves properties specified by a property table from the


cluster database and returns them in a property list. The
PRESUTIL_GET_PROPERTIES type defines a pointer to this
function.

ResUtilGetPropertiesToParameterBlock Retrieves properties specified by a property table from the


cluster database and returns them in a parameter block.

ResUtilGetProperty Returns a specified property from the cluster database. The


PRESUTIL_GET_PROPERTY type defines a pointer to this
function.

ResUtilGetPropertyFormats Returns a property format list describing the format of a


specified set of properties. The
PRESUTIL_GET_PROPERTY_FORMATS type defines a pointer to
this function.
T IT L E DESC RIP T IO N

ResUtilGetPropertySize Returns the total number of bytes required for a specified


property.

ResUtilGetQwordValue TBD.

ResUtilGetResourceDependency Enumerates the dependencies of a specified resource and


returns a handle to a dependency of a specified type. The
PRESUTIL_GET_RESOURCE_DEPENDENCY type defines a
pointer to this function.

ResUtilGetResourceDependencyByClass Enumerates the dependencies of a specified resource in a


specified cluster and returns a handle to a dependency that
matches a specified resource class. The
PRESUTIL_GET_RESOURCE_DEPENDENCY_BY_CLASS type
defines a pointer to this function.

ResUtilGetResourceDependencyByClassEx Enumerates the dependencies of a specified resource in a


specified cluster and returns a handle to a dependency that
matches a specified resource class. The
PRESUTIL_GET_RESOURCE_DEPENDENCY_BY_CLASS_EX type
defines a pointer to this function.

ResUtilGetResourceDependencyByName Enumerates the dependencies of a specified resource in a


specified cluster and returns a handle to a dependency of a
specified type. The
PRESUTIL_GET_RESOURCE_DEPENDENCY_BY_NAME type
defines a pointer to this function.

ResUtilGetResourceDependencyByNameEx Enumerates the dependencies of a specified resource in a


specified cluster and returns a handle to a dependency of a
specified type. The
PRESUTIL_GET_RESOURCE_DEPENDENCY_BY_NAME_EX type
defines a pointer to this function.

ResUtilGetResourceDependencyEx Enumerates the dependencies of a specified resource and


returns a handle to a dependency of a specified type. The
PRESUTIL_GET_RESOURCE_DEPENDENCY_EX type defines a
pointer to this function.

ResUtilGetResourceDependentIPAddressProps Retrieves the private properties of the first IP Address


dependency found for a specified resource. The
PRESUTIL_GET_RESOURCE_DEPENDENTIP_ADDRESS_PROPS
type defines a pointer to this function.

ResUtilGetResourceName Returns the name of a resource. The


PRESUTIL_GET_RESOURCE_NAME type defines a pointer to
this function.

ResUtilGetResourceNameDependency Enumerates the dependencies of a specified resource in the


local cluster and returns a handle to a dependency of a
specified resource type. The
PRESUTIL_GET_RESOURCE_NAME_DEPENDENCY type defines
a pointer to this function.
T IT L E DESC RIP T IO N

ResUtilGetResourceNameDependencyEx Enumerates the dependencies of a specified resource in the


local cluster and returns a handle to a dependency of a
specified resource type. The
PRESUTIL_GET_RESOURCE_NAME_DEPENDENCY_EX type
defines a pointer to this function.

ResUtilGetSzProperty Retrieves a string property from a property list and advances a


pointer to the next property in the list. The
PRESUTIL_GET_SZ_PROPERTY type defines a pointer to this
function.

ResUtilGetSzValue Returns a string value from the cluster database.

ResUtilInitializeResourceStatus Initializes a RESOURCE_STATUS structure.

ResUtilIsPathValid Checks whether a path is syntactically valid.

ResUtilIsResourceClassEqual Tests whether the resource class of a specified resource is


equal to a specified resource class. The
PRESUTIL_IS_RESOURCE_CLASS_EQUAL type defines a pointer
to this function.

ResUtilLeftPaxosIsLessThanRight Indicates whether a specified Paxos tag contains older cluster


configuration information than another specified Paxos tag.

ResUtilPaxosComparer Compares two Paxos tags and indicates whether they have the
same values.

ResUtilPropertyListFromParameterBlock Constructs a property list from a property table and a


parameter block.

ResUtilRemoveResourceServiceEnvironment Removes the environment data from a service. This function


must be called from a resource DLL. The
PRESUTIL_REMOVE_RESOURCE_SERVICE_ENVIRONMENT type
defines a pointer to this function.

ResUtilResourcesEqual Tests whether two resource handles represent the same


resource. The PRESUTIL_RESOURCES_EQUAL type defines a
pointer to this function.

ResUtilResourceTypesEqual Tests whether a resource type matches the resource type


name of a specified resource. The
PRESUTIL_RESOURCE_TYPES_EQUAL type defines a pointer to
this function.

ResUtilSetBinaryValue Sets a binary value in the cluster database.

ResUtilSetDwordValue Sets a numeric value in the cluster database. The


PRESUTIL_SET_DWORD_VALUE type defines a pointer to this
function.

ResUtilSetExpandSzValue Sets an expandable string value in the cluster database. The


PRESUTIL_SET_EXPAND_SZ_VALUE type defines a pointer to
this function.
T IT L E DESC RIP T IO N

ResUtilSetMultiSzValue Sets a multiple string value in the cluster database. The


PRESUTIL_SET_MULTI_SZ_VALUE type defines a pointer to this
function.

ResUtilSetPrivatePropertyList Sets the private properties of a cluster object.

ResUtilSetPropertyParameterBlock Sets properties in the cluster database from a parameter


block.

ResUtilSetPropertyParameterBlockEx Sets properties in the cluster database from a parameter


block.

ResUtilSetPropertyTable Sets properties in the cluster database based on a property


list from a property table..

ResUtilSetPropertyTableEx Sets properties in the cluster database based on a property


list from a property table.

ResUtilSetQwordValue TBD. The PRESUTIL_SET_QWORD_VALUE type defines a


pointer to this function.

ResUtilSetResourceServiceEnvironment Adjusts the environment data for a service so that the service
uses a cluster network name to identify its location. This
function must be called from a resource DLL. The
PRESUTIL_SET_RESOURCE_SERVICE_ENVIRONMENT type
defines a pointer to this function.

ResUtilSetResourceServiceStartParameters Adjusts the start parameters of a specified service so that it


will operate correctly as a cluster resource. It must be called
from a resource DLL. The
PRESUTIL_SET_RESOURCE_SERVICE_START_PARAMETERS type
defines a pointer to this function.

ResUtilSetResourceServiceStartParametersEx Adjusts the start parameters of a specified service so that it


operates correctly as a cluster resource. It must be called from
a resource DLL. The
PRESUTIL_SET_RESOURCE_SERVICE_START_PARAMETERS_EX
type defines a pointer to this function.

ResUtilSetSzValue Sets a string value in the cluster database. The


PRESUTIL_SET_SZ_VALUE type defines a pointer to this
function.

ResUtilSetUnknownProperties Stores a cluster object's unknown properties in the cluster


database.

ResUtilSetValueEx Sets a value in the cluster database.

ResUtilStartResourceService Starts a service. The PRESUTIL_START_RESOURCE_SERVICE


type defines a pointer to this function.

ResUtilStopResourceService Stops a named service. The


PRESUTIL_STOP_RESOURCE_SERVICE type defines a pointer to
this function.
T IT L E DESC RIP T IO N

ResUtilStopService Stops a service identified by a handle. The


PRESUTIL_STOP_SERVICE type defines a pointer to this
function.

ResUtilTerminateServiceProcessFromResDll Attempts to terminate the process of a service being managed


as a cluster resource by a resource DLL. The
PRESUTIL_TERMINATE_SERVICE_PROCESS_FROM_RES_DLL
type defines a pointer to this function.

ResUtilVerifyPrivatePropertyList Verifies that a property list is correctly formatted.

ResUtilVerifyPropertyTable Uses a property table to verify that a property list is correctly


formatted.

ResUtilVerifyResourceService Verifies that a named service is starting or currently running.


The PRESUTIL_VERIFY_RESOURCE_SERVICE type defines a
pointer to this function.

ResUtilVerifyService Checks if a service identified by a handle is starting or


currently running. The PRESUTIL_VERIFY_SERVICE type defines
a pointer to this function.

SetAppInstanceCsvFlags Sets the flags that affect connections from the application
instance.

SetClusterGroupName Sets the name for a group.

SetClusterGroupNodeList Sets the preferred node list for a group.

SetClusterGroupSetDependencyExpression Sets the dependency expression for a cluster groupset.

SetClusterName Sets the name for a cluster.

SetClusterNetworkName Sets the name for a network.

SetClusterNetworkPriorityOrder Sets the priority order for the set of networks used for internal
communication between cluster nodes.

SetClusterQuorumResource Establishes a resource as the quorum resource for a cluster.

SetClusterResourceDependencyExpression Specifies the dependency expression to be associated with the


resource referred to by hResource. Any existing dependency
relationships for the resource will be overwritten.

SetClusterResourceName Sets the name for a resource.

SetClusterServiceAccountPassword Changes the password for the Cluster service user account on
all available cluster nodes.

SetGroupDependencyExpression Sets the dependency expression for a cluster group.

Interfaces
T IT L E DESC RIP T IO N

IGetClusterDataInfo The IGetClusterDataInfo interface is called by a Failover Cluster


Administrator extension to retrieve information about a
cluster.

IGetClusterGroupInfo The IGetClusterGroupInfo interface is called by a Failover


Cluster Administrator extension to retrieve information about
a group.

IGetClusterNetInterfaceInfo The IGetClusterNetInterfaceInfo interface is called by a Failover


Cluster Administrator extension to retrieve information about
a network interface.

IGetClusterNetworkInfo Called by a Failover Cluster Administrator extension to retrieve


information about a network.

IGetClusterNodeInfo The IGetClusterNodeInfo interface is called by a Failover


Cluster Administrator extension to retrieve information about
a node.

IGetClusterObjectInfo Called by a Failover Cluster Administrator extension to retrieve


information about a cluster object.

IGetClusterResourceInfo Called by a Failover Cluster Administrator extension to retrieve


information about a resource.

IGetClusterUIInfo Called by a Failover Cluster Administrator extension to retrieve


information about Failover Cluster Administrator's user
interface.

IWCContextMenuCallback The IWCContextMenuCallback interface is called by a Failover


Cluster Administrator extension to add items to a Failover
Cluster Administrator context menu.

IWCPropertySheetCallback The IWCPropertySheetCallback interface is called by a Failover


Cluster Administrator extension to add property pages to a
Failover Cluster Administrator property sheet.

IWCWizard97Callback The IWCWizard97Callback interface is called by a Failover


Cluster Administrator extension to add a Wizard97 property
page to a Wizard97 wizard, such as the Cluster Application
Wizard.

IWCWizardCallback The IWCWizardCallback interface is called by a Failover Cluster


Administrator extension to add a property page to a Failover
Cluster Administrator Wizard and to manage navigation.

IWEExtendContextMenu Implement the IWEExtendContextMenu interface to extend a


Failover Cluster Administrator context menu for a cluster
object.

IWEExtendPropertySheet Implement the IWEExtendPropertySheet interface to create


property sheet pages for a cluster object and add them to a
Failover Cluster Administrator property sheet.
T IT L E DESC RIP T IO N

IWEExtendWizard Implement the IWEExtendWizard interface to add wizard


pages to Failover Cluster Administrator's New Resource Wizard
or Cluster Application Wizard.

IWEExtendWizard97 Implement the IWEExtendWizard97 interface to add


Wizard97-style wizard pages to a Failover Cluster
Administrator wizard.

IWEInvokeCommand Failover Cluster Administrator calls your implementation of the


IWEInvokeCommand interface when users select context
menu items that you created with the
IWEExtendContextMenu interface.

Structures
T IT L E DESC RIP T IO N

CLRES_CALLBACK_FUNCTION_TABLE Represents a function table for the StartupEx callback function.

CLRES_FUNCTION_TABLE Describes a function table for any version of the Resource API.

CLRES_V1_FUNCTIONS Contains pointers to all Resource API version 1.0 entry points
except Startup.

CLRES_V2_FUNCTIONS Contains pointers to all Resource API version 2.0 entry points
except StartupEx.

CLRES_V3_FUNCTIONS Contains pointers to all Resource API version 3.0 entry points,
except StartupEx.

CLRES_V4_FUNCTIONS Contains pointers to all Resource API version 4.0 entry points,
except StartupEx.

CLUS_CHKDSK_INFO Represents information about a Chkdsk operation.

CLUS_CSV_MAINTENANCE_MODE_INFO Enables or disables the maintenance mode on a cluster shared


volume (CSV).

CLUS_CSV_VOLUME_INFO Represents information about a cluster shared volume (CSV).

CLUS_CSV_VOLUME_NAME Represents the name of a cluster shared volume (CSV).

CLUS_DISK_NUMBER_INFO Represents information about the disk number of a physical


disk.

CLUS_DNN_LEADER_STATUS Represents the status of a Distributed Network Name (DNN)


resource for a Scale-Out File Server.

CLUS_DNN_SODAFS_CLONE_STATUS Represents the status of a Scale-Out File Server clone.

CLUS_FORCE_QUORUM_INFO Specifies information about the list of nodes sufficient to


establish quorum in a majority-of-nodes cluster.
T IT L E DESC RIP T IO N

CLUS_FTSET_INFO Contains information about an FT (fault tolerant) set. This


structure is used by the CLUSPROP_FTSET_INFO structure to
create an entry in a value list.

CLUS_MAINTENANCE_MODE_INFO Enables or disables maintenance mode on a cluster node.

CLUS_MAINTENANCE_MODE_INFOEX Represents the extended maintenance mode settings for a


storage class resource.

CLUS_NETNAME_IP_INFO_ENTRY Represents IP information for a NetName resource.

CLUS_NETNAME_IP_INFO_FOR_MULTICHANNEL Represents IP information for a NetName resource that has


Multichannel enabled.

CLUS_NETNAME_PWD_INFO Provides information for resetting the security principal


associated with a computer name.

CLUS_NETNAME_VS_TOKEN_INFO Contains the data needed to request a token. It is used as the


input parameter of the
CLUSCTL_RESOURCE_NETNAME_GET_VIRTUAL_SERVER_TOKE
N control code.

CLUS_PARTITION_INFO Contains data describing a storage class resource volume and


file system. It is used as the data member of a
CLUSPROP_PARTITION_INFO structure and as the return
value of some control code operations.

CLUS_PARTITION_INFO_EX Describes a storage class resource volume and file system.

CLUS_PARTITION_INFO_EX2 Describes the disk partition information of a storage class


resource.

CLUS_PROVIDER_STATE_CHANGE_INFO Contains data about the state of a provider resource.

CLUS_RESOURCE_CLASS_INFO Contains resource class data. It is used as the data member of


a CLUSPROP_RESOURCE_CLASS_INFO structure and as the
return value of some control code operations.

CLUS_SCSI_ADDRESS Contains SCSI address data. It is used as the data member of a


CLUSPROP_SCSI_ADDRESS structure and as the return value
of some control code operations.

CLUS_SHARED_VOLUME_BACKUP_MODE Describes the backup mode for CSV.

CLUS_STARTING_PARAMS Indicates whether a node's attempt to start the Cluster service


represents an attempt to form or join a cluster, and whether
the node has attempted to start this version of the Cluster
service before.

CLUS_STORAGE_GET_AVAILABLE_DRIVELETTERS Contains a bitmask of the driver letters that are available on a


node. It is used as the return value of the
CLUSCTL_RESOURCE_TYPE_STORAGE_GET_DRIVELETTERS
control code.
T IT L E DESC RIP T IO N

CLUS_STORAGE_REMAP_DRIVELETTER Identifies the existing and target drive letter for a disk drive on
a node.

CLUS_STORAGE_SET_DRIVELETTER Supplies drive letter information for a disk partition associated


with a storage class resource.

CLUS_WORKER Contains information about a worker thread.

CLUSCTL_GROUP_GET_LAST_MOVE_TIME_OUTPUT Specifies information about the last time a group was moved
to another node.

CLUSCTL_RESOURCE_STATE_CHANGE_REASON_STRUCT Sent with the CLUSCTL_RESOURCE_STATE_CHANGE_REASON


control code to provide the reason for a resource state
change.

CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS_ Represents an input buffer for the


EX2_INPUT CLUSCTL_RESOURCE_TYPE_STORAGE_GET_AVAILABLE_DISKS_
EX2_INT control code.

CLUSPROP_BINARY Describes a binary data value.

CLUSPROP_BUFFER_HELPER Used to build or parse a property list or, a value list.

CLUSPROP_DWORD Describes a numeric value identifying the physical drive of a


disk.

CLUSPROP_FILETIME Describes a date and time stamp for a file.

CLUSPROP_FTSET_INFO Contains information about an FT (fault tolerant) set. It is used


as an entry in a value list and consists of a CLUSPROP_VALUE
and a CLUS_FTSET_INFO structure.

CLUSPROP_LARGE_INTEGER Describes a signed large integer.

CLUSPROP_LIST Accesses the beginning of a property list.

CLUSPROP_LONG Describes signed LONG data.

CLUSPROP_PARTITION_INFO Contains information relevant to storage class resources.

CLUSPROP_PARTITION_INFO_EX The CLUSPROP_PARTITION_INFO_EX structure contains


information relevant to storage class resources.

CLUSPROP_PARTITION_INFO_EX2 A value list entry that contains partition information for a


storage class resource. This structure is as a input, and a as a
return value for the
CLUSCTL_RESOURCE_STORAGE_GET_DISK_INFO_EX2 control
code.
T IT L E DESC RIP T IO N

CLUSPROP_REQUIRED_DEPENDENCY Describes a resource that is a required dependency of another


resource. This union is used as a value in the value list
returned from a
CLUSCTL_RESOURCE_GET_REQUIRED_DEPENDENCIES or
CLUSCTL_RESOURCE_TYPE_GET_REQUIRED_DEPENDENCIES
control code operation.

CLUSPROP_RESOURCE_CLASS Describes a resource class.

CLUSPROP_RESOURCE_CLASS_INFO Describes information relating to a resource class.

CLUSPROP_SCSI_ADDRESS Describes an address for a SCSI device.

CLUSPROP_SECURITY_DESCRIPTOR Describes a security descriptor.

CLUSPROP_SYNTAX Describes the format and type of a data value. It is used as the
Syntax member of the CLUSPROP_VALUE structure.

CLUSPROP_SZ Describes multiple NULL-terminated Unicode strings.

CLUSPROP_ULARGE_INTEGER Describes an unsigned large integer.

CLUSPROP_VALUE Describes the syntax and length of a data value used in a


value list. The CLUSPROP_VALUE structure is used as a generic
header in all of the structures that describe data of a particular
type, such as CLUSPROP_BINARY and CLUSPROP_SZ.

CLUSPROP_WORD Describes numeric data.

CLUSTER_BATCH_COMMAND Represents the order in which current batch command data is


sent to the ClusterRegBatchReadCommand function.

CLUSTER_CREATE_GROUP_INFO Allows the caller to provide additional properties when


creating a new group.

CLUSTER_ENUM_ITEM Contains the properties of a cluster object. This structure is


used to enumerate clusters in the ClusterEnumEx and
ClusterNodeEnumEx functions.

CLUSTER_GROUP_ENUM_ITEM Contains the properties of a cluster group.

CLUSTER_HEALTH_FAULT TBD.

CLUSTER_HEALTH_FAULT_ARRAY TBD.

CLUSTER_IP_ENTRY Describes an IP address for a cluster.

CLUSTER_MEMBERSHIP_INFO Represents membership information for a cluster.

CLUSTER_READ_BATCH_COMMAND Represents a result for a single command in a read batch.


T IT L E DESC RIP T IO N

CLUSTER_RESOURCE_ENUM_ITEM Represents the properties of a cluster resource. This structure


is used to enumerate cluster resources in the
ClusterResourceEnumEx function.

CLUSTER_SET_PASSWORD_STATUS Used by the SetClusterServiceAccountPassword function to


return the results of a Cluster service user account password
change for each cluster node.

CLUSTER_SHARED_VOLUME_STATE_INFO Represents information about the state of a Cluster Shared


Volume (CSV).

CLUSTER_SHARED_VOLUME_STATE_INFO_EX Represents information about the state of a Cluster Shared


Volume (CSV).

CLUSTER_VALIDATE_CSV_FILENAME Represents a cluster shared volume (CSV) during a validation


operation.

CLUSTER_VALIDATE_DIRECTORY TBD.

CLUSTER_VALIDATE_NETNAME TBD.

CLUSTER_VALIDATE_PATH TBD.

CLUSTERVERSIONINFO Describes information about the version of the Cluster service


installed locally on a node.

CLUSTERVERSIONINFO_NT4 TBD.

CREATE_CLUSTER_CONFIG Defines the initial cluster configuration.

CREATE_CLUSTER_NAME_ACCOUNT Describes a cluster name resource and domain credentials


used by the CreateClusterNameAccount function to add a
cluster to a domain. PCREATE_CLUSTER_NAME_ACCOUNT
defines a pointer to this structure.

FILESHARE_CHANGE Describes the format for an entry in an event notification list.

FILESHARE_CHANGE_LIST Describes an event notification list for file shares managed by


the File Server resource.

GET_OPERATION_CONTEXT_PARAMS Represents context parameters that are used as input for the
CLUSCTL_RESOURCE_GET_OPERATION_CONTEXT control
code.

GROUP_FAILURE_INFO Represents information about the Failover attempts for a


group failure.

GROUP_FAILURE_INFO_BUFFER Represents a buffer for a GROUP_FAILURE_INFO structure.

MONITOR_STATE TBD.
T IT L E DESC RIP T IO N

NOTIFY_FILTER_AND_TYPE Represents a filter for a notification port that was created by


the CreateClusterNotifyPortV2 function. A filter specifies that a
notification port accept notifications for the specified type of
cluster object during the specified event.

PaxosTagCStruct Contains the Paxos tag values of a cluster node, which stores
information about the cluster configuration version of the
node when the cluster uses a File Share witness.

POST_UPGRADE_VERSION_INFO Represents post-upgrade state information for the cluster


service.

RESOURCE_FAILURE_INFO Represents information about the Failover attempts for a


resource. This structure is used by the
RESOURCE_FAILURE_INFO_BUFFER structure.

RESOURCE_FAILURE_INFO_BUFFER Represents a buffer for a resource failure.

RESOURCE_STATUS Contains information about a resource that is being brought


online or taken offline. This structure is used as a parameter to
the callback function SetResourceStatus.

RESOURCE_STATUS_EX Contains information about a resource that is being brought


online or taken offline. This structure is used as a parameter to
the callback function SetResourceStatusEx.

RESOURCE_TERMINAL_FAILURE_INFO_BUFFER Represents a buffer for a terminal failure for a resource.

RESUTIL_FILETIME_DATA Describes the default, maximum, and minimum values allowed


for a FILETIME.

RESUTIL_LARGEINT_DATA Describes the default, maximum, and minimum values allowed


for a signed large integer.

RESUTIL_PROPERTY_ITEM Contains information about a cluster object property. An array


of RESUTIL_PROPERTY_ITEM structures forms a property table
which can be used in property operations.

RESUTIL_ULARGEINT_DATA Describes the default, maximum, and minimum values allowed


for an unsigned large integer.

SR_RESOURCE_TYPE_DISK_INFO Describes a set of information that indicates whether a disk is


eligible for replication.

SR_RESOURCE_TYPE_ELIGIBLE_DISKS_RESULT Describes a set of data disks retrieved by a resource type


control code operation for storage replication.

SR_RESOURCE_TYPE_QUERY_ELIGIBLE_LOGDISKS Describes a set of retrieved disks that can be used as log disks
for the specified data disk.

SR_RESOURCE_TYPE_QUERY_ELIGIBLE_SOURCE_DATADISKS Describes a set of retrieved data disks that can be used as


source sites for replication.
T IT L E DESC RIP T IO N

SR_RESOURCE_TYPE_QUERY_ELIGIBLE_TARGET_DATADISKS Describes a set of retrieved data disks that can be used as


target sites for replication.

SR_RESOURCE_TYPE_REPLICATED_DISK Represents a replicated disk.

SR_RESOURCE_TYPE_REPLICATED_DISKS_RESULT Describes a retrieved set of replicated disks.

SR_RESOURCE_TYPE_REPLICATED_PARTITION_ARRAY Lists the all replicated partitions on a disk.

SR_RESOURCE_TYPE_REPLICATED_PARTITION_INFO Describes a replicated partition.

WitnessTagHelper Contains information used to validate a PaxosTagCStruct


structure.

WitnessTagUpdateHelper Contains information used to update and validate a


PaxosTagCStruct structure.
Windows Color System
2/7/2020 • 4 minutes to read • Edit Online

Overview of the Windows Color System technology.


To develop Windows Color System, you need these headers:
wcsplugin.h
For programming guidance for this technology, see:
Windows Color System

Functions
T IT L E DESC RIP T IO N

CheckColorsInGamut The CheckColorsInGamut function determines whether a


specified set of RGB triples lies in the output gamut of a
specified device. The RGB triples are interpreted in the input
logical color space.

CMYK The CMYK macro creates a CMYK color value by combining


the specified cyan, magenta, yellow, and black values.

ColorCorrectPalette The ColorCorrectPalette function corrects the entries of a


palette using the WCS 1.0 parameters in the specified device
context.

ColorimetricToDeviceColors Returns the appropriate XYZ colors in response to the


specified number of colors, channels, device colors and the
proprietary plug-in algorithms.

ColorimetricToDeviceColorsWithBlack Returns the appropriate device colors in response to the


incoming number of colors, channels, black information,
Commission Internationale l'Eclairge XYZ (CIEXYZ) colors and
the proprietary plug-in algorithms.

ColorMatchToTarget The ColorMatchToTarget function enables you to preview


colors as they would appear on the target device.

CreateColorSpaceA The CreateColorSpace function creates a logical color space.

CreateColorSpaceW The CreateColorSpace function creates a logical color space.

DeleteColorSpace The DeleteColorSpace function removes and destroys a


specified color space.

DeviceToColorimetricColors Returns the appropriate XYZ colors in response to the


specified number of colors, channels, device colors and the
proprietary plug-in algorithms.
T IT L E DESC RIP T IO N

EnumICMProfilesA The EnumICMProfiles function enumerates the different


output color profiles that the system supports for a given
device context.

EnumICMProfilesW The EnumICMProfiles function enumerates the different


output color profiles that the system supports for a given
device context.

GetColorSpace The GetColorSpace function retrieves the handle to the input


color space from a specified device context.

GetCValue The GetCValue macro retrieves the cyan color value from a
CMYK color value.

GetDeviceGammaRamp The GetDeviceGammaRamp function gets the gamma ramp


on direct color display boards having drivers that support
downloadable gamma ramps in hardware.

GetGamutBoundaryMesh Returns the triangular mesh from the plug-in. This function is
used to compute the GamutBoundaryDescription.

GetGamutBoundaryMeshSize Returns the required data structure sizes for the


GetGamutBoundaryMesh function.

GetICMProfileA The GetICMProfile function retrieves the file name of the


current output color profile for a specified device context.

GetICMProfileW The GetICMProfile function retrieves the file name of the


current output color profile for a specified device context.

GetKValue The GetKValue macro retrieves the black color value from a
CMYK color value.

GetLogColorSpaceA The GetLogColorSpace function retrieves the color space


definition identified by a specified handle.

GetLogColorSpaceW The GetLogColorSpace function retrieves the color space


definition identified by a specified handle.

GetMValue The GetMValue macro retrieves the magenta color value from
a CMYK color value.

GetNeutralAxis The IDeviceModelPlugIn::GetNeutralAxis return the XYZ


colorimetry of sample points along the device's neutral axis.

GetNeutralAxisSize The IDeviceModelPlugIn::GetNeutralAxisSize function returns


the number of data points along the neutral axis that are
returned by the GetNeutralAxis function.

GetNumChannels Returns the number of device channels in the parameter


pNumChannels.

GetPrimarySamples Returns the measurement color for the primary sample.


T IT L E DESC RIP T IO N

GetYValue The GetYValue macro retrieves the yellow color value from a
CMYK color value.

ICMENUMPROCA The EnumICMProfilesProcCallback callback is an application-


defined callback function that processes color profile data from
EnumICMProfiles .

ICMENUMPROCW The EnumICMProfilesProcCallback callback is an application-


defined callback function that processes color profile data from
EnumICMProfiles .

Initialize Takes a pointer to a Stream that contains the whole device


model plug-in as input, and initializes any internal parameters
required by the plug-in.

Initialize Initializes a gamut map model profile (GMMP) by using the


specified source and destination gamut boundary descriptions
and optional source and destination device model plug-ins.

SetColorSpace The SetColorSpace function defines the input color space for a
given device context.

SetDeviceGammaRamp The SetDeviceGammaRamp function sets the gamma ramp on


direct color display boards having drivers that support
downloadable gamma ramps in hardware.

SetICMMode The SetICMMode function causes Image Color Management


to be enabled, disabled, or queried on a given device context
(DC).

SetICMProfileA The SetICMProfile function sets a specified color profile as the


output profile for a specified device context (DC).

SetICMProfileW The SetICMProfile function sets a specified color profile as the


output profile for a specified device context (DC).

SetTransformDeviceModelInfo Provides the plug-in with parameters to determine where in


the transform sequence the specific plug-in occurs.

SourceToDestinationAppearanceColors Returns the appropriate gamut-mapped appearance colors in


response to the specified number of colors and the CIEJCh
colors.

UpdateICMRegKeyA The UpdateICMRegKey function manages color profiles and


Color Management Modules in the system.

UpdateICMRegKeyW The UpdateICMRegKey function manages color profiles and


Color Management Modules in the system.

Interfaces
T IT L E DESC RIP T IO N

IDeviceModelPlugIn Describes the methods that are defined for the


IDeviceModelPlugIn Component Object Model (COM)
interface.

IGamutMapModelPlugIn Describes the methods that are defined for the


IGamutMapModelPlugIn Component Object Model (COM)
interface.

Structures
T IT L E DESC RIP T IO N

BlackInformation Contains information for device models that have a black color
channel.

CIEXYZ The CIEXYZ structure contains the x,y, and z coordinates of a


specific color in a specified color space.

CIEXYZTRIPLE The CIEXYZTRIPLE structure contains the x,y, and z coordinates


of the three colors that correspond to the red, green, and blue
endpoints for a specified logical color space.

GamutBoundaryDescription Defines a gamut boundary.

GamutShell Contains information that defines a gamut shell, which is


represented by a list of indexed triangles. The vertex buffer
contains the vertices data.

GamutShellTriangle Contains three vertex indices for accessing a vertex buffer.

JabColorF TBD.

JChColorF TBD.

LOGCOLORSPACEA The LOGCOLORSPACE structure contains information that


defines a logical color space.

LOGCOLORSPACEW The LOGCOLORSPACE structure contains information that


defines a logical color space.

PrimaryJabColors This structure contains eight primary colors in Jab coordinates.

PrimaryXYZColors This structure contains eight primary colors in XYZ


coordinates.

XYZColorF TBD.
Windows Connect Now
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Windows Connect Now technology.


To develop Windows Connect Now, you need these headers:
wcndevice.h
wcntypes.h
For programming guidance for this technology, see:
Windows Connect Now

Enumerations
T IT L E DESC RIP T IO N

WCN_ATTRIBUTE_TYPE WCN_ATTRIBUTE_TYPE enumeration defines the attribute


buffer types defined for Wi-Fi Protected Setup. The overall size
occupied by each attribute buffer includes an additional 4
bytes (2 bytes of ID, 2 bytes of Length).

WCN_PASSWORD_TYPE WCN_PASSWORD_TYPE enumeration defines the


authentication that will be used in a WPS session.

WCN_SESSION_STATUS Defines the outcome status of a WPS session.

WCN_VALUE_TYPE_ASSOCIATION_STATE WCN_VALUE_TYPE_ASSOCIATION_STATE enumeration defines


the possible association states of a wireless station during a
Discovery request.

WCN_VALUE_TYPE_AUTHENTICATION_TYPE WCN_VALUE_TYPE_AUTHENTICATION_TYPE enumeration


defines the authentication types supported by the Enrollee
(access point or station).

WCN_VALUE_TYPE_BOOLEAN WCN_VALUE_TYPE_BOOLEAN enumeration defines values


used to represent true/false conditions encountered during
device setup and association.

WCN_VALUE_TYPE_CONFIG_METHODS WCN_VALUE_TYPE_CONFIG_METHODS enumeration defines


the configuration methods supported by the Enrollee or
Registrar.

WCN_VALUE_TYPE_CONFIGURATION_ERROR WCN_VALUE_TYPE_CONFIGURATION_ERROR enumeration


defines possible error values returned to a device while
attempting to configure to, and associate with, the WLAN.

WCN_VALUE_TYPE_CONNECTION_TYPE WCN_VALUE_TYPE_CONNECTION_TYPE.

WCN_VALUE_TYPE_DEVICE_PASSWORD_ID WCN_VALUE_TYPE_DEVICE_PASSWORD_ID enumeration


defines values that specify the origin or 'type' of a password.
T IT L E DESC RIP T IO N

WCN_VALUE_TYPE_ENCRYPTION_TYPE WCN_VALUE_TYPE_ENCRYPTION_TYPE enumeration defines


the supported WLAN encryption types.

WCN_VALUE_TYPE_RF_BANDS WCN_VALUE_TYPE_RF_BANDS enumeration defines the


possible radio frequency bands on which an enrollee can send
Discovery requests.

WCN_VALUE_TYPE_VERSION Defines the supported version of Wi-Fi Protected Setup (WPS).

WCN_VALUE_TYPE_WI_FI_PROTECTED_SETUP_STATE WCN_VALUE_TYPE_WI_FI_PROTECTED_SETUP_STATE
enumeration.

Functions
T IT L E DESC RIP T IO N

Connect The IWCNDevice::Connect method initiates the session.

ConnectFailed Callback method indicates a IWCNDevice::Connect failure.

ConnectSucceeded The IWCNConnectNotify::ConnectSucceeded callback method


that indicates a successful IWCNDevice::Connect operation.

GetAttribute The IWCNDevice::GetAttribute method gets a cached attribute


from the device.

GetIntegerAttribute The GetIntegerAttribute method gets a cached attribute from


the device as an integer.

GetNetworkProfile The IWCNDevice::GetNetworkProfile method gets a network


profile from the device.

GetStringAttribute The IWCNDevice::GetStringAttribute method gets a cached


attribute from the device as a string.

GetVendorExtension The GetVendorExtension method gets a cached vendor


extension from the device.

SetNetworkProfile The IWCNDevice::SetNetworkProfile method queues an XML


WLAN profile to be provisioned to the device. This method
may only be called prior to IWCNDevice::Connect.

SetPassword The IWCNDevice::SetPassword method configures the


authentication method value, and if required, a password used
for the pending session. This method may only be called prior
to IWCNDevice::Connect.

SetVendorExtension The IWCNDevice::SetVendorExtension method queues a


vendor extension for use in the pending session. This function
may only be called prior to IWCNDevice::Connect.

Unadvise IWCNDevice::Unadvise method removes any callback


previously set via IWCNDevice::Connect.
Interfaces
T IT L E DESC RIP T IO N

IWCNConnectNotify Use this interface to receive a success or failure notification


when a Windows Connect Now connect session completes.

IWCNDevice Use this interface to configure the device and initiate the
session.

Structures
T IT L E DESC RIP T IO N

WCN_VALUE_TYPE_PRIMARY_DEVICE_TYPE WCN_VALUE_TYPE_PRIMARY_DEVICE_TYPE structure contains


information that identifies the device type by category, sub-
category, and a manufacturer specific OUI (Organization ID).

WCN_VENDOR_EXTENSION_SPEC WCN_VENDOR_EXTENSION_SPEC structure contains data that


defines a vendor extension.
Windows Connection Manager
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Windows Connection Manager technology.


To develop Windows Connection Manager, you need these headers:
wcmapi.h
For programming guidance for this technology, see:
Windows Connection Manager

Enumerations
T IT L E DESC RIP T IO N

WCM_CONNECTION_COST Determines the connection cost type and flags.

WCM_CONNECTION_COST_SOURCE Specifies the source that provides connection cost information.

WCM_MEDIA_TYPE Specifies the type of media for a connection.

WCM_PROPERTY Specifies a property of a connection.

Functions
T IT L E DESC RIP T IO N

WcmFreeMemory Is used to release memory resources allocated by the WCM


functions.

WcmGetProfileList Retrieves a list of profiles in preferred order.

WcmQueryProperty Retrieves the value of a specified WCM property.

WcmSetProfileList Reorders a profile list or a subset of a profile list.

WcmSetProperty Sets the value of a WCM property.

Structures
T IT L E DESC RIP T IO N

WCM_BILLING_CYCLE_INFO Specifies information about the billing cycle.

WCM_CONNECTION_COST_DATA Specifies information about a connection cost.

WCM_DATAPLAN_STATUS Specifies subscription information for a network connection.


T IT L E DESC RIP T IO N

WCM_POLICY_VALUE Contains information about the current value of a policy.

WCM_PROFILE_INFO Contains information about a specific profile.

WCM_PROFILE_INFO_LIST Contains a list of profiles in preferred order.

WCM_TIME_INTERVAL Defines a time interval.

WCM_USAGE_DATA Contains information related to connection usage.


Windows Contacts
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Windows Contacts technology.


To develop Windows Contacts, you need these headers:
icontact.h
For programming guidance for this technology, see:
Windows Contacts

Functions
T IT L E DESC RIP T IO N

CommitChanges Saves changes made to this contact to the contact file.

CreateArrayNode Creates a new array node in a multi-value property.

DeleteArrayNode Deletes the data at a specified array entry.

DeleteLabels Deletes the labels at a specified array entry.

DeleteProperty Deletes the value at a specified property. Property


modification and version data can still be enumerated with
IContactPropertyCollection.

GetBinary Retrieves the binary data of a property using an IStream


interface [Structured Storage].

GetContactCollection Returns an IContactCollection object that contains all known


contacts.

GetContactID Retrieves the local computer unique contact ID.

GetCurrent Retrieves the current contact in the enumeration.

GetDate Retrieves the date and time value at a specified property into a
caller's FILETIME structure. All times are stored and returned
as Coordinated Universal Time (UTC).

GetLabels Retrieves the labels for a specified array element name.

GetMeContact Retrieves the local user account concept of 'me'.

GetPath Retrieves the file system path used to load this contact.

GetPropertyArrayElementID Retrieves the unique ID for a given element in a property


array.
T IT L E DESC RIP T IO N

GetPropertyCollection Returns an IContactPropertyCollection for the current contact.


Optionally, filters the IContactPropertyCollection to enumerate
only some values.

GetPropertyModificationDate Retrieves the last modification date for the current property in
the enumeration. If not modified, contact creation date is
returned.

GetPropertyName Retrieves the name for the current property in the


enumeration.

GetPropertyType Retrieves the type for the current property in the


enumeration.

GetPropertyVersion Retrieves the version number for the current property in the
enumeration.

GetString Retrieves the string value at a specified property into a caller-


allocated buffer.

Initialize Initializes the contact manager with the unique application


name and application version being used to manipulate
contacts.

Load Loads an IContact object with the data from the contact
referenced by the computer-local contact ID.

MergeContactIDs Makes an old Contact ID resolve to the same value as a new


Contact ID. Subsequent calls to IContactManager::Load with
the old contact ID now loads the new contact ID contact.

Next Moves to the next contact.

Next Moves to the next property.

Reset Resets the enumerator to before the logical first element.

Reset Resets enumeration of properties.

SetBinary Sets the binary data at a specified property to the contents of


a specified IStream interface [Structured Storage], which
contains a null-terminated string (as MIME type) data.

SetDate Sets the date and time value at a specified property to a given
FILETIME. All times are stored and returned as Coordinated
Universal Time (UTC).

SetLabels Appends the set of labels passed in to the specified property's


label set. Note:_This method does not check for duplicate
labels.

SetMeContact Sets the local user account concept of 'me' to specified user.
T IT L E DESC RIP T IO N

SetString Sets the string value of a specified property to that of a


specified null-terminated string.

Interfaces
T IT L E DESC RIP T IO N

IContact Do not use. Defines methods for reading and writing


properties for a single contact.

IContactCollection Do not use. Enumerates the contacts known by the


IContactManager.

IContactManager Do not use. Used for retrieving a contact, based on a contact


ID string.

IContactProperties Do not use. Used to retrieve, set, create, and remove


properties on an IContact. Property names and extension
mechanisms are described in icontactproperties.h.

IContactPropertyCollection Do not use. Used to filter contact data, based on a label or


property set. Enumerates contact properties exposed with an
IContactProperties object. For each property, the name, type,
version, and modification date can be retrieved.
Windows Controls
2/12/2020 • 138 minutes to read • Edit Online

Overview of the Windows Controls technology.


To develop Windows Controls, you need these headers:
commctrl.h
commoncontrols.h
dpa_dsa.h
prsht.h
richedit.h
richole.h
shlobj.h
textserv.h
tom.h
uxtheme.h
windowsx.h
winuser.h
For programming guidance for this technology, see:
Windows Controls

Class
T IT L E DESC RIP T IO N

ITextHost The ITextHost interface is used by a text services object to


obtain text host services.

ITextHost2 The ITextHost2 interface extends the ITextHost interface.

ITextServices Extends the Text Object Model (TOM) to provide extra


functionality for windowless operation.

ITextServices2 The ITextServices2 interface extends the ITextServices interface.

Enumerations
T IT L E DESC RIP T IO N

BP_ANIMATIONSTYLE Used in the BP_ANIMATIONPARAMS structure to declare


animation options.

BP_BUFFERFORMAT Specifies the format of the buffer. Used by


BeginBufferedAnimation and BeginBufferedPaint.

EC_ENDOFLINE Indicates the end of line character used by an edit control.


T IT L E DESC RIP T IO N

KHYPH Contains values used to specify how to do hyphenation in a


rich edit control. The HyphenateProc callback function uses
this enumeration type.

MANCODE Represents mathematical alphanumeric codes.

OBJECTTYPE Defines values that identify object types in the Text Object
Model (TOM) content.

PROPERTYORIGIN Returned by GetThemePropertyOrigin to specify where a


property was found.

TEXTMODE Indicates the text mode of a rich edit control. The


EM_SETTEXTMODE and EM_GETTEXTMODE messages use
this enumeration type.

THEMESIZE Identifies the type of size value to retrieve for a visual style
part.

tomConstants Defines values that are used with the Text Object Model
(TOM) API.

UNDONAMEID Contains values that indicate types of rich edit control actions
that can be undone or redone. The EM_GETREDONAME and
EM_GETUNDONAME messages use this enumeration type to
return a value.

WINDOWTHEMEATTRIBUTETYPE Specifies the type of visual style attribute to set on a window.

Functions
T IT L E DESC RIP T IO N

_NewEnum Retrieves an IEnumVARIANT enumerator interface for this


collection of stories.

ActivateAs Handles Activate As behavior by unloading all objects of the


old class, telling OLE to treat those objects as objects of the
new class, and reloading the objects. If objects cannot be
reloaded, they are deleted.

Add Adds an image or images to an image list.

Add Adds a string to the end of the collection.

AddMasked Adds an image or images to an image list, generating a mask


from the specified bitmap.

AddSubrange Adds a subrange to this range.

AddTab Adds a tab at the displacement tbPos, with type tbAlign, and
leader style, tbLeader.
T IT L E DESC RIP T IO N

Animate_Close Closes an AVI clip. You can use this macro or send the
ACM_OPEN message explicitly, passing in NULL parameters.

Animate_Create Creates an animation control. Animate_Create calls the


CreateWindow function to create the animation control.

Animate_IsPlaying Checks to see if an Audio-Video Interleaved (AVI) clip is


playing. You can use this macro or send an ACM_ISPLAYING
message.

Animate_Open Opens an AVI clip and displays its first frame in an animation
control. You can use this macro or send the ACM_OPEN
message explicitly.

Animate_OpenEx Opens an AVI clip from a resource in a specified module and


displays its first frame in an animation control. You can use
this macro or send the ACM_OPEN message explicitly.

Animate_Play Plays an AVI clip in an animation control. The control plays the
clip in the background while the thread continues executing.
You can use this macro or send the ACM_PLAY message
explicitly.

Animate_Seek Directs an animation control to display a particular frame of


an AVI clip. The control displays the clip in the background
while the thread continues executing. You can use this macro
or send the ACM_PLAY message explicitly.

Animate_Stop Stops playing an AVI clip in an animation control. You can use
this macro or send the ACM_STOP message explicitly.

Append Appends a string to the string at the specified index in the


collection.

Apply Applies the formatting attributes of this text row object to the
specified rows in the associated ITextRange2.

AttachMsgFilter Attaches a new message filter to the edit instance. All window
messages that the edit instance receives are forwarded to the
message filter.

AutoCorrectProc The AutoCorrectProc function is an application-defined


callback function that is used with the
EM_SETAUTOCORRECTPROC message.

BeginBufferedAnimation Begins a buffered animation operation. The animation consists


of a cross-fade between the contents of two buffers over a
specified period of time.

BeginBufferedPaint Begins a buffered paint operation.

BeginDrag Begins dragging an image.

BeginEditCollection Turns on edit collection (also called undo grouping).


T IT L E DESC RIP T IO N

BeginPanningFeedback Notifies the system to send feedback about a target window


affected by panning gestures.

BufferedPaintClear Clears a specified rectangle in the buffer to ARGB = {0,0,0,0}.

BufferedPaintInit Initialize buffered painting for the current thread.

BufferedPaintRenderAnimation Paints the next frame of a buffered paint animation.

BufferedPaintSetAlpha Sets the alpha to a specified value in a given rectangle. The


alpha controls the amount of transparency applied when
blending with the buffer onto the destination target device
context (DC).

BufferedPaintStopAllAnimations Stops all buffered animations for the given window.

BufferedPaintUnInit Closes down buffered painting for the current thread. Called
once for each call to BufferedPaintInit after calls to
BeginBufferedPaint are no longer needed.

BuildUpMath Converts the linear-format math in a range to a built-up form,


or modifies the current built-up form.

Button_Enable Enables or disables a button.

Button_GetCheck Gets the check state of a radio button or check box. You can
use this macro or send the BM_GETCHECK message explicitly.

Button_GetIdealSize Gets the size of the button that best fits the text and image, if
an image list is present. You can use this macro or send the
BCM_GETIDEALSIZE message explicitly.

Button_GetImageList Gets the BUTTON_IMAGELIST structure that describes the


image list that is set for a button control. You can use this
macro or send the BCM_GETIMAGELIST message explicitly.

Button_GetNote Gets the text of the note associated with a command link
button. You can use this macro or send the BCM_GETNOTE
message explicitly.

Button_GetNoteLength Gets the length of the note text that may be displayed in the
description for a command link. Use this macro or send the
BCM_GETNOTELENGTH message explicitly.

Button_GetSplitInfo Gets information for a specified split button control. Use this
macro or send the BCM_GETSPLITINFO message explicitly.

Button_GetState Retrieves the state of a button or check box. You can use this
macro or send the BM_GETSTATE message explicitly.

Button_GetText Gets the text of a button.

Button_GetTextLength Gets the number of characters in the text of a button.


T IT L E DESC RIP T IO N

Button_GetTextMargin Gets the margins used to draw text in a button control. You
can use this macro or send the BCM_GETTEXTMARGIN
message explicitly.

Button_SetCheck Sets the check state of a radio button or check box. You can
use this macro or send the BM_SETCHECK message explicitly.

Button_SetDropDownState Sets the drop down state for a specified button with style of
BS_SPLITBUTTON. Use this macro or send the
BCM_SETDROPDOWNSTATE message explicitly.

Button_SetElevationRequiredState Sets the elevation required state for a specified button or


command link to display an elevated icon. Use this macro or
send the BCM_SETSHIELD message explicitly.

Button_SetImageList Assigns an image list to a button control. You can use this
macro or send the BCM_SETIMAGELIST message explicitly.

Button_SetNote Sets the text of the note associated with a specified command
link button. You can use this macro or send the
BCM_SETNOTE message explicitly.

Button_SetSplitInfo Sets information for a specified split button control. Use this
macro or send the BCM_SETSPLITINFO message explicitly.

Button_SetState Sets the highlight state of a button. The highlight state


indicates whether the button is highlighted as if the user had
pushed it. You can use this macro or send the BM_SETSTATE
message explicitly.

Button_SetStyle Sets the style of a button. You can use this macro or send the
BM_SETSTYLE message explicitly.

Button_SetText Sets the text of a button.

Button_SetTextMargin Sets the margins for drawing text in a button control. You can
use this macro or send the BCM_SETTEXTMARGIN message
explicitly.

CanChange Determines whether the font can be changed.

CanChange Determines whether the paragraph formatting can be


changed.

CanChange Determines whether changes can be made to this row.

CanEdit Determines whether the specified range can be edited.

CanPaste Determines if a data object can be pasted, using a specified


format, into the current range.

Cat2 Concatenates two strings.

CatTop2 Inserts text between the top two strings in a collection.


T IT L E DESC RIP T IO N

ChangeCase Changes the case of letters in this range according to the


Type parameter.

CheckDlgButton Changes the check state of a button control.

CheckRadioButton Adds a check mark to (checks) a specified radio button in a


group and removes a check mark from (clears) all other radio
buttons in the group.

CheckTextLimit Checks whether the number of characters to be added would


exceed the maximum text limit.

ClearAllTabs Clears all tabs, reverting to equally spaced tabs with the
default tab spacing.

Clone Clones an existing image list.

CloseThemeData Closes the theme data handle.

Collapse Collapses the specified text range into a degenerate point at


either the beginning or end of the range.

ComboBox_AddItemData Adds item data to the list in a combo box at the specified
location. You can use this macro or send the CB_ADDSTRING
message explicitly.

ComboBox_AddString Adds a string to a list in a combo box.

ComboBox_DeleteString Deletes the item at the specified location in a list in a combo


box. You can use this macro or send the CB_DELETESTRING
message explicitly.

ComboBox_Dir Adds names to the list displayed by a combo box.

ComboBox_Enable Enables or disables a combo box control.

ComboBox_FindItemData Finds the first item in a combo box list that has the specified
item data. You can use this macro or send the
CB_FINDSTRING message explicitly.

ComboBox_FindString Finds the first string in a combo box list that begins with the
specified string. You can use this macro or send the
CB_FINDSTRING message explicitly.

ComboBox_FindStringExact Finds the first string in a combo box list that exactly matches
the specified string, except that the search is not case
sensitive. You can use this macro or send the
CB_FINDSTRINGEXACT message explicitly.

ComboBox_GetCount Gets the number of items in the list box of a combo box. You
can use this macro or send the CB_GETCOUNT message
explicitly.
T IT L E DESC RIP T IO N

ComboBox_GetCueBannerText Gets the cue banner text displayed in the edit control of a
combo box. Use this macro or send the CB_GETCUEBANNER
message explicitly.

ComboBox_GetCurSel Gets the index of the currently selected item in a combo box.
You can use this macro or send the CB_GETCURSEL message
explicitly.

ComboBox_GetDroppedControlRect Retrieves the screen coordinates of a combo box in its


dropped-down state. You can use this macro or send the
CB_GETDROPPEDCONTROLRECT message explicitly.

ComboBox_GetDroppedState Ascertains whether the drop list in a combo box control is


visible. You can use this macro or send the
CB_GETDROPPEDSTATE message explicitly.

ComboBox_GetExtendedUI Ascertains whether a combo box is using the default user


interface (UI) or the extended UI. You can use this macro or
send the CB_GETEXTENDEDUI message explicitly.

ComboBox_GetItemData Gets the application-defined value associated with the


specified list item in a combo box. You can use this macro or
send the CB_GETITEMDATA message explicitly.

ComboBox_GetItemHeight Retrieves the height of list items in a combo box. You can use
this macro or send the CB_GETITEMHEIGHT message
explicitly.

ComboBox_GetLBText Gets a string from a list in a combo box. You can use this
macro or send the CB_GETLBTEXT message explicitly.

ComboBox_GetLBTextLen Gets the length of a string in the list in a combo box. You can
use this macro or send the CB_GETLBTEXTLEN message
explicitly.

ComboBox_GetMinVisible Gets the minimum number of visible items in the drop-down


list of a combo box.

ComboBox_GetText Retrieves the text from a combo box control.

ComboBox_GetTextLength Gets the number of characters in the text of a combo box.

ComboBox_InsertItemData Inserts item data in a list in a combo box at the specified


location. You can use this macro or send the
CB_INSERTSTRING message explicitly.

ComboBox_InsertString Adds a string to a list in a combo box at the specified location.


You can use this macro or send the CB_INSERTSTRING
message explicitly.

ComboBox_LimitText Limits the length of the text the user may type into the edit
control of a combo box. You can use this macro or send the
CB_LIMITTEXT message explicitly.
T IT L E DESC RIP T IO N

ComboBox_ResetContent Removes all items from the list box and edit control of a
combo box. You can use this macro or send the
CB_RESETCONTENT message explicitly.

ComboBox_SelectItemData Searches a list in a combo box for an item that has the
specified item data. If a matching item is found, the item is
selected. You can use this macro or send the
CB_SELECTSTRING message explicitly.

ComboBox_SelectString Searches a list in a combo box for an item that begins with
the characters in a specified string. If a matching item is
found, the item is selected. You can use this macro or send
the CB_SELECTSTRING message explicitly.

ComboBox_SetCueBannerText Sets the cue banner text that is displayed for the edit control
of a combo box.

ComboBox_SetCurSel Sets the currently selected item in a combo box. You can use
this macro or send the CB_SETCURSEL message explicitly.

ComboBox_SetExtendedUI Selects either the default user interface (UI) or the extended
UI for a combo box that has the CBS_DROPDOWN or
CBS_DROPDOWNLIST style. You can use this macro or send
the CB_SETEXTENDEDUI message explicitly.

ComboBox_SetItemData Sets the application-defined value associated with the


specified list item in a combo box. You can use this macro or
send the CB_SETITEMDATA message explicitly.

ComboBox_SetItemHeight Sets the height of list items or the selection field in a combo
box. You can use this macro or send the CB_SETITEMHEIGHT
message explicitly.

ComboBox_SetMinVisible Sets the minimum number of visible items in the drop-down


list of a combo box.

ComboBox_SetText Sets the text of a combo box.

ComboBox_ShowDropdown Shows or hides the list in a combo box. You can use this
macro or send the CB_SHOWDROPDOWN message explicitly.

ContextSensitiveHelp Indicates if a rich edit control should transition into or out of


context-sensitive help mode. A rich edit control calls the
IRichEditOle::ContextSensitiveHelp method of any in-place
object which is currently active if a state change is occurring.

ContextSensitiveHelp Indicates if the application should transition into or out of


context-sensitive help mode. This method should implement
the functionality described for
IOleWindow::ContextSensitiveHelp.

ConvertObject Converts an object to a new type. This call reloads the object
but does not force an update; the caller must do this.

Copy Copies images from a given image list.


T IT L E DESC RIP T IO N

Copy Copies the text to a data object.

CreateMappedBitmap Creates a bitmap for use in a toolbar.

CreatePropertySheetPageA Creates a new page for a property sheet.

CreatePropertySheetPageW Creates a new page for a property sheet.

CreateProvider Obtains a Microsoft UI Automation provider object for the


parent of a windowless rich edit control.

CreateStatusWindowA Creates a status window, which is typically used to display the


status of an application.

CreateStatusWindowW Creates a status window, which is typically used to display the


status of an application.

CreateTextServices The CreateTextServices function creates an instance of a text


services object. The text services object supports a variety of
interfaces, including ITextServices and the Text Object Model
(TOM).

CreateToolbarEx Creates a toolbar window and adds the specified buttons to


the toolbar.

CreateUpDownControl Creates an up-down control. Note:_This function is obsolete.


It is a 16 bit function and cannot handle 32 bit values for
range and position.

Cut Cuts the plain or rich text to a data object or to the Clipboard,
depending on the pVar parameter.

DateTime_CloseMonthCal Closes the date and time picker (DTP) control. Use this macro
or send the DTM_CLOSEMONTHCAL message explicitly.

DateTime_GetDateTimePickerInfo Gets information for a specified date and time picker (DTP)
control.

DateTime_GetIdealSize Gets the size needed to display the control without clipping.
Use this macro or send the DTM_GETIDEALSIZE message
explicitly.

DateTime_GetMonthCal Gets the handle to a date and time picker's (DTP) child month
calendar control. You can use this macro or send the
DTM_GETMONTHCAL message explicitly.

DateTime_GetMonthCalColor Gets the color for a given portion of the month calendar
within a date and time picker (DTP) control. You can use this
macro or send the DTM_GETMCCOLOR message explicitly.

DateTime_GetMonthCalFont Gets the font that the date and time picker (DTP) control's
child month calendar control is currently using. You can use
this macro or send the DTM_GETMCFONT message explicitly.
T IT L E DESC RIP T IO N

DateTime_GetMonthCalStyle Gets the style of a specified date and time picker (DTP)
control. Use this macro or send the DTM_GETMCSTYLE
message explicitly.

DateTime_GetRange Gets the current minimum and maximum allowable system


times for a date and time picker (DTP) control. You can use
this macro, or send the DTM_GETRANGE message explicitly.

DateTime_GetSystemtime Gets the currently selected time from a date and time picker
(DTP) control and places it in a specified SYSTEMTIME
structure. You can use this macro, or send the
DTM_GETSYSTEMTIME message explicitly.

DateTime_SetFormat Sets the display of a date and time picker (DTP) control based
on a given format string. You can use this macro or send the
DTM_SETFORMAT message explicitly.

DateTime_SetMonthCalColor Sets the color for a given portion of the month calendar
within a date and time picker (DTP) control. You can use this
macro or send the DTM_SETMCCOLOR message explicitly.

DateTime_SetMonthCalFont Sets the font to be used by the date and time picker (DTP)
control's child month calendar control. You can use this macro
or explicitly send the DTM_SETMCFONT message.

DateTime_SetMonthCalStyle Sets the style for a specified date and time picker (DTP)
control. Use this macro or send the DTM_SETMCSTYLE
message explicitly.

DateTime_SetRange Sets the minimum and maximum allowable system times for a
date and time picker (DTP) control. You can use this macro or
send the DTM_SETRANGE message explicitly.

DateTime_SetSystemtime Sets a date and time picker (DTP) control to a given date and
time. You can use this macro or send the
DTM_SETSYSTEMTIME message explicitly.

Delete Mimics the DELETE and BACKSPACE keys, with and without
the CTRL key depressed.

DeleteObject Sends notification that an object is about to be deleted from a


rich edit control. The object is not necessarily being released
when this member is called.

DeleteRange Deletes the contents of a given range.

DeleteSubrange Deletes a subrange from a range.

DeleteTab Deletes a tab at a specified displacement.

DestroyPropertySheetPage Destroys a property sheet page. An application must call this


function for pages that have not been passed to the
PropertySheet function.

DiscardImages Discards images from list, as specified.


T IT L E DESC RIP T IO N

DlgDirListA Replaces the contents of a list box with the names of the
subdirectories and files in a specified directory. You can filter
the list of names by specifying a set of file attributes. The list
can optionally include mapped drives.

DlgDirListComboBoxA Replaces the contents of a combo box with the names of the
subdirectories and files in a specified directory. You can filter
the list of names by specifying a set of file attributes. The list
of names can include mapped drive letters.

DlgDirListComboBoxW Replaces the contents of a combo box with the names of the
subdirectories and files in a specified directory. You can filter
the list of names by specifying a set of file attributes. The list
of names can include mapped drive letters.

DlgDirListW Replaces the contents of a list box with the names of the
subdirectories and files in a specified directory. You can filter
the list of names by specifying a set of file attributes. The list
can optionally include mapped drives.

DlgDirSelectComboBoxExA Retrieves the current selection from a combo box filled by


using the DlgDirListComboBox function. The selection is
interpreted as a drive letter, a file, or a directory name.

DlgDirSelectComboBoxExW Retrieves the current selection from a combo box filled by


using the DlgDirListComboBox function. The selection is
interpreted as a drive letter, a file, or a directory name.

DlgDirSelectExA Retrieves the current selection from a single-selection list box.


It assumes that the list box has been filled by the DlgDirList
function and that the selection is a drive letter, filename, or
directory name.

DlgDirSelectExW Retrieves the current selection from a single-selection list box.


It assumes that the list box has been filled by the DlgDirList
function and that the selection is a drive letter, filename, or
directory name.

DPA_AppendPtr Inserts a new item at the end of a dynamic pointer array


(DPA).

DPA_Clone Duplicates a dynamic pointer array (DPA).

DPA_Create Creates a dynamic pointer array (DPA).

DPA_CreateEx Creates a dynamic pointer array (DPA) using a given specified


size and heap location.

DPA_DeleteAllPtrs Removes all items from a dynamic pointer array (DPA) and
shrinks the DPA accordingly.

DPA_DeletePtr Removes an item from a dynamic pointer array (DPA). The


DPA shrinks if necessary to accommodate the removed item.
T IT L E DESC RIP T IO N

DPA_Destroy Frees a Dynamic Pointer Array (DPA).

DPA_DestroyCallback Calls pfnCB on each element of the dynamic pointer array


(DPA), then frees the DPA.

DPA_EnumCallback Iterates through the Dynamic Pointer Array (DPA) and calls
pfnCB on each item.

DPA_FastDeleteLastPtr Deletes the last pointer from a dynamic pointer array (DPA).

DPA_FastGetPtr Gets the value of the specified pointer in the dynamic pointer
array (DPA).

DPA_GetPtr Gets an item from a dynamic pointer array (DPA).

DPA_GetPtrCount Gets the number of pointers in a dynamic pointer array (DPA).

DPA_GetPtrIndex Gets the index of a matching item found in a dynamic pointer


array (DPA).

DPA_GetPtrPtr Gets the pointer to the internal pointer array of a dynamic


pointer array (DPA).

DPA_GetSize Gets the size of a dynamic pointer array (DPA).

DPA_Grow Changes the number of pointers in a dynamic pointer array


(DPA).

DPA_InsertPtr Inserts a new item at a specified position in a dynamic pointer


array (DPA). If neccessary, the DPA expands to accommodate
the new item.

DPA_LoadStream Loads the dynamic pointer array (DPA) from a stream by


calling the specified callback function to read each element.

DPA_Merge Combines the contents of two dynamic pointer arrays (DPAs).

DPA_SaveStream Saves the dynamic pointer array (DPA) to a stream by writing


out a header, and then calling the specified callback function
to write each element.

DPA_Search Finds an item in a dynamic pointer array (DPA).

DPA_SetPtr Assigns a value to an item in a dynamic pointer array (DPA).

DPA_SetPtrCount Sets the number of pointers in a dynamic pointer array (DPA).

DPA_Sort Sorts the items in a Dynamic Pointer Array (DPA).

DPA_SortedInsertPtr Inserts a new item before or after a specified existing item.


T IT L E DESC RIP T IO N

DragEnter Locks updates to the specified window during a drag


operation and displays the drag image at the specified
position within the window.

DragLeave Unlocks the specified window and hides the drag image,
which enables the window to update.

DragMove Moves the image that is being dragged during a drag-and-


drop operation. This function is typically called in response to
a WM_MOUSEMOVE message.

DragShowNolock Shows or hides the image being dragged.

Draw Draws an image list item in the specified device context.

DrawInsert Draws the insert icon in the parent window of the specified
drag list box.

DrawShadowText Draws text that has a shadow.

DrawStatusTextA The DrawStatusText function draws the specified text in the


style of a status window with borders.

DrawStatusTextW The DrawStatusText function draws the specified text in the


style of a status window with borders.

DrawThemeBackground Draws the border and fill defined by the visual style for the
specified control part.

DrawThemeBackgroundEx Draws the background image defined by the visual style for
the specified control part.

DrawThemeEdge Draws one or more edges defined by the visual style of a


rectangle.

DrawThemeIcon Draws an image from an image list with the icon effect
defined by the visual style.

DrawThemeParentBackground Draws the part of a parent control that is covered by a


partially-transparent or alpha-blended child control.

DrawThemeParentBackgroundEx Used by partially-transparent or alpha-blended child controls


to draw the part of their parent in front of which they appear.
Sends a WM_ERASEBKGND message followed by a
WM_PRINTCLIENT.

DrawThemeText Draws text using the color and font defined by the visual
style.

DrawThemeTextEx Draws text using the color and font defined by the visual
style. Extends DrawThemeText by allowing additional text
format options.
T IT L E DESC RIP T IO N

DSA_AppendItem Appends a new item to the end of a dynamic structure array


(DSA).

DSA_Clone Duplicates a dynamic structure array (DSA).

DSA_Create Creates a dynamic structure array (DSA).

DSA_DeleteAllItems Deletes all items from a dynamic structure array (DSA).

DSA_DeleteItem Deletes an item from a dynamic structure array (DSA).

DSA_Destroy Frees a dynamic structure array (DSA).

DSA_DestroyCallback Iterates through a dynamic structure array (DSA), calling a


specified callback function on each item. Upon reaching the
end of the array, the DSA is freed.

DSA_EnumCallback Iterates through the dynamic structure array (DSA) and calls
pfnCB on each item.

DSA_GetItem Gets an element from a dynamic structure array (DSA).

DSA_GetItemCount Gets the number of items in a dynamic structure array (DSA).

DSA_GetItemPtr Gets a pointer to an element from a dynamic structure array


(DSA).

DSA_GetSize Gets the size of the dynamic structure array (DSA).

DSA_InsertItem Inserts a new item into a dynamic structure array (DSA). If


necessary, the DSA expands to accommodate the new item.

DSA_SetItem Sets the contents of an element in a dynamic structure array


(DSA).

DSA_Sort Sorts the items in a dynamic structure array (DSA).

Edit_CanUndo Determines whether there are any actions in the undo queue
of an edit or rich edit control. You can use this macro or send
the EM_CANUNDO message explicitly.

Edit_EmptyUndoBuffer Resets the undo flag of an edit or rich edit control. The undo
flag is set whenever an operation within the edit control can
be undone. You can use this macro or send the
EM_EMPTYUNDOBUFFER message explicitly.

Edit_Enable Enables or disables an edit control.

Edit_EnableSearchWeb Enables or disables the "Search with Bing…" context menu


item in edit controls. You can use this macro or send the
EM_ENABLESEARCHWEB message explicitly.
T IT L E DESC RIP T IO N

Edit_FmtLines Sets a flag that determines whether text retrieved from a


multiline edit control includes soft line-break characters.

Edit_GetCaretIndex Gets the character index of the caret location for a given edit
control. You can use this macro or send the
EM_GETCARETINDEX message explicitly.

Edit_GetCueBannerText Gets the text that is displayed as a textual cue, or tip, in an


edit control. You can use this macro or send the
EM_GETCUEBANNER message explicitly.

Edit_GetEndOfLine Gets the end of line character used for the content of the edit
control. You can use this macro or send the
EM_GETENDOFLINE message explicitly.

Edit_GetExtendedStyle Gets the extended styles that are currently in use for a given
edit control. You can use this macro or send the
EM_GETEXTENDEDSTYLE message explicitly.

Edit_GetFileLine Gets the text of the specified file (or logical) line (text wrap
delimiters are ignored). You can use this macro or send the
EM_GETFILELINE message explicitly.

Edit_GetFileLineCount Gets the number of file (or logical) lines (text wrap delimiters
are ignored). You can use this macro or send the
EM_GETFILELINECOUNT message explicitly.

Edit_GetFileLineFromChar Gets the index of the file (or logical) line of text that includes
the specified character index (text wrap delimiters are
ignored). You can use this macro or send the
EM_FILELINEFROMCHAR message explicitly.

Edit_GetFileLineIndex Gets the index of the file (or logical) line of text based on the
specified visible line. You can use this macro or send the
EM_FILELINEINDEX message explicitly.

Edit_GetFileLineLength Gets the length of the file (or logical) line of text from the
specified character index (text wrap delimiters are ignored).
You can use this macro or send the EM_FILELINELENGTH
message explicitly.

Edit_GetFirstVisibleLine Gets the index of the uppermost visible line in a multiline edit
or rich edit control. You can use this macro or send the
EM_GETFIRSTVISIBLELINE message explicitly.

Edit_GetHandle Gets a handle to the memory currently allocated for the text
of a multiline edit control. You can use this macro or send the
EM_GETHANDLE message explicitly.

Edit_GetHilite This macro is not implemented.

Edit_GetLine Retrieves a line of text from an edit or rich edit control. You
can use this macro or send the EM_GETLINE message
explicitly.
T IT L E DESC RIP T IO N

Edit_GetLineCount Gets the number of lines in the text of an edit control. You can
use this macro or send the EM_GETLINECOUNT message
explicitly.

Edit_GetModify Gets the state of an edit or rich edit control's modification


flag. The flag indicates whether the contents of the control
have been modified. You can use this macro or send the
EM_GETMODIFY message explicitly.

Edit_GetPasswordChar Gets the password character for an edit or rich edit control.
You can use this macro or send the EM_GETPASSWORDCHAR
message explicitly.

Edit_GetRect Gets the formatting rectangle of an edit control. You can use
this macro or send the EM_GETRECT message explicitly.

Edit_GetSel Gets the starting and ending character positions of the


current selection in an edit or rich edit control. You can use
this macro or send the EM_GETSEL message explicitly.

Edit_GetText Gets the text of an edit control.

Edit_GetTextLength Gets the number of characters in the text of an edit control.

Edit_GetWordBreakProc Retrieves the address of an edit or rich edit control's


Wordwrap function. You can use this macro or send the
EM_GETWORDBREAKPROC message explicitly.

Edit_GetZoom Gets the current zoom ratio of an edit control (the zoom ratio
is always between 1/64 and 64). You can use this macro or
send the EM_GETZOOM message explicitly.

Edit_HideBalloonTip Hides any balloon tip associated with an edit control. You can
use this macro or send the EM_HIDEBALLOONTIP message
explicitly.

Edit_LimitText Limits the length of text that can be entered into an edit
control. You can use this macro or send the EM_LIMITTEXT
message explicitly.

Edit_LineFromChar Gets the index of the line that contains the specified character
index in a multiline edit or rich edit control. You can use this
macro or send the EM_LINEFROMCHAR message explicitly.

Edit_LineIndex Gets the character index of the first character of a specified


line in a multiline edit or rich edit control. You can use this
macro or send the EM_LINEINDEX message explicitly.

Edit_LineLength Retrieves the length, in characters, of a line in an edit or rich


edit control. You can use this macro or send the
EM_LINELENGTH message explicitly.

Edit_NoSetFocus Prevents a single-line edit control from receiving keyboard


focus. You can use this macro or send the EM_NOSETFOCUS
message explicitly.
T IT L E DESC RIP T IO N

Edit_ReplaceSel Replaces the selected text in an edit control or a rich edit


control with the specified text. You can use this macro or send
the EM_REPLACESEL message explicitly.

Edit_Scroll Scrolls the text vertically in a multiline edit or rich edit control.
You can use this macro or send the EM_SCROLL message
explicitly.

Edit_ScrollCaret Scrolls the caret into view in an edit or rich edit control. You
can use this macro or send the EM_SCROLLCARET message
explicitly.

Edit_SearchWeb Invokes the "Search with Bing…" context menu item in edit
controls. You can use this macro or send the EM_SEARCHWEB
message explicitly.

Edit_SetCaretIndex Sets the character index at which to locate the caret. You can
use this macro or send the EM_SETCARETINDEX message
explicitly.

Edit_SetCueBannerText Sets the text that is displayed as the textual cue, or tip, for an
edit control. You can use this macro or send the
EM_SETCUEBANNER message explicitly.

Edit_SetCueBannerTextFocused Sets the text that is displayed as the textual cue, or tip, for an
edit control. You can use this macro or send the
EM_SETCUEBANNER message explicitly.

Edit_SetEndOfLine Sets the end of line character used for the content of the edit
control. You can use this macro or send the
EM_SETENDOFLINE message explicitly.

Edit_SetExtendedStyle Sets extended styles for edit controls using the style mask.
You can use this macro or send the EM_SETEXTENDEDSTYLE
message explicitly.

Edit_SetHandle Sets the handle of the memory that will be used by a multiline
edit control. You can use this macro or send the
EM_SETHANDLE message explicitly.

Edit_SetHilite This macro is not implemented.

Edit_SetModify Sets or clears the modification flag for an edit control. The
modification flag indicates whether the text within the edit
control has been modified. You can use this macro or send the
EM_SETMODIFY message explicitly.

Edit_SetPasswordChar Sets or removes the password character for an edit or rich


edit control. When a password character is set, that character
is displayed in place of the characters typed by the user. You
can use this macro or send the EM_SETPASSWORDCHAR
message explicitly.
T IT L E DESC RIP T IO N

Edit_SetReadOnly Sets or removes the read-only style (ES_READONLY) of an edit


or rich edit control. You can use this macro or send the
EM_SETREADONLY message explicitly.

Edit_SetRect Sets the formatting rectangle of an edit control. You can use
this macro or send the EM_SETRECT message explicitly.

Edit_SetRectNoPaint Sets the formatting rectangle of a multiline edit control. This


macro is equivalent to Edit_SetRect, except that it does not
redraw the edit control window. You can use this macro or
send the EM_SETRECTNP message explicitly.

Edit_SetSel Selects a range of characters in an edit or rich edit control. You


can use this macro or send the EM_SETSEL message explicitly.

Edit_SetTabStops Sets the tab stops in a multiline edit or rich edit control. When
text is copied to the control, any tab character in the text
causes space to be generated up to the next tab stop. You can
use this macro or send the EM_SETTABSTOPS message
explicitly.

Edit_SetText Sets the text of an edit control.

Edit_SetWordBreakProc Replaces an edit control's default Wordwrap function with an


application-defined Wordwrap function. You can use this
macro or send the EM_SETWORDBREAKPROC message
explicitly.

Edit_SetZoom Sets the current zoom ratio of an edit control (the zoom ratio
is always between 1/64 and 64). You can use this macro or
send the EM_SETZOOM message explicitly.

Edit_ShowBalloonTip Displays a balloon tip associated with an edit control. You can
use this macro or send the EM_SHOWBALLOONTIP message
explicitly.

Edit_TakeFocus Forces a single-line edit control to receive keyboard focus. You


can use this macro or send the EM_TAKEFOCUS message
explicitly.

Edit_Undo Undoes the last operation in the undo queue of an edit or


rich edit control. You can use this macro or send the
EM_UNDO message explicitly.

EDITSTREAMCALLBACK The EditStreamCallback function is an application defined


callback function used with the EM_STREAMIN and
EM_STREAMOUT messages.

EDITWORDBREAKPROCA An application-defined callback function used with the


EM_SETWORDBREAKPROC message.

EDITWORDBREAKPROCEX The EditWordBreakProcEx function is an application defined


callback function used with the EM_SETWORDBREAKPROCEX
message.
T IT L E DESC RIP T IO N

EDITWORDBREAKPROCW An application-defined callback function used with the


EM_SETWORDBREAKPROC message.

EnableScrollBar The EnableScrollBar function enables or disables one or both


scroll bar arrows.

EnableThemeDialogTexture Enables or disables the visual style of the background of a


dialog window.

EnableTheming Windows Vista through Windows 7:_Enables or disables visual


styles for the current user in the current and later
sessions.Windows 8 and later:_This function does nothing.
Visual styles are always enabled in Windows 8 and later.

EncodeFunction Encodes an object, given a set of argument strings.

EndBufferedAnimation Renders the first frame of a buffered animation operation and


starts the animation timer.

EndBufferedPaint Completes a buffered paint operation and frees the associated


buffered paint handle.

EndDrag Ends a drag operation.

EndEditCollection Turns off edit collection (also called undo grouping).

EndKey Mimics the functionality of the End key.

EndOf Moves this range's ends to the end of the last overlapping
Unit in the range.

EndPanningFeedback Terminates any existing animation that was in process or set


up by BeginPanningFeedback and UpdatePanningFeedback.

Expand Expands this range so that any partial units it contains are
completely contained.

Find Searchs for math inline functions in text as specified by a


source range.

FindText Searches up to Count characters for the text given by bstr.


The starting position and direction are also specified by
Count, and the matching criteria are given by Flags.

FindTextEnd Searches up to Count characters for the string, bstr, starting


from the range's End cp.

FindTextStart Searches up to Count characters for the string, bstr, starting


at the range's Start cp (cpFirst).

FIRST_IPADDRESS Extracts the field 0 value from a packed IP address retrieved


with the IPM_GETADDRESS message.
T IT L E DESC RIP T IO N

FlatSB_EnableScrollBar Enables or disables one or both flat scroll bar direction


buttons. If flat scroll bars are not initialized for the window,
this function calls the standard EnableScrollBar function.

FlatSB_GetScrollInfo Gets the information for a flat scroll bar. If flat scroll bars are
not initialized for the window, this function calls the standard
GetScrollInfo function.

FlatSB_GetScrollPos Gets the thumb position in a flat scroll bar. If flat scroll bars
are not initialized for the window, this function calls the
standard GetScrollPos function.

FlatSB_GetScrollProp Gets the properties for a flat scroll bar. This function can also
be used to determine if InitializeFlatSB has been called for this
window.

FlatSB_GetScrollPropPtr Gets the properties for a flat scroll bar.

FlatSB_GetScrollRange Gets the scroll range for a flat scroll bar. If flat scroll bars are
not initialized for the window, this function calls the standard
GetScrollRange function.

FlatSB_SetScrollInfo Sets the information for a flat scroll bar. If flat scroll bars are
not initialized for the window, this function calls the standard
SetScrollInfo function.

FlatSB_SetScrollPos Sets the current position of the thumb in a flat scroll bar. If flat
scroll bars are not initialized for the window, this function calls
the standard SetScrollPos function.

FlatSB_SetScrollProp Sets the properties for a flat scroll bar.

FlatSB_SetScrollRange Sets the scroll range of a flat scroll bar. If flat scroll bars are
not initialized for the window, this function calls the standard
SetScrollRange function.

FlatSB_ShowScrollBar Shows or hides a flat scroll bar. If flat scroll bars are not
initialized for the window, this function calls the standard
ShowScrollBar function.

ForceImagePresent Forces an image present, as specified.

FORWARD_WM_NOTIFY Sends or posts the WM_NOTIFY message.

FOURTH_IPADDRESS Extracts the field 3 value from a packed IP address retrieved


with the IPM_GETADDRESS message.

Freeze Increments the freeze count.

GetActive Sets the active state of a story.

GetActiveStory Gets the active story; that is, the story that receives keyboard
and mouse input.
T IT L E DESC RIP T IO N

GetAlignment Retrieves the current paragraph alignment value.

GetAlignment Gets the horizontal alignment of a row.

GetAllCaps Gets whether the characters are all uppercase.

GetAnimation Gets the animation type.

GetAutoLigatures Gets whether support for automatic ligatures is active.

GetAutospaceAlpha Gets the East Asian "autospace alphabetics" state.

GetAutospaceNumeric Gets the East Asian "autospace numeric" state.

GetAutospaceParens Gets the East Asian "autospace parentheses" state.

GetBackColor Gets the text background (highlight) color.

GetBkColor Gets the current background color for an image list.

GetBold Gets whether the characters are bold.

GetBorders Gets the borders collection.

GetBoundaryRectangle Retrieves the bounding rectangle of a windowless rich edit


control.

GetBufferedPaintBits Retrieves a pointer to the buffer bitmap if the buffer is a


device-independent bitmap (DIB).

GetBufferedPaintDC Gets the paint device context (DC). This is the same value
retrieved by BeginBufferedPaint.

GetBufferedPaintTargetDC Retrieves the target device context (DC).

GetBufferedPaintTargetRect Retrieves the target rectangle specified by BeginBufferedPaint.

GetCallback Gets an image list callback object.

GetCallManager Gets the call manager.

GetCaretType Gets the caret type.

GetCch Gets the count of characters in a range.

GetCch Gets the count of characters for a selected string index.

GetCellAlignment Gets the vertical alignment of the active cell.

GetCellBorderColors Gets the border colors of the active cell.


T IT L E DESC RIP T IO N

GetCellBorderWidths Gets the border widths of the active cell.

GetCellColorBack Gets the background color of the active cell.

GetCellColorFore Gets the foreground color of the active cell.

GetCellCount Gets the count of cells in this row.

GetCellCountCache Gets the count of cells cached for this row.

GetCellIndex Gets the index of the active cell to get or set parameters for.

GetCellMargin Gets the cell margin of this row.

GetCellMergeFlags Gets the merge flags of the active cell.

GetCells Gets a cells object with the parameters of cells in the currently
selected table row or column.

GetCellShading Gets the shading of the active cell.

GetCellVerticalText Gets the vertical-text setting of the active cell.

GetCellWidth Gets the width of the active cell.

GetChar Gets the character at the start position of the range.

GetChar2 Gets the character at the specified offset from the end of this
range.

GetCharRep Gets the character repertoire (writing system).

GetClientRect Retrieves the client rectangle of the rich edit control.

GetClientSite Retrieves an IOleClientSite interface to be used when creating


a new object. All objects inserted into a rich edit control must
use client site interfaces returned by this function. A client site
may be used with exactly one object.

GetClipboardData Retrieves a clipboard object for a range in an edit control.

GetClipboardData Allows the client to supply its own clipboard object.

GetColumn Gets the column properties for the currently selected column.

GetComboBoxInfo Retrieves information about the specified combo box.

GetCompressionMode Gets the East Asian compression mode.

GetContextMenu Queries the application for a context menu to use on a right-


click event.
T IT L E DESC RIP T IO N

GetCookie Gets the client cookie.

GetCount Gets the count of extra properties in this character formatting


collection.

GetCount Gets the count of subranges, including the active subrange in


the current range.

GetCount Retrieves the number of stories in the specified stories


collection.

GetCount Gets the number of strings in a string collection.

GetCurrentThemeName Retrieves the name of the current visual style, and optionally
retrieves the color scheme name and size name.

GetDefaultTabStop Gets the default tab width.

GetDisplay Gets a new display for a story.

GetDisplays Gets the displays collection for this Text Object Model (TOM)
engine instance.

GetDocumentFont Gets an object that provides the default character format


information for this instance of the Text Object Model (TOM)
engine.

GetDocumentPara Gets an object that provides the default paragraph format


information for this instance of the Text Object Model (TOM)
engine.

GetDoubleStrike Gets whether characters are displayed with double horizontal


lines through the center.

GetDragDropEffect Allows the client to specify the effects of a drop operation.

GetDragImage Gets the temporary image list that is used for the drag image.
The function also retrieves the current drag position and the
offset of the drag image relative to the drag position.

GetDropCap Gets the drop-cap parameters of the paragraph that contains


this range.

GetDuplicate Gets a duplicate of this text font object.

GetDuplicate Creates a duplicate of the specified paragraph format object.


The duplicate property is the default property of an ITextPara
object.

GetDuplicate Gets a duplicate of this range object.

GetDuplicate2 Gets a duplicate of this character format object.


T IT L E DESC RIP T IO N

GetDuplicate2 Gets a duplicate of this text paragraph format object.

GetDuplicate2 Gets a duplicate of a range object.

GetEastAsianFlags Gets the East Asian flags.

GetEffectColor Retrieves the color used for special text attributes.

GetEffectiveClientRect Calculates the dimensions of a rectangle in the client area that


contains all the specified controls.

GetEffects Gets the character format effects.

GetEffects Gets the paragraph format effects.

GetEffects2 Gets the additional character format effects.

GetEmbeddedObject Retrieves a pointer to the embedded object at the start of the


specified range, that is, at cpFirst. The range must either be an
insertion point or it must select only the embedded object.

GetEmboss Gets whether characters are embossed.

GetEnd Gets the end character position of the range.

GetEngrave Gets whether characters are displayed as imprinted


characters.

GetFirstLineIndent Retrieves the amount used to indent the first line of a


paragraph relative to the left indent. The left indent is the
indent for all lines of the paragraph except the first line.

GetFlags Gets the text selection flags.

GetFont Gets an ITextFont object with the character attributes of the


specified range.

GetFont2 Gets an ITextFont2 object with the character attributes of the


current range.

GetFontAlignment Gets the paragraph font alignment state.

GetForeColor Gets the foreground, or text, color.

GetFormattedText Gets an ITextRange object with the specified range's formatted


text.

GetFormattedText2 Gets an ITextRange2 object with the current range's formatted


text.

GetGenerator Gets the name of the Text Object Model (TOM) engine.
T IT L E DESC RIP T IO N

GetGravity Gets the gravity of this range.

GetHangingPunctuation Gets whether to hang punctuation symbols on the right


margin when the paragraph is justified.

GetHeight Gets the height of the row.

GetHidden Gets whether characters are hidden.

GetHyphenation Determines whether automatic hyphenation is enabled for the


range.

GetIcon Creates an icon from an image and a mask in an image list.

GetIconSize Gets the dimensions of images in an image list. All images in


an image list have the same dimensions.

GetImageCount Gets the number of images in an image list.

GetImageInfo Gets information about an image.

GetImageRect Gets an image's bounding rectangle.

GetImmContext Gets the Input Method Manager (IMM) input context from
the Text Object Model (TOM) host.

GetIndent Gets the indent of this row.

GetIndex Retrieves the story index of the Unit parameter at the


specified range Start character position.

GetIndex Gets the index of a story.

GetInlineObject Gets the properties of the inline object at the range active
end.

GetInPlaceContext Provides the application and document-level interfaces and


information required to support in-place activation.

GetItalic Gets whether characters are in italics.

GetItemFlags Gets the flags of an image.

GetKeepTogether Determines whether page breaks are allowed within


paragraphs.

GetKeepTogether Gets whether this row is allowed to be broken across pages.

GetKeepWithNext Determines whether page breaks are allowed between


paragraphs in the range.
T IT L E DESC RIP T IO N

GetKeepWithNext Gets whether this row should appear on the same page as
the row that follows it.

GetKerning Gets the minimum font size at which kerning occurs.

GetLanguageID Gets the language ID or language code identifier (LCID).

GetLeftIndent Retrieves the distance used to indent all lines except the first
line of a paragraph. The distance is relative to the left margin.

GetLineSpacing Retrieves the line-spacing value for the text range.

GetLineSpacingRule Retrieves the line-spacing rule for the text range.

GetLinkCount Returns the number of objects in a rich edit control that are
links.

GetLinkType Gets the link type.

GetListAlignment Retrieves the kind of alignment to use for bulleted and


numbered lists.

GetListBoxInfo Retrieves the number of items per column in a specified list


box.

GetListLevelIndex Retrieves the list level index used with paragraphs.

GetListStart Retrieves the starting value or code of a list numbering


sequence.

GetListTab Retrieves the list tab setting, which is the distance between
the first-line indent and the text on the first line. The
numbered or bulleted text is left-justified, centered, or right-
justified at the first-line indent value.

GetListType Retrieves the kind of numbering to use with paragraphs.

GetMainStory Gets the main story.

GetMathFunctionType Retrieves the math function type associated with the specified
math function name.

GetMathProperties Gets the math properties for the document.

GetMathZone Gets whether a math zone is active.

GetModWidthPairs Gets whether "decrease widths on pairs" is active.

GetModWidthSpace Gets whether "increase width of whitespace" is active.

GetMUILanguage Gets the language currently in use by the common controls


for a particular process.
T IT L E DESC RIP T IO N

GetName Gets the file name of this document. This is the


ITextDocument default property.

GetName Gets the font name.

GetNestLevel Gets the nest level of a table.

GetNewStorage Provides storage for a new object pasted from the clipboard
or read in from an Rich Text Format (RTF) stream.

GetNewStory Gets a new story.

GetNoLineNumber Determines whether paragraph numbering is enabled.

GetNotificationMode Gets the notification mode.

GetObject Retrieves information, stored in a REOBJECT structure, about


an object in a rich edit control.

GetObjectCount Returns the number of objects currently contained in a rich


edit control.

GetOldNumbers Gets whether old-style numbers are active.

GetOriginalSize Gets the original size of a specified image.

GetOutline Gets whether characters are displayed as outlined characters.

GetOverlapping Gets whether overlapping text is active.

GetOverlayImage Retrieves a specified image from the list of images used as


overlay masks.

GetPageBreakBefore Determines whether each paragraph in the range must begin


on a new page.

GetPara Gets an ITextPara object with the paragraph attributes of the


specified range.

GetPara2 Gets an ITextPara2 object with the paragraph attributes of a


range.

GetPoint Retrieves screen coordinates for the start or end character


position in the text range, along with the intra-line position.

GetPosition Gets the amount that characters are offset vertically relative
to the baseline.

GetPositionSubSuper Gets the subscript or superscript position relative to the


baseline.
T IT L E DESC RIP T IO N

GetPreferredFont Retrieves the preferred font for a particular character


repertoire and character position.

GetProperty Retrieves the value of a property.

GetProperty Gets the value of the specified property.

GetProperty Gets the value of the specified property.

GetProperty Gets the value of a property.

GetProperty Gets the value of the specified property.

GetProperty Gets the value of the specified property.

GetPropertyInfo Gets the property type and value of the specified extra
propety.

GetPropertyOverrideValue Retrieves the host container's override value for the specified
Microsoft UI Automation accessibility property of a
windowless rich edit control.

GetProtected Gets whether characters are protected against attempts to


modify them.

GetRange Gets a text range object for the story.

GetRect Retrieves a rectangle of the specified type for the current


range.

GetRightIndent Retrieves the size of the right margin indent of a paragraph.

GetRow Gets the row properties in the currently selected row.

GetRTL Gets whether this row has right-to-left orientation.

GetSaved Gets a value that indicates whether changes have been made
since the file was last saved.

GetScaling Gets the font horizontal scaling percentage.

GetScrollBarInfo The GetScrollBarInfo function retrieves information about the


specified scroll bar.

GetScrollInfo The GetScrollInfo function retrieves the parameters of a scroll


bar, including the minimum and maximum scrolling positions,
the page size, and the position of the scroll box (thumb).

GetScrollPos The GetScrollPos function retrieves the current position of the


scroll box (thumb) in the specified scroll bar.
T IT L E DESC RIP T IO N

GetScrollRange The GetScrollRange function retrieves the current minimum


and maximum scroll box (thumb) positions for the specified
scroll bar.

GetSelection Gets the active selection.

GetSelection2 Gets the active selection.

GetShadow Gets whether characters are displayed as shadowed


characters.

GetSize Gets the font size.

GetSmallCaps Gets whether characters are in small capital letters.

GetSnapToGrid Gets whether paragraph lines snap to a vertical grid that


could be defined for the whole document.

GetSpaceAfter Retrieves the amount of vertical space below a paragraph.

GetSpaceBefore Retrieves the amount of vertical space above a paragraph.

GetSpaceExtension Gets the East Asian space extension value.

GetSpacing Gets the amount of horizontal spacing between characters.

GetStart Gets the start character position of the range.

GetStartPara Gets the character position of the start of the paragraph that
contains the range's start character position.

GetStatistics Gets an image list statistics structure.

GetStory Retrieves the story that corresponds to a particular index.

GetStoryCount Gets the count of stories in this document.

GetStoryLength Gets the count of characters in the range's story.

GetStoryRanges Gets the story collection object used to enumerate the stories
in a document.

GetStoryRanges2 Gets an object for enumerating the stories in a document.

GetStoryType Get the type of the range's story.

GetStrikeThrough Gets whether characters are displayed with a horizontal line


through the center.

GetStrings Gets a collection of rich-text strings.


T IT L E DESC RIP T IO N

GetStyle Gets the character style handle of the characters in a range.

GetStyle Retrieves the style handle to the paragraphs in the specified


range.

GetSubrange Retrieves a subrange in a range.

GetSubscript Gets whether characters are displayed as subscript.

GetSuperscript Gets whether characters are displayed as superscript.

GetTab Retrieves tab parameters (displacement, alignment, and leader


style) for a specified tab.

GetTabCount Retrieves the tab count.

GetTable Gets the table properties in the currently selected table.

GetText Gets the plain text in this range. The Text property is the
default property of the ITextRange interface.

GetText Gets the text in a story according to the specified conversion


flags.

GetText2 Gets the text in this range according to the specified


conversion flags.

GetThemeAnimationProperty Gets a theme animation property based on the storyboard id


and the target id.

GetThemeAnimationTransform Gets an animation transform operation based on storyboard


id, target id and transform index.

GetThemeAppProperties Retrieves the property flags that control how visual styles are
applied in the current application.

GetThemeBackgroundContentRect Retrieves the size of the content area for the background
defined by the visual style.

GetThemeBackgroundExtent Calculates the size and location of the background, defined by


the visual style, given the content area.

GetThemeBackgroundRegion Computes the region for a regular or partially transparent


background that is bounded by a specified rectangle.

GetThemeBitmap Retrieves the bitmap associated with a particular theme, part,


state, and property.

GetThemeBool Retrieves the value of a BOOL property from the SysMetrics


section of theme data.

GetThemeColor Retrieves the value of a color property.


T IT L E DESC RIP T IO N

GetThemeDocumentationProperty Retrieves the value for a theme property from the


documentation section of the specified theme file.

GetThemeEnumValue Retrieves the value of an enumerated type property.

GetThemeFilename Retrieves the value of a filename property.

GetThemeFont Retrieves the value of a font property.

GetThemeInt Retrieves the value of an int property.

GetThemeIntList Retrieves a list of int data from a visual style.

GetThemeMargins Retrieves the value of a MARGINS property.

GetThemeMetric Retrieves the value of a metric property.

GetThemePartSize Calculates the original size of the part defined by a visual


style.

GetThemePosition Retrieves the value of a position property.

GetThemePropertyOrigin Retrieves the location of the theme property definition for a


property.

GetThemeRect Retrieves the value of a RECT property.

GetThemeStream Retrieves a data stream corresponding to a specified theme,


starting from a specified part, state, and property.

GetThemeString Retrieves the value of a string property.

GetThemeSysBool Retrieves the Boolean value of a system metric.

GetThemeSysColor Retrieves the value of a system color.

GetThemeSysColorBrush Retrieves a system color brush.

GetThemeSysFont Retrieves the LOGFONT of a system font.

GetThemeSysInt Retrieves the value of a system int.

GetThemeSysSize Retrieves the value of a system size metric from theme data.

GetThemeSysString Retrieves the value of a system string.

GetThemeTextExtent Calculates the size and location of the specified text when
rendered in the visual style font.

GetThemeTextMetrics Retrieves information about the font specified by a visual style


for a particular part.
T IT L E DESC RIP T IO N

GetThemeTimingFunction Gets a predefined timing function based on a timing function


identifier.

GetThemeTransitionDuration Gets the duration for the specified transition.

GetTrimPunctuationAtStart Gets whether to trim the leading space of a punctuation


symbol at the start of a line.

GetType Gets the type of text selection.

GetType Gets this story's type.

GetTypographyOptions Gets the typography options.

GetUnderline Gets the type of underlining for the characters in a range.

GetUnderlinePositionMode Gets the underline position mode.

GetURL Returns the URL text associated with a range.

GetVersion Gets the version number of the Text Object Model (TOM)
engine.

GetWeight Gets the font weight for the characters in a range.

GetWidowControl Retrieves the widow and orphan control state for the
paragraphs in a range.

GetWindow Gets the handle of the window that the Text Object Model
(TOM) engine is using to display output.

GetWindowTheme Retrieves a theme handle to a window that has visual styles


applied.

HANDLE_WM_NOTIFY Calls a function that processes the WM_NOTIFY message.

HandsOffStorage Indicates when a rich edit control is to release its reference to


the storage interface associated with the specified object. This
call does not call the object's IRichEditOle::HandsOffStorage
method; the caller must do that.

Header_ClearAllFilters Clears all of the filters for a given header control. You can use
this macro or send the HDM_CLEARFILTER message explicitly.

Header_ClearFilter Clears the filter for a given header control. You can use this
macro or send the HDM_CLEARFILTER message explicitly.

Header_CreateDragImage Creates a transparent version of an item image within an


existing header control. You can use this macro or send the
HDM_CREATEDRAGIMAGE message explicitly.

Header_DeleteItem Deletes an item from a header control. You can use this macro
or send the HDM_DELETEITEM message explicitly.
T IT L E DESC RIP T IO N

Header_EditFilter Moves the input focus to the edit box when a filter button
has the focus.

Header_GetBitmapMargin Gets the width of the margin (in pixels) of a bitmap in an


existing header control. You can use this macro or send the
HDM_GETBITMAPMARGIN message explicitly.

Header_GetFocusedItem Gets the item in a header control that has the focus. Use this
macro or send the HDM_GETFOCUSEDITEM message
explicitly.

Header_GetImageList Gets the handle to the image list that has been set for an
existing header control. You can use this macro or send the
HDM_GETIMAGELIST message explicitly.

Header_GetItem Gets information about an item in a header control. You can


use this macro or send the HDM_GETITEM message explicitly.

Header_GetItemCount Gets a count of the items in a header control. You can use this
macro or send the HDM_GETITEMCOUNT message explicitly.

Header_GetItemDropDownRect Gets the coordinates of the drop-down button for a specified


item in a header control. The header control must be of type
HDF_SPLITBUTTON. Use this macro or send the
HDM_GETITEMDROPDOWNRECT message explicitly.

Header_GetItemRect Gets the bounding rectangle for a given item in a header


control. You can use this macro or send the
HDM_GETITEMRECT message explicitly.

Header_GetOrderArray Gets the current left-to-right order of items in a header


control. You can use this macro or send the
HDM_GETORDERARRAY message explicitly.

Header_GetOverflowRect Gets the coordinates of the drop-down overflow area for a


specified header control. The header control must be of type
HDF_SPLITBUTTON. Use this macro or send the
HDM_GETOVERFLOWRECT message explicitly.

Header_GetStateImageList Gets the handle to the image list that has been set for an
existing header control state.

Header_GetUnicodeFormat Gets the Unicode character format flag for the control. You
can use this macro or send the HDM_GETUNICODEFORMAT
message explicitly.

Header_InsertItem Inserts a new item into a header control. You can use this
macro or send the HDM_INSERTITEM message explicitly.

Header_Layout Retrieves the correct size and position of a header control


within the parent window. You can use this macro or send the
HDM_LAYOUT message explicitly.
T IT L E DESC RIP T IO N

Header_OrderToIndex Retrieves an index value for an item based on its order in the
header control. You can use this macro or send the
HDM_ORDERTOINDEX message explicitly.

Header_SetBitmapMargin Sets the width of the margin for a bitmap in an existing


header control. You can use this macro or send the
HDM_SETBITMAPMARGIN message explicitly.

Header_SetFilterChangeTimeout Sets the timeout interval between the time a change takes
place in the filter attributes and the posting of an
HDN_FILTERCHANGE notification. You can use this macro or
send the HDM_SETFILTERCHANGETIMEOUT message
explicitly.

Header_SetFocusedItem Sets the focus to a specified item in a header control. Use this
macro or send the HDM_SETFOCUSEDITEM message
explicitly.

Header_SetHotDivider Changes the color of a divider between header items to


indicate the destination of an external drag-and-drop
operation. You can use this macro or send the
HDM_SETHOTDIVIDER message explicitly.

Header_SetImageList Assigns an image list to an existing header control. You can


use this macro or send the HDM_SETIMAGELIST message
explicitly.

Header_SetItem Sets the attributes of the specified item in a header control.


You can use this macro or send the HDM_SETITEM message
explicitly.

Header_SetOrderArray Sets the left-to-right order of header items. You can use this
macro or send the HDM_SETORDERARRAY message explicitly.

Header_SetStateImageList Assigns an image list to an existing header control state.

Header_SetUnicodeFormat Sets the UNICODE character format flag for the control.

HexToUnicode Converts and replaces the hexadecimal number at the end of


this range to a Unicode character.

HIMAGELIST_QueryInterface Retrieves a pointer to an IImageList or IImageList2 object that


corresponds to the image list's HIMAGELIST handle.

HitTestThemeBackground Retrieves a hit test code for a point in the background


specified by a visual style.

HomeKey Generalizes the functionality of the Home key.

HyphenateProc The HyphenateProc function is an application–defined callback


function used with the EM_SETHYPHENATEINFO message. It
determines how hyphenation is done in a Microsoft Rich Edit
control.

ImageList_Add Adds an image or images to an image list.


T IT L E DESC RIP T IO N

ImageList_AddIcon Adds an icon or cursor to an image list. ImageList_AddIcon


calls the ImageList_ReplaceIcon function.

ImageList_AddMasked Adds an image or images to an image list, generating a mask


from the specified bitmap.

ImageList_BeginDrag Begins dragging an image.

ImageList_CoCreateInstance Creates a single instance of an imagelist and returns an


interface pointer to it.

ImageList_Copy Copies images within a given image list.

ImageList_Create Creates a new image list.

ImageList_Destroy Destroys an image list.

ImageList_DragEnter Displays the drag image at the specified position within the
window.

ImageList_DragLeave Unlocks the specified window and hides the drag image,
allowing the window to be updated.

ImageList_DragMove Moves the image that is being dragged during a drag-and-


drop operation. This function is typically called in response to
a WM_MOUSEMOVE message.

ImageList_DragShowNolock Shows or hides the image being dragged.

ImageList_Draw Draws an image list item in the specified device context.

ImageList_DrawEx Draws an image list item in the specified device context. The
function uses the specified drawing style and blends the
image with the specified color.

ImageList_DrawIndirect Draws an image list image based on an


IMAGELISTDRAWPARAMS structure.

ImageList_Duplicate Creates a duplicate of an existing image list.

ImageList_EndDrag Ends a drag operation.

ImageList_ExtractIcon Calls the ImageList_GetIcon function to create an icon or


cursor based on an image and mask in an image list.

ImageList_GetBkColor Retrieves the current background color for an image list.

ImageList_GetDragImage Retrieves the temporary image list that is used for the drag
image. The function also retrieves the current drag position
and the offset of the drag image relative to the drag position.
T IT L E DESC RIP T IO N

ImageList_GetIcon Creates an icon from an image and mask in an image list.

ImageList_GetIconSize Retrieves the dimensions of images in an image list. All images


in an image list have the same dimensions.

ImageList_GetImageCount Retrieves the number of images in an image list.

ImageList_GetImageInfo Retrieves information about an image.

ImageList_LoadBitmap Calls the ImageList_LoadImage function to create an image


list from the specified bitmap resource.

ImageList_LoadImageA Creates an image list from the specified bitmap.

ImageList_LoadImageW Creates an image list from the specified bitmap.

ImageList_Merge Creates a new image by combining two existing images. The


function also creates a new image list in which to store the
image.

ImageList_Read Reads an image list from a stream.

ImageList_ReadEx Reads an image list from a stream, and returns an IImageList


interface to the image list.

ImageList_Remove Removes an image from an image list.

ImageList_RemoveAll Calls the ImageList_Remove function to remove all of the


images from an image list.

ImageList_Replace Replaces an image in an image list with a new image.

ImageList_ReplaceIcon Replaces an image with an icon or cursor.

ImageList_SetBkColor Sets the background color for an image list. This function only
works if you add an icon or use ImageList_AddMasked with a
black and white bitmap. Without a mask, the entire image is
drawn; hence the background color is not visible.

ImageList_SetDragCursorImage Creates a new drag image by combining the specified image


(typically a mouse cursor image) with the current drag image.

ImageList_SetIconSize Sets the dimensions of images in an image list and removes


all images from the list.

ImageList_SetImageCount Resizes an existing image list.

ImageList_SetOverlayImage Adds a specified image to the list of images to be used as


overlay masks. An image list can have up to four overlay
masks in version 4.70 and earlier and up to 15 in version
4.71. The function assigns an overlay mask index to the
specified image.
T IT L E DESC RIP T IO N

ImageList_Write Writes an image list to a stream.

ImageList_WriteEx Writes an image list to a stream.

ImportDataObject Imports a clipboard object into a rich edit control, replacing


the current selection.

INDEXTOOVERLAYMASK Prepares the index of an overlay mask so that the


ImageList_Draw function can use it.

INDEXTOSTATEIMAGEMASK Prepares the index of a state image so that a tree-view


control or list-view control can use the index to retrieve the
state image for an item.

InitCommonControls Registers and initializes certain common control window


classes. This function is obsolete. New applications should use
the InitCommonControlsEx function.

InitCommonControlsEx Ensures that the common control DLL (Comctl32.dll) is


loaded, and registers specific common control classes from
the DLL. An application must call this function before creating
a common control.

Initialize Initializes an image list.

InitializeFlatSB Initializes flat scroll bars for a particular window.

InitMUILanguage Enables an application to specify a language to be used with


the common controls that is different from the system
language.

InPlaceDeactivate Indicates when a rich edit control is to deactivate the currently


active in-place object, if any.

InRange Determines whether this range is within or at the same text as


a specified range.

Insert Inserts a row, or rows, at the location identified by the


associated ITextRange2 object.

InsertImage Inserts an image into this range.

InsertNullStr Inserts a NULL string in the collection at a selected string


index.

InsertObject Inserts an object into a rich edit control.

InsertTable Inserts a table in a range.

InStory Determines whether this range's story is the same as a


specified range's story.
T IT L E DESC RIP T IO N

IsAppThemed Reports whether the current application's user interface


displays using visual styles.

IsCompositionActive Determines whether Desktop Window Manager (DWM)


composition effects are available to the theme.

IsDlgButtonChecked The IsDlgButtonChecked function determines whether a


button control is checked or whether a three-state button
control is checked, unchecked, or indeterminate.

IsEqual Determines whether this text font object has the same
properties as the specified text font object.

IsEqual Determines if the current range has the same properties as a


specified range.

IsEqual Determines whether this range has the same character


positions and story as those of a specified range.

IsEqual Compares two table rows to determine if they have the same
properties.

IsEqual2 Determines whether this text font object has the same
properties as the specified text font object.

IsEqual2 Determines whether this text paragraph object has the same
properties as the specified text paragraph object.

IsThemeActive Tests if a visual style for the current application is active.

IsThemeBackgroundPartiallyTransparent Retrieves whether the background specified by the visual style


has transparent pieces or alpha-blended pieces.

IsThemeDialogTextureEnabled Reports whether a specified dialog window supports


background texturing.

IsThemePartDefined Retrieves whether a visual style has defined parameters for


the specified part and state.

IsVisible Indicates whether a windowless rich edit control is currently


visible.

Item Retrieves an ITextRange object for the Indexth story in this


story collection.

Item Gets an ITextRange2 object for a selected index in a string


collection.

Item2 Gets an ITextRange2 object for a story, by index, in a stories


collection.

LBItemFromPt Retrieves the index of the item at the specified point in a list
box.
T IT L E DESC RIP T IO N

Linearize Translates the built-up math, ruby, and other inline objects in
this range to linearized form.

ListBox_AddItemData Adds item data to the list box at the specified location. You
can use this macro or send the LB_ADDSTRING message
explicitly.

ListBox_AddString Adds a string to a list box.

ListBox_DeleteString Deletes the item at the specified location in a list box. You can
use this macro or send the LB_DELETESTRING message
explicitly.

ListBox_Dir Adds names to the list displayed by a list box.

ListBox_Enable Enables or disables a list box control.

ListBox_FindItemData Finds the first item in a list box that has the specified item
data. You can use this macro or send the LB_FINDSTRING
message explicitly.

ListBox_FindString Finds the first string in a list box that begins with the specified
string. You can use this macro or send the LB_FINDSTRING
message explicitly.

ListBox_FindStringExact Finds the first list box string that exactly matches the specified
string, except that the search is not case sensitive. You can use
this macro or send the LB_FINDSTRINGEXACT message
explicitly.

ListBox_GetCaretIndex Retrieves the index of the list box item that has the focus
rectangle in a multiple-selection list box. The item may or may
not be selected. You can use this macro or send the
LB_GETCARETINDEX message explicitly.

ListBox_GetCount Gets the number of items in a list box. You can use this macro
or send the LB_GETCOUNT message explicitly.

ListBox_GetCurSel Gets the index of the currently selected item in a single-


selection list box. You can use this macro or send the
LB_GETCURSEL message explicitly.

ListBox_GetHorizontalExtent Gets the width that a list box can be scrolled horizontally (the
scrollable width) if the list box has a horizontal scroll bar. You
can use this macro or send the LB_GETHORIZONTALEXTENT
message explicitly.

ListBox_GetItemData Gets the application-defined value associated with the


specified list box item. You can use this macro or send the
LB_GETITEMDATA message explicitly.

ListBox_GetItemHeight Retrieves the height of items in a list box.


T IT L E DESC RIP T IO N

ListBox_GetItemRect Gets the dimensions of the rectangle that bounds a list box
item as it is currently displayed in the list box. You can use this
macro or send the LB_GETITEMRECT message explicitly.

ListBox_GetSel Gets the selection state of an item. You can use this macro or
send the LB_GETSEL message explicitly.

ListBox_GetSelCount Gets the count of selected items in a multiple-selection list


box. You can use this macro or send the LB_GETSELCOUNT
message explicitly.

ListBox_GetSelItems Gets the indexes of selected items in a multiple-selection list


box. You can use this macro or send the LB_GETSELITEMS
message explicitly.

ListBox_GetText Gets a string from a list box. You can use this macro or send
the LB_GETTEXT message explicitly.

ListBox_GetTextLen Gets the length of a string in a list box. You can use this
macro or send the LB_GETTEXTLEN message explicitly.

ListBox_GetTopIndex Gets the index of the first visible item in a list box. You can use
this macro or send the LB_GETTOPINDEX message explicitly.

ListBox_InsertItemData Inserts item data to a list box at the specified location. You
can use this macro or send the LB_INSERTSTRING message
explicitly.

ListBox_InsertString Adds a string to a list box at the specified location. You can
use this macro or send the LB_INSERTSTRING message
explicitly.

ListBox_ResetContent Removes all items from a list box. You can use this macro or
send the LB_RESETCONTENT message explicitly.

ListBox_SelectItemData Searches a list box for an item that has the specified item
data. If a matching item is found, the item is selected. You can
use this macro or send the LB_SELECTSTRING message
explicitly.

ListBox_SelectString Searches a list box for an item that begins with the characters
in a specified string. If a matching item is found, the item is
selected. You can use this macro or send the
LB_SELECTSTRING message explicitly.

ListBox_SelItemRange Selects or deselects one or more consecutive items in a


multiple-selection list box. You can use this macro or send the
LB_SELITEMRANGE message explicitly.

ListBox_SetCaretIndex Sets the focus rectangle to the item at the specified index in a
multiple-selection list box. If the item is not visible, it is
scrolled into view. You can use this macro or send the
LB_SETCARETINDEX message explicitly.
T IT L E DESC RIP T IO N

ListBox_SetColumnWidth Sets the width of all columns in a multiple-column list box.


You can use this macro or send the LB_SETCOLUMNWIDTH
message explicitly.

ListBox_SetCurSel Sets the currently selected item in a single-selection list box.


You can use this macro or send the LB_SETCURSEL message
explicitly.

ListBox_SetHorizontalExtent Set the width by which a list box can be scrolled horizontally
(the scrollable width).

ListBox_SetItemData Sets the application-defined value associated with the


specified list box item. You can use this macro or send the
LB_SETITEMDATA message explicitly.

ListBox_SetItemHeight Sets the height of items in a list box.

ListBox_SetSel Selects or deselects an item in a multiple-selection list box.


You can use this macro or send the LB_SETSEL message
explicitly.

ListBox_SetTabStops Sets the tab-stop positions in a list box. You can use this
macro or send the LB_SETTABSTOPS message explicitly.

ListBox_SetTopIndex Ensures that the specified item in a list box is visible. You can
use this macro or send the LB_SETTOPINDEX message
explicitly.

ListView_ApproximateViewRect Calculates the approximate width and height required to


display a given number of items. You can use this macro or
send the LVM_APPROXIMATEVIEWRECT message explicitly.

ListView_Arrange Arranges items in icon view. You can use this macro or send
the LVM_ARRANGE message explicitly.

ListView_CancelEditLabel Cancels an item text editing operation. You can use this macro
or send the LVM_CANCELEDITLABEL message explicitly.

ListView_CreateDragImage Creates a drag image list for the specified item. You can use
this macro or send the LVM_CREATEDRAGIMAGE message
explicitly.

ListView_DeleteAllItems Removes all items from a list-view control. You can use this
macro or send the LVM_DELETEALLITEMS message explicitly.

ListView_DeleteColumn Removes a column from a list-view control. You can use this
macro or send the LVM_DELETECOLUMN message explicitly.

ListView_DeleteItem Removes an item from a list-view control. You can use this
macro or send the LVM_DELETEITEM message explicitly.

ListView_EditLabel Begins in-place editing of the specified list-view item's text.


The message implicitly selects and focuses the specified item.
You can use this macro or send the LVM_EDITLABEL message
explicitly.
T IT L E DESC RIP T IO N

ListView_EnableGroupView Enables or disables whether the items in a list-view control


display as a group. You can use this macro or send the
LVM_ENABLEGROUPVIEW message explicitly.

ListView_EnsureVisible Ensures that a list-view item is either entirely or partially


visible, scrolling the list-view control if necessary. You can use
this macro or send the LVM_ENSUREVISIBLE message
explicitly.

ListView_FindItem Searches for a list-view item with the specified characteristics.


You can use this macro or send the LVM_FINDITEM message
explicitly.

ListView_GetBkColor Gets the background color of a list-view control. You can use
this macro or send the LVM_GETBKCOLOR message explicitly.

ListView_GetBkImage Gets the background image in a list-view control. You can use
this macro or send the LVM_GETBKIMAGE message explicitly.

ListView_GetCallbackMask Gets the callback mask for a list-view control. You can use this
macro or send the LVM_GETCALLBACKMASK message
explicitly.

ListView_GetCheckState Determines if an item in a list-view control is selected. This


should be used only for list-view controls that have the
LVS_EX_CHECKBOXES style.

ListView_GetColumn Gets the attributes of a list-view control's column. You can use
this macro or send the LVM_GETCOLUMN message explicitly.

ListView_GetColumnOrderArray Gets the current left-to-right order of columns in a list-view


control. You can use this macro or send the
LVM_GETCOLUMNORDERARRAY message explicitly.

ListView_GetColumnWidth Gets the width of a column in report or list view. You can use
this macro or send the LVM_GETCOLUMNWIDTH message
explicitly.

ListView_GetCountPerPage Calculates the number of items that can fit vertically in the
visible area of a list-view control when in list or report view.
Only fully visible items are counted. You can use this macro or
send the LVM_GETCOUNTPERPAGE message explicitly.

ListView_GetEditControl Gets the handle to the edit control being used to edit a list-
view item's text. You can use this macro or send the
LVM_GETEDITCONTROL message explicitly.

ListView_GetEmptyText Gets the text meant for display when the list-view control
appears empty. Use this macro or send the
LVM_GETEMPTYTEXT message explicitly.
T IT L E DESC RIP T IO N

ListView_GetExtendedListViewStyle Gets the extended styles that are currently in use for a given
list-view control. You can use this macro or send the
LVM_GETEXTENDEDLISTVIEWSTYLE message explicitly.

ListView_GetFocusedGroup Gets the group that has the focus. Use this macro or send the
LVM_GETFOCUSEDGROUP message explicitly.

ListView_GetFooterInfo Gets information on the footer of a specified list-view control.


Use this macro or send the LVM_GETFOOTERINFO message
explicitly.

ListView_GetFooterItem Gets information on a footer item for a specified list-view


control. Use this macro or send the LVM_GETFOOTERITEM
message explicitly.

ListView_GetFooterItemRect Gets the coordinates of a footer for a specified item in a list-


view control. Use this macro or send the
LVM_GETFOOTERITEMRECT message explicitly.

ListView_GetFooterRect Gets the coordinates of the footer for a specified list-view


control. Use this macro or send the LVM_GETFOOTERRECT
message explicitly.

ListView_GetGroupCount Gets the number of groups. You can use this macro or send
the LVM_GETGROUPCOUNT message explicitly.

ListView_GetGroupHeaderImageList Gets the group header image list that has been set for an
existing list-view control.

ListView_GetGroupInfo Gets group information. You can use this macro or send the
LVM_GETGROUPINFO message explicitly.

ListView_GetGroupInfoByIndex Gets information on a specified group. Use this macro or send


the LVM_GETGROUPINFOBYINDEX message explicitly.

ListView_GetGroupMetrics Gets information about the display of groups. You can use
this macro or send the LVM_GETGROUPMETRICS message
explicitly.

ListView_GetGroupRect Gets the rectangle for a specified group. Use this macro or
send the LVM_GETGROUPRECT message explicitly.

ListView_GetGroupState Gets the state for a specified group. Use this macro or send
the LVM_GETGROUPSTATE message explicitly.

ListView_GetHeader Gets the handle to the header control used by a list-view


control. You can use this macro or send the LVM_GETHEADER
message explicitly.

ListView_GetHotCursor Gets the HCURSOR used when the pointer is over an item
while hot tracking is enabled. You can use this macro or send
the LVM_GETHOTCURSOR message explicitly.

ListView_GetHotItem Gets the index of the hot item. You can use this macro or
send the LVM_GETHOTITEM message explicitly.
T IT L E DESC RIP T IO N

ListView_GetHoverTime Gets the amount of time that the mouse cursor must hover
over an item before it is selected. You can use this macro or
send the LVM_GETHOVERTIME message explicitly.

ListView_GetImageList Gets the handle to an image list used for drawing list-view
items. You can use this macro or send the
LVM_GETIMAGELIST message explicitly.

ListView_GetInsertMark Gets the position of the insertion point. You can use this
macro or send the LVM_GETINSERTMARK message explicitly.

ListView_GetInsertMarkColor Gets the color of the insertion point. You can use this macro
or send the LVM_GETINSERTMARKCOLOR message explicitly.

ListView_GetInsertMarkRect Gets the rectangle that bounds the insertion point. You can
use this macro or send the LVM_GETINSERTMARKRECT
message explicitly.

ListView_GetISearchString Gets the incremental search string of a list-view control. You


can use this macro or send the LVM_GETISEARCHSTRING
message explicitly.

ListView_GetItem Gets some or all of a list-view item's attributes. You can use
this macro or send the LVM_GETITEM message explicitly.

ListView_GetItemCount Gets the number of items in a list-view control. You can use
this macro or send the LVM_GETITEMCOUNT message
explicitly.

ListView_GetItemIndexRect Gets the bounding rectangle for all or part of a subitem in the
current view of a specified list-view control. Use this macro or
send the LVM_GETITEMINDEXRECT message explicitly.

ListView_GetItemPosition Gets the position of a list-view item. You can use this macro or
explicitly send the LVM_GETITEMPOSITION message.

ListView_GetItemRect Gets the bounding rectangle for all or part of an item in the
current view. You can use this macro or send the
LVM_GETITEMRECT message explicitly.

ListView_GetItemSpacing Determines the spacing between items in a list-view control.


You can use this macro or send the LVM_GETITEMSPACING
message explicitly.

ListView_GetItemState Gets the state of a list-view item. You can use this macro or
send the LVM_GETITEMSTATE message explicitly.

ListView_GetItemText Gets the text of a list-view item or subitem. You can use this
macro or send the LVM_GETITEMTEXT message explicitly.
T IT L E DESC RIP T IO N

ListView_GetNextItem Searches for a list-view item that has the specified properties
and bears the specified relationship to a specified item. You
can use this macro or send the LVM_GETNEXTITEM message
explicitly.

ListView_GetNextItemIndex Gets the index of the item in a particular list-view control that
has the specified properties and relationship to another
specific item. Use this macro or send the
LVM_GETNEXTITEMINDEX message explicitly.

ListView_GetNumberOfWorkAreas Gets the number of working areas in a list-view control. You


can use this macro or send the
LVM_GETNUMBEROFWORKAREAS message explicitly.

ListView_GetOrigin Gets the current view origin for a list-view control. You can
use this macro or send the LVM_GETORIGIN message
explicitly.

ListView_GetOutlineColor Gets the color of the border of a list-view control if the


LVS_EX_BORDERSELECT extended window style is set. You can
use this macro or send the LVM_GETOUTLINECOLOR
message explicitly.

ListView_GetSelectedColumn Gets an integer that specifies the selected column. You can
use this macro or send the LVM_GETSELECTEDCOLUMN
message explicitly.

ListView_GetSelectedCount Determines the number of selected items in a list-view


control. You can use this macro or send the
LVM_GETSELECTEDCOUNT message explicitly.

ListView_GetSelectionMark Gets the selection mark from a list-view control. You can use
this macro or explicitly send the LVM_GETSELECTIONMARK
message.

ListView_GetStringWidth Determines the width of a specified string using the specified


list-view control's current font. You can use this macro or send
the LVM_GETSTRINGWIDTH message explicitly.

ListView_GetSubItemRect Gets information about the rectangle that surrounds a


subitem in a list-view control.

ListView_GetTextBkColor Gets the text background color of a list-view control. You can
use this macro or send the LVM_GETTEXTBKCOLOR message
explicitly.

ListView_GetTextColor Gets the text color of a list-view control. You can use this
macro or send the LVM_GETTEXTCOLOR message explicitly.

ListView_GetTileInfo Gets information about a tile in a list-view control. You can


use this macro or send the LVM_GETTILEINFO message
explicitly.
T IT L E DESC RIP T IO N

ListView_GetTileViewInfo Gets information about a list-view control in tile view. You can
use this macro or send the LVM_GETTILEVIEWINFO message
explicitly.

ListView_GetToolTips Gets the tooltip control that the list-view control uses to
display tooltips. You can use this macro or send the
LVM_GETTOOLTIPS message explicitly.

ListView_GetTopIndex Gets the index of the topmost visible item when in list or
report view. You can use this macro or send the
LVM_GETTOPINDEX message explicitly.

ListView_GetUnicodeFormat Gets the Unicode character format flag for the control. You
can use this macro or send the LVM_GETUNICODEFORMAT
message explicitly.

ListView_GetView Gets the current view of a list-view control. You can use this
macro or send the LVM_GETVIEW message explicitly.

ListView_GetViewRect Gets the bounding rectangle of all items in the list-view


control. The list view must be in icon or small icon view. You
can use this macro or send the LVM_GETVIEWRECT message
explicitly.

ListView_GetWorkAreas Gets the working areas from a list-view control. You can use
this macro, or send the LVM_GETWORKAREAS message
explicitly.

ListView_HasGroup Determines whether the list-view control has a specified


group. You can use this macro or send the LVM_HASGROUP
message explicitly.

ListView_HitTest Determines which list-view item, if any, is at a specified


position. You can use this macro or send the LVM_HITTEST
message explicitly.

ListView_HitTestEx Determines which list-view item, if any, is at a specified


position. You can use this macro or send the LVM_HITTEST
message explicitly.

ListView_InsertColumn Inserts a new column in a list-view control. You can use this
macro or send the LVM_INSERTCOLUMN message explicitly.

ListView_InsertGroup Inserts a group into a list-view control. You can use this macro
or send the LVM_INSERTGROUP message explicitly.

ListView_InsertGroupSorted Inserts a group into an ordered list of groups. You can use
this macro or send the LVM_INSERTGROUPSORTED message
explicitly.

ListView_InsertItem Inserts a new item in a list-view control. You can use this
macro or send the LVM_INSERTITEM message explicitly.
T IT L E DESC RIP T IO N

ListView_InsertMarkHitTest Retrieves the insertion point closest to a specified point. You


can use this macro or send the LVM_INSERTMARKHITTEST
message explicitly.

ListView_IsGroupViewEnabled Checks whether the list-view control has group view enabled.
You can use this macro or send the
LVM_ISGROUPVIEWENABLED message explicitly.

ListView_IsItemVisible Indicates whether an item in the list-view control is visible.


Use this macro or send the LVM_ISITEMVISIBLE message
explicitly.

ListView_MapIDToIndex Maps the ID of an item to an index. You can use this macro or
send the LVM_MAPIDTOINDEX message explicitly.

ListView_MapIndexToID Maps the index of an item to a unique ID. You can use this
macro or send the LVM_MAPINDEXTOID message explicitly.

ListView_MoveGroup This macro is not implemented.

ListView_MoveItemToGroup This macro is not implemented.

ListView_RedrawItems Forces a list-view control to redraw a range of items. You can


use this macro or send the LVM_REDRAWITEMS message
explicitly.

ListView_RemoveAllGroups Removes all groups from a list-view control. You can use this
macro or send the LVM_REMOVEALLGROUPS message
explicitly.

ListView_RemoveGroup Removes a group from a list-view control. You can use this
macro or send the LVM_REMOVEGROUP message explicitly.

ListView_Scroll Scrolls the content of a list-view control. You can use this
macro or send the LVM_SCROLL message explicitly.

ListView_SetBkColor Sets the background color of a list-view control. You can use
this macro or send the LVM_SETBKCOLOR message explicitly.

ListView_SetBkImage Sets the background image in a list-view control. You can use
this macro or send the LVM_SETBKIMAGE message explicitly.

ListView_SetCallbackMask Changes the callback mask for a list-view control. You can use
this macro or send the LVM_SETCALLBACKMASK message
explicitly.

ListView_SetCheckState Selects or deselects an item in a list-view control. You can use


this macro or send the LVM_SETITEMSTATE message explicitly.

ListView_SetColumn Sets the attributes of a list-view column. You can use this
macro or send the LVM_SETCOLUMN message explicitly.
T IT L E DESC RIP T IO N

ListView_SetColumnOrderArray Sets the left-to-right order of columns in a list-view control.


You can use this macro or send the
LVM_SETCOLUMNORDERARRAY message explicitly.

ListView_SetColumnWidth Used to change the width of a column in report view or the


width of all columns in list-view mode. You can use this macro
or send the LVM_SETCOLUMNWIDTH message explicitly.

ListView_SetExtendedListViewStyle Sets extended styles for list-view controls. You can use this
macro or send the LVM_SETEXTENDEDLISTVIEWSTYLE
message explicitly.

ListView_SetExtendedListViewStyleEx Sets extended styles for list-view controls using the style
mask. You can use this macro or send the
LVM_SETEXTENDEDLISTVIEWSTYLE message explicitly.

ListView_SetGroupHeaderImageList Assigns an image list to the group header of a list-view


control.

ListView_SetGroupInfo Sets group information. You can use this macro or send the
LVM_SETGROUPINFO message explicitly.

ListView_SetGroupMetrics Sets information about the display of groups. You can use this
macro or send the LVM_SETGROUPMETRICS message
explicitly.

ListView_SetGroupState Sets the state for a specified group.

ListView_SetHotCursor Sets the HCURSOR that the list-view control uses when the
pointer is over an item while hot tracking is enabled. You can
use this macro or send the LVM_SETHOTCURSOR message
explicitly. To check whether hot tracking is enabled, call
SystemParametersInfo.

ListView_SetHotItem Sets the hot item in a list-view control. You can use this macro
or send the LVM_SETHOTITEM message explicitly.

ListView_SetHoverTime Sets the amount of time that the mouse cursor must hover
over an item before it is selected. You can use this macro or
send the LVM_SETHOVERTIME message explicitly.

ListView_SetIconSpacing Sets the spacing between icons in list-view controls set to the
LVS_ICON style. You can use this macro or send the
LVM_SETICONSPACING message explicitly.

ListView_SetImageList Assigns an image list to a list-view control. You can use this
macro or send the LVM_SETIMAGELIST message explicitly.

ListView_SetInfoTip Sets tooltip text. You can use this macro or send the
LVM_SETINFOTIP message explicitly.

ListView_SetInsertMark Sets the insertion point to the defined position. You can use
this macro or send the LVM_SETINSERTMARK message
explicitly.
T IT L E DESC RIP T IO N

ListView_SetInsertMarkColor Sets the color of the insertion point. You can use this macro
or send the LVM_SETINSERTMARKCOLOR message explicitly.

ListView_SetItem Sets some or all of a list-view item's attributes. You can also
use ListView_SetItem to set the text of a subitem. You can use
this macro or send the LVM_SETITEM message explicitly.

ListView_SetItemCount Causes the list-view control to allocate memory for the


specified number of items. You can use this macro or send the
LVM_SETITEMCOUNT message explicitly.

ListView_SetItemCountEx Sets the virtual number of items in a virtual list view. You can
use this macro or send the LVM_SETITEMCOUNT message
explicitly.

ListView_SetItemIndexState Sets the state of a specified list-view item. Use this macro or
send the LVM_SETITEMINDEXSTATE message explicitly.

ListView_SetItemPosition Moves an item to a specified position in a list-view control (in


icon or small icon view). You can use this macro or send the
LVM_SETITEMPOSITION message explicitly.

ListView_SetItemPosition32 Moves an item to a specified position in a list-view control (in


icon or small icon view).

ListView_SetItemState Changes the state of an item in a list-view control. You can


use this macro or send the LVM_SETITEMSTATE message
explicitly.

ListView_SetItemText Changes the text of a list-view item or subitem. You can use
this macro or send the LVM_SETITEMTEXT message explicitly.

ListView_SetOutlineColor Sets the color of the border of a list-view control if the


LVS_EX_BORDERSELECT extended window style is set. You can
use this macro or send the LVM_SETOUTLINECOLOR message
explicitly.

ListView_SetSelectedColumn Sets the index of the selected column. You can use this macro
or send the LVM_SETSELECTEDCOLUMN message explicitly.

ListView_SetSelectionMark Sets the selection mark in a list-view control. You can use this
macro or send the LVM_SETSELECTIONMARK message
explicitly.

ListView_SetTextBkColor Sets the background color of text in a list-view control. You


can use this macro or send the LVM_SETTEXTBKCOLOR
message explicitly.

ListView_SetTextColor Sets the text color of a list-view control. You can use this
macro or send the LVM_SETTEXTCOLOR message explicitly.

ListView_SetTileInfo Sets information for an existing tile of a list-view control. You


can use this macro or send the LVM_SETTILEINFO message
explicitly.
T IT L E DESC RIP T IO N

ListView_SetTileViewInfo Sets information that a list-view control uses in tile view. You
can use this macro or send the LVM_SETTILEVIEWINFO
message explicitly.

ListView_SetToolTips Sets the tooltip control that the list-view control will use to
display tooltips. You can use this macro or send the
LVM_SETTOOLTIPS message explicitly.

ListView_SetUnicodeFormat Sets the Unicode character format flag for the control.

ListView_SetView Sets the view of a list-view control. You can use this macro or
send the LVM_SETVIEW message explicitly.

ListView_SetWorkAreas Sets the working areas within a list-view control. You can use
this macro or send the LVM_SETWORKAREAS message
explicitly.

ListView_SortGroups Uses an application-defined comparison function to sort


groups by ID within a list-view control. You can use this macro
or send the LVM_SORTGROUPS message explicitly.

ListView_SortItems Uses an application-defined comparison function to sort the


items of a list-view control. The index of each item changes to
reflect the new sequence. You can use this macro or send the
LVM_SORTITEMS message explicitly.

ListView_SortItemsEx Uses an application-defined comparison function to sort the


items of a list-view control. The index of each item changes to
reflect the new sequence. You can use this macro or send the
LVM_SORTITEMSEX message explicitly.

ListView_SubItemHitTest Determines which list-view item or subitem is located at a


given position. You can use this macro or send the
LVM_SUBITEMHITTEST message explicitly.

ListView_SubItemHitTestEx Determines which list-view item or subitem is located at a


given position. You can use this macro or send the
LVM_SUBITEMHITTEST message explicitly.

ListView_Update Updates a list-view item. If the list-view control has the


LVS_AUTOARRANGE style, this macro causes the list-view
control to be arranged. You can use this macro or send the
LVM_UPDATE message explicitly.

LoadIconMetric Loads a specified icon resource with a client-specified system


metric.

LoadIconWithScaleDown Loads an icon. If the icon is not a standard size, this function
scales down a larger image instead of scaling up a smaller
image.

LPFNADDPROPSHEETPAGE Specifies an application-defined callback function that a


property sheet extension uses to add a page to a property
sheet.
T IT L E DESC RIP T IO N

LPFNPSPCALLBACKA Specifies an application-defined callback function that a


property sheet calls when a page is created and when it is
about to be destroyed. An application can use this function to
perform initialization and cleanup operations for the page.

LPFNPSPCALLBACKW Specifies an application-defined callback function that a


property sheet calls when a page is created and when it is
about to be destroyed. An application can use this function to
perform initialization and cleanup operations for the page.

MakeDragList Changes the specified single-selection list box to a drag list


box.

MAKEIPADDRESS Packs four byte-values into a single LPARAM suitable for use
with the IPM_SETADDRESS message.

MAKEIPRANGE Packs two byte-values into a single LPARAM suitable for use
with the IPM_SETRANGE message.

MenuHelp Processes WM_MENUSELECT and WM_COMMAND messages


and displays Help text about the current menu in the specified
status window.

Merge Creates a new image by combining two existing images. This


method also creates a new image list in which to store the
image.

MonthCal_GetCalendarBorder Gets the border size, in pixels, of a month calendar control.


You can use this macro or send the
MCM_GETCALENDARBORDER message explicitly.

MonthCal_GetCalendarCount Gets the number of calendars currently displayed in the


calendar control. You can use this macro or send the
MCM_GETCALENDARCOUNT message explicitly.

MonthCal_GetCalendarGridInfo Gets information about a calendar grid.

MonthCal_GetCALID Gets the current calendar ID for the given calendar control.
You can use this macro or send the MCM_GETCALID message
explicitly.

MonthCal_GetColor Retrieves the color for a given portion of a month calendar


control. You can use this macro or send the MCM_GETCOLOR
message explicitly.

MonthCal_GetCurrentView Gets the view for a month calendar control. You can use this
macro or send the MCM_GETCURRENTVIEW message
explicitly.

MonthCal_GetCurSel Retrieves the currently selected date. You can use this macro
or send the MCM_GETCURSEL message explicitly.

MonthCal_GetFirstDayOfWeek Retrieves the first day of the week for a month calendar
control. You can use this macro or send the
MCM_GETFIRSTDAYOFWEEK message explicitly.
T IT L E DESC RIP T IO N

MonthCal_GetMaxSelCount Retrieves the maximum date range that can be selected in a


month calendar control. You can use this macro or send the
MCM_GETMAXSELCOUNT message explicitly.

MonthCal_GetMaxTodayWidth Retrieves the maximum width of the "today" string in a month


calendar control. This includes the label text and the date text.
You can use this macro or send the
MCM_GETMAXTODAYWIDTH message explicitly.

MonthCal_GetMinReqRect Retrieves the minimum size required to display a full month in


a month calendar control. Size information is presented in the
form of a RECT structure. You can use this macro or send the
MCM_GETMINREQRECT message explicitly.

MonthCal_GetMonthDelta Retrieves the scroll rate for a month calendar control. The
scroll rate is the number of months that the control moves its
display when the user clicks a scroll button. You can use this
macro or send the MCM_GETMONTHDELTA message
explicitly.

MonthCal_GetMonthRange Retrieves date information (using SYSTEMTIME structures)


that represents the high and low limits of a month calendar
control's display. You can use this macro or send the
MCM_GETMONTHRANGE message explicitly.

MonthCal_GetRange Retrieves the minimum and maximum allowable dates set for
a month calendar control. You can use this macro or send the
MCM_GETRANGE message explicitly.

MonthCal_GetSelRange Retrieves date information that represents the upper and


lower limits of the date range currently selected by the user.
You can use this macro or send the MCM_GETSELRANGE
message explicitly.

MonthCal_GetToday Retrieves the date information for the date specified as


"today" for a month calendar control. You can use this macro
or send the MCM_GETTODAY message explicitly.

MonthCal_GetUnicodeFormat Retrieves the Unicode character format flag for the control.
You can use this macro or send the
MCM_GETUNICODEFORMAT message explicitly.

MonthCal_HitTest Determines which portion of a month calendar control is at a


given point on the screen. You can use this macro or send the
MCM_HITTEST message explicitly.

MonthCal_SetCalendarBorder Sets the border size, in pixels, of a month calendar control.


You can use this macro or send the
MCM_SETCALENDARBORDER message explicitly.

MonthCal_SetCALID Sets the calendar ID for the given calendar control. You can
use this macro or send the MCM_SETCALID message
explicitly.
T IT L E DESC RIP T IO N

MonthCal_SetColor Sets the color for a given portion of a month calendar control.
You can use this macro or send the MCM_SETCOLOR
message explicitly.

MonthCal_SetCurrentView Sets the view for a month calendar control. You can use this
macro or send the MCM_SETCURRENTVIEW message
explicitly.

MonthCal_SetCurSel Sets the currently selected date for a month calendar control.
If the specified date is not in view, the control updates the
display to bring it into view. You can use this macro or send
the MCM_SETCURSEL message explicitly.

MonthCal_SetDayState Sets the day states for all months that are currently visible
within a month calendar control. You can use this macro or
send the MCM_SETDAYSTATE message explicitly.

MonthCal_SetFirstDayOfWeek Sets the first day of the week for a month calendar control.
You can use this macro or send the
MCM_SETFIRSTDAYOFWEEK message explicitly.

MonthCal_SetMaxSelCount Sets the maximum number of days that can be selected in a


month calendar control. You can use this macro or send the
MCM_SETMAXSELCOUNT message explicitly.

MonthCal_SetMonthDelta Sets the scroll rate for a month calendar control. The scroll
rate is the number of months that the control moves its
display when the user clicks a scroll button. You can use this
macro or send the MCM_SETMONTHDELTA message
explicitly.

MonthCal_SetRange Sets the minimum and maximum allowable dates for a month
calendar control. You can use this macro or send the
MCM_SETRANGE message explicitly.

MonthCal_SetSelRange Sets the selection for a month calendar control to a given


date range. You can use this macro or send the
MCM_SETSELRANGE message explicitly.

MonthCal_SetToday Sets the "today" selection for a month calendar control. You
can use this macro or send the MCM_SETTODAY message
explicitly.

MonthCal_SetUnicodeFormat Sets the Unicode character format flag for the control.

MonthCal_SizeRectToMin Calculates how many calendars will fit in the given rectangle,
and then returns the minimum size that a rectangle needs to
be to fit that number of calendars. You can use this macro or
send the MCM_SIZERECTTOMIN message explicitly.

Move Moves the insertion point forward or backward a specified


number of units. If the range is nondegenerate, the range is
collapsed to an insertion point at either end, depending on
Count, and then is moved.
T IT L E DESC RIP T IO N

MoveBoundary Moves the start boundary of a string, by index, for a selected


number of characters.

MoveDown Mimics the functionality of the Down Arrow and Page Down
keys.

MoveEnd Moves the end position of the range.

MoveEndUntil Moves the range's end to the character position of the first
character found that is in the set of characters specified by
Cset, provided that the character is found within Count
characters of the range's end.

MoveEndWhile Moves the end of the range either Count characters or just
past all contiguous characters that are found in the set of
characters specified by Cset, whichever is less.

MoveLeft Generalizes the functionality of the Left Arrow key.

MoveRight Generalizes the functionality of the Right Arrow key.

MoveStart Moves the start postion of the range the specified number of
units in the specified direction.

MoveStartUntil Moves the start position of the range the position of the first
character found that is in the set of characters specified by
Cset, provided that the character is found within Count
characters of the start position.

MoveStartWhile Moves the start position of the range either Count characters,
or just past all contiguous characters that are found in the set
of characters specified by Cset, whichever is less.

MoveUntil Searches up to Count characters for the first character in the


set of characters specified by Cset. If a character is found, the
range is collapsed to that point. The start of the search and
the direction are also specified by Count.

MoveUp Mimics the functionality of the Up Arrow and Page Up keys.

MoveWhile Starts at a specified end of a range and searches while the


characters belong to the set specified by Cset and while the
number of characters is less than or equal to Count.

New Opens a new document.

Notify Notifies the Text Object Model (TOM) engine client of


particular Input Method Editor (IME) events.

OnTxCharFormatChange Sets the default character format for the text host.

OnTxInPlaceActivate Notifies the text services object that this control is in-place
active.
T IT L E DESC RIP T IO N

OnTxInPlaceDeactivate Notifies the text services object that this control is no longer
in-place active.

OnTxParaFormatChange Sets the default paragraph format for the text host.

OnTxPropertyBitsChange Sets properties (represented by bits) for the control.

OnTxSetCursor Notifies the text services object to set the cursor.

OnTxUIActivate Informs the text services object that the control is now UI
active.

OnTxUIDeactivate Informs the text services object that the control is no longer
UI active.

Open Opens a specified document. There are parameters to specify


access and sharing privileges, creation and conversion of the
file, as well as the code page for the file.

OpenThemeData Opens the theme data for a window and its associated class.

OpenThemeDataEx Opens the theme data associated with a window for specified
theme classes.

Pager_ForwardMouse Enables or disables mouse forwarding for the pager control.


When mouse forwarding is enabled, the pager control
forwards WM_MOUSEMOVE messages to the contained
window. You can use this macro or send the
PGM_FORWARDMOUSE message explicitly.

Pager_GetBkColor Retrieves the current background color for the pager control.
You can use this macro or send the PGM_GETBKCOLOR
message explicitly.

Pager_GetBorder Retrieves the current border size for the pager control. You
can use this macro or send the PGM_GETBORDER message
explicitly.

Pager_GetButtonSize Retrieves the current button size for the pager control. You
can use this macro or send the PGM_GETBUTTONSIZE
message explicitly.

Pager_GetButtonState Retrieves the state of the specified button in a pager control.


You can use this macro or send the PGM_GETBUTTONSTATE
message explicitly.

Pager_GetDropTarget Retrieves a pager control's IDropTarget interface pointer. You


can use this macro or send the PGM_GETDROPTARGET
message explicitly.

Pager_GetPos Retrieves the current scroll position of the pager control. You
can use this macro or send the PGM_GETPOS message
explicitly.
T IT L E DESC RIP T IO N

Pager_RecalcSize Forces the pager control to recalculate the size of the


contained window. Using this macro will result in a
PGN_CALCSIZE notification being sent. You can use this macro
or send the PGM_RECALCSIZE message explicitly.

Pager_SetBkColor Sets the current background color for the pager control. You
can use this macro or send the PGM_SETBKCOLOR message
explicitly.

Pager_SetBorder Sets the current border size for the pager control. You can use
this macro or send the PGM_SETBORDER message explicitly.

Pager_SetButtonSize Sets the current button size for the pager control. You can use
this macro or send the PGM_SETBUTTONSIZE message
explicitly.

Pager_SetChild Sets the contained window for the pager control.

Pager_SetPos Sets the scroll position for the pager control. You can use this
macro or send the PGM_SETPOS message explicitly.

Pager_SetScrollInfo Sets the scrolling parameters of the pager control, including


the timeout value, the lines per timeout, and the pixels per
line. You can use this macro or send the
PGM_SETSETSCROLLINFO message explicitly.

Paste Pastes text from a specified data object.

PFNDACOMPARE Defines the prototype for the compare function used by


DSA_Sort.

PFNDACOMPARECONST Defines the prototype for the compare function used by


DSA_Sort when the items being compared are constant
objects.

PFNDAENUMCALLBACK Defines the prototype for the callback function used by


dynamic structure array (DSA) and dynamic pointer array
(DPA) functions.

PFNDAENUMCALLBACKCONST Defines the prototype for the callback function used by


dynamic structure array (DSA) and dynamic pointer array
(DPA) functions when the items involved are pointers to
constant data.

PFNDPAMERGE Defines the prototype for the merge function used by


DPA_Merge.

PFNDPAMERGECONST Defines the prototype for the merge function used by


DPA_Merge, using constant values.

PFNDPASTREAM Defines the prototype for the callback function used by


DPA_LoadStream and DPA_SaveStream.
T IT L E DESC RIP T IO N

PFNLVGROUPCOMPARE The LVGroupCompare function is an application-defined


callback function used with the LVM_INSERTGROUPSORTED
and LVM_SORTGROUPS messages.

PFNPROPSHEETCALLBACK An application-defined callback function that the system calls


when the property sheet is being created and initialized.

PFTASKDIALOGCALLBACK The TaskDialogCallbackProc function is an application-defined


function used with the TaskDialogIndirect function.

PrefixTop Prefixes a string to the top string in the collection.

PreloadImages Preloads images, as specified.

PropertySheetA Creates a property sheet and adds the pages defined in the
specified property sheet header structure.

PropertySheetW Creates a property sheet and adds the pages defined in the
specified property sheet header structure.

PropSheet_AddPage Adds a new page to the end of an existing property sheet.


You can use this macro or send the PSM_ADDPAGE message
explicitly.

PropSheet_Apply Simulates the selection of the Apply button, indicating that


one or more pages have changed and the changes need to be
validated and recorded. You can use this macro or send the
PSM_APPLY message explicitly.

PropSheet_CancelToClose Used when changes made since the most recent PSN_APPLY
notification cannot be canceled. You can also send a
PSM_CANCELTOCLOSE message explicitly.

PropSheet_Changed Informs a property sheet that information in a page has


changed. You can use this macro or send the PSM_CHANGED
message explicitly.

PropSheet_EnableWizButtons Enables or disables buttons in an Aero wizard. You can use


this macro or send the PSM_ENABLEWIZBUTTONS message
explicitly.

PropSheet_GetCurrentPageHwnd Retrieves a handle to the window of the current page of a


property sheet. You can use this macro or send the
PSM_GETCURRENTPAGEHWND message explicitly.

PropSheet_GetResult Used by modeless property sheets to retrieve the information


returned to modal property sheets by PropertySheet. You can
use this macro or sent the PSM_GETRESULT message
explicitly.

PropSheet_GetTabControl Retrieves the handle to the tab control of a property sheet.


You can use this macro or send the PSM_GETTABCONTROL
message explicitly.
T IT L E DESC RIP T IO N

PropSheet_HwndToIndex Takes a window handle of the property sheet page and


returns its zero-based index. You can use this macro or send
the PSM_HWNDTOINDEX message explicitly.

PropSheet_IdToIndex Takes the resource identifier (ID) of a property sheet page and
returns its zero-based index. You can use this macro or send
the PSM_IDTOINDEX message explicitly.

PropSheet_IndexToHwnd Takes the index of a property sheet page and returns its
window handle. You can use this macro or send the
PSM_INDEXTOHWND message explicitly.

PropSheet_IndexToId Takes the index of a property sheet page and returns its
resource identifier (ID). You can use this macro or send the
PSM_INDEXTOID message explicitly.

PropSheet_IndexToPage Takes the index of a property sheet page and returns its
HPROPSHEETPAGE handle. You can use this macro or send
the PSM_INDEXTOPAGE message explicitly.

PropSheet_InsertPage Inserts a new page into an existing property sheet. The page
can be inserted either at a specified index or after a specified
page. You can use this macro or send the PSM_INSERTPAGE
message explicitly.

PropSheet_IsDialogMessage Passes a message to a property sheet dialog box and


indicates whether the dialog box processed the message. You
can use this macro or send the PSM_ISDIALOGMESSAGE
message explicitly.

PropSheet_PageToIndex Takes the HPROPSHEETPAGE handle of a property sheet page


and returns its zero-based index. You can use this macro or
send the PSM_PAGETOINDEX message explicitly.

PropSheet_PressButton Simulates the selection of a property sheet button. You can


use this macro or send the PSM_PRESSBUTTON message
explicitly.

PropSheet_QuerySiblings Causes a property sheet to send the PSM_QUERYSIBLINGS


message to each of its pages. You can use this macro or send
the PSM_QUERYSIBLINGS message explicitly.

PropSheet_RebootSystem Indicates the system needs to be restarted for the changes to


take effect. You can use this macro or send the
PSM_REBOOTSYSTEM message explicitly.

PropSheet_RecalcPageSizes Recalculates the page size of a standard or wizard property


sheet after pages have been added or removed. You can use
this macro or send the PSM_RECALCPAGESIZES message
explicitly.

PropSheet_RemovePage Removes a page from a property sheet. You can use this
macro or send the PSM_REMOVEPAGE message explicitly.
T IT L E DESC RIP T IO N

PropSheet_RestartWindows Sends a PSM_RESTARTWINDOWS message indicating that


Windows needs to be restarted for changes to take effect. You
can use this macro or send the PSM_RESTARTWINDOWS
message explicitly.

PropSheet_SetButtonText Sets the text of a button in an Aero wizard. You can use this
macro or send the PSM_SETBUTTONTEXT message explicitly.

PropSheet_SetCurSel Activates the specified page in a property sheet. You can use
this macro or send the PSM_SETCURSEL message explicitly.

PropSheet_SetCurSelByID Activates the specified page in a property sheet based on the


resource identifier of the page. You can use this macro or send
the PSM_SETCURSELID message explicitly.

PropSheet_SetFinishText Sets the text of the Finish button in a wizard, shows and
enables the button, and hides the Next and Back buttons. You
can use this macro or send the PSM_SETFINISHTEXT message
explicitly.

PropSheet_SetHeaderSubTitle Sets the subtitle text for the header of a wizard's interior page.
You can use this macro or send the PSM_SETHEADERSUBTITLE
message explicitly.

PropSheet_SetHeaderTitle Sets the title text for the header of a wizard's interior page.
You can use this macro or send the PSM_SETHEADERTITLE
message explicitly.

PropSheet_SetNextText Sets the text of the Next button in a wizard. You can use this
macro or send the PSM_SETNEXTTEXT message explicitly.

PropSheet_SetTitle Sets the title of a property sheet. You can use this macro or
send the PSM_SETTITLE message explicitly.

PropSheet_SetWizButtons Enables or disables the Back, Next, and Finish buttons in a


wizard by posting a PSM_SETWIZBUTTONS message. You can
use this macro or send the PSM_SETWIZBUTTONS message
explicitly.

PropSheet_ShowWizButtons Show or hide buttons in a wizard. You can use this macro or
send the PSM_SHOWWIZBUTTONS message explicitly.

PropSheet_UnChanged Informs a property sheet that information in a page has


reverted to the previously saved state. You can use this macro
or send the PSM_UNCHANGED message explicitly.

QueryAcceptData During a paste operation or a drag event, determines if the


data that is pasted or dragged should be accepted.

QueryInsertObject Queries the application as to whether an object should be


inserted. The member is called when pasting and when
reading Rich Text Format (RTF).

Range Retrieves a text range object for a specified range of content


in the active story of the document.
T IT L E DESC RIP T IO N

Range2 Retrieves a new text range for the active story of the
document.

RangeFromPoint Retrieves a range for the content at or nearest to the specified


point on the screen.

RangeFromPoint2 Retrieves the degenerate range at (or nearest to) a particular


point on the screen.

Redo Performs a specified number of redo operations.

ReleaseCallManager Releases the call manager.

ReleaseImmContext Releases an Input Method Manager (IMM) input context.

Remove Removes an image from an image list.

Remove Removes a string from a string collection, starting at an index.

Replace Replaces an image in an image list with a new image.

Replace2 Replaces an image in an image list.

ReplaceFromImageList Replaces an image in one image list with an image from


another image list.

ReplaceIcon Replaces an image with an icon or cursor.

Reset Resets the character formatting to the specified values.

Reset Resets the paragraph formatting to a choice of default values.

Reset Resets a row.

Resize Resizes the current image.

Save Saves the document.

SaveCompleted Indicates when the most recent save operation has been
completed and that the rich edit control should hold onto a
different storage for the object.

ScrollBar_Enable Enables or disables a scroll bar control.

ScrollBar_GetPos Retrieves the position of the scroll box (thumb) in the specified
scroll bar.

ScrollBar_GetRange Gets the range of a scroll bar.

ScrollBar_SetPos Sets the position of the scroll box (thumb) in the specified
scroll bar and, if requested, redraws the scroll bar to reflect
the new position of the scroll box.
T IT L E DESC RIP T IO N

ScrollBar_SetRange Sets the range of a scroll bar.

ScrollBar_Show Shows or hides a scroll bar control.

ScrollDC The ScrollDC function scrolls a rectangle of bits horizontally


and vertically.

ScrollIntoView Scrolls the specified range into view.

ScrollWindow The ScrollWindow function scrolls the contents of the specified


window's client area.

ScrollWindowEx The ScrollWindowEx function scrolls the contents of the


specified window's client area.

SECOND_IPADDRESS Extracts the field 1 value from a packed IP address retrieved


with the IPM_GETADDRESS message.

Select Sets the start and end positions, and story values of the
active selection, to those of this range.

SetActive Sets the active state of a story.

SetActiveStory Sets the active story; that is, the story that receives keyboard
and mouse input.

SetActiveSubrange Makes the specified subrange the active subrange of this


range.

SetAlignment Sets the paragraph alignment.

SetAlignment Sets the horizontal alignment of a row.

SetAllCaps Sets whether the characters are all uppercase.

SetAnimation Sets the animation type.

SetAutoLigatures Sets whether support for automatic ligatures is active.

SetAutospaceAlpha Sets the East Asian "autospace alpha" state.

SetAutospaceNumeric Sets the East Asian "autospace numeric" state.

SetAutospaceParens Sets the East Asian "autospace parentheses" state.

SetBackColor Sets the background color.

SetBkColor Sets the background color for an image list.

SetBold Sets whether characters are bold.


T IT L E DESC RIP T IO N

SetCallback Sets an image list callback.

SetCaretType Sets the caret type.

SetCellAlignment Sets the vertical alignment of the active cell.

SetCellBorderColors Sets the border colors of the active cell.

SetCellBorderWidths Sets the border widths of the active cell.

SetCellColorBack Sets the background color of the active cell.

SetCellColorFore Sets the foreground color of the active cell.

SetCellCount Sets the count of cells in a row.

SetCellCountCache Sets the count of cells cached for a row.

SetCellIndex Sets the index of the active cell.

SetCellMargin Sets the cell margin of a row.

SetCellMergeFlags Sets the merge flags of the active cell.

SetCellShading Sets the shading of the active cell.

SetCellVerticalText Sets the vertical-text setting of the active cell.

SetCellWidth Sets the active cell width in twips.

SetChar Sets the character at the starting position of the range.

SetCharRep Sets the character repertoire (writing system).

SetCompressionMode Sets the East Asian compression mode.

SetCookie Sets the client cookie.

SetDefaultTabStop Sets the default tab stop, which is used when no tab exists
beyond the current display position.

SetDocumentFont Sets the default character formatting for this instance of the
Text Object Model (TOM) engine.

SetDocumentPara Sets the default paragraph formatting for this instance of the
Text Object Model (TOM) engine.

SetDoubleStrike Sets whether characters are displayed with double horizontal


lines through the center.
T IT L E DESC RIP T IO N

SetDragCursorImage Creates a new drag image by combining the specified image,


which is typically a mouse cursor image, with the current drag
image.

SetDropCap Sets the drop-cap parameters for the paragraph that contains
the current range.

SetDuplicate Sets the character formatting by copying another text font


object.

SetDuplicate Sets the formatting for an existing paragraph by copying a


given format.

SetDuplicate2 Sets the properties of this object by copying the properties of


another text font object.

SetDuplicate2 Sets the properties of this object by copying the properties of


another text paragraph object.

SetDvaspect Sets the aspect that a rich edit control uses to draw an object.
This call does not change the drawing information cached in
the object; this must be done by the caller. The call does cause
the object to be redrawn.

SetEffectColor Specifies the color to use for special text attributes.

SetEffects Sets the character format effects.

SetEffects Sets the paragraph format effects.

SetEffects2 Sets the additional character format effects.

SetEmboss Sets whether characters are embossed.

SetEnd Sets the end position of the range.

SetEngrave Sets whether characters are displayed as imprinted characters.

SetFlags Sets the text selection flags.

SetFont Sets this range's character attributes to those of the specified


ITextFont object.

SetFont2 Sets the character formatting attributes of the range.

SetFontAlignment Sets the paragraph font alignment for Chinese, Japanese,


Korean text.

SetForeColor Sets the foreground (text) color.

SetFormattedText Sets the formatted text of this range text to the formatted
text of the specified range.
T IT L E DESC RIP T IO N

SetFormattedText Replaces a story’s text with specified formatted text.

SetFormattedText Replaces text with formatted text.

SetFormattedText2 Sets the text of this range to the formatted text of the
specified range.

SetGravity Sets the gravity of this range.

SetHangingPunctuation Sets whether to hang punctuation symbols on the right


margin when the paragraph is justified.

SetHeight Sets the height of a row.

SetHidden Sets whether characters are hidden.

SetHostNames Sets the host names to be given to objects as they are


inserted to a rich edit control. The host names are used in the
user interface of servers to describe the container context of
opened objects.

SetHyphenation Controls hyphenation for the paragraphs in the range.

SetIconSize Sets the dimensions of images in an image list and removes


all images from the list.

SetImageCount Resizes an existing image list.

SetIMEInProgress Sets the state of the Input Method Editor (IME) in-progress
flag.

SetIndent Sets the indent of a row.

SetIndents Sets the first-line indent, the left indent, and the right indent
for a paragraph.

SetIndex Changes this range to the specified unit of the story.

SetInlineObject Sets or inserts the properties of an inline object for a


degenerate range.

SetItalic Sets whether characters are in italics.

SetKeepTogether Controls whether page breaks are allowed within a paragraph


in a range.

SetKeepTogether Sets whether this row is allowed to be broken across pages.

SetKeepWithNext Controls whether page breaks are allowed between the


paragraphs in a range.
T IT L E DESC RIP T IO N

SetKeepWithNext Sets whether a row should appear on the same page as the
row that follows it.

SetKerning Sets the minimum font size at which kerning occurs.

SetLanguageID Sets the language ID or language code identifier (LCID).

SetLineSpacing Sets the paragraph line-spacing rule and the line spacing for a
paragraph.

SetLinkAvailable Sets the value of the link-available bit in the object's flags.

SetListAlignment Sets the alignment of bulleted or numbered text used for


paragraphs.

SetListLevelIndex Sets the list level index used for paragraphs.

SetListStart Sets the starting number or Unicode value for a numbered


list.

SetListTab Sets the list tab setting, which is the distance between the first
indent and the start of the text on the first line.

SetListType Sets the type of list to be used for paragraphs.

SetMathProperties Specifies the math properties to use for the document.

SetMathZone Sets whether a math zone is active.

SetModWidthPairs Sets whether "decrease widths on pairs" is active.

SetModWidthSpace Sets whether "increase width of whitespace" is active.

SetName Sets the font name.

SetNoLineNumber Determines whether to suppress line numbering of


paragraphs in a range.

SetNotificationMode Sets the notification mode.

SetOldNumbers Sets whether old-style numbers are active.

SetOpCp Sets the character position in the source range's story that
has desired character formatting attributes.

SetOriginalSize Sets the original size of a specified image.

SetOutline Sets whether characters are displayed as outlined characters.

SetOverlapping Sets whether overlapping text is active.


T IT L E DESC RIP T IO N

SetOverlayImage Adds a specified image to the list of images used as overlay


masks.

SetPageBreakBefore Controls whether there is a page break before each paragraph


in a range.

SetPara Sets the paragraph attributes of this range to those of the


specified ITextPara object.

SetPara2 Sets the paragraph format attributes of a range.

SetPoint Changes the range based on a specified point at or up


through (depending on Extend) the point (x, y) aligned
according to Type.

SetPosition Sets the amount that characters are offset vertically relative to
the baseline.

SetPositionSubSuper Sets the position of a subscript or superscript relative to the


baseline, as a percentage of the font height.

SetProperty Specifies a new value for a property.

SetProperty Sets the value of the specified property.

SetProperty Sets the property value.

SetProperty Sets the value of the specified property.

SetProperty Sets the value of the specified property.

SetProperty Sets the value of the specified property.

SetProtected Sets whether characters are protected against attempts to


modify them.

SetRange Adjusts the range endpoints to the specified values.

SetRightIndent Sets the right margin of paragraph.

SetRTL Sets whether this row has right-to-left orientation.

SetSaved Sets the document Saved property.

SetScaling Sets the font horizontal scaling percentage.

SetScrollInfo The SetScrollInfo function sets the parameters of a scroll bar,


including the minimum and maximum scrolling positions, the
page size, and the position of the scroll box (thumb). The
function also redraws the scroll bar, if requested.
T IT L E DESC RIP T IO N

SetScrollPos The SetScrollPos function sets the position of the scroll box
(thumb) in the specified scroll bar and, if requested, redraws
the scroll bar to reflect the new position of the scroll box.

SetScrollRange The SetScrollRange function sets the minimum and maximum


scroll box positions for the specified scroll bar.

SetShadow Sets whether characters are displayed as shadowed


characters.

SetSize Sets the font size.

SetSmallCaps Sets whether characters are in small capital letters.

SetSnapToGrid Sets whether paragraph lines snap to a vertical grid that could
be defined for the whole document.

SetSpaceAfter Sets the amount of space that follows a paragraph.

SetSpaceBefore Sets the amount of space preceding a paragraph.

SetSpaceExtension Sets the East Asian space extension value.

SetSpacing Sets the amount of horizontal spacing between characters.

SetStart Sets the character position for the start of this range.

SetStrikeThrough Sets whether characters are displayed with a horizontal line


through the center.

SetStyle Sets the character style handle of the characters in a range.

SetStyle Sets the paragraph style for the paragraphs in a range.

SetSubscript Sets whether characters are displayed as subscript.

SetSuperscript Sets whether characters are displayed as superscript.

SetText Sets the text in this range.

SetText Replaces the text in a story with the specified text.

SetText2 Sets the text of this range.

SetThemeAppProperties Sets the flags that determine how visual styles are
implemented in the calling application.

SetTrimPunctuationAtStart Sets whether to trim the leading space of a punctuation


symbol at the start of a line.

SetType Sets the story type.


T IT L E DESC RIP T IO N

SetTypographyOptions Specifies the typography options for the document.

SetUnderline Sets the type of underlining for the characters in a range.

SetUnderlinePositionMode Sets the underline position mode.

SetURL Sets the text in this range to that of the specified URL.

SetWeight Sets the font weight for the characters in a range.

SetWidowControl Controls the suppression of widows and orphans.

SetWindowTheme Causes a window to use a different set of visual style


information than its class normally uses.

SetWindowThemeAttribute Sets attributes to control how visual styles are applied to a


specified window.

SetWindowThemeNonClientAttributes Sets non-client attributes to control how visual styles are


applied to a specified window.

ShowContainerUI Indicates whether or not the application is to display its


container UI.

ShowHideMenuCtl Sets or removes the specified menu item's check mark


attribute and shows or hides the corresponding control.

ShowScrollBar The ShowScrollBar function shows or hides the specified scroll


bar.

ShutdownTextServices Disconnects a host from a text services instance.

StartOf Moves the range ends to the start of the first overlapping
Unit in the range.

Static_Enable Enables or disables a static control.

Static_GetIcon Retrieves a handle to the icon associated with a static control


that has the SS_ICON style. You can use this macro or send
the STM_GETICON message explicitly.

Static_GetText Gets the text of a static control.

Static_GetTextLength Gets the number of characters in the text of a static control.

Static_SetIcon Sets the icon for a static control. You can use this macro or
send the STM_SETICON message explicitly.

Static_SetText Sets the text of a static control.

Str_SetPtrW Sets ppszCurrent to a copy of pszNew and frees the previous


value, if necessary.
T IT L E DESC RIP T IO N

SuffixTop Suffixes a string to the top string in the collection.

Swap Swaps the top two strings in the collection.

SysBeep Generates a system beep.

TabCtrl_AdjustRect Calculates a tab control's display area given a window


rectangle, or calculates the window rectangle that would
correspond to a specified display area. You can use this macro
or send the TCM_ADJUSTRECT message explicitly.

TabCtrl_DeleteAllItems Removes all items from a tab control. You can use this macro
or send the TCM_DELETEALLITEMS message explicitly.

TabCtrl_DeleteItem Removes an item from a tab control. You can use this macro
or send the TCM_DELETEITEM message explicitly.

TabCtrl_DeselectAll Resets items in a tab control, clearing any that were set to the
TCIS_BUTTONPRESSED state. You can use this macro or send
the TCM_DESELECTALL message explicitly.

TabCtrl_GetCurFocus Returns the index of the item that has the focus in a tab
control. You can use this macro or send the
TCM_GETCURFOCUS message explicitly.

TabCtrl_GetCurSel Determines the currently selected tab in a tab control. You can
use this macro or send the TCM_GETCURSEL message
explicitly.

TabCtrl_GetExtendedStyle Retrieves the extended styles that are currently in use for the
tab control. You can use this macro or send the
TCM_GETEXTENDEDSTYLE message explicitly.

TabCtrl_GetImageList Retrieves the image list associated with a tab control. You can
use this macro or send the TCM_GETIMAGELIST message
explicitly.

TabCtrl_GetItem Retrieves information about a tab in a tab control. You can use
this macro or send the TCM_GETITEM message explicitly.

TabCtrl_GetItemCount Retrieves the number of tabs in the tab control. You can use
this macro or send the TCM_GETITEMCOUNT message
explicitly.

TabCtrl_GetItemRect Retrieves the bounding rectangle for a tab in a tab control.


You can use this macro or send the TCM_GETITEMRECT
message explicitly.

TabCtrl_GetRowCount Retrieves the current number of rows of tabs in a tab control.


You can use this macro or send the TCM_GETROWCOUNT
message explicitly.

TabCtrl_GetToolTips Retrieves the handle to the tooltip control associated with a


tab control. You can use this macro or send the
TCM_GETTOOLTIPS message explicitly.
T IT L E DESC RIP T IO N

TabCtrl_GetUnicodeFormat Retrieves the UNICODE character format flag for the control.
You can use this macro or send the
TCM_GETUNICODEFORMAT message explicitly.

TabCtrl_HighlightItem Sets the highlight state of a tab item. You can use this macro
or send the TCM_HIGHLIGHTITEM message explicitly.

TabCtrl_HitTest Determines which tab, if any, is at a specified screen position.


You can use this macro or send the TCM_HITTEST message
explicitly.

TabCtrl_InsertItem Inserts a new tab in a tab control. You can use this macro or
send the TCM_INSERTITEM message explicitly.

TabCtrl_RemoveImage Removes an image from a tab control's image list. You can use
this macro or send the TCM_REMOVEIMAGE message
explicitly.

TabCtrl_SetCurFocus Sets the focus to a specified tab in a tab control. You can use
this macro or send the TCM_SETCURFOCUS message
explicitly.

TabCtrl_SetCurSel Selects a tab in a tab control. You can use this macro or send
the TCM_SETCURSEL message explicitly.

TabCtrl_SetExtendedStyle Sets the extended styles that the tab control will use. You can
use this macro or send the TCM_SETEXTENDEDSTYLE
message explicitly.

TabCtrl_SetImageList Assigns an image list to a tab control. You can use this macro
or send the TCM_SETIMAGELIST message explicitly.

TabCtrl_SetItem Sets some or all of a tab's attributes. You can use this macro
or send the TCM_SETITEM message explicitly.

TabCtrl_SetItemExtra Sets the number of bytes per tab reserved for application-
defined data in a tab control. You can use this macro or send
the TCM_SETITEMEXTRA message explicitly.

TabCtrl_SetItemSize Sets the width and height of tabs in a fixed-width or owner-


drawn tab control. You can use this macro or send the
TCM_SETITEMSIZE message explicitly.

TabCtrl_SetMinTabWidth Sets the minimum width of items in a tab control. You can use
this macro or send the TCM_SETMINTABWIDTH message
explicitly.

TabCtrl_SetPadding Sets the amount of space (padding) around each tab's icon
and label in a tab control. You can use this macro or send the
TCM_SETPADDING message explicitly.
T IT L E DESC RIP T IO N

TabCtrl_SetToolTips Assigns a tooltip control to a tab control. You can use this
macro or send the TCM_SETTOOLTIPS message explicitly.

TabCtrl_SetUnicodeFormat Sets the Unicode character format flag for the control.

TaskDialog The TaskDialog function creates, displays, and operates a task


dialog.

TaskDialogIndirect The TaskDialogIndirect function creates, displays, and operates


a task dialog.

THIRD_IPADDRESS Extracts the field 2 value from a packed IP address retrieved


with the IPM_GETADDRESS message.

TreeView_CreateDragImage Creates a dragging bitmap for the specified item in a tree-


view control.

TreeView_DeleteAllItems Deletes all items from a tree-view control.

TreeView_DeleteItem Removes an item and all its children from a tree-view control.
You can also send the TVM_DELETEITEM message explicitly.

TreeView_EditLabel Begins in-place editing of the specified item's text, replacing


the text of the item with a single-line edit control containing
the text.

TreeView_EndEditLabelNow Ends the editing of a tree-view item's label. You can use this
macro or send the TVM_ENDEDITLABELNOW message
explicitly.

TreeView_EnsureVisible Ensures that a tree-view item is visible, expanding the parent


item or scrolling the tree-view control, if necessary. You can
use this macro or send the TVM_ENSUREVISIBLE message
explicitly.

TreeView_Expand The TreeView_Expand macro expands or collapses the list of


child items associated with the specified parent item, if any.
You can use this macro or send the TVM_EXPAND message
explicitly.

TreeView_GetBkColor Retrieves the current background color of the control. You can
use this macro or send the TVM_GETBKCOLOR message
explicitly.

TreeView_GetCheckState Gets the check state of the specified item. You can also use
the TVM_GETITEMSTATE message directly.

TreeView_GetChild Retrieves the first child item of the specified tree-view item.
You can use this macro, or you can explicitly send the
TVM_GETNEXTITEM message with the TVGN_CHILD flag.

TreeView_GetCount Retrieves a count of the items in a tree-view control. You can


use this macro or send the TVM_GETCOUNT message
explicitly.
T IT L E DESC RIP T IO N

TreeView_GetDropHilight Retrieves the tree-view item that is the target of a drag-and-


drop operation. You can use this macro, or you can explicitly
send the TVM_GETNEXTITEM message with the
TVGN_DROPHILITE flag.

TreeView_GetEditControl Retrieves the handle to the edit control being used to edit a
tree-view item's text. You can use this macro or send the
TVM_GETEDITCONTROL message explicitly.

TreeView_GetExtendedStyle Retrieves the extended style for a specified tree-view control.


Use this macro or send the TVM_GETEXTENDEDSTYLE
message explicitly.

TreeView_GetFirstVisible Retrieves the first visible item in a tree-view control window.


You can use this macro, or you can explicitly send the
TVM_GETNEXTITEM message with the TVGN_FIRSTVISIBLE
flag.

TreeView_GetImageList Retrieves the handle to the normal or state image list


associated with a tree-view control. You can use this macro or
send the TVM_GETIMAGELIST message explicitly.

TreeView_GetIndent Retrieves the amount, in pixels, that child items are indented
relative to their parent items. You can use this macro or send
the TVM_GETINDENT message explicitly.

TreeView_GetInsertMarkColor Retrieves the color used to draw the insertion mark for the
tree view. You can use this macro or send the
TVM_GETINSERTMARKCOLOR message explicitly.

TreeView_GetISearchString Retrieves the incremental search string for a tree-view control.


The tree-view control uses the incremental search string to
select an item based on characters typed by the user. You can
use this macro or send the TVM_GETISEARCHSTRING
message explicitly.

TreeView_GetItem Retrieves some or all of a tree-view item's attributes. You can


use this macro or send the TVM_GETITEM message explicitly.

TreeView_GetItemHeight Retrieves the current height of the tree-view items. You can
use this macro or send the TVM_GETITEMHEIGHT message
explicitly.

TreeView_GetItemPartRect Retrieves the largest possible bounding rectangle that


constitutes the "hit zone" for a specified part of an item. Use
this macro or send the TVM_GETITEMPARTRECT message
explicitly.

TreeView_GetItemRect Retrieves the bounding rectangle for a tree-view item and


indicates whether the item is visible. You can use this macro or
send the TVM_GETITEMRECT message explicitly.

TreeView_GetItemState Retrieves some or all of a tree-view item's state attributes. You


can use this macro or send the TVM_GETITEMSTATE message
explicitly.
T IT L E DESC RIP T IO N

TreeView_GetLastVisible Retrieves the last expanded item in a tree-view control. This


does not retrieve the last item visible in the tree-view window.
You can use this macro, or you can explicitly send the
TVM_GETNEXTITEM message with the TVGN_LASTVISIBLE
flag.

TreeView_GetLineColor Gets the current line color. You can also use the
TVM_GETLINECOLOR message directly.

TreeView_GetNextItem Retrieves the tree-view item that bears the specified


relationship to a specified item. You can use this macro, use
one of the TreeView_Get macros described below, or send the
TVM_GETNEXTITEM message explicitly.

TreeView_GetNextSelected Retrieves the tree-view item that bears the


TVGN_NEXTSELECTED relationship to a specified tree item.

TreeView_GetNextSibling Retrieves the next sibling item of a specified item in a tree-


view control. You can use this macro, or you can explicitly
send the TVM_GETNEXTITEM message with the TVGN_NEXT
flag.

TreeView_GetNextVisible Retrieves the next visible item that follows a specified item in a
tree-view control. You can use this macro, or you can explicitly
send the TVM_GETNEXTITEM message with the
TVGN_NEXTVISIBLE flag.

TreeView_GetParent Retrieves the parent item of the specified tree-view item. You
can use this macro, or you can explicitly send the
TVM_GETNEXTITEM message with the TVGN_PARENT flag.

TreeView_GetPrevSibling Retrieves the previous sibling item of a specified item in a


tree-view control. You can use this macro, or you can explicitly
send the TVM_GETNEXTITEM message with the
TVGN_PREVIOUS flag.

TreeView_GetPrevVisible Retrieves the first visible item that precedes a specified item in
a tree-view control. You can use this macro, or you can
explicitly send the TVM_GETNEXTITEM message with the
TVGN_PREVIOUSVISIBLE flag.

TreeView_GetRoot Retrieves the topmost or very first item of the tree-view


control. You can use this macro, or you can explicitly send the
TVM_GETNEXTITEM message with the TVGN_ROOT flag.

TreeView_GetScrollTime Retrieves the maximum scroll time for the tree-view control.
You can use this macro or send the TVM_GETSCROLLTIME
message explicitly.

TreeView_GetSelectedCount TreeView_GetSelectedCount macro

TreeView_GetSelection Retrieves the currently selected item in a tree-view control.


You can use this macro, or you can explicitly send the
TVM_GETNEXTITEM message with the TVGN_CARET flag.
T IT L E DESC RIP T IO N

TreeView_GetTextColor Retrieves the current text color of the control. You can use this
macro or send the TVM_GETTEXTCOLOR message explicitly.

TreeView_GetToolTips Retrieves the handle to the child tooltip control used by a


tree-view control. You can use this macro or send the
TVM_GETTOOLTIPS message explicitly.

TreeView_GetUnicodeFormat Retrieves the Unicode character format flag for the control.
You can use this macro or send the
TVM_GETUNICODEFORMAT message explicitly.

TreeView_GetVisibleCount Obtains the number of items that can be fully visible in the
client window of a tree-view control. You can use this macro
or send the TVM_GETVISIBLECOUNT message explicitly.

TreeView_HitTest Determines the location of the specified point relative to the


client area of a tree-view control. You can use this macro or
send the TVM_HITTEST message explicitly.

TreeView_InsertItem Inserts a new item in a tree-view control. You can use this
macro or send the TVM_INSERTITEM message explicitly.

TreeView_MapAccIDToHTREEITEM Maps an accessibility ID to an HTREEITEM. You can use this


macro or send the TVM_MAPACCIDTOHTREEITEM message
explicitly.

TreeView_MapHTREEITEMToAccID Maps an HTREEITEM to an accessibility ID. You can use this


macro or send the TVM_MAPHTREEITEMTOACCID message
explicitly.

TreeView_Select Selects the specified tree-view item, scrolls the item into view,
or redraws the item in the style used to indicate the target of
a drag-and-drop operation.

TreeView_SelectDropTarget Redraws a specified tree-view control item in the style used to


indicate the target of a drag-and-drop operation. You can use
this macro or the TreeView_Select macro, or you can send the
TVM_SELECTITEM message explicitly.

TreeView_SelectItem Selects the specified tree-view item. You can use this macro or
the TreeView_Select macro, or you can send the
TVM_SELECTITEM message explicitly.

TreeView_SelectSetFirstVisible Scrolls the tree-view control vertically to ensure that the


specified item is visible.

TreeView_SetAutoScrollInfo Sets information used to determine auto-scroll characteristics.


Use this macro or send the TVM_SETAUTOSCROLLINFO
message explicitly.

TreeView_SetBkColor Sets the background color of the control. You can use this
macro or send the TVM_SETBKCOLOR message explicitly.
T IT L E DESC RIP T IO N

TreeView_SetBorder Sets the size of the border for the items in a tree-view control.
You can use this macro or send the TVM_SETBORDER
message explicitly.

TreeView_SetCheckState Sets the item's state image to "checked" or "unchecked." You


can also use the TVM_SETITEM message directly.

TreeView_SetExtendedStyle Sets the extended style for a specified TreeView control. Use
this macro or send the TVM_SETEXTENDEDSTYLE message
explicitly.

TreeView_SetHot Sets the hot item for a tree-view control. You can use this
macro or send the TVM_SETHOT message explicitly.

TreeView_SetImageList Sets the normal or state image list for a tree-view control and
redraws the control using the new images. You can use this
macro or send the TVM_SETIMAGELIST message explicitly.

TreeView_SetIndent Sets the width of indentation for a tree-view control and


redraws the control to reflect the new width. You can use this
macro or send the TVM_SETINDENT message explicitly.

TreeView_SetInsertMark Sets the insertion mark in a tree-view control. You can use
this macro or send the TVM_SETINSERTMARK message
explicitly.

TreeView_SetInsertMarkColor Sets the color used to draw the insertion mark for the tree
view. You can use this macro or send the
TVM_SETINSERTMARKCOLOR message explicitly.

TreeView_SetItem The TreeView_SetItem macro sets some or all of a tree-view


item's attributes. You can use this macro or send the
TVM_SETITEM message explicitly.

TreeView_SetItemHeight Sets the height of the tree-view items. You can use this macro
or send the TVM_SETITEMHEIGHT message explicitly.

TreeView_SetItemState Sets a tree-view item's state attributes. You can use this macro
or send the TVM_SETITEM message explicitly.

TreeView_SetLineColor Sets the current line color. You can also use the
TVM_SETLINECOLOR message directly.

TreeView_SetScrollTime Sets the maximum scroll time for the tree-view control. You
can use this macro or send the TVM_SETSCROLLTIME
message explicitly.

TreeView_SetTextColor Sets the text color of the control. You can use this macro or
send the TVM_SETTEXTCOLOR message explicitly.

TreeView_SetToolTips Sets a tree-view control's child tooltip control. You can use this
macro or send the TVM_SETTOOLTIPS message explicitly.

TreeView_SetUnicodeFormat Sets the Unicode character format flag for the control.
T IT L E DESC RIP T IO N

TreeView_ShowInfoTip Shows the infotip for a specified item in a tree-view control.


Use this macro or send the TVM_SHOWINFOTIP message
explicitly.

TreeView_SortChildren Sorts the child items of the specified parent item in a tree-
view control. You can use this macro or send the
TVM_SORTCHILDREN message explicitly.

TreeView_SortChildrenCB Sorts tree-view items using an application-defined callback


function that compares the items. You can use this macro or
send the TVM_SORTCHILDRENCB message explicitly.

TxActivate Notifies the text host that the control is active.

TxClientToScreen Converts text host coordinates to screen coordinates.

TxCreateCaret Creates a new shape for windowless rich edit control's caret.

TxDeactivate Notifies the text host that the control is now inactive.

TxDestroyCaret Destroys the caret (Direct2D only).

TxDraw Draws the text services object.

TxDrawD2D Draws the text services object by using Direct2D rendering.

TxEnableScrollBar Enables or disables one or both scroll bar arrows in the text
host window.

TxFreeTextServicesNotification Notifies the text host that text services have been freed.

TxGetAcceleratorPos Requests the special character to use for the underlining


accelerator character.

TxGetBackStyle Requests the background style of the text host.

TxGetBaseLinePos Gets the base line position of the first visible line, in pixels,
relative to the text services client rectangle. This permits
aligning controls on their base lines.

TxGetCachedSize Returns the cached drawing logical size (if any) that text
services is using. Typically, this will be the size of the last client
rectangle used in ITextServices::TxDraw,
ITextServices::OnTxSetCursor, and so forth, although it is not
guaranteed to be.

TxGetCharFormat Requests the text host's default character format.

TxGetClientRect Retrieves the client coordinates of the text host's client area.

TxGetCurTargetX Gets the target x position, that is, the current horizontal
position of the caret.
T IT L E DESC RIP T IO N

TxGetDC Requests the device context for the text host window.

TxGetDropTarget Gets the drop target for the text control.

TxGetEastAsianFlags Gets whether Input Method Editor (IME) input is allowed and
whether the edit styles include ES_SELFIME.

TxGetEditStyle Gets whether a rich edit control is in a dialog box.

TxGetExtent Requests the native size of the control in HIMETRIC.

TxGetHorzExtent Gets the horizontal scroll extent of the text host window.

TxGetHScroll Returns horizontal scroll bar information.

TxGetMaxLength Gets the text host's maximum allowed length for the text.

TxGetNaturalSize Allows a control to be resized so it fits its content


appropriately.

TxGetNaturalSize2 Resizes a control so it fits its content appropriately. This


method is similar to TxGetNaturalSize, but also retrieves the
ascent of the top line of text.

TxGetPalette Retrieves the color palette of the rich edit control.

TxGetParaFormat Requests the text host's default paragraph format.

TxGetPasswordChar Requests the text host's password character.

TxGetPropertyBits Requests the bit property settings for the text host.

TxGetScrollBars Requests information about the scroll bars supported by the


text host.

TxGetSelectionBarWidth Returns the size of selection bar in HIMETRIC.

TxGetSysColor Retrieves the text host's color for a specified display element.

TxGetText Returns all of the Unicode plain text in the control as a BSTR.

TxGetViewInset Requests the dimensions of the white space inset around the
text in the text host window.

TxGetVScroll Returns vertical scroll bar state information.

TxGetWindow Retrieves the handle of the text host window for the rich edit
control.

TxGetWindowStyles Retrieves the window styles and extended windows styles of


the text host window.
T IT L E DESC RIP T IO N

TxImmGetContext Retrieves the Input Method Editor (IME) input context


associated with the text services host. This method is used
only in Asian-language versions of the operating system.

TxImmReleaseContext Releases an input context returned by the


ITextHost::TxImmGetContext method and unlocks the memory
associated with the context. This method is used only in
Asian-language versions of the operating system.

TxInvalidateRect Specifies a rectangle for the text host to add to the update
region of the text host window.

TxIsDoubleClickPending Discovers whether the message queue contains a


WM_LBUTTONDBLCLK message that is pending for the text
host window.

TxKillTimer Requests the text host to destroy the specified timer.

TxNotify Notifies the text host of various events.

TxQueryHitPoint Tests whether a specified point is within the rectangle of the


text services object.

TxReleaseDC Releases the device context obtained by the


ITextHost::TxGetDC method.

TxScreenToClient Converts the screen coordinates to the text host window


coordinates.

TxScrollWindowEx Requests the text host to scroll the content of the specified
client area.

TxSendMessage Used by the window host to forward messages sent from its
window to the text services object.

TxSetCapture Sets the mouse capture in the text host's window.

TxSetCaretPos Moves the caret position to the specified coordinates in the


text host window.

TxSetCursor Establishes a new cursor shape (I-beam) in the text host's


window.

TxSetCursor2 Sets the shape of the cursor in the text host window.

TxSetFocus Sets the focus to the text host window.

TxSetForegroundWindow Sets the rich edit control's host window as the foreground
window.

TxSetScrollPos Sets the position of the scroll box (thumb) in the specified
scroll bar and, if requested, redraws the scroll bar to reflect
the new position of the scroll box.
T IT L E DESC RIP T IO N

TxSetScrollRange Sets the minimum and maximum position values for the
specified scroll bar in the text host window.

TxSetText Sets all of the text in the control.

TxSetTimer Requests the text host to create a timer with a specified time-
out.

TxShowCaret Shows or hides the caret at the caret position in the text host
window.

TxShowDropCaret Shows or hides the caret during the drop portion of a drag-
and-drop operation (Direct2D only).

TxShowScrollBar Shows or hides the scroll bar in the text host window.

TxViewChange Indicates to the text host that the update region has changed.

TypeText Types the string given by bstr at this selection as if someone


typed it. This is similar to the underlying SetText method, but
is sensitive to the Insert/Overtype key state and UI settings
like AutoCorrect and smart quotes.

Undo Performs a specified number of undo operations.

Unfreeze Decrements the freeze count.

UnicodeToHex Converts the Unicode character(s) preceding the start


position of this text range to a hexadecimal number, and
selects it.

UninitializeFlatSB Uninitializes flat scroll bars for a particular window. The


specified window will revert to standard scroll bars.

Update Updates the selection and caret.

UpdatePanningFeedback Updates clients about state of a window resulting from a


panning gesture. This function can only be called after a
BeginPanningFeedback call.

UpdateWindow Notifies the client that the view has changed and the client
should update the view if the Text Object Model (TOM) engine
is in-place active.

Interfaces
T IT L E DESC RIP T IO N

IImageList Exposes methods that manipulate and interact with image


lists.
T IT L E DESC RIP T IO N

IImageList2 Extends IImageList by providing additional methods for


manipulating and interacting with image lists.

IRichEditOle The IRichEditOle interface exposes the Component Object


Model (COM) functionality of a rich edit control. The interface
can be obtained by sending the EM_GETOLEINTERFACE
message. This interface has the following methods.

IRichEditOleCallback The IRichEditOleCallback interface is used by a rich text edit


control to retrieve OLE-related information from its client.

IRichEditUiaInformation Provides Microsoft UI Automation accessibility information


about a windowless rich edit control.

IRicheditUiaOverrides Enables the host container of a windowless rich edit control to


override the control's Microsoft UI Automation accessibility
properties.

IRicheditWindowlessAccessibility Enables the host container of a windowless rich edit control to


obtain the Microsoft UI Automation provider for the parent of
the control.

ITextDisplays Represents the displays collection for this Text Object Model
(TOM) engine instance.

ITextDocument The ITextDocument interface is the Text Object Model (TOM)


top-level interface, which retrieves the active selection and
range objects for any story in the document—whether active
or not.

ITextDocument2 Extends the ITextDocument interface, adding methods that


enable the Input Method Editor (IME) to drive the rich edit
control, and methods to retrieve other interfaces such as
ITextDisplays, ITextRange2, ITextFont2, ITextPara2, and so on.

ITextFont Text Object Model (TOM) rich text-range attributes are


accessed through a pair of dual interfaces, ITextFont and
ITextPara.

ITextFont2 In the Text Object Model (TOM), applications access text-range


attributes by using a pair of dual interfaces, ITextFont and
ITextPara.

ITextPara Text Object Model (TOM) rich text-range attributes are


accessed through a pair of dual interfaces, ITextFont and
ITextPara.

ITextPara2 Text Object Model (TOM) rich text-range attributes are


accessed through a pair of dual interfaces, ITextFont and
ITextPara.

ITextRange The ITextRange objects are powerful editing and data-binding


tools that allow a program to select text in a story and then
examine or change that text.
T IT L E DESC RIP T IO N

ITextRange2 The ITextRange2 interface is derived from ITextRange, and its


objects are powerful editing and data-binding tools that
enable a program to select text in a story and then examine
or change that text.

ITextRow The ITextRow interface provides methods to insert one or


more identical table rows, and to retrieve and change table
row properties. To insert nonidentical rows, call
ITextRow::Insert for each different row configuration.

ITextSelection A text selection is a text range with selection highlighting.

ITextSelection2 Currently, this interface contains no methods other than


those inherited from ITextRange2.

ITextStory The ITextStory interface methods are used to access shared


data from multiple stories, which is stored in the parent
ITextServices instance.

ITextStoryRanges The purpose of the ITextStoryRanges interface is to enumerate


the stories in an ITextDocument.

ITextStoryRanges2 The ITextStoryRanges2 interface enumerates the stories in an


ITextDocument.

ITextStrings The ITextStrings interface represents a collection of rich-text


strings that are useful for manipulating rich text.

Structures
T IT L E DESC RIP T IO N

BIDIOPTIONS Contains bidirectional information about a rich edit control.


This structure is used by the EM_GETBIDIOPTIONS and
EM_SETBIDIOPTIONS messages to get and set the
bidirectional information for a control.

BP_ANIMATIONPARAMS Defines animation parameters for the BP_PAINTPARAMS


structure used by BeginBufferedPaint.

BP_PAINTPARAMS Defines paint operation parameters for BeginBufferedPaint.

BUTTON_IMAGELIST Contains information about an image list that is used with a


button control.

BUTTON_SPLITINFO Contains information that defines a split button


(BS_SPLITBUTTON and BS_DEFSPLITBUTTON styles). Used
with the BCM_GETSPLITINFO and BCM_SETSPLITINFO
messages.

CHANGENOTIFY Contains information that is associated with an EN_CHANGE


notification code. A windowless rich edit control sends this
notification to its host window when the content of the
control changes.
T IT L E DESC RIP T IO N

CHARFORMAT2A Contains information about character formatting in a rich edit


control.

CHARFORMAT2A Contains information about character formatting in a rich edit


control.

CHARFORMAT2W Contains information about character formatting in a rich edit


control.

CHARFORMAT2W Contains information about character formatting in a rich edit


control.

CHARFORMATA Contains information about character formatting in a rich edit


control.

CHARFORMATW Contains information about character formatting in a rich edit


control.

CHARRANGE Specifies a range of characters in a rich edit control.If the


cpMin and cpMax members are equal, the range is empty. The
range includes everything if cpMin is 0 and cpMax is –1.

CLIPBOARDFORMAT Specifies the clipboard format. This structure included with the
EN_CLIPFORMAT notification.

COLORMAP Contains information used by the CreateMappedBitmap


function to map the colors of the bitmap.

COLORSCHEME Contains information for the drawing of buttons in a toolbar


or rebar.

COMBOBOXEXITEMA Contains information about an item in a ComboBoxEx control.

COMBOBOXEXITEMW Contains information about an item in a ComboBoxEx control.

COMBOBOXINFO Contains combo box status information.

COMPAREITEMSTRUCT Supplies the identifiers and application-supplied data for two


items in a sorted, owner-drawn list box or combo box.

COMPCOLOR Contains color settings for a composition string.

DATETIMEPICKERINFO Contains information about a date and time picker (DTP)


control.

DELETEITEMSTRUCT Describes a deleted list box or combo box item.

DPASTREAMINFO Contains a stream item used by the PFNDPASTREAM callback


function.

DRAGLISTINFO Contains information about a drag event. The pointer to


DRAGLISTINFO is passed as the lParam parameter of the drag
list message.
T IT L E DESC RIP T IO N

DRAWITEMSTRUCT Provides information that the owner window uses to


determine how to paint an owner-drawn control or menu
item.

DTBGOPTS Defines the options for the DrawThemeBackgroundEx


function.

DTTOPTS Defines the options for the DrawThemeTextEx function.

EDITBALLOONTIP Contains information about a balloon tip associated with a


button control.

EDITSTREAM Contains information that an application passes to a rich edit


control in a EM_STREAMIN or EM_STREAMOUT message. The
rich edit control uses the information to transfer a stream of
data into or out of the control.

ENCORRECTTEXT Contains information about the selected text to be corrected.

ENDCOMPOSITIONNOTIFY Contains information about an EN_ENDCOMPOSITION


notification code from a rich edit control.

ENDROPFILES Contains information associated with an EN_DROPFILES


notification code. A rich edit control sends this notification
code when it receives a WM_DROPFILES message.

ENLINK Contains information about an EN_LINK notification code


from a rich edit control.

ENLOWFIRTF Contains information about an unsupported Rich Text Format


(RTF) keyword in a Microsoft Rich Edit control.

ENOLEOPFAILED Contains information about a failed operation.

ENPROTECTED Contains information associated with an EN_PROTECTED


notification code. A rich edit control sends this notification
when the user attempts to edit protected text.

ENSAVECLIPBOARD Contains information about objects and text on the clipboard.

FINDTEXTA Contains information about a search operation in a rich edit


control. This structure is used with the EM_FINDTEXT
message.

FINDTEXTEXA Contains information about text to search for in a rich edit


control. This structure is used with the EM_FINDTEXTEX
message.

FINDTEXTEXW Contains information about text to search for in a rich edit


control. This structure is used with the EM_FINDTEXTEX
message.
T IT L E DESC RIP T IO N

FINDTEXTW Contains information about a search operation in a rich edit


control. This structure is used with the EM_FINDTEXT
message.

FORMATRANGE Information that a rich edit control uses to format its output
for a particular device. This structure is used with the
EM_FORMATRANGE message.

GETCONTEXTMENUEX Contains context menu information that is passed to the


IRichEditOleCallback::GetContextMenu method.

GETTEXTEX Contains information used in getting text from a rich edit


control. This structure used with the EM_GETTEXTEX message.

GETTEXTLENGTHEX Contains information about how the text length of a rich edit
control should be calculated. This structure is passed in the
wParam in the EM_GETTEXTLENGTHEX message.

HD_TEXTFILTERA Contains information about header control text filters.

HD_TEXTFILTERW Contains information about header control text filters.

HDHITTESTINFO Contains information about a hit test. This structure is used


with the HDM_HITTEST message and it supersedes the
HD_HITTESTINFO structure.

HDITEMA Contains information about an item in a header control. This


structure supersedes the HD_ITEM structure.

HDITEMW Contains information about an item in a header control. This


structure supersedes the HD_ITEM structure.

HDLAYOUT Contains information used to set the size and position of a


header control. HDLAYOUT is used with the HDM_LAYOUT
message. This structure supersedes the HD_LAYOUT
structure.

HYPHENATEINFO Contains information about hyphenation in a Microsoft Rich


Edit control.

HYPHRESULT Contains information about the result of hyphenation in a


Microsoft Rich Edit control.

IMAGEINFO Contains information about an image in an image list. This


structure is used with the IImageList::GetImageInfo function.

IMAGEINFO Contains information about an image in an image list. This


structure is used with the IImageList::GetImageInfo function.

IMAGELISTDRAWPARAMS Contains information about an image list draw operation and


is used with the IImageList::Draw function.

IMAGELISTDRAWPARAMS Contains information about an image list draw operation and


is used with the IImageList::Draw function.
T IT L E DESC RIP T IO N

IMAGELISTSTATS Contains image list statistics. Used by GetStatistics.

IMECOMPTEXT Contains information about the Input Method Editor (IME)


composition text in a Microsoft Rich Edit control.

INITCOMMONCONTROLSEX Carries information used to load common control classes from


the dynamic-link library (DLL). This structure is used with the
InitCommonControlsEx function.

INTLIST Contains an array or list of int data items from a visual style.

LHITTESTINFO Used to get information about the link corresponding to a


given location.

LITEM Used to set and retrieve information about a link item.

LVBKIMAGEA Contains information about the background image of a list-


view control. This structure is used for both setting and
retrieving background image information.

LVBKIMAGEW Contains information about the background image of a list-


view control. This structure is used for both setting and
retrieving background image information.

LVCOLUMNA Contains information about a column in report view. This


structure is used both for creating and manipulating columns.
This structure supersedes the LV_COLUMN structure.

LVCOLUMNW Contains information about a column in report view. This


structure is used both for creating and manipulating columns.
This structure supersedes the LV_COLUMN structure.

LVFINDINFOA Contains information used when searching for a list-view item.


This structure is identical to LV_FINDINFO but has been
renamed to fit standard naming conventions.

LVFINDINFOW Contains information used when searching for a list-view item.


This structure is identical to LV_FINDINFO but has been
renamed to fit standard naming conventions.

LVFOOTERINFO Contains information on a footer in a list-view control.

LVFOOTERITEM Contains information on a footer item.

LVGROUP Used to set and retrieve groups.

LVGROUPMETRICS Contains information about the display of groups in a list-


view control.

LVHITTESTINFO Contains information about a hit test.

LVINSERTGROUPSORTED Used to sort groups. It is used with


LVM_INSERTGROUPSORTED.
T IT L E DESC RIP T IO N

LVINSERTMARK Used to describe insertion points.

LVITEMA Specifies or receives the attributes of a list-view item. This


structure has been updated to support a new mask value
(LVIF_INDENT) that enables item indenting. This structure
supersedes the LV_ITEM structure.

LVITEMINDEX Contains index information about a list-view item.

LVITEMW Specifies or receives the attributes of a list-view item. This


structure has been updated to support a new mask value
(LVIF_INDENT) that enables item indenting. This structure
supersedes the LV_ITEM structure.

LVSETINFOTIP Provides information about tooltip text that is to be set.

LVTILEINFO Provides information about an item in a list-view control when


it is displayed in tile view.

LVTILEVIEWINFO Provides information about a list-view control when it is


displayed in tile view.

MARGINS Returned by the GetThemeMargins function to define the


margins of windows that have visual styles applied.

MCGRIDINFO Contains information about part of a calendar control.

MCHITTESTINFO Carries information specific to hit-testing points for a month


calendar control. This structure is used with the
MCM_HITTEST message and the corresponding
MonthCal_HitTest macro.

MEASUREITEMSTRUCT Informs the system of the dimensions of an owner-drawn


control or menu item. This allows the system to process user
interaction with the control correctly.

MSGFILTER Contains information about a keyboard or mouse event. A


rich edit control sends this structure to its parent window as
part of an EN_MSGFILTER notification code, enabling the
parent to change the message or prevent it from being
processed.

NMBCDROPDOWN Contains information about a BCN_DROPDOWN notification.

NMBCHOTITEM Contains information about the movement of the mouse over


a button control.

NMCBEDRAGBEGINA Contains information used with the CBEN_DRAGBEGIN


notification code.

NMCBEDRAGBEGINW Contains information used with the CBEN_DRAGBEGIN


notification code.
T IT L E DESC RIP T IO N

NMCBEENDEDITA Contains information about the conclusion of an edit


operation within a ComboBoxEx control. This structure is used
with the CBEN_ENDEDIT notification code.

NMCBEENDEDITW Contains information about the conclusion of an edit


operation within a ComboBoxEx control. This structure is used
with the CBEN_ENDEDIT notification code.

NMCHAR Contains information used with character notification


messages.

NMCOMBOBOXEXA Contains information specific to ComboBoxEx items for use


with notification codes.

NMCOMBOBOXEXW Contains information specific to ComboBoxEx items for use


with notification codes.

NMCUSTOMDRAW Contains information specific to an NM_CUSTOMDRAW


notification code.

NMCUSTOMSPLITRECTINFO Contains information about the two rectangles of a split


button. Sent with the NM_GETCUSTOMSPLITRECT
notification.

NMCUSTOMTEXT Contains information used with custom text notification.

NMDATETIMECHANGE Contains information about a change that has taken place in


a date and time picker (DTP) control. This structure is used
with the DTN_DATETIMECHANGE notification code.

NMDATETIMEFORMATA Contains information about a portion of the format string


that defines a callback field within a date and time picker (DTP)
control.

NMDATETIMEFORMATQUERYA Contains information about a date and time picker (DTP)


control callback field.

NMDATETIMEFORMATQUERYW Contains information about a date and time picker (DTP)


control callback field.

NMDATETIMEFORMATW Contains information about a portion of the format string


that defines a callback field within a date and time picker (DTP)
control.

NMDATETIMESTRINGA Contains information specific to an edit operation that has


taken place in a date and time picker (DTP) control. This
message is used with the DTN_USERSTRING notification code.

NMDATETIMESTRINGW Contains information specific to an edit operation that has


taken place in a date and time picker (DTP) control. This
message is used with the DTN_USERSTRING notification code.

NMDATETIMEWMKEYDOWNA Carries information used to describe and handle a


DTN_WMKEYDOWN notification code.
T IT L E DESC RIP T IO N

NMDATETIMEWMKEYDOWNW Carries information used to describe and handle a


DTN_WMKEYDOWN notification code.

NMDAYSTATE Carries information required to process the


MCN_GETDAYSTATE notification code. All members of this
structure are for input, except prgDayState, which the
receiving application must set when processing
MCN_GETDAYSTATE.

NMHDDISPINFOA Contains information used in handling HDN_GETDISPINFO


notification codes.

NMHDDISPINFOW Contains information used in handling HDN_GETDISPINFO


notification codes.

NMHDFILTERBTNCLICK Specifies or receives the attributes of a filter button click.

NMHDR Contains information about a notification message.

NMHDR Contains information about a notification message.

NMHEADERA Contains information about header control notification


messages. This structure supersedes the HD_NOTIFY
structure.

NMHEADERW Contains information about header control notification


messages. This structure supersedes the HD_NOTIFY
structure.

NMIPADDRESS Contains information for the IPN_FIELDCHANGED notification


code.

NMITEMACTIVATE Contains information about an LVN_ITEMACTIVATE


notification code.

NMKEY Contains information used with key notification messages.

NMLINK The NMLINK Contains notification information. Send this


structure with the NM_CLICK or NM_RETURN messages.

NMLISTVIEW Contains information about a list-view notification message.


This structure is the same as the NM_LISTVIEW structure but
has been renamed to fit standard naming conventions.

NMLVCACHEHINT Contains information used to update the cached item


information for use with a virtual list view.

NMLVCUSTOMDRAW Contains information specific to an NM_CUSTOMDRAW (list


view) notification code sent by a list-view control.

NMLVDISPINFOA Contains information about an LVN_GETDISPINFO or


LVN_SETDISPINFO notification code. This structure is the
same as the LV_DISPINFO structure, but has been renamed to
fit standard naming conventions.
T IT L E DESC RIP T IO N

NMLVDISPINFOW Contains information about an LVN_GETDISPINFO or


LVN_SETDISPINFO notification code. This structure is the
same as the LV_DISPINFO structure, but has been renamed to
fit standard naming conventions.

NMLVEMPTYMARKUP Contains information used with the LVN_GETEMPTYMARKUP


notification code.

NMLVFINDITEMA Contains information the owner needs to find items


requested by a virtual list-view control. This structure is used
with the LVN_ODFINDITEM notification code.

NMLVFINDITEMW Contains information the owner needs to find items


requested by a virtual list-view control. This structure is used
with the LVN_ODFINDITEM notification code.

NMLVGETINFOTIPA Contains and receives list-view item information needed to


display a tooltip for an item. This structure is used with the
LVN_GETINFOTIP notification code.

NMLVGETINFOTIPW Contains and receives list-view item information needed to


display a tooltip for an item. This structure is used with the
LVN_GETINFOTIP notification code.

NMLVKEYDOWN Contains information used in processing the LVN_KEYDOWN


notification code. This structure is the same as the
NMLVKEYDOWN structure but has been renamed to fit
standard naming conventions.

NMLVLINK Contains information about an LVN_LINKCLICK notification


code.

NMLVODSTATECHANGE Structure that contains information for use in processing the


LVN_ODSTATECHANGED notification code.

NMLVSCROLL Provides information about a scrolling operation.

NMMOUSE Contains information used with mouse notification messages.

NMOBJECTNOTIFY Contains information used with the TBN_GETOBJECT,


TCN_GETOBJECT, and PSN_GETOBJECT notification codes.

NMPGCALCSIZE Contains and receives information that the pager control uses
to calculate the scrollable area of the contained window. It is
used with the PGN_CALCSIZE notification.

NMPGHOTITEM Contains information used with the PGN_HOTITEMCHANGE


notification code.

NMPGSCROLL Contains and receives information that the pager control uses
when scrolling the contained window. It is used with the
PGN_SCROLL notification.

NMRBAUTOSIZE Contains information used in handling the RBN_AUTOSIZE


notification codes.
T IT L E DESC RIP T IO N

NMREBAR Contains information used in handling various rebar


notifications.

NMREBARAUTOBREAK Contains information used with the RBN_AUTOBREAK


notification code.

NMREBARCHEVRON Contains information used in handling the


RBN_CHEVRONPUSHED notification code.

NMREBARCHILDSIZE Contains information used in handling the RBN_CHILDSIZE


notification code.

NMREBARSPLITTER Contains information used to handle an RBN_SPLITTERDRAG


notification code.

NMSELCHANGE Carries information required to process the MCN_SELCHANGE


notification code.

NMTBCUSTOMDRAW Contains information specific to an NM_CUSTOMDRAW


notification code sent by a toolbar control.

NMTBDISPINFOA Contains and receives display information for a toolbar item.


This structure is used with the TBN_GETDISPINFO notification
code.

NMTBDISPINFOW Contains and receives display information for a toolbar item.


This structure is used with the TBN_GETDISPINFO notification
code.

NMTBGETINFOTIPA Contains and receives infotip information for a toolbar item.


This structure is used with the TBN_GETINFOTIP notification
code.

NMTBGETINFOTIPW Contains and receives infotip information for a toolbar item.


This structure is used with the TBN_GETINFOTIP notification
code.

NMTBHOTITEM Contains information used with the TBN_HOTITEMCHANGE


notification code.

NMTBRESTORE Allows applications to extract the information that was placed


in NMTBSAVE when the toolbar state was saved. This
structure is passed to applications when they receive a
TBN_RESTORE notification code.

NMTBSAVE This structure is passed to applications when they receive a


TBN_SAVE notification code. It contains information about the
button currently being saved. Applications can modify the
values of the members to save additional information.
T IT L E DESC RIP T IO N

NMTCKEYDOWN Contains information about a key press in a tab control. It is


used with the TCN_KEYDOWN notification code. This structure
supersedes the TC_KEYDOWN structure.

NMTOOLBARA Contains information used to process toolbar notification


codes. This structure supersedes the TBNOTIFY structure.

NMTOOLBARW Contains information used to process toolbar notification


codes. This structure supersedes the TBNOTIFY structure.

NMTOOLTIPSCREATED Contains information used with NM_TOOLTIPSCREATED


notification codes.

NMTRBTHUMBPOSCHANGING Contains information about a trackbar change notification.


This message is sent with the TRBN_THUMBPOSCHANGING
notification.

NMTREEVIEWA Contains information about a tree-view notification message.


This structure is identical to the NM_TREEVIEW structure, but
it has been renamed to follow current naming conventions.

NMTREEVIEWW Contains information about a tree-view notification message.


This structure is identical to the NM_TREEVIEW structure, but
it has been renamed to follow current naming conventions.

NMTTCUSTOMDRAW Contains information specific to an NM_CUSTOMDRAW


notification code sent by a tooltip control.

NMTTDISPINFOA Contains information used in handling the TTN_GETDISPINFO


notification code. This structure supersedes the TOOLTIPTEXT
structure.

NMTTDISPINFOW Contains information used in handling the TTN_GETDISPINFO


notification code. This structure supersedes the TOOLTIPTEXT
structure.

NMTVASYNCDRAW Contains an explanation of why the draw of an icon or overlay


tree item failed.

NMTVCUSTOMDRAW Contains information specific to an NM_CUSTOMDRAW (tree


view) notification code sent by a tree-view control.

NMTVDISPINFOA Contains and receives display information for a tree-view


item. This structure is identical to the TV_DISPINFO structure,
but it has been renamed to follow current naming
conventions.

NMTVDISPINFOEXA Contains information pertaining to extended TreeView


notification information.

NMTVDISPINFOEXW Contains information pertaining to extended TreeView


notification information.
T IT L E DESC RIP T IO N

NMTVDISPINFOW Contains and receives display information for a tree-view


item. This structure is identical to the TV_DISPINFO structure,
but it has been renamed to follow current naming
conventions.

NMTVGETINFOTIPA Contains and receives tree-view item information needed to


display a tooltip for an item. This structure is used with the
TVN_GETINFOTIP notification code.

NMTVGETINFOTIPW Contains and receives tree-view item information needed to


display a tooltip for an item. This structure is used with the
TVN_GETINFOTIP notification code.

NMTVITEMCHANGE Contains information on a tree-view item change. This


structure is sent with the TVN_ITEMCHANGED and
TVN_ITEMCHANGING notifications.

NMTVKEYDOWN Contains information about a keyboard event in a tree-view


control. This structure is used with the TVN_KEYDOWN
notification code. The structure is identical to the
TV_KEYDOWN structure, but it has been renamed to follow
current naming conventions.

NMTVSTATEIMAGECHANGING Contains information about an


NM_TVSTATEIMAGECHANGING notification code.

NMUPDOWN Contains information specific to up-down control notification


messages. It is identical to and replaces the NM_UPDOWN
structure.

NMVIEWCHANGE Stores information required to process the


MCN_VIEWCHANGE notification code.

OBJECTPOSITIONS Contains object position information.

PARAFORMAT Contains information about paragraph formatting attributes


in a rich edit control.

PARAFORMAT2 Contains information about paragraph formatting attributes


in a rich edit control.

PARAFORMAT2 Contains information about paragraph formatting attributes


in a rich edit control.

PBRANGE Contains information about the high and low limits of a


progress bar control. This structure is used with the
PBM_GETRANGE message.

PROPSHEETHEADERA_V2 Defines the frame and pages of a property sheet.

PROPSHEETHEADERW_V2 Defines the frame and pages of a property sheet.

PROPSHEETPAGEA_V2 Defines a page in a property sheet.


T IT L E DESC RIP T IO N

PROPSHEETPAGEA_V3 Defines a page in a property sheet.

PROPSHEETPAGEA_V4 Defines a page in a property sheet.

PROPSHEETPAGEW_V2 Defines a page in a property sheet.

PROPSHEETPAGEW_V3 Defines a page in a property sheet.

PROPSHEETPAGEW_V4 Defines a page in a property sheet.

PSHNOTIFY Contains information for the property sheet notification


messages.

PUNCTUATION Contains information about the punctuation used in a rich


edit control.

RBHITTESTINFO Contains information specific to a hit test operation. This


structure is used with the RB_HITTEST message.

REBARBANDINFOA Contains information that defines a band in a rebar control.

REBARBANDINFOW Contains information that defines a band in a rebar control.

REBARINFO Contains information that describes rebar control


characteristics.

REOBJECT Contains information about an OLE or image object in a rich


edit control.

REPASTESPECIAL Contains information identifying whether the display aspect of


a pasted object should be based on the content of the object
or the icon that represent the object.

REQRESIZE Contains the requested size of a rich edit control. A rich edit
control sends this structure to its parent window as part of an
EN_REQUESTRESIZE notification code.

RICHEDIT_IMAGE_PARAMETERS Defines the attributes of an image to be inserted by the


EM_INSERTIMAGE message.

SCROLLBARINFO The SCROLLBARINFO structure contains scroll bar


information.

SCROLLINFO The SCROLLINFO structure contains scroll bar parameters to


be set by the SetScrollInfo function (or SBM_SETSCROLLINFO
message), or retrieved by the GetScrollInfo function (or
SBM_GETSCROLLINFO message).

SELCHANGE Contains information associated with an EN_SELCHANGE


notification code. A rich edit control sends this notification to
its parent window when the current selection changes.
T IT L E DESC RIP T IO N

SETTEXTEX Specifies which code page (if any) to use in setting text,
whether the text replaces all the text in the control or just the
selection, and whether the undo state is to be preserved. This
structure is used with the EM_SETTEXTEX message.

TABLECELLPARMS Defines the attributes of cells in a table row.

TABLEROWPARMS Defines the attributes of rows in a table.

TASKDIALOG_BUTTON The TASKDIALOG_BUTTON structure contains information


used to display a button in a task dialog. The
TASKDIALOGCONFIG structure uses this structure.

TASKDIALOGCONFIG The TASKDIALOGCONFIG structure contains information used


to display a task dialog. The TaskDialogIndirect function uses
this structure.

TBADDBITMAP Adds a bitmap that contains button images to a toolbar.

TBBUTTON Contains information about a button in a toolbar.

TBBUTTONINFOA Contains or receives information for a specific button in a


toolbar.

TBBUTTONINFOW Contains or receives information for a specific button in a


toolbar.

TBINSERTMARK Contains information on the insertion mark in a toolbar


control.

TBMETRICS Defines the metrics of a toolbar that are used to shrink or


expand toolbar items.

TBREPLACEBITMAP Used with the TB_REPLACEBITMAP message to replace one


toolbar bitmap with another.

TBSAVEPARAMSA Specifies the location in the registry where the


TB_SAVERESTORE message stores and retrieves information
about the state of a toolbar.

TBSAVEPARAMSW Specifies the location in the registry where the


TB_SAVERESTORE message stores and retrieves information
about the state of a toolbar.

TCHITTESTINFO Contains information about a hit test. This structure


supersedes the TC_HITTESTINFO structure.

TCITEMA Specifies or receives the attributes of a tab item. It is used


with the TCM_INSERTITEM, TCM_GETITEM, and TCM_SETITEM
messages. This structure supersedes the TC_ITEM structure.
T IT L E DESC RIP T IO N

TCITEMHEADERA Specifies or receives the attributes of a tab. It is used with the


TCM_INSERTITEM, TCM_GETITEM, and TCM_SETITEM
messages. This structure supersedes the TC_ITEMHEADER
structure.

TCITEMHEADERW Specifies or receives the attributes of a tab. It is used with the


TCM_INSERTITEM, TCM_GETITEM, and TCM_SETITEM
messages. This structure supersedes the TC_ITEMHEADER
structure.

TCITEMW Specifies or receives the attributes of a tab item. It is used


with the TCM_INSERTITEM, TCM_GETITEM, and TCM_SETITEM
messages. This structure supersedes the TC_ITEM structure.

TEXTRANGEA A range of text from a rich edit control. This structure is filled
in by the EM_GETTEXTRANGE message. The buffer pointed to
by the lpstrText member must be large enough to receive all
characters and the terminating null character.

TEXTRANGEW A range of text from a rich edit control. This structure is filled
in by the EM_GETTEXTRANGE message. The buffer pointed to
by the lpstrText member must be large enough to receive all
characters and the terminating null character.

TTGETTITLE Provides information about the title of a tooltip control.

TTHITTESTINFOA Contains information that a tooltip control uses to determine


whether a point is in the bounding rectangle of the specified
tool. If the point is in the rectangle, the structure receives
information about the tool.

TTHITTESTINFOW Contains information that a tooltip control uses to determine


whether a point is in the bounding rectangle of the specified
tool. If the point is in the rectangle, the structure receives
information about the tool.

TTTOOLINFOA The TOOLINFO structure contains information about a tool in


a tooltip control.

TTTOOLINFOW The TOOLINFO structure contains information about a tool in


a tooltip control.

TVGETITEMPARTRECTINFO Contains information for identifying the "hit zone" for a


specified part of a tree item. The structure is used with the
TVM_GETITEMPARTRECT message and the
TreeView_GetItemPartRect macro.

TVHITTESTINFO Contains information used to determine the location of a


point relative to a tree-view control.

TVINSERTSTRUCTA Contains information used to add a new item to a tree-view


control. This structure is used with the TVM_INSERTITEM
message. The structure is identical to the TV_INSERTSTRUCT
structure, but it has been renamed to follow current naming
conventions.
T IT L E DESC RIP T IO N

TVINSERTSTRUCTW Contains information used to add a new item to a tree-view


control. This structure is used with the TVM_INSERTITEM
message. The structure is identical to the TV_INSERTSTRUCT
structure, but it has been renamed to follow current naming
conventions.

TVITEMA Specifies or receives attributes of a tree-view item. This


structure is identical to the TV_ITEM structure, but it has been
renamed to follow current naming conventions. New
applications should use this structure.

TVITEMEXA Specifies or receives attributes of a tree-view item. This


structure is an enhancement to the TVITEM structure. New
applications should use this structure where appropriate.

TVITEMEXW Specifies or receives attributes of a tree-view item. This


structure is an enhancement to the TVITEM structure. New
applications should use this structure where appropriate.

TVITEMW Specifies or receives attributes of a tree-view item. This


structure is identical to the TV_ITEM structure, but it has been
renamed to follow current naming conventions. New
applications should use this structure.

TVSORTCB Contains information used to sort child items in a tree-view


control. This structure is used with the
TVM_SORTCHILDRENCB message. This structure is identical to
the TV_SORTCB structure, but it has been renamed to follow
current naming conventions.

UDACCEL Contains acceleration information for an up-down control.

WTA_OPTIONS Defines options that are used to set window visual style
attributes.
Windows Data Access Components WMI Provider
2/7/2020 • 2 minutes to read • Edit Online

Overview of the Windows Data Access Components WMI Provider technology.


The Windows Data Access Components WMI Provider technology is not associated with any headers.
For programming guidance for this technology, see:
Windows Data Access Components WMI Provider
Windows Deployment Services
2/7/2020 • 22 minutes to read • Edit Online

Overview of the Windows Deployment Services technology.


To develop Windows Deployment Services, you need these headers:
wdsbp.h
wdsclientapi.h
wdspxe.h
wdstci.h
wdstpdi.h
wdstptmgmt.h
For programming guidance for this technology, see:
Windows Deployment Services

Enumerations
T IT L E DESC RIP T IO N

__unnamed_enum_1 This enumeration is used by the WdsCliLog function.

__unnamed_enum_2 This enumeration is used by the WdsCliLog function.

TRANSPORTCLIENT_CALLBACK_ID This enumeration is received by the


WdsTransportClientRegisterCallback function.

TRANSPORTPROVIDER_CALLBACK_ID This structure is used by the


WdsTransportServerRegisterCallback function.

WDSTRANSPORT_DIAGNOSTICS_COMPONENT_FLAGS Configures which WDS components have diagnostics enabled.


WDS diagnostics log events to the system event log.

WDSTRANSPORT_DISCONNECT_TYPE Indicates what action a WDS client should take when it is


disconnected from the session.

WDSTRANSPORT_FEATURE_FLAGS Indicates which WDS features are installed on the WDS server.

WDSTRANSPORT_IP_ADDRESS_SOURCE_TYPE Indicates the source from which the WDS multicast provider
obtains a multicast address for a new session.

WDSTRANSPORT_IP_ADDRESS_TYPE Indicates the type of IP address.

WDSTRANSPORT_NAMESPACE_TYPE Determines the type of multicast sessions used for


transmitting objects covered by this namespace.

WDSTRANSPORT_NETWORK_PROFILE_TYPE Defines settings that are used by WDS transport protocols to


optimize data transfer on the network.
T IT L E DESC RIP T IO N

WDSTRANSPORT_PROTOCOL_FLAGS Specifies which protocols the WDS transport server supports.

WDSTRANSPORT_SERVICE_NOTIFICATION Specifies what action needs to be taken when notifying WDS


transport services, such as rereading their settings following a
configuration change.

WDSTRANSPORT_SLOW_CLIENT_HANDLING_TYPE Specifies the type of automatic actions a WDS transport


server, running on Windows Server 2008 R2, should use to
handle a client computer that is slowing the multicast
transmission.

WDSTRANSPORT_TFTP_CAPABILITY Indicates which features are supported by the WDS TFTP


server.

WDSTRANSPORT_UDP_PORT_POLICY Specifies which policy WDS transport services should use


when allocating UDP ports.

Functions
T IT L E DESC RIP T IO N

Clone Copies the information from this namespace object into a


new, unregistered namespace object in memory.

Commit Commits object data members to the underlying data store if


the IWdsTransportCacheable::Dirty property has been set.
Otherwise, the method returns with no action.

CreateNamespace Creates an object of an IWdsTransportNamespace interface


that can be registered on the current WDS transport server.

Deregister Deregisters the namespace on the server.

DeregisterContentProvider Enables an application run on a client computer to deregister


a content provider. This makes the provider no longer
available for use by the WDS transport server.

DisableWdsTransportServices Sets all WDS transport services to Disabled mode.

Discard Discards all changes made to the object data members by


clearing the IWdsTransportCacheable::Dirty property and then
calling the object's IWdsTransportCacheable::Refresh method
to reread the current object data.

Disconnect Disconnects the WDS client from the session and specifies
what action the client should take upon disconnection.

DisconnectClient Disconnects a WDS client from a transport session and


specifies what action the WDS client should take upon
disconnection.

EnableWdsTransportServices Sets all WDS transport services to Auto-Start mode.


T IT L E DESC RIP T IO N

get__NewEnum Receives a pointer to an enumerator that can be used to


iterate over the objects in this collection.

get_AutoDisconnectThreshold Sets or retrieves the threshold transmission rate, in kilobytes


per second, used by the server.

get_BlockSize Retrieves the block size used in the TFTP session.

get_Components Enables a WDS client to configure which WDS transport


components have event logging.

get_Configuration Sets or retrieves the configuration information for the content


provider of the namespace.

get_ConfigurationManager Returns a pointer to the object of an


IWdsTransportConfigurationManager interface used to
manage the configuration of this server.

get_Content Receives a pointer to an object of the IWdsTransportContent


interface that represents an active transport session on the
WDS transport server.

get_ContentProvider Sets or retrieves the content provider for the namespace.

get_ContentProviders Receives a pointer to an instance of the


IWdsTransportCollection interface. The collection contains
objects of the IWdsTransportContentProvider interface for the
content providers registered on the server.

get_Count Receives the number of objects in this collection.

get_CpuUtilization Receives the percentage of the WDS client’s CPU utilization.

get_CurrentFileOffset Receives the offset from the start of the file in bytes of the
current block being transferred in the TFTP session.

get_Description Retrieves the description of the content provider.

get_Description Sets or retrieves the description of the namespace.

get_DiagnosticsPolicy Receives an interface pointer to the Configuration Manager's


Diagnostics Policy object. The object can be used to configure
diagnostics settings that WDS transport server components
enable for diagnostic event logging.

get_Dirty Receives a value that indicates whether object data has been
modified.

get_Enabled Receives or sets a value that enables a WDS client to configure


diagnostic logging on the server.
T IT L E DESC RIP T IO N

get_EnableTftpVariableWindowExtension Receives a WDSTRANSPORT_TFTP_CAPABILITY value that


specifies whether variable-window extension is enabled on the
TFTP server. The value enables a WDS client computer to
configure the WDS TFTP server to use variable-window
extensions.

get_EndIpAddress Enables a WDS client computer to configure the end of a


multicast IP address range for a specified type of IP address.

get_EndPort Enables a WDS client computer to configure the end of a UDP


port range that is used by WDS transport services.

get_FileName Retrieves the name of the file being transferred in the TFTP
session.

get_FilePath Retrieves the path to the content provider’s DLL.

get_FileSize Receives the size in bytes of the file being transferred.

get_FriendlyName Sets or retrieves the user-friendly name of the namespace.

get_Id Receives a unique client ID that identifies this WDS client on


the WDS server.

get_Id Receives a unique content ID that identifies this content


object on the server.

get_Id Receives the unique namespace ID for a namespace that has


been registered on the server.

get_Id Receives a unique session ID that identifies this session on the


server.

get_InitializationRoutine Retrieves the name of the method called to initialize the


content provider.

get_InstalledFeatures Receives a value that indicates which WDS features are


installed on the server.

get_IpAddress Receives a string value that contains the IP address of the


WDS client.

get_IpAddress Receives a string value containing the client’s IP address.

get_IpAddressSource Enables a WDS client computer to configure, for a specified


type of IP address, the IP address source from which the WDS
transport server obtains a multicast address.

get_Item Receives a pointer to the object that matches the specified


index.

get_JoinDuration Receives the time elapsed, in seconds, since the WDS client
joined to the transport session.
T IT L E DESC RIP T IO N

get_MacAddress Receives the MAC address of the WDS client.

get_MasterClientId Receives a unique client ID assigned by the WDS server that


identifies the master client for this session.

get_MemoryUtilization Receives the percentage of the WDS client’s memory in use.

get_MinimumClients Retrieves or sets a condition that starts transmission


automatically. Transmission starts if the number of
applications that have joined sessions reaches the value of
this property.

get_MulticastSessionPolicy Receives an interface pointer to the Configuration Manager’s


Multicast Session Policy object. This object can be used to
configure multicast session parameters that are available
beginning with Windows Server 2008 R2.

get_MultistreamStreamCount Receives the maximum number of multicast streams per


transmission used by the server.

get_Name Receives the name of the WDS client on the WDS server.

get_Name Receives a pointer to a string value that contains the name of


the data object represented by this content object.

get_Name Retrieves the name of the content provider.

get_Name Sets or retrieves the name of the namespace.

get_Name Returns the name of the server represented by this object.

get_Namespace Receives a pointer to an object of an


IWdsTransportNamespace interface that represents the
namespace associated with this content.

get_NamespaceManager Returns a pointer to the object of an


IWdsTransportNamespaceManager interface used to manage
namespaces on this server.

get_NetworkInterfaceAddress Receives the MAC address of the server network interface


used by this transport session.

get_NetworkInterfaceName Receives the name of the server network interface used by


this transport session.

get_NetworkProfile Enables a client computer to configure the network profile


that is used by the WDS Transport Server.

get_NetworkUtilization Receives the percentage of the WDS client’s network


bandwidth used.

get_PercentCompletion Receives the percentage of the current object that has been
downloaded.
T IT L E DESC RIP T IO N

get_Protocols Receives a value that indicates which transport protocols are


supported by the WDS server.

get_Registered Returns a value that indicates whether the namespace is


registered on the server.

get_ServicePolicy Receives an interface pointer to the Configuration Manager's


Service Policy object. This object can be used to configure
service parameters such as the multicast IP address source
and the active network profile.

get_Session Receives the transport session to which the WDS client is


joined.

get_SetupManager Returns a pointer to the object of an


IWdsTransportSetupManager interface used to manage the
setup functionality on this server.

get_SlowClientFallback Receives a value that indicates the fallback policy requested by


the server when automatically disconnecting slow clients from
a multicast transmission.

get_SlowClientHandling Sets or retrieves a


WDSTRANSPORT_SLOW_CLIENT_HANDLING_TYPE value that
indicates the method used by the server to handle clients that
are slowing down a multicast transmission.

get_StartIpAddress Enables a WDS client computer to configure the start of a


multicast IP address range for a specified type of IP address.

get_StartPort Enables a WDS client computer to configure the start of a


UDP port range that is used by WDS transport services.

get_StartTime Retrieves or sets a condition that starts transmission


automatically. Transmission starts when the UTC time reaches
the value of this property.

get_TftpCapabilities Receives a mask of WDSTRANSPORT_TFTP_CAPABILITY values


that indicates which WDS TFTP features are supported by the
WDS TFTP server.

get_TftpManager Receives a pointer to the object of the


IWdsTransportTftpManager interface used to manage the
WDS TFTP server.

get_TftpMaximumBlockSize Receives a value for the maximum block size used by the TFTP
server. The value enables a WDS client computer to configure
the maximum block size.

get_Timeout Receives the timeout in seconds used to communicate with


the client.

get_Tombstoned Returns a value that indicates whether the server has saved
the namespace object of a deregistered namespace in
memory until all active sessions are completed or terminated.
T IT L E DESC RIP T IO N

get_TombstoneTime Returns the UTC date and time when the server saved the
namespace object of a deregistered namespace.

get_TransferRate Receives the data transfer rate for this session in bytes per
second.

get_TransmissionStarted Receives a value that indicates whether the server has started
transmitting data under this namespace.

get_Type Enables an application to retrieve the type of the namespace


for this object.

get_UdpPortPolicy Recieves the WDSTRANSPORT_UDP_PORT_POLICY value that

You might also like